
:root{--slate:#0e2433;--cyan:#3aa6b8;--paper:#eef3f6;--ink:#12202c}
*{box-sizing:border-box}
body.theme-b{margin:0;font-family:Literata,Georgia,serif;background:var(--paper);color:var(--ink);line-height:1.65}
body.theme-b h1,body.theme-b .display{font-family:Syne,sans-serif;font-weight:700;letter-spacing:-.02em}
.site-header{display:grid;grid-template-columns:1fr auto;align-items:end;padding:1.25rem clamp(1rem,5vw,4rem) .75rem;border-bottom:3px solid var(--slate)}
.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--slate)}
.brand-text{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(1rem,2.5vw,1.35rem);text-transform:uppercase;letter-spacing:.04em}
.site-nav ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0;justify-content:flex-end}
.site-nav a{font-family:Syne,sans-serif;font-weight:600;text-decoration:none;color:var(--slate);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.site-nav .active a{color:var(--cyan)}
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;min-height:70vh;background:var(--slate);color:#fff}
@media(max-width:800px){.hero-split{grid-template-columns:1fr}}
.hero-copy{padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05;margin:0 0 1rem}
.hero-visual{background:center/cover no-repeat;min-height:40vh;transform:translateZ(0);background-attachment:fixed}
@media(max-width:800px){.hero-visual{min-height:45vh;background-attachment:scroll}}
.lede{font-size:1.2rem;max-width:32rem;color:#b8d4de}
main.wrap{max-width:90rem;margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 4rem}
.editorial{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem}
@media(max-width:900px){.editorial{grid-template-columns:1fr}}
.news-rail{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}
.news-rail .news-card{flex:0 0 min(22rem,85vw);scroll-snap-align:start;background:#fff;padding:1.5rem;border-top:4px solid var(--cyan);animation:staggerIn .6s ease both}
.news-rail .news-card:nth-child(1){animation-delay:.05s}
.news-rail .news-card:nth-child(2){animation-delay:.12s}
.news-rail .news-card:nth-child(3){animation-delay:.19s}
.news-rail .news-card:nth-child(4){animation-delay:.26s}
.news-rail .news-card:nth-child(5){animation-delay:.33s}
@keyframes staggerIn{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}
.news-card h3{font-family:Syne,sans-serif;font-size:1rem;margin:0 0 .5rem}
.news-list .news-card{margin-bottom:1rem;border-left:4px solid var(--cyan);padding-left:1.25rem}
.site-footer{background:var(--slate);color:#d0dde4;padding:2.5rem clamp(1rem,4vw,4rem);margin-top:3rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem}
.site-footer h2{font-family:Syne,sans-serif;font-size:.95rem;text-transform:uppercase;color:var(--cyan);letter-spacing:.08em}
.expo-links{display:grid;gap:1rem}
.expo-links a{display:block;font-family:Syne,sans-serif;font-size:1.25rem;color:var(--slate);text-decoration:none;border-bottom:1px solid rgba(14,36,51,.15);padding:.5rem 0}
