:root{--ink:#14222e;--muted:#55636e;--bg:#fbf6ee;--card:#fffdf9;--line:#ead9c2;--night:#0f2638;--teal:#1f6f78;--aur:#7ef0c3;--sun:#e9874f;--sand:#f6d9a8;--r:18px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 var(--sans);color:var(--ink);background:var(--bg);background-image:radial-gradient(1200px 500px at 100% -10%,#fde7cc 0,transparent 60%),radial-gradient(900px 500px at -20% 10%,#e3f1ee 0,transparent 55%);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--teal);text-underline-offset:3px}
a:hover{color:var(--sun)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--night);color:#fff;padding:8px 12px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;max-width:1080px;width:100%;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font:600 1.05rem/1 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand-mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(180deg,#143a52 0,#2c6a7a 45%,#e9874f 100%);box-shadow:inset 0 -8px 0 var(--sand),0 2px 6px rgba(20,34,46,.18);position:relative}
.brand-mark:after{content:"";position:absolute;left:4px;right:4px;top:8px;height:3px;border-radius:3px;background:var(--aur);transform:rotate(-8deg)}
.lang{font-size:.9rem;padding:6px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);background:var(--card)}
main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:0 16px 40px}
/* hero */
.hero{position:relative;border-radius:calc(var(--r) + 6px);overflow:hidden;background:var(--night);color:#fff;min-height:440px;display:flex;align-items:flex-end;box-shadow:0 18px 40px -20px rgba(15,38,56,.55)}
.hero-art{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-text{position:relative;padding:28px 22px 30px;width:100%;background:linear-gradient(0deg,rgba(13,30,45,.88) 0,rgba(13,30,45,.62) 55%,transparent 100%)}
.kicker{margin:0 0 8px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--aur);font-weight:600}
h1,h2,h3{font-family:var(--serif);line-height:1.15;font-weight:600}
.hero h1{margin:0 0 10px;font-size:clamp(2.1rem,8vw,3.6rem);letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:#ffd9a8}
.lead{margin:0;max-width:34em;font-size:1.04rem;color:#eef4f6}
.lead strong{color:#fff}
.aurora{animation:drift 14s ease-in-out infinite alternate;transform-origin:center}
@keyframes drift{from{transform:translateX(-10px)}to{transform:translateX(12px)}}
@media (prefers-reduced-motion:reduce){.aurora{animation:none}}
/* links */
.links-wrap{margin:-26px auto 0;position:relative;max-width:620px;padding:0 6px}
.links{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);box-shadow:0 6px 18px -12px rgba(20,34,46,.35);transition:transform .15s ease,box-shadow .15s ease,border-color .15s}
.link:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(20,34,46,.45);border-color:#dcb98c;color:var(--ink)}
.ico{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(160deg,#e5f4f1,#fbe6cc)}
.ico svg{width:22px;height:22px;fill:var(--night)}
.txt{display:flex;flex-direction:column;min-width:0;flex:1}
.txt b{font-size:1.02rem}
.txt small{color:var(--muted);font-size:.88rem}
.arr{color:var(--sun);font-size:1.1rem}
.link.primary{background:linear-gradient(120deg,#0f2638 0,#1f4c62 60%,#2a6670 100%);color:#fff;border-color:transparent}
.link.primary .txt small{color:#cfe3e6}
.link.primary .ico{background:rgba(255,255,255,.12)}
.link.primary .ico svg{fill:var(--aur)}
.link.primary .arr{color:var(--aur)}
.link.primary:hover{color:#fff}
/* themes */
.themes{margin:56px auto 0;max-width:980px}
.themes h2,.about h2{font-size:1.6rem;margin:0 0 16px}
.themes ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.themes li{padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.themes li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--aur),var(--teal))}
.themes li:nth-child(2):before{background:linear-gradient(180deg,var(--sand),var(--sun))}
.themes li:nth-child(3):before{background:linear-gradient(180deg,#a98bf5,var(--sun))}
.themes h3{margin:0 0 6px;font-size:1.2rem}
.themes p{margin:0;color:var(--muted)}
.about{margin:44px auto 0;max-width:980px;padding:22px;border-radius:var(--r);border:1px dashed #d8c09f;background:rgba(255,253,249,.6)}
.about p{margin:0;color:var(--muted)}
/* legal */
.legal article{max-width:760px;margin:12px auto 0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 20px}
.legal h1{font-size:clamp(1.8rem,6vw,2.5rem);margin:0 0 4px}
.legal h2{font-size:1.3rem;margin:30px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.legal h3{font-size:1.05rem;margin:20px 0 4px;font-family:var(--sans)}
.legal p,.legal li{overflow-wrap:anywhere}
.legal ul,.legal ol{padding-left:1.25em}
.legal li{margin:4px 0}
.meta{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.facts{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:16px 0}
.facts dt{font-weight:600;margin-top:10px}
.facts dd{margin:0;color:var(--muted)}
/* footer */
.footer{border-top:1px solid var(--line);padding:22px 16px 30px;text-align:center;color:var(--muted);font-size:.88rem;background:rgba(255,253,249,.7)}
.footer ul{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.footer a{color:var(--ink)}
.footer p{margin:0;overflow-wrap:anywhere}
@media (min-width:760px){
 .topbar{padding:20px 24px}
 main{padding:0 24px 56px}
 .hero{min-height:520px}
 .hero-text{padding:120px 48px 70px;background:linear-gradient(0deg,rgba(13,30,45,.9) 0,rgba(13,30,45,.6) 60%,transparent 100%)}
 .links-wrap{margin-top:-40px}
 .themes ul{grid-template-columns:repeat(3,1fr)}
 .legal article{padding:44px 52px}
 .facts{grid-template-columns:minmax(200px,auto) 1fr}
 .facts dt{margin-top:0}
}
