
:root{--night:#123b5a;--glacier:#e9f2f6;--pine:#2c7a5f;--ink:#1f2b33}
*{box-sizing:border-box} body{margin:0;font:18px/1.65 "Source Sans 3",system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.15;letter-spacing:-.015em}
a{color:var(--pine)} a:focus-visible,button:focus-visible{outline:3px solid var(--pine);outline-offset:2px}
.top{position:sticky;top:0;background:rgba(255,255,255,.95);border-bottom:1px solid #e3eaee;z-index:5}
.top .in{max-width:70rem;margin:0 auto;padding:.8rem 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1.15rem;color:var(--night);text-decoration:none}
.top nav a{margin-left:1.1rem;color:var(--ink);text-decoration:none;font-weight:600}
.hero{background:linear-gradient(160deg,var(--night),#1e5f7d);color:#fff;padding:5rem 1.2rem 4.5rem}
.hero .in{max-width:70rem;margin:0 auto} .hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:18ch;margin:0 0 1rem}
.hero p{font-size:1.2rem;max-width:40rem;opacity:.92}
.cta{display:inline-block;margin-top:1.4rem;background:#fff;color:var(--night);padding:.8rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none}
section{padding:3.5rem 1.2rem} section:nth-child(even){background:var(--glacier)}
section .in{max-width:44rem;margin:0 auto} section h2{font-size:2rem;margin:0 0 1rem;color:var(--night)}
.recap{max-width:60rem;margin:0 auto} .recap img{width:100%;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(18,59,90,.15)}
details{background:#fff;border:1px solid #d6e3ea;border-radius:12px;padding:.9rem 1.1rem;margin:.6rem 0}
summary{cursor:pointer;font-weight:700}
.author{display:grid;gap:.6rem}
footer{background:var(--night);color:#cfe0ea;padding:2rem 1.2rem;font-size:.95rem} footer .in{max-width:70rem;margin:0 auto} footer a{color:#fff}
@media (prefers-reduced-motion:no-preference){.hero h1{animation:rise .7s ease-out both}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
