@font-face{font-family:'Baskervville';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/baskervville-400-italic.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Baskervville';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/baskervville-400-normal.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/lato-300-normal.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/lato-400-normal.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/lato-700-normal.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


:root{
  --ivory:#fbf8f4; --paper:#ffffff; --blush:#f8eef2; --sage:#eef1ea; --line:#e8e0d8;
  --ink:#38332f; --muted:#665d57; --plum:#6b2d5c; --rose:#b0287f; --rose-deep:#8e1f66; --rose-soft:#f3d6e6;
  --amber:#8a5a12; --amber-soft:#f8eedb; --green:#3f6b4a; --green-soft:#e3eee5;
  --serif:'Baskervville',Georgia,'Times New Roman',serif; --sans:Georgia,'Times New Roman',serif;
  --measure:38rem; --wide:68rem;
  --band-y:clamp(4.5rem,11vw,8.5rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 1.0625rem/1.75 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose-deep);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.15;margin:0 0 .5em}
h2{font-size:clamp(2rem,6.5vw,2.9rem);letter-spacing:-.005em}
h3{font-size:1.4rem;margin-bottom:.3em}
p{margin:0 0 1.1em;text-wrap:pretty}
h1,h2,h3,.promise,.lead-h{text-wrap:balance}
.eyebrow{font:400 .74rem/1.4 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--rose);margin:0 0 1.4em}
.eyebrow-green{color:var(--green)}
.small{font-size:.9rem;color:var(--muted)}
.skip{position:absolute;left:-999px;top:0;background:var(--paper);padding:.5rem 1rem;z-index:20}
.skip:focus{left:1rem;top:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nowrap{white-space:nowrap}
.draft-note{margin:0;padding:.5rem 1rem;text-align:center;font:400 .72rem/1.4 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);background:var(--rose-soft)}

