:root{
  --ink:#15171C; --paper:#F4F3EF; --orange:#E8501E; --orange-dark:#C9431A;
  --text2:#2C2F36; --muted:#4A4D55; --line:#DDDAD2; --stage:#E7E5DF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}a:hover{color:#B23A12}
a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
h1,h2,h3{margin:0}
h1,h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400}
p{margin:0}

.wrap{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.wordmark{font-size:21px;letter-spacing:-.01em}
.light{font-weight:300}.bold{font-weight:800}
.pill{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--ink);border-radius:999px;padding:6px 12px}

/* hero */
.hero{display:flex;flex-direction:column;gap:28px;padding-top:28px;padding-bottom:8px}
.hero-text{display:flex;flex-direction:column;gap:16px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{font-size:46px;line-height:1.02;letter-spacing:-.01em}
.lead{font-size:17px;line-height:1.5;color:var(--text2);max-width:520px}
.jump{align-self:flex-start;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:4px}

.book-stage{background:var(--stage);border-radius:16px;height:380px;display:flex;align-items:center;justify-content:center}
.book{position:relative;width:206px;height:292px;transform:rotate(-4deg)}
.ribbon{position:absolute;left:73%;bottom:-10%;width:7%;height:14%;background:var(--orange);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:var(--ink);border-radius:3px 10px 10px 3px;box-shadow:0 18px 30px rgba(21,23,28,.28),inset 6px 0 0 rgba(255,255,255,.06)}

/* signup */
.signup{padding-top:28px}
.signup-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 0;max-width:640px;overflow:hidden}
.signup-intro{display:flex;flex-direction:column;gap:6px;padding:0 4px 4px}
.signup-intro h2{font-size:32px;line-height:1.05}
.signup-intro p{font-size:15px;line-height:1.45;color:var(--text2)}
.brevo{display:block;width:100%;height:980px;border:0}

/* steps */
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:48px}
.steps-wrap{padding-top:48px;padding-bottom:48px;display:flex;flex-direction:column;gap:28px}
.band h2,.books h2{font-size:32px;line-height:1.05}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
.steps li{display:flex;gap:16px}
.num{font-family:'Instrument Serif',Georgia,serif;font-size:40px;line-height:.9;color:var(--orange-dark);width:28px;flex:0 0 auto}
.steps h3{font-size:17px;font-weight:600;margin-bottom:4px}
.steps p{font-size:15px;line-height:1.5;color:var(--text2)}

/* books */
.books{padding-top:44px;padding-bottom:56px;display:flex;flex-direction:column;gap:18px}
.book-cards{display:flex;flex-direction:column;gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px}
.card h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:26px}
.card p{font-size:15px;line-height:1.5;color:var(--text2)}
.card.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.card.dark p{color:#D8D6D0}

/* footer */
.foot{background:var(--ink);color:var(--paper)}
.foot-inner{padding-top:32px;padding-bottom:40px;display:flex;flex-direction:column;gap:20px}
.foot-mark{font-size:20px}
.slogan{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:20px;line-height:1.3;margin-top:4px}
.foot-links{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;color:#D8D6D0}
.foot a{color:var(--paper)}
.muted{font-size:12px;color:#B4B2AC}

/* desktop */
@media (min-width:900px){
  .wrap{padding-left:24px;padding-right:24px}
  .top{padding-top:28px}
  .wordmark{font-size:24px}
  .pill{font-size:13px;padding:8px 14px}
  .hero{flex-direction:row;align-items:center;gap:64px;padding-top:48px;padding-bottom:24px}
  .hero-text{flex:1 1 480px;gap:22px}
  .eyebrow{font-size:14px}
  h1{font-size:76px;line-height:.98;letter-spacing:-.015em}
  .lead{font-size:19px;line-height:1.55}
  .book-stage{flex:1 1 400px;height:560px;border-radius:20px}
  .book{width:330px;height:467px}
  .signup-card{padding:16px 0;margin:0 auto}
  .brevo{height:900px}
  .band{margin-top:72px}
  .steps-wrap{padding-top:72px;padding-bottom:72px;gap:40px}
  .band h2,.books h2{font-size:48px}
  .steps{flex-direction:row;gap:40px}
  .steps li{flex:1 1 0;flex-direction:column;gap:10px}
  .num{font-size:64px;width:auto}
  .steps h3{font-size:19px}
  .steps p{font-size:16px;line-height:1.55}
  .books{padding-top:72px;padding-bottom:88px;gap:28px}
  .book-cards{flex-direction:row;gap:20px}
  .card{flex:1 1 0;padding:32px;border-radius:18px}
  .card h3{font-size:36px}
  .card p{font-size:17px}
  .foot-inner{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-top:40px;padding-bottom:48px}
  .foot-mark{font-size:22px}.slogan{font-size:22px}
  .foot-links{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 32px}
}

/* bedankt page */
.thanks{max-width:720px;min-height:60vh;display:flex;flex-direction:column;gap:18px;padding-top:56px;padding-bottom:80px}
@media (min-width:900px){.thanks{padding-top:96px;gap:24px}}

/* privacy page */
.legal{max-width:720px;padding-top:32px;padding-bottom:72px}
.legal h1{font-size:44px;margin-bottom:8px}
.legal .date{color:var(--muted);font-size:14px;margin-bottom:32px}
.legal h2{font-family:'Archivo',sans-serif;font-weight:700;font-size:18px;margin:28px 0 8px}
.legal p,.legal li{font-size:16px;line-height:1.6;color:var(--text2)}
.legal ul{padding-left:20px;margin:8px 0}
.legal p+p{margin-top:10px}
