@font-face { font-family:Montserrat; src:url('/assets/fonts/montserrat-variable.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:Archivo; src:url('/assets/fonts/archivo-variable.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-stretch:100% 125%; font-display:swap; }
:root { --navy:#1f2235; --navy-deep:#151725; --gold:#e3a419; --gold-dark:#7b5200; --red:#ce0000; --ink:#1f2235; --muted:#52596b; --paper:#fff; --soft:#f4f5f7; --soft-blue:#e9edf4; --line:#d8dce5; --white:#fff; --radius:18px; --shadow:0 24px 60px rgb(31 34 53 / 15%); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Montserrat,Avenir,'Segoe UI',sans-serif; line-height:1.68; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
button,input,select,textarea { font:inherit; }
.shell { width:min(1220px,calc(100% - 3rem)); margin-inline:auto; }
.skip-link { position:fixed; z-index:200; top:-5rem; left:1rem; padding:.85rem 1rem; background:var(--gold); color:var(--navy); font-weight:900; }
.skip-link:focus { top:1rem; }
.utility-bar { background:var(--navy-deep); color:#f2f3f7; font-size:.72rem; }
.utility-inner { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.utility-inner p { margin:0; font-weight:700; letter-spacing:.03em; }
.utility-inner nav { display:flex; gap:1.3rem; }
.utility-inner a:hover,.utility-inner a:focus-visible { color:var(--gold); }
.site-header { position:sticky; z-index:50; top:0; background:rgb(255 255 255 / 98%); border-bottom:1px solid var(--line); box-shadow:0 6px 28px rgb(31 34 53 / 7%); }
.header-inner { min-height:74px; display:flex; align-items:center; gap:2rem; }
.brand { display:inline-flex; align-items:center; gap:.8rem; color:var(--navy); flex:none; }
.brand img { width:150px; height:auto; object-fit:contain; }
.brand > span { display:grid; line-height:1.05; }
.brand strong { font:800 1.45rem/1 Georgia,'Times New Roman',serif; }
.brand small { max-width:190px; margin-top:.35rem; font-size:.52rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.mega-nav { align-self:stretch; display:flex; align-items:stretch; margin-left:auto; }
.mega-menu { position:static; }
.mega-menu > summary { height:100%; display:flex; align-items:center; gap:.4rem; padding-inline:.8rem; color:var(--navy); cursor:pointer; list-style:none; font-size:.77rem; font-weight:850; white-space:nowrap; }
.mega-menu > summary::-webkit-details-marker { display:none; }
.mega-menu > summary span { color:var(--gold-dark); font-size:.8rem; }
.mega-menu[open] > summary,.mega-menu > summary:hover { background:var(--soft); }
.mega-panel { position:absolute; top:100%; right:0; left:0; padding:1.3rem 0 1.5rem; background:white; border-block:1px solid var(--line); box-shadow:0 24px 45px rgb(31 34 53 / 14%); }
.mega-inner { display:grid; grid-template-columns:1fr 360px; gap:3rem; }
.mega-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem 2rem; align-content:start; }
.mega-list > p { grid-column:1/-1; margin:0 0 .75rem; color:var(--gold-dark); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.mega-list a { padding:.75rem .4rem; border-bottom:1px solid var(--line); font-size:.86rem; font-weight:750; }
.mega-list a:hover,.mega-list a:focus-visible { color:var(--red); }
.mega-feature { position:relative; min-height:205px; overflow:hidden; border-radius:12px; color:white; }
.mega-feature img { object-fit:cover; }
.mega-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgb(21 23 37 / 92%),rgb(21 23 37 / 8%)); }
.mega-feature > span:last-child { position:absolute; inset:auto 1.2rem 1rem; display:grid; }
.mega-feature small { color:#ffd36c; font-size:.62rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.mega-feature strong { margin-top:.25rem; font:700 1.45rem/1.1 Georgia,serif; }
.mega-feature b { margin-top:.55rem; font-size:.7rem; }
.header-actions { display:flex; align-items:center; gap:.8rem; flex:none; }
.icon-link { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:1.4rem; font-weight:900; }
.mobile-menu { display:none; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.3rem; border:2px solid var(--gold); border-radius:4px; background:var(--gold); color:var(--navy); font-size:.78rem; font-weight:900; letter-spacing:.025em; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); background:#f0b124; border-color:#f0b124; }
.button-small { min-height:43px; padding-inline:1rem; }
.button-outline { background:transparent; border-color:var(--navy); color:var(--navy); }
.button-outline:hover,.button-outline:focus-visible { background:var(--navy); border-color:var(--navy); color:white; }
.button-ghost { background:transparent; border-color:white; color:white; }
.button-ghost:hover,.button-ghost:focus-visible { background:white; border-color:white; color:var(--navy); }
.text-link { font-size:.79rem; font-weight:900; }
.light { color:white; }
.kicker { margin:0 0 .9rem; color:var(--gold-dark); font-size:.69rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.kicker.light { color:#ffd36c; }
.hero { position:relative; min-height:clamp(660px,82vh,900px); display:flex; align-items:flex-end; overflow:hidden; background:var(--navy); color:white; }
.hero-image { object-fit:cover; object-position:center 42%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgb(21 23 37 / 94%) 0%,rgb(31 34 53 / 72%) 47%,rgb(31 34 53 / 8%) 82%),linear-gradient(0deg,rgb(21 23 37 / 62%),transparent 54%); }
.hero-content { position:relative; z-index:2; padding-block:3rem; margin-top:auto; }
.hero h1 { max-width:100%; margin:0; font:800 clamp(2.5rem,6.5vw,6.5rem)/1 Archivo,Arial,sans-serif; letter-spacing:-.045em; }
.hero h1 em { display:inline-block; white-space:nowrap; color:var(--gold); font-size:.66em; font-weight:800; font-style:normal; line-height:1; letter-spacing:-.025em; word-spacing:.06em; }
.hero-copy { max-width:780px; margin:2.2rem 0 0; color:#f4f5f8; font-size:clamp(1.05rem,1.8vw,1.25rem); font-weight:600; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.3rem; }
.hero-caption { position:absolute; z-index:2; right:2.5rem; bottom:1.7rem; color:#f3f4f7; font-size:.64rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.intro-strip { background:var(--gold); color:var(--navy); }
.intro-strip > div { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.intro-strip p { margin:0; font:700 clamp(1.25rem,2.3vw,1.7rem) Georgia,serif; }
.intro-strip div div { display:flex; gap:2rem; font-size:.65rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.section { padding-block:clamp(5.5rem,9vw,8.5rem); }
.section-heading { margin-bottom:2.8rem; }
.split-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:4rem; align-items:end; }
.section-heading h2,.section-title { max-width:800px; margin:0; color:var(--navy); font:750 clamp(2.45rem,5vw,4.7rem)/1 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.split-heading > p { margin:0 0 .45rem; color:var(--muted); font-weight:550; }
.destination-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.destination-card { position:relative; grid-column:span 4; min-height:430px; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); color:white; }
.home-destination-grid .card-1 { grid-column:span 7; min-height:560px; }
.home-destination-grid .card-2 { grid-column:span 5; min-height:560px; }
.destination-card img { object-fit:cover; transition:transform .55s ease; }
.destination-card:hover img { transform:scale(1.045); }
.card-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgb(21 23 37 / 94%),rgb(21 23 37 / 4%) 72%); }
.card-copy { position:absolute; inset:auto 1.6rem 1.5rem; display:grid; }
.card-copy small { color:#ffd36c; font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.card-copy strong { max-width:440px; margin-top:.45rem; font:750 clamp(1.55rem,2.4vw,2.25rem)/1.08 Georgia,serif; }
.card-copy > span { margin-top:1rem; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.center-action { margin-top:2.5rem; text-align:center; }
.origin-section { padding-block:clamp(5rem,9vw,8rem); background:var(--navy); color:white; }
.origin-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(3rem,7vw,6rem); align-items:center; }
.origin-image { position:relative; min-height:610px; overflow:hidden; border-radius:var(--radius); }
.origin-image img { object-fit:cover; }
.origin-copy h2,.planning-copy h2 { margin:0; font:750 clamp(2.8rem,5.6vw,5.2rem)/.96 Georgia,serif; letter-spacing:-.04em; }
.origin-copy > p:not(.kicker),.planning-copy > p:not(.kicker) { color:#eef0f5; font-size:1.05rem; }
.origin-copy .button { margin-top:1rem; }
.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.experience-grid article { min-height:360px; padding:2.4rem; border-right:1px solid var(--line); }
.experience-grid article:last-child { border-right:0; }
.experience-grid article > span { color:var(--gold-dark); font:750 3.8rem/1 Georgia,serif; }
.experience-grid h3 { margin:3rem 0 .7rem; font:750 1.7rem/1.15 Georgia,serif; }
.experience-grid p { color:var(--muted); }
.experience-grid a { color:var(--red); font-size:.75rem; font-weight:900; }
.planning-banner { position:relative; min-height:690px; display:flex; align-items:center; overflow:hidden; color:white; }
.planning-banner > img { object-fit:cover; }
.planning-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgb(21 23 37 / 94%),rgb(31 34 53 / 48%),rgb(31 34 53 / 18%)); }
.planning-copy { position:relative; z-index:2; }
.planning-copy h2 { max-width:700px; }
.planning-copy > p:not(.kicker) { max-width:630px; }
.planning-copy > div { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.event-feature { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:clamp(2rem,6vw,5rem); }
.event-image { position:relative; min-height:480px; overflow:hidden; border-radius:var(--radius); }
.event-image img { object-fit:cover; }
.event-feature h3 { margin:0; font:750 clamp(2.2rem,4vw,3.7rem)/1 Georgia,serif; }
.event-feature p:not(.kicker) { color:var(--muted); }
.event-feature .button { margin-top:1rem; }
.story-section { padding-block:clamp(5.5rem,9vw,8rem); background:var(--navy); color:white; }
.story-section .section-heading h2 { color:white; }
.story-section .split-heading > a { justify-self:end; }
.blog-preview,.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.blog-preview article { border-top:1px solid rgb(255 255 255 / 24%); padding-top:1.2rem; }
.blog-card-image,.blog-grid-image { position:relative; min-height:290px; display:block; overflow:hidden; border-radius:12px; }
.blog-card-image img,.blog-grid-image img { object-fit:cover; transition:transform .45s ease; }
.blog-card-image:hover img,.blog-grid-image:hover img { transform:scale(1.04); }
.blog-preview article > p { margin:1rem 0 .45rem; color:#ffd36c; font-size:.66rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.blog-preview h3 { margin:0 0 1rem; font:750 1.55rem/1.12 Georgia,serif; }
.blog-preview article > a:last-child { color:#ffd36c; font-size:.72rem; font-weight:900; }
.provider-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.provider-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:white; }
.provider-image { position:relative; min-height:270px; }
.provider-image img { object-fit:cover; }
.provider-body { padding:1.5rem; }
.provider-body > p { margin:0; color:var(--gold-dark); font-size:.65rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.provider-body h3 { margin:.45rem 0 .8rem; font:750 1.55rem Georgia,serif; }
.provider-body a { color:var(--red); font-size:.74rem; font-weight:900; }
.responsible { padding-block:clamp(5rem,8vw,7rem); background:var(--soft-blue); }
.responsible-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:6rem; }
.responsible h2 { margin:0; font:750 clamp(2.7rem,5vw,4.6rem)/1 Georgia,serif; }
.principles p { margin:0; padding:1.2rem 0; border-bottom:1px solid #c8ceda; }
.contact-band { padding-block:4rem; background:var(--red); color:white; }
.contact-band > div { display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.contact-band h2 { margin:0; font:750 clamp(2.5rem,5vw,4.5rem)/1 Georgia,serif; }
.contact-band > div > div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem; }
.contact-band > div > div:last-child > a:not(.button) { font-weight:850; }
.contact-band .button { background:white; border-color:white; color:var(--red); }
.page-hero { position:relative; overflow:hidden; padding-block:clamp(6rem,11vw,10rem); background:linear-gradient(135deg,var(--navy-deep),var(--navy)); color:white; }
.page-hero > .shell { position:relative; z-index:2; }
.page-hero > img { object-fit:cover; }
.page-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgb(21 23 37 / 95%),rgb(31 34 53 / 68%),rgb(31 34 53 / 18%)); }
.page-hero h1 { max-width:950px; margin:0; font:750 clamp(3.2rem,7vw,6.5rem)/.94 Georgia,serif; letter-spacing:-.045em; }
.page-hero > .shell > p:last-child { max-width:760px; margin:1.7rem 0 0; color:#eef0f5; font-size:1.08rem; font-weight:550; }
.breadcrumbs { font-size:.7rem; font-weight:800; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.55rem; margin:0; padding:0; list-style:none; }
.breadcrumbs li { display:flex; gap:.55rem; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.destination-hero { position:relative; min-height:700px; display:flex; align-items:end; overflow:hidden; color:white; }
.destination-hero > img { object-fit:cover; }
.destination-hero-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgb(21 23 37 / 94%),rgb(31 34 53 / 8%) 72%); }
.destination-hero-copy { position:relative; z-index:2; padding-block:6rem; }
.destination-hero-copy h1 { max-width:950px; margin:.9rem 0; font:750 clamp(3.5rem,8vw,7rem)/.9 Georgia,serif; letter-spacing:-.05em; }
.destination-hero-copy > p:last-child { max-width:740px; font-size:1.1rem; font-weight:600; }
.destination-layout { display:grid; grid-template-columns:220px 1fr; gap:clamp(3rem,8vw,7rem); padding-block:6rem; }
.toc { position:sticky; top:2rem; height:max-content; display:grid; gap:.2rem; padding:1.2rem; border-left:4px solid var(--gold); background:var(--soft); }
.toc strong { margin-bottom:.5rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.toc a { padding:.38rem 0; color:var(--muted); font-size:.76rem; font-weight:700; }
.destination-content { max-width:800px; }
.destination-content section { padding-bottom:4.5rem; }
.destination-content h2,.article-body h2 { margin:0 0 1.1rem; font:750 clamp(2.2rem,4vw,3.7rem)/1.02 Georgia,serif; }
.destination-content h3 { margin:2rem 0 .7rem; font:750 1.7rem Georgia,serif; }
.lead { color:#3d4254; font-size:1.08rem; }
.highlight-list { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; padding:0; list-style:none; }
.highlight-list li { min-height:88px; display:flex; gap:.7rem; align-items:flex-start; padding:1rem; background:var(--soft); font-weight:750; }
.highlight-list span { color:var(--red); }
.number-list { padding:0; list-style:none; }
.number-list li { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); font-weight:700; }
.number-list span { color:var(--gold-dark); font:750 1.5rem Georgia,serif; }
.info-section { padding:2rem !important; background:var(--soft); }
.facts > div { display:grid; grid-template-columns:165px 1fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.facts dt { color:var(--gold-dark); font-size:.66rem; font-weight:900; text-transform:uppercase; }
.facts dd { margin:0; font-weight:750; }
.caution,.advisory { border-left:5px solid var(--red); background:#fbecec; }
.caution { margin-top:2rem; padding:1.2rem; }
.caution p { margin:.3rem 0 0; }
.related-section { padding-block:5rem; background:var(--soft-blue); }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.related-grid a { display:grid; overflow:hidden; background:white; border-radius:12px; }
.related-grid img { width:100%; height:240px; object-fit:cover; }
.related-grid strong { padding:1rem 1rem 0; font:750 1.3rem Georgia,serif; }
.related-grid span { padding:.25rem 1rem 1rem; color:var(--muted); font-size:.68rem; }
.provider-callout,.inquiry-panel,.submission-callout { margin-top:4rem; padding:2rem; display:grid; grid-template-columns:1fr 1fr; gap:2rem; background:var(--navy); color:white; }
.provider-callout h2,.inquiry-panel h2,.submission-callout h2 { margin:0; font:750 2.2rem Georgia,serif; }
.provider-callout > div:last-child { display:grid; }
.provider-callout > div:last-child a { display:flex; justify-content:space-between; padding:.8rem 0; border-bottom:1px solid rgb(255 255 255 / 22%); font-weight:800; }
.provider-callout span { color:#ffd36c; font-size:.65rem; }
.filter-chips { display:flex; flex-wrap:wrap; gap:.65rem; margin-bottom:2.5rem; }
.filter-chips a,.filter-chips span { padding:.55rem .9rem; border:1px solid var(--line); border-radius:999px; font-size:.7rem; font-weight:850; }
.filter-chips .active { background:var(--navy); color:white; border-color:var(--navy); }
.listing-grid { display:grid; gap:4rem; }
.listing-card { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.listing-card:nth-child(even) .listing-image { order:2; }
.listing-image { position:relative; min-height:440px; overflow:hidden; border-radius:var(--radius); }
.listing-image img { object-fit:cover; }
.listing-card h2 { margin:0; font:750 clamp(2rem,4vw,3.5rem)/1 Georgia,serif; }
.listing-card p:not(.kicker) { color:var(--muted); }
.listing-card .text-link { color:var(--red); }
.soft-section { background:var(--soft); }
.navy-section { padding-block:clamp(5rem,9vw,8rem); background:var(--navy); color:white; }
.navy-section h2 { color:white; }
.guide-grid,.principle-cards,.sector-grid,.project-grid,.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.guide-grid article,.principle-cards article,.sector-grid article,.project-grid article,.resource-grid article { padding:1.7rem; border:1px solid var(--line); background:white; }
.guide-grid article > span,.principle-cards article > span,.sector-grid article > span { color:var(--gold-dark); font:750 2.8rem Georgia,serif; }
.guide-grid h2,.principle-cards h3,.sector-grid h3,.project-grid h2,.resource-grid h2 { margin:1.5rem 0 .6rem; font:750 1.6rem/1.1 Georgia,serif; }
.guide-grid p,.principle-cards p,.sector-grid p,.project-grid p,.resource-grid p { color:var(--muted); }
.checklist-grid,.editorial-grid,.bureau-grid,.due-grid,.investment-intro,.contact-grid,.application-layout,.article-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,7rem); }
.checklist { margin:0; padding:0; list-style:none; }
.checklist li { position:relative; padding:1rem 0 1rem 2rem; border-bottom:1px solid var(--line); font-weight:750; }
.checklist li::before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:900; }
.advisory { padding-block:1rem; }
.advisory .shell { display:flex; gap:1.5rem; align-items:center; }
.advisory p { margin:0; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { padding:1.3rem 0; cursor:pointer; font-weight:850; }
.faq-list p { max-width:780px; color:var(--muted); }
.portrait-image,.due-image { position:relative; min-height:560px; overflow:hidden; border-radius:var(--radius); }
.portrait-image img,.due-image img { object-fit:cover; }
.editorial-grid h2,.bureau-grid h2,.investment-intro h2,.contact-grid h2 { margin:0; font:750 clamp(2.3rem,4vw,3.8rem)/1 Georgia,serif; }
.bureau-grid a { margin-top:1rem; }
.directory-filter { display:grid; grid-template-columns:1fr 260px auto; gap:1rem; align-items:end; margin-bottom:2rem; padding:1.2rem; background:var(--soft); }
label { display:block; margin-bottom:.4rem; font-weight:800; font-size:.76rem; }
input,select,textarea { width:100%; border:1px solid #aeb5c4; border-radius:4px; background:white; color:var(--ink); padding:.8rem .9rem; }
textarea { resize:vertical; }
.directory-note { display:flex; justify-content:space-between; gap:2rem; margin-bottom:1.3rem; color:var(--muted); font-size:.72rem; }
.provider-directory { display:grid; gap:1rem; }
.provider-row { display:grid; grid-template-columns:230px 1fr auto; gap:1.5rem; align-items:center; padding:1rem; border:1px solid var(--line); }
.provider-row-image { position:relative; min-height:180px; }
.provider-row-image img { object-fit:cover; }
.provider-row-placeholder { min-height:180px; display:grid; place-items:center; background:var(--soft-blue); font:750 4rem Georgia,serif; color:var(--gold-dark); }
.provider-row h2 { margin:0; font:750 1.8rem Georgia,serif; }
.provider-meta { color:var(--gold-dark); font-size:.7rem; font-weight:850; text-transform:uppercase; }
.empty-state { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.4rem; padding:2rem; background:var(--soft); }
.empty-state > span { color:var(--red); font-size:2rem; }
.empty-state h2,.empty-state h3 { margin:0; }
.form-card { display:grid; gap:1rem; padding:2rem; background:var(--soft); border:1px solid var(--line); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.consent { display:flex; gap:.7rem; align-items:flex-start; font-weight:600; }
.consent input { width:auto; margin-top:.35rem; }
.consent a { text-decoration:underline; }
.honeypot { position:absolute; left:-9999px; }
.contact-links { display:grid; gap:.7rem; margin-top:2rem; }
.contact-links a { font-weight:850; color:var(--red); }
.article-hero { position:relative; min-height:670px; display:flex; align-items:end; overflow:hidden; color:white; }
.article-hero > img { object-fit:cover; }
.article-hero-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgb(21 23 37 / 95%),rgb(31 34 53 / 15%) 75%); }
.article-hero-copy { position:relative; z-index:2; padding-block:5rem; }
.article-hero h1 { max-width:980px; margin:.8rem 0; font:750 clamp(3.1rem,7vw,6rem)/.93 Georgia,serif; }
.article-meta { display:flex; flex-wrap:wrap; gap:1rem; color:#eef0f5; font-size:.7rem; font-weight:850; }
.article-layout { padding-block:5rem 7rem; grid-template-columns:260px 1fr; }
.article-aside { position:sticky; top:2rem; height:max-content; padding:1.2rem; background:var(--soft); }
.article-body { max-width:760px; }
.article-intro { margin:0 0 3rem; color:#3c4152; font:600 1.25rem/1.6 Georgia,serif; }
.article-body section { margin-top:3.5rem; }
.article-body p { color:#454b5c; }
.article-share { display:grid; gap:.6rem; margin-top:1.5rem; }
.article-share a { color:var(--red); font-size:.74rem; font-weight:850; }
.blog-grid article { border:1px solid var(--line); background:white; }
.blog-grid article > div { padding:1.3rem; }
.blog-grid .kicker { margin-bottom:.45rem; }
.blog-grid h2 { margin:0; font:750 1.7rem/1.12 Georgia,serif; }
.blog-grid p:not(.kicker) { color:var(--muted); }
.blog-grid a:last-child { color:var(--red); font-size:.74rem; font-weight:900; }
.investment-intro { align-items:end; }
.due-grid { align-items:center; }
.due-grid ul { padding-left:1.2rem; }
.inquiry-panel,.submission-callout { align-items:center; }
.inquiry-panel > .button,.submission-callout > .button { justify-self:end; }
.application-layout > aside { position:sticky; top:2rem; height:max-content; }
.step-list { padding:0; list-style:none; }
.step-list li { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.step-list li > span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:50%; background:var(--gold); font-weight:900; }
.step-list p { margin:.2rem 0 0; color:var(--muted); }
.application-form fieldset { display:grid; gap:1rem; margin:0; padding:0 0 2rem; border:0; }
.application-form legend { margin-bottom:1.2rem; font:750 1.5rem Georgia,serif; }
.application-form legend span { color:var(--gold-dark); }
.review-note,.workflow-banner { padding:1rem; border-left:4px solid var(--gold); background:#fff4d6; }
.small-note { color:var(--muted); }
.success-panel { display:flex; gap:1.5rem; margin-bottom:2rem; padding:2rem; background:var(--soft); }
.success-panel > span { color:var(--red); font-size:2rem; }
.form-error { padding:1rem; border-left:4px solid var(--red); background:#fbecec; }
.form-error p { margin:.25rem 0 0; }
.legal-copy { max-width:820px; }
.legal-copy section { padding:1.3rem 0; border-bottom:1px solid var(--line); }
.legal-copy h2 { font:750 1.8rem Georgia,serif; }
.search-shell { max-width:900px; }
.search-form > div { display:grid; grid-template-columns:1fr auto; gap:.7rem; }
.search-results { margin-top:3rem; }
.search-results article { padding:1.5rem 0; border-top:1px solid var(--line); }
.search-results h2 { margin:0; font:750 1.7rem Georgia,serif; }
.dashboard-main { padding-block:4rem 7rem; background:var(--soft); }
.dashboard-top { display:flex; justify-content:space-between; align-items:end; gap:2rem; }
.dashboard-grid { display:grid; grid-template-columns:1fr 300px; gap:1.5rem; }
.dashboard-grid > * { padding:1.5rem; background:white; border:1px solid var(--line); }
.admin-narrow { max-width:760px; }
.admin-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0 4rem; }
.admin-stats article { display:grid; padding:1.4rem; border-left:5px solid var(--gold); background:white; box-shadow:0 10px 30px rgb(31 34 53 / 8%); }
.admin-stats strong { color:var(--navy); font:750 2.8rem/1 Georgia,serif; }
.admin-stats span { margin-top:.45rem; color:var(--muted); font-size:.72rem; font-weight:850; text-transform:uppercase; }
.admin-section { margin-top:4rem; }
.admin-record { margin-bottom:1rem; padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:white; }
.admin-record-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.admin-record-head h3 { margin:.25rem 0; font:750 1.7rem Georgia,serif; }
.admin-record-head a { color:var(--red); font-size:.75rem; font-weight:800; }
.status-badge { padding:.35rem .65rem; border-radius:999px; background:var(--soft-blue); color:var(--navy); font-size:.65rem; font-weight:900; text-transform:uppercase; }
.admin-review { display:grid; grid-template-columns:180px 1fr auto; gap:1rem; align-items:end; margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.admin-review label { margin:0; }
code { padding:.12rem .3rem; border-radius:3px; background:var(--soft-blue); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.88em; }
.site-footer { background:var(--navy-deep); color:#e9eaf0; }
.footer-top { display:grid; grid-template-columns:1fr auto; gap:4rem; align-items:end; padding-block:5rem 3rem; border-bottom:1px solid rgb(255 255 255 / 16%); }
.footer-brand { color:white; }
.footer-brand img { width:60px; height:60px; }
.footer-top > div:first-child > p { max-width:560px; color:#cfd2dc; }
.footer-contact { display:flex; flex-wrap:wrap; gap:1.3rem; margin-top:1.5rem; }
.footer-contact a { color:#ffd36c; font-size:.75rem; font-weight:850; }
.footer-cta { text-align:right; }
.footer-cta h2 { margin:0 0 1.2rem; font:750 3.5rem Georgia,serif; }
.footer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; padding-block:3.5rem; }
.footer-grid h2 { color:#ffd36c; font-size:.69rem; letter-spacing:.13em; text-transform:uppercase; }
.footer-grid a { display:block; padding:.35rem 0; color:#d8dae2; font-size:.76rem; }
.footer-grid a:hover { color:white; }
.footer-bottom { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid rgb(255 255 255 / 16%); color:#b9bdc9; font-size:.65rem; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:1rem; }
.not-found { min-height:650px; display:flex; align-items:center; background:var(--navy); color:white; }
.not-found h1 { margin:0; font:750 clamp(4rem,9vw,7rem)/.9 Georgia,serif; }
.not-found > div > div { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; } }

@media (max-width:1100px) {
  .mega-nav { display:none; } .mobile-menu { display:block; margin-left:auto; position:relative; } .mobile-menu summary { cursor:pointer; list-style:none; font-size:.75rem; font-weight:900; text-transform:uppercase; } .mobile-menu summary::-webkit-details-marker { display:none; } .mobile-menu nav { position:absolute; z-index:80; top:2.5rem; right:0; width:min(440px,calc(100vw - 2rem)); max-height:72vh; overflow:auto; padding:1rem; background:white; border:1px solid var(--line); box-shadow:var(--shadow); } .mobile-menu nav > div { display:grid; margin-bottom:1rem; } .mobile-menu nav strong { padding:.45rem; color:var(--gold-dark); font-size:.65rem; text-transform:uppercase; } .mobile-menu nav a { padding:.6rem .45rem; border-bottom:1px solid var(--line); font-size:.78rem; font-weight:750; }
  .home-destination-grid .destination-card { grid-column:span 6; min-height:430px; } .destination-card { grid-column:span 6; }
  .origin-grid,.listing-card,.event-feature,.editorial-grid,.bureau-grid,.due-grid,.investment-intro { grid-template-columns:1fr; } .listing-card:nth-child(even) .listing-image { order:0; }
  .origin-image,.portrait-image,.due-image { min-height:500px; }
  .blog-preview,.blog-grid,.provider-preview,.guide-grid,.principle-cards,.sector-grid,.project-grid,.resource-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:760px) {
  .shell { width:min(100% - 1.35rem,1220px); }
  .utility-inner { justify-content:center; text-align:center; } .utility-inner nav { display:none; }
  .header-inner { min-height:76px; gap:1rem; } .brand img { width:42px; height:42px; } .brand strong { font-size:1.2rem; } .brand small { max-width:155px; font-size:.44rem; } .header-actions { display:none; }
  .hero { min-height:720px; } .hero-content { padding-block:2rem; } .hero h1 { font-size:clamp(4rem,19vw,6.3rem); } .hero-caption { right:1rem; }
  .intro-strip > div { align-items:flex-start; flex-direction:column; padding-block:1.4rem; } .intro-strip div div { flex-wrap:wrap; gap:.7rem 1.2rem; }
  .split-heading,.responsible-grid,.contact-band > div,.checklist-grid,.contact-grid,.application-layout,.article-layout { grid-template-columns:1fr; gap:1.5rem; }
  .destination-grid,.home-destination-grid { grid-template-columns:1fr; } .destination-card,.home-destination-grid .destination-card { grid-column:auto; min-height:430px; }
  .origin-image { min-height:460px; } .origin-copy h2,.planning-copy h2 { font-size:3rem; }
  .experience-grid,.blog-preview,.blog-grid,.provider-preview,.guide-grid,.principle-cards,.sector-grid,.project-grid,.resource-grid { grid-template-columns:1fr; }
  .experience-grid article { border-right:0; border-bottom:1px solid var(--line); }
  .planning-banner { min-height:760px; }
  .event-feature { grid-template-columns:1fr; } .event-image { min-height:380px; }
  .story-section .split-heading > a { justify-self:start; }
  .contact-band > div { display:grid; } .contact-band > div > div:last-child { align-items:flex-start; flex-direction:column; }
  .destination-hero { min-height:720px; } .destination-layout { grid-template-columns:1fr; gap:2rem; padding-block:3rem; } .toc,.article-aside,.application-layout > aside { position:static; } .highlight-list,.field-grid { grid-template-columns:1fr; } .facts > div { grid-template-columns:1fr; gap:.2rem; } .info-section { padding:1.3rem !important; }
  .related-grid { grid-template-columns:1fr; } .provider-callout,.inquiry-panel,.submission-callout { grid-template-columns:1fr; } .inquiry-panel > .button,.submission-callout > .button { justify-self:start; }
  .listing-card { grid-template-columns:1fr; gap:1.5rem; } .listing-image { min-height:360px; }
  .directory-filter { grid-template-columns:1fr; } .directory-note { flex-direction:column; gap:.2rem; } .provider-row { grid-template-columns:1fr; } .provider-row-image { min-height:240px; }
  .advisory .shell { align-items:flex-start; flex-direction:column; gap:.3rem; }
  .footer-top { grid-template-columns:1fr; gap:2rem; } .footer-cta { text-align:left; } .footer-grid { grid-template-columns:1fr 1fr; } .footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; padding-block:1.2rem; }
  .article-hero { min-height:720px; } .article-layout { display:grid; }
  .search-form > div { grid-template-columns:1fr; }
  .admin-stats,.admin-review { grid-template-columns:1fr; }
  .admin-record-head { flex-direction:column; }
}

@media (max-width:480px) { .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-contact { flex-direction:column; gap:.5rem; } }

/* Visit Afar 2026 adjustment layer */
h1,h2,h3,h4,h5,h6,.brand strong { font-family:Archivo,Arial,sans-serif !important; }
p,li,dd,dt,a,button,input,select,textarea,summary,label { font-family:Montserrat,Avenir,'Segoe UI',sans-serif; }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.mega-menu > summary { padding-inline:1rem; font-size:.92rem; font-weight:750; }
.mega-inner { grid-template-columns:minmax(0,1fr) 470px; gap:2rem; }
.mega-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem 1rem; }
.mega-list a { display:grid; align-content:start; gap:.18rem; padding:.7rem .8rem; border:0; border-radius:10px; }
.mega-list a:hover,.mega-list a:focus-visible { background:#fff8e6; color:var(--navy); }
.mega-list a strong { font-size:.84rem; }
.mega-list a span { color:var(--muted); font-size:.67rem; font-weight:500; line-height:1.45; }
.mega-features { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.mega-feature { min-height:230px; }
.mega-feature strong { font:750 1.05rem/1.15 Archivo,Arial,sans-serif; }
.mega-feature > span:last-child { inset:auto .9rem .85rem; }
.hero { display:flex; align-items:flex-end; height:clamp(580px,calc(100svh - 112px),860px); min-height:0; max-height:none; }
.hero-video,.hero-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }
.hero-video { z-index:1; overflow:hidden; opacity:0; animation:video-reveal .8s ease 1s forwards; }
.hero-video iframe { top:50%; left:50%; width:max(100%,177.78vh); height:max(100%,56.25vw); transform:translate(-50%,-50%); }
.hero-shade,.hero-content,.hero-caption { z-index:2; }
@keyframes video-reveal { to { opacity:1; } }
.section-heading h2,.section-title,.page-hero h1,.destination-hero-copy h1,.article-hero h1 { font-weight:780; letter-spacing:-.045em; }
.split-heading > p { color:var(--ink); font-weight:400; line-height:1.75; }
.breadcrumbs { font-weight:400; }
.breadcrumbs a { text-decoration:none; }
.home-destination-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,390px); }
.home-destination-grid .destination-card,.home-destination-grid .card-1,.home-destination-grid .card-2 { grid-column:auto; min-height:0; }
.destination-card { content-visibility:auto; contain-intrinsic-size:390px; }
.directory-subtitle { margin:0 0 1.2rem; font:750 1.25rem/1.2 Archivo,Arial,sans-serif; }
.directory-subtitle-spaced { margin-top:3.5rem; }
.operator-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.operator-card { display:grid; grid-template-columns:58px 1fr; gap:1rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--soft); }
.operator-mark { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:var(--gold); font:800 1.5rem Archivo,Arial,sans-serif; }
.operator-card p { margin:0; color:var(--gold-dark); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.operator-card h3 { margin:.35rem 0; font-size:1.25rem; line-height:1.15; }
.operator-card span { display:block; color:var(--muted); font-size:.78rem; }
.operator-card a { display:inline-block; margin-top:.75rem; color:var(--red); font-size:.72rem; font-weight:800; }
.contact-band { background:var(--gold); color:var(--navy); }
.contact-band .kicker { color:var(--navy); }
.contact-band .button-dark { background:var(--navy); border-color:var(--navy); color:white; }
.contact-band .button-dark:hover,.contact-band .button-dark:focus-visible { background:var(--navy-deep); border-color:var(--navy-deep); }
.topic-layout { display:grid; grid-template-columns:230px minmax(0,800px); gap:clamp(3rem,8vw,7rem); }
.topic-content section { margin-bottom:4.5rem; scroll-margin-top:130px; }
.topic-content h2,.itinerary-detail h2 { margin:0 0 1.3rem; font-size:clamp(2rem,4vw,3.65rem); line-height:1.02; }
.topic-content .lead { font-size:1.02rem; font-weight:400; line-height:1.85; }
.topic-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.topic-gallery figure { margin:0; }
.topic-gallery img { width:100%; height:420px; object-fit:cover; border-radius:var(--radius); }
.inline-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.itinerary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 1.4rem; }
.itinerary-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:white; }
.itinerary-image { position:relative; display:block; min-height:360px; overflow:hidden; }
.itinerary-image > span { position:absolute; right:1rem; bottom:1rem; z-index:2; padding:.45rem .7rem; border-radius:999px; background:var(--gold); color:var(--navy); font-size:.7rem; font-weight:850; }
.itinerary-card > div { padding:1.6rem; }
.itinerary-card h2 { margin:0; font-size:1.75rem; line-height:1.1; }
.itinerary-card p:not(.kicker) { color:var(--muted); }
.itinerary-card .text-link { color:var(--red); }
.itinerary-detail { display:grid; grid-template-columns:260px minmax(0,760px); gap:clamp(3rem,8vw,7rem); }
.itinerary-detail > aside { position:sticky; top:130px; align-self:start; padding:1.4rem; border-left:5px solid var(--gold); background:var(--soft); }
.itinerary-detail > aside .button { margin-top:1rem; }
.route-days { margin:2rem 0 0; padding:0; list-style:none; counter-reset:days; }
.route-days li { display:grid; grid-template-columns:90px 1fr; gap:1.2rem; padding:1.25rem 0; border-top:1px solid var(--line); }
.route-days li span { color:var(--gold-dark); font-size:.72rem; font-weight:850; text-transform:uppercase; }
.route-days li p { margin:0; }
.checklist-light li { border-color:rgb(255 255 255 / 20%); }
.directory-filter { grid-template-columns:minmax(230px,1fr) repeat(3,180px) auto; }
.provider-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
.provider-row { grid-template-columns:140px 1fr; align-items:start; gap:1.2rem; border-radius:12px; }
.provider-row > .button { grid-column:1/-1; justify-self:start; }
.provider-row-image,.provider-row-placeholder { min-height:150px; border-radius:8px; overflow:hidden; }
.provider-copy > p:not(.provider-meta):not(.price-note) { color:var(--muted); }
.amenity-list { display:flex; flex-wrap:wrap; gap:.45rem .8rem; padding:0; list-style:none; }
.amenity-list li { font-size:.68rem; font-weight:700; }
.amenity-list span { color:var(--gold-dark); margin-right:.3rem; }
.price-note { font-size:.72rem; }
.provider-facts { display:grid; gap:.45rem; margin:1rem 0 0; }
.provider-facts > div { display:grid; grid-template-columns:110px 1fr; gap:.6rem; }
.provider-facts dt { color:var(--gold-dark); font-size:.62rem; font-weight:850; text-transform:uppercase; }
.provider-facts dd { margin:0; font-size:.72rem; font-weight:650; }
.directory-disclaimer { max-width:850px; margin:4rem auto 0; padding:2rem; border-left:5px solid var(--gold); background:var(--soft); }
.directory-disclaimer h2 { margin:0 0 .7rem; font-size:1.5rem; }
.directory-disclaimer p { margin:0; color:var(--muted); }
.download-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.download-grid article { padding:1.7rem; border:1px solid var(--line); border-radius:12px; }
.download-icon { width:46px; height:46px; display:grid; place-items:center; margin-bottom:2rem; border-radius:50%; background:var(--gold); color:var(--navy); font-size:1.4rem; font-weight:900; }
.download-grid h2 { margin:0; font-size:1.5rem; line-height:1.15; }
.download-grid p:not(.kicker) { color:var(--muted); }
.footer-brand img { width:min(300px,100%); height:auto; }
.footer-grid a { font-size:.9rem; }
.footer-grid h2 { font-size:.78rem; }

@media (max-width:1100px) {
  .brand img { width:145px; }
  .home-destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,380px); }
  .operator-preview,.download-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-filter { grid-template-columns:1fr 1fr; }
  .directory-filter .button { justify-self:start; }
}

@media (max-width:760px) {
  .header-inner { min-height:66px; }
  .brand img { width:130px; height:auto; }
}

@media (max-width:1100px) {
  .mobile-menu { position:static; }
  .mobile-menu > summary { width:48px; height:48px; display:grid; align-content:center; gap:5px; padding:11px; border:1px solid var(--line); border-radius:50%; }
  .mobile-menu > summary > span { height:3px; display:block; border-radius:3px; background:var(--gold-dark); }
  .mobile-menu nav { top:100%; right:0; left:0; width:100%; max-height:calc(100svh - 115px); padding:1rem; background:var(--navy); color:white; border:0; }
  .mobile-menu nav details { border-bottom:1px solid rgb(255 255 255 / 16%); }
  .mobile-menu nav details > summary { padding:1rem .6rem; color:white; font-size:1.05rem; text-transform:none; }
  .mobile-menu nav details > summary::after { content:'+'; float:right; color:var(--gold); }
  .mobile-menu nav details[open] > summary::after { content:'–'; }
  .mobile-menu nav details > div { padding:0 .6rem 1rem; background:var(--navy); }
  .mobile-menu nav a { display:grid; gap:.15rem; padding:.75rem .5rem; border:0; color:white; font-size:.9rem; }
  .mobile-menu nav a strong { color:inherit; }
  .mobile-menu nav a:hover,.mobile-menu nav a:focus-visible { color:var(--gold); }
  .mobile-menu nav a span { display:none; }
}
/* Mobile dropdown: larger text and tighter spacing */
@media (max-width: 1100px) {
  .mobile-menu nav details > div {
    padding: 0 .6rem .5rem;
  }

  .mobile-menu nav details > div > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: .35rem .5rem;
    gap: 0;
    font-size: 1rem;
    line-height: 1.3;
  }

  .mobile-menu nav details > div > a strong {
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    font-weight: 750;
  }
}

@media (max-width:760px) {
  .hero { height:calc(100svh - 104px); max-height:none; min-height:560px; }
  .hero-video { display:none; }
  .hero h1 { font-size:clamp(3rem,13vw,5.8rem); }
  .home-destination-grid { grid-template-columns:1fr; grid-template-rows:none; }
  .home-destination-grid .destination-card { min-height:410px; }
  .operator-preview,.download-grid,.topic-gallery,.itinerary-grid,.provider-directory { grid-template-columns:1fr; }
  .topic-layout,.itinerary-detail { grid-template-columns:1fr; gap:2rem; }
  .itinerary-detail > aside { position:static; }
  .topic-gallery img { height:380px; }
  .directory-filter { grid-template-columns:1fr; }
  .provider-row { grid-template-columns:1fr; }
  .provider-row-image,.provider-row-placeholder { min-height:220px; }
  .provider-row-image.provider-logo { min-height:160px; }
  .site-footer { text-align:left; }
  .footer-top,.footer-bottom { align-items:flex-start; text-align:left; }
  .footer-top > div,.footer-cta { text-align:left; }
  .footer-contact,.footer-bottom nav { justify-content:flex-start; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); text-align:left; gap:1.2rem; }
  .footer-grid a { padding:.5rem 0; font-size:1rem; }
  .footer-grid h2 { margin-top:1.4rem; font-size:.86rem; }
  .contact-band > div > div:last-child { align-items:center; }
}

@media (prefers-reduced-motion:reduce) { .hero-video { display:none; } }

/* Regional guides and supplied provider branding. */
.editorial-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.editorial-gallery figure { margin:0; min-width:0; }
.editorial-gallery img { width:100%; height:280px; object-fit:cover; border-radius:var(--radius); }
.editorial-gallery figcaption { margin-top:.6rem; color:var(--muted); font-size:.75rem; line-height:1.6; }
.editorial-chapter { margin-top:2.5rem; }
.editorial-chapter h3 { font-size:1.65rem; line-height:1.2; }
.operator-logo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; }
.operator-logo-grid a { display:flex; flex-direction:column; gap:.8rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius); text-align:center; font-size:.75rem; font-weight:700; }
.operator-logo-grid img { width:100%; height:95px; object-fit:contain; }
.operator-logo-grid a:has(img[src*="absolute-ethiopia"]),.provider-logo:has(img[src*="absolute-ethiopia"]) { background:var(--navy); color:white; }
.provider-logo .cover-image { object-fit:contain; padding:.75rem; }
.footer-brand img { width:min(280px,100%); height:auto; }
.topic-content,.destination-content,.provider-copy { min-width:0; }
.topic-content h2 { overflow-wrap:break-word; }
@media (max-width:1100px) { .operator-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
  .editorial-gallery { grid-template-columns:1fr; }
  .operator-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-copy { max-width:38rem; font-size:.95rem; }
  .hero h1 em { font-size:.58em; }
  .footer-brand img { width:230px; }
}
/* Samara University developer credit */
.footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding-block: 1rem;
}

.footer-bottom > p {
  margin: 0;
}

.footer-bottom > nav {
  justify-content: flex-end;
}

.footer-developer-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: .5rem;
  min-height: 44px;
  max-width: 100%;
  color: #e9eaf0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.footer-developer-credit img {
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  object-fit: contain;
  border-radius: 50%;
}

.footer-developer-credit:hover {
  color: #ffd36c;
}

.footer-developer-credit:hover span {
  text-decoration: underline;
}

.footer-developer-credit:focus-visible {
  outline: 3px solid #e3a419;
  outline-offset: 4px;
}

@media (max-width: 1100px) {
  .footer-bottom {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: .75rem;
    text-align: center;
  }

  .footer-bottom > nav {
    justify-content: center;
  }
}
