:root{
  --cream:#FAF3E2; --cream-2:#F1E6CB; --paper:#FFFBF2;
  --ink:#3A2614; --ink-soft:#6E5A45;
  --gold:#B8800C; --gold-bright:#E2B33C; --sun:#F2C12E;
  --night:#1E1640; --night-2:#2E2266; --lilac:#C9B6F2;
  --tomato:#C8452F;
  --serif:'Fraunces',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
  --r:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{width:min(1180px,100% - 48px);margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-variation-settings:"SOFT" 100;line-height:1.05;letter-spacing:-.01em;font-weight:650}
h2{font-size:clamp(34px,4.4vw,56px)}
h3{font-size:24px;line-height:1.2}
.eyebrow{font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
:focus-visible{outline:3px solid var(--tomato);outline-offset:3px;border-radius:8px}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:17px;text-decoration:none;padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn.sm{padding:10px 20px;font-size:15px}
.btn-gold{background:var(--gold-bright);color:var(--ink);box-shadow:0 4px 0 var(--gold)}
.btn-gold:hover{box-shadow:0 6px 0 var(--gold)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--cream)}
.btn-line-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn-line-light:hover{background:#fff;color:var(--night)}
.btn:disabled{opacity:.6;transform:none}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(250,243,226,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--cream-2)}
.nav-inner{display:flex;align-items:center;gap:28px;height:84px}
.brand img{height:58px;width:auto}
.nav nav{display:flex;gap:26px;margin-left:auto}
.nav nav a{text-decoration:none;font-weight:500;font-size:16px;color:var(--ink-soft)}
.nav nav a:hover{color:var(--ink)}
.nav-cta{padding:11px 20px;font-size:15px}

/* hero */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,110px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(52px,7.4vw,104px);margin-bottom:24px}
.hero h1 em{font-style:normal;color:var(--gold);position:relative}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-soft);max-width:34em;margin-bottom:32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-art{position:relative;aspect-ratio:1/1;max-width:560px;justify-self:center;width:100%}
.burst{position:absolute;inset:6%;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(226,179,60,.28) 0 6deg,transparent 6deg 15deg);
  -webkit-mask:radial-gradient(circle,#000 40%,transparent 71%);mask:radial-gradient(circle,#000 40%,transparent 71%);
  animation:spin 80s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.emblem-float{position:absolute;width:30%;left:35%;top:2%;filter:drop-shadow(0 10px 18px rgba(58,38,20,.25));animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px) rotate(3deg)}}
.cover{position:absolute;border-radius:10px;box-shadow:0 22px 40px rgba(30,22,64,.28),0 2px 6px rgba(0,0,0,.15)}
.c1{width:40%;left:4%;top:34%;transform:rotate(-9deg)}
.c3{width:40%;right:4%;top:32%;transform:rotate(8deg)}
.c2{width:44%;left:28%;top:40%;z-index:2;transform:rotate(-1deg)}

/* maya */
.maya{position:relative;background:radial-gradient(120% 90% at 50% 0%,var(--night-2),var(--night) 70%);color:#fff;padding:clamp(72px,9vw,120px) 0;overflow:hidden}
.stars{position:absolute;inset:0;opacity:.55;background-image:
  radial-gradient(1.5px 1.5px at 10% 20%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 30% 70%,#fff 50%,transparent 51%),
  radial-gradient(2px 2px at 70% 30%,#FFE9A8 50%,transparent 51%),radial-gradient(1px 1px at 85% 80%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 55% 10%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 20% 90%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 92% 12%,#FFE9A8 50%,transparent 51%),radial-gradient(1px 1px at 45% 50%,#fff 50%,transparent 51%);
  background-size:420px 420px}
.sec-head{max-width:720px;margin:0 auto 56px;text-align:center;position:relative}
.sec-head p:last-child{font-size:19px;opacity:.85;margin-top:16px}
.sec-head.light .eyebrow{color:var(--gold-bright)}
.books{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);position:relative}
.book{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:20px 20px 24px;display:flex;flex-direction:column;transition:transform .25s,background .25s}
.book:hover{transform:translateY(-6px);background:rgba(255,255,255,.09)}
.book-cover{position:relative;margin-bottom:20px}
.book-cover img{border-radius:10px;box-shadow:0 16px 30px rgba(0,0,0,.4);width:100%;aspect-ratio:4/5;object-fit:cover}
.tag{align-self:flex-start;background:var(--gold-bright);color:var(--ink);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;border-radius:999px;margin-bottom:10px}
.book h3{margin-bottom:8px}
.book p{font-size:16px;opacity:.82;flex:1;margin-bottom:18px}
.buy{display:flex;gap:10px;flex-wrap:wrap}
.soon-pill{display:inline-block;border:1.5px dashed var(--lilac);color:var(--lilac);border-radius:999px;padding:9px 18px;font-size:15px;font-weight:500}

/* puppy */
.puppy{padding:clamp(72px,9vw,120px) 0}
.puppy-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,80px);align-items:center}
.puppy-art{position:relative}
.puppy-art img{border-radius:var(--r);box-shadow:0 24px 50px rgba(58,38,20,.18);transform:rotate(-2deg)}
.sticker{position:absolute;right:-12px;bottom:-16px;width:110px;height:110px;border-radius:50%;background:var(--tomato);color:#fff;display:grid;place-items:center;text-align:center;font-size:14px;line-height:1.2;transform:rotate(10deg);box-shadow:0 8px 18px rgba(200,69,47,.35)}
.sticker strong{font-family:var(--serif);font-size:24px}
.puppy-copy h2{margin-bottom:18px}
.quote{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);font-style:italic;color:var(--gold);margin-bottom:18px;line-height:1.3}
.puppy-copy p{color:var(--ink-soft);margin-bottom:14px}
.puppy-copy .buy{margin-top:26px}