/* components kept from v3 (checker results, days, form) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.7rem 1.3rem;border-radius:999px;font:700 1rem/1.2 var(--sans);cursor:pointer;border:1px solid transparent;text-decoration:none;-webkit-tap-highlight-color:transparent}
.btn-main{background:var(--plum);color:#fff}
.btn-main:hover{background:#5a2450}
.btn-soft{background:var(--rose-soft);color:var(--rose-deep)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-small{min-height:44px;font-size:.92rem;padding:.5rem 1.1rem}
.btn[disabled]{opacity:.6;cursor:wait}
.photo-row,.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.photo-row:focus-within .btn-soft{outline:2px solid var(--rose);outline-offset:3px}
.field-label{display:block;font-weight:700;font-size:.95rem;margin:.6rem 0 .35rem}
textarea{width:100%;font:400 1rem/1.5 var(--sans);color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:.85rem;resize:vertical;min-height:9rem}
textarea:focus{border-color:var(--rose)}
.ocr-status{background:var(--blush);border-radius:12px;padding:.7rem .9rem;font-size:.95rem;color:var(--rose-deep)}

#results{margin-top:.5rem}
.summary{border-radius:16px;padding:1rem 1.1rem;margin:1rem 0;background:var(--ivory);border:1px solid var(--line)}
.summary h3{font-size:1.4rem}
.summary p:last-child{margin-bottom:0}
.summary.clear{background:var(--green-soft);border-color:#cfe0d3}
.group-title{font:700 .78rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:1.4rem 0 .6rem}
.card{border:1px solid var(--line);border-left:5px solid var(--rose-deep);border-radius:16px;padding:1rem 1.1rem;margin:0 0 .8rem;background:var(--paper)}
.card.suspected{border-left-color:#c58b2a}
.card.notice{border-left-color:#8a9a8d}
.badge{display:inline-block;font:700 .72rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.3rem .65rem;margin-bottom:.55rem;background:var(--rose-soft);color:var(--rose-deep)}
.suspected .badge{background:var(--amber-soft);color:var(--amber)}
.notice .badge{background:var(--green-soft);color:var(--green)}
.found-as{font-size:.88rem;color:var(--muted);margin-bottom:.6rem}
.card dl{margin:0}
.card dt{font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:.55rem}
.card dd{margin:0 0 .2rem}
.status{font-size:.9rem;color:var(--muted);border-top:1px dashed var(--line);margin-top:.8rem;padding-top:.6rem}
.sources{font-size:.9rem;margin:0;padding-left:1.1rem}
.sources a{display:inline-block;padding:.2rem 0}
.freefrom{font-size:.95rem;color:var(--green)}
.how{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:.8rem}
.how summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;color:var(--rose-deep)}
.how p{font-size:.97rem}

.progress-wrap{background:var(--paper);border-radius:16px;padding:1rem 1.1rem;margin:1rem 0}
.progress-text{font-family:var(--serif);font-size:1.35rem;margin:0 0 .5rem}
.progress{height:12px;border-radius:999px;background:var(--sage);overflow:hidden}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#9cb59f,var(--green));border-radius:999px;transition:width .4s ease}
.encourage{margin:.6rem 0 0;font-size:.95rem;color:var(--muted)}
.days{list-style:none;margin:0 0 1rem;padding:0}
.day{margin:0 0 .55rem}
.day label{display:flex;gap:.9rem;align-items:flex-start;background:var(--paper);border:1px solid #dfe5da;border-radius:16px;padding:.9rem 1rem;cursor:pointer;min-height:64px}
.day input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:30px;height:30px;margin:.1rem 0 0;border:2px solid #9cb59f;border-radius:50%;background:#fff;display:grid;place-content:center;cursor:pointer}
.day input::after{content:"";width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.day input:checked{background:var(--green);border-color:var(--green)}
.day input:checked::after{opacity:1}
.day input:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.day-num{display:block;font:700 .74rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.day-title{display:block;font-family:var(--serif);font-size:1.2rem;line-height:1.3;margin:.1rem 0 .2rem}
.day-tip{display:block;font-size:.95rem;color:var(--muted)}
.day input:checked ~ span .day-title{text-decoration:line-through;text-decoration-color:#9cb59f}
.day-link{display:inline-block;margin-top:.35rem;font-size:.92rem;font-weight:700;padding:.25rem 0}

.pf-field label{display:block;font:700 .82rem/1.3 var(--sans);letter-spacing:.04em;color:var(--ink);margin:0 0 .3rem .2rem}
.pf-field input{width:100%;min-height:50px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rose-soft);border-radius:14px;padding:.7rem .95rem;-webkit-appearance:none;appearance:none}
.pf-field input:focus{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--rose)}
.pf-field input::placeholder{color:#a69d97}
.pf-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.preorder-form .btn-book{max-width:none;width:100%;margin-top:.2rem}
.preorder-note{margin:.1rem 0 0;font-size:.85rem;color:var(--muted);text-align:center}
.preorder-thanks{margin:.9rem auto 0;max-width:22rem;font-family:var(--serif);font-size:1.12rem;color:var(--rose-deep)}
.preorder-thanks[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92vw,26rem);margin:0;padding:.85rem 1.1rem;border-radius:14px;background:var(--ink);color:#fff;text-align:center;font-size:.95rem;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:30}
.toast[hidden]{display:none}


/* layout */
.wrap{max-width:var(--wide);margin:0 auto;padding:0 1.5rem}
.narrow{max-width:calc(var(--measure) + 3rem)}
.band{padding:var(--band-y) 0;scroll-margin-top:0}
.band-blush{background:var(--blush)}
.band-sage{background:var(--sage)}
.band-paper{background:var(--paper)}
.section-head{text-align:center;margin-bottom:2.8rem}
.section-head p{color:var(--muted)}

/* hero */
.hero{min-height:min(100svh,60rem);display:flex;flex-direction:column}
.topbar{max-width:var(--wide);width:100%;margin:0 auto;padding:1.6rem 1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:.8rem}
.brand{font:400 .72rem/1.5 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0}
.brand span{color:var(--rose);padding:0 .2em}
.topnav{display:flex;gap:1.6rem}
.topnav a{font:400 .9rem/1.4 var(--sans);color:var(--muted);text-decoration:none;padding:.4rem 0;border-bottom:1px solid transparent}
.topnav a:hover{color:var(--rose-deep);border-bottom-color:var(--rose-soft)}
.hero-grid{flex:1;max-width:var(--wide);width:100%;margin:0 auto;padding:3.5rem 1.5rem 5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;text-align:center}
.hero-text{max-width:32rem}
.companion-h1{margin:0 0 1.6rem;line-height:1.02}
.h1-pre{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,4.6vw,1.4rem);line-height:1.4;color:var(--plum);margin-bottom:.7rem;letter-spacing:.01em}
.h1-title{display:block;font-size:clamp(2.9rem,13vw,5.4rem);letter-spacing:-.015em}
.opening{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,4.8vw,1.45rem);line-height:1.6;color:var(--plum);margin:0 auto 2.4rem;max-width:28rem}
.hero-btn{min-width:14rem}

