/* Self-hosted fonts (SIL Open Font License). Latin subset. */
@font-face{font-family:"Bowlby One";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bowlby-one.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-variable.woff2) format("woff2")}
:root{
	--font-display:"Bowlby One","Arial Black",Impact,sans-serif;
	--font-body:"Nunito",system-ui,sans-serif;
	--sage:#dfeacb;
	--cream:#f8f5e6;
	--green:#0a7d3b;
	--green-dk:#0a4d2a;
	--ink:#1d2a21;
	--tangerine:#ef7d2d;
	--lemon:#f6d23c;
	--duvet:#9db4e0;
	--navy:#26407f;
	--red:#d83a2e;
	--measure:60ch;
	--gutter:clamp(1.25rem,5vw,4rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:1.125rem;line-height:1.6;color:var(--ink);background:var(--sage);overflow-x:hidden}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--green)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.08;text-transform:uppercase;margin:0}
h2{font-size:clamp(2rem,5.2vw,3.75rem);color:var(--green)}
p{margin:0 0 1em}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:100;padding:.5rem 1rem;background:var(--ink);color:#fff}
.skip-link:focus{top:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.band{padding:clamp(3rem,7vw,6rem) var(--gutter)}
.in{max-width:76rem;margin-inline:auto}

/* Buttons: chunky, friendly, sticker-like */
.btn{display:inline-block;border:0;cursor:pointer;font-family:var(--font-display);font-size:1.05rem;text-transform:uppercase;background:var(--tangerine);color:var(--ink);padding:.9rem 1.6rem;border-radius:.9rem;text-decoration:none;box-shadow:0 .3rem 0 var(--green-dk);transition:transform .15s,box-shadow .15s}
.btn:hover{color:var(--ink);transform:translateY(.15rem);box-shadow:0 .15rem 0 var(--green-dk)}
.btn:active{transform:translateY(.3rem);box-shadow:0 0 0 var(--green-dk)}
.btn--line{background:transparent;box-shadow:inset 0 0 0 3px var(--ink),0 .3rem 0 var(--ink)}

/* Header */
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding:1rem var(--gutter);max-width:80rem;margin-inline:auto}
.brand{font-family:var(--font-display);font-size:1.6rem;text-transform:uppercase;text-decoration:none;color:var(--green);line-height:1}
.brand span{color:var(--tangerine)}
.site-nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;list-style:none;margin:0;padding:0}
.site-nav a{font-weight:800;text-decoration:none;padding:.4rem 0;display:inline-block}
.site-nav a:hover{color:var(--green);text-decoration:underline}

/* Hero */
.hero{padding:1rem var(--gutter) 1.5rem;max-width:80rem;margin-inline:auto;display:grid;gap:1.5rem}
.hero h1{font-size:clamp(2.9rem,13vw,5rem);color:var(--green)}
.hero h1 span{display:block}
.hero__lede{font-size:1.3rem;font-weight:700;max-width:30ch;margin:1rem 0 1.5rem}
.hero__scene{margin-inline:calc(var(--gutter) * -1)}
.scene{width:100%}
.snd{display:block;margin:.5rem var(--gutter) 0 auto;font:inherit;font-weight:800;font-size:.9rem;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:.35rem 1rem;cursor:pointer}
.snd::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#8a8a80;margin-right:.5rem}
.snd[aria-pressed="true"]::before{background:var(--green)}
.snd:hover{background:var(--lemon)}

