/* Self-hosted fonts (no third-party requests: GDPR) */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-500-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-500-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-garamond-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-garamond-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Switzer';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/switzer-400.woff2) format('woff2')}
@font-face{font-family:'Switzer';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/switzer-500.woff2) format('woff2')}
@font-face{font-family:'Switzer';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/switzer-600.woff2) format('woff2')}

:root{
  --night:#0b1430; --night-2:#111d42; --night-3:#1a2856;
  --paper:#f7f2e8; --paper-2:#efe7d6; --ink:#1c1a17; --ink-2:#4a453d; --ink-3:#7a7265;
  --gold:#d4a84b; --gold-2:#f1d48a; --gold-ink:#8a6420;
  --on-night:#ece6d8; --on-night-2:#b9b4c8;
  --line:#ddd2bc; --line-night:rgba(241,212,138,.18);
  --font-display:'Cormorant Garamond','Iowan Old Style',serif;
  --font-body:'Switzer','Helvetica Neue',sans-serif;
  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.85rem + .12vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg:clamp(1.125rem,1.05rem + .4vw,1.3rem);
  --text-xl:clamp(1.75rem,1.4rem + 1.6vw,2.6rem);
  --text-2xl:clamp(2.2rem,1.6rem + 2.8vw,3.6rem);
  --text-hero:clamp(3rem,1.8rem + 5.5vw,6.2rem);
  --wrap:1180px;
  --pad:clamp(1.25rem,4vw,2.5rem);
  --sec:clamp(4rem,9vw,8rem);
  --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:600;line-height:1.1}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.draft-bar{background:var(--gold);color:#2a1d05;font-size:var(--text-xs);font-weight:600;text-align:center;padding:.45rem 1rem;letter-spacing:.02em}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(11,20,48,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-night);color:var(--on-night)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:4.25rem}
.brand{font-family:var(--font-display);font-size:1.45rem;text-decoration:none;letter-spacing:.02em;font-weight:600}
.brand span{font-family:var(--font-body);font-size:.68rem;letter-spacing:.14em;margin-left:.45rem;color:var(--gold);vertical-align:.3em}
.nav{display:flex;gap:2rem;align-items:center;font-size:var(--text-sm)}
.nav a{text-decoration:none;color:var(--on-night-2);transition:color .2s}
.nav a:hover{color:var(--gold-2)}
.nav .nav-cta{color:var(--night);background:var(--gold);padding:.5rem 1rem;border-radius:999px;font-weight:600}
.nav .nav-cta:hover{background:var(--gold-2);color:var(--night)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:12px}
.nav-toggle span{display:block;height:1.5px;background:var(--on-night);margin:6px 0;transition:transform .25s}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:999px;font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s;letter-spacing:.01em}
.btn-gold{background:var(--gold);color:#1d1404}
.btn-gold:hover{background:var(--gold-2)}
.btn-ghost{border:1px solid rgba(241,212,138,.45);color:var(--on-night)}
.btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-2)}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 40%,#22346e 0%,var(--night) 55%,#070d22 100%);color:var(--on-night);padding:clamp(3.5rem,8vw,7rem) 0 clamp(4rem,9vw,7.5rem)}
.stars{position:absolute;inset:0;opacity:.55;background-image:
  radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 68%,#f1d48a 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 44% 14%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 61% 82%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 83% 12%,#f1d48a 50%,transparent 51%),radial-gradient(1px 1px at 92% 58%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 6% 88%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 37% 42%,#f1d48a 50%,transparent 51%),
  radial-gradient(1px 1px at 71% 33%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 52% 52%,#fff 50%,transparent 51%);
  background-size:520px 520px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.eyebrow{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.5rem}
.hero h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:500;line-height:.98;letter-spacing:-.01em;margin-bottom:1.75rem}
.hero h1 em{color:var(--gold-2);font-style:italic}
.lead{font-size:var(--text-lg);line-height:1.6;color:var(--on-night-2);max-width:34em;margin-bottom:2.25rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem}
.hero-book{margin:0;justify-self:center;max-width:380px;width:100%;transform:rotate(2deg)}
.hero-book img{border-radius:3px;box-shadow:0 30px 60px -15px rgba(0,0,0,.7),0 0 80px -10px rgba(212,168,75,.35)}

/* sections */
.section{padding:var(--sec) 0}
.paper{background:var(--paper)}
.night{background:var(--night);color:var(--on-night)}
.section-head{margin-bottom:clamp(2.5rem,5vw,4rem);max-width:46rem}
.kicker{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin-bottom:.9rem}
.night .kicker{color:var(--gold-2)}
.section h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:-.005em}
.sub{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--ink-2);margin:.4rem 0 0}
.block-title{font-size:var(--text-lg);font-weight:600;margin-bottom:1.5rem}

