:root{
  --ink:#1f1b3d;--muted:#5d5878;--paper:#fffdf8;--card:#ffffff;--line:#e9e4f2;
  --cyan:#12a7d8;--magenta:#e2307c;--yellow:#ffc53d;--violet:#7a5cff;--green:#25d366;
  --t-cyan:#e3f5fc;--t-magenta:#fde6f0;--t-yellow:#fff4d6;--t-violet:#eeeaff;--t-green:#e4f8ec;
  --head:'Baloo 2',system-ui,sans-serif;--body:'Nunito Sans',system-ui,sans-serif;
  --radius:22px;--shadow:0 10px 30px #1f1b3d14;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--head);line-height:1.05;margin:0;font-weight:700}
h1{font-size:clamp(40px,5.4vw,68px);letter-spacing:-1px}
h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.5px}
h2 em,h1 em{font-style:normal;color:var(--magenta)}
p{margin:0;color:var(--muted)}
a{color:inherit}
img,svg{display:block}
svg [display="none"],svg[display="none"]{display:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
[hidden]{display:none!important}
.wrap{width:min(1200px,100% - 32px);margin-inline:auto}
.section{padding-block:80px}
.pt0{padding-top:0}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kicker{font:700 13px var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--magenta);margin-bottom:12px}
.skip{position:fixed;left:16px;top:-80px;background:#fff;padding:12px 16px;z-index:99;border-radius:10px}.skip:focus{top:12px}
.fine{font-size:13px;margin-top:10px}
.lede{font-size:19px;margin-top:18px;max-width:600px}

/* Buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:15px 28px;font:700 16px var(--body);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:var(--magenta);transform:translateY(-2px)}
.btn-small{padding:10px 18px;font-size:14px}
.btn-wide{width:100%}
.btn-wa{background:#128c4a}.btn-wa:hover{background:#0f7a40}
.link{background:none;border:0;padding:0 0 3px;border-bottom:2px solid var(--yellow);font-weight:700;text-decoration:none;cursor:pointer;color:var(--ink)}
.link:hover{border-color:var(--magenta)}

/* Header */
.top{position:sticky;top:0;z-index:30;border-top:4px solid;border-image:linear-gradient(90deg,var(--cyan) 0 33.3%,var(--magenta) 0 66.6%,var(--yellow) 0) 1;background:#fffdf8ee;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{width:min(1200px,100% - 32px);margin-inline:auto;display:flex;align-items:center;gap:28px;padding-block:12px}
.logo{font:800 28px/1 var(--head);text-decoration:none;letter-spacing:-.5px;white-space:nowrap}
.two{display:inline-grid;place-items:center;width:1.25em;height:1.25em;border-radius:50%;background:conic-gradient(var(--cyan) 0 33%,var(--magenta) 0 66%,var(--yellow) 0);color:#fff;font-size:.8em;vertical-align:.08em;text-shadow:0 1px 2px #0005}
.top nav{display:flex;align-items:center;gap:24px;font-weight:600;font-size:15px;margin-left:auto}
.top nav a{text-decoration:none}.top nav a:hover,.top nav a[aria-current]{color:var(--magenta)}
.dd{position:relative}
.dd>a:after{content:'▾';font-size:11px;margin-left:5px}
.dd-menu{position:absolute;top:100%;left:-18px;padding:12px;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:none;min-width:240px}
.dd-menu:before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.dd-menu a{display:block;padding:8px 12px;border-radius:10px;color:var(--ink)!important}
.dd-menu a:hover{background:var(--t-magenta)}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.cart-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:14px;border-radius:999px;padding:10px 18px;white-space:nowrap}
.cart-btn:hover{background:var(--magenta)}
.cart-n:not(:empty){display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--yellow);color:var(--ink);font:800 12px var(--body)}
.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer}