/* Scene motion (CSS only) */
.scene *{transform-box:fill-box}
.breathe{transform-origin:50% 100%;animation:breathe 4.5s ease-in-out infinite}
.blink{transform-origin:50% 0;animation:blink 6s infinite}
.steam path{animation:steam 3.2s ease-in-out infinite;opacity:0}
.steam path:nth-child(2){animation-delay:1s}
.steam path:nth-child(3){animation-delay:2s}
.glow{animation:flicker 5s infinite}
.achoo{transform-origin:0% 100%;animation:achoo 8s infinite;opacity:0}
.head{transform-origin:50% 100%;animation:shake 8s infinite}
.drop{animation:drop 8s infinite;opacity:0}
.drop:nth-child(2){animation-delay:.05s}
.drop:nth-child(3){animation-delay:.1s}
.thermo-hg{animation:wobble 3s ease-in-out infinite;transform-origin:0% 50%}
@keyframes breathe{50%{transform:scaleY(1.025)}}
@keyframes blink{0%,92%,100%{transform:scaleY(0)}95%{transform:scaleY(1)}}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}30%{opacity:.8}100%{opacity:0;transform:translateY(-26px)}}
@keyframes flicker{0%,100%{opacity:.55}8%{opacity:.3}12%{opacity:.6}50%{opacity:.5}53%{opacity:.25}56%{opacity:.55}}
@keyframes achoo{0%,70%{opacity:0;transform:scale(.4)}74%{opacity:1;transform:scale(1.1)}78%{transform:scale(1)}92%{opacity:1}96%,100%{opacity:0;transform:scale(1)}}
@keyframes shake{0%,70%,100%{transform:rotate(0)}72%{transform:rotate(-3deg) translateY(3px)}74%{transform:rotate(1deg)}76%{transform:rotate(0)}}
@keyframes drop{0%,72%{opacity:0;transform:translate(0,0)}76%{opacity:1}92%{opacity:0;transform:translate(40px,26px)}100%{opacity:0}}
@keyframes wobble{50%{transform:rotate(-2deg)}}

