
:root{
  --black:#0c0c0d;
  --black-soft:#171719;
  --gold:#d3a72f;
  --gold-light:#f1d77f;
  --cream:#f7f3e8;
  --white:#ffffff;
  --text:#202024;
  --muted:#ece8df;
  --line:rgba(255,255,255,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(20px,5vw,72px);
  background:rgba(12,12,13,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  color:#fff;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.02em}
.brand-mark{
  width:38px;height:38px;border:1px solid var(--gold);
  color:var(--gold-light);display:grid;place-items:center;border-radius:50%;
  font-family:"Playfair Display",serif;font-size:14px
}
.nav{display:flex;gap:28px;font-size:14px}
.nav a:hover{color:var(--gold-light)}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}

.hero{
  min-height:92vh;
  display:grid;
  align-items:center;
  position:relative;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.78) 47%,rgba(0,0,0,.35) 100%),
    url("assets/book-baddies-hero.jpeg") center/cover no-repeat;
  padding:130px clamp(22px,7vw,100px) 70px;
}
.hero-content{position:relative;z-index:2;max-width:760px}
.eyebrow{
  margin:0 0 12px;
  color:var(--gold-light);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:700;
}
.eyebrow.dark{color:#9b7614}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(54px,8vw,108px);margin-bottom:24px}
h1 span{color:var(--gold-light)}
h2{font-size:clamp(38px,5vw,66px);margin-bottom:20px}
h3{font-size:26px;margin-bottom:8px}
.hero-copy{max-width:680px;font-size:clamp(18px,2.2vw,23px);color:#ececec}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 24px;border-radius:999px;font-weight:700;border:1px solid transparent;
  transition:.2s ease;cursor:pointer
}
.btn-primary{background:var(--gold);color:#111}
.btn-primary:hover{transform:translateY(-2px);background:var(--gold-light)}
.btn-secondary{border-color:rgba(255,255,255,.55);color:#fff}
.btn-secondary:hover{background:#fff;color:#111}
.btn-dark{background:var(--black);color:#fff}
.full{width:100%}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--black);
  color:#fff;
  padding:28px clamp(22px,7vw,100px);
  gap:24px;
}
.trust-strip div{display:flex;flex-direction:column}
.trust-strip strong{color:var(--gold-light);font-size:18px}
.trust-strip span{font-size:13px;color:#c9c9c9}

.section{padding:100px clamp(22px,7vw,100px)}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.split p{font-size:18px}
.quote-card{background:var(--black);color:#fff;padding:48px;border-radius:26px;box-shadow:0 18px 60px rgba(0,0,0,.15)}
.quote-mark{font-size:72px;color:var(--gold);line-height:.5}
blockquote{font-family:"Playfair Display",serif;font-size:28px;line-height:1.35;margin:18px 0}
.quote-card p{color:#bbb;font-size:14px}

.muted{background:var(--cream)}
.section-heading{max-width:760px;margin-bottom:48px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:#fff;padding:30px;border-radius:20px;border:1px solid #ddd8cd}
.step>span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--black);color:var(--gold-light);font-weight:700;margin-bottom:22px}

.feature-book{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.book-image-wrap{border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.18);background:#111}
.book-author{font-weight:700;color:#795b0f}
.feature-points{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.feature-points span{background:var(--cream);padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700}

.gallery-section{background:#f8f8f8}
.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.gallery img{width:100%;height:520px;object-fit:cover;border-radius:24px}
.gallery img:last-child{object-position:center}

.apply-section{background:var(--black);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.apply-copy p{color:#ccc;font-size:18px}
.apply-copy ul{padding-left:20px}
.apply-copy li{margin:10px 0}
.apply-form{background:#fff;color:var(--text);padding:34px;border-radius:24px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:14px;font-weight:700;margin-bottom:16px}
input,textarea{
  width:100%;margin-top:7px;border:1px solid #cacaca;border-radius:12px;padding:13px 14px;
  background:#fff;outline:none
}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(211,167,47,.18)}
.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:500}
.checkbox input{width:auto;margin-top:4px}
.form-note{font-size:12px;color:#777;margin:13px 0 0}

footer{
  background:#050505;color:#fff;padding:42px clamp(22px,7vw,100px);
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center
}
footer strong{font-family:"Playfair Display",serif;font-size:28px;color:var(--gold-light)}
footer p{margin:4px 0;color:#aaa}
.footer-links{display:flex;gap:20px}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:12px}

@media (max-width:900px){
  .nav{
    display:none;position:absolute;top:76px;left:0;right:0;background:var(--black);
    padding:24px;flex-direction:column;border-top:1px solid var(--line)
  }
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .trust-strip{grid-template-columns:1fr 1fr}
  .split,.feature-book,.apply-section{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr}
  .gallery img{height:420px}
}

@media (max-width:560px){
  .hero{min-height:84vh;background-position:65% center}
  .trust-strip,.steps,.field-row{grid-template-columns:1fr}
  .section{padding-top:72px;padding-bottom:72px}
  .quote-card,.apply-form{padding:25px}
  .gallery img{height:330px}
}
