/* Shared masthead geometry for every internal page. */
:root{--page-cover-height:450px;--related-top:calc(var(--header-height,92px) + 14px)}
.page-hero{position:relative;isolation:isolate;display:flex;height:var(--page-cover-height);max-height:none;overflow:hidden;background:#11211e;color:#edf1e9}
.page-hero-visual{position:absolute;inset:0;margin:0}
.page-hero-visual picture{display:block;width:100%;height:100%}
.page-hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%}
.page-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06120ee8 0%,#07140fa8 45%,#08140c28 85%),linear-gradient(0deg,#06110dd1,transparent 75%);pointer-events:none}
.page-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;padding-top:28px;padding-bottom:48px;min-width:0}
.page-hero .breadcrumb,.article-page .page-hero .breadcrumb{margin:0;color:#d0dbcc;font:14px/1.6 var(--mono);gap:12px;flex-wrap:wrap}
.page-hero .breadcrumb a:hover{color:#fff}
.page-hero-copy{margin-top:auto;max-width:930px;padding-top:24px}
.page-hero h1{font:500 clamp(42px,4.8vw,64px)/1.12 var(--heading);letter-spacing:-.02em;max-width:930px;margin:0;text-transform:none;text-wrap:balance;text-shadow:0 3px 26px #06110d88}
.page-hero .intro{font:400 16px/1.75 var(--body);color:#d1dbcf;max-width:720px;margin-top:20px}
.page-hero .eyebrow{font-size:12px;color:#bdcfae;margin-bottom:16px}

/* A distinct, spacious section chooser above the story grid. */
.archive-content{padding-top:36px}
.section-selector{margin-bottom:42px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.selector-label{font:12px/1.5 var(--mono);color:#a4b49d;letter-spacing:.08em;margin-bottom:15px}
.category-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0}
.category-nav .section-option{display:flex;align-items:center;gap:13px;min-height:88px;padding:18px 16px;border:1px solid #53634f;background:#141e17;border-radius:4px;color:#e8ece4;transition:background .2s,border-color .2s,transform .2s}
.section-option>.icon{width:23px;height:23px;color:#9eb893}
.option-copy{display:block;flex:1;min-width:0}
.option-copy strong{display:block;font:500 15px/1.4 var(--body)}
.option-copy small{display:block;font:12px/1.5 var(--mono);color:#aab8a4;margin-top:5px}
.section-option .option-arrow{width:15px;height:15px;color:#9eb893}
.category-nav .section-option:hover{background:#1e2e21;border-color:#a3c792;transform:translateY(-2px);color:#fff}
.category-nav .section-option.is-current{background:#a3c792;border-color:#a3c792;color:#142015}
.section-option.is-current .icon,.section-option.is-current small{color:#30492d}
.search-summary{margin:0 0 36px}

/* Equal-sized cards, with the place text outside the photograph. */
.home-featured .cards-grid,.places-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.cards-grid .story-card{display:flex;flex-direction:column}
.cards-grid .card-visual,.category-shelf .card-visual{aspect-ratio:1.6}
.cards-grid .card-body{display:flex;flex:1;flex-direction:column;padding-top:22px}
.cards-grid .card-body h3,.home-featured .card-body h3,.category-shelf .card-body h3{font-size:28px;line-height:1.25;max-width:100%}
.cards-grid .card-body p{font-size:15px;line-height:1.75;max-width:100%;margin-bottom:22px}
.cards-grid .card-meta{margin-top:auto;padding-top:16px}
.places-section .card-body h3{color:#edf1e9}
.places-section .card-body p{color:#bbc8b8}
.places-section .card-category{color:#b7d3a7}
.places-section .card-meta{color:#a8b99f}
.places-section .section-heading-note p{font-size:14px}
.places-section .section-heading-note .text-link{font-size:14px}
.research-row h3{text-transform:none}
.error-content{padding:40px 0 70px;display:flex;align-items:center;gap:40px}
.error-content .error-code{font:500 90px/1 var(--heading);color:#4b6551}

/* Only related stories stick; the passport scrolls normally. */
.article-page .article-sidebar{align-self:stretch;position:relative;top:auto}
.article-page .passport{position:static}
.article-page .sidebar-related{position:sticky;top:var(--related-top);margin-top:22px;border-top:0;padding-top:0;max-height:calc(100svh - var(--related-top) - 20px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a2b095 transparent}
.article-page .sidebar-related h2{margin-bottom:12px}
.article-page .sidebar-story{padding-block:11px}
.article-page .sidebar-story:last-child{border-bottom:0}
.admin-bar{--related-top:calc(var(--header-height,92px) + 46px)}
@media(max-width:1000px){.cards-grid .card-body h3,.home-featured .card-body h3,.category-shelf .card-body h3{font-size:25px}.home-featured .cards-grid,.places-grid{gap:20px}}
@media(max-width:760px){
 :root{--page-cover-height:420px}
 .page-hero-content,.article-page .page-hero-content{padding-top:25px;padding-bottom:35px}
 .page-hero .breadcrumb,.article-page .page-hero .breadcrumb{font-size:13px;gap:9px}
 .page-hero h1{font-size:clamp(33px,9.5vw,43px);line-height:1.12;text-wrap:pretty}
 .page-hero .intro{font-size:14px;line-height:1.7;margin-top:17px}
 .page-hero-copy{padding-top:18px}
 .page-hero-image{object-position:65% 65%}
 .page-hero-visual:after{background:linear-gradient(90deg,#06120ee0,#07140f92),linear-gradient(0deg,#06110dde,transparent 75%)}
 .section-selector{margin-bottom:32px;padding-bottom:27px}
 .category-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .category-nav .section-option{min-height:86px;padding:14px 12px;gap:9px;transform:none}
 .section-option>.icon{width:19px;height:19px}
 .option-copy strong{font-size:13px}
 .section-option .option-arrow{display:none}
 .home-featured .cards-grid,.places-grid{grid-template-columns:1fr;gap:34px}
 .cards-grid .card-body h3,.home-featured .card-body h3,.category-shelf .card-body h3{font-size:28px}
 .places-section .section-heading-note{align-items:flex-start}
 .places-section .section-heading-note p,.places-section .section-heading-note .text-link{font-size:12px}
 .article-page .article-sidebar{position:static}
 .article-page .sidebar-related{position:static;max-height:none;overflow:visible}
 .error-content{gap:25px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.category-nav .section-option{transition:none;transform:none}}
