/* Crochet with Grandma — brand tokens */
:root{
  --cranberry:#B23A48; --cranberry-dark:#8E2A37; --pine:#2F5D50; --pine-dark:#22453B;
  --cream:#FBF6EE; --paper:#FFFDF9; --oat:#F3E9DA; --gold:#C9A227; --ink:#2B2522; --muted:#6B5F57;
  --radius:16px; --shadow:0 8px 30px rgba(43,37,34,.10);
  --serif:"Fraunces",Georgia,serif; --sans:"Nunito Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--pine)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;color:var(--ink);margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);text-align:center}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
section{padding:72px 0}
.alt{background:var(--paper)}
.oat{background:var(--oat)}
.center{text-align:center}
.eyebrow{display:inline-block;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--cranberry);margin-bottom:.6em}
.lead{font-size:1.2rem;color:var(--muted)}

/* header */
.top{background:var(--paper);border-bottom:1px solid #eadfce;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:92px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:1.25rem}
.brand img{height:78px;width:auto}
.brand span em{font-style:italic;color:var(--cranberry)}
.announce{background:var(--pine);color:#fff;text-align:center;font-size:.92rem;padding:8px 12px;font-weight:700}

/* buttons */
.btn{display:inline-block;background:var(--cranberry);color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem;padding:18px 34px;border-radius:999px;box-shadow:0 6px 0 var(--cranberry-dark);transition:transform .08s,box-shadow .08s;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--cranberry-dark)}
.btn.small{font-size:.95rem;padding:10px 20px;box-shadow:0 4px 0 var(--cranberry-dark)}
.btn.block{display:block;width:100%;text-align:center}
.sub-cta{font-size:.9rem;color:var(--muted);margin-top:12px}

/* hero */
.hero{padding:56px 0 64px}
.hero .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.hero img{border-radius:24px;box-shadow:var(--shadow)}
.hero .checks{list-style:none;padding:0;margin:1.2em 0 1.6em}
.hero .checks li{padding-left:34px;position:relative;margin:.35em 0}
.hero .checks li:before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--pine);color:#fff;font-size:.8rem;display:grid;place-items:center;font-weight:900;margin-top:4px}

/* cards & grids */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.card{background:var(--paper);border:1px solid #eadfce;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card .icon{font-size:2rem;margin-bottom:8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.two img{border-radius:20px;box-shadow:var(--shadow)}

/* calendar of 24 */
.days{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:36px}
.day{background:var(--paper);border:2px dashed #e2cfb4;border-radius:14px;padding:14px 8px;text-align:center}
.day b{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--cranberry)}
.day span{font-size:.88rem;line-height:1.3;display:block}

/* includes / pricing */
.includes{list-style:none;padding:0;margin:0}
.includes li{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed #e2cfb4}
.includes li .v{margin-left:auto;color:var(--muted);text-decoration:line-through;white-space:nowrap}
.price-box{background:var(--paper);border:3px solid var(--cranberry);border-radius:24px;padding:36px;max-width:620px;margin:36px auto 0;box-shadow:var(--shadow);text-align:center}
.price-box .old{color:var(--muted);text-decoration:line-through;font-size:1.2rem}
.price-box .now{font-family:var(--serif);font-size:4rem;color:var(--cranberry);line-height:1;margin:.1em 0}
.badges{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:.9rem;color:var(--muted)}

.guarantee{display:flex;gap:28px;align-items:center;background:var(--paper);border-radius:24px;padding:32px;border:1px solid #eadfce;max-width:820px;margin:0 auto}
.seal{flex:0 0 120px;height:120px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-weight:700;line-height:1.1;box-shadow:inset 0 0 0 6px #fff4,var(--shadow)}

/* faq */
details{background:var(--paper);border:1px solid #eadfce;border-radius:14px;padding:18px 22px;margin:12px 0}
summary{cursor:pointer;font-weight:800;font-size:1.05rem}
details p{margin:.8em 0 0}

/* footer */
footer{background:var(--pine-dark);color:#e8efe9;padding:48px 0 36px;font-size:.92rem}
footer a{color:#fff}
footer .links{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0}
footer .legal{opacity:.8;font-size:.84rem;margin-top:18px}

/* legal pages */
.doc{background:var(--paper);border-radius:20px;padding:44px;margin:48px auto;box-shadow:var(--shadow)}
.doc h1{font-size:2.2rem}
.doc h2{text-align:left;font-size:1.4rem;margin-top:1.6em}

@media (max-width:860px){
  body{font-size:18px}
  section{padding:52px 0}
  .hero .grid,.two{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .days{grid-template-columns:repeat(3,1fr)}
  .guarantee{flex-direction:column;text-align:center}
  .doc{padding:26px}
  .top .btn.small{display:none}
}

footer .foot-logo{height:96px;width:auto;background:var(--cream);border-radius:14px;padding:8px 14px}
@media (max-width:860px){.top .wrap{height:76px}.brand img{height:62px}}
.lessons{counter-reset:l;list-style:none;padding:0;margin:32px 0}
.lessons li{counter-increment:l;position:relative;padding:16px 0 16px 64px;border-bottom:1px dashed #e2cfb4}
.lessons li:before{content:counter(l);position:absolute;left:0;top:14px;width:44px;height:44px;border-radius:50%;background:var(--cranberry);color:#fff;font-family:var(--serif);font-size:1.3rem;display:grid;place-items:center}