/* book cover (approved light design), scales with --bw */
.book-mock{perspective:1100px}
.book-cover{--bw:172px;position:relative;overflow:hidden;width:var(--bw);height:calc(var(--bw) * 1.43);font-size:calc(var(--bw) / 10);
  border-radius:.2em .55em .55em .2em;border:1px solid #ecd2dd;
  background:linear-gradient(165deg,#fffaf5 0%,#fbe9ef 55%,#f3d3e0 100%);color:var(--plum);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:2.3em .8em 1.1em;gap:.2em;
  box-shadow:inset .5em 0 0 rgba(107,45,92,.06),inset .62em 0 0 rgba(255,255,255,.5),0 1.8em 3em -1.2em rgba(107,45,92,.35),0 .3em .8em rgba(56,51,47,.08);
  transform:rotateY(-12deg);transform-origin:left center}
.book-cover::after{content:"";position:absolute;inset:.5em .5em .5em .9em;border:1px solid rgba(107,45,92,.14);border-radius:2px;pointer-events:none}
.bc-pill{position:absolute;top:.7em;left:50%;transform:translateX(-50%);white-space:nowrap;background:#d98aa8;color:#fff;border-radius:999px;padding:.18em .75em;font:400 .5em/1.5 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.bc-sprig{width:2.5em;height:2.5em;margin:.1em 0 .25em}
.bc-title{font-family:var(--serif);font-size:1.55em;line-height:1.05;letter-spacing:.01em;color:var(--plum)}
.bc-sub{font-family:var(--serif);font-style:italic;font-size:.66em;line-height:1.3;color:#8a5a7c;padding:0 .4em;margin-top:.4em}
.bc-author{font:400 .6em/1.3 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8a5a7c;margin-top:auto}

/* picture */
.picture{text-align:center}
.promise{font-family:var(--serif);font-size:clamp(1.75rem,6.4vw,2.6rem);line-height:1.3;color:var(--ink);margin:0 auto 1.4rem}
.promise-then{font-family:var(--serif);font-size:clamp(1.15rem,4.4vw,1.35rem);color:var(--muted);margin:0 0 2.4rem}
.promise-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,4.6vw,1.45rem);color:var(--plum);margin:0}
.promise-sub::before{content:"";display:block;width:2.5rem;height:1px;background:#d9b9c9;margin:0 auto 2.2rem}

/* about */
.about{text-align:left}
.about .eyebrow{text-align:center}
.lead-h{font-size:clamp(1.7rem,5.6vw,2.35rem);line-height:1.3;text-align:center;margin:0 auto 2.6rem}
.lead-h em{font-style:italic;color:var(--plum)}
.what-it-is{font-size:1.1rem;color:var(--ink)}
@media (min-width:700px){body{font-size:1.125rem}}
.intro-who{margin:2.4rem 0 0;padding-top:2rem;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.6;color:var(--muted);text-align:center}

/* start */
.invite-divide{text-align:center}
.star{color:var(--rose);font-size:1.2rem;margin:0 0 1rem}
.invite-h{margin:0 0 1rem}
.invite-line{max-width:30rem;margin:0 auto 3.4rem;color:var(--muted);font-size:1.1rem}
.step-list{list-style:none;margin:0 auto 3.4rem;padding:0;display:grid;gap:2.2rem;max-width:58rem}
.step-list li{display:flex;flex-direction:column;align-items:center;gap:.35rem;max-width:18rem;margin:0 auto}
.step-list strong{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--ink)}
.step-list span:last-child{color:var(--muted);font-size:1rem;line-height:1.6}
.step-num{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-content:center;border:1px solid var(--rose-soft);color:var(--rose-deep);font:400 1.05rem/1 var(--serif);margin-bottom:.5rem}
.invite-divide .btn{min-width:14rem}

/* checker */
.section-tool{background:var(--ivory)}
.aware-line{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.5;color:var(--plum)!important;margin:0 auto 1.2rem;max-width:30rem}
.tool-card{max-width:44rem;margin:0 1rem;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.6rem 1.25rem}
.lifestyle-note{max-width:34rem;margin:1.8rem auto 0;padding:0 1.5rem;text-align:center;font-size:.9rem;font-style:italic;color:var(--plum)}
.photo-row,.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:0 0 1.2rem}
.photo-row:focus-within .btn-soft{outline:2px solid var(--rose);outline-offset:3px}
.field-label{display:block;font-weight:700;font-size:.95rem;margin:.6rem 0 .45rem}
textarea{width:100%;font:400 1rem/1.55 var(--sans);color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:.95rem;resize:vertical;min-height:8.5rem}
textarea:focus{border-color:var(--rose)}
.actions{margin-top:1rem}
.ocr-status{background:var(--blush);border-radius:12px;padding:.7rem .9rem;font-size:.95rem;color:var(--rose-deep)}
.book-cta-inline{margin:1.6rem 0 .4rem;padding:1.4rem 1.25rem;border-radius:18px;background:var(--blush);text-align:center}
.book-cta-small{margin:0 0 .9rem;font-family:var(--serif);font-style:italic;color:var(--muted)}
.btn-book{width:100%;max-width:22rem}
.how{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:.8rem}
.how summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;color:var(--rose-deep)}
.how p{font-size:.97rem}