/* read-along */
.readalong{padding:0 0 clamp(72px,9vw,110px)}
.ra-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--paper);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:28px;padding:32px 40px}
.ra-icon svg{width:72px;height:72px}
.readalong h2{font-size:clamp(28px,3vw,38px);margin-bottom:6px}
.readalong p{color:var(--ink-soft);font-size:17px}

/* soon */
.soon{background:var(--cream-2);padding:clamp(72px,9vw,120px) 0}
.soon-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,72px);align-items:center}
.soon-copy h2{margin-bottom:18px}
.soon-copy>p{color:var(--ink-soft);margin-bottom:28px}
.soon-art img{border-radius:var(--r);background:#fff;box-shadow:0 20px 44px rgba(58,38,20,.14)}
.signup label{display:block;font-weight:600;margin-bottom:10px}
.field{display:flex;gap:10px;flex-wrap:wrap}
.field input{flex:1;min-width:220px;font:inherit;font-size:17px;padding:14px 20px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink)}
.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(226,179,60,.3)}
.form-msg{min-height:1.6em;margin-top:10px;font-size:16px;font-weight:500}
.form-msg.ok{color:#3E6B2F}
.form-msg.err{color:var(--tomato)}
.fine{font-size:14px;color:var(--ink-soft)}

/* about */
.about{padding:clamp(72px,9vw,120px) 0}
.about-grid{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(36px,6vw,80px);align-items:center}
.about h2{margin-bottom:20px}
.about p{color:var(--ink-soft);margin-bottom:16px;max-width:38em}

/* footer */
.foot{background:#2C1E12;color:var(--cream);padding:56px 0 40px}
.foot-inner{display:grid;grid-template-columns:auto 1fr;gap:20px 48px;align-items:center}
.foot img{width:150px}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:flex-end}
.foot-links a{text-decoration:none;opacity:.85}
.foot-links a:hover{opacity:1;color:var(--gold-bright)}
.copy{grid-column:1/-1;font-size:14px;opacity:.6;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}

/* responsive */
@media (max-width:960px){
  .nav nav{display:none}
  .nav-cta{margin-left:auto}
  .hero-grid,.puppy-grid,.soon-grid,.about-grid{grid-template-columns:1fr}
  .hero-copy{text-align:center}
  .lede{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .books{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .ra-inner{grid-template-columns:1fr;text-align:center;justify-items:center;padding:28px 24px}
  .about-seal{max-width:260px;margin:0 auto}
  .about-grid{text-align:center}.about p{margin-left:auto;margin-right:auto}
  .foot-inner{grid-template-columns:1fr;justify-items:center;text-align:center}
  .foot-links{justify-content:center}
  .soon-art{order:-1}
}
@media (max-width:520px){
  body{font-size:17px}
  .wrap{width:calc(100% - 32px)}
  .brand img{height:44px}
  .nav-inner{height:70px}
  .nav-cta{padding:9px 14px;font-size:14px}
  .sticker{right:0;width:86px;height:86px;font-size:12px}.sticker strong{font-size:19px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
section{scroll-margin-top:80px}
