:root{--cream:#FDF4ED;--cream-deep:#F9E9DC;--peach:#FFD7BD;--peach-soft:#FFE8E0;--brown-900:#2A1810;--brown-800:#351D13;--brown-700:#4A2E22;--brown-muted:#7E6255;--coral:#E85A3C;--coral-bright:#FF735C;--coral-deep:#D64B2E;--gold:#E8B872;--green:#3E8E5A;--radius-lg:28px;--radius-md:18px;--shadow-card:0 6px 30px rgba(74,46,34,.09);--shadow-cta:0 10px 30px rgba(232,90,60,.35)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',-apple-system,sans-serif;background:var(--cream);color:var(--brown-900);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.14;letter-spacing:-.01em}
h1{font-weight:900;font-size:clamp(2.1rem,5vw,3.6rem)}h2{font-weight:700;font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-weight:700;font-size:1.2rem}
em.accent{font-style:italic;color:var(--coral);font-weight:900}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:1rem}
.eyebrow--chip{background:var(--peach);color:var(--brown-700);padding:.45em 1.1em;border-radius:99px;letter-spacing:.14em}
.section-sub{max-width:680px;margin:1.1rem auto 0;color:var(--brown-muted);font-size:1.05rem}
.handwritten{font-family:'Caveat',cursive;font-weight:700;color:var(--coral);font-size:1.7rem;line-height:1.2}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.wrap--narrow{max-width:780px}
section{padding:76px 0}.t-center{text-align:center}
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;font-weight:800;font-size:1.08rem;background:linear-gradient(135deg,var(--coral-bright),var(--coral-deep));color:#fff;text-decoration:none;padding:1.05em 1.8em;border-radius:99px;box-shadow:var(--shadow-cta);transition:.2s;width:100%;max-width:460px;text-align:center;line-height:1.2;border:0;cursor:pointer}
.btn small{font-size:.72rem;font-weight:700;opacity:.9}.btn:hover{transform:translateY(-2px)}
.btn--ghost{background:#fff;color:var(--coral-deep);box-shadow:var(--shadow-card);border:2px solid var(--peach)}
.btn-note{font-size:.78rem;color:var(--brown-muted);margin-top:.6rem;text-align:center;font-weight:600}
.topbar{background:linear-gradient(90deg,var(--brown-700),var(--brown-900),var(--brown-700));color:var(--cream);position:sticky;top:0;z-index:40}
.topbar-inner{max-width:1180px;margin:0 auto;padding:9px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-family:'Fraunces',serif;font-weight:700;font-size:1.02rem;letter-spacing:.08em;text-transform:uppercase}.brand em{font-style:italic;color:var(--gold)}
.topcta{background:var(--coral);color:#fff;font-size:.78rem;font-weight:800;padding:.5em 1.1em;border-radius:99px;text-decoration:none;white-space:nowrap}
/* Hero */
.hero{background:radial-gradient(1100px 600px at 80% -10%,var(--peach-soft),transparent),var(--cream);padding:56px 0 30px;text-align:center}
.hero .lead{font-size:1.15rem;color:var(--brown-700);max-width:62ch;margin:1rem auto 1.6rem}
.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:1.6rem auto 1.8rem;max-width:960px}
.stat{background:#fff;border-radius:16px;box-shadow:var(--shadow-card);padding:16px 22px;min-width:150px}
.stat b{font-family:'Fraunces',serif;font-weight:900;color:var(--coral);font-size:1.7rem;display:block;line-height:1}
.stat span{font-size:.78rem;color:var(--brown-muted);font-weight:700}
.hero-strip{display:flex;gap:10px;justify-content:center;margin-top:2.2rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.hero-strip img{width:120px;border-radius:14px;box-shadow:var(--shadow-card);transform:rotate(var(--r));border:3px solid #fff}
/* Ladder */
.ladder{background:var(--brown-900);color:var(--cream)}
.rungs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:2.2rem}
.rung{background:rgba(253,244,237,.06);border:1px solid rgba(253,244,237,.16);border-radius:var(--radius-md);padding:20px 16px;text-align:left;color:var(--cream);cursor:pointer;font-family:inherit;transition:.2s;position:relative}
.rung:hover{background:rgba(253,244,237,.12);transform:translateY(-3px)}
.rung-st{font-family:'Fraunces',serif;font-weight:900;color:var(--gold);font-size:1.5rem;display:block;line-height:1}.rung-n{display:inline-block;margin-top:.8rem;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,184,114,.5);border-radius:99px;padding:.3em .7em}
.rung b{display:block;margin:.6rem 0 .25rem;font-size:1.05rem;line-height:1.2}
.rung-s{font-size:.78rem;color:rgba(253,244,237,.7);display:block}

/* Wall */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:1.8rem 0 1.4rem;position:sticky;top:52px;z-index:30;background:rgba(253,244,237,.94);padding:10px 0;backdrop-filter:blur(6px)}
.chip{border:2px solid var(--peach);background:#fff;color:var(--brown-800);border-radius:99px;padding:.5em 1.1em;font-weight:800;font-size:.86rem;cursor:pointer;font-family:inherit}
.chip.on{background:var(--coral);border-color:var(--coral);color:#fff}
.count{text-align:center;font-size:.86rem;color:var(--brown-muted);font-weight:700;margin-bottom:1rem}
.wall{columns:4;column-gap:14px}
.dm{break-inside:avoid;margin:0 0 14px;background:#fff;border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;border:1px solid rgba(126,98,85,.1);cursor:zoom-in;transition:.2s}
.dm:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(74,46,34,.16)}
.dm img{width:100%;height:auto;background:var(--cream-deep)}
.dm figcaption{padding:11px 13px;text-align:left}
.dm figcaption b{display:block;font-family:'Fraunces',serif;color:var(--coral);font-size:1rem;line-height:1.2;margin-bottom:.2em}
.dm figcaption span{font-size:.74rem;color:var(--brown-muted)}
.dm.hide{display:none}
/* Survey */
.survey{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:2.2rem;text-align:left}
.sv{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:26px}
.sv h3{margin-bottom:1rem}
.bar{margin:.55rem 0}.bar .l{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;color:var(--brown-800)}
.bar .t{height:10px;background:var(--cream-deep);border-radius:99px;overflow:hidden;margin-top:.3rem}.bar .t i{display:block;height:100%;background:linear-gradient(90deg,var(--coral-bright),var(--coral-deep));border-radius:99px}
.sv.dark .bar .t i{background:linear-gradient(90deg,var(--gold),#d19a4a)}
/* Results */
.results{columns:3;column-gap:14px;margin-top:2rem}
.result{break-inside:avoid;margin-bottom:16px;background:#fff;border-radius:14px;box-shadow:var(--shadow-card);overflow:hidden;border:1px solid rgba(126,98,85,.1)}
.result img{width:100%}.result .cap{padding:12px 14px;text-align:left}
.result .cap b{font-family:'Fraunces',serif;color:var(--coral);font-size:1.02rem;display:block;line-height:1.2}.result .cap span{font-size:.82rem;color:var(--brown-muted)}
.reviews-grid{columns:3;column-gap:14px;margin-top:2rem}
.reviews-grid img{width:100%;border-radius:14px;margin-bottom:14px;box-shadow:var(--shadow-card);break-inside:avoid;border:1px solid rgba(126,98,85,.1)}
.how{background:var(--cream-deep)}
.honest{max-width:820px;margin:2rem auto 0;background:#fff;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;padding:22px 26px;color:var(--brown-700);text-align:left;box-shadow:var(--shadow-card)}
.honest li{margin:.4em 0 .4em 1.2em}
.bio{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:34px;text-align:left}
.bio-photo{border-radius:var(--radius-md);aspect-ratio:1/1;object-fit:cover;width:100%}
.bio p{color:var(--brown-700);margin-bottom:.8rem}
.final{background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;text-align:center}
.final h2{color:#fff}.final .btn{margin:1.8rem auto 0;background:#fff;color:var(--coral-deep)}.final .btn small{color:var(--coral-deep)}
.final .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);margin-top:.8rem}.final .btn--ghost small{color:#fff}
.disclaimer{max-width:640px;margin:1.6rem auto 0;font-size:.8rem;color:var(--brown-muted)}
footer{background:var(--brown-900);color:rgba(253,244,237,.6);text-align:center;padding:34px 24px;font-size:.8rem}footer a{color:rgba(253,244,237,.8)}
/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(42,24,16,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.lb.on{display:flex}.lb img{max-height:92vh;max-width:96vw;border-radius:18px;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.lb .x{position:absolute;top:16px;right:20px;color:#fff;font-size:2rem;cursor:pointer;font-weight:800}
.lb .cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:'Fraunces',serif;font-size:1.1rem}
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(253,244,237,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(126,98,85,.15)}
.sticky-cta .btn{padding:.9em 1.4em;font-size:.98rem;max-width:none}
@media(max-width:1000px){.wall{columns:3}.rungs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.survey,.bio{grid-template-columns:1fr}.results,.reviews-grid{columns:2}section{padding:56px 0}.sticky-cta{display:block}footer{padding-bottom:110px}.chips{top:48px}}
@media(max-width:600px){.wall,.results,.reviews-grid{columns:2}.rungs{grid-template-columns:repeat(2,1fr)}.hero-strip img{width:84px}.brand{font-size:.86rem}}
@media(max-width:420px){.wall{columns:1}.results,.reviews-grid{columns:1}}
