/* Teachers Domains: chalkboard + craft paper, primary-color accents */
@font-face{font-family:"Young Serif";src:url(/fonts/YoungSerif-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/Figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Sniglet";src:url(/fonts/Sniglet-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Kalam";src:url(/fonts/Kalam-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Kalam";src:url(/fonts/Kalam-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--paper:#f3e8d2;--paper2:#e9d7b4;--cream:#fffaf0;--chalk:#2d3b36;--chalk2:#394a43;--ink:#22302b;--navy:#1f2d4d;--red:#d6402f;--red-d:#b32f20;--blue:#1f56b8;--yellow:#f2b705;--green:#2f7d5b;--line:rgba(34,48,43,.18);--r:14px;--sh:0 2px 0 rgba(34,48,43,.14),0 10px 24px -14px rgba(34,48,43,.5);--head:"Young Serif",Georgia,serif;--body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--round:"Sniglet","Figtree",system-ui,sans-serif;--hand:"Kalam","Comic Sans MS",cursive}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 1rem/1.6 var(--body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(rgba(120,90,40,.07) 1px,transparent 1.4px),radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.4px);background-size:7px 7px,11px 11px;background-position:0 0,3px 5px;padding-bottom:env(safe-area-inset-bottom)}
img,svg{max-width:100%;height:auto}
img{display:block}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--red-d)}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.18;color:var(--navy);margin:0 0 .5em}
h1{font-size:clamp(1.9rem,6vw,3rem)}
h2{font-size:clamp(1.4rem,4vw,2rem)}
h3{font-size:1.1rem}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:0;background:var(--yellow);color:#000;padding:.6rem 1rem;z-index:100}.skip:focus{left:8px;top:8px}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.narrow{max-width:780px}
.block{padding-top:44px;padding-bottom:12px}
.h-sec{margin-bottom:.8em}
.sub,.lead{font-size:1.1rem;color:#3d4a45}.lead{max-width:62ch}
.chalk{font-family:var(--hand);font-weight:700}
.more{text-align:center;margin:26px 0 0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
/* strip + header */
.strip{background:var(--yellow);color:#2a2100;text-align:center;font-size:.8rem;font-weight:600;padding:5px 12px}.strip p{margin:0}
.top{position:sticky;top:0;z-index:50;background:var(--chalk);color:var(--cream);display:flex;align-items:center;gap:14px;padding:8px 16px;border-bottom:4px solid var(--red);box-shadow:0 6px 18px -10px rgba(0,0,0,.6)}
.brand{display:flex;align-items:center;gap:9px;color:var(--cream);text-decoration:none;margin-right:auto}
.brand-t{font-family:var(--round);font-size:1.15rem;letter-spacing:.01em;line-height:1}.brand-t b{color:var(--yellow);font-weight:800;display:block;font-size:.95rem}
.nav{display:none}
.nav a{color:var(--cream);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a:hover{color:var(--yellow)}
.bag{position:relative;color:var(--cream);display:inline-flex;padding:8px;border-radius:50%}
.bag-n{position:absolute;top:0;right:-2px;background:var(--red);color:#fff;font:700 .7rem/1 var(--body);min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.menu{background:none;border:0;padding:10px;display:flex;flex-direction:column;gap:5px;cursor:pointer}
.menu span{width:24px;height:3px;background:var(--cream);border-radius:2px;display:block}
html.js .nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--chalk);padding:8px 16px 18px;gap:2px;border-bottom:4px solid var(--red);max-height:80vh;overflow:auto}
html.js .nav.open a{padding:9px 4px}
.nav.open .drop{display:none}
.nav-hi{background:var(--red);padding:7px 14px;border-radius:999px;color:#fff!important;align-self:flex-start}
@media (min-width:980px){.menu{display:none}.nav{display:flex;align-items:center;gap:20px}.nav-grp{position:relative;padding:10px 0}.drop{display:none;position:absolute;top:100%;left:-14px;background:var(--chalk2);border:2px solid var(--chalk);border-top:4px solid var(--yellow);border-radius:0 0 12px 12px;padding:10px;min-width:240px;box-shadow:0 18px 30px -12px rgba(0,0,0,.6);columns:1}.nav-grp:hover .drop,.nav-grp:focus-within .drop{display:block}.drop a{display:block;padding:6px 10px;border-radius:8px;font-weight:500}.drop a:hover{background:rgba(255,255,255,.08)}.nav-hi{align-self:center}.top{padding:10px 28px}}
/* crumbs */
.crumbs{margin:14px 0 6px;font-size:.84rem}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:0;margin:0}.crumbs li+li::before{content:"/";margin-right:4px;color:#8a7f66}.crumbs a{color:#52605a}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 1.02rem/1 var(--round);letter-spacing:.01em;padding:15px 26px;min-height:50px;border-radius:999px;border:3px solid var(--navy);text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 0 var(--navy)}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--navy)}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--navy)}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{color:#fff;background:var(--red-d)}
.btn-ghost{background:var(--cream);color:var(--navy)}.btn-ghost:hover{color:var(--navy);background:#fff}
.btn-block{width:100%}.btn-sm{padding:10px 18px;min-height:42px;font-size:.92rem}
.btn[disabled]{opacity:.55;cursor:not-allowed}
/* hero */
.hero{background:var(--chalk);color:var(--cream);position:relative;border-bottom:6px solid var(--yellow);background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.5px);background-size:9px 9px}
.hero-in{max-width:1180px;margin:0 auto;padding:30px 16px 40px;display:grid;gap:26px}
.hero h1{color:var(--cream);font-size:clamp(2.2rem,8vw,3.8rem)}
.hero .lead{color:#e7e1cf}
.kicker{color:var(--yellow);font-size:1.25rem;margin:0 0 4px;transform:rotate(-1.5deg);display:inline-block}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.hero .btn-ghost{background:transparent;color:var(--cream);border-color:var(--cream);box-shadow:0 4px 0 var(--cream)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.1);box-shadow:0 6px 0 var(--cream)}
.hero .btn-primary{border-color:var(--cream);box-shadow:0 4px 0 var(--cream)}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:0;font-size:.9rem;color:#d5ceb8}.trust li::before{content:"\2713 ";color:var(--yellow);font-weight:800}
.paper-card{background:var(--cream);color:var(--ink);border-radius:var(--r);padding:18px;box-shadow:var(--sh);position:relative}
.paper-card::before{content:"";position:absolute;top:-11px;left:50%;width:84px;height:22px;margin-left:-42px;background:rgba(242,183,5,.75);transform:rotate(-2deg);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.paper-card.mini::before,.paper-card.tilt::before{display:none}
.tilt{transform:rotate(1.4deg)}
.hero-try .paper-card label{display:block;color:var(--navy);font-size:1.2rem;margin-bottom:6px}
.hero-try input{width:100%;font:700 1.15rem var(--body);padding:12px 14px;border:3px solid var(--navy);border-radius:12px;background:#fff;color:var(--navy)}
.qprev{margin:14px auto;max-width:320px;border-radius:12px;overflow:hidden;background:#fff;aspect-ratio:4/3}.qprev img,.qprev svg{width:100%;height:100%;object-fit:contain}
@media (min-width:900px){.hero-in{grid-template-columns:1.15fr .85fr;align-items:center;padding:52px 28px 60px}}
/* bands & tiles */
.band{padding:40px 0;margin-top:44px}
.chalkband{background:var(--chalk);color:var(--cream);background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.5px);background-size:9px 9px}.chalkband h2{color:var(--cream)}
.paperband{background:var(--paper2);border-top:3px dashed rgba(34,48,43,.25);border-bottom:3px dashed rgba(34,48,43,.25)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tile{background:var(--cream);border-radius:var(--r);box-shadow:var(--sh);text-decoration:none;color:var(--navy);overflow:hidden;text-align:center;transition:transform .15s}
.tile:hover{transform:translateY(-4px) rotate(-.6deg)}.tile img{aspect-ratio:1;object-fit:cover;width:100%;background:#fff}
.tile span{display:block;padding:10px;font-family:var(--round);font-weight:800}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:700 .92rem var(--body);padding:9px 15px;border-radius:999px;border:2px solid var(--navy);background:var(--cream);color:var(--navy);text-decoration:none;cursor:pointer}
.chip:hover{background:var(--yellow);color:var(--navy)}.chip[aria-pressed=true]{background:var(--navy);color:var(--cream)}
.chalkband .chip{border-color:var(--cream);background:transparent;color:var(--cream)}.chalkband .chip:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}
.occ{display:grid;gap:12px;grid-template-columns:1fr}
.occ-card{display:flex;flex-direction:column;gap:4px;background:var(--cream);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--sh);border-left:8px solid var(--red)}
.occ-card:nth-child(3n+2){border-left-color:var(--blue)}.occ-card:nth-child(3n){border-left-color:var(--yellow)}
.occ-card b{font-family:var(--head);font-weight:400;font-size:1.15rem;color:var(--navy)}.occ-card span{font-size:.92rem;color:#4c5a54}.occ-card:hover{transform:translateX(3px)}
@media (min-width:640px){.occ{grid-template-columns:repeat(2,1fr)}.tiles{grid-template-columns:repeat(4,1fr)}}
@media (min-width:980px){.occ{grid-template-columns:repeat(3,1fr)}}
/* grid + cards */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0}
.grid-2{grid-template-columns:1fr}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--cream);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s}
.card:hover{transform:translateY(-4px) rotate(.4deg)}
.card-img{display:block;background:#fff;position:relative}.card-img img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.card-b{padding:12px 14px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card .ct{font-family:var(--body);font-weight:700;font-size:.98rem;line-height:1.3;margin:0;color:var(--ink)}.card .ct a{color:inherit;text-decoration:none}.card .ct a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.tag{align-self:flex-start;font:800 .68rem var(--round);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue);padding:3px 9px;border-radius:999px}
.card:nth-child(3n+2) .tag{background:var(--green)}.card:nth-child(3n) .tag{background:var(--red)}
.price{font:800 1.12rem var(--round);color:var(--red-d);margin:auto 0 0}.price s{color:#5b5644;font-weight:600;font-size:.9rem}
.card-set .card-img img{aspect-ratio:4/3}
/* sections */
.steps{list-style:none;counter-reset:s;display:grid;gap:14px;padding:0;margin:0}
.steps li{counter-increment:s;background:var(--cream);border-radius:var(--r);padding:18px 18px 18px 64px;position:relative;box-shadow:var(--sh);display:flex;flex-direction:column}
.steps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--navy);font:800 1.2rem/38px var(--round);text-align:center;border:3px solid var(--navy)}
.steps b{font-family:var(--head);font-weight:400;font-size:1.1rem;color:var(--navy)}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.split{display:grid;gap:26px;align-items:center}@media (min-width:800px){.split{grid-template-columns:1.3fr .7fr}}
.ticks{list-style:none;padding:0;margin:0;font-weight:700}.ticks li{padding:6px 0 6px 28px;position:relative}.ticks li::before{content:"\2605";position:absolute;left:0;color:var(--yellow);text-shadow:0 0 1px #000}
.glist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.glist li{background:var(--cream);border-radius:12px;padding:12px 16px;box-shadow:var(--sh)}.glist a{font-weight:700;display:block}.glist span{font-size:.9rem;color:#52605a}
@media (min-width:760px){.glist{grid-template-columns:repeat(2,1fr)}}
.prose{max-width:74ch;margin:30px 0}.prose h2{font-size:1.45rem}
.intro{max-width:74ch;margin-bottom:10px}
.cta-band{display:flex;flex-direction:column;gap:16px;align-items:flex-start;background:var(--chalk);color:var(--cream);border-radius:var(--r);padding:24px;margin:34px 0;border:4px solid var(--yellow)}
.cta-band h2{color:var(--cream);font-size:1.5rem}.cta-band p{margin:0;color:#e3dcc7}
@media (min-width:760px){.cta-band{flex-direction:row;align-items:center;justify-content:space-between}}
.cta-band .btn{flex:none}
.faq{margin:34px 0;max-width:80ch}
.faq details{background:var(--cream);border-radius:12px;margin:0 0 10px;box-shadow:var(--sh)}
.faq summary{cursor:pointer;padding:15px 18px;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::after{content:"+";font:800 1.3rem/1 var(--round);color:var(--red)}.faq details[open] summary::after{content:"\2212"}
.faq p{padding:0 18px 16px;margin:0;color:#3d4a45}
.related-links{margin:34px 0}.related-links ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.related-links h2{font-size:1.2rem}
/* filters */
.filters{margin:18px 0;background:var(--cream);padding:16px;border-radius:var(--r);box-shadow:var(--sh)}
.frow{display:grid;gap:12px;margin-top:14px}@media (min-width:760px){.frow{grid-template-columns:repeat(4,1fr)}}
.frow label,.fld{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.85rem;color:var(--navy)}
select,input[type=text],input[type=search],input[type=email],input[type=number],textarea{font:500 1rem var(--body);padding:11px 12px;border:2px solid #b7aa8b;border-radius:10px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(31,86,184,.25)}
.count{margin:12px 0 0;font-size:.9rem;color:#52605a}.empty{padding:30px;text-align:center}
.hp{position:absolute;left:-9999px;opacity:0}
/* product page */
.pdp{display:grid;gap:22px;margin:10px 0 24px;grid-template-columns:minmax(0,1fr)}.pdp>*,.builder>*{min-width:0}
@media (min-width:900px){.pdp{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:start}.gallery{position:sticky;top:88px}}
.g-main{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}.g-main img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.g-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px;scrollbar-width:thin}
.g-thumbs button{flex:none;width:68px;border:3px solid transparent;border-radius:10px;background:#fff;padding:0;cursor:pointer;overflow:hidden}.g-thumbs button[aria-current=true]{border-color:var(--red)}.g-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.mock-note{font-size:.8rem;color:#52605a;margin:0}
.buy .price{font-size:1.6rem;margin:6px 0}.made{font-size:.92rem;color:#3d4a45}
.buy h1{font-size:clamp(1.55rem,5vw,2.2rem)}
.opt{border:0;padding:0;margin:0 0 16px}.opt legend{font-weight:700;font-size:.9rem;margin-bottom:8px;color:var(--navy);padding:0}
.opt-vals{display:flex;flex-wrap:wrap;gap:8px}
.sw input,.pill input{position:absolute;opacity:0;pointer-events:none}
.sw{position:relative;cursor:pointer}.sw span{display:block;width:40px;height:40px;border-radius:50%;border:3px solid var(--cream);box-shadow:0 0 0 2px #a99d80}.sw i{position:absolute;left:-9999px}
.sw input:checked+span{box-shadow:0 0 0 3px var(--red)}.sw input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.pill{cursor:pointer;position:relative}.pill span{display:block;padding:10px 16px;border:2px solid var(--navy);border-radius:10px;font-weight:700;background:var(--cream);min-width:48px;text-align:center}
.pill input:checked+span{background:var(--navy);color:var(--cream)}.pill input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.pill input:disabled+span,.sw input:disabled+span{opacity:.35;text-decoration:line-through}
.qty{display:flex;align-items:center;gap:14px;margin:6px 0 16px}.qty label{font-weight:700;color:var(--navy)}
.stepper{display:inline-flex;border:2px solid var(--navy);border-radius:10px;overflow:hidden;background:#fff}
.stepper button{width:44px;border:0;background:var(--cream);font:800 1.3rem var(--round);cursor:pointer;color:var(--navy)}
.stepper input{width:56px;border:0;border-radius:0;text-align:center;padding:10px 0;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{display:none}
.ship-note{font-size:.84rem;color:#52605a;margin:8px 0 0;text-align:center}
.mini{margin-top:20px}.mini p{margin:4px 0 12px;font-size:.92rem}
.details dl{display:grid;gap:4px 18px}.details dt{font-weight:800;color:var(--navy);margin-top:10px}.details dd{margin:0}
@media (min-width:640px){.details dl{grid-template-columns:150px 1fr}.details dt{margin-top:0}}
.stickybuy{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--chalk);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:4px solid var(--yellow);box-shadow:0 -8px 20px rgba(0,0,0,.3)}
.stickybuy div{display:flex;flex-direction:column;line-height:1.25;min-width:0}.stickybuy b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stickybuy span{font:800 1.1rem var(--round);color:var(--yellow)}
.stickybuy .btn{border-color:var(--cream);box-shadow:none;padding:12px 20px;min-height:46px;white-space:nowrap}
@media (min-width:900px){.stickybuy{display:none!important}}
.set-parts{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin:16px 0}@media (min-width:760px){.set-parts{grid-template-columns:repeat(3,1fr)}}
.set-buy{max-width:520px;margin:26px 0}.save{background:var(--yellow);color:#000;border-radius:999px;padding:2px 10px;font-size:.8rem}
/* builder */
.builder{display:grid;gap:22px;margin:16px 0 30px}
@media (min-width:920px){.builder{grid-template-columns:1fr 1fr;gap:40px;align-items:start}.prev-sticky{position:sticky;top:86px}}
.prev-stage{border-radius:var(--r);box-shadow:var(--sh);background:#fff;padding:18px;display:flex;align-items:center;justify-content:center;min-height:220px;border:3px solid var(--cream);transition:background .2s}
.prev-art{width:100%;max-width:560px;margin:0 auto;line-height:0}.prev-art svg,.prev-art img{width:100%;height:auto;display:block}
.prev-stage[data-apparel=true] .prev-art{max-width:440px}
.prev-note{font-size:.86rem;color:#4c5a54;margin:10px 4px}
.mockbox{display:flex;gap:12px;align-items:center;background:var(--cream);border-radius:var(--r);padding:10px;box-shadow:var(--sh)}.mockbox img{width:110px;height:auto;border-radius:10px;flex:none;background:#fff}.mockbox p{font-size:.8rem;margin:0;color:#4c5a54}
@media (max-width:919px){.prev-sticky{position:sticky;top:60px;z-index:5;background:var(--paper);padding-bottom:6px}.prev-stage{min-height:0;padding:8px}.prev-art{max-width:230px}.mockbox{display:none}.prev-note{display:none}}
.step{border:0;background:var(--cream);border-radius:var(--r);padding:16px;margin:0 0 14px;box-shadow:var(--sh);min-width:0}
.step legend{font:400 1.15rem var(--head);color:var(--navy);padding:0 6px;float:left;width:100%;margin-bottom:10px;display:flex;align-items:center;gap:10px}.step legend+*{clear:both}
.step legend i{font:800 .95rem/28px var(--round);width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--navy);text-align:center;border:2px solid var(--navy);font-style:normal}
.tabs{display:flex;flex-wrap:wrap;gap:8px}.tab{font:800 .9rem var(--round);padding:10px 16px;border-radius:999px;border:2px solid var(--navy);background:#fff;cursor:pointer;color:var(--navy)}.tab[aria-pressed=true]{background:var(--navy);color:#fff}
.fams{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width:520px){.fams{grid-template-columns:repeat(4,1fr)}}
.fam{position:relative;cursor:pointer}.fam input{position:absolute;opacity:0}.fam span{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:8px 4px;border:3px solid transparent;border-radius:12px;background:#fff;font-size:.74rem;line-height:1.2;box-shadow:0 0 0 1px var(--line)}.fam b{font-weight:700;color:var(--navy)}.fam img{width:64px;height:64px;object-fit:contain}
.fam input:checked+span{border-color:var(--red);box-shadow:0 3px 0 var(--red)}.fam input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fld{margin-bottom:12px}
.hint{font-size:.82rem;color:#52605a;margin:2px 0 0}.tiernote{font-size:.84rem;color:var(--green);font-weight:700;margin:6px 0 0}
.b-cta{background:var(--cream);border-radius:var(--r);padding:16px;box-shadow:var(--sh);display:grid;gap:10px;border:3px dashed var(--navy)}.b-cta .price{font-size:1.6rem;margin:0}.b-cta .ship-note{margin:0;text-align:left}
.form-error{background:#fde6e1;color:#8c1f12;padding:10px 12px;border-radius:10px;font-weight:600;margin:0}
.banner{background:var(--yellow);color:#2a2100;border-radius:var(--r);padding:14px 18px;font-weight:700;margin:12px 0}
.contact{max-width:560px}.contact .btn{margin-top:6px}
.reassure{margin-top:22px;font-size:.9rem;color:#3d4a45}
/* cart */
.cl{display:grid;grid-template-columns:84px 1fr;gap:12px;background:var(--cream);border-radius:var(--r);padding:12px;margin:0 0 12px;box-shadow:var(--sh)}
.cl img{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:10px}
.cl h3{font:700 1rem var(--body);margin:0 0 2px}.cl h3 a{color:var(--ink);text-decoration:none}
.cl small{display:block;color:#52605a;font-size:.82rem}
.cl-q{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}
.cl .stepper button{width:36px}.cl .stepper input{width:46px;padding:7px 0}
.cl-rm{background:none;border:0;color:var(--red-d);font:600 .85rem var(--body);cursor:pointer;text-decoration:underline}
.cl-p{font:800 1.05rem var(--round);color:var(--red-d)}
.sum{background:var(--cream);border-radius:var(--r);padding:16px;box-shadow:var(--sh);margin:16px 0;border:3px dashed var(--navy)}.sum div{display:flex;justify-content:space-between;padding:4px 0}.sum .tot{border-top:2px solid var(--line);margin-top:6px;padding-top:10px;font:800 1.25rem var(--round)}
/* guides */
.guide h1{font-size:clamp(1.6rem,5vw,2.4rem)}.guide .short{background:var(--cream);border-left:8px solid var(--yellow);padding:14px 18px;border-radius:0 var(--r) var(--r) 0;margin:14px 0 22px;font-size:1.05rem;box-shadow:var(--sh)}
.guide h2{font-size:1.4rem;margin-top:1.4em}.guide ul,.guide ol{padding-left:1.3em}.guide li{margin:.3em 0}
.guide .mist{background:#fde9e4;border-radius:var(--r);padding:14px 18px;margin:20px 0}
.gear{margin:36px 0;padding:22px 0 0;border-top:3px dashed rgba(34,48,43,.25)}
/* footer */
.bagbar{position:fixed;left:0;right:0;bottom:0;z-index:55;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--chalk);border-top:4px solid var(--yellow)}
.bagbar a{display:flex;justify-content:space-between;align-items:center;color:var(--cream);text-decoration:none;font-weight:700}.bagbar b{background:var(--red);padding:9px 18px;border-radius:999px;font-family:var(--round)}
@media (min-width:900px){.bagbar{display:none!important}}
.foot{background:var(--chalk);color:#d9d3bf;margin-top:64px;padding:38px 0 90px;border-top:6px solid var(--red)}
.foot-in{max-width:1180px;margin:0 auto;padding:0 16px;display:grid;gap:26px;grid-template-columns:1fr 1fr}
.foot-brand{grid-column:1/-1}.foot-brand .chalk{font-size:1.4rem;color:var(--yellow);margin-bottom:6px}
.foot h2{font:800 .85rem var(--round);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin:0 0 10px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:0 0 6px}.foot a{color:#e8e2cf;text-decoration:none;font-size:.92rem}.foot a:hover{color:var(--yellow);text-decoration:underline}
.foot-fine{max-width:1180px;margin:30px auto 0;padding:16px 16px 0;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem}
@media (min-width:900px){.foot-in{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}.foot{padding-bottom:40px}}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:90;background:var(--navy);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:92vw}
.toast a{color:var(--yellow)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
