:root{
  --bg: #0b0908;
  --bg-2: #14100e;
  --cream: #f2efe9;
  --ink: #17130f;
  --accent: #a63b2c;
  --accent-soft: #c96a54;
  --muted: #8a8578;
  --muted-dark: #6b665c;
  --max: 620px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--cream);
  font-family:'Lora', serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

h1,h2,h3{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  line-height:1.15;
  letter-spacing:0.2px;
}

.eyebrow{
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:2.5px;
  color:var(--accent-soft);
  text-transform:uppercase;
  margin-bottom:14px;
}

.rule{width:44px; height:2px; background:var(--accent); margin:22px 0;}
.rule.center{margin-left:auto; margin-right:auto;}

section{padding:88px 0;}
section.tight{padding:60px 0;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-block;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:15px;
  letter-spacing:0.8px;
  text-transform:uppercase;
  padding:17px 34px;
  border-radius:3px;
  text-decoration:none;
  text-align:center;
  transition:transform .15s ease, opacity .15s ease;
}
.btn-primary{ background:var(--cream); color:var(--ink); }
.btn-primary:active{ transform:scale(0.98); }
.btn-dark{ background:var(--ink); color:var(--cream); }
.btn-dark:active{ transform:scale(0.98); }
.btn-outline{ border:1px solid rgba(242,239,233,0.35); color:var(--cream); }
.btn-block{ display:block; width:100%; }
.btn-wrap{ margin-top:32px; }
.btn-sub{ font-family:'Poppins',sans-serif; font-size:12px; color:var(--muted); margin-top:12px; letter-spacing:0.3px; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  padding-bottom:64px;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,9,8,0.15) 0%, rgba(11,9,8,0.55) 55%, rgba(11,9,8,0.92) 100%);
}
.hero-inner{ position:relative; z-index:2; }
.hero .brandmark{
  font-family:'Poppins',sans-serif; font-weight:600; font-size:12px;
  letter-spacing:3px; color:var(--muted); text-transform:uppercase; margin-bottom:26px;
}
.hero h1{
  font-size:44px;
  text-transform:uppercase;
  margin-bottom:20px;
}
.hero p{ font-size:17px; color:#dcd8d0; max-width:46ch; }
.hero p + p{ margin-top:2px; }

/* ---------- SECTIONS ---------- */
.dark{ background:var(--bg); }
.dark-2{ background:var(--bg-2); }
.cream{ background:var(--cream); color:var(--ink); }
.cream .eyebrow{ color:var(--accent); }

.lines p{ margin-bottom:6px; font-size:17px; }
.lines p.gap{ margin-top:22px; }

.impact{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  font-size:27px;
  line-height:1.35;
  text-transform:uppercase;
}

.scene{
  position:relative;
  background-size:cover;
  background-position:center;
  padding:120px 0;
}
.scene::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(11,9,8,0.42);
}
.scene .wrap{ position:relative; z-index:2; }
.scene.pad-lg{ padding:150px 0; }

/* ---------- FLOW / PHILOSOPHY ---------- */
.flow{ list-style:none; }
.flow li{
  display:flex; align-items:baseline; gap:16px;
  padding:20px 0;
  border-bottom:1px solid rgba(242,239,233,0.1);
  font-family:'Oswald',sans-serif; font-weight:600; font-size:19px; text-transform:uppercase;
  letter-spacing:0.5px;
}
.flow li:last-child{ border-bottom:none; }
.flow .n{ color:var(--accent-soft); font-size:14px; min-width:20px; }

/* ---------- BOOK CARD ---------- */
.book-shot{
  max-width:230px; margin:0 auto 36px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);
}

/* ---------- INSIDE LIST ---------- */
.inside-item{ padding:26px 0; border-bottom:1px solid rgba(20,16,13,0.1); }
.inside-item:last-child{ border-bottom:none; }
.inside-item .k{ font-family:'Poppins',sans-serif; font-weight:600; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.inside-item h3{ font-size:19px; text-transform:none; margin-bottom:8px; color:var(--ink); }
.inside-item p{ font-size:15.5px; color:#3a352f; }
.inside-item p.chlist{ font-size:12.5px; color:#7a756a; margin-top:10px; font-family:'Poppins',sans-serif; line-height:1.8; }

/* ---------- FOR WHO ---------- */
ul.check{ list-style:none; }
ul.check li{ padding:12px 0 12px 30px; position:relative; font-size:16.5px; border-bottom:1px solid rgba(242,239,233,0.08); }
ul.check li::before{ content:"—"; position:absolute; left:0; color:var(--accent-soft); }
.cream ul.check li{ border-bottom:1px solid rgba(20,16,13,0.08); }

/* ---------- OFFER ---------- */
.offer-box{
  border:1px solid rgba(242,239,233,0.18);
  padding:36px 28px;
  text-align:center;
}
.offer-title{ font-family:'Poppins',sans-serif; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:18px; }
.price{ font-family:'Oswald',sans-serif; font-weight:600; font-size:46px; }
.price small{ font-size:16px; font-family:'Poppins',sans-serif; color:var(--muted); }
.offer-list{ list-style:none; margin:26px 0; text-align:left; max-width:320px; margin-left:auto; margin-right:auto; }
.offer-list li{ padding:9px 0; font-size:15px; color:#d6d2ca; }

/* ---------- FAQ ---------- */
details{ border-bottom:1px solid rgba(242,239,233,0.12); padding:20px 0; }
details:last-child{border-bottom:none;}
summary{
  cursor:pointer; list-style:none;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:15.5px;
  display:flex; justify-content:space-between; align-items:center;
}
summary::-webkit-details-marker{ display:none; }
summary::after{ content:"+"; font-size:20px; color:var(--muted); margin-left:12px; }
details[open] summary::after{ content:"–"; }
details p{ margin-top:14px; font-size:15.5px; color:#c9c5bd; max-width:52ch; }

/* ---------- FOOTER ---------- */
footer{ padding:64px 0 48px; text-align:center; }
footer .brand{ font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:1px; font-size:15px; margin-bottom:22px; text-transform:uppercase; }
.social-list{ list-style:none; font-family:'Poppins',sans-serif; font-weight:600; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; }
.social-list li{ padding:9px 0; color:#cfcbc2; }
footer .handle{ margin-top:22px; font-family:'Poppins',sans-serif; font-size:12px; letter-spacing:2px; color:var(--muted); }
footer .fine{ margin-top:34px; font-family:'Poppins',sans-serif; font-size:11px; color:var(--muted-dark); line-height:1.8; }

@media (min-width:640px){
  .hero h1{ font-size:56px; }
  .impact{ font-size:32px; }
}