/* Ticker */
.ticker{background:var(--tangerine);color:var(--ink);overflow:hidden;padding:.8rem 0;border-block:3px solid var(--ink)}
.ticker__track{display:flex;width:max-content;animation:marquee 45s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker ul{display:flex;list-style:none;margin:0;padding:0}
.ticker li{font-family:var(--font-display);text-transform:uppercase;font-size:1.05rem;white-space:nowrap;padding-right:2.5rem}
.ticker li::before{content:"\2022";margin-right:2.5rem;color:var(--green-dk)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ManFluRisk clipboard */
.riskband{background:var(--cream)}
.riskband .in{display:grid;gap:2rem}
.riskband__text p{max-width:38ch;font-weight:700}
.risk{--score:0;--level:var(--green);position:relative;background:#fffdf4;border:4px solid var(--ink);border-radius:1rem;padding:2.5rem 1.5rem 1.5rem;box-shadow:.5rem .5rem 0 var(--ink)}
.risk::before{content:"";position:absolute;top:-1.1rem;left:50%;translate:-50% 0;width:7rem;height:2rem;background:var(--tangerine);border:4px solid var(--ink);border-radius:.6rem}
.risk[data-level="mod"]{--level:var(--tangerine)}
.risk[data-level="high"]{--level:var(--red)}
.risk h3{font-size:1.5rem;color:var(--ink)}
.risk h3 sup{font-size:.5em;vertical-align:top}
.risk__place{font-weight:800;margin:.25rem 0 0}
.risk__reading{display:flex;align-items:baseline;gap:.6rem;margin:.5rem 0}
.risk__num{font-family:var(--font-display);font-size:5.5rem;line-height:1;color:var(--level)}
.risk__of{font-weight:800}
.risk__label{font-family:var(--font-display);text-transform:uppercase;font-size:1.1rem;color:var(--level)}
.glass{position:relative;height:1.6rem;margin:1rem 0 1.8rem 1.5rem;border:4px solid var(--ink);border-radius:0 999px 999px 0;background:#fff}
.glass::before{content:"";position:absolute;left:-2.6rem;top:50%;translate:0 -50%;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--level);border:4px solid var(--ink)}
.glass__fill{position:absolute;inset:0 auto 0 -.2rem;width:calc(var(--score) * 10%);background:var(--level);border-radius:0 999px 999px 0;transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.glass__ticks{position:absolute;left:0;right:0;top:100%;display:flex;justify-content:space-between;font-size:.75rem;font-weight:800;padding-top:.2rem}
.risk__msg{font-weight:700;min-height:3.2em}
.risk__form label{font-weight:800;display:block;margin-bottom:.3rem}
.risk__row{display:flex;gap:.6rem;flex-wrap:wrap}
.risk input{flex:1 1 9rem;min-width:0;font:inherit;font-weight:700;padding:.75rem 1rem;border:3px solid var(--ink);border-radius:.8rem;background:#fff;color:var(--ink)}
.risk .btn{padding:.7rem 1.2rem;font-size:.95rem}
.risk__note{font-size:.875rem;margin:1rem 0 0}

/* Ask */
.ask{background:var(--lemon);border-block:3px solid var(--ink)}
.ask .in{display:grid;gap:1.5rem}
.ask h2{color:var(--ink)}
.ask p{font-weight:700;max-width:38ch}
.ask form{display:grid;gap:.6rem;max-width:42rem}
.ask label{font-weight:800}
.ask input{width:100%;font:inherit;font-weight:700;font-size:1.15rem;padding:1rem 1.2rem;border:3px solid var(--ink);border-radius:.9rem;background:#fff;color:var(--ink)}
.ask .btn{justify-self:start;background:var(--green);color:#fff;box-shadow:0 .3rem 0 var(--ink)}
.ask__fine{font-size:.9rem;font-weight:400!important}

/* What is */
.what .in{display:grid;gap:1.5rem}
.what__body{max-width:var(--measure)}
.what__body p:first-child{font-size:1.4rem;font-weight:700;line-height:1.4}
.aside{background:var(--cream);border:3px solid var(--ink);border-radius:.9rem;padding:1rem 1.25rem;font-size:1rem}

/* Symptoms checklist */
.symp{background:var(--green);color:#fff}
.symp h2{color:#fff}
.symp .in{display:grid;gap:2rem}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:1rem;max-width:44rem}
.checks li{display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;align-items:start;font-size:1.2rem;font-weight:800;line-height:1.35}
.checks li::before{content:"";width:2.4rem;height:2.4rem;background:var(--cream);border:3px solid var(--ink);border-radius:.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M4 12.5l5 5L20 6%27 fill=%27none%27 stroke=%27%230a7d3b%27 stroke-width=%273.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");background-size:80%;background-position:center;background-repeat:no-repeat}

/* Guide rows with bedside objects */
.guide{background:var(--cream)}
.guide__head{margin-bottom:2rem;display:grid;gap:.75rem}
.guide__head p{max-width:46ch;font-weight:700}
.rows{display:grid;gap:0;border-top:3px solid var(--ink)}
.row{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem 1.25rem;align-items:center;padding:1.5rem 0;border-bottom:3px solid var(--ink);text-decoration:none}
.row svg{width:5.5rem;height:5.5rem;transition:transform .3s}
.row:hover svg{transform:rotate(-8deg) scale(1.08)}
.row h3{font-size:clamp(1.6rem,5vw,2.4rem);color:var(--green)}
.row p{margin:.3rem 0 0;max-width:46ch}
.row .go{font-weight:800;display:inline-block;margin-top:.4rem;text-decoration:underline;text-decoration-thickness:.15em}
.row:hover h3{color:var(--tangerine)}

/* Severity */
.sev{background:var(--green-dk);color:#fff}
.sev h2{color:#fff}
.sev h2 span{color:var(--lemon)}
.sev .in{display:grid;gap:2rem}
.sev table{border-collapse:collapse;width:100%;max-width:46rem}
.sev caption{text-align:left;font-weight:800;padding-bottom:1rem}
.sev th,.sev td{padding:.45rem 0;text-align:left;vertical-align:middle}
.sev th{font-weight:800;width:4.5rem}
.bar{display:block;height:1.1rem;border-radius:.55rem;min-width:1.1rem;width:var(--w);transform-origin:0 50%}
.bar--r{background:var(--tangerine)}
.bar--m{background:#fff;margin-top:.3rem}
.key{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;font-weight:800;font-size:.9rem}
.key i{display:inline-block;width:1.4rem;height:.8rem;border-radius:.4rem;margin-right:.5rem}
.sev__fine{max-width:38ch;font-weight:700}

/* FAQ */
.faq h2{margin-bottom:1.5rem}
.faq__list{max-width:52rem}
.faq details{background:var(--cream);border:3px solid var(--ink);border-radius:.9rem;margin-bottom:.8rem;padding:1rem 1.25rem}
.faq summary{cursor:pointer;font-family:var(--font-display);font-size:1.2rem;text-transform:uppercase;line-height:1.2;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--tangerine);font-size:1.6rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:.8rem 0 0;max-width:var(--measure)}

/* Share */
.share{background:var(--tangerine);border-block:3px solid var(--ink)}
.share .in{display:grid;gap:1.25rem}
.share h2{color:var(--ink)}
.share p{font-weight:700;max-width:44ch;margin:0}
.share__links{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1rem}
.share .btn{background:var(--ink);color:#fff;box-shadow:0 .3rem 0 var(--green-dk)}
.share .btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink),0 .3rem 0 var(--ink)}

/* Footer */
.site-footer{padding:2.5rem var(--gutter) 3rem;max-width:76rem;margin-inline:auto;display:grid;gap:1.5rem}
.site-footer ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.site-footer a{font-weight:800}
.disclaimer{font-size:.95rem;max-width:64ch}

/* Desktop: a separate composition */
@media (min-width:64em){
	body{font-size:1.1875rem}
	.hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:1rem 2rem;padding-top:2rem}
	.hero h1{font-size:clamp(3rem,5.4vw,5.6rem)}
	.hero__scene{margin-inline:0}
	.snd{margin-right:0}
	.riskband .in{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4rem;align-items:center}
	.risk{padding:3rem 2rem 2rem}
	.ask .in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:center}
	.what .in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem}
	.symp .in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
	.rows{grid-template-columns:1fr 1fr;border-top:0;column-gap:3rem}
	.row{border-top:3px solid var(--ink);border-bottom:0;grid-template-columns:7rem 1fr;padding:2rem 0}
	.row svg{width:7rem;height:7rem}
	.rows .row:nth-child(even){transform:translateY(2.5rem)}
	.sev .in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
	.faq .in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3rem;align-items:start}
	.faq h2{margin:0}
	.share .in{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:3rem}
	.site-footer{grid-template-columns:7fr 5fr;gap:3rem}
}

/* Scroll reveals: progressive enhancement, content visible without them */
@supports (animation-timeline:view()){
	.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
	.sev .bar{animation:grow linear both;animation-timeline:view();animation-range:entry 10% entry 60%}
	@keyframes rise{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}
	@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
.hero h1 span{animation:pop .7s cubic-bezier(.2,1.2,.3,1) both}
.hero h1 span:nth-child(2){animation-delay:.12s}
.hero h1 span:nth-child(3){animation-delay:.24s}
@keyframes pop{from{opacity:0;transform:translateY(1.2rem) rotate(-2deg)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	.ticker__track{width:auto;flex-wrap:wrap}
	.ticker__track ul:nth-child(2){display:none}
	.ticker li{padding-block:.2rem}
}

/* ===== Inner pages (loaded after site.css) ===== */
.site-nav a[aria-current]{color:var(--green);text-decoration:underline;text-decoration-thickness:.18em}
.crumbs{font-weight:800;font-size:.9rem;margin:0 0 1rem}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 .4rem;opacity:.6}
.phero{padding:1rem var(--gutter) 3rem;max-width:80rem;margin-inline:auto;display:grid;gap:1.5rem}
.phero h1{font-size:clamp(2.4rem,9.5vw,4rem);color:var(--green)}
.phero__lede{font-size:1.25rem;font-weight:700;max-width:38ch;margin:1rem 0 0}
.phero__art{width:100%;max-width:32rem;justify-self:center}
.art *{transform-box:fill-box}
.callout{background:var(--cream);border:3px solid var(--ink);border-left-width:.7rem;border-radius:.9rem;padding:1rem 1.25rem;font-size:1rem;max-width:60rem}
.callout h2,.callout h3{font-family:var(--font-body);font-size:1.05rem;font-weight:800;text-transform:none;color:var(--ink);margin:0 0 .3rem;line-height:1.3}
.callout p{margin:0}
.callout--lemon{background:var(--lemon)}
.plain{background:var(--cream)}
.mint{background:#cfe6d8}

/* Thermometer (symptoms) */
.mercury{transform-origin:50% 100%;animation:rise 3.2s cubic-bezier(.3,.7,.2,1) .4s both}
@keyframes rise{from{transform:scaleY(.04)}to{transform:scaleY(1)}}
.bell{transform-origin:50% 0;animation:ring 1.6s ease-in-out 3.4s infinite}
@keyframes ring{0%,40%,100%{transform:rotate(0)}5%{transform:rotate(14deg)}10%{transform:rotate(-12deg)}15%{transform:rotate(10deg)}20%{transform:rotate(-8deg)}25%{transform:rotate(5deg)}30%{transform:rotate(0)}}
.flag{animation:flagin .5s ease-out 3.4s both}
@keyframes flagin{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

/* Symptoms list */
.symlist{border-bottom:3px solid var(--ink)}
.sym{display:grid;gap:1rem;padding:1.75rem 0;border-top:3px solid var(--ink)}
.sym__head{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}
.sym__no{font-family:var(--font-display);font-size:2.8rem;line-height:1;color:var(--tangerine)}
.sym h3{font-size:clamp(1.7rem,5vw,2.4rem);color:var(--green)}
.tag{display:inline-block;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border:3px solid var(--ink);border-radius:999px;padding:.1rem .7rem;background:var(--lemon)}
.tag--hot{background:var(--red);color:#fff}
.sym__desc{margin:0;font-weight:700;max-width:46ch}
.talk{display:grid;gap:.8rem}
.says,.real{padding:.9rem 1.1rem;max-width:34rem;font-size:1.02rem}
.says{background:var(--tangerine);border-radius:1.2rem 1.2rem 1.2rem .25rem;font-weight:700;margin:0}
.real{background:var(--cream);border:3px solid var(--ink);border-radius:1.2rem 1.2rem .25rem 1.2rem;margin:0}
.says b,.real b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.when{display:grid;gap:1.5rem;grid-template-columns:1fr}
.when__item{padding:1.25rem;border:3px solid var(--ink);border-radius:.9rem;background:var(--cream)}
.when__item h3{font-size:1.3rem;margin-bottom:.4rem;color:var(--green)}
.when__item p{margin:0}
.when__item--hot{background:var(--red);color:#fff}
.when__item--hot h3{color:#fff}

/* Care steps */
.steps{counter-reset:s;list-style:none;margin:0;padding:0;border-bottom:3px solid var(--ink)}
.step{counter-increment:s;display:grid;grid-template-columns:3.6rem 1fr;gap:.5rem 1rem;padding:1.5rem 0;border-top:3px solid var(--ink)}
.step::before{content:counter(s);font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--tangerine)}
.step h3{font-size:clamp(1.5rem,4.5vw,2.1rem);color:var(--green);margin-bottom:.4rem}
.step p{margin:0 0 .6rem;max-width:56ch}
.step .tag{margin-bottom:.6rem}
.step__tip{font-weight:800}
.tea-fill{animation:fill 5s ease-in-out infinite}
@keyframes fill{0%{transform:translateY(140px)}55%,90%{transform:translateY(0)}100%{transform:translateY(140px)}}
.tea-bag{transform-origin:50% 0;animation:dunk 5s ease-in-out infinite}
@keyframes dunk{0%,10%{transform:translateY(-14px)}30%,80%{transform:translateY(34px)}100%{transform:translateY(-14px)}}
.heart{transform-origin:50% 100%;animation:pulse 5s ease-in-out infinite;opacity:0}
@keyframes pulse{0%,55%{opacity:0;transform:scale(.2) translateY(14px)}65%{opacity:1;transform:scale(1.15) translateY(-8px)}75%,88%{opacity:1;transform:scale(1) translateY(-10px)}100%{opacity:0;transform:scale(1) translateY(-24px)}}

/* Essentials checklist */
.kitbar{position:sticky;top:0;z-index:5;background:var(--sage);padding:.8rem 0;border-bottom:3px solid var(--ink);margin-bottom:1.5rem}
.kitbar__row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.kitbar__txt{font-weight:800;margin:0}
.pbar{flex:1 1 12rem;height:1.2rem;border:3px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden}
.pbar__fill{height:100%;width:calc(var(--p,0) * 1%);background:var(--green);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.kitbar .btn{padding:.4rem 1rem;font-size:.85rem}
.kitgroup{margin-bottom:2.5rem}
.kitgroup h3{font-size:clamp(1.6rem,4.5vw,2.2rem);margin-bottom:1rem;color:var(--green)}
.kititems{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.kititems li{border-bottom:3px solid var(--ink)}
.item{display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;align-items:start;padding:.9rem 0;cursor:pointer}
.item input{appearance:none;-webkit-appearance:none;width:2.4rem;height:2.4rem;margin:0;border:3px solid var(--ink);border-radius:.5rem;background:#fff;cursor:pointer;display:grid;place-content:center}
.item input::after{content:"";width:1.6rem;height:1.6rem;background:var(--green);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 70%);transform:scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.item input:checked{background:var(--lemon)}
.item input:checked::after{transform:scale(1)}
.item__name{font-weight:800;font-size:1.15rem;display:block;line-height:1.3}
.item__note{display:block;font-size:.95rem}
.item input:checked ~ span .item__name{text-decoration:line-through;opacity:.6}
.packed{animation:packed .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes packed{from{transform:scale(.97)}to{transform:none}}
.drop-item{animation:itemdrop 9s infinite both}
@keyframes itemdrop{0%{transform:translateY(-260px);opacity:0}6%{opacity:1}12%{transform:translateY(0)}15%{transform:translateY(-22px)}18%{transform:translateY(0)}88%{transform:translateY(0);opacity:1}96%,100%{transform:translateY(0);opacity:0}}

/* Survival tips */
.waves{animation:slide 7s linear infinite}
.waves--b{animation-duration:11s;animation-direction:reverse}
@keyframes slide{to{transform:translateX(-120px)}}
.buoy{transform-origin:50% 50%;animation:bob 3.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}
.tiplist{list-style:none;margin:0;padding:0;border-bottom:3px solid var(--ink)}
.tiplist a{display:grid;grid-template-columns:3.6rem 1fr;gap:.2rem 1rem;padding:1.4rem 0;border-top:3px solid var(--ink);text-decoration:none;align-items:start}
.tiplist .no{font-family:var(--font-display);font-size:2.8rem;line-height:1;color:var(--tangerine);grid-row:span 2}
.tiplist h3{font-size:clamp(1.5rem,4.5vw,2.1rem);color:var(--green)}
.tiplist p{margin:.2rem 0 0;max-width:52ch}
.tiplist a:hover h3{color:var(--tangerine)}
.article{max-width:var(--measure);font-size:1.15rem}
.article h2{font-size:clamp(1.6rem,4.5vw,2.2rem);margin:2.2rem 0 .8rem}
.article ul{padding-left:1.2rem}
.article li{margin-bottom:.5rem}
.pager{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem}
.hand{transform-origin:50% 100%;animation:tick 60s steps(60) infinite}
@keyframes tick{to{transform:rotate(360deg)}}
.hand--s{animation-duration:6s}
.swing{transform-origin:50% 0;animation:swing 3s ease-in-out infinite}
@keyframes swing{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.zz{animation:zfloat 3.5s ease-in infinite;opacity:0}
.zz--2{animation-delay:1.1s}
.zz--3{animation-delay:2.2s}
@keyframes zfloat{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(34px,-70px) scale(1.2)}}
.ringing{transform-origin:50% 50%;animation:buzz 1.4s ease-in-out infinite}
@keyframes buzz{0%,50%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-5deg)}10%,20%,30%,40%{transform:rotate(5deg)}}
.wave{transform-origin:50% 50%;animation:wavefade 1.4s ease-out infinite;opacity:0}
.wave--2{animation-delay:.25s}
.wave--3{animation-delay:.5s}
@keyframes wavefade{0%{opacity:0;transform:scale(.6)}30%{opacity:1}100%{opacity:0;transform:scale(1.2)}}
.scribble{stroke-dasharray:220;stroke-dashoffset:220;animation:write 4s ease-in-out infinite}
.scribble--2{animation-delay:.6s}
.scribble--3{animation-delay:1.2s}
.scribble--4{animation-delay:1.8s}
@keyframes write{0%{stroke-dashoffset:220}35%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:220}}
.laugh{transform-origin:50% 100%;animation:ha 1.2s ease-in-out infinite}
@keyframes ha{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* For him */
.chat{display:grid;gap:.8rem;max-width:32rem}
.msg{padding:.8rem 1.1rem;border-radius:1.2rem 1.2rem .25rem 1.2rem;font-weight:700;background:var(--tangerine);justify-self:end;max-width:85%;animation:msgin .6s cubic-bezier(.3,1.5,.5,1) both}
.msg--in{background:#fff;border:3px solid var(--ink);border-radius:1.2rem 1.2rem 1.2rem .25rem;justify-self:start}
.msg:nth-child(2){animation-delay:1.1s}
.msg:nth-child(3){animation-delay:2.3s}
.msg:nth-child(4){animation-delay:3.4s}
@keyframes msgin{from{opacity:0;transform:translateY(16px) scale(.8)}to{opacity:1;transform:none}}
.say{border-top:3px solid var(--ink);padding:1.25rem 0;display:grid;gap:.6rem}
.say h3{font-size:1.2rem;color:var(--green)}
.say blockquote{margin:0;font-weight:700;font-size:1.1rem;background:var(--cream);border:3px solid var(--ink);border-radius:1rem;padding:.9rem 1.1rem;max-width:44rem}
.say .btn{justify-self:start;padding:.5rem 1.1rem;font-size:.9rem}
.sharebox{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0}
.benefits{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;max-width:44rem}
.benefits li{display:grid;grid-template-columns:2rem 1fr;gap:.8rem;font-weight:700}
.benefits li::before{content:"";width:2rem;height:2rem;background:var(--green);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 70%);margin-top:.1rem}

/* FAQ, testimonials, Q&A */
.qmark{animation:bob 3s ease-in-out infinite}
.qmark--2{animation-delay:.5s}
.qmark--3{animation-delay:1s}
.quotes{columns:1;column-gap:1.5rem}
.quote{break-inside:avoid;margin:0 0 1.5rem;background:var(--cream);border:3px solid var(--ink);border-radius:1.2rem 1.2rem 1.2rem .25rem;padding:1.25rem}
.quote:nth-child(3n+2){background:var(--lemon);border-radius:1.2rem 1.2rem .25rem 1.2rem}
.quote:nth-child(3n){background:#cfe6d8}
.quote p{margin:0 0 .8rem;font-weight:700;font-size:1.1rem}
.quote cite{font-style:normal;font-size:.9rem;font-weight:800}
.stars{color:var(--tangerine);letter-spacing:.15em;font-size:1.1rem;margin-bottom:.4rem;display:block}
.form{display:grid;gap:.8rem;max-width:36rem}
.form label{font-weight:800}
.form input,.form textarea{font:inherit;font-weight:700;padding:.8rem 1rem;border:3px solid var(--ink);border-radius:.8rem;background:#fff;color:var(--ink);width:100%}
.form .btn{justify-self:start}
.twinkle{animation:twinkle 2.4s ease-in-out infinite}
.twinkle--2{animation-delay:.3s}
.twinkle--3{animation-delay:.6s}
.twinkle--4{animation-delay:.9s}
.twinkle--5{animation-delay:1.2s}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.25) rotate(12deg)}}
.typing{display:inline-flex;gap:.4rem;background:#fff;border:3px solid var(--ink);border-radius:1.2rem 1.2rem 1.2rem .25rem;padding:.7rem 1rem;animation:typingout .4s 2.6s forwards}
.typing i{width:.7rem;height:.7rem;border-radius:50%;background:var(--ink);animation:dot 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-.4rem);opacity:1}}
@keyframes typingout{to{opacity:0;height:0;padding:0;border-width:0;margin:0}}
.answer>*{animation:ansin .6s cubic-bezier(.2,.9,.3,1) both}
.answer>:nth-child(1){animation-delay:2.7s}
.answer>:nth-child(2){animation-delay:3.1s}
.answer>:nth-child(3){animation-delay:3.5s}
.answer>:nth-child(4){animation-delay:3.9s}
.answer>:nth-child(5){animation-delay:4.3s}
.answer>:nth-child(6){animation-delay:4.7s}
@keyframes ansin{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}
.answer h2{font-size:clamp(1.5rem,4vw,2rem);margin:1.5rem 0 .6rem}
.answer{max-width:var(--measure);font-size:1.15rem}
.asked{font-weight:800;margin:0 0 .6rem}

@media (min-width:64em){
	.phero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:3rem;padding-bottom:4rem}
	.phero h1{font-size:clamp(3rem,5vw,4.6rem)}
	.sym{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;align-items:start;padding:2.25rem 0}
	.talk{grid-template-columns:1fr 1fr;align-items:start}
	.talk .real{margin-top:1.4rem}
	.when{grid-template-columns:1fr 1fr 1fr}
	.steps{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;border-bottom:0;padding-bottom:3rem}
	.step{padding:2rem 0}
	.step:nth-child(even){transform:translateY(2.5rem)}
	.kitgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;align-items:start}
	.tiplist{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;border-bottom:0;padding-bottom:3rem}
	.tiplist li:nth-child(even){transform:translateY(2rem)}
	.quotes{columns:2}
	.quote:nth-child(odd){rotate:-.6deg}
	.quote:nth-child(even){rotate:.6deg}
	.forhim{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
}
@media (prefers-reduced-motion:reduce){
	.mercury,.flag,.msg,.answer>*{animation:none!important;opacity:1;transform:none}
	.typing{display:none}
	.scribble{stroke-dashoffset:0}
}
.linkline{font-weight:800}

/* Q&A list and pagination */
.qlist{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink);max-width:52rem}
.qlist li{border-bottom:3px solid var(--ink)}
.qlist a{display:block;padding:1.1rem 0;text-decoration:none}
.qlist h3{font-size:clamp(1.2rem,3.6vw,1.6rem);color:var(--green);text-transform:none;font-family:var(--font-display);line-height:1.2}
.qlist a:hover h3{color:var(--tangerine)}
.qlist__meta{margin:.3rem 0 0;font-size:.9rem;font-weight:800}
.qpager{max-width:52rem;align-items:center}
.qpager__count{font-weight:800}
.share-box{background:var(--cream);border:3px solid var(--ink);border-radius:.9rem;padding:1.1rem 1.25rem;max-width:60rem;display:grid;gap:.8rem}
.share-box h2,.share-box h3{font-size:1.2rem;color:var(--green)}
.share-box p{margin:0}

/* Footer base row, build credit and country picker */
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;border-top:3px solid var(--ink);padding-top:1.25rem;font-size:.95rem;font-weight:700}
.footer-base p{margin:0}
.footer-credit a{font-weight:800}
@media (min-width:64em){
	.site-footer .footer-base{grid-column:1 / -1}
}

/* Answer pages: use the full width on desktop */
.qa-title{font-size:clamp(2rem,6vw,3.6rem);color:var(--green);max-width:none}
.answer--wide{max-width:none;display:grid;gap:1.5rem 4rem}
.answer--wide .answer__lead{font-size:1.35rem;font-weight:700;line-height:1.45;max-width:60rem;margin:0}
.answer--wide h2{margin-top:0}
.answer--wide .callout{max-width:none}
@media (min-width:64em){
	.answer--wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
	.answer--wide .answer__lead{grid-column:1 / -1}
	.answer--wide .answer__main{grid-column:1}
	.answer--wide .answer__side{grid-column:2;display:grid;gap:1.5rem}
}
.qa-nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.5rem;border-top:3px solid var(--ink)}
.qa-nav a{max-width:26rem;text-decoration:none;display:block}
.qa-nav small{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}
.qa-nav strong{font-family:var(--font-display);font-weight:400;font-size:1.15rem;line-height:1.2;color:var(--green)}
.qa-nav a:hover strong{color:var(--tangerine)}
.qa-nav__next{text-align:right;margin-left:auto}

/* Care and tip sub-pages: step links and in-article extras */
.step__more{font-weight:800;display:inline-block;margin-top:.4rem}
.article--wide{max-width:none}
.article--wide .prose{max-width:var(--measure)}
.article h3{font-size:1.25rem;margin:1.5rem 0 .5rem;color:var(--ink);text-transform:none;font-family:var(--font-body);font-weight:800;line-height:1.3}
.checklist{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.6rem}
.checklist li{display:grid;grid-template-columns:1.8rem 1fr;gap:.7rem;font-weight:700}
.checklist li::before{content:"";width:1.8rem;height:1.8rem;border:3px solid var(--ink);border-radius:.4rem;background:#fff}
.say-box{background:var(--cream);border:3px solid var(--ink);border-radius:1rem;padding:1rem 1.25rem;margin:1rem 0;font-weight:700}
.say-box b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.related{display:grid;gap:.6rem;margin-top:1rem}
.related a{font-weight:800}

/* Care step illustrations */
.care-bob{transform-origin:50% 100%;animation:bob 3.8s ease-in-out infinite}
.curtain{transform-origin:50% 0;animation:sway 4s ease-in-out infinite}
@keyframes sway{0%,100%{transform:skewX(0)}50%{transform:skewX(2.5deg)}}

/* Article pages (care steps, survival tips): use the full width, sections flow in two columns on desktop */
.article--grid{max-width:none;display:grid;gap:1.5rem 4rem}
.article--grid .art-sec h2{margin-top:0}
.article--grid .art-sec{min-width:0}
.article--grid .art-sec p,.article--grid .art-sec ul{max-width:none}
@media (min-width:64em){
	.article--grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 5rem;align-items:start}
	.article--grid .callout,.article--grid .pager,.article--grid .linkline{grid-column:1 / -1}
	.article--grid .callout{max-width:none}
}

/* ===== WordPress additions ===== */
.site-nav .menu{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;list-style:none;margin:0;padding:0}
.site-nav .current-menu-item>a,.site-nav .current-page-ancestor>a,.site-nav .current-menu-ancestor>a{color:var(--green);text-decoration:underline;text-decoration-thickness:.18em}
.site-footer .menu{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.entry-content{max-width:var(--measure)}
.notice{border:3px solid var(--ink);border-radius:.9rem;padding:.9rem 1.1rem;font-weight:800;margin:0 0 1.5rem;max-width:44rem}
.notice--ok{background:#cfe6d8}
.notice--err{background:var(--lemon)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.empty{font-weight:700;max-width:44ch}
