/*
 * LBBC World Class 6.0
 * Final institutional design layer: controlled typography, strong LBBC colour,
 * editorial news and events, and coherent inner-page presentation.
 */

:root {
	--lbbc-navy: #071a38;
	--lbbc-navy-deep: #05142e;
	--lbbc-navy-soft: #0c2b58;
	--lbbc-red: #d62936;
	--lbbc-ink: #10213c;
	--lbbc-muted: #607086;
	--lbbc-light: #f4f6f9;
	--lbbc-border: #dce2e9;
	--lbbc-serif: Georgia, "Times New Roman", serif;
	--lbbc-radius: 3px;
	--lbbc-shadow: 0 16px 40px rgba(7, 26, 56, .12);
}

body { color: var(--lbbc-ink); font-size: 15px; line-height: 1.65; }
.lbbc-container { width: min(1180px, calc(100% - 48px)); }
.section { padding-block: clamp(70px, 7vw, 102px); }
.section-heading h2 { max-width: 760px; font-family: var(--lbbc-serif); font-size: clamp(2rem, 3vw, 2.65rem); letter-spacing: -.035em; line-height: 1.12; }
.section-heading > div > p:not(.eyebrow) { max-width: 630px; color: var(--lbbc-muted); }
.eyebrow { margin-bottom: 12px; color: var(--lbbc-red); font-size: .65rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.button { min-height: 46px; border-radius: var(--lbbc-radius); font-size: .78rem; font-weight: 750; }
.button--primary { background: var(--lbbc-red); box-shadow: none; }
.button--primary:hover { background: #b91e2b; }
.text-link { color: var(--lbbc-navy); font-size: .75rem; font-weight: 750; text-decoration-color: var(--lbbc-red); text-underline-offset: 7px; }

/* Header and wordmark */
.utility-bar { background: #04132d; }
.site-header, .site-header.is-scrolled { background: rgba(7, 26, 56, .985); border-bottom: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 8px 24px rgba(4, 17, 40, .16); }
.site-header__inner { min-height: 78px; }
.primary-menu > li > a, .primary-menu--brand .mega-menu-trigger { min-height: 78px; color: #fff; }
.primary-menu--brand .mega-menu-trigger:hover, .primary-menu > li > a:hover { color: #fff; }
.site-search-toggle { color: #fff; }
.site-search-toggle:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.site-search-panel { background: var(--lbbc-navy); border-color: rgba(255, 255, 255, .15); }
.site-search-panel input { background: #fff; }
.custom-logo-link img { filter: brightness(0) invert(1); }
.lbbc-wordmark { display: inline-flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; }
.lbbc-wordmark__crest { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50% 50% 48% 48%; box-shadow: inset 0 0 0 3px var(--lbbc-navy), inset 0 0 0 4px rgba(255, 255, 255, .27); font: 700 1.05rem var(--lbbc-serif); }
.lbbc-wordmark__name { display: flex; flex-direction: column; line-height: 1; }
.lbbc-wordmark__name strong, .lbbc-wordmark__name b { font: 700 .88rem/1.05 var(--lbbc-serif); letter-spacing: .03em; text-transform: uppercase; }
.lbbc-wordmark__name small { margin-top: 6px; color: #c9d4e2; font-size: .36rem; letter-spacing: .3em; text-transform: uppercase; }
.mega-menu-panel { border-top: 3px solid var(--lbbc-red); border-radius: 0; }
.mega-menu-column h3 { font-family: var(--lbbc-serif); }
.mega-menu-column > a { color: var(--lbbc-ink); }

/* Homepage first viewport */
.hero-section__inner--three-column { min-height: 555px; grid-template-columns: minmax(410px, .9fr) minmax(500px, 1.22fr) minmax(230px, .48fr); }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding-top: 54px; padding-bottom: 102px; }
.hero-copy h1 { font-family: var(--lbbc-serif); font-size: clamp(2.75rem, 4.2vw, 4.5rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.03; }
.hero-copy h1::after { background: var(--lbbc-red); }
.hero-copy p:not(.hero-eyebrow) { color: #d9e1ec; font-size: .95rem; }
.hero-media { min-height: 555px; }
.hero-media::after { background: linear-gradient(90deg, rgba(7, 26, 56, .64), transparent 34%, rgba(7, 26, 56, .08)); }
.hero-image { filter: saturate(.88) contrast(1.04); }
.hero-stats { min-height: 555px; background: linear-gradient(145deg, #0a2a58, #071a38); }
.hero-stat { border-color: rgba(255, 255, 255, .15); }
.hero-stat__copy strong { font-family: var(--lbbc-serif); font-size: 1.8rem; }
.programme-search-wrap { margin-top: -55px; }
.programme-search-panel { padding: 20px; border-radius: var(--lbbc-radius); background: var(--lbbc-navy); box-shadow: var(--lbbc-shadow); }
.programme-filter-field label { color: #fff; font-size: .63rem; font-weight: 650; }
.programme-filter-field select { height: 47px; border: 0; border-radius: 2px; background-color: #fff; font-size: .78rem; }
.programme-search-submit { height: 47px; }

/* Cards and academic system */
.programme-card, .school-card, .value-card, .pathway-card, .staff-card, .post-card { border-radius: 0; box-shadow: none; }
.programme-card { border: 1px solid var(--lbbc-border); background: #fff; }
.programme-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(8, 30, 62, .09); }
.programme-card__title, .programme-card h3, .school-card h3, .value-card h3 { font-family: var(--lbbc-serif); }
.academic-school-grid { gap: 2px; }
.academic-school-card { min-height: 380px; border-radius: 0; }
.why-lbbc-section { background: var(--lbbc-navy); }
.why-lbbc-section .section-heading h2, .why-lbbc-section .section-heading p { color: #fff; }
.why-card { border-color: rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .04); }
.why-card h3 { color: #fff; font-family: var(--lbbc-serif); }
.why-card p { color: #c5d0dd; }
.progression-section { background: #fff; }
.testimonial-section { background: var(--lbbc-light); }

/* Editorial news + events */
.lbbc-editorial { overflow: hidden; background: #fff; }
.lbbc-editorial__heading { margin-bottom: 34px; }
.lbbc-editorial__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .85fr); gap: 34px; align-items: stretch; }
.lbbc-editorial-news { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.lbbc-editorial-card { overflow: hidden; border: 1px solid var(--lbbc-border); background: #fff; }
.lbbc-editorial-card:last-child { display: none; }
.lbbc-editorial-card__image { display: block; overflow: hidden; }
.lbbc-editorial-card__image img { width: 100%; height: 190px; object-fit: cover; transition: transform .45s ease; }
.lbbc-editorial-card--lead .lbbc-editorial-card__image img { height: 275px; }
.lbbc-editorial-card:hover .lbbc-editorial-card__image img { transform: scale(1.035); }
.lbbc-editorial-card__body { padding: 22px; }
.lbbc-editorial-card__meta { margin: 0 0 8px; color: var(--lbbc-red); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lbbc-editorial-card h3 { margin: 0 0 10px; font: 700 1.35rem/1.17 var(--lbbc-serif); letter-spacing: -.02em; }
.lbbc-editorial-card--lead h3 { font-size: 1.8rem; }
.lbbc-editorial-card__body > p:not(.lbbc-editorial-card__meta) { color: var(--lbbc-muted); font-size: .76rem; line-height: 1.6; }
.lbbc-editorial-card__link { color: var(--lbbc-navy); font-size: .7rem; font-weight: 800; }
.lbbc-event-panel { padding: 28px; background: var(--lbbc-navy); color: #fff; }
.lbbc-event-panel__title { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.lbbc-event-panel__title h3 { margin: 0; color: #fff; font: 700 1.55rem var(--lbbc-serif); }
.lbbc-event-panel__title a { color: #fff; font-size: .65rem; font-weight: 700; }
.lbbc-event-row { display: grid; grid-template-columns: 57px minmax(0, 1fr) 16px; gap: 15px; align-items: center; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); color: #fff; text-decoration: none; }
.lbbc-event-row time { padding-right: 13px; border-right: 1px solid var(--lbbc-red); }
.lbbc-event-row time strong, .lbbc-event-row time span { display: block; }
.lbbc-event-row time strong { font: 700 1.8rem/1 var(--lbbc-serif); }
.lbbc-event-row time span { margin-top: 4px; font-size: .55rem; letter-spacing: .13em; }
.lbbc-event-row__copy { display: flex; min-width: 0; flex-direction: column; }
.lbbc-event-row__copy small { color: #aebed0; font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; }
.lbbc-event-row__copy b { margin: 4px 0; color: #fff; font: 700 1rem/1.2 var(--lbbc-serif); }
.lbbc-event-row__copy em { overflow: hidden; color: #93a7bf; font-size: .58rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.lbbc-event-row i { color: #fff; font-style: normal; transition: transform .2s ease; }
.lbbc-event-row:hover i { transform: translateX(4px); }

/* Combined News & Events hub */
.lbbc-news-hub .inner-page-hero { min-height: 420px; }
.lbbc-news-hub__tabs { position: sticky; z-index: 4; top: 66px; border-bottom: 1px solid var(--lbbc-border); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); }
.lbbc-news-hub__tabs .lbbc-container { display: flex; gap: 30px; }
.lbbc-news-hub__tabs a { padding: 18px 0 15px; border-bottom: 3px solid transparent; color: var(--lbbc-muted); font-size: .75rem; font-weight: 750; }
.lbbc-news-hub__tabs a:hover { border-color: var(--lbbc-red); color: var(--lbbc-navy); }
.lbbc-news-hub__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.lbbc-news-hub__grid .post-card { border: 1px solid var(--lbbc-border); }
.lbbc-news-hub__events { border-top: 1px solid var(--lbbc-border); }
.lbbc-hub-event { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 26px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--lbbc-border); }
.lbbc-hub-event time { padding-right: 20px; border-right: 1px solid var(--lbbc-red); text-align: center; }
.lbbc-hub-event time strong, .lbbc-hub-event time span { display: block; }
.lbbc-hub-event time strong { font: 700 2rem/1 var(--lbbc-serif); }
.lbbc-hub-event time span { margin-top: 5px; font-size: .6rem; letter-spacing: .14em; }
.lbbc-hub-event small { color: var(--lbbc-red); font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.lbbc-hub-event h3 { margin: 4px 0; font: 700 1.3rem var(--lbbc-serif); }
.lbbc-hub-event p { margin: 0; color: var(--lbbc-muted); font-size: .7rem; }

/* Inner pages */
.inner-page-hero { min-height: 390px; background: var(--lbbc-navy); }
.inner-page-hero::before { background: linear-gradient(90deg, rgba(5, 20, 46, .97), rgba(5, 20, 46, .72) 55%, rgba(5, 20, 46, .25)); }
.inner-page-hero__inner { max-width: 820px; padding-block: 84px; }
.inner-page-hero h1 { max-width: 790px; font-family: var(--lbbc-serif); font-size: clamp(2.5rem, 4.4vw, 3.7rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.08; }
.inner-page-hero__text { max-width: 650px; color: #d4deea; font-size: .95rem; }
.prose-content h2, .prose-content h3, .admissions-page h2, .international-page h2, .student-life-page h2 { font-family: var(--lbbc-serif); letter-spacing: -.02em; }
.about-intro-grid, .admissions-intro-grid { gap: clamp(44px, 7vw, 95px); }
.about-intro-media img { border-radius: 0; }
.value-card-grid, .admission-steps { gap: 1px; border: 1px solid var(--lbbc-border); background: var(--lbbc-border); }
.value-card, .admission-steps article { border: 0; background: #fff; }
.admission-steps article span { background: transparent; color: var(--lbbc-red); font-family: var(--lbbc-serif); }
.single-programme-page .programme-hero, .programme-single-hero { background: var(--lbbc-navy); }

/* Footer */
.site-footer { border-top: 3px solid var(--lbbc-red); background: var(--lbbc-navy-deep); }
.footer-logo .custom-logo { filter: brightness(0) invert(1); }
.footer-logo .lbbc-wordmark { pointer-events: none; }
.footer-column h2 { font-family: var(--lbbc-serif); }
.footer-bottom { background: #031027; }

@media (max-width: 1180px) {
	.site-header__inner { grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) auto; }
	.primary-menu { gap: 14px; }
	.primary-menu > li > a, .primary-menu--brand .mega-menu-trigger { font-size: .72rem; }
	.hero-section__inner--three-column { grid-template-columns: minmax(360px, .88fr) minmax(430px, 1.1fr) minmax(210px, .48fr); }
}

@media (max-width: 1024px) {
	.site-header { background: var(--lbbc-navy); }
	.primary-navigation { background: var(--lbbc-navy); }
	.primary-menu > li > a, .primary-menu--brand .mega-menu-trigger { min-height: auto; }
	.hero-section__inner--three-column { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.hero-stats { grid-column: 1 / -1; min-height: auto; grid-template-columns: repeat(4, 1fr); }
	.lbbc-editorial__grid { grid-template-columns: 1fr; }
	.lbbc-news-hub__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
	.lbbc-container { width: min(100% - 30px, 1180px); }
	.utility-bar { display: none; }
	.site-header__inner { min-height: 68px; grid-template-columns: minmax(0, 1fr) auto auto; }
	.lbbc-wordmark__crest { width: 40px; height: 40px; }
	.lbbc-wordmark__name strong, .lbbc-wordmark__name b { font-size: .64rem; }
	.lbbc-wordmark__name small { font-size: .29rem; }
	.hero-section__inner--three-column { grid-template-columns: 1fr; padding-inline: 22px; }
	.hero-copy { padding: 55px 0 34px; }
	.hero-copy h1 { font-size: 2.65rem; }
	.hero-media { min-height: 330px; margin-inline: -22px; }
	.hero-stats { margin-inline: -22px; grid-template-columns: 1fr 1fr; }
	.programme-search-wrap { margin-top: 0; }
	.programme-search-panel { border-radius: 0; }
	.lbbc-editorial-news { grid-template-columns: 1fr; }
	.lbbc-editorial-card:last-child { display: block; }
	.lbbc-editorial-card__image img, .lbbc-editorial-card--lead .lbbc-editorial-card__image img { height: 235px; }
	.lbbc-event-panel { padding: 23px; }
	.lbbc-news-hub__grid { grid-template-columns: 1fr; }
	.lbbc-news-hub__tabs { top: 68px; }
	.lbbc-hub-event { grid-template-columns: 65px minmax(0, 1fr); }
	.lbbc-hub-event .button { grid-column: 2; justify-self: start; }
	.inner-page-hero { min-height: 410px; }
	.inner-page-hero__inner { padding-block: 72px; }
	.inner-page-hero h1 { font-size: 2.55rem; }
}

@media (prefers-reduced-motion: reduce) {
	.lbbc-editorial-card__image img, .lbbc-event-row i { transition: none; }
}
