:root{
  --ink:#14161B;
  --panel:#1B1E24;
  --hair:#33363E;
  --parchment:#DED5C2;
  --meta:#8B8D93;
  --oxblood:#7A2E22;
  --oxblood-light:#9A4534;
  --ochre:#A6803D;
  --ink-soft:#B9B2A4;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--ink); color:var(--parchment); font-family:'Source Serif 4', Georgia, serif; -webkit-font-smoothing:antialiased; font-size:18px; line-height:1.65;}
a{color:inherit; text-decoration:none;}
a:focus-visible, button:focus-visible{outline:2px solid var(--ochre); outline-offset:3px;}
p{margin:0 0 20px;}
h1,h2,h3,h4{font-family:'Fraunces', serif; color:var(--parchment); margin:0;}
::selection{background:var(--oxblood); color:var(--parchment);}
.rail{font-family:'Source Serif 4', serif; font-size:14px; color:var(--meta); letter-spacing:.01em;}
.navlink{transition:color .15s ease; font-size:15px; color:var(--meta);}
.navlink:hover{color:var(--parchment);}
.btn-fill{display:inline-block; background:var(--oxblood); border:1px solid var(--oxblood); color:var(--parchment); padding:14px 24px; font-size:15px; transition:background .15s ease, transform .15s ease;}
.btn-fill:hover{background:var(--oxblood-light); transform:translateY(-1px);}
.btn-line{display:inline-block; border:1px solid var(--hair); color:var(--meta); padding:12px 22px; font-size:14px; transition:border-color .15s ease, color .15s ease;}
.btn-line:hover{border-color:var(--parchment); color:var(--parchment);}
@keyframes riseIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.rise1{animation:riseIn .7s ease-out .05s both;}
.rise2{animation:riseIn .7s ease-out .2s both;}
.rise3{animation:riseIn .7s ease-out .35s both;}
.rise4{animation:riseIn .7s ease-out .5s both;}
.grid-section{display:grid; grid-template-columns:200px 1fr; column-gap:48px; max-width:1240px; margin:0 auto; padding:96px 40px;}
.grid-section .col-main{max-width:680px;}
.wide{max-width:1240px; margin:0 auto; padding:40px;}
@media (max-width:820px){
  .grid-section{grid-template-columns:1fr; padding:64px 24px;}
  .grid-section .rail{margin-bottom:20px;}
  .wide{padding:24px;}
  h1.hero-line{font-size:36px !important;}
  p.hero-sub{font-size:24px !important;}
}

/* Nav */
.navbar{width:100%; border-bottom:1px solid var(--hair);}
.navbar .inner{max-width:1240px; margin:0 auto; padding:22px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.navbar .brand{font-family:'Fraunces', serif; font-style:italic; font-weight:400; font-size:19px; color:var(--parchment);}
.navbar .links{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}

/* Hero */
.hero-wrap{max-width:1240px; margin:0 auto; padding:110px 40px 90px;}
.hero-inner{max-width:760px;}

/* Manuscript / Read section */
.manuscript{background:var(--panel); border:1px solid var(--hair); padding:56px 44px; max-width:680px;}
.manuscript .chapter-label{text-align:center; font-size:14px; color:var(--ochre); font-style:italic; margin:52px 0 6px;}
.manuscript .chapter-label:first-child{margin-top:0;}
.manuscript .chapter-title{font-family:'Fraunces',serif; font-size:26px; text-align:center; margin-bottom:30px; color:var(--parchment); font-weight:500;}
.manuscript p{margin:0 0 18px; color:var(--parchment); font-size:17px;}
.manuscript p strong{display:block; text-align:center; color:var(--meta); font-weight:400; font-style:italic; margin:24px 0 10px;}
.locked{max-width:680px; margin:36px auto 0; padding:40px 44px; background:var(--panel); border:1px solid var(--hair); text-align:center;}
.locked h3{font-size:24px; margin-bottom:14px; opacity:0.6; font-family:'Fraunces',serif;}
.locked p{color:var(--meta); font-size:16px; max-width:440px; margin:0 auto 22px;}
@media(max-width:640px){ .manuscript, .locked{padding:32px 22px;} }

/* Podcast */
.podcast-ep{background:var(--panel); border:1px solid var(--hair); padding:32px; margin-top:20px;}
.podcast-ep .ep-label{font-size:14px; color:var(--ochre); font-style:italic; margin-bottom:8px;}
.podcast-ep h4{font-size:22px; margin-bottom:10px; font-weight:500;}
.podcast-ep p{color:var(--meta); margin:0 0 20px;}
audio{width:100%; accent-color:var(--ochre);}

/* Program pillars + modules */
.pillar{display:grid; grid-template-columns:48px 1fr; gap:20px; padding:26px 0; border-top:1px solid var(--hair);}
.pillar:last-child{border-bottom:1px solid var(--hair);}
.pillar .num{font-family:'Fraunces',serif; font-size:15px; color:var(--ochre); padding-top:4px;}
.pillar h3{font-size:22px; margin-bottom:8px; font-weight:500;}
.pillar p{margin:0; color:var(--meta); font-size:17px;}
.mod-group{margin-top:40px;}
.mod-group h3{font-size:19px; color:var(--ochre); font-style:italic; font-weight:400; margin-bottom:16px; font-family:'Fraunces',serif;}
.mod{padding:18px 0; border-top:1px solid var(--hair); display:grid; grid-template-columns:120px 1fr; gap:20px;}
.mod:last-child{border-bottom:1px solid var(--hair);}
.mod .tag{font-size:13px; color:var(--meta); letter-spacing:0.02em;}
.mod h4{font-family:'Source Serif 4',serif; font-weight:600; font-size:18px; margin:0 0 6px; color:var(--parchment);}
.mod p{margin:0; color:var(--meta); font-size:16px;}
@media(max-width:600px){ .mod{grid-template-columns:1fr;} }

/* Waitlist */
.waitlist-box{background:var(--panel); border:1px solid var(--hair); padding:40px; margin-top:24px; max-width:680px;}
.waitlist-box form{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px;}
.waitlist-box input[type=email]{flex:1; min-width:220px; padding:14px 16px; border:1px solid var(--hair); background:var(--ink); font-family:'Source Serif 4',serif; font-size:16px; color:var(--parchment);}
.stamp{display:inline-block; border:1px solid var(--ochre); color:var(--ochre); font-family:'Fraunces',serif; font-style:italic; font-size:14px; padding:5px 14px; margin-bottom:16px;}
.note{font-size:15px; color:var(--meta); border-left:2px solid var(--ochre); padding-left:18px; margin-top:16px;}

/* FAQ */
.faq-wrap{max-width:680px;}
.faq details{border-top:1px solid var(--hair); padding:20px 0;}
.faq details:last-child{border-bottom:1px solid var(--hair);}
.faq summary{font-family:'Source Serif 4',serif; font-weight:600; font-size:19px; cursor:pointer; list-style:none; color:var(--parchment);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; float:right; color:var(--ochre);}
.faq details[open] summary::after{content:"–";}
.faq p{color:var(--meta); margin-top:14px; font-size:17px;}

footer{border-top:1px solid var(--hair); padding:48px 0; }
footer .inner{max-width:1240px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;}
footer p{font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--meta); margin:0;}
footer .links{display:flex; gap:22px; flex-wrap:wrap;}
footer a{font-size:14px; color:var(--meta);}

/* ---- Added: language switch, buy rows, editions ---- */
img{max-width:100%; height:auto;}
.lang{display:flex; align-items:center; gap:8px; font-size:13px; letter-spacing:.1em; color:var(--hair);}
.lang a{color:var(--meta); transition:color .15s ease;}
.lang a:hover{color:var(--parchment);}
.lang [aria-current]{color:var(--ochre);}
.turn{font-style:italic; text-align:center; color:var(--meta);}
[id]{scroll-margin-top:16px;}

.buy-block{border-top:1px solid var(--hair); padding-top:28px; margin-top:8px;}
.buy-row{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; padding:18px 0; border-bottom:1px solid var(--hair);}
.buy-row .what{font-size:14px; color:var(--meta); margin:0;}
.buy-row .what strong{display:block; color:var(--parchment); font-weight:600; font-size:17px; margin-bottom:2px;}
.fineprint{font-size:13px; color:var(--meta); margin:16px 0 0;}

.editions{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:24px;}
.edition{display:flex; flex-direction:column; gap:10px; border:1px solid var(--hair); background:var(--ink); padding:18px; transition:border-color .15s ease, transform .15s ease;}
.edition:hover{border-color:var(--ochre); transform:translateY(-2px);}
.edition img{width:100%; aspect-ratio:6.14/9.21; object-fit:cover; display:block; margin-bottom:6px;}
.edition .ed-lang{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ochre);}
.edition .ed-title{font-family:'Fraunces',serif; font-size:18px; line-height:1.3; color:var(--parchment);}
.edition .ed-meta{font-size:13px; color:var(--meta);}
.edition .ed-go{margin-top:auto; padding-top:6px; font-size:14px; color:var(--parchment);}
.edition[aria-current] {border-color:var(--hair); opacity:.85;}
@media (max-width:820px){
  .editions{grid-template-columns:1fr; gap:12px;}
  .edition{display:grid; grid-template-columns:84px 1fr; column-gap:16px; row-gap:4px; align-content:start;}
  .edition img{grid-row:1 / span 5; margin:0;}
  .edition .ed-go{padding-top:4px;}
}

