:root{
  --lagoon:#0B1E54;--lagoon-2:#1B3477;--mist:#F3F5F8;--stone:#C9CFD8;--ink:#111A33;
  --grove:#2F55E4;--silver:#C3CCD9;--silver-2:#E6EAF0;--muted:#3F4A63;
  --serif:"Source Serif 4", Georgia, serif;--sans:"Figtree", system-ui, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--mist);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--grove)}
:focus-visible{outline:3px solid var(--grove);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.008em;color:var(--ink)}

/* header */
.bhead{background:var(--lagoon);color:#fff}
.bhead .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{font-family:var(--serif);font-weight:600;font-size:1.3rem;color:#fff;text-decoration:none}
.brand small{font-family:var(--sans);font-weight:400;font-size:.72rem;opacity:.75;margin-left:8px}
.bhead nav ul{display:flex;gap:26px;list-style:none;font-size:.95rem}
.bhead nav a{color:#fff;opacity:.85;text-decoration:none}
.bhead nav a:hover,.bhead nav a[aria-current]{opacity:1}
.nav-right{display:flex;align-items:center;gap:18px}
.lang{color:#fff;font-size:.92rem;font-weight:500;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}
.btn{display:inline-block;font:600 .98rem var(--sans);padding:12px 22px;border-radius:999px;text-decoration:none;border:0;cursor:pointer}
.btn-gold{background:var(--grove);color:#fff}
.btn-gold:hover{background:#2446C4}

/* blog index */
.bhero{background:var(--lagoon);color:#fff;padding:56px 0 64px}
.bhero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:14px}
.bhero p{color:#D7DEEA;max-width:60ch;font-size:1.12rem}
.posts{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding:56px 0 88px}
.posts li{background:#fff;border:1px solid var(--stone);border-radius:18px;padding:28px 28px 26px;display:flex;flex-direction:column}
.posts h2{font-size:1.5rem;margin-bottom:10px}
.posts h2 a{color:var(--ink);text-decoration:none}
.posts h2 a:hover{color:var(--grove)}
.posts p{color:var(--muted);font-size:1rem;flex:1}
.posts .more{margin-top:18px;font-weight:600;font-size:.98rem;text-decoration:none}
.meta{color:var(--muted);font-size:.9rem;margin-bottom:10px}

/* article */
.crumbs{font-size:.9rem;color:#D7DEEA;margin-bottom:18px}
.crumbs a{color:#fff}
.ahero{background:var(--lagoon);color:#fff;padding:40px 0 52px}
.ahero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.3rem);max-width:22ch}
.ahero .meta{color:#C9D3E6;margin:18px 0 0}
.author{display:flex;align-items:center;gap:12px;margin-top:22px}
.author img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.author span{color:#E6EAF0;font-size:.95rem;line-height:1.4}
.article{max-width:740px;margin:0 auto;padding:48px 24px 40px}
.keys{background:#fff;border:1px solid var(--stone);border-left:5px solid var(--grove);border-radius:14px;padding:22px 24px;margin-bottom:36px}
.article .keys h2{font-size:1.25rem;margin:0 0 10px}
.keys ul{padding-left:20px}
.keys li{margin:6px 0}
.article>p,.article>ul,.article>ol{margin-bottom:1.1em}
.article h2{font-size:1.8rem;margin:1.6em 0 .55em}
.article ul,.article ol{padding-left:24px}
.article li{margin:.35em 0}
.faq{margin-top:48px}
.faq h2{margin-top:0}
.faq details{border-top:1px solid var(--stone)}
.faq details:last-child{border-bottom:1px solid var(--stone)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-family:var(--serif);font-size:1.2rem;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);color:var(--grove);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 20px;color:var(--muted)}
.sources{margin-top:40px;font-size:.95rem;color:var(--muted)}
.sources h2{font-size:1.15rem;margin-bottom:8px}
.sources ul{padding-left:20px}
.note{margin-top:28px;font-size:.88rem;color:var(--muted)}
.cta{background:var(--lagoon);color:#fff;border-radius:20px;padding:32px 30px;margin:48px 0 8px}
.cta h2{color:#fff;font-size:1.7rem;margin:0 0 8px}
.cta p{color:#D7DEEA;margin-bottom:20px}
.cta .row{display:flex;gap:12px;flex-wrap:wrap}
.cta .alt{background:transparent;border:1.5px solid var(--silver);color:#fff}
.related{border-top:1px solid var(--stone);margin-top:40px;padding-top:28px}
.related h2{font-size:1.3rem;margin-bottom:12px}
.related ul{list-style:none}
.related li{padding:8px 0}
.related a{font-weight:600;text-decoration:none}

footer{background:var(--ink);color:#AEB8C9;font-size:.92rem;padding:40px 0}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:#fff}

@media (max-width:900px){
  .bhead nav,.nav-right .btn,.nav-right .lang{display:none}
  .posts{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  .article{padding:36px 20px 32px}
  .article h2{font-size:1.55rem}
  .posts li{padding:24px 20px}
  .cta{padding:26px 20px}
  .cta .row .btn{flex:1 1 100%;text-align:center}
}