/* 30 days */
.days-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}
.days-foot .small{margin:0}
.invite{margin:3rem 0 0;padding:1.8rem 1.5rem;border-radius:20px;background:var(--paper);border:1px dashed #b9c8b4;text-align:center;transition:border-color .4s ease, box-shadow .4s ease}
.invite h3{font-size:1.5rem}
.invite p{color:var(--muted)}
.invite .eyebrow{color:var(--green);margin-bottom:.9em}
.invite-glow{border-style:solid;border-color:#9cb59f;box-shadow:0 6px 24px rgba(63,107,74,.12)}

.days:not(.days-open) .day-later{display:none}
.days-more-wrap{text-align:center;margin:1.4rem 0 2rem}
.days-more-wrap .btn{min-width:14rem}
.day label{border-color:#e3e8df}

/* book */
#book h2{margin-bottom:1.6rem}
.author-row{display:flex;align-items:center;gap:1rem;margin:0 0 2rem}
.author-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(58,42,54,.16)}
.byline{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--plum);margin:0}
.recipe{font-family:var(--serif);font-size:1.35rem;line-height:1.5;color:var(--plum);margin:2.2rem 0;padding-left:1.2rem;border-left:2px solid var(--rose-soft)}
.book-points{margin:0 0 2rem;padding:0;list-style:none}
.book-points li{position:relative;padding:.35rem 0 .35rem 1.6rem}
.book-points li::before{content:"\2726";position:absolute;left:0;top:.42rem;color:var(--rose);font-size:.85rem}

/* pre-order */
.preorder{text-align:center}
.preorder-h{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,6.5vw,2.9rem);line-height:1.15;color:var(--ink);margin:0 0 .6rem}
.preorder-line{margin:0 auto 2.2rem;color:var(--muted);max-width:26rem}
.preorder-form{display:flex;flex-direction:column;align-items:stretch;gap:.9rem;max-width:23rem;margin:0 auto;text-align:left;position:relative}
.pf-field input{width:100%;min-height:52px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rose-soft);border-radius:14px;padding:.75rem 1rem;-webkit-appearance:none;appearance:none}
.preorder-form .btn-book{max-width:none;width:100%;margin-top:.4rem}
.preorder-note{margin:.2rem 0 0;font-size:.88rem;font-style:italic;color:var(--muted);text-align:center}

/* stay close */
.doors{display:grid;gap:1rem;max-width:58rem;margin:0 auto}
.door{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:1.8rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start}
.door p{color:var(--muted);font-size:1rem;flex:1}
.door .btn{flex:0 0 auto;align-self:stretch}

/* footer */
.site-footer{max-width:calc(var(--measure) + 3rem);margin:0 auto;padding:var(--band-y) 1.5rem 3.5rem;text-align:center;border-top:1px solid var(--line)}
.signoff{font-family:var(--serif);font-size:1.5rem;line-height:1.5;margin:0 0 1.6rem}
.signoff > span{font-style:italic;color:var(--plum)}
.brand-foot{margin-bottom:2rem}
.disclaimer{font-size:.88rem;color:var(--muted);margin:0 auto 1rem}


.photo-row .btn,.actions .btn-main{flex:1 1 auto}