/* book */
.book-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.book-cover-wrap{position:sticky;top:6.5rem}
.book-cover{border-radius:3px;box-shadow:0 25px 50px -20px rgba(11,20,48,.55)}
.book-quote{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2;font-style:italic;color:var(--night-3);margin-bottom:1.75rem}
.book-body>p{color:var(--ink-2);max-width:38em}
.book-meta{display:grid;grid-template-columns:repeat(4,auto);gap:1.25rem 2rem;justify-content:start;margin:2rem 0;padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.book-meta dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:.2rem}
.book-meta dd{margin:0;font-weight:500;font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.buy-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:1rem}
.retailers{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.retailers a{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8;text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:border-color .2s,background .2s}
.retailers a::after{content:"↗";color:var(--gold-ink);font-size:.85em}
.retailers a:hover{border-color:var(--gold);background:#fff}
.ebook-note{font-size:var(--text-xs);color:var(--ink-3)}

.toc{margin:clamp(3rem,6vw,4.5rem) 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.toc summary{cursor:pointer;padding:1.2rem 0;font-weight:600;font-size:var(--text-sm);list-style:none;display:flex;justify-content:space-between}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--gold-ink)}
.toc[open] summary::after{content:"−"}
.toc ol{columns:2;column-gap:3rem;padding:0 0 1.75rem 1.2rem;margin:0;color:var(--ink-2);font-size:var(--text-sm)}
.toc li{break-inside:avoid;padding:.3rem 0}
.toc ul{padding:0 0 1.75rem 1.2rem;margin:0;color:var(--ink-2);font-size:var(--text-sm)}
.toc ul li{padding:.3rem 0}

.edition{display:grid;grid-template-columns:200px 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:clamp(3rem,6vw,4.5rem);padding:clamp(1.5rem,4vw,2.5rem);background:var(--night);color:var(--on-night);border-radius:10px}
.edition img{border-radius:2px;box-shadow:0 15px 35px -10px rgba(0,0,0,.6)}
.edition .kicker{color:var(--gold-2)}
.edition h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}
.edition-sub{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--gold-2);margin:.2rem 0 1rem}
.edition p{color:var(--on-night-2);max-width:40em}
.edition-meta{font-size:var(--text-xs);letter-spacing:.03em}
.retailers-sm{grid-template-columns:repeat(3,minmax(0,200px))}
.edition .retailers a{background:rgba(255,255,255,.04);border-color:var(--line-night);color:var(--on-night)}
.edition .retailers a::after{color:var(--gold-2)}
.edition .retailers a:hover{border-color:var(--gold);background:rgba(255,255,255,.08)}

.text-link{font-weight:600;font-size:var(--text-sm);color:var(--gold-ink);text-underline-offset:4px}

/* excerpt */
.excerpt{position:relative;background:#070d22 url(assets/swirl.webp) left center/180px auto no-repeat;color:var(--on-night);padding:clamp(5rem,11vw,9rem) 0}
.excerpt::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,34,0) 0%,rgba(7,13,34,0) 8%,#070d22 24%)}
.excerpt-inner{position:relative}
.excerpt blockquote{margin:0 0 0 auto;max-width:46rem}
.excerpt p{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.9vw,2.6rem);line-height:1.3;font-weight:500}
.excerpt cite{font-style:normal;font-size:var(--text-sm);color:var(--gold-2);letter-spacing:.06em}