/* Edition pages (fr / nl) */
.ed-hero{max-width:1240px; margin:0 auto; padding:100px 40px 90px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:72px; align-items:center;}
.ed-hero img{width:100%; display:block; box-shadow:0 30px 60px -30px rgba(0,0,0,.7); border:1px solid var(--hair);}
.ed-hero h1{font-weight:400; font-size:54px; line-height:1.1; margin:0 0 14px;}
.ed-hero .sub{font-family:'Fraunces',serif; font-style:italic; font-size:24px; color:var(--ochre); margin:0 0 30px;}
.ed-hero .tagline{font-family:'Fraunces',serif; font-weight:300; font-size:21px; line-height:1.45; color:var(--meta); max-width:540px; margin:0 0 36px;}
@media (max-width:820px){
  .ed-hero{grid-template-columns:1fr; gap:40px; padding:56px 24px 64px;}
  .ed-hero img{max-width:220px;}
  .ed-hero h1{font-size:38px;}
  .ed-hero .sub{font-size:20px;}
  .navbar .inner{padding:18px 24px;}
  footer .inner{padding:0 24px;}
}

/* Author note */
.author-note{margin-top:48px; padding-top:36px; border-top:1px solid var(--hair);}
.author-note .lead{font-family:'Fraunces',serif; font-style:italic; font-size:24px; line-height:1.4; color:var(--parchment); margin:0 0 26px;}
.author-note blockquote{margin:28px 0 30px; padding-left:24px; border-left:2px solid var(--ochre);}
.author-note blockquote p{font-family:'Fraunces',serif; font-style:italic; font-size:21px; line-height:1.5; color:var(--ochre); margin:0;}
.author-note .closing{font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:var(--parchment);}
.author-note .closing:first-of-type{margin-top:8px;}
.author-note .sign{font-family:'Fraunces',serif; font-size:15px; letter-spacing:.12em; text-transform:uppercase; color:var(--meta); margin-top:28px;}
@media (max-width:640px){ .author-note .lead{font-size:21px;} .author-note blockquote p{font-size:19px;} }