@media (min-width:700px){
  .tool-card{margin:0 auto;padding:2.4rem 2.6rem}
  .step-list{grid-template-columns:repeat(3,1fr);gap:3rem}
  .doors{grid-template-columns:repeat(3,1fr);gap:1.4rem}
  .topbar{flex-direction:row;justify-content:space-between;padding-top:2rem}
}
@media (min-width:960px){
  .hero-grid{flex-direction:row;text-align:left;gap:clamp(4rem,8vw,7.5rem);padding-bottom:7rem}
  .book-cover{--bw:272px}
  .hero-text{max-width:34rem}
  .opening{margin-left:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress span,.invite{transition:none}}

.skim{list-style:none;padding:0;margin:1.2rem auto 0;max-width:34rem;text-align:left}
.skim li{padding:.55rem 0 .55rem 1.4rem;position:relative;line-height:1.5;border-bottom:1px solid rgba(107,45,92,.08)}
.skim li:last-child{border-bottom:0}
.skim li::before{content:"\2726";position:absolute;left:0;top:.6rem;color:#d98aa8;font-size:.8rem}
.skim strong{color:#6b2d5c;font-weight:600}
.for-you-h{margin:2rem auto 0;max-width:34rem;text-align:left;font-family:var(--serif);font-style:italic;color:#6b2d5c;font-size:1.1rem}

.what-line{font-family:var(--sans);font-size:1.05rem;line-height:1.55;color:#3a2a36;margin:.9rem 0 .2rem;max-width:32rem}
.story{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.6;color:#6b2d5c;border-left:2px solid #d98aa8;padding-left:1rem;margin:1.2rem 0}

/* ---- science review, 23 Oct 2026 ---- */
.opening{font-size:clamp(1.05rem,4vw,1.2rem);line-height:1.55;margin-bottom:1.8rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.hero-actions .btn{min-width:12rem}
.check-intro{font-size:1.08rem;line-height:1.65}
.scope{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:1.1rem 0 .3rem;font-size:.95rem;color:var(--muted)}
.scope strong{color:var(--plum)}
.review-flag{display:inline-block;font:700 .7rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.3rem .65rem;background:var(--amber-soft);color:var(--amber)}
.limits{font-size:.9rem;color:var(--muted);line-height:1.55;margin:.6rem 0 0}
.no-match{font-size:1.02rem}
.summary .small{font-size:.88rem;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .3rem}
.tags .badge{margin-bottom:0}
.concern{display:inline-block;font:600 .74rem/1.3 var(--sans);border-radius:999px;padding:.3rem .65rem;background:var(--ivory);color:var(--muted);border:1px solid var(--line)}
.card.cat-national{border-left-color:#a8577f}
.card.cat-evaluation{border-left-color:#c58b2a}
.card.cat-other{border-left-color:#8a9a8d}
.card.cat-group{border-left-color:#b9b2a8}
.cat-national .badge{background:#f6e6ee;color:#8a3f66}
.cat-evaluation .badge{background:var(--amber-soft);color:var(--amber)}
.cat-other .badge,.cat-group .badge{background:var(--green-soft);color:var(--green)}
.card dd.unconfirmed{color:#6d5a3a}
.src-title{font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.8rem 0 .2rem;border-top:1px dashed var(--line);padding-top:.6rem}
.how ul{padding-left:1.1rem;font-size:.97rem}
.how li{margin-bottom:.45rem}
.privacy-note{margin-top:1.2rem;padding:1rem 1.1rem;border-radius:14px;background:rgba(255,255,255,.6);border:1px solid var(--line);font-size:.9rem;line-height:1.55;color:#4a3b46;text-align:left}
.privacy-note p{margin:0 0 .5rem}
.privacy-note p:last-child{margin:0}
.door-reset .invite{margin:0;padding:0;border:0;background:none;text-align:left;box-shadow:none}
.door-reset .invite h3{font-size:1.25rem}
.door-reset .invite .small{margin:.5rem 0 0;font-size:.82rem}
.door-reset{border-color:#cfdccb}
@media (min-width: 960px){
  .hero-actions{justify-content:flex-start}
}
.invite .small{margin:.6rem 0 0;font-size:.82rem}
@media (min-width:960px){
  .hero{min-height:min(84svh,50rem)}
  .hero-grid{padding-bottom:4.5rem}
}
@media (max-width:959px){
  .hero{min-height:0}
  .hero-grid{padding:2.2rem 1.5rem 3rem;gap:2.2rem}
  .section-tool{padding-top:calc(var(--band-y) * .6)}
}

.card .sources a{display:inline;padding:0}
.card .sources li{margin:.25rem 0}


/* ---------- traffic light (23 Oct 2026, 08:00 review) ---------- */
:root{--tl-green:#4c8a58;--tl-amber:#e2a72e;--tl-red:#c4473d;--tl-unable:#b9b1a9}
.dot{display:inline-block;flex:0 0 auto;width:1.15rem;height:1.15rem;border-radius:50%;box-shadow:inset 0 -2px 3px rgba(0,0,0,.12)}
.dot-green{background:var(--tl-green)}
.dot-amber{background:var(--tl-amber)}
.dot-red{background:var(--tl-red)}
.dot-neutral{background:var(--tl-unable)}
.result-card.rating-neutral{border-top-color:var(--tl-unable)}
.dot-unable{background:#fff;border:2px solid var(--tl-unable);box-shadow:none}
.dot-sm{width:.8rem;height:.8rem;margin-right:.45rem;vertical-align:-.05rem}
.check-lead{font-size:1.08rem;margin-bottom:.6rem}
.questions{list-style:none;padding:0;margin:0 0 1.4rem}
.questions li{font-family:var(--serif);font-size:1.22rem;line-height:1.4;color:var(--plum);padding:.35rem 0 .35rem 1.3rem;position:relative}
.questions li::before{content:"";position:absolute;left:0;top:.95rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--rose-soft);border:1px solid var(--rose)}
.lights{max-width:44rem;margin:0 1rem 2rem;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.5rem 1.25rem}
.lights-h{font-size:1.45rem;margin-bottom:1rem}
.tl{list-style:none;padding:0;margin:0}
.tl-item{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--line)}
.tl-item:first-child{border-top:0;padding-top:.2rem}
.tl-item .dot{margin-top:.3rem}
.tl-item strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.3;color:var(--ink)}
.tl-item p{margin:.2rem 0 0;font-size:.97rem;line-height:1.55;color:var(--muted)}
.coverage{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem;line-height:1.55;color:var(--muted)}
.coverage strong{color:var(--plum)}
.coverage .limits{display:inline;font-size:inherit;margin:0}
.q{border:0;padding:0;margin:0 0 1.3rem;min-width:0}
.q legend,.q-label{font-weight:700;font-size:1rem;margin:0 0 .65rem;padding:0;display:flex;align-items:center;gap:.55rem}
.q-num{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--rose-soft);color:var(--rose-deep);font-size:.85rem;flex:0 0 auto}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--line);background:var(--ivory);font-size:.95rem;line-height:1.25;color:var(--ink)}
.chip input:checked + span{background:var(--plum);border-color:var(--plum);color:#fff}
.chip input:focus-visible + span{outline:2px solid var(--rose);outline-offset:2px}
.result-card{margin:1.6rem 0 1rem;border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:1.3rem 1.2rem;border-top:6px solid var(--tl-unable)}
.result-card.rating-green{border-top-color:var(--tl-green)}
.result-card.rating-amber{border-top-color:var(--tl-amber)}
.result-card.rating-red{border-top-color:var(--tl-red)}
.rc-sec{padding:.9rem 0;border-top:1px solid var(--line)}
.rc-sec:first-child{border-top:0;padding-top:0}
.rc-h{font:700 .74rem/1.4 'Lato',Helvetica,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem}
.rc-sec p{margin:0 0 .4rem}
.rc-sec p:last-child{margin-bottom:0}
.rating-head{display:flex;align-items:center;gap:.7rem;margin:0 0 .35rem!important}
.rating-head .dot{width:1.6rem;height:1.6rem}
.rating-name{font-family:var(--serif);font-size:1.55rem;line-height:1.2;color:var(--ink)}
.rating-meaning{font-size:.97rem;line-height:1.55}
.rating-ctx{font-size:.85rem;color:var(--muted)}
.worth{list-style:none;padding:0;margin:0}
.worth li{padding:.35rem 0 .35rem .9rem;border-left:3px solid var(--line);margin:0 0 .45rem;font-size:.98rem;line-height:1.55}
.worth li.worth-red{border-left-color:var(--tl-red)}
.worth li.worth-amber{border-left-color:var(--tl-amber)}
.worth li strong{color:var(--ink)}
.more{font-size:.9rem;color:var(--muted)}
.rc-insight{background:var(--sage);margin:.4rem -1.2rem 0;padding:1rem 1.2rem;border-top:0}
.rc-insight .rc-h{color:var(--green)}
.evidence{margin-top:1rem;border-top:1px solid var(--line);padding-top:.4rem}
.evidence>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;color:var(--rose-deep)}
.evidence-body{padding-top:.4rem}
.ev-summary{font-size:.97rem}
.ev-name{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:.2rem 0 .3rem}
@media (min-width:700px){
  .lights{margin:0 auto 2.4rem;padding:2rem 2.6rem}
  .result-card{padding:1.8rem 2rem}
  .rc-insight{margin:.4rem -2rem 0;padding:1.1rem 2rem}
}
@media (max-width:699px){
  .tool-card{margin:0 .6rem;padding:1.4rem 1rem}
  .lights{margin:0 .6rem 2rem;padding:1.4rem 1.1rem}
  .result-card{margin-left:-.35rem;margin-right:-.35rem;padding:1.2rem 1rem}
  .rc-insight{margin:.4rem -1rem 0;padding:1rem}
}
.questions{display:inline-block;text-align:left;max-width:30rem}
.section-head .questions{margin-left:auto;margin-right:auto}

/* ---------- simple checker (23 Oct 2026, 08:56 review) ---------- */
.photo-main{text-align:center}
.btn-photo{width:100%;min-height:64px;font-size:1.12rem;padding:1rem 1.2rem;box-shadow:0 6px 18px rgba(107,45,92,.18)}
.btn-photo span{font-size:1.3rem}
.photo-tip{margin:.6rem 0 0;font-size:.9rem;color:var(--muted)}
.alt-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.2rem 1.4rem;margin:.9rem 0 .2rem}
.link-btn{background:none;border:0;padding:.55rem .2rem;min-height:44px;font:700 1rem/1.3 var(--sans);color:var(--rose-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.link-quiet{font-weight:400;font-size:.92rem;color:var(--muted)}
.paste-box{margin-top:.6rem}
.paste-box .actions{margin:.8rem 0 0}
.ocr-status{margin:.9rem 0 0}
.ocr-status .link-btn{padding:0;min-height:0;font-size:inherit}
.result-card .rating-head{margin-bottom:.7rem!important}
.rc-why{font-size:1.05rem;line-height:1.6;margin:0 0 .6rem}
.result-card .no-match{font-size:.92rem;line-height:1.55;color:var(--muted);margin:0 0 .8rem}
.rc-next{font-size:1.02rem;line-height:1.6;margin:0 0 .4rem;padding:.8rem .95rem;border-radius:14px;background:var(--ivory)}
.rc-next strong{color:var(--plum)}
.use-note{font-size:.88rem;color:var(--muted);margin:.7rem 0 0}
.use-note .link-btn{padding:0 .2rem;min-height:0;font-size:inherit}
.unable-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}
.unable-row .btn{flex:1 1 9rem}
.ask-card{border-top-color:var(--plum);text-align:center}
.ask-q{font-family:var(--serif);font-size:1.3rem;line-height:1.35;color:var(--ink);margin:0 0 1rem}
.ask-row{display:flex;gap:.6rem;flex-wrap:wrap}
.ask-row .btn{flex:1 1 8rem}
.ask-card .link-btn{margin-top:.4rem;font-weight:400;color:var(--muted)}
.ask-why{font-size:.86rem;color:var(--muted);margin:.4rem 0 0}
.evidence-body .rc-h{margin-top:.8rem}
.evidence-body .rc-insight{margin:1rem 0;border-radius:14px}
.scope{display:block;text-align:center;font-size:.88rem;margin:1.4rem 0 0}
.colours{margin-top:.6rem;border-top:0;padding-top:0;text-align:left}
.colours summary{justify-content:center}
.colours .tl{margin:.4rem 0 1rem}
.how-h{font:700 .78rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .4rem}
.colours .coverage{border-top:0;padding-top:0;margin-top:0}
.rating-unable .rating-name{font-size:1.3rem}

.feedback-note{margin-top:.6rem}.feedback-note a{color:var(--plum);text-decoration:underline}

.photo-lib-row{text-align:center;margin:.3rem 0 0;font-size:.9rem}.photo-lib-row .link-btn{cursor:pointer}

.worth-knowing{margin:14px 0 4px;padding:12px 14px;border-left:3px solid #c9a7c0;background:rgba(122,59,105,.05);border-radius:6px}
.worth-knowing .rc-h{margin:0 0 6px}
.worth-knowing p{margin:0;font-size:.95em;line-height:1.5}