/* Page heads and breadcrumbs */
.page-head{padding-block:60px 40px}
.page-head>p:not(.kicker){max-width:680px;margin-top:16px;font-size:18px}
.page-head.center>p{margin-inline:auto}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;padding-top:22px;color:var(--muted)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--magenta)}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.head>p{max-width:380px}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:60px 70px}
.hero h1{font-size:clamp(46px,6.2vw,82px);letter-spacing:-1.5px;line-height:.98}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}
.hero-cta.center{justify-content:center}
.ticks{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:26px 0 0;font-weight:600;font-size:15px}
.ticks.col{flex-direction:column;font-weight:400}
.ticks li{display:flex;gap:8px;align-items:flex-start}
.ticks li:before{content:'✓';flex:none;display:inline-grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--t-green);color:#128c4a;font-size:13px}
.hero-art{position:relative;aspect-ratio:1/.86;width:100%;max-width:580px;justify-self:center}
.hero-art:before{content:'';position:absolute;inset:2% 6% 6%;border-radius:42% 58% 55% 45%/48% 42% 58% 52%;background:conic-gradient(from 200deg,var(--t-cyan),var(--t-magenta),var(--t-yellow),var(--t-violet),var(--t-cyan))}
.hero-item{position:absolute;display:block;transition:transform .25s}
.hero-item .mock{width:100%;height:auto;filter:drop-shadow(0 14px 18px #1f1b3d1c)}
.hero-item:hover{transform:translateY(-6px)}
.hi1{width:76%;left:12%;top:-2%}
.hi2{width:60%;left:-4%;bottom:0;z-index:1}
.hi3{width:50%;right:-3%;bottom:2%;z-index:2}
.ribbon{display:flex;gap:36px;background:var(--ink);color:#fff;padding:16px 24px;font:700 16px var(--head);justify-content:center;flex-wrap:wrap;row-gap:6px}
.ribbon span:nth-child(3n+1){color:var(--yellow)}.ribbon span:nth-child(3n+2){color:#7fd8f7}.ribbon span:nth-child(3n){color:#ff9cc6}

/* Tints */
.tint-drinkware{background:var(--t-cyan)}.tint-clothing{background:var(--t-magenta)}.tint-photo{background:var(--t-violet)}.tint-small{background:var(--t-green)}.tint-party{background:var(--t-yellow)}
.c-magenta{background:var(--t-magenta)}.c-cyan{background:var(--t-cyan)}.c-yellow{background:var(--t-yellow)}.c-violet{background:var(--t-violet)}.c-green{background:var(--t-green)}

/* Type tiles */
.type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.type-tile{border-radius:var(--radius);padding:10px 10px 18px;text-decoration:none;display:flex;flex-direction:column;gap:2px;transition:transform .15s}
.type-tile:hover{transform:translateY(-4px)}
.type-tile .mock{width:100%;height:auto}
.type-name{font:700 21px/1.1 var(--head);padding:0 8px}
.type-n{font-size:14px;color:var(--muted);padding:0 8px}

/* Product cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-art .mock{width:100%;height:auto;transition:transform .3s}
.card:hover .card-art .mock{transform:scale(1.04)}
.card-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-type{font:700 12px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--magenta)}
.card h3{font-size:23px}
.card-blurb{font-size:15px;flex:1}
.card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed var(--line);padding-top:12px;margin-top:6px}
.from{font:800 22px/1.1 var(--head)}
.from small{font:600 12px var(--body);color:var(--muted)}
.card-go{font-weight:700;font-size:14px;color:var(--magenta)}
.more{margin-top:30px;text-align:center}
.more a{font-weight:700;color:var(--magenta)}

/* Live preview demo */
.demo{background:linear-gradient(160deg,var(--t-cyan),var(--t-magenta) 60%,var(--t-yellow))}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.demo-copy>p:not(.kicker){margin-top:16px;color:var(--ink)}
.demo-input{display:grid;gap:6px;margin-top:22px;font-weight:700;font-size:14px;max-width:380px}
.demo-input input{border:2px solid var(--ink);border-radius:14px;padding:14px 16px;font:700 20px var(--head);background:#fff}
.demo-art{border-radius:28px;background:#fff!important;box-shadow:var(--shadow)}
.demo-art .mock{width:100%;height:auto}

/* Occasions */
.occ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.occ{border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:12px;align-items:start;text-decoration:none;transition:transform .15s}
.occ:hover{transform:translateY(-4px)}
.occ h3{font-size:27px}.occ p{flex:1;color:var(--ink);opacity:.8;font-size:15px}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.jump a{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;text-decoration:none}
.jump a:hover{border-color:var(--magenta);color:var(--magenta)}
.occ-sec{padding-block:30px}
.occ-head{border-radius:var(--radius);padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}
.occ-head p{color:var(--ink);opacity:.8;max-width:640px;margin-top:8px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.steps li:before{content:counter(s);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;font:800 20px var(--head);margin-bottom:16px}
.steps li:nth-child(2):before{background:var(--magenta)}.steps li:nth-child(3):before{background:var(--cyan)}.steps li:nth-child(4):before{background:#e09b00}
.steps h3{font-size:24px;margin-bottom:8px}.steps p{font-size:15px}
.cta-band{background:var(--ink);color:#fff;border-radius:28px;padding:40px 44px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-band h2{font-size:clamp(26px,3vw,38px)}
.cta-band p{color:#cfcbe6;margin-top:8px;max-width:620px}
.cta-band .btn{background:var(--magenta)}.cta-band .btn:hover{background:var(--yellow);color:var(--ink)}

/* Shop */
.shop{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start;padding-bottom:80px}
.side{position:sticky;top:90px}
.fbox summary{font:700 20px var(--head);cursor:pointer;list-style:none;display:none}
.fbox summary::-webkit-details-marker{display:none}
.fgroup{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:26px}
.fgroup h2{font:700 13px var(--body);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fgroup button{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:0;background:none;border-radius:12px;padding:8px 12px;font-weight:600;font-size:15px;cursor:pointer}
.fgroup button span{font-size:12px;color:var(--muted);background:#f1eef7;border-radius:999px;padding:1px 8px}
.fgroup button:hover{background:#f4f1f8}
.fgroup button[aria-pressed=true]{background:var(--ink);color:#fff}
.fgroup button[aria-pressed=true] span{background:#ffffff26;color:#fff}
.shop-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.search{flex:1;min-width:220px}
.search input{width:100%;border:1.5px solid var(--line);border-radius:999px;padding:12px 20px;background:#fff;font-size:16px}
.sort{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.sort select{border:1.5px solid var(--line);border-radius:999px;padding:11px 16px;background:#fff;font-weight:600;font-size:15px}
.search input:focus,.sort select:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #12a7d833}
.shop-count{font-size:14px;margin:16px 0}
.shop .grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.empty-state{text-align:center;padding:50px 20px;border:2px dashed var(--line);border-radius:var(--radius);display:grid;gap:12px;justify-items:center}
.empty-state h2{font-size:30px}

/* Product page */
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:start;padding-block:24px 80px}
.pdp-art{position:sticky;top:90px}
.pdp-stage{border-radius:28px;overflow:hidden}
.pdp-stage .mock{width:100%;height:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer}
.chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.pdp-info h1{font-size:clamp(38px,4.4vw,56px)}
.pdp-price{font:800 34px/1.1 var(--head);margin-top:12px;color:var(--ink)}
.pdp-price small{font:600 15px var(--body);color:var(--muted)}
.pdp-info .lede{font-size:18px;margin-top:12px}
.pdp-info .ticks{flex-direction:column;gap:6px;font-weight:400}
.bulk{width:100%;border-collapse:collapse;margin:26px 0;font-size:15px;background:#fff;border-radius:16px;box-shadow:0 0 0 1px var(--line)}
.bulk caption{text-align:left;font:700 13px var(--body);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.bulk th,.bulk td{padding:10px 12px;text-align:center;border-bottom:1px solid var(--line)}
.bulk thead th{background:#f6f3fa;font-weight:700}
.bulk tbody th{text-align:left;font-weight:700}
.bulk td{font:700 18px var(--head)}
.bulk tr>*:first-child{text-align:left}

/* Forms */
.panel{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);display:grid;gap:16px;align-content:start}
.panel h2{font-size:30px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px;min-width:0;border:0;padding:0;margin:0}
.field>label,legend,.label{font-weight:700;font-size:14px;padding:0}
.field input:not([type=radio]):not([type=checkbox]):not([type=file]),.field select,.field textarea{width:100%;min-width:0;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fcfbff;font-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #12a7d833}
.field textarea{resize:vertical}
.hint{font-size:13px;color:var(--muted)}
.file{position:relative;display:flex;align-items:center;gap:10px;border:2px dashed #cfc8de;border-radius:12px;padding:12px 14px;cursor:pointer;font-weight:600;font-size:15px;background:#fcfbff}
.file:hover{border-color:var(--magenta)}
.file:before{content:'＋';display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--t-magenta);color:var(--magenta);font-weight:800;flex:none}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.file:focus-within{outline:3px solid var(--cyan);outline-offset:2px}
.radio,.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;padding:5px 0;cursor:pointer;font-weight:400}
.radio input,.check input{margin-top:4px;accent-color:var(--magenta);width:18px;height:18px;flex:none}
.line-est{font-weight:600;color:var(--ink);min-height:1.6em}
.line-est strong{font:800 20px var(--head)}
.save{display:inline-block;background:var(--t-green);color:#128c4a;font-weight:700;font-size:12px;border-radius:999px;padding:2px 10px;margin-left:6px}
.added{background:var(--t-green);border-radius:16px;padding:16px;display:grid;gap:12px;color:var(--ink)}
.added span{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* Order page */
.order-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
.order-left{display:grid;gap:20px}
#sendForm{position:sticky;top:90px}
.cart{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.cart h2{font-size:30px;display:flex;align-items:center;gap:10px}
#cartList{list-style:none;padding:0;margin:14px 0 0}
#cartList li{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:6px}
#cartList li.empty{color:var(--muted)}
#cartList li.empty a{color:var(--magenta);font-weight:700}
.ci-head{display:flex;justify-content:space-between;gap:12px;font-size:16px}
.ci-head a{text-decoration:none}.ci-head a:hover{color:var(--magenta)}
.ci-total{font:800 19px var(--head);white-space:nowrap}
#cartList small{color:var(--muted);font-size:13px;white-space:pre-line;overflow-wrap:anywhere}
.ci-actions{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}
.ci-actions input{width:76px;border:1.5px solid var(--line);border-radius:10px;padding:6px 8px;margin-left:6px}
.remove{margin-left:auto;border:0;background:none;color:var(--magenta);font-weight:700;cursor:pointer;text-decoration:underline;font-size:14px}
.cart-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--ink);margin-top:6px;padding-top:14px;color:var(--ink);font-weight:700}
.cart-total strong{font:800 30px var(--head)}
.cart .link{display:inline-block;margin-top:16px}
.add-more summary{font:700 19px var(--head);cursor:pointer}
.add-more[open] summary{margin-bottom:6px}
.add-more .item-form{box-shadow:none;padding:0}

/* Prices */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:28px}
.price-card h2{font-size:28px;margin-bottom:10px}
.price-card ul{margin:0;padding:0;list-style:none}
.price-card li{padding:10px 0;border-bottom:1px dashed var(--line)}
.price-card.hot{background:var(--ink);color:#fff;border-color:var(--ink)}
.price-card.hot li{border-color:#ffffff30}.price-card.hot b{color:var(--yellow)}
.table-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:0 0 0 1px var(--line);background:#fff}
.plist{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.plist th,.plist td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:right}
.plist thead th{background:var(--ink);color:#fff;position:sticky;top:0}
.plist tr>*:first-child{text-align:left}
.plist tbody th a{font-weight:700;text-decoration:none}.plist tbody th a:hover{color:var(--magenta)}
.plist tbody th small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.plist .grp th{background:#f6f3fa;font:700 18px var(--head);color:var(--magenta)}
.plist td{font:700 17px var(--head)}

/* How it works, contact */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tips.alt{background:var(--t-violet);box-shadow:none}
.tips p{color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0;max-width:860px}
.faq summary{cursor:pointer;font:700 21px var(--head);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:var(--magenta);font-size:26px;line-height:1}
.faq details[open] summary:after{content:'–'}
.faq details p{margin-top:10px}
.contact-card{background:var(--t-green);box-shadow:none}
.contact-card p{color:var(--ink)}
.big-num{font:800 clamp(34px,4vw,48px)/1 var(--head)}
.big-num a{text-decoration:none}
.contact-card .btn{justify-self:start}

/* Footer */
.foot{background:var(--ink);color:#fff;padding:60px 0 20px}
.foot p{color:#cfcbe6}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-grid>div{display:grid;gap:9px;align-content:start}
.foot h2{font-size:19px;letter-spacing:0}
.foot a:not(.btn):not(.logo){color:#cfcbe6;text-decoration:none;font-size:15px}.foot a:hover{color:#fff!important}
.foot .btn{background:var(--magenta);justify-self:start}
.copy{border-top:1px solid #ffffff22;margin-top:40px;padding-top:18px;font-size:13px}

@media (max-width:1100px){
  .top nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:8px 16px 18px;border-bottom:1px solid var(--line);margin:0}
  .top nav.open{display:flex}.top nav a{padding:11px 0}
  .dd>a:after{content:none}
  .dd-menu{display:block!important;position:static;box-shadow:none;border:0;background:none;padding:0 0 6px 14px;margin:0}
  .dd-menu a{padding:7px 0;font-weight:400}
  .cart-btn{margin-left:auto}
  .menu{display:block}
  .type-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1000px){
  .hero,.demo-grid,.pdp,.order-grid,.split{grid-template-columns:1fr}
  .hero-art{max-width:460px}
  .occ-grid,.steps{grid-template-columns:1fr 1fr}
  .pdp-art,#sendForm{position:static}
  .shop{grid-template-columns:1fr;gap:16px}
  .side{position:static}
  .fbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px}
  .fbox summary{display:flex;justify-content:space-between}
  .fbox summary:after{content:'+';color:var(--magenta)}
  .fbox[open] summary:after{content:'–'}
  .fbox[open] summary{margin-bottom:14px}
  .fgroup{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:16px}
  .fgroup h2{width:100%;margin:0}
  .fgroup button{border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px}
  .price-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .cta-band,.occ-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  body{font-size:16px}
  .section{padding-block:56px}
  .page-head{padding-block:36px 26px}
  .head{display:block}.head>p{margin-top:10px}
  .occ-grid,.steps,.row{grid-template-columns:1fr}
  .type-grid{grid-template-columns:1fr 1fr;gap:10px}
  .type-name{font-size:18px}
  .grid,.shop .grid{grid-template-columns:1fr 1fr;gap:10px}
  .card-body{padding:10px 12px 14px}
  .card h3{font-size:19px}.card-blurb{display:none}
  .card-go{display:none}
  .from{font-size:19px}
  .row-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .row-scroll .card{flex:0 0 62%;scroll-snap-align:start}
  .panel{padding:20px}
  .ribbon{gap:18px;font-size:14px}
  .logo{font-size:23px}
  .top-in{gap:10px}
  .cart-btn{padding:9px 13px;font-size:13px}
  .menu{padding:8px 13px;font-size:14px}
  .cta-band{padding:28px 24px}
  .foot-grid{grid-template-columns:1fr}
  .bulk th,.bulk td{padding:8px 6px}
  .bulk td{font-size:16px}
  .hero{padding-top:30px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Local + nationwide band, delivery line */
.local{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:var(--t-cyan);border-radius:28px;padding:44px}
.local h2{font-size:clamp(28px,3.4vw,42px)}
.local p:not(.kicker){color:var(--ink)}
.local .ticks{margin-top:16px}
.ship{margin-top:6px;font-weight:600;font-size:15px;color:#128c4a}
.ship:before{content:'🚚 '}
@media (max-width:1000px){.local{grid-template-columns:1fr;gap:20px;padding:28px 24px}}