/* about */
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,5rem);align-items:start;margin-bottom:clamp(3.5rem,7vw,5.5rem)}
.portrait{aspect-ratio:4/5;border-radius:10px;background:radial-gradient(circle at 50% 40%,#22346e,var(--night) 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--gold-2);position:relative;overflow:hidden}
.portrait::before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(241,212,138,.35);border-radius:50%}
.monogram{font-family:var(--font-display);font-size:clamp(3rem,6vw,4.5rem);letter-spacing:.08em;position:relative}
.portrait-note{font-size:var(--text-xs);text-align:center;color:var(--on-night-2);letter-spacing:.08em;text-transform:uppercase;position:relative}
.about-text h2{margin-bottom:1.5rem;max-width:18em}
.about-text p{color:var(--ink-2);max-width:40em}

.timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.timeline li,.pubs li{display:grid;grid-template-columns:8.5rem 1fr;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.year{font-size:var(--text-sm);color:var(--gold-ink);font-weight:600;font-variant-numeric:tabular-nums;padding-top:.1rem}
.timeline strong{font-weight:600;display:block;margin-bottom:.3rem;max-width:42em}
.timeline p,.pubs p{margin:0;font-size:var(--text-sm);color:var(--ink-3)}

/* research */
.areas{list-style:none;padding:0;margin:0 0 clamp(3.5rem,7vw,5rem);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-night);border:1px solid var(--line-night);border-radius:10px;overflow:hidden}
.areas li{background:var(--night);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:.7rem}
.areas strong{font-family:var(--font-display);font-size:1.55rem;font-weight:500;line-height:1.15;color:var(--gold-2)}
.areas span{font-size:var(--text-sm);color:var(--on-night-2)}
.experience{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,6vw,5rem)}
.plain-list{list-style:none;padding:0;margin:0}
.plain-list li{padding:.85rem 0;border-bottom:1px solid var(--line-night);font-size:var(--text-sm);color:var(--on-night-2)}
.awards{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.awards li{padding:1.25rem 1.4rem;border:1px solid var(--line-night);border-radius:var(--radius);font-size:var(--text-sm);color:var(--on-night-2)}
.awards .year{display:block;color:var(--gold-2);margin-bottom:.35rem}

/* pubs */
.pubs{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.pubs a,.pub-title{font-weight:600;text-decoration:none;display:inline-block;margin-bottom:.35rem;line-height:1.4}
.pubs a{background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .3s}
.pubs a:hover{background-size:100% 1px}
.pubs a::after{content:" ↗";color:var(--gold-ink);font-weight:400}
.pubs b{font-weight:600;color:var(--ink-2)}
.conf{margin-top:2rem}

/* contact */
.contact{text-align:center;background:radial-gradient(ellipse at 50% 120%,#22346e,var(--night) 65%)}
.contact-inner{max-width:44rem}
.contact h2{margin-bottom:1.25rem}
.contact p{color:var(--on-night-2);margin-bottom:2rem}

.site-footer{background:#070d22;color:var(--on-night-2);font-size:var(--text-xs);padding:2rem 0}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.footer-inner p{margin:0}
.disclaimer{max-width:36rem;text-align:right}

/* responsive */
@media (max-width:960px){
  .areas{grid-template-columns:repeat(2,1fr)}
  .retailers{grid-template-columns:repeat(2,1fr)}
  .book-meta{grid-template-columns:repeat(2,auto)}
}
@media (max-width:800px){
  .nav-toggle{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--night);border-bottom:1px solid var(--line-night);padding:.5rem var(--pad) 1.25rem;display:none}
  .nav.open{display:flex}
  .nav a{padding:.85rem 0;border-bottom:1px solid var(--line-night)}
  .nav .nav-cta{margin-top:1rem;text-align:center;border:0}
  .hero-grid,.book-feature,.about-grid,.experience{grid-template-columns:1fr}
  .hero-book{max-width:240px;order:-1;transform:rotate(1.5deg)}
  .book-cover-wrap{position:static;max-width:260px}
  .edition{grid-template-columns:1fr}
  .edition img{max-width:160px}
  .retailers-sm{grid-template-columns:1fr 1fr}
  .portrait{max-width:320px;aspect-ratio:1}
  .toc ol{columns:1}
  .excerpt{background-size:72px auto;background-position:-14px center}
  .excerpt blockquote{padding-left:2.75rem}
  .excerpt::before{background:linear-gradient(90deg,rgba(7,13,34,0) 0%,rgba(7,13,34,0) 10%,#070d22 22%)}
  .disclaimer{text-align:left}
}
@media (max-width:520px){
  .areas{grid-template-columns:1fr}
  .timeline li,.pubs li{grid-template-columns:1fr;gap:.35rem}
  .retailers,.retailers-sm{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* language switch */
.header-right{display:flex;align-items:center;gap:1.5rem}
.lang-switch{display:inline-flex;border:1px solid rgba(241,212,138,.4);border-radius:999px;padding:2px}
.lang-btn{font:600 .75rem/1 var(--font-body);letter-spacing:.1em;color:var(--on-night-2);background:none;border:0;border-radius:999px;padding:.5rem .7rem;min-width:40px;min-height:32px;cursor:pointer;transition:background .2s,color .2s}
.lang-btn:hover{color:var(--gold-2)}
.lang-btn[aria-pressed="true"]{background:var(--gold-2);color:var(--night)}
.sub-note{font-size:var(--text-sm);color:var(--ink-3);margin:1rem 0 0}
main,.draft-bar,.nav,.site-footer{transition:opacity .25s ease}
@media (max-width:800px){.header-right{gap:.5rem}}
a.lang-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.lang-btn[aria-current="page"]{background:var(--gold-2);color:var(--night)}
.store-region{margin:0 0 1.1rem}
.store-region h4{font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .55rem}
.edition .store-region h4{color:var(--on-night-2)}
.crosslink{display:flex;gap:1.25rem;align-items:center;margin-top:clamp(2.5rem,5vw,3.5rem);padding:1.1rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8}
.crosslink img{width:56px;height:auto;border-radius:2px;box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.crosslink p{margin:0;font-size:var(--text-sm)}
.book-meta dd{white-space:nowrap}
.portrait-photo{margin:0;position:relative}
.portrait-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:10px;box-shadow:0 24px 50px -24px rgba(11,20,48,.55)}
.portrait-photo::after{content:"";position:absolute;inset:12px;border:1px solid rgba(212,168,75,.45);border-radius:6px;pointer-events:none}
@media (max-width:900px){.portrait-photo{max-width:320px}}
/* Legal pages */
.legal-wrap{max-width:46rem}
.legal h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;margin:0 0 .5rem;line-height:1.1}
.legal h2{font-size:var(--text-xl);margin:2.5rem 0 .75rem}
.legal h3{font-size:var(--text-base);font-weight:600;margin:1.5rem 0 .4rem}
.legal p,.legal li{color:var(--ink-2);max-width:68ch}
.legal ul{padding-left:1.2rem}
.legal a:not(.text-link){color:inherit;text-decoration:underline;text-underline-offset:2px}
.legal .eyebrow{color:var(--ink-2)}
.legal-date{font-size:var(--text-sm);color:var(--ink-2)}
.legal-table{overflow-x:auto;margin:1rem 0}
.legal table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
.legal th,.legal td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.legal-back{margin-top:3rem}
.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.legal code{white-space:nowrap}
/* Cookie banner and preferences */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:44rem;margin:0 auto;background:var(--night);color:var(--on-night);border:1px solid var(--line-night);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:1.25rem 1.4rem 1.2rem;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}
.cookie-title{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin:0 2rem .4rem 0;line-height:1.2}
.cookie-text{font-size:var(--text-sm);color:var(--on-night-2);margin:0 0 1rem;line-height:1.55}
.cookie-text a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}
.cookie-btn{font:600 var(--text-sm)/1 var(--font-body);border-radius:999px;padding:.75rem 1.2rem;min-height:44px;cursor:pointer;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}
.cookie-btn-gold{background:var(--gold);color:#1d1404}.cookie-btn-gold:hover{background:var(--gold-2)}
.cookie-btn-line{background:transparent;color:var(--on-night);border-color:var(--on-night-2)}.cookie-btn-line:hover{border-color:var(--gold-2);color:var(--gold-2)}
.cookie-btn-ghost{background:none;color:var(--on-night);text-decoration:underline;text-underline-offset:3px;padding-left:.4rem;padding-right:.4rem;margin-right:auto}
.cookie-x{position:absolute;top:.5rem;right:.6rem;width:44px;height:44px;background:none;border:0;color:var(--on-night);font-size:1.6rem;line-height:1;cursor:pointer;border-radius:50%}
.cookie-x:hover{color:var(--gold-2)}
.cookie-box{position:relative}
.cookie-modal{position:fixed;inset:0;z-index:70;background:rgba(7,13,34,.6);display:flex;align-items:center;justify-content:center;padding:1rem}
.cookie-modal[hidden]{display:none}
.cookie-box{width:100%;max-width:34rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:auto;-webkit-overflow-scrolling:touch;background:var(--night);color:var(--on-night);border:1px solid var(--line-night);border-radius:10px;padding:1.5rem}
.cookie-box h2.cookie-title{font-size:1.6rem;margin-bottom:1rem}
.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line-night)}
.cookie-row-title{font-weight:600;margin:0 0 .25rem}.cookie-row-desc{font-size:var(--text-sm);color:var(--on-night-2);margin:0;line-height:1.5}
.cookie-always{font-size:var(--text-xs);color:var(--gold-2);white-space:nowrap}
.cookie-switch{position:relative;display:inline-block;width:52px;height:30px;flex:none}
.cookie-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.cookie-slider{position:absolute;inset:0;background:#3a4570;border-radius:999px;transition:background .2s}
.cookie-slider::before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}
.cookie-switch input:checked+.cookie-slider{background:var(--gold)}
.cookie-switch input:checked+.cookie-slider::before{-webkit-transform:translateX(22px);transform:translateX(22px)}
.cookie-switch input:focus-visible+.cookie-slider{outline:2px solid var(--gold-2);outline-offset:3px}
.cookie-box .cookie-actions{border-top:1px solid var(--line-night);padding-top:1rem}
.cookie-msg{font-size:var(--text-sm);color:var(--gold-2);margin:.75rem 0 0;min-height:1.2em}
html.cookie-lock{overflow:hidden}
.cookie-manage-btn{font:600 var(--text-sm)/1 var(--font-body);background:var(--night);color:var(--on-night);border:0;border-radius:999px;padding:.85rem 1.4rem;min-height:44px;cursor:pointer}
.cookie-manage-btn:hover{background:var(--night-3)}
.cookie-status{font-size:var(--text-sm);color:var(--ink-2)}
.footer-inner button.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
@media (max-width:560px){.cookie-actions{justify-content:stretch}.cookie-btn{flex:1 1 auto}.cookie-btn-ghost{flex-basis:100%;text-align:left;margin:0}}
@media (prefers-reduced-motion:reduce){.cookie-slider,.cookie-slider::before{transition:none}}
.privacy-strip{background:var(--paper-2);padding:clamp(2rem,5vw,3rem) 0}
.privacy-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 3rem;flex-wrap:wrap}
.privacy-inner h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin:0 0 .4rem}
.privacy-inner p{margin:0;color:var(--ink-2);font-size:var(--text-sm);max-width:44rem}
.privacy-actions{display:flex;gap:.7rem;flex-wrap:wrap}
.btn-line-dark{background:transparent;color:var(--ink);border:1px solid var(--ink-3);cursor:pointer;font-family:var(--font-body)}
.btn-line-dark:hover{border-color:var(--gold-ink);color:var(--gold-ink)}
