.ahf-editorial-page { background:#fff; }
.ahf-editorial { color:var(--ahf-ink); font-family:Poppins,sans-serif; overflow:hidden; }
.ahf-editorial :is(h1,h2) { font-family:Georgia,serif; font-weight:400; letter-spacing:-.025em; line-height:1.1; text-wrap:balance; }
.ahf-editorial :is(h1,h2,h3,p) { margin-top:0; }
.ahf-editorial a { color:inherit; }
.ahf-editorial-eyebrow { color:var(--ahf-ochre-light); font-size:.82rem; font-weight:600; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; margin-bottom:18px; }
.ahf-editorial-hero,.ahf-article-header { padding:clamp(76px,9vw,132px) clamp(20px,4.5vw,72px) clamp(70px,8vw,112px); background:var(--ahf-surface); }
.ahf-editorial-hero h1,.ahf-article-header h1 { font-size:clamp(3.25rem,6.2vw,5.7rem); max-width:16ch; margin-bottom:22px; }
.ahf-editorial-lead { max-width:64ch; color:var(--ahf-muted); font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.65; margin-bottom:0; }
.ahf-editorial-list { padding:clamp(64px,7vw,96px) clamp(20px,4.5vw,72px); }
.ahf-editorial-list-heading { margin-bottom:34px; }
.ahf-editorial-list-heading h2,.ahf-article-related h2 { font-size:clamp(2.5rem,4.2vw,3.75rem); margin-bottom:0; }
.ahf-editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,28px); align-items:stretch; }
.ahf-article-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--ahf-border); border-radius:var(--ahf-radius-card); background:#fff; }
.ahf-article-card-image { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--ahf-surface); }
.ahf-article-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.ahf-article-card-image:hover img { transform:scale(1.025); }
.ahf-article-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:28px; }
.ahf-article-card-body .ahf-editorial-eyebrow { margin-bottom:12px; }
.ahf-article-card h3 { font-family:Poppins,sans-serif; font-size:clamp(1.35rem,1.8vw,1.65rem); font-weight:600; line-height:1.3; margin-bottom:14px; }
.ahf-article-card h3 a { text-decoration:none; }
.ahf-article-card h3 a:hover { color:var(--ahf-ochre-light); }
.ahf-article-card-body > p:not(.ahf-editorial-eyebrow) { color:var(--ahf-muted); line-height:1.65; margin-bottom:24px; }
.ahf-editorial-outline,.ahf-editorial-primary { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:12px 24px; border-radius:999px; font-family:Poppins,sans-serif; font-size:15px; font-weight:600; line-height:1.3; text-align:center; text-decoration:none!important; transition:background-color .2s,border-color .2s,color .2s; }
.ahf-editorial-outline { margin-top:auto; border:1px solid var(--ahf-walnut); color:var(--ahf-walnut)!important; background:transparent; }
.ahf-editorial-outline:hover { border-color:var(--ahf-ochre-light); color:var(--ahf-ochre-light)!important; }
.ahf-editorial-primary { border:1px solid var(--ahf-gold); color:var(--ahf-walnut)!important; background:var(--ahf-gold); }
.ahf-editorial-primary:hover { border-color:var(--ahf-gold-hover); background:var(--ahf-gold-hover); }
.ahf-editorial-cta { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding:clamp(64px,7vw,96px) clamp(20px,4.5vw,72px); background:var(--ahf-dark); color:#fff; }
.ahf-editorial-cta .ahf-editorial-eyebrow { color:var(--ahf-gold); }
.ahf-editorial-cta h2 { max-width:17ch; font-size:clamp(2.5rem,4.2vw,3.75rem); margin:0; }
.ahf-article-header { background:#fff; padding-bottom:clamp(48px,5vw,72px); }
.ahf-editorial-back { display:inline-block; margin-bottom:54px; font-size:15px; font-weight:600; text-decoration:none!important; }
.ahf-editorial-back:hover { color:var(--ahf-ochre-light); }
.ahf-article-header h1 { max-width:20ch; }
.ahf-article-date { color:var(--ahf-muted); font-size:.94rem; margin:0; }
.ahf-article-cover { width:100%; max-height:650px; margin:0; overflow:hidden; background:var(--ahf-surface); }
.ahf-article-cover img { display:block; width:100%; max-height:650px; object-fit:cover; }
.ahf-article-body,.ahf-information-content { width:min(100% - 40px,760px); margin:0 auto; padding:clamp(58px,7vw,96px) 0; font-size:1.06rem; line-height:1.8; }
.ahf-article-body :is(h2,h3),.ahf-information-content :is(h2,h3) { margin:2.2em 0 .7em; line-height:1.2; }
.ahf-article-body h2,.ahf-information-content h2 { font-size:clamp(1.8rem,2.5vw,2.4rem); }
.ahf-article-body h3,.ahf-information-content h3 { font-family:Poppins,sans-serif; font-size:1.3rem; font-weight:600; }
.ahf-article-body p,.ahf-information-content p { margin-bottom:1.35em; }
.ahf-article-body a,.ahf-information-content a { color:var(--ahf-ochre-light); text-underline-offset:3px; }
.ahf-article-body img { max-width:100%; height:auto; border-radius:var(--ahf-radius-card); }
.ahf-article-body ul,.ahf-information-content ul { padding-left:1.4em; margin-bottom:1.6em; }
.ahf-article-related { padding:clamp(58px,7vw,96px) clamp(20px,4.5vw,72px); border-top:1px solid var(--ahf-border); background:var(--ahf-surface); }
.ahf-article-related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.ahf-article-related-links a { display:flex; justify-content:space-between; gap:18px; padding:22px 0; border-top:2px solid var(--ahf-gold); font-weight:600; line-height:1.4; text-decoration:none; }
.ahf-article-related-links a:hover { color:var(--ahf-ochre-light); }
.ahf-information-content { padding-bottom:clamp(80px,9vw,120px); }
.ahf-information-content > :first-child { margin-top:0; }
.ahf-information-content h2 { padding-top:8px; }
@media (max-width:900px) { .ahf-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .ahf-editorial-grid,.ahf-article-related-links { grid-template-columns:1fr; } .ahf-editorial-cta { align-items:flex-start; flex-direction:column; } .ahf-editorial-hero,.ahf-article-header { padding-top:70px; } .ahf-editorial-back { margin-bottom:38px; } .ahf-article-card-image { aspect-ratio:3/2; } }

/* Search, archives and missing-page routes use the same editorial components. */
.ahf-editorial-archive .ahf-editorial-hero h1 { max-width:20ch; }
.ahf-editorial-archive .ahf-editorial-back { margin-bottom:38px; }
.ahf-editorial-search { max-width:690px; margin-top:34px; }
.ahf-editorial-search label { display:block; margin-bottom:10px; font-size:.9rem; font-weight:600; }
.ahf-editorial-search-row { display:flex; gap:12px; }
.ahf-editorial-search input { flex:1; min-width:0; min-height:50px; padding:11px 16px; border:1px solid var(--ahf-border); border-radius:var(--ahf-radius-field); background:#fff; color:var(--ahf-ink); font:inherit; }
.ahf-editorial-search button { min-height:50px; padding:10px 24px; border:1px solid var(--ahf-gold); border-radius:999px; background:var(--ahf-gold); color:var(--ahf-walnut); font:600 15px Poppins,sans-serif; cursor:pointer; }
.ahf-editorial-search button:hover { background:var(--ahf-gold-hover); border-color:var(--ahf-gold-hover); }
.ahf-article-card--text { min-height:310px; }
.ahf-editorial-empty { max-width:650px; padding:32px; border:1px solid var(--ahf-border); border-radius:var(--ahf-radius-card); background:var(--ahf-surface); }
.ahf-editorial-empty p { color:var(--ahf-muted); line-height:1.65; }
.ahf-editorial-archive .navigation.pagination { margin-top:38px; }
.ahf-editorial-archive .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.ahf-editorial-archive .page-numbers { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--ahf-border); border-radius:999px; text-decoration:none; }
.ahf-editorial-archive .page-numbers.current { border-color:var(--ahf-walnut); background:var(--ahf-walnut); color:#fff; }
.ahf-not-found .ahf-editorial-hero { min-height:460px; display:flex; flex-direction:column; justify-content:center; }
.ahf-not-found-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
@media (max-width:680px) { .ahf-editorial-search-row { flex-direction:column; } .ahf-editorial-search button { align-self:flex-start; } .ahf-not-found-actions { align-items:flex-start; flex-direction:column; } }
