:root {
    --green-950: #061f1c;
    --green-900: #082824;
    --green-850: #0a2f2a;
    --green-800: #0b3731;
    --green-700: #155046;
    --green-600: #28695d;
    --gold-500: #d2ab61;
    --gold-400: #dfbd7a;
    --gold-300: #ead09d;
    --ivory-100: #f4efe5;
    --ivory-50: #faf7f0;
    --paper: #fffdf8;
    --ink: #11221f;
    --ink-soft: #53625e;
    --line: rgba(17, 34, 31, .12);
    --line-light: rgba(255, 255, 255, .13);
    --shadow: 0 24px 80px rgba(6, 31, 28, .12);
    --serif: "Montserrat", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --sans: "Montserrat", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --container: 1440px;
    --gutter: clamp(20px, 4vw, 68px);
    --radius-sm: 12px;
    --radius-md: 22px;
    --radius-lg: 34px;
    --transition: 240ms cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.68; -webkit-font-smoothing: antialiased; }
body.no-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
svg { flex: 0 0 auto; }
::selection { background: var(--gold-300); color: var(--green-950); }
.container { width: min(100% - (var(--gutter) * 2), var(--container)); margin-inline: auto; }
.site-shell { overflow: clip; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; transform: translateY(-150%); background: #fff; color: #111; padding: 12px 16px; border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms cubic-bezier(.22,.7,.2,1) var(--reveal-delay, 0ms), transform 700ms cubic-bezier(.22,.7,.2,1) var(--reveal-delay, 0ms); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

.eyebrow { display: inline-flex; align-items: center; gap: 11px; color: var(--green-700); font-size: 11px; font-weight: 760; letter-spacing: .17em; line-height: 1.2; text-transform: uppercase; }
.eyebrow::before { width: 22px; height: 1px; content: ""; background: currentColor; opacity: .65; }
.eyebrow--light { color: var(--gold-300); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 54px; padding: 0 23px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 720; letter-spacing: .01em; transition: transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition); }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 44px; padding-inline: 18px; font-size: 12px; }
.button--gold { background: var(--gold-500); color: var(--green-950); }
.button--gold:hover { background: var(--gold-400); }
.button--ivory { background: var(--ivory-100); color: var(--green-950); }
.button--full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 12px; border: 0; background: transparent; padding: 0; color: var(--green-800); font-size: 13px; font-weight: 760; cursor: pointer; }
.text-link svg { transition: transform var(--transition); }
.text-link:hover svg { transform: translateX(5px); }
.text-link--light { color: #fff; }

.utility-bar { position: relative; z-index: 3; background: var(--green-950); color: rgba(255,255,255,.72); border-bottom: 1px solid rgba(255,255,255,.07); }
.utility-bar__inner { min-height: 37px; display: flex; justify-content: space-between; align-items: center; gap: 30px; font-size: 11px; }
.utility-bar__left, .utility-bar__right { display: flex; align-items: center; gap: 26px; }
.utility-bar a, .utility-search { display: inline-flex; align-items: center; gap: 7px; transition: color var(--transition); }
.utility-bar a:hover, .utility-search:hover { color: #fff; }
.utility-search { border: 0; background: transparent; color: inherit; padding: 0; cursor: pointer; }
.site-header { position: relative; z-index: 100; }
.nav-wrap { background: rgba(255,253,248,.96); border-bottom: 1px solid rgba(10,47,42,.08); transition: box-shadow var(--transition), background var(--transition); }
.site-header.is-scrolled .nav-wrap { position: fixed; top: 0; left: 0; right: 0; background: rgba(255,253,248,.92); backdrop-filter: blur(20px); box-shadow: 0 10px 35px rgba(6,31,28,.08); }
.nav-wrap__inner { min-height: 90px; display: grid; grid-template-columns: 280px minmax(0,1fr) auto; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; color: var(--green-900); }
.brand__mark { width: 48px; height: 48px; display: grid; place-items: center; position: relative; transform: rotate(45deg); border: 1px solid var(--green-600); background: var(--green-900); color: var(--gold-400); box-shadow: inset 0 0 0 4px var(--paper); }
.brand__mark span { transform: rotate(-45deg); font-family: var(--serif); font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.brand__text { display: flex; flex-direction: column; line-height: 1; text-transform: uppercase; letter-spacing: .08em; }
.brand__text strong { font-size: 10px; font-weight: 800; }
.brand__text small { margin-top: 5px; font-family: var(--serif); font-size: 20px; letter-spacing: .02em; text-transform: none; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-width: 230px; max-height: 70px; width: auto; }
.primary-nav { justify-self: end; }
.primary-nav .menu { display: flex; align-items: center; gap: clamp(16px, 1.5vw, 31px); list-style: none; margin: 0; padding: 0; }
.primary-nav .menu > li { position: relative; }
.primary-nav .menu > li > a { display: flex; align-items: center; min-height: 90px; color: var(--green-900); font-size: 11px; font-weight: 720; white-space: nowrap; letter-spacing: .01em; position: relative; }
.primary-nav .menu > li > a::after { content: ""; position: absolute; left: 0; bottom: 23px; width: 100%; height: 1px; background: var(--gold-500); transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
.primary-nav .menu > li:hover > a::after, .primary-nav .menu > .current-menu-item > a::after, .primary-nav .menu > .current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }
.primary-nav .sub-menu { position: absolute; top: calc(100% - 10px); left: -25px; min-width: 310px; max-width: 360px; padding: 14px; margin: 0; list-style: none; background: #fffef9; border: 1px solid rgba(11,55,49,.1); border-radius: 16px; box-shadow: 0 22px 60px rgba(6,31,28,.15); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity var(--transition), transform var(--transition), visibility var(--transition); }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 9px; color: var(--green-900); font-size: 12px; font-weight: 620; line-height: 1.35; transition: background var(--transition), padding var(--transition); }
.primary-nav .sub-menu a:hover { background: var(--ivory-50); padding-left: 16px; }
.submenu-toggle { display: none; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.menu-toggle { display: none; width: 46px; height: 46px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-toggle__close { display: none; }

.search-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: start center; opacity: 0; visibility: hidden; transition: opacity 240ms ease, visibility 240ms ease; }
.search-overlay.is-open { opacity: 1; visibility: visible; }
.search-overlay__backdrop { position: absolute; inset: 0; background: rgba(4,22,19,.78); backdrop-filter: blur(8px); }
.search-overlay__panel { position: relative; width: min(880px, calc(100% - 40px)); margin-top: clamp(60px, 12vh, 140px); padding: clamp(32px, 6vw, 72px); background: var(--paper); border-radius: 28px; box-shadow: 0 40px 130px rgba(0,0,0,.35); transform: translateY(-12px); transition: transform 300ms ease; }
.search-overlay.is-open .search-overlay__panel { transform: translateY(0); }
.search-overlay__close { position: absolute; top: 22px; right: 22px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.search-overlay__eyebrow { color: var(--green-600); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.search-overlay h2 { max-width: 700px; margin: 12px 0 34px; font-family: var(--serif); font-size: clamp(42px, 6vw, 78px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.big-search { display: grid; grid-template-columns: 1fr 54px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.38); }
.big-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; padding: 18px 0 20px; color: #fff; font-size: clamp(18px, 2vw, 24px); }
.big-search input::placeholder { color: rgba(255,255,255,.55); }
.big-search button { width: 50px; height: 50px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.big-search--light { border-bottom-color: var(--line); }
.big-search--light input { color: var(--ink); }
.big-search--light input::placeholder { color: #83908c; }
.search-overlay .big-search { border-color: var(--line); }
.search-overlay .big-search input { color: var(--ink); }
.search-overlay .big-search input::placeholder { color: #88938f; }
.search-overlay__links { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: var(--ink-soft); font-size: 12px; }
.search-overlay__links a { padding: 7px 11px; background: var(--ivory-50); border: 1px solid var(--line); border-radius: 999px; color: var(--green-800); }

.hero { position: relative; min-height: 820px; background: var(--green-950); color: #fff; overflow: hidden; }
.hero__noise { position: absolute; inset: 0; opacity: .06; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); pointer-events: none; }
.hero__orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero__orb--one { width: 680px; height: 680px; right: -120px; top: 30px; background: radial-gradient(circle at 38% 38%, rgba(212,171,97,.16), transparent 62%); }
.hero__orb--two { width: 560px; height: 560px; left: -360px; bottom: -230px; background: radial-gradient(circle, rgba(46,112,98,.22), transparent 66%); }
.hero__line { position: absolute; width: 1px; height: 100%; top: 0; background: rgba(255,255,255,.055); transform: rotate(18deg); transform-origin: top; }
.hero__line--one { left: 61%; }
.hero__line--two { left: 73%; }
.hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(480px, .78fr); gap: 70px; align-items: center; min-height: 650px; padding-top: 28px; padding-bottom: 80px; }
.hero__content { padding-top: 22px; }
.hero__kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; color: var(--gold-300); font-size: 11px; font-weight: 740; letter-spacing: .18em; text-transform: uppercase; }
.hero__kicker span { width: 26px; height: 1px; background: var(--gold-500); }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(78px, 8.4vw, 142px); font-weight: 400; line-height: .78; letter-spacing: -.065em; }
.hero h1 em { color: var(--gold-400); font-weight: 400; }
.hero__lead { max-width: 660px; margin: 38px 0 0; color: rgba(255,255,255,.72); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.7; }
.hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.hero__art { position: relative; min-height: 520px; display: grid; place-items: center; }
.balance-mark { position: relative; width: min(34vw, 500px); aspect-ratio: 1; display: grid; place-items: center; }
.balance-mark__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(223,189,122,.28); }
.balance-mark__ring--outer { inset: 0; animation: drift 18s linear infinite; }
.balance-mark__ring--mid { inset: 14%; border-style: dashed; border-color: rgba(255,255,255,.14); animation: driftReverse 24s linear infinite; }
.balance-mark__ring--inner { inset: 29%; border-color: rgba(223,189,122,.22); }
.balance-mark__axis { position: absolute; width: 62%; height: 62%; border: 1px solid rgba(223,189,122,.28); transform: rotate(45deg); }
.balance-mark__core { width: 126px; height: 126px; display: grid; place-items: center; align-content: center; border: 1px solid var(--gold-500); background: rgba(6,31,28,.72); backdrop-filter: blur(12px); transform: rotate(45deg); box-shadow: 0 0 80px rgba(212,171,97,.12); }
.balance-mark__core span, .balance-mark__core small { transform: rotate(-45deg); }
.balance-mark__core span { font-family: var(--serif); color: var(--gold-400); font-size: 24px; letter-spacing: .06em; }
.balance-mark__core small { margin-top: -7px; color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .2em; }
.balance-mark__dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 0 9px rgba(212,171,97,.09); }
.balance-mark__dot--a { top: 18%; right: 20%; }
.balance-mark__dot--b { bottom: 12%; left: 28%; width: 5px; height: 5px; background: #fff; }
.hero__quote { position: absolute; right: 0; bottom: 22px; max-width: 210px; padding-left: 28px; border-left: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.68); font-family: var(--serif); font-size: 17px; font-style: italic; line-height: 1.4; }
.hero__quote span { display: block; color: var(--gold-400); font-size: 42px; line-height: .7; }
.hero__quick { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -74px; background: var(--paper); border-radius: 18px 18px 0 0; box-shadow: 0 -16px 50px rgba(0,0,0,.08); overflow: hidden; }
.hero-quick-card { min-height: 148px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 20px; padding: 28px 34px; border-right: 1px solid var(--line); color: var(--ink); transition: background var(--transition), color var(--transition); }
.hero-quick-card:last-child { border-right: 0; }
.hero-quick-card:hover { background: var(--ivory-50); }
.hero-quick-card__number { align-self: start; color: var(--gold-500); font-family: var(--serif); font-size: 13px; }
.hero-quick-card div { display: flex; flex-direction: column; gap: 4px; }
.hero-quick-card div span { color: var(--ink-soft); font-size: 10px; font-weight: 730; letter-spacing: .1em; text-transform: uppercase; }
.hero-quick-card div strong { font-family: var(--serif); font-size: clamp(21px, 2vw, 28px); font-weight: 500; line-height: 1.08; }
.hero-quick-card > svg { color: var(--green-600); transition: transform var(--transition); }
.hero-quick-card:hover > svg { transform: translateX(6px); }
@keyframes drift { to { transform: rotate(360deg); } }
@keyframes driftReverse { to { transform: rotate(-360deg); } }

.section { padding: clamp(82px, 9vw, 142px) 0; }
.section--searchband { padding: 0; background: var(--paper); }
.searchband { min-height: 250px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 90px; border-bottom: 1px solid var(--line); }
.searchband__intro h2 { max-width: 450px; margin: 16px 0 0; font-family: var(--serif); font-size: clamp(34px, 3.4vw, 52px); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.section--about { background: var(--ivory-50); }
.editorial-grid { display: grid; grid-template-columns: .44fr 1.15fr; gap: clamp(60px, 10vw, 170px); }
.editorial-grid__aside { display: flex; flex-direction: column; justify-content: space-between; min-height: 340px; }
.editorial-stat { padding-top: 25px; border-top: 1px solid var(--line); }
.editorial-stat strong { display: block; font-family: var(--serif); color: var(--green-800); font-size: clamp(62px, 7vw, 104px); font-weight: 400; line-height: .9; letter-spacing: -.06em; }
.editorial-stat span { display: block; max-width: 180px; margin-top: 12px; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.editorial-grid__main h2 { max-width: 930px; margin: 0; font-family: var(--serif); font-size: clamp(47px, 5.8vw, 88px); font-weight: 400; line-height: .99; letter-spacing: -.05em; }
.editorial-grid__main p { max-width: 750px; margin: 36px 0 30px; color: var(--ink-soft); font-size: 18px; }
.section--routes { background: var(--paper); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 54px; }
.section-heading h2 { margin: 14px 0 0; font-family: var(--serif); font-size: clamp(44px, 5vw, 72px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.section-heading > p { max-width: 430px; margin: 0 0 8px; color: var(--ink-soft); font-size: 15px; }
.section-heading--compact { align-items: center; }
.route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.route-card { position: relative; min-height: 545px; display: flex; flex-direction: column; padding: clamp(28px, 3vw, 44px); overflow: hidden; transition: transform 380ms cubic-bezier(.2,.75,.2,1), box-shadow 380ms ease; }
.route-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.route-card--dark { background: var(--green-900); color: #fff; }
.route-card--gold { background: var(--gold-500); color: var(--green-950); }
.route-card--ivory { background: var(--ivory-100); color: var(--green-950); }
.route-card__index { font-family: var(--serif); font-size: 13px; opacity: .6; }
.route-card__icon { position: absolute; top: 26%; right: -15%; width: 220px; height: 220px; border: 1px solid currentColor; border-radius: 50%; opacity: .14; }
.route-card__icon span:nth-child(1), .route-card__icon span:nth-child(2) { position: absolute; width: 110px; height: 110px; border: 1px solid currentColor; border-radius: 50%; }
.route-card__icon span:nth-child(1) { left: -26px; top: 55px; }
.route-card__icon span:nth-child(2) { left: 74px; top: 55px; }
.route-card__icon--stack { border-radius: 0; transform: rotate(45deg); }
.route-card__icon--stack span { inset: auto !important; border-radius: 0 !important; width: 74px !important; height: 74px !important; }
.route-card__icon--stack span:nth-child(1) { left: 36px !important; top: 36px !important; }
.route-card__icon--stack span:nth-child(2) { left: 109px !important; top: 109px !important; }
.route-card__icon--stack span:nth-child(3) { position: absolute; left: 73px; top: 73px; width: 74px; height: 74px; border: 1px solid currentColor; }
.route-card__icon--grid { border: 0; display: grid; grid-template-columns: repeat(2, 70px); grid-template-rows: repeat(2, 70px); gap: 5px; transform: rotate(8deg); }
.route-card__icon--grid span { position: static !important; width: 70px !important; height: 70px !important; border: 1px solid currentColor; border-radius: 0 !important; }
.route-card__body { margin-top: auto; position: relative; z-index: 2; }
.route-card__body > span { display: block; margin-bottom: 13px; font-size: 10px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; opacity: .62; }
.route-card__body h3 { max-width: 330px; margin: 0; font-family: var(--serif); font-size: clamp(34px, 3vw, 49px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.route-card__body p { max-width: 340px; min-height: 64px; margin: 20px 0 0; font-size: 13px; line-height: 1.6; opacity: .67; }
.route-card__link { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 31px; padding-top: 20px; border-top: 1px solid currentColor; font-size: 12px; font-weight: 760; opacity: .88; }
.route-card__link svg { transition: transform var(--transition); }
.route-card:hover .route-card__link svg { transform: translateX(6px); }
.section--updates { background: var(--ivory-50); }
.updates-grid { display: grid; grid-template-columns: 1.45fr .72fr; gap: 22px; }
.updates-news { border-top: 1px solid var(--line); }
.news-row { display: grid; grid-template-columns: 100px 1fr 52px; gap: 28px; align-items: center; min-height: 180px; border-bottom: 1px solid var(--line); }
.news-row__meta { align-self: stretch; padding-top: 34px; display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 25px; color: var(--ink-soft); font-size: 10px; letter-spacing: .06em; }
.news-row__meta span:last-child { font-family: var(--serif); color: var(--gold-500); font-size: 19px; }
.news-row__content h3 { margin: 0; font-family: var(--serif); font-size: clamp(23px, 2vw, 31px); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; }
.news-row__content h3 a { transition: color var(--transition); }
.news-row__content h3 a:hover { color: var(--green-600); }
.news-row__content p { margin: 12px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.news-row__arrow { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: background var(--transition), color var(--transition), transform var(--transition); }
.news-row__arrow:hover { background: var(--green-900); color: #fff; transform: translateX(4px); }
.event-panel { background: var(--green-900); color: #fff; padding: 30px; min-height: 100%; }
.event-panel__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid var(--line-light); color: rgba(255,255,255,.7); font-size: 10px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.event-panel__head a { display: inline-flex; align-items: center; gap: 7px; color: var(--gold-300); }
.event-mini { display: grid; grid-template-columns: 64px 1fr auto; gap: 18px; align-items: center; padding: 23px 0; border-bottom: 1px solid var(--line-light); }
.event-mini time { width: 58px; height: 66px; display: grid; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.2); }
.event-mini time strong { font-family: var(--serif); color: var(--gold-300); font-size: 29px; font-weight: 400; line-height: 1; }
.event-mini time span { font-size: 9px; font-weight: 700; text-transform: uppercase; }
.event-mini h3 { margin: 0; font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.25; }
.event-mini p { display: flex; align-items: center; gap: 5px; margin: 7px 0 0; color: rgba(255,255,255,.55); font-size: 10px; }
.event-panel__empty { min-height: 370px; display: flex; flex-direction: column; justify-content: flex-end; padding: 34px 0 6px; }
.event-panel__calendar { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; color: var(--gold-300); margin-bottom: auto; }
.event-panel__empty h3 { margin: 0; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.event-panel__empty p { margin: 12px 0 0; color: rgba(255,255,255,.6); font-size: 13px; }
.section--hotline { padding-top: 0; background: var(--ivory-50); }
.hotline { min-height: 290px; display: grid; grid-template-columns: 220px 1fr auto; align-items: center; gap: 58px; padding: 45px 58px; background: var(--green-950); color: #fff; position: relative; overflow: hidden; }
.hotline__visual { width: 170px; height: 170px; display: grid; place-items: center; position: relative; }
.hotline__ring { position: absolute; inset: 0; border: 1px solid rgba(212,171,97,.33); border-radius: 50%; }
.hotline__ring--inner { inset: 26%; border-style: dashed; }
.hotline__visual > span { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-500); color: var(--green-950); }
.hotline__copy h2 { margin: 12px 0 0; font-family: var(--serif); font-size: clamp(38px, 4.2vw, 62px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.hotline__copy p { max-width: 620px; margin: 15px 0 0; color: rgba(255,255,255,.6); font-size: 13px; }
.hotline__number { min-width: 260px; display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: center; padding: 24px 0 24px 28px; border-left: 1px solid rgba(255,255,255,.16); }
.hotline__number span { grid-column: 1; color: rgba(255,255,255,.5); font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.hotline__number strong { grid-column: 1; font-family: var(--serif); color: var(--gold-300); font-size: 30px; font-weight: 400; white-space: nowrap; }
.hotline__number svg { grid-column: 2; grid-row: 1 / 3; }

.inner-main { background: var(--paper); }
.inner-hero { position: relative; padding: 46px 0 80px; background: var(--ivory-50); border-bottom: 1px solid var(--line); overflow: hidden; }
.inner-hero::after { content: ""; position: absolute; width: 480px; height: 480px; right: -210px; top: -180px; border: 1px solid rgba(21,80,70,.12); border-radius: 50%; box-shadow: 0 0 0 80px rgba(21,80,70,.025), 0 0 0 160px rgba(21,80,70,.018); }
.inner-hero--archive { padding-bottom: 92px; }
.breadcrumbs { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 52px; color: #84908c; font-size: 10px; }
.breadcrumbs a { color: var(--green-600); }
.breadcrumbs span[aria-current="page"] { max-width: 360px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inner-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.65fr); gap: 80px; align-items: end; }
.inner-hero__title h1 { max-width: 950px; margin: 18px 0 0; font-family: var(--serif); font-size: clamp(54px, 6.2vw, 94px); font-weight: 400; line-height: .96; letter-spacing: -.055em; }
.inner-hero__lead { max-width: 580px; margin: 0 0 7px; color: var(--ink-soft); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.7; }
.inner-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(60px, 8vw, 130px); align-items: start; }
.inner-layout__nav { position: sticky; top: 125px; }
.section-nav { border-top: 1px solid var(--line); }
.section-nav__eyebrow { padding-top: 20px; color: var(--ink-soft); font-size: 9px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
.section-nav__title { display: block; margin: 8px 0 20px; font-family: var(--serif); font-size: 25px; line-height: 1.15; }
.section-nav__title.is-active { color: var(--green-600); }
.section-nav ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.section-nav li { border-bottom: 1px solid var(--line); }
.section-nav li a { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 3px; color: var(--ink-soft); font-size: 11px; font-weight: 620; line-height: 1.35; transition: color var(--transition), padding var(--transition); }
.section-nav li a:hover, .section-nav li a.is-active { padding-left: 8px; color: var(--green-700); }
.prose { min-width: 0; max-width: 940px; color: #334541; }
.prose > *:first-child { margin-top: 0; }
.prose h2, .prose h3, .prose h4 { color: var(--ink); font-family: var(--serif); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.prose h2 { margin: 60px 0 22px; font-size: clamp(34px, 3.7vw, 52px); }
.prose h3 { margin: 42px 0 16px; font-size: clamp(25px, 2.5vw, 34px); }
.prose h4 { margin: 32px 0 12px; font-size: 23px; }
.prose p, .prose li { font-size: 16px; line-height: 1.82; }
.prose p { margin: 0 0 22px; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 20px 0 30px; }
.prose li { padding-left: 6px; margin: 8px 0; }
.prose a { color: var(--green-700); text-decoration: underline; text-decoration-color: rgba(21,80,70,.25); text-underline-offset: 4px; }
.prose blockquote { margin: 45px 0; padding: 8px 0 8px 30px; border-left: 2px solid var(--gold-500); color: var(--green-800); font-family: var(--serif); font-size: 28px; line-height: 1.35; }
.prose table { width: 100%; border-collapse: collapse; margin: 32px 0; font-size: 13px; }
.prose th, .prose td { padding: 15px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { color: var(--green-800); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.prose details, .prose .wp-block-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; margin-top: -1px; }
.prose details summary { cursor: pointer; color: var(--green-900); font-family: var(--serif); font-size: 22px; list-style: none; }
.prose details summary::-webkit-details-marker { display: none; }
.prose .wp-block-button__link { background: var(--green-900); border-radius: 999px; padding: 13px 22px; color: #fff; text-decoration: none; }
.link-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 68px; padding-top: 34px; border-top: 1px solid var(--line); }
.link-card { min-height: 210px; display: grid; grid-template-columns: 34px 1fr auto; gap: 17px; align-items: start; padding: 25px; background: var(--ivory-50); border: 1px solid rgba(11,55,49,.07); transition: transform var(--transition), background var(--transition), border-color var(--transition); text-decoration: none !important; }
.link-card:hover { transform: translateY(-4px); background: #fff; border-color: rgba(11,55,49,.18); }
.link-card__index { color: var(--gold-500); font-family: var(--serif); font-size: 13px; }
.link-card h3 { margin: 0; font-size: 25px; }
.link-card p { margin: 10px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.link-card__arrow { color: var(--green-600); }

.archive-section { padding-top: 76px; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 18px; }
.post-card { background: #fff; border: 1px solid var(--line); overflow: hidden; transition: transform var(--transition), box-shadow var(--transition); }
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.post-card__image { display: block; aspect-ratio: 1.48; background: var(--green-900); overflow: hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.75,.2,1); }
.post-card:hover .post-card__image img { transform: scale(1.035); }
.post-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 70% 30%, rgba(212,171,97,.18), transparent 35%), var(--green-900); color: var(--gold-400); }
.post-card__placeholder span { width: 88px; height: 88px; display: grid; place-items: center; transform: rotate(45deg); border: 1px solid var(--gold-400); font-family: var(--serif); }
.post-card__placeholder span::first-line { transform: rotate(-45deg); }
.post-card__body { padding: 26px 26px 29px; }
.post-card__meta { margin-bottom: 14px; color: var(--ink-soft); font-size: 10px; letter-spacing: .06em; }
.post-card h2 { margin: 0; font-family: var(--serif); font-size: 28px; font-weight: 500; line-height: 1.12; }
.post-card p { min-height: 64px; margin: 15px 0 22px; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }
.pagination { margin-top: 54px; }
.pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.pagination .page-numbers { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 12px; }
.pagination .page-numbers.current { background: var(--green-900); color: #fff; border-color: var(--green-900); }
.empty-state { padding: 60px; border: 1px solid var(--line); background: var(--ivory-50); text-align: center; color: var(--ink-soft); }
.empty-state h2 { margin-top: 0; font-family: var(--serif); color: var(--ink); font-size: 42px; font-weight: 400; }

.article-hero { padding: 48px 0 80px; background: var(--green-950); color: #fff; }
.article-hero .breadcrumbs { color: rgba(255,255,255,.48); }
.article-hero .breadcrumbs a { color: var(--gold-300); }
.article-hero__inner { max-width: 1120px; }
.article-hero__meta { display: flex; gap: 20px; margin: 48px 0 18px; color: var(--gold-300); font-size: 10px; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.article-hero h1 { max-width: 1050px; margin: 0; font-family: var(--serif); font-size: clamp(50px, 6.2vw, 92px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.article-hero__lead { max-width: 780px; margin: 28px 0 0; color: rgba(255,255,255,.65); font-size: 18px; }
.article-cover { margin-top: -1px; padding-top: 0; }
.article-cover img { width: 100%; max-height: 760px; object-fit: cover; }
.article-layout { max-width: 1100px; display: grid; grid-template-columns: 70px minmax(0, 760px); gap: 55px; justify-content: center; }
.article-share { position: sticky; top: 130px; height: max-content; display: flex; flex-direction: column; align-items: center; gap: 15px; color: var(--ink-soft); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.article-share a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green-800); }
.prose--article { max-width: 760px; }
.prose--article > p:first-of-type { font-size: 20px; line-height: 1.8; color: var(--ink); }

.events-list { border-top: 1px solid var(--line); }
.event-row { min-height: 210px; display: grid; grid-template-columns: 130px 1fr 68px; gap: 40px; align-items: center; border-bottom: 1px solid var(--line); }
.event-row__date { width: 104px; height: 120px; display: grid; place-items: center; align-content: center; background: var(--ivory-50); border: 1px solid var(--line); }
.event-row__date strong { font-family: var(--serif); color: var(--green-800); font-size: 50px; font-weight: 400; line-height: .9; }
.event-row__date span { margin-top: 8px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.event-row__terms { margin-bottom: 8px; color: var(--gold-500); font-size: 9px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.event-row__content h2 { margin: 0; font-family: var(--serif); font-size: clamp(29px, 3vw, 40px); font-weight: 500; line-height: 1.08; }
.event-row__content p { max-width: 850px; margin: 10px 0; color: var(--ink-soft); font-size: 12px; }
.event-row__location { display: flex; align-items: center; gap: 6px; color: var(--green-600); font-size: 11px; }
.event-row__arrow { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.event-single__badge { width: max-content; display: flex; align-items: center; gap: 8px; margin: 44px 0 18px; color: var(--gold-300); font-size: 10px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.event-single__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-top: 40px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.14); }
.event-single__facts div { display: flex; flex-direction: column; gap: 4px; }
.event-single__facts span { color: rgba(255,255,255,.45); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.event-single__facts strong { color: #fff; font-size: 14px; font-weight: 560; }
.event-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 90px; align-items: start; }
.event-single__aside { position: sticky; top: 130px; }
.event-register-card, .document-download-card { padding: 32px; background: var(--ivory-50); border: 1px solid var(--line); }
.event-register-card h2, .document-download-card h2 { margin: 12px 0 0; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.event-register-card p { color: var(--ink-soft); font-size: 12px; }

.documents-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.document-card { min-height: 330px; display: flex; flex-direction: column; padding: 28px; background: #fff; border: 1px solid var(--line); transition: transform var(--transition), box-shadow var(--transition); }
.document-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.document-card__icon { width: 58px; height: 58px; display: grid; place-items: center; background: var(--ivory-50); border-radius: 50%; color: var(--green-700); }
.document-card__meta { min-height: 30px; margin: 26px 0 10px; display: flex; flex-wrap: wrap; gap: 8px 13px; color: var(--gold-500); font-size: 9px; font-weight: 720; text-transform: uppercase; letter-spacing: .08em; }
.document-card h2 { margin: 0; font-family: var(--serif); font-size: 27px; font-weight: 500; line-height: 1.12; }
.document-card > p { margin: 12px 0 22px; color: var(--ink-soft); font-size: 12px; }
.document-card__actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.document-card__download { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); color: var(--green-700); }
.document-single { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 90px; align-items: start; }
.document-download-card { position: sticky; top: 130px; }
.document-download-card > svg { color: var(--green-700); }

.search-results-list { max-width: 1050px; }
.search-result { display: grid; grid-template-columns: 120px 1fr 58px; gap: 30px; align-items: center; min-height: 150px; border-bottom: 1px solid var(--line); }
.search-result:first-child { border-top: 1px solid var(--line); }
.search-result__type { color: var(--gold-500); font-size: 9px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.search-result h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 500; }
.search-result p { margin: 7px 0 0; color: var(--ink-soft); font-size: 12px; }
.search-result__arrow { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; }

.error-page { min-height: 720px; display: grid; place-items: center; background: var(--green-950); color: #fff; position: relative; overflow: hidden; }
.error-page::before { content: ""; position: absolute; width: 600px; height: 600px; right: -160px; top: -180px; border: 1px solid rgba(212,171,97,.22); border-radius: 50%; box-shadow: 0 0 0 90px rgba(212,171,97,.035), 0 0 0 180px rgba(212,171,97,.02); }
.error-page__inner { position: relative; z-index: 1; padding-block: 100px; }
.error-page__code { display: block; color: rgba(255,255,255,.08); font-family: var(--serif); font-size: clamp(140px, 22vw, 340px); line-height: .7; }
.error-page h1 { margin: 22px 0 0; font-family: var(--serif); font-size: clamp(56px, 7vw, 100px); font-weight: 400; }
.error-page p { max-width: 650px; color: rgba(255,255,255,.6); }
.error-page__actions { display: flex; align-items: center; gap: 26px; margin-top: 34px; }

.footer-cta { background: var(--green-800); color: #fff; }
.footer-cta__inner { min-height: 280px; display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.footer-cta h2 { margin: 13px 0 0; font-family: var(--serif); color: var(--gold-300); font-size: clamp(58px, 7vw, 96px); font-weight: 400; line-height: .9; letter-spacing: -.055em; }
.footer-cta__actions { display: flex; align-items: center; gap: 28px; }
.footer-main { background: var(--green-950); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .75fr .95fr 1fr; gap: 48px; padding-top: 74px; padding-bottom: 65px; }
.footer-brand .brand { color: #fff; }
.footer-brand .brand__mark { box-shadow: inset 0 0 0 4px var(--green-950); }
.footer-brand p { max-width: 310px; margin: 29px 0 0; color: rgba(255,255,255,.47); font-size: 12px; line-height: 1.7; }
.footer-column h3 { margin: 0 0 22px; color: var(--gold-300); font-size: 9px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
.footer-menu, .footer-contact-list { list-style: none; margin: 0; padding: 0; }
.footer-menu li { margin: 9px 0; }
.footer-menu a { color: rgba(255,255,255,.67); font-size: 12px; transition: color var(--transition); }
.footer-menu a:hover { color: #fff; }
.footer-contact-list li { margin: 12px 0; }
.footer-contact-list a, .footer-contact-list li > span { display: flex; align-items: flex-start; gap: 10px; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.55; }
.footer-contact-list svg { margin-top: 2px; color: var(--gold-300); }
.footer-details p { display: flex; flex-direction: column; gap: 2px; margin: 0 0 12px; }
.footer-details p span { color: rgba(255,255,255,.38); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.footer-details p a { color: rgba(255,255,255,.76); font-size: 12px; }
.footer-legal { min-height: 74px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.34); font-size: 9px; }
.footer-legal > div { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.footer-legal__links a { transition: color var(--transition); }
.footer-legal__links a:hover { color: #fff; }

@media (max-width: 1240px) {
    .nav-wrap__inner { grid-template-columns: 245px minmax(0,1fr) auto; gap: 20px; }
    .primary-nav .menu { gap: 15px; }
    .primary-nav .menu > li > a { font-size: 10px; }
    .nav-actions .button { display: none; }
    .hero__inner { grid-template-columns: 1fr 430px; }
    .hero-quick-card { padding-inline: 26px; }
    .route-card { min-height: 500px; }
}

@media (max-width: 1060px) {
    .utility-bar__right a:first-child { display: none; }
    .nav-wrap__inner { min-height: 78px; grid-template-columns: 1fr auto; }
    .primary-nav { position: fixed; inset: 115px 0 0; padding: 20px var(--gutter) 50px; background: var(--paper); overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity var(--transition), transform var(--transition), visibility var(--transition); }
    .menu-open .primary-nav { opacity: 1; visibility: visible; transform: translateY(0); }
    .primary-nav .menu { display: block; }
    .primary-nav .menu > li { border-bottom: 1px solid var(--line); }
    .primary-nav .menu > li > a { min-height: 64px; padding-right: 52px; font-family: var(--serif); font-size: 25px; font-weight: 500; }
    .primary-nav .menu > li > a::after { display: none; }
    .primary-nav .sub-menu { position: static; display: none; min-width: 0; max-width: none; padding: 0 0 18px 18px; border: 0; border-radius: 0; box-shadow: none; background: transparent; opacity: 1; visibility: visible; transform: none; }
    .primary-nav .submenu-open > .sub-menu { display: block; }
    .primary-nav .sub-menu a { padding: 8px 0; font-size: 13px; }
    .submenu-toggle { position: absolute; top: 10px; right: 0; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
    .submenu-open > .submenu-toggle { transform: rotate(180deg); }
    .menu-toggle { display: grid; }
    .menu-open .menu-toggle__open { display: none; }
    .menu-open .menu-toggle__close { display: block; }
    .site-header.is-scrolled .primary-nav { inset: 78px 0 0; }
    .hero { min-height: auto; }
    .hero__inner { grid-template-columns: 1fr; min-height: 780px; padding-bottom: 180px; }
    .hero__content { max-width: 760px; position: relative; z-index: 2; }
    .hero__art { position: absolute; width: 520px; right: -140px; bottom: 60px; min-height: 500px; opacity: .62; }
    .balance-mark { width: 430px; }
    .hero__quote { display: none; }
    .hero__quick { grid-template-columns: 1fr; margin-top: -108px; }
    .hero-quick-card { min-height: 112px; border-right: 0; border-bottom: 1px solid var(--line); }
    .searchband { grid-template-columns: 1fr; gap: 32px; padding: 70px 0; }
    .editorial-grid { grid-template-columns: 1fr; gap: 50px; }
    .editorial-grid__aside { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
    .route-grid { grid-template-columns: 1fr; }
    .route-card { min-height: 430px; }
    .updates-grid { grid-template-columns: 1fr; }
    .hotline { grid-template-columns: 150px 1fr; }
    .hotline__number { grid-column: 2; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); padding-left: 0; }
    .inner-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .inner-layout { grid-template-columns: 1fr; }
    .inner-layout__nav { position: static; }
    .section-nav { display: none; }
    .post-grid, .documents-grid { grid-template-columns: repeat(2, 1fr); }
    .event-single__layout, .document-single { grid-template-columns: 1fr; gap: 50px; }
    .event-single__aside, .document-download-card { position: static; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
    :root { --gutter: 20px; }
    .utility-bar__inner { min-height: 34px; }
    .utility-bar__left { gap: 14px; }
    .utility-bar__left a:first-child span { display: none; }
    .utility-bar__right .utility-search span { display: none; }
    .nav-wrap__inner { min-height: 72px; }
    .brand__mark { width: 42px; height: 42px; }
    .brand__text strong { font-size: 8px; }
    .brand__text small { font-size: 17px; }
    .custom-logo { max-width: 190px; max-height: 54px; }
    .primary-nav { inset: 106px 0 0; }
    .hero__inner { min-height: 690px; padding-top: 55px; padding-bottom: 170px; }
    .hero h1 { font-size: clamp(72px, 22vw, 105px); line-height: .82; }
    .hero__lead { max-width: 92%; margin-top: 29px; font-size: 15px; }
    .hero__actions { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 30px; }
    .hero__art { width: 380px; right: -180px; bottom: 30px; opacity: .48; }
    .balance-mark { width: 340px; }
    .hero__quick { margin-top: -90px; border-radius: 12px 12px 0 0; }
    .hero-quick-card { grid-template-columns: 30px 1fr auto; min-height: 102px; padding: 20px; gap: 12px; }
    .hero-quick-card div strong { font-size: 22px; }
    .section { padding: 74px 0; }
    .searchband { padding-block: 58px; }
    .searchband__intro h2 { font-size: 36px; }
    .editorial-grid__aside { grid-template-columns: 1fr; gap: 38px; }
    .editorial-grid__main h2 { font-size: 48px; }
    .editorial-grid__main p { font-size: 15px; }
    .section-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin-bottom: 36px; }
    .section-heading h2 { font-size: 46px; }
    .route-card { min-height: 460px; padding: 28px; }
    .route-card__body h3 { font-size: 41px; }
    .news-row { grid-template-columns: 64px 1fr; gap: 18px; padding-block: 22px; }
    .news-row__meta { padding-block: 0; }
    .news-row__meta span:last-child { display: none; }
    .news-row__content h3 { font-size: 25px; }
    .news-row__content p { display: none; }
    .news-row__arrow { display: none; }
    .event-panel { padding: 24px; }
    .hotline { grid-template-columns: 1fr; gap: 28px; padding: 32px 26px; }
    .hotline__visual { width: 110px; height: 110px; }
    .hotline__copy h2 { font-size: 44px; }
    .hotline__number { grid-column: 1; min-width: 0; width: 100%; }
    .hotline__number strong { font-size: 27px; }
    .inner-hero { padding: 34px 0 58px; }
    .breadcrumbs { margin-bottom: 34px; }
    .inner-hero__title h1 { font-size: 55px; }
    .inner-hero__lead { font-size: 15px; }
    .link-grid { grid-template-columns: 1fr; }
    .link-card { min-height: 175px; }
    .prose h2 { font-size: 36px; }
    .prose p, .prose li { font-size: 15px; }
    .post-grid, .documents-grid { grid-template-columns: 1fr; }
    .post-card h2 { font-size: 27px; }
    .article-hero { padding: 34px 0 55px; }
    .article-hero__meta { margin-top: 35px; }
    .article-hero h1 { font-size: 50px; }
    .article-hero__lead { font-size: 15px; }
    .article-layout { grid-template-columns: 1fr; }
    .article-share { position: static; flex-direction: row; justify-content: flex-start; }
    .event-row { grid-template-columns: 72px 1fr; gap: 18px; padding: 24px 0; }
    .event-row__date { width: 68px; height: 82px; }
    .event-row__date strong { font-size: 34px; }
    .event-row__content h2 { font-size: 28px; }
    .event-row__content p { display: none; }
    .event-row__arrow { display: none; }
    .event-single__facts { grid-template-columns: 1fr; }
    .search-result { grid-template-columns: 1fr 40px; gap: 14px; padding: 24px 0; }
    .search-result__type { grid-column: 1 / -1; }
    .search-result p { display: none; }
    .search-result__arrow { width: 40px; height: 40px; }
    .footer-cta__inner { min-height: 310px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 30px; }
    .footer-cta h2 { font-size: 62px; }
    .footer-cta__actions { align-items: flex-start; flex-direction: column; gap: 20px; }
    .footer-grid { grid-template-columns: 1fr; gap: 38px; padding-top: 58px; }
    .footer-legal { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 22px; }
    .search-overlay__panel { width: calc(100% - 24px); padding: 48px 24px 30px; border-radius: 18px; }
    .search-overlay h2 { font-size: 44px; }
    .search-overlay__links span { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Mingo 3.0 — managed editorial content system
   -------------------------------------------------------------------------- */
.lead-copy {
    max-width: 860px;
    margin: 0 0 46px !important;
    color: var(--green-900) !important;
    font-family: var(--serif);
    font-size: clamp(25px, 2.35vw, 36px) !important;
    font-weight: 400;
    line-height: 1.42 !important;
    letter-spacing: -.025em;
}
.content-block { margin: 76px 0; padding-top: 42px; border-top: 1px solid var(--line); }
.content-block:first-child { margin-top: 0; }
.content-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--gold-500); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.content-kicker::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.content-block > h2 { margin-top: 0; }

.metric-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin: 46px 0 70px; border: 1px solid var(--line); background: #fff; }
.metric-strip > div { min-height: 165px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 27px 30px; border-right: 1px solid var(--line); }
.metric-strip > div:last-child { border-right: 0; }
.metric-strip strong { color: var(--green-800); font-family: var(--serif); font-size: clamp(39px, 4vw, 60px); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.metric-strip span { max-width: 210px; color: var(--ink-soft); font-size: 11px; line-height: 1.55; }

.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 34px 0 64px; }
.feature-tile { min-height: 250px; position: relative; padding: 32px; background: #fff; border: 1px solid var(--line); overflow: hidden; transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.feature-tile::after { content: ""; position: absolute; width: 190px; height: 190px; right: -115px; bottom: -115px; border: 1px solid rgba(21,80,70,.09); border-radius: 50%; box-shadow: 0 0 0 34px rgba(21,80,70,.018), 0 0 0 68px rgba(21,80,70,.012); }
.feature-tile:hover { transform: translateY(-4px); border-color: rgba(21,80,70,.22); box-shadow: 0 18px 55px rgba(6,31,28,.08); }
.feature-tile__number { display: block; margin-bottom: 45px; color: var(--gold-500); font-family: var(--serif); font-size: 12px; }
.feature-tile h3 { position: relative; z-index: 1; margin: 0 0 12px !important; font-size: clamp(26px, 2.3vw, 34px) !important; }
.feature-tile p { position: relative; z-index: 1; margin: 0 !important; color: var(--ink-soft); font-size: 13px !important; line-height: 1.7 !important; }

.people-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 38px 0 62px; }
.person-card { min-height: 250px; display: grid; grid-template-columns: 92px 1fr; gap: 27px; align-items: start; padding: 30px; background: #fff; border: 1px solid var(--line); }
.person-card__portrait { width: 82px; aspect-ratio: 1; display: grid; place-items: center; position: relative; background: var(--green-900); color: var(--gold-300); overflow: hidden; }
.person-card__portrait::before, .person-card__portrait::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(234,208,157,.24); transform: rotate(45deg); }
.person-card__portrait::after { inset: 24px; }
.person-card__portrait span { position: relative; z-index: 2; font-family: var(--serif); font-size: 20px; }
.person-card__role { display: block; margin: 2px 0 9px; color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.person-card h3 { margin: 0 0 12px !important; font-size: 28px !important; }
.person-card p { margin: 0 !important; color: var(--ink-soft); font-size: 12px !important; line-height: 1.68 !important; }

.process-steps { margin: 38px 0 70px; border-top: 1px solid var(--line); }
.process-step { display: grid; grid-template-columns: 92px 1fr; gap: 35px; padding: 34px 0 38px; border-bottom: 1px solid var(--line); }
.process-step__index { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-500); font-family: var(--serif); font-size: 14px; }
.process-step h3 { margin: 0 0 11px !important; color: var(--green-900); font-size: clamp(27px, 2.6vw, 37px) !important; }
.process-step p { max-width: 720px; margin: 0 !important; color: var(--ink-soft); font-size: 14px !important; line-height: 1.78 !important; }
.process-step p a { font-weight: 700; }

.faq-stack { margin: 34px 0 66px; border-top: 1px solid var(--line); }
.prose .faq-item { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--line); }
.prose .faq-item summary { min-height: 88px; display: grid; grid-template-columns: 1fr 38px; gap: 30px; align-items: center; padding: 22px 0; font-family: var(--serif); font-size: clamp(21px, 2vw, 28px); line-height: 1.25; }
.faq-item summary i { width: 34px; height: 34px; position: relative; display: block; border: 1px solid var(--line); border-radius: 50%; }
.faq-item summary i::before, .faq-item summary i::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 12px; height: 1px; background: var(--green-700); transform: translate(-50%, -50%); transition: transform var(--transition); }
.faq-item summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.faq-item__content { max-width: 800px; padding: 0 70px 28px 0; color: var(--ink-soft); }
.faq-item__content p:last-child { margin-bottom: 0; }

.editorial-notice { display: grid; grid-template-columns: 92px 1fr; gap: 28px; align-items: center; margin: 48px 0 62px; padding: 28px; background: var(--green-900); color: #fff; }
.editorial-notice--soft { background: var(--ivory-50); color: var(--ink); border: 1px solid var(--line); }
.editorial-notice__mark { width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid var(--gold-500); color: var(--gold-300); font-family: var(--serif); transform: rotate(45deg); }
.editorial-notice__mark::first-line { transform: rotate(-45deg); }
.editorial-notice > div > strong { display: block; margin-bottom: 5px; color: var(--gold-300); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.editorial-notice--soft > div > strong { color: var(--green-700); }
.editorial-notice p { margin: 0 !important; color: rgba(255,255,255,.72); font-size: 13px !important; }
.editorial-notice--soft p { color: var(--ink-soft); }
.editorial-notice a { color: inherit !important; }

.content-cta { min-height: 270px; display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: center; margin: 70px 0 10px; padding: 46px; position: relative; overflow: hidden; background: var(--green-950); color: #fff; }
.content-cta::after { content: ""; position: absolute; width: 310px; height: 310px; right: -140px; top: -140px; border: 1px solid rgba(234,208,157,.17); border-radius: 50%; box-shadow: 0 0 0 52px rgba(234,208,157,.025), 0 0 0 104px rgba(234,208,157,.018); }
.content-cta > * { position: relative; z-index: 1; }
.content-cta h2 { max-width: 600px; margin: 8px 0 12px !important; color: #fff !important; font-size: clamp(38px, 4vw, 58px) !important; }
.content-cta p { max-width: 620px; margin: 0 !important; color: rgba(255,255,255,.62); font-size: 13px !important; }

.manifesto-quote { margin: 64px 0; padding: 48px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--green-800); font-family: var(--serif); font-size: clamp(39px, 5vw, 68px); line-height: 1.06; letter-spacing: -.04em; }
.statement-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 40px 0 60px; }
.statement-grid > div { min-height: 320px; padding: 38px; background: var(--ivory-50); border: 1px solid var(--line); }
.statement-grid__dark { background: var(--green-900) !important; color: #fff; border-color: var(--green-900) !important; }
.statement-grid > div > span { color: var(--gold-500); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.statement-grid h2 { margin: 78px 0 16px !important; font-size: clamp(34px, 3.4vw, 49px) !important; }
.statement-grid__dark h2 { color: #fff !important; }
.statement-grid p { margin: 0 !important; color: var(--ink-soft); font-size: 13px !important; }
.statement-grid__dark p { color: rgba(255,255,255,.64); }

.org-chart { margin: 45px 0 70px; text-align: center; }
.org-chart__top, .org-chart__center, .org-chart__branches > div { padding: 21px 24px; background: #fff; border: 1px solid var(--line); }
.org-chart__top { width: min(470px, 100%); margin: auto; color: var(--green-900); font-family: var(--serif); font-size: 25px; }
.org-chart__line { width: 1px; height: 34px; margin: auto; background: var(--line); }
.org-chart__center { width: min(350px, 100%); margin: auto; background: var(--green-900); color: #fff; font-family: var(--serif); font-size: 24px; }
.org-chart__branches { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 34px; }
.org-chart__branches > div { min-height: 110px; display: grid; place-items: center; color: var(--green-800); font-size: 12px; font-weight: 720; line-height: 1.4; }

.committee-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 36px 0 65px; }
.committee-grid article { min-height: 230px; padding: 30px; border: 1px solid var(--line); background: #fff; }
.committee-grid article > span { color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.committee-grid h3 { margin: 38px 0 12px !important; font-size: 29px !important; }
.committee-grid p { margin: 0 !important; color: var(--ink-soft); font-size: 12px !important; }

.document-groups { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 38px 0 60px; }
.document-groups article { min-height: 360px; padding: 34px; background: #fff; border: 1px solid var(--line); }
.document-groups article > span { color: var(--gold-500); font-family: var(--serif); font-size: 13px; }
.document-groups h3 { margin: 55px 0 17px !important; font-size: 33px !important; }
.document-groups ul { margin: 0 !important; padding-left: 18px !important; }
.document-groups li { margin: 9px 0 !important; color: var(--ink-soft); font-size: 13px !important; line-height: 1.6 !important; }

.contact-stage { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,1.15fr); gap: 60px; margin-bottom: 65px; padding: 46px; background: var(--green-950); color: #fff; }
.contact-stage h2 { margin: 9px 0 20px !important; color: #fff !important; font-size: clamp(48px, 5vw, 70px) !important; }
.contact-stage p { color: rgba(255,255,255,.6); font-size: 13px !important; }
.contact-stage__cards { display: grid; gap: 8px; }
.contact-stage__cards > * { display: flex; flex-direction: column; justify-content: center; min-height: 108px; padding: 20px 24px; border: 1px solid rgba(255,255,255,.14); color: #fff !important; text-decoration: none !important; transition: background var(--transition), border-color var(--transition); }
.contact-stage__cards a:hover { background: rgba(255,255,255,.05); border-color: rgba(234,208,157,.35); }
.contact-stage__cards span, .contact-details-grid span { margin-bottom: 5px; color: var(--gold-300); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-stage__cards strong { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.contact-stage__cards small { color: rgba(255,255,255,.48); }
.contact-details-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 45px 0 65px; }
.contact-details-grid > div { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border: 1px solid var(--line); background: #fff; }
.contact-details-grid a, .contact-details-grid strong { color: var(--green-900); font-family: var(--serif); font-size: 18px; font-weight: 500; text-decoration: none; word-break: break-word; }

.training-list { margin: 40px 0 62px; border-top: 1px solid var(--line); }
.training-list article { display: grid; grid-template-columns: 150px 1fr; gap: 35px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.training-list time { color: var(--green-800); font-family: var(--serif); font-size: 25px; }
.training-list article div > span { color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.training-list h3 { margin: 9px 0 12px !important; font-size: clamp(27px, 2.7vw, 38px) !important; }
.training-list p { max-width: 720px; margin: 0 0 12px !important; color: var(--ink-soft); font-size: 13px !important; }
.training-list strong { color: var(--green-800); font-size: 12px; }

.media-feature { min-height: 330px; display: grid; grid-template-columns: 190px 1fr; gap: 50px; align-items: center; margin: 40px 0 62px; padding: 44px; background: var(--green-900); color: #fff; }
.media-feature__mark { width: 170px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(234,208,157,.25); border-radius: 50%; box-shadow: inset 0 0 0 35px rgba(255,255,255,.025); }
.media-feature__mark span { width: 70px; height: 70px; display: grid; place-items: center; padding-left: 4px; border: 1px solid var(--gold-500); border-radius: 50%; color: var(--gold-300); font-size: 20px; }
.media-feature h2 { margin: 7px 0 14px !important; color: #fff !important; font-size: clamp(39px, 4vw, 58px) !important; }
.media-feature p { max-width: 650px; margin: 0 !important; color: rgba(255,255,255,.62); font-size: 13px !important; }

.publication-list { margin: 40px 0 65px; counter-reset: publication; }
.publication-list > * { counter-increment: publication; position: relative; min-height: 100px; display: grid; grid-template-columns: 60px 1fr; gap: 24px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.publication-list > *::before { content: counter(publication, decimal-leading-zero); color: var(--gold-500); font-family: var(--serif); font-size: 12px; }
.publication-list h3 { margin: 0 !important; font-size: 25px !important; }
.publication-list p { margin: 6px 0 0 !important; color: var(--ink-soft); font-size: 12px !important; }

.quote-panel { margin: 48px 0 65px; padding: 48px; background: var(--ivory-50); border-left: 3px solid var(--gold-500); }
.quote-panel p { margin: 0 !important; color: var(--green-900); font-family: var(--serif); font-size: clamp(29px, 3vw, 42px) !important; line-height: 1.35 !important; }

.exam-split { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 40px 0 64px; }
.exam-split > div { min-height: 250px; padding: 34px; border: 1px solid var(--line); background: #fff; }
.exam-split > div > span { display: block; margin-bottom: 50px; color: var(--gold-500); font-family: var(--serif); font-size: 13px; }
.exam-split h3 { margin: 0 0 13px !important; font-size: 31px !important; }
.exam-split p { margin: 0 !important; color: var(--ink-soft); font-size: 13px !important; }

.check-list { list-style: none !important; padding: 0 !important; margin: 30px 0 60px !important; border-top: 1px solid var(--line); }
.check-list li { position: relative; margin: 0 !important; padding: 19px 0 19px 38px !important; border-bottom: 1px solid var(--line); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 20px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid var(--gold-500); border-radius: 50%; color: var(--green-700); font-size: 10px; }

.decision-panel { margin: 45px 0 65px; padding: 44px; background: var(--green-900); color: #fff; }
.decision-panel h2, .decision-panel h3 { color: #fff !important; }
.decision-panel p { color: rgba(255,255,255,.64); }
.directory-hero { margin: 36px 0 64px; padding: 46px; background: var(--green-950); color: #fff; }
.directory-hero h2 { margin: 10px 0 17px !important; color: #fff !important; }
.directory-hero p { color: rgba(255,255,255,.62); }
.hotline-page { margin: 38px 0 64px; padding: 45px; background: var(--green-900); color: #fff; }
.hotline-page h2 { color: #fff !important; }
.hotline-page__number { display: inline-block; margin: 20px 0; color: var(--gold-300) !important; font-family: var(--serif); font-size: clamp(38px, 5vw, 64px); text-decoration: none !important; }

/* --------------------------------------------------------------------------
   Mingo 3.0 — editorial news archive
   -------------------------------------------------------------------------- */
.news-archive { background: var(--paper); }
.news-archive-hero { position: relative; padding: 48px 0 92px; overflow: hidden; background: var(--green-950); color: #fff; }
.news-archive-hero__mesh { position: absolute; inset: 0; opacity: .5; background: radial-gradient(circle at 72% 20%, rgba(210,171,97,.11), transparent 23%), linear-gradient(115deg, transparent 0 61%, rgba(255,255,255,.025) 61% 61.15%, transparent 61.15% 100%); }
.news-archive-hero::after { content: ""; position: absolute; width: 610px; height: 610px; right: -280px; bottom: -370px; border: 1px solid rgba(234,208,157,.18); border-radius: 50%; box-shadow: 0 0 0 86px rgba(234,208,157,.025), 0 0 0 172px rgba(234,208,157,.015); }
.news-archive-hero .container { position: relative; z-index: 2; }
.news-archive-hero .breadcrumbs { color: rgba(255,255,255,.42); }
.news-archive-hero .breadcrumbs a { color: var(--gold-300); }
.news-archive-hero__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.6fr); gap: 90px; align-items: end; margin-top: 68px; }
.news-archive-hero h1 { margin: 16px 0 0; font-family: var(--serif); font-size: clamp(78px, 10vw, 150px); font-weight: 400; line-height: .76; letter-spacing: -.075em; }
.news-archive-hero h1 em { color: var(--gold-400); font-weight: 400; }
.news-archive-hero__copy { display: grid; grid-template-columns: 1fr 125px; gap: 36px; align-items: end; }
.news-archive-hero__copy > p { margin: 0; color: rgba(255,255,255,.65); font-size: 15px; line-height: 1.75; }
.news-archive-hero__stat { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.13); }
.news-archive-hero__stat strong { display: block; color: var(--gold-300); font-family: var(--serif); font-size: 45px; font-weight: 400; line-height: 1; }
.news-archive-hero__stat span { display: block; margin-top: 7px; color: rgba(255,255,255,.42); font-size: 9px; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }

.news-category-bar { position: relative; z-index: 3; border-bottom: 1px solid var(--line); background: #fff; }
.news-category-bar__inner { min-height: 76px; display: flex; align-items: center; gap: 9px; overflow-x: auto; scrollbar-width: none; }
.news-category-bar__inner::-webkit-scrollbar { display: none; }
.news-category-bar__inner > span { margin-right: 12px; color: var(--ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.news-category-bar a { flex: 0 0 auto; padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font-size: 11px; font-weight: 650; transition: background var(--transition), color var(--transition), border-color var(--transition); }
.news-category-bar a:hover, .news-category-bar a.is-active { background: var(--green-900); border-color: var(--green-900); color: #fff; }

.news-archive-body { padding-top: clamp(65px, 7vw, 110px); }
.news-lead { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(380px,.72fr); min-height: 570px; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.news-lead__visual { min-height: 570px; overflow: hidden; background: var(--green-900); }
.news-lead__visual > img, .article-editorial-cover__visual > img, .news-index-row__visual > img, .article-related-card__visual > img { width: 100%; height: 100%; object-fit: cover; }
.news-lead__content { display: flex; flex-direction: column; padding: clamp(34px, 4.3vw, 62px); }
.news-kicker { display: flex; align-items: center; gap: 11px; color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.news-kicker span + span::before { content: "/"; margin-right: 11px; color: var(--line); }
.news-lead h2 { margin: auto 0 24px; font-family: var(--serif); font-size: clamp(43px, 4.6vw, 70px); font-weight: 400; line-height: .99; letter-spacing: -.05em; }
.news-lead h2 a { transition: color var(--transition); }
.news-lead h2 a:hover { color: var(--green-600); }
.news-lead__content > p { margin: 0 0 32px; color: var(--ink-soft); font-size: 14px; line-height: 1.75; }
.news-lead__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 23px; border-top: 1px solid var(--line); }
.news-lead__footer > div { display: flex; flex-wrap: wrap; gap: 7px 20px; color: var(--ink-soft); font-size: 10px; }
.news-lead__footer > div span { color: var(--green-700); }
.news-circle-link { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; color: var(--green-800); transition: background var(--transition), color var(--transition), transform var(--transition); }
.news-circle-link:hover { transform: translateX(4px); background: var(--green-900); color: #fff; }

.mingo-post-visual { position: relative; display: block; overflow: hidden; }
.mingo-post-visual__image { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.2,.75,.2,1); }
a.mingo-post-visual:hover .mingo-post-visual__image { transform: scale(1.025); }
.mingo-post-visual__fallback { width: 100%; height: 100%; min-height: inherit; position: relative; display: block; overflow: hidden; background: radial-gradient(circle at 78% 23%, rgba(210,171,97,.2), transparent 28%), linear-gradient(135deg, var(--green-800), var(--green-950)); }
.mingo-post-visual__fallback::before { content: ""; position: absolute; width: 78%; aspect-ratio: 1; left: -32%; bottom: -55%; border: 1px solid rgba(234,208,157,.15); border-radius: 50%; box-shadow: 0 0 0 70px rgba(234,208,157,.025), 0 0 0 140px rgba(234,208,157,.018); }
.mingo-post-visual__number { position: absolute; left: 34px; top: 30px; color: rgba(255,255,255,.25); font-family: var(--serif); font-size: 13px; }
.mingo-post-visual__diamond { position: absolute; left: 50%; top: 50%; width: 112px; height: 112px; display: grid; place-items: center; transform: translate(-50%,-50%) rotate(45deg); border: 1px solid rgba(234,208,157,.48); color: var(--gold-300); }
.mingo-post-visual__diamond::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(234,208,157,.17); }
.mingo-post-visual__diamond b { transform: rotate(-45deg); font-family: var(--serif); font-size: 20px; font-weight: 400; letter-spacing: .08em; }
.mingo-post-visual__line { position: absolute; width: 58%; height: 1px; right: -8%; top: 28%; background: rgba(255,255,255,.08); transform: rotate(-34deg); }

.news-index-head { display: grid; grid-template-columns: 1fr 390px; gap: 80px; align-items: end; margin: clamp(90px, 10vw, 145px) 0 42px; }
.news-index-head h2 { margin: 12px 0 0; font-family: var(--serif); font-size: clamp(47px, 5vw, 72px); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.news-index-head > p { margin: 0 0 8px; color: var(--ink-soft); font-size: 13px; line-height: 1.7; }
.news-index { border-top: 1px solid var(--line); }
.news-index-row { min-height: 245px; display: grid; grid-template-columns: 55px 255px minmax(0,1fr) 58px; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); }
.news-index-row__number { align-self: start; padding-top: 35px; color: var(--gold-500); font-family: var(--serif); font-size: 12px; }
.news-index-row__visual { height: 175px; background: var(--green-900); }
.news-index-row__body { align-self: center; }
.news-index-row__meta { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 12px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.news-index-row__meta span { color: var(--gold-500); }
.news-index-row h3 { max-width: 720px; margin: 0; font-family: var(--serif); font-size: clamp(29px, 3vw, 42px); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }
.news-index-row h3 a { transition: color var(--transition); }
.news-index-row h3 a:hover { color: var(--green-600); }
.news-index-row__body > p { max-width: 680px; margin: 12px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.7; }

/* --------------------------------------------------------------------------
   Mingo 3.0 — editorial article
   -------------------------------------------------------------------------- */
.article-page--news { background: var(--paper); }
.article-editorial-hero { position: relative; overflow: hidden; padding: 48px 0 104px; background: var(--green-950); color: #fff; }
.article-editorial-hero__shape { position: absolute; inset: 0; pointer-events: none; }
.article-editorial-hero__shape span { position: absolute; border: 1px solid rgba(234,208,157,.13); transform: rotate(45deg); }
.article-editorial-hero__shape span:nth-child(1) { width: 360px; height: 360px; right: -70px; top: -160px; }
.article-editorial-hero__shape span:nth-child(2) { width: 220px; height: 220px; right: 110px; top: 20px; opacity: .7; }
.article-editorial-hero__shape span:nth-child(3) { width: 600px; height: 1px; right: -100px; bottom: 140px; transform: rotate(-24deg); border: 0; border-top: 1px solid rgba(255,255,255,.05); }
.article-editorial-hero__inner { position: relative; z-index: 2; max-width: 1240px; }
.article-editorial-hero .breadcrumbs { color: rgba(255,255,255,.42); }
.article-editorial-hero .breadcrumbs a { color: var(--gold-300); }
.article-editorial-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 62px 0 22px; color: rgba(255,255,255,.53); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.article-editorial-hero__meta > span:first-child { display: flex; align-items: center; gap: 8px; color: var(--gold-300); }
.article-editorial-hero__meta a { color: var(--gold-300); }
.article-meta-dot { color: rgba(255,255,255,.25); }
.article-editorial-hero h1 { max-width: 1110px; margin: 0; font-family: var(--serif); font-size: clamp(58px, 7.2vw, 110px); font-weight: 400; line-height: .92; letter-spacing: -.062em; }
.article-editorial-hero__lead { max-width: 790px; margin: 34px 0 0; color: rgba(255,255,255,.66); font-size: clamp(16px, 1.55vw, 20px); line-height: 1.72; }
.article-editorial-hero__seal { position: absolute; right: 0; bottom: 0; width: 112px; height: 112px; display: grid; place-items: center; align-content: center; transform: rotate(45deg); border: 1px solid rgba(234,208,157,.38); color: var(--gold-300); }
.article-editorial-hero__seal > * { transform: rotate(-45deg); }
.article-editorial-hero__seal span { font-family: var(--serif); font-size: 18px; }
.article-editorial-hero__seal small { margin-top: -3px; color: rgba(255,255,255,.42); font-size: 8px; }
.article-editorial-cover { position: relative; z-index: 4; margin-top: -42px; }
.article-editorial-cover__visual { height: clamp(360px, 52vw, 720px); background: var(--green-900); box-shadow: 0 28px 90px rgba(6,31,28,.13); }
.article-editorial-section { padding-top: clamp(70px, 8vw, 120px); }
.article-editorial-layout { display: grid; grid-template-columns: 210px minmax(0, 790px); gap: clamp(70px, 9vw, 150px); justify-content: center; align-items: start; }
.article-rail { position: sticky; top: 125px; }
.article-rail__block { padding: 18px 0; border-bottom: 1px solid var(--line); }
.article-rail__block:first-child { border-top: 1px solid var(--line); }
.article-rail__block span, .article-rail__share > span { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-rail__block strong { display: block; color: var(--green-900); font-size: 11px; font-weight: 650; line-height: 1.5; }
.article-rail__share { padding: 22px 0; }
.article-rail__share > div { display: flex; gap: 8px; }
.article-rail__share a, .article-rail__share button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--green-800); cursor: pointer; transition: background var(--transition), color var(--transition), border-color var(--transition); }
.article-rail__share a:hover, .article-rail__share button:hover, .article-rail__share button.is-copied { background: var(--green-900); border-color: var(--green-900); color: #fff; }
.article-copy-icon { font-size: 17px; line-height: 1; }
.article-rail__back { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; color: var(--green-800); font-size: 10px; font-weight: 750; }
.article-rail__back svg { transform: rotate(180deg); }
.article-editorial-content { min-width: 0; }
.article-editorial-content .prose--article { max-width: none; }
.article-editorial-content .prose--article > p:first-of-type { color: var(--green-900); font-family: var(--serif); font-size: clamp(23px, 2.2vw, 31px); line-height: 1.55; }
.article-editorial-content .prose--article p { line-height: 1.9; }
.article-editorial-content .prose--article h2 { margin-top: 72px; font-size: clamp(38px, 4vw, 55px); }
.article-editorial-content .prose--article h3 { margin-top: 46px; font-size: clamp(28px, 3vw, 37px); }
.article-editorial-content .prose--article img { width: auto; max-width: 100%; margin: 42px auto; }
.article-editorial-content .prose--article figure { margin: 46px 0; }
.article-editorial-content .prose--article figcaption { margin-top: 10px; color: var(--ink-soft); font-size: 10px; text-align: left; }
.article-editorial-content .prose--article blockquote { margin: 58px 0; padding: 35px 0 35px 35px; border-left-color: var(--gold-500); font-size: clamp(29px, 3.1vw, 43px); }
.article-tags { display: grid; grid-template-columns: 80px 1fr; gap: 20px; margin-top: 62px; padding-top: 28px; border-top: 1px solid var(--line); }
.article-tags > span { color: var(--ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-tags > div { display: flex; flex-wrap: wrap; gap: 8px; }
.article-tags a { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--green-800); font-size: 10px; }
.article-related { background: var(--ivory-50); border-top: 1px solid var(--line); }
.article-related__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.article-related-card { min-width: 0; }
.article-related-card__visual { height: 230px; margin-bottom: 22px; background: var(--green-900); }
.article-related-card__meta { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 12px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.article-related-card__meta span { color: var(--gold-500); }
.article-related-card h3 { min-height: 90px; margin: 0 0 20px; font-family: var(--serif); font-size: 27px; font-weight: 500; line-height: 1.13; }

@media (max-width: 1100px) {
    .contact-stage { grid-template-columns: 1fr; }
    .news-archive-hero__grid { grid-template-columns: 1fr; gap: 45px; }
    .news-archive-hero__copy { max-width: 700px; }
    .news-lead { grid-template-columns: 1fr; }
    .news-lead__visual { min-height: 470px; }
    .news-lead h2 { margin-top: 70px; }
    .news-index-row { grid-template-columns: 45px 210px minmax(0,1fr) 52px; gap: 22px; }
    .article-editorial-layout { grid-template-columns: 170px minmax(0,720px); gap: 65px; }
}

@media (max-width: 860px) {
    .metric-strip { grid-template-columns: 1fr; }
    .metric-strip > div { min-height: 120px; border-right: 0; border-bottom: 1px solid var(--line); }
    .metric-strip > div:last-child { border-bottom: 0; }
    .feature-grid, .people-grid, .statement-grid, .committee-grid, .document-groups, .exam-split { grid-template-columns: 1fr; }
    .org-chart__branches { grid-template-columns: 1fr; }
    .contact-details-grid { grid-template-columns: repeat(2,1fr); }
    .news-index-head { grid-template-columns: 1fr; gap: 22px; }
    .news-index-head > p { max-width: 560px; }
    .news-index-row { grid-template-columns: 40px 180px minmax(0,1fr); }
    .news-index-row > .news-circle-link { display: none; }
    .news-index-row__body > p { display: none; }
    .article-editorial-hero__seal { display: none; }
    .article-editorial-layout { grid-template-columns: 1fr; gap: 45px; }
    .article-rail { position: static; display: grid; grid-template-columns: repeat(3,1fr); gap: 0 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .article-rail__block { border-bottom: 0; }
    .article-rail__block:first-child { border-top: 0; }
    .article-rail__share { grid-column: 1 / 3; }
    .article-rail__back { align-self: center; justify-self: end; }
    .article-related__grid { grid-template-columns: 1fr; gap: 45px; }
    .article-related-card { display: grid; grid-template-columns: 230px 1fr; column-gap: 26px; }
    .article-related-card__visual { grid-row: 1 / 5; height: 180px; margin: 0; }
    .article-related-card h3 { min-height: 0; }
}

@media (max-width: 620px) {
    .lead-copy { font-size: 24px !important; }
    .content-block { margin: 58px 0; padding-top: 30px; }
    .feature-tile { min-height: 220px; padding: 27px; }
    .person-card { grid-template-columns: 68px 1fr; gap: 19px; padding: 24px 20px; }
    .person-card__portrait { width: 64px; }
    .person-card h3 { font-size: 25px !important; }
    .process-step { grid-template-columns: 48px 1fr; gap: 20px; }
    .process-step__index { width: 44px; height: 44px; }
    .faq-item__content { padding-right: 0; }
    .editorial-notice { grid-template-columns: 1fr; }
    .editorial-notice__mark { width: 58px; height: 58px; }
    .content-cta { grid-template-columns: 1fr; gap: 30px; padding: 32px 25px; }
    .statement-grid > div, .document-groups article { min-height: 285px; padding: 28px; }
    .contact-stage { min-width: 0; padding: 30px 22px; gap: 32px; }
    .contact-stage__cards { min-width: 0; }
    .contact-stage__cards strong { font-size: 19px; word-break: break-word; }
    .contact-details-grid { grid-template-columns: 1fr; }
    .training-list article { grid-template-columns: 1fr; gap: 12px; }
    .media-feature { grid-template-columns: 1fr; gap: 28px; padding: 30px 24px; }
    .media-feature__mark { width: 120px; }
    .news-archive-hero { padding-bottom: 68px; }
    .news-archive-hero__grid { margin-top: 44px; }
    .news-archive-hero h1 { font-size: clamp(72px, 24vw, 105px); }
    .news-archive-hero__copy { grid-template-columns: 1fr; gap: 28px; }
    .news-archive-hero__stat { padding: 20px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
    .news-category-bar__inner { min-height: 68px; }
    .news-lead { min-height: 0; }
    .news-lead__visual { min-height: 330px; }
    .news-lead__content { padding: 28px 23px; }
    .news-lead h2 { margin-top: 52px; font-size: 40px; }
    .news-lead__content > p { font-size: 13px; }
    .news-lead__footer > div { flex-direction: column; gap: 2px; }
    .news-index-head { margin-top: 86px; }
    .news-index-head h2 { font-size: 45px; }
    .news-index-row { min-height: 0; grid-template-columns: 34px 1fr; gap: 16px; padding: 25px 0; }
    .news-index-row__number { grid-row: 1 / 3; padding-top: 0; }
    .news-index-row__visual { grid-column: 2; height: 205px; }
    .news-index-row__body { grid-column: 2; }
    .news-index-row h3 { font-size: 29px; }
    .article-editorial-hero { padding-bottom: 80px; }
    .article-editorial-hero__meta { margin-top: 45px; }
    .article-editorial-hero h1 { font-size: 51px; }
    .article-editorial-cover { margin-top: -25px; }
    .article-editorial-cover__visual { height: 330px; }
    .article-rail { grid-template-columns: 1fr 1fr; }
    .article-rail__block:nth-child(3) { grid-column: 1 / -1; }
    .article-rail__share { grid-column: 1; }
    .article-rail__back { grid-column: 2; }
    .article-editorial-content .prose--article > p:first-of-type { font-size: 24px; }
    .article-editorial-content .prose--article h2 { margin-top: 55px; font-size: 38px; }
    .article-tags { grid-template-columns: 1fr; }
    .article-related-card { grid-template-columns: 1fr; }
    .article-related-card__visual { grid-row: auto; height: 250px; margin-bottom: 18px; }
}

/* Mingo 3.0 — events */
.events-archive-hero, .documents-hero { position: relative; overflow: hidden; padding: 48px 0 90px; background: var(--green-950); color: #fff; }
.events-archive-hero::after, .documents-hero::after { content: ""; position: absolute; width: 560px; height: 560px; right: -250px; top: -270px; border: 1px solid rgba(234,208,157,.17); border-radius: 50%; box-shadow: 0 0 0 80px rgba(234,208,157,.022), 0 0 0 160px rgba(234,208,157,.014); }
.events-archive-hero .container, .documents-hero .container { position: relative; z-index: 2; }
.events-archive-hero .breadcrumbs, .documents-hero .breadcrumbs { color: rgba(255,255,255,.42); }
.events-archive-hero .breadcrumbs a, .documents-hero .breadcrumbs a { color: var(--gold-300); }
.events-archive-hero__grid, .documents-hero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(350px,.62fr); gap: 90px; align-items: end; margin-top: 65px; }
.events-archive-hero h1, .documents-hero h1 { margin: 16px 0 0; font-family: var(--serif); font-size: clamp(75px, 9vw, 136px); font-weight: 400; line-height: .8; letter-spacing: -.07em; }
.events-archive-hero h1 em, .documents-hero h1 em { color: var(--gold-400); font-weight: 400; }
.events-archive-hero__copy p, .documents-hero__aside > p { margin: 0 0 24px; color: rgba(255,255,255,.63); font-size: 15px; line-height: 1.75; }
.event-editorial-list { border-top: 1px solid var(--line); }
.event-editorial-row { min-height: 245px; display: grid; grid-template-columns: 45px 120px minmax(0,1fr) 58px; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); }
.event-editorial-row__index { align-self: start; padding-top: 34px; color: var(--gold-500); font-family: var(--serif); font-size: 12px; }
.event-editorial-row__date { width: 112px; height: 132px; display: flex; flex-direction: column; justify-content: center; align-items: center; background: #fff; border: 1px solid var(--line); }
.event-editorial-row__date strong { color: var(--green-800); font-family: var(--serif); font-size: 52px; font-weight: 400; line-height: .8; }
.event-editorial-row__date span { margin-top: 11px; color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.event-editorial-row__date small { color: var(--ink-soft); font-size: 9px; }
.event-editorial-row__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 10px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.event-editorial-row__meta span:first-child { color: var(--gold-500); }
.event-editorial-row__meta span { display: inline-flex; align-items: center; gap: 5px; }
.event-editorial-row h3 { max-width: 900px; margin: 0; font-family: var(--serif); font-size: clamp(31px, 3.2vw, 45px); font-weight: 500; line-height: 1.06; letter-spacing: -.03em; }
.event-editorial-row p { max-width: 760px; margin: 13px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.7; }
.events-past { background: var(--ivory-50); border-top: 1px solid var(--line); }
.event-past-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.event-past-card { min-height: 340px; display: flex; flex-direction: column; padding: 30px; background: #fff; border: 1px solid var(--line); }
.event-past-card__top { display: flex; justify-content: space-between; gap: 20px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.event-past-card__top span { color: var(--gold-500); }
.event-past-card h3 { margin: 64px 0 14px; font-family: var(--serif); font-size: 31px; font-weight: 500; line-height: 1.08; }
.event-past-card p { margin: 0 0 25px; color: var(--ink-soft); font-size: 12px; line-height: 1.68; }
.event-past-card .text-link { margin-top: auto; }
.event-editorial-hero { position: relative; overflow: hidden; padding: 48px 0 72px; background: var(--green-950); color: #fff; }
.event-editorial-hero::after { content: ""; position: absolute; width: 500px; height: 500px; right: -230px; bottom: -330px; border: 1px solid rgba(234,208,157,.15); border-radius: 50%; box-shadow: 0 0 0 65px rgba(234,208,157,.025), 0 0 0 130px rgba(234,208,157,.015); }
.event-editorial-hero .container { position: relative; z-index: 2; }
.event-editorial-hero .breadcrumbs { color: rgba(255,255,255,.42); }
.event-editorial-hero .breadcrumbs a { color: var(--gold-300); }
.event-editorial-hero__grid { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 55px; align-items: start; margin-top: 55px; }
.event-editorial-hero__date { width: 145px; height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(234,208,157,.34); }
.event-editorial-hero__date strong { color: var(--gold-300); font-family: var(--serif); font-size: 68px; font-weight: 400; line-height: .82; }
.event-editorial-hero__date span { margin-top: 11px; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.event-editorial-hero__date small { color: rgba(255,255,255,.4); font-size: 9px; }
.event-editorial-hero__meta { display: flex; align-items: center; gap: 8px; margin: 3px 0 17px; color: var(--gold-300); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.event-editorial-hero h1 { max-width: 980px; margin: 0; font-family: var(--serif); font-size: clamp(52px, 6vw, 88px); font-weight: 400; line-height: .96; letter-spacing: -.052em; }
.event-editorial-hero__content > p { max-width: 800px; margin: 26px 0 0; color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.7; }
.event-editorial-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 52px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.12); }
.event-editorial-facts > div { min-height: 105px; display: flex; flex-direction: column; justify-content: center; padding: 22px 27px; background: var(--green-950); }
.event-editorial-facts span { color: rgba(255,255,255,.38); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.event-editorial-facts strong { margin-top: 4px; color: #fff; font-size: 12px; font-weight: 600; }
.event-register-card--premium { background: var(--green-900); color: #fff; border: 0; }
.event-register-card--premium .eyebrow { color: var(--gold-300); }
.event-register-card--premium h2 { color: #fff; }
.event-register-card--premium p { color: rgba(255,255,255,.57); }
.event-register-card__contact { display: block; margin-top: 18px; color: var(--gold-300); font-family: var(--serif); font-size: 19px; text-align: center; }
.event-back-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 20px; color: var(--green-800); font-size: 10px; font-weight: 750; }
.event-back-link svg { transform: rotate(180deg); }

/* Mingo 3.0 — document library */
.documents-hero__aside { display: grid; grid-template-columns: 1fr 120px; gap: 30px; align-items: end; }
.documents-hero__aside > div { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.13); }
.documents-hero__aside strong { display: block; color: var(--gold-300); font-family: var(--serif); font-size: 45px; font-weight: 400; line-height: 1; }
.documents-hero__aside span { color: rgba(255,255,255,.4); font-size: 9px; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }
.documents-hero__search { display: grid; grid-template-columns: 1fr auto; margin-top: 60px; border-bottom: 1px solid rgba(255,255,255,.26); }
.documents-hero__search input { min-width: 0; border: 0; outline: 0; padding: 17px 0 21px; background: transparent; color: #fff; font-size: clamp(18px,2vw,25px); }
.documents-hero__search input::placeholder { color: rgba(255,255,255,.42); }
.documents-hero__search button { display: inline-flex; align-items: center; gap: 9px; border: 0; background: transparent; color: var(--gold-300); font-size: 11px; font-weight: 750; cursor: pointer; }
.document-library__groups { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 35px; }
.document-library__groups > span:first-child { margin-right: 10px; color: var(--ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.document-group-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--green-800); font-size: 10px; }
.document-group-pill small { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ivory-50); color: var(--ink-soft); font-size: 8px; }
.document-library__list { border-top: 1px solid var(--line); }
.document-library-row { min-height: 205px; display: grid; grid-template-columns: 42px 68px minmax(0,1fr) 105px; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); }
.document-library-row__index { align-self: start; padding-top: 30px; color: var(--gold-500); font-family: var(--serif); font-size: 12px; }
.document-library-row__icon { width: 62px; height: 62px; display: grid; place-items: center; background: var(--ivory-50); border: 1px solid var(--line); border-radius: 50%; color: var(--green-700); }
.document-library-row__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 8px; color: var(--ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.document-library-row__meta span { color: var(--gold-500); }
.document-library-row h2 { max-width: 850px; margin: 0; font-family: var(--serif); font-size: clamp(28px,3vw,40px); font-weight: 500; line-height: 1.08; }
.document-library-row p { max-width: 760px; margin: 10px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }
.document-library-row__actions { display: flex; justify-content: flex-end; gap: 8px; }
.document-library-row__actions a { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green-800); transition: background var(--transition), color var(--transition), border-color var(--transition); }
.document-library-row__actions a:hover { background: var(--green-900); border-color: var(--green-900); color: #fff; }

@media (max-width: 960px) {
    .events-archive-hero__grid, .documents-hero__grid { grid-template-columns: 1fr; gap: 40px; }
    .events-archive-hero__copy { max-width: 670px; }
    .event-editorial-row { grid-template-columns: 40px 100px minmax(0,1fr); gap: 20px; }
    .event-editorial-row > .news-circle-link { display: none; }
    .event-editorial-row__date { width: 96px; height: 116px; }
    .event-past-grid { grid-template-columns: repeat(2,1fr); }
    .event-editorial-facts { grid-template-columns: 1fr; }
    .documents-hero__aside { max-width: 680px; }
    .document-library-row { grid-template-columns: 35px 58px minmax(0,1fr) 98px; gap: 20px; }
}

@media (max-width: 640px) {
    .events-archive-hero h1, .documents-hero h1 { font-size: 72px; }
    .event-editorial-row { grid-template-columns: 72px 1fr; gap: 17px; padding: 23px 0; }
    .event-editorial-row__index { display: none; }
    .event-editorial-row__date { width: 70px; height: 88px; }
    .event-editorial-row__date strong { font-size: 35px; }
    .event-editorial-row__date span { margin-top: 7px; font-size: 7px; }
    .event-editorial-row__body { min-width: 0; }
    .event-editorial-row h3 { font-size: 28px; }
    .event-editorial-row p { display: none; }
    .event-past-grid { grid-template-columns: 1fr; }
    .event-editorial-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .event-editorial-hero__date { width: 105px; height: 120px; }
    .event-editorial-hero__date strong { font-size: 50px; }
    .event-editorial-hero h1 { font-size: 48px; }
    .event-editorial-hero__content > p { font-size: 14px; }
    .documents-hero__aside { grid-template-columns: 1fr; }
    .documents-hero__aside > div { padding: 18px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
    .documents-hero__search button span { display: none; }
    .document-library__groups { align-items: flex-start; flex-direction: column; }
    .document-library-row { grid-template-columns: 48px 1fr 44px; gap: 15px; padding: 24px 0; }
    .document-library-row__index { display: none; }
    .document-library-row__icon { width: 46px; height: 46px; }
    .document-library-row h2 { font-size: 27px; }
    .document-library-row p { display: none; }
    .document-library-row__actions { flex-direction: column; }
    .document-library-row__actions a { width: 40px; height: 40px; }
}

@media (min-width: 1061px) {
    .primary-nav .menu > li:nth-child(1) > .sub-menu,
    .primary-nav .menu > li:nth-child(2) > .sub-menu,
    .primary-nav .menu > li:nth-child(3) > .sub-menu {
        width: 620px;
        max-width: 620px;
        min-width: 620px;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 2px 8px;
        padding: 18px;
    }
    .primary-nav .menu > li:nth-child(1):hover > .sub-menu,
    .primary-nav .menu > li:nth-child(1):focus-within > .sub-menu,
    .primary-nav .menu > li:nth-child(2):hover > .sub-menu,
    .primary-nav .menu > li:nth-child(2):focus-within > .sub-menu,
    .primary-nav .menu > li:nth-child(3):hover > .sub-menu,
    .primary-nav .menu > li:nth-child(3):focus-within > .sub-menu {
        display: grid;
    }
    .primary-nav .menu > li:nth-child(1) > .sub-menu { left: -50px; }
    .primary-nav .menu > li:nth-child(2) > .sub-menu { left: 50%; transform: translate(-48%, 10px); }
    .primary-nav .menu > li:nth-child(2):hover > .sub-menu,
    .primary-nav .menu > li:nth-child(2):focus-within > .sub-menu { transform: translate(-48%, 0); }
    .primary-nav .menu > li:nth-child(3) > .sub-menu { left: auto; right: -80px; }
    .primary-nav .sub-menu a { min-height: 48px; display: flex; align-items: center; padding: 11px 13px; }
}

@media (min-width: 1061px) {
    .section-nav { max-height: calc(100vh - 150px); overflow-y: auto; padding-right: 8px; scrollbar-width: thin; scrollbar-color: rgba(21,80,70,.2) transparent; }
    .section-nav::-webkit-scrollbar { width: 4px; }
    .section-nav::-webkit-scrollbar-thumb { background: rgba(21,80,70,.2); border-radius: 99px; }
}

/* ==========================================================================\
   MINGO 3.0 — PREMIUM INSTITUTIONAL EXPERIENCE
   Montserrat-first typography • editorial imagery • advanced motion • mobile UX
   ========================================================================== */

:root {
    --font-main: "Montserrat", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "Montserrat", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ease-expo: cubic-bezier(.16, 1, .3, 1);
    --ease-smooth: cubic-bezier(.22, .61, .36, 1);
    --green-glow: rgba(59, 133, 116, .28);
    --gold-glow: rgba(210, 171, 97, .26);
    --glass: rgba(255, 253, 248, .78);
}

html { background: var(--green-950); }
body {
    font-family: var(--font-main);
    font-weight: 500;
    letter-spacing: -.008em;
    overflow-x: hidden;
}
body.menu-open { overscroll-behavior: none; }

h1, h2, h3, h4, h5, h6,
.hero h1, .section-heading h2, .editorial-grid__main h2,
.inner-hero__title h1, .news-archive-hero h1, .news-lead h2,
.news-index-row h3, .article-editorial-hero h1, .article-related-card h3,
.events-archive-hero h1, .documents-hero h1, .event-editorial-hero h1,
.event-editorial-row h3, .document-library-row h2, .footer-cta h2,
.search-overlay h2, .prose h2, .prose h3, .prose h4,
.route-card__body h3, .news-row__content h3, .hotline__copy h2,
.section-nav__title, .event-mini h3, .event-panel__empty h3,
.event-row__content h2, .document-card h2, .search-result h2,
.metric-strip strong, .manifesto-quote, .quote-panel p,
.contact-stage__cards strong, .contact-details-grid a,
.contact-details-grid strong, .hotline-page__number {
    font-family: var(--font-display);
}

h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

.scroll-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 9999;
    height: 3px;
    pointer-events: none;
    background: transparent;
}
.scroll-progress > span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, var(--gold-500), #f3deaa 48%, var(--gold-500));
    box-shadow: 0 0 18px rgba(210,171,97,.45);
    will-change: transform;
}

.reveal {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.992);
    filter: blur(3px);
    transition:
        opacity 880ms var(--ease-expo) var(--reveal-delay, 0ms),
        transform 880ms var(--ease-expo) var(--reveal-delay, 0ms),
        filter 880ms var(--ease-expo) var(--reveal-delay, 0ms);
}
.reveal.is-visible {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0);
}

.image-reveal { position: relative; overflow: hidden; }
.image-reveal::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background: var(--green-950);
    transform: translateX(0);
    transition: transform 1.15s var(--ease-expo) .08s;
}
.image-reveal.is-visible::after { transform: translateX(101%); }
.image-reveal img { transform: scale(1.08); transition: transform 1.4s var(--ease-expo); }
.image-reveal.is-visible img { transform: scale(1); }

/* Header — desktop */
.site-header { z-index: 500; }
.utility-bar {
    background: #041916;
    color: rgba(255,255,255,.68);
}
.utility-bar__inner { min-height: 39px; }
.utility-bar__label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.46);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .145em;
    text-transform: uppercase;
}
.utility-bar__label::before {
    width: 5px;
    height: 5px;
    content: "";
    border-radius: 50%;
    background: var(--gold-500);
    box-shadow: 0 0 0 4px rgba(210,171,97,.08);
}
.nav-wrap {
    background: rgba(255,253,248,.93);
    backdrop-filter: saturate(135%) blur(16px);
    -webkit-backdrop-filter: saturate(135%) blur(16px);
}
.site-header.is-scrolled .nav-wrap {
    background: rgba(255,253,248,.86);
    box-shadow: 0 18px 60px rgba(4,28,24,.10);
}
.nav-wrap__inner { min-height: 96px; grid-template-columns: 300px minmax(0,1fr) auto; }
.nav-brand-wrap { display: flex; align-items: center; gap: 15px; min-width: 0; }
.nav-brand-wrap__descriptor {
    padding-left: 15px;
    border-left: 1px solid var(--line);
    color: #79847f;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.brand { gap: 13px; }
.brand__mark {
    width: 52px;
    height: 52px;
    border-color: rgba(210,171,97,.55);
    box-shadow: inset 0 0 0 4px var(--paper), 0 8px 28px rgba(6,31,28,.10);
}
.brand__mark span { font-family: var(--font-main); font-size: 11px; font-weight: 800; }
.brand__text { letter-spacing: .035em; }
.brand__text strong { font-size: 9px; font-weight: 800; }
.brand__text small { font-family: var(--font-main); font-size: 18px; font-weight: 700; letter-spacing: -.025em; }
.custom-logo { max-height: 64px; }

.primary-nav .menu { gap: clamp(13px, 1.25vw, 25px); }
.primary-nav .menu > li > a {
    min-height: 96px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .015em;
}
.primary-nav .menu > li > a::after {
    bottom: 25px;
    height: 2px;
    border-radius: 2px;
}
.primary-nav .sub-menu {
    top: calc(100% - 8px);
    padding: 10px;
    border-radius: 20px;
    background: rgba(255,254,250,.98);
    box-shadow: 0 30px 90px rgba(4,27,24,.17), 0 2px 0 rgba(210,171,97,.14) inset;
}
.primary-nav .sub-menu a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
}
.primary-nav .sub-menu a:hover {
    background: linear-gradient(135deg, rgba(210,171,97,.10), rgba(8,40,36,.035));
    padding-left: 18px;
}

.nav-actions { gap: 8px; }
.nav-search-button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: rgba(255,255,255,.52);
    color: var(--green-900);
    cursor: pointer;
    transition: transform .35s var(--ease-expo), background .35s ease, border-color .35s ease;
}
.nav-search-button:hover { transform: rotate(8deg) scale(1.05); background: #fff; border-color: rgba(210,171,97,.45); }
.nav-find-button { min-height: 46px; padding-inline: 19px; }
.menu-toggle { position: relative; width: auto; min-width: 54px; height: 46px; border-radius: 999px; gap: 8px; padding: 0 14px; overflow: hidden; }
.menu-toggle__lines { position: relative; width: 18px; height: 14px; display: block; }
.menu-toggle__lines i {
    position: absolute;
    left: 0;
    width: 18px;
    height: 1.5px;
    background: currentColor;
    transition: top .35s var(--ease-expo), transform .35s var(--ease-expo), width .35s var(--ease-expo);
}
.menu-toggle__lines i:first-child { top: 4px; }
.menu-toggle__lines i:last-child { top: 10px; width: 12px; }
.menu-toggle__label { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.menu-open .menu-toggle__lines i:first-child { top: 7px; transform: rotate(45deg); }
.menu-open .menu-toggle__lines i:last-child { top: 7px; width: 18px; transform: rotate(-45deg); }
.mobile-nav__header, .mobile-nav__feature, .mobile-nav__footer { display: none; }

/* Search */
.search-overlay__backdrop { background: rgba(3,19,17,.82); backdrop-filter: blur(14px); }
.search-overlay__panel {
    width: min(960px, calc(100% - 48px));
    border: 1px solid rgba(255,255,255,.65);
    background:
        radial-gradient(circle at 85% 10%, rgba(210,171,97,.16), transparent 30%),
        rgba(255,253,248,.98);
}
.search-overlay h2 { font-weight: 700; letter-spacing: -.06em; }
.search-overlay__links a { transition: background .25s ease, color .25s ease, transform .25s ease; }
.search-overlay__links a:hover { transform: translateY(-2px); background: var(--green-900); color: #fff; }

/* Hero — image-led premium composition */
.hero--v3 {
    position: relative;
    min-height: min(920px, calc(100vh - 40px));
    overflow: hidden;
    background:
        radial-gradient(circle at 17% 22%, rgba(44,103,89,.48), transparent 29%),
        radial-gradient(circle at 78% 16%, rgba(210,171,97,.14), transparent 24%),
        linear-gradient(135deg, #041b18 0%, #082a25 55%, #061f1c 100%);
    color: #fff;
    isolation: isolate;
}
.hero--v3::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    height: 170px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.18));
    pointer-events: none;
}
.hero__noise {
    opacity: .16;
    mix-blend-mode: soft-light;
}
.hero__aurora {
    position: absolute;
    z-index: 0;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    filter: blur(95px);
    pointer-events: none;
    opacity: .28;
    animation: mingoAurora 12s ease-in-out infinite alternate;
}
.hero__aurora--one { left: -280px; top: 120px; background: #348a75; }
.hero__aurora--two { right: -240px; top: -130px; background: #c59c50; animation-delay: -5s; }
@keyframes mingoAurora {
    0% { transform: translate3d(-2%, -1%, 0) scale(.95); opacity: .20; }
    100% { transform: translate3d(4%, 4%, 0) scale(1.08); opacity: .34; }
}
.hero__grid-lines {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: .20;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.hero__inner--v3 {
    position: relative;
    z-index: 2;
    min-height: 720px;
    display: grid;
    grid-template-columns: minmax(0, .93fr) minmax(460px, .72fr);
    gap: clamp(70px, 7vw, 140px);
    align-items: center;
    padding-top: 82px;
    padding-bottom: 155px;
}
.hero--v3 .hero__content { max-width: 830px; position: relative; z-index: 3; }
.hero--v3 .hero__kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 31px;
    color: rgba(255,255,255,.78);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.hero--v3 .hero__kicker > span { width: 34px; height: 1px; background: var(--gold-400); }
.hero--v3 .hero__kicker small {
    margin-left: 4px;
    padding-left: 16px;
    border-left: 1px solid rgba(255,255,255,.18);
    color: var(--gold-300);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
}
.hero--v3 h1 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(72px, 7.15vw, 126px);
    font-weight: 800;
    line-height: .86;
    letter-spacing: -.082em;
}
.hero--v3 h1 span { color: #fff; }
.hero--v3 h1 em {
    position: relative;
    display: inline-block;
    color: var(--gold-300);
    font-style: normal;
    font-weight: 600;
}
.hero--v3 h1 em::after {
    position: absolute;
    left: 4%;
    right: -4%;
    bottom: -14px;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, var(--gold-400), transparent);
    transform-origin: left;
    animation: mingoLineGrow 1.5s var(--ease-expo) .4s both;
}
@keyframes mingoLineGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hero--v3 .hero__lead {
    max-width: 650px;
    margin: 42px 0 0;
    color: rgba(255,255,255,.68);
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 500;
    line-height: 1.72;
}
.hero--v3 .hero__actions { display: flex; align-items: center; gap: 31px; margin-top: 38px; }
.hero-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.hero-link i {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    transition: transform .35s var(--ease-expo), background .35s ease;
}
.hero-link:hover i { transform: translateX(5px); background: rgba(255,255,255,.08); }
.hero__trust {
    display: flex;
    gap: 0;
    margin-top: 48px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.hero__trust > div { min-width: 155px; padding: 20px 26px 0 0; margin-right: 26px; border-right: 1px solid rgba(255,255,255,.10); }
.hero__trust > div:last-child { border-right: 0; margin-right: 0; }
.hero__trust strong { display: block; color: #fff; font-size: 19px; font-weight: 700; letter-spacing: -.03em; }
.hero__trust span { display: block; margin-top: 4px; color: rgba(255,255,255,.44); font-size: 9px; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }

.hero__media {
    position: relative;
    min-height: 610px;
    perspective: 1000px;
}
.hero__media-frame {
    position: absolute;
    inset: 20px 4px 30px 44px;
    overflow: hidden;
    border-radius: 3px 88px 3px 3px;
    box-shadow: 0 45px 110px rgba(0,0,0,.35);
    transform: translate3d(var(--parallax-x,0), var(--parallax-y,0), 0);
    will-change: transform;
}
.hero__media-frame::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: "";
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
    pointer-events: none;
}
.hero__media-frame img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04) brightness(.83); }
.hero__media-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5,30,26,.02) 35%, rgba(5,30,26,.70) 100%),
        linear-gradient(90deg, rgba(6,31,28,.24), transparent 45%);
}
.hero__media-card {
    position: absolute;
    z-index: 5;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translate3d(var(--parallax-x,0), var(--parallax-y,0), 0);
    will-change: transform;
}
.hero__media-card--top {
    top: -8px;
    left: 0;
    width: 245px;
    padding: 25px 28px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(7,36,31,.74);
    color: #fff;
}
.hero__media-card--top span { display: block; color: var(--gold-300); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.hero__media-card--top strong { display: block; margin-top: 10px; font-size: 17px; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }
.hero__media-card--seal {
    right: -30px;
    bottom: 92px;
    width: 126px;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(234,208,157,.55);
    border-radius: 50%;
    background: rgba(6,31,28,.84);
    color: var(--gold-300);
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.hero__media-card--seal::before,
.hero__media-card--seal::after {
    position: absolute;
    inset: 10px;
    content: "";
    border: 1px solid rgba(234,208,157,.18);
    border-radius: 50%;
}
.hero__media-card--seal::after { inset: 20px; }
.hero__media-card--seal span { position: relative; z-index: 2; display: block; font-size: 20px; font-weight: 800; letter-spacing: .08em; }
.hero__media-card--seal small { position: relative; z-index: 2; display: block; margin-top: 3px; font-size: 8px; font-weight: 800; letter-spacing: .25em; }
.hero__media-caption {
    position: absolute;
    z-index: 4;
    left: 72px;
    right: 35px;
    bottom: 54px;
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 22px;
    align-items: end;
    color: #fff;
}
.hero__media-caption span { font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.hero__media-caption p { margin: 0; color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.5; }
.hero__quick--v3 {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.hero__quick--v3 .hero-quick-card {
    min-height: 116px;
    border-color: rgba(255,255,255,.12);
    background: rgba(5,28,24,.78);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: background .35s ease, transform .35s var(--ease-expo), border-color .35s ease;
}
.hero__quick--v3 .hero-quick-card:hover {
    z-index: 3;
    transform: translateY(-8px);
    background: rgba(17,64,55,.96);
    border-color: rgba(210,171,97,.35);
}
.hero-quick-card__icon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}
.hero__scroll-cue {
    position: absolute;
    z-index: 8;
    right: max(22px, calc((100vw - var(--container)) / 2));
    bottom: 39px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.42);
    writing-mode: vertical-rl;
}
.hero__scroll-cue span { width: 1px; height: 42px; background: linear-gradient(var(--gold-400), transparent); animation: mingoScrollCue 1.8s ease-in-out infinite; }
.hero__scroll-cue small { font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
@keyframes mingoScrollCue { 0%,100% { opacity:.35; transform:scaleY(.8); } 50% { opacity:1; transform:scaleY(1); } }

/* Buttons */
.button {
    position: relative;
    overflow: hidden;
    font-weight: 800;
    box-shadow: none;
    transition: transform .35s var(--ease-expo), box-shadow .35s ease, background .35s ease, color .35s ease;
}
.button::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.28) 48%, transparent 72%);
    transform: translateX(-130%);
    transition: transform .65s var(--ease-expo);
}
.button:hover::before { transform: translateX(130%); }
.button--gold:hover { box-shadow: 0 14px 32px rgba(210,171,97,.20); }

/* Search band */
.section--searchband { position: relative; z-index: 20; }
.searchband {
    border-radius: 0 0 28px 28px;
    box-shadow: 0 28px 90px rgba(4,29,25,.08);
}
.searchband__intro h2 { font-weight: 700; letter-spacing: -.045em; }

/* About */
.section--about { position: relative; overflow: hidden; }
.section--about::before {
    content: "LMR";
    position: absolute;
    right: -30px;
    top: 10px;
    color: rgba(8,40,36,.025);
    font-size: clamp(180px, 23vw, 420px);
    font-weight: 900;
    line-height: .75;
    letter-spacing: -.10em;
    pointer-events: none;
}
.editorial-stat strong { font-family: var(--font-display); font-weight: 700; }
.editorial-grid__main h2 { font-weight: 700; letter-spacing: -.065em; }
.editorial-grid__main p { font-size: 16px; }

/* Visual story */
.section--visual-story { padding-top: 10px; padding-bottom: clamp(90px, 11vw, 170px); background: var(--paper); }
.visual-story {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, .72fr);
    gap: clamp(60px, 7vw, 125px);
    align-items: center;
}
.visual-story__media {
    position: relative;
    min-height: 650px;
    border-radius: 3px 70px 3px 3px;
    box-shadow: 0 38px 100px rgba(6,31,28,.14);
}
.visual-story__media img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; filter: saturate(.78) contrast(1.02); }
.visual-story__media-tag {
    position: absolute;
    z-index: 5;
    right: -28px;
    bottom: 34px;
    width: 220px;
    padding: 24px 27px;
    background: var(--green-950);
    color: #fff;
    box-shadow: 0 20px 50px rgba(5,28,24,.2);
}
.visual-story__media-tag span { display: block; color: var(--gold-300); font-size: 18px; font-weight: 800; }
.visual-story__media-tag small { display: block; margin-top: 8px; color: rgba(255,255,255,.55); font-size: 8px; font-weight: 700; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; }
.visual-story__content h2 {
    max-width: 650px;
    margin: 18px 0 26px;
    color: var(--green-900);
    font-size: clamp(46px, 4.8vw, 75px);
    font-weight: 700;
    line-height: .99;
    letter-spacing: -.065em;
}
.visual-story__content > p { max-width: 600px; color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.visual-story__facts {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin: 42px 0 34px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.visual-story__facts > div { min-height: 95px; padding: 21px 16px 18px 0; border-right: 1px solid var(--line); }
.visual-story__facts > div:not(:first-child) { padding-left: 18px; }
.visual-story__facts > div:last-child { border-right: 0; }
.visual-story__facts span { display: block; color: var(--gold-500); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.visual-story__facts strong { display: block; margin-top: 9px; color: var(--green-900); font-size: 13px; font-weight: 800; }

/* Routes */
.section--routes {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--ivory-50), #f2ede3);
}
.section--routes::before {
    content: "";
    position: absolute;
    width: 700px;
    height: 700px;
    left: -400px;
    top: 10%;
    border: 1px solid rgba(8,40,36,.05);
    border-radius: 50%;
    box-shadow: 0 0 0 90px rgba(8,40,36,.018), 0 0 0 180px rgba(8,40,36,.012);
}
.section-heading h2 { font-weight: 700; letter-spacing: -.065em; }
.route-grid { position: relative; z-index: 2; }
.route-card {
    overflow: hidden;
    border-radius: 2px 42px 2px 2px;
    transition: transform .55s var(--ease-expo), box-shadow .55s var(--ease-expo), border-radius .55s var(--ease-expo);
    will-change: transform;
}
.route-card::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -130px;
    bottom: -130px;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .09;
    transition: transform .65s var(--ease-expo), opacity .4s ease;
}
.route-card:hover {
    transform: translateY(-12px);
    border-radius: 2px 26px 2px 2px;
    box-shadow: 0 36px 80px rgba(6,31,28,.18);
}
.route-card:hover::after { transform: scale(1.5); opacity: .16; }
.route-card__body h3 { font-weight: 700; letter-spacing: -.055em; }
.route-card__link { font-weight: 800; }

/* News — stronger imagery and editorial movement */
.section--updates { background: #fffdf8; }
.news-row {
    position: relative;
    overflow: hidden;
    transition: padding-left .35s var(--ease-expo), background .35s ease;
}
.news-row::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(210,171,97,.08), transparent 68%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .45s var(--ease-expo);
}
.news-row:hover { padding-left: 14px; }
.news-row:hover::before { transform: scaleX(1); }
.news-row__content h3 { font-weight: 700; letter-spacing: -.04em; }
.event-panel { position: relative; overflow: hidden; box-shadow: 0 30px 90px rgba(6,31,28,.16); }
.event-panel::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -120px;
    bottom: -120px;
    border: 1px solid rgba(234,208,157,.14);
    border-radius: 50%;
}

/* Real image fallback */
.mingo-post-visual { position: relative; overflow: hidden; background: var(--green-900); }
.mingo-post-visual__image,
.mingo-post-visual__curated,
.mingo-post-visual__curated img {
    width: 100%;
    height: 100%;
    display: block;
}
.mingo-post-visual__image,
.mingo-post-visual__curated img {
    object-fit: cover;
    transition: transform .9s var(--ease-expo), filter .55s ease;
}
.mingo-post-visual__image--content { object-position: center; }
.mingo-post-visual:hover .mingo-post-visual__image,
.mingo-post-visual:hover .mingo-post-visual__curated img { transform: scale(1.055); }
.mingo-post-visual__curated { position: relative; }
.mingo-post-visual__curated img { filter: saturate(.62) contrast(1.04) brightness(.87); }
.mingo-post-visual__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(5,29,25,.70));
}
.mingo-post-visual__badge {
    position: absolute;
    left: 24px;
    bottom: 22px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    background: rgba(5,30,26,.65);
    backdrop-filter: blur(9px);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .16em;
}

/* News archive */
.news-archive-hero {
    background:
        radial-gradient(circle at 82% 22%, rgba(210,171,97,.17), transparent 30%),
        linear-gradient(135deg, #041b18, #0a302a);
}
.news-archive-hero h1 { font-weight: 800; letter-spacing: -.085em; }
.news-archive-hero h1 em { color: var(--gold-300); }
.news-lead { box-shadow: 0 34px 100px rgba(6,31,28,.11); }
.news-lead__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(5,30,26,.18));
    pointer-events: none;
}
.news-lead h2 { font-weight: 700; letter-spacing: -.064em; }
.news-index-row {
    transition: transform .42s var(--ease-expo), border-color .32s ease;
}
.news-index-row:hover { transform: translateX(7px); border-color: rgba(210,171,97,.45); }
.news-index-row h3 { font-weight: 700; letter-spacing: -.045em; }
.news-index-row__visual { overflow: hidden; border-radius: 2px 20px 2px 2px; }
.news-category-bar {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.news-category-bar a { font-weight: 700; }

/* Article */
.article-editorial-hero {
    background:
        radial-gradient(circle at 86% 22%, rgba(210,171,97,.14), transparent 27%),
        linear-gradient(135deg, #041b18, #092d28);
}
.article-editorial-hero h1 { max-width: 1180px; font-weight: 800; letter-spacing: -.072em; }
.article-editorial-hero__lead { font-weight: 500; }
.article-editorial-cover__visual { border-radius: 2px 46px 2px 2px; box-shadow: 0 35px 100px rgba(6,31,28,.17); }
.article-editorial-content .prose--article > p:first-of-type {
    font-family: var(--font-main);
    font-weight: 600;
    letter-spacing: -.025em;
}
.prose--article h2, .prose--article h3 { font-weight: 750; letter-spacing: -.045em; }
.prose--article img { border-radius: 2px 28px 2px 2px; box-shadow: 0 24px 65px rgba(6,31,28,.10); }
.prose--article blockquote {
    position: relative;
    padding: 42px 44px;
    border-left: 0;
    border-radius: 2px 32px 2px 2px;
    background: var(--ivory-50);
    font-family: var(--font-main);
    font-weight: 650;
}
.prose--article blockquote::before {
    content: "“";
    position: absolute;
    top: 12px;
    left: 18px;
    color: rgba(210,171,97,.35);
    font-size: 65px;
    line-height: 1;
    font-weight: 800;
}
.article-related-card__visual { border-radius: 2px 24px 2px 2px; overflow: hidden; }
.article-related-card h3 { font-weight: 700; letter-spacing: -.04em; }

/* Inner pages */
.inner-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 0%, rgba(210,171,97,.11), transparent 30%),
        linear-gradient(180deg, #fffdf8 0%, #faf6ed 100%);
}
.inner-hero::before {
    content: "";
    position: absolute;
    right: -180px;
    top: -290px;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(8,40,36,.05);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(8,40,36,.018), 0 0 0 140px rgba(8,40,36,.012);
}
.inner-hero__title h1 { position: relative; font-weight: 800; letter-spacing: -.075em; }
.inner-hero__title h1::after {
    content: "";
    display: block;
    width: 74px;
    height: 3px;
    margin-top: 26px;
    background: var(--gold-500);
}
.section-nav {
    border-radius: 2px 24px 2px 2px;
    box-shadow: 0 20px 60px rgba(6,31,28,.06);
}
.section-nav__title { font-weight: 750; letter-spacing: -.035em; }
.section-nav li a { transition: background .3s ease, padding .3s var(--ease-expo), color .3s ease; }
.section-nav li a:hover { padding-left: 15px; background: rgba(210,171,97,.08); }
.prose h2, .prose h3, .prose h4 { font-weight: 750; }
.prose h2 { letter-spacing: -.055em; }
.prose details { border-radius: 0; }
.prose details summary { font-family: var(--font-main); font-weight: 700; }
.link-card {
    border-radius: 2px 24px 2px 2px;
    transition: transform .4s var(--ease-expo), box-shadow .4s var(--ease-expo), background .3s ease;
}
.link-card:hover { transform: translateY(-7px); box-shadow: 0 25px 70px rgba(6,31,28,.09); }
.person-card, .feature-tile, .statement-grid > div, .document-groups article {
    border-radius: 2px 25px 2px 2px;
}

/* Footer */
.footer-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #082824 0%, #061f1c 62%, #041916 100%);
}
.footer-cta::after {
    content: "";
    position: absolute;
    width: 580px;
    height: 580px;
    right: -230px;
    top: -310px;
    border: 1px solid rgba(234,208,157,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 90px rgba(234,208,157,.018), 0 0 0 180px rgba(234,208,157,.01);
}
.footer-cta h2 { position: relative; z-index: 2; font-weight: 700; letter-spacing: -.075em; }
.footer-main { background: #041916; }
.footer-brand .brand { color: #fff; }
.footer-brand .brand__mark { box-shadow: inset 0 0 0 4px #041916; }
.footer-column h3 { font-weight: 800; letter-spacing: .1em; }

/* Magnetic pointer transform (desktop only) */
.magnetic { will-change: transform; }

/* ============================ MOBILE / TABLET ============================ */
@media (max-width: 1240px) {
    .nav-wrap__inner { grid-template-columns: 255px minmax(0,1fr) auto; }
    .nav-brand-wrap__descriptor { display: none; }
    .hero__inner--v3 { grid-template-columns: minmax(0,1fr) minmax(390px,.67fr); gap: 55px; }
    .hero--v3 h1 { font-size: clamp(68px, 7.5vw, 106px); }
    .visual-story { gap: 70px; }
}

@media (max-width: 1060px) {
    .utility-bar { display: none; }
    .nav-wrap { position: relative; z-index: 700; }
    .site-header.is-scrolled .nav-wrap { top: 0; }
    .nav-wrap__inner { min-height: 78px; grid-template-columns: 1fr auto; gap: 12px; }
    .nav-brand-wrap { min-width: 0; }
    .brand__mark { width: 44px; height: 44px; }
    .brand__text strong { font-size: 8px; }
    .brand__text small { font-size: 16px; }
    .custom-logo { max-width: min(220px, 50vw); max-height: 54px; }
    .nav-find-button { display: none; }
    .nav-search-button { display: grid; width: 42px; height: 42px; }
    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 42px;
        min-width: 88px;
        border-color: rgba(8,40,36,.16);
        background: var(--green-900);
        color: #fff;
    }
    .menu-open .menu-toggle { background: var(--gold-500); color: var(--green-950); border-color: var(--gold-500); }

    .primary-nav {
        position: fixed;
        inset: 78px 0 0;
        z-index: 650;
        padding: 0;
        background: #061f1c;
        color: #fff;
        overflow-y: auto;
        overscroll-behavior: contain;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-14px) scale(.99);
        transform-origin: top center;
        transition: opacity .38s var(--ease-expo), transform .38s var(--ease-expo), visibility .38s;
    }
    .menu-open .primary-nav { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
    .site-header.is-scrolled .primary-nav { inset: 78px 0 0; }

    .mobile-nav__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 25px var(--gutter) 20px;
        border-bottom: 1px solid rgba(255,255,255,.10);
        color: #fff;
    }
    .mobile-nav__header span { color: var(--gold-300); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
    .mobile-nav__header small { color: rgba(255,255,255,.36); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

    .primary-nav .menu {
        display: block;
        padding: 5px var(--gutter) 18px;
        counter-reset: mobileNav;
    }
    .primary-nav .menu > li {
        position: relative;
        border-bottom: 1px solid rgba(255,255,255,.10);
        counter-increment: mobileNav;
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .42s var(--ease-expo), transform .42s var(--ease-expo);
    }
    .menu-open .primary-nav .menu > li { opacity: 1; transform: translateY(0); }
    .menu-open .primary-nav .menu > li:nth-child(1) { transition-delay: .06s; }
    .menu-open .primary-nav .menu > li:nth-child(2) { transition-delay: .10s; }
    .menu-open .primary-nav .menu > li:nth-child(3) { transition-delay: .14s; }
    .menu-open .primary-nav .menu > li:nth-child(4) { transition-delay: .18s; }
    .menu-open .primary-nav .menu > li:nth-child(5) { transition-delay: .22s; }
    .menu-open .primary-nav .menu > li:nth-child(6) { transition-delay: .26s; }
    .primary-nav .menu > li::before {
        content: counter(mobileNav, decimal-leading-zero);
        position: absolute;
        left: 0;
        top: 26px;
        color: rgba(234,208,157,.38);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .1em;
        pointer-events: none;
    }
    .primary-nav .menu > li > a {
        min-height: 78px;
        padding: 0 58px 0 38px;
        color: #fff;
        font-family: var(--font-main);
        font-size: clamp(20px, 4vw, 29px);
        font-weight: 700;
        line-height: 1.12;
        letter-spacing: -.045em;
        white-space: normal;
    }
    .primary-nav .sub-menu {
        position: static;
        display: none;
        min-width: 0;
        max-width: none;
        padding: 0 0 22px 38px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .primary-nav .submenu-open > .sub-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 18px; }
    .primary-nav .sub-menu a {
        min-height: 0;
        padding: 7px 0;
        color: rgba(255,255,255,.60);
        background: transparent;
        font-size: 10px;
        font-weight: 650;
        line-height: 1.45;
    }
    .primary-nav .sub-menu a:hover { padding-left: 0; background: transparent; color: var(--gold-300); }
    .submenu-toggle {
        position: absolute;
        top: 17px;
        right: 0;
        width: 46px;
        height: 46px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(255,255,255,.10);
        border-radius: 50%;
        background: rgba(255,255,255,.025);
        color: #fff;
        cursor: pointer;
        transition: transform .35s var(--ease-expo), background .3s ease;
    }
    .submenu-open > .submenu-toggle { transform: rotate(180deg); background: rgba(210,171,97,.12); color: var(--gold-300); }

    .mobile-nav__feature {
        display: grid;
        grid-template-columns: 120px 1fr;
        gap: 22px;
        margin: 12px var(--gutter) 0;
        padding: 14px;
        border: 1px solid rgba(255,255,255,.10);
        background: rgba(255,255,255,.035);
    }
    .mobile-nav__feature-image { min-height: 104px; overflow: hidden; }
    .mobile-nav__feature-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.55) contrast(1.05); }
    .mobile-nav__feature > div:last-child { align-self: center; }
    .mobile-nav__feature span { display: block; color: var(--gold-300); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .mobile-nav__feature strong { display: block; margin: 5px 0 10px; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: -.025em; }
    .mobile-nav__feature a { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 700; }

    .mobile-nav__footer {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        align-items: end;
        padding: 25px var(--gutter) max(28px, env(safe-area-inset-bottom));
    }
    .mobile-nav__contact span { display: block; color: rgba(255,255,255,.38); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .mobile-nav__contact a { display: block; margin-top: 5px; color: var(--gold-300); font-size: 16px; font-weight: 700; }
    .mobile-nav__shortcuts { display: flex; align-items: center; gap: 12px; }
    .mobile-nav__shortcuts a,
    .mobile-nav__shortcuts button {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border: 0;
        background: transparent;
        color: rgba(255,255,255,.66);
        padding: 0;
        font-size: 9px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .hero--v3 { min-height: 0; }
    .hero__inner--v3 {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 52px;
        padding-top: 76px;
        padding-bottom: 45px;
    }
    .hero--v3 .hero__content { max-width: 780px; }
    .hero--v3 h1 { font-size: clamp(70px, 13vw, 112px); }
    .hero__media { width: min(100%, 690px); min-height: 530px; justify-self: end; }
    .hero__media-frame { inset: 0 20px 24px 35px; }
    .hero__quick--v3 { position: relative; left: auto; bottom: auto; transform: none; width: min(100% - (var(--gutter) * 2), var(--container)); margin-inline: auto; }
    .hero__scroll-cue { display: none; }

    .visual-story { grid-template-columns: 1fr; gap: 55px; }
    .visual-story__media { width: min(92%, 760px); min-height: 540px; }
    .visual-story__media img { min-height: 540px; }
    .visual-story__content { max-width: 760px; }
}

@media (max-width: 720px) {
    :root { --gutter: 20px; }
    body { font-size: 15px; }
    .nav-wrap__inner { min-height: 70px; }
    .site-header.is-scrolled .primary-nav, .primary-nav { inset-top: 70px; inset: 70px 0 0; }
    .brand { gap: 9px; }
    .brand__mark { width: 38px; height: 38px; box-shadow: inset 0 0 0 3px var(--paper); }
    .brand__mark span { font-size: 9px; }
    .brand__text strong { font-size: 7px; }
    .brand__text small { margin-top: 4px; font-size: 14px; }
    .custom-logo { max-width: 155px; max-height: 44px; }
    .nav-search-button { width: 38px; height: 38px; }
    .menu-toggle { height: 38px; min-width: 74px; padding-inline: 11px; }
    .menu-toggle__label { font-size: 8px; }

    .primary-nav .menu { padding-top: 0; }
    .primary-nav .menu > li::before { top: 22px; }
    .primary-nav .menu > li > a { min-height: 67px; padding-left: 34px; padding-right: 52px; font-size: 20px; }
    .submenu-toggle { top: 11px; width: 43px; height: 43px; }
    .primary-nav .submenu-open > .sub-menu { grid-template-columns: 1fr; gap: 0; padding-left: 34px; }
    .primary-nav .sub-menu a { font-size: 10px; }
    .mobile-nav__header { padding-top: 19px; padding-bottom: 15px; }
    .mobile-nav__feature { grid-template-columns: 96px 1fr; gap: 16px; margin-top: 8px; }
    .mobile-nav__feature-image { min-height: 91px; }
    .mobile-nav__footer { align-items: flex-start; flex-direction: column; gap: 15px; }

    .hero--v3 { padding-top: 0; }
    .hero__inner--v3 { gap: 42px; padding-top: 62px; padding-bottom: 35px; }
    .hero--v3 .hero__kicker { margin-bottom: 25px; font-size: 8px; }
    .hero--v3 .hero__kicker small { display: none; }
    .hero--v3 h1 { font-size: clamp(62px, 20vw, 90px); line-height: .88; letter-spacing: -.078em; }
    .hero--v3 h1 em::after { bottom: -8px; }
    .hero--v3 .hero__lead { margin-top: 31px; font-size: 14px; line-height: 1.68; }
    .hero--v3 .hero__actions { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 29px; }
    .hero--v3 .button { width: 100%; min-height: 53px; }
    .hero-link { width: 100%; justify-content: space-between; }
    .hero__trust { margin-top: 32px; }
    .hero__trust > div { min-width: 0; flex: 1; padding-right: 10px; margin-right: 10px; }
    .hero__trust strong { font-size: 15px; }
    .hero__trust span { font-size: 7px; }
    .hero__media { width: 100%; min-height: 430px; }
    .hero__media-frame { inset: 0 10px 18px 18px; border-radius: 2px 44px 2px 2px; }
    .hero__media-card--top { top: -15px; left: 0; width: 190px; padding: 18px 20px; }
    .hero__media-card--top strong { font-size: 14px; }
    .hero__media-card--seal { width: 90px; right: -4px; bottom: 65px; }
    .hero__media-card--seal span { font-size: 15px; }
    .hero__media-caption { left: 38px; right: 28px; bottom: 38px; grid-template-columns: 75px 1fr; gap: 12px; }
    .hero__media-caption p { font-size: 10px; }
    .hero__quick--v3 { width: 100%; }
    .hero__quick--v3 .hero-quick-card { min-height: 94px; padding: 18px 20px; }
    .hero-quick-card__icon { width: 34px; height: 34px; }

    .searchband { border-radius: 0; box-shadow: none; }
    .searchband__intro h2 { font-size: 31px; }

    .editorial-grid__main h2 { font-size: clamp(40px, 12vw, 55px); }
    .visual-story__media { width: calc(100% - 12px); min-height: 430px; }
    .visual-story__media img { min-height: 430px; }
    .visual-story__media-tag { right: -12px; bottom: 20px; width: 190px; padding: 20px; }
    .visual-story__content h2 { font-size: 43px; }
    .visual-story__facts { grid-template-columns: 1fr; }
    .visual-story__facts > div { min-height: 68px; display: grid; grid-template-columns: 34px 1fr; align-items: center; padding: 12px 0 !important; border-right: 0; border-bottom: 1px solid var(--line); }
    .visual-story__facts > div:last-child { border-bottom: 0; }
    .visual-story__facts strong { margin-top: 0; }

    .route-card { border-radius: 2px 28px 2px 2px; }
    .route-card:hover { transform: none; }

    .news-archive-hero h1 { font-size: clamp(58px, 17vw, 83px); }
    .news-lead h2 { font-size: 35px; }
    .news-index-row h3 { font-size: 25px; }
    .article-editorial-hero h1 { font-size: clamp(40px, 11vw, 58px); letter-spacing: -.06em; }
    .article-editorial-cover__visual { border-radius: 2px 25px 2px 2px; }
    .prose--article blockquote { padding: 34px 25px; }
    .inner-hero__title h1 { font-size: clamp(43px, 12vw, 59px); }
    .inner-hero__title h1::after { margin-top: 18px; }
    .section-nav { border-radius: 2px 18px 2px 2px; }

    .search-overlay__panel { width: calc(100% - 18px); margin-top: 9px; min-height: calc(100svh - 18px); border-radius: 2px 28px 2px 2px; padding: 67px 22px 30px; }
    .search-overlay h2 { font-size: 38px; font-weight: 750; }
}

@media (max-width: 420px) {
    .brand__text strong { display: none; }
    .brand__text small { font-size: 13px; }
    .nav-actions { gap: 5px; }
    .nav-search-button { width: 36px; height: 36px; }
    .menu-toggle { min-width: 68px; height: 36px; }
    .hero--v3 h1 { font-size: clamp(57px, 19vw, 78px); }
    .hero__trust span { letter-spacing: .04em; }
    .hero__media { min-height: 380px; }
    .hero__media-card--top { width: 168px; }
    .mobile-nav__feature { grid-template-columns: 82px 1fr; }
}

@media (hover: none) {
    .button:hover, .route-card:hover, .news-index-row:hover, .hero__quick--v3 .hero-quick-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .hero__aurora, .hero__scroll-cue span { animation: none !important; }
    .image-reveal::after { display: none; }
    .image-reveal img { transform: none; }
}

/* 3.0 finishing passes */
.hero__quick--v3 {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
.hero__quick--v3 .hero-quick-card { color: #fff; }
.hero__quick--v3 .hero-quick-card div span { color: rgba(255,255,255,.46); }
.hero__quick--v3 .hero-quick-card div strong {
    color: #fff;
    font-family: var(--font-main);
    font-weight: 700;
    letter-spacing: -.035em;
}
.hero__quick--v3 .hero-quick-card__number { color: var(--gold-300); font-family: var(--font-main); font-weight: 700; }
.hero__quick--v3 .hero-quick-card__icon { color: var(--gold-300); }
.hero__quick--v3 .hero-quick-card:hover div span { color: rgba(255,255,255,.58); }

.route-card::before,
.link-card::before,
.feature-tile::before,
.person-card::before,
.article-related-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%), rgba(255,255,255,.14), transparent 34%);
    transition: opacity .35s ease;
}
.route-card:hover::before,
.link-card:hover::before,
.feature-tile:hover::before,
.person-card:hover::before,
.article-related-card:hover::before { opacity: 1; }
.route-card > *, .link-card > *, .feature-tile > *, .person-card > *, .article-related-card > * { position: relative; z-index: 1; }
.feature-tile, .person-card, .article-related-card, .link-card { position: relative; overflow: hidden; }

.is-image-unavailable {
    background:
        radial-gradient(circle at 70% 20%, rgba(210,171,97,.20), transparent 30%),
        linear-gradient(135deg, #0a342e, #061f1c);
}
.is-image-unavailable::after {
    content: "LMR";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    color: rgba(234,208,157,.65);
    font-size: clamp(24px,5vw,54px);
    font-weight: 800;
    letter-spacing: .12em;
}

@media (max-width: 720px) {
    .hero__quick--v3 .hero-quick-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.10); }
    .hero__quick--v3 .hero-quick-card:last-child { border-bottom: 0; }
}
