:root{
  --bg:#f6f1e7; --bg2:#efe7d6; --ink:#211c15; --muted:#6b604f; --line:#d9ccb3;
  --accent:#7a5c2e; --accent2:#a8823f; --card:#fffdf8;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#16130f; --bg2:#1e1a14; --ink:#efe8db; --muted:#b3a68f; --line:#3a3226;
  --accent:#d6b06a; --accent2:#e7c88a; --card:#211c16;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.075rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:hover{color:var(--accent2)}
.wrap{max-width:1040px;margin-inline:auto;padding-inline:20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:6px;z-index:10}
.skip:focus{left:8px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:.01em}
h2{font-size:clamp(2rem,4vw,2.6rem);margin:0 0 .6em;color:var(--accent)}
section{padding:72px 0}
.band{background:var(--bg2);border-block:1px solid var(--line)}
.intro{color:var(--muted);max-width:46em;margin-top:-.4em}
.prose{max-width:760px}
.prose p{margin:0 0 1.1em}

/* header */
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 1.25rem var(--serif);white-space:nowrap}
.brand .emblem{width:30px;height:30px;color:var(--accent)}
.nav{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.nav a{color:var(--muted);text-decoration:none;font-size:.95rem}
.nav a:hover{color:var(--ink)}
nav{margin-left:auto}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:.92rem;color:var(--ink);background:var(--card)}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:16px;height:16px;color:var(--accent)}
.lang ul{position:absolute;right:0;top:calc(100% + 8px);list-style:none;margin:0;padding:6px;min-width:210px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14)}
.lang li a{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}
.lang li a:hover,.lang li a[aria-current]{background:var(--bg2)}
.lang .code{font-size:.72rem;font-weight:600;color:var(--muted);width:22px}

/* hero */
.hero{padding:96px 0 80px;text-align:center;background:radial-gradient(ellipse at 50% 0%,var(--bg2),var(--bg) 70%);border-bottom:1px solid var(--line)}
.kicker{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0}
.hero h1{font-size:clamp(3.2rem,9vw,6rem);margin:.15em 0 .1em;color:var(--ink)}
.sub{font:500 italic clamp(1.2rem,2.4vw,1.5rem) var(--serif);color:var(--accent);margin:0 0 1.4em}
.lead{max-width:44em;margin:0 auto;font-size:1.15rem}
.rip{margin:2em auto 0;font:500 italic 1.15rem var(--serif);color:var(--muted)}

/* timeline */
.timeline{list-style:none;margin:0;padding:0;position:relative;max-width:820px}
.timeline::before{content:"";position:absolute;left:8.4em;top:6px;bottom:6px;width:1px;background:var(--line)}
.timeline li{display:grid;grid-template-columns:8.4em 1fr;gap:0 28px;padding:10px 0;position:relative}
.timeline li::before{content:"";position:absolute;left:calc(8.4em - 4px);top:19px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.timeline time{font-weight:600;font-size:.9rem;color:var(--accent);text-align:right;padding-right:6px;padding-top:2px}
.timeline p{margin:0}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.card h3{font-size:1.55rem;margin:.1em 0 .3em}
.card .meta{margin:0;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.card p{margin:0;font-size:.98rem}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:28px}
.quote{margin:0;padding:24px 26px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px 14px 14px 4px}
.quote blockquote{margin:0;font:500 italic 1.35rem/1.4 var(--serif)}
.quote blockquote p{margin:0}
.quote figcaption{margin-top:12px;font-size:.85rem;color:var(--muted)}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 0 56px;color:var(--muted);font-size:.92rem}
.foot p{max-width:52em}
.small{font-size:.82rem}

/* root chooser */
.chooser main{padding:12vh 20px 60px;max-width:1000px}
.choose-head{text-align:center;margin-bottom:40px}
.choose-head .emblem{width:64px;height:64px;color:var(--accent)}
.choose-head h1{font-size:clamp(2.6rem,7vw,4rem);margin:.1em 0}
.langs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.langs a{display:flex;flex-direction:column;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink)}
.langs a:hover{border-color:var(--accent)}
.langs strong{font:600 1.45rem var(--serif)}
.langs span{color:var(--muted);font-size:.9rem}
.center{text-align:center}

@media (max-width:820px){
  .nav{display:none}
  .lang{margin-left:auto}
  section{padding:56px 0}
  .hero{padding:72px 0 60px}
  .timeline::before{left:4px}
  .timeline li{grid-template-columns:1fr;padding-left:26px}
  .timeline li::before{left:0}
  .timeline time{text-align:left}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.quote:last-child{grid-column:1/-1;text-align:center;border-left-width:1px;border-radius:14px}
