/* Coastal Caravan — storefront
   Palette: sea #0A5A83 · lagoon #7DD3DF · foam #F2F8F7 · sand #F7E7A3 · turmeric #D9960B · ink #26304A */
:root{
  --sea:#0A5A83;--sea-d:#06415F;--lagoon:#7DD3DF;--lagoon-l:#D3F0F4;--foam:#F2F8F7;
  --sand:#F7E7A3;--sand-l:#FCF5D9;--sand-d:#E9CF73;--sun:#D9960B;--sun-d:#B67B05;
  --ink:#26304A;--ink-2:#4A5570;--mint:#43D1B0;--coral:#E2493B;--white:#fff;
  --r-lg:28px;--r-md:18px;--r-sm:12px;
  --display:'Fredoka',ui-rounded,'Trebuchet MS',sans-serif;
  --body:'Figtree',system-ui,sans-serif;
  --hand:'Caveat',cursive;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--foam);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--sea)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(30px,4vw,46px)}
p{margin:0 0 1em}
button{font:inherit}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:600 15px var(--body);text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn.sm{min-height:42px;padding:0 18px;font-size:14px}
.btn-block{width:100%}
.btn-sea{background:var(--sea);color:#fff}
.btn-sea:hover{background:var(--sea-d);color:#fff}
.btn-sun,.btn-gold{background:var(--sun);color:#fff;box-shadow:0 6px 0 var(--sun-d)}
.btn-sun:hover,.btn-gold:hover{background:#E6A11A;color:#fff}
.btn-sun:active,.btn-gold:active{box-shadow:0 3px 0 var(--sun-d);transform:translateY(3px)}
.btn-glass{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.7)}
.btn-glass:hover{background:rgba(255,255,255,.3);color:#fff}
.btn-ghost,.btn-line{background:transparent;color:var(--sea);border-color:var(--sea)}
.btn-ghost:hover,.btn-line:hover{background:var(--lagoon-l)}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.linkbtn{background:none;border:0;color:var(--ink-2);text-decoration:underline;cursor:pointer;min-height:44px;width:100%}

/* top strip + nav */
.topstrip{background:var(--ink);color:var(--sand);font-size:13px;font-weight:500}
.topstrip-in{display:flex;justify-content:center;gap:34px;min-height:36px;align-items:center;text-align:center}
.nav{position:sticky;top:0;z-index:60;background:rgba(242,248,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(10,90,131,.12)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:60px;height:60px;transition:transform .5s}
.brand:hover img{transform:rotate(-8deg)}
.brand span{font:600 22px var(--display);color:var(--sea)}
.navlinks{display:flex;gap:6px}
.navlinks a{padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
.navlinks a:hover,.navlinks a[aria-current]{background:var(--lagoon-l);color:var(--sea)}
.nav-act{display:flex;align-items:center;gap:8px}
.bagbtn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px 0 14px;border-radius:999px;border:2px solid var(--sea);background:#fff;color:var(--sea);font-weight:700;cursor:pointer}
.bagbtn b{min-width:24px;height:24px;border-radius:999px;background:var(--coral);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.bagbtn.bump{animation:bump .5s}
@keyframes bump{40%{transform:scale(1.12)}}
.menubtn{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--lagoon-l);color:var(--sea);cursor:pointer;align-items:center;justify-content:center}
.mnav{display:flex;flex-direction:column;padding:8px 20px 18px;border-top:1px solid rgba(10,90,131,.12)}
.mnav a{padding:14px 4px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px dashed rgba(10,90,131,.2)}

/* HERO */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#5BC3D3 0%,#2C93B4 42%,var(--sea) 100%)}
.sun{position:absolute;right:8%;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#FFE9A8 0%,rgba(255,226,140,.55) 40%,rgba(255,226,140,0) 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:44px 0 8px}
.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-.02em;max-width:12ch;text-shadow:0 2px 0 rgba(6,65,95,.25)}
.lede{font-size:clamp(17px,1.6vw,19px);line-height:1.65;max-width:52ch;margin:20px 0 28px;color:#EAF8FA}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-points{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:12px 28px;font-size:15px;font-weight:500;color:#EAF8FA}
.hero-points li{display:flex;align-items:center;gap:10px}
.hero-points svg{width:22px;height:22px;fill:none;stroke:var(--sand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* postcards */
.postcards{position:relative;height:460px}
.postcards figure{position:absolute;margin:0;background:#fff;padding:12px 12px 46px;border-radius:6px;box-shadow:0 30px 50px -24px rgba(6,40,60,.6)}
.postcards img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.postcards figcaption{position:absolute;left:16px;bottom:8px;font:600 26px/1 var(--hand);color:var(--ink)}
.card-a{width:58%;height:78%;left:20%;top:4%;transform:rotate(-3deg);z-index:2}
.card-b{width:40%;height:52%;left:0;top:40%;transform:rotate(-10deg);z-index:3}
.card-c{width:38%;height:50%;right:0;top:30%;transform:rotate(8deg);z-index:1}
.post-stamp{position:absolute;right:10%;top:0;z-index:4;width:96px;height:96px;padding:7px;transform:rotate(10deg);filter:drop-shadow(0 10px 14px rgba(6,40,60,.35));
  background:radial-gradient(circle at center,transparent 3.2px,#fff 3.8px) -5px -5px/10px 10px}
.post-stamp img{width:100%;height:100%;background:#fff;padding:4px}
@media (prefers-reduced-motion:no-preference){
  .postcards figure{animation:drop .9s cubic-bezier(.2,.9,.25,1.1) both}
  .card-b{animation-delay:.15s!important}.card-c{animation-delay:.3s!important}
  .post-stamp{animation:stampIn .5s .9s cubic-bezier(.3,1.6,.5,1) both}
}
@keyframes drop{from{opacity:0;translate:0 -40px}}
@keyframes stampIn{from{opacity:0;scale:1.8}}

/* coast: sea + sand road + caravan (the one big motion moment) */
.coast{position:relative;margin-top:0}
.sea{display:block;width:100%;height:70px;margin-bottom:-2px}
.sea path{transform-box:fill-box}
.sea .w1{fill:rgba(125,211,223,.55)}
.sea .w2{fill:var(--sand)}
.road{background:var(--sand);position:relative;padding:6px 0 26px}
.road::after{content:"";position:absolute;left:0;right:0;bottom:46px;height:3px;background:repeating-linear-gradient(90deg,rgba(38,48,74,.35) 0 22px,transparent 22px 40px)}
.road-in{position:relative;height:110px}
.stops{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:absolute;left:6%;right:20%;top:6px}
.stops li{position:relative;font:600 15px var(--display);color:var(--ink);padding-left:22px}
.stops li::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);box-shadow:inset 0 0 0 4px var(--coral),inset 0 0 0 7px #fff}
.caravan{position:absolute;left:0;bottom:-4px;width:140px;z-index:2}
.caravan svg{width:100%;height:auto;overflow:visible}
.cv-body{fill:#5FD6BE;stroke:var(--ink);stroke-width:3}
.cv-stripe{fill:#3BA996;stroke:var(--ink);stroke-width:2}
.cv-win{fill:#E4F7F3;stroke:var(--ink);stroke-width:2.5}
.cv-door{fill:#8FE0CF;stroke:var(--ink);stroke-width:2.5}
.cv-leaf{fill:#7ED957;stroke:#3B8A2E;stroke-width:2}
.cv-leaf-vein{fill:none;stroke:#3B8A2E;stroke-width:1.5}
.cv-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round}
.cv-wheel circle:first-child{fill:#fff;stroke:var(--ink);stroke-width:3}
.cv-wheel circle:nth-child(2){fill:var(--ink)}
.cv-wheel path{stroke:var(--ink);stroke-width:2}
.cv-wheel{transform-box:fill-box;transform-origin:center}
.cv-heart{fill:var(--coral)}
@media (prefers-reduced-motion:no-preference){
  .sea .w1{animation:wave 14s linear infinite}
  .sea .w2{animation:wave 22s linear infinite reverse}
  .caravan{animation:drive 3.4s .4s cubic-bezier(.45,.05,.3,1) both}
  .caravan svg{animation:bounce .45s ease-in-out 8 alternate .4s}
  .cv-wheel{animation:roll .6s linear 6 .4s}
}
@keyframes wave{to{transform:translateX(-50%)}}
@keyframes drive{from{left:-160px}to{left:calc(100% - 150px)}}
@keyframes bounce{to{transform:translateY(-3px)}}
@keyframes roll{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.caravan{left:calc(100% - 150px)}}

/* section headers */
.sec-hd{max-width:640px;margin-bottom:36px}
.sec-hd p{color:var(--ink-2);font-size:17px;margin-top:14px}

/* SHOP */
.shop{padding:88px 0 96px;background:var(--sand-l)}
.shop-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;margin-bottom:30px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.fchip{min-height:42px;padding:0 18px;border-radius:999px;border:2px solid rgba(10,90,131,.25);background:#fff;color:var(--ink);font-weight:600;font-size:14px;cursor:pointer}
.fchip:hover{border-color:var(--sea)}
.fchip.on{background:var(--sea);border-color:var(--sea);color:#fff}
.search{display:flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-radius:999px;background:#fff;border:2px solid rgba(10,90,131,.2);color:var(--ink-2);min-width:280px}
.search input{border:0;outline:0;background:transparent;font:500 15px var(--body);color:var(--ink);width:100%}
.search:focus-within{border-color:var(--sea)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}
.nores{text-align:center;color:var(--ink-2);padding:30px 0}

/* product postcard */
.pc{display:flex;flex-direction:column;background:#fff;border-radius:6px;padding:10px;box-shadow:0 1px 0 rgba(38,48,74,.06),0 18px 32px -24px rgba(6,40,60,.45);position:relative}
.pc::after{content:"";position:absolute;inset:auto 10px 0;height:4px;background:repeating-linear-gradient(90deg,var(--coral) 0 14px,#fff 14px 20px,var(--sea) 20px 34px,#fff 34px 40px);border-radius:0 0 4px 4px;opacity:.8}
.pc-img{position:relative;aspect-ratio:4/3.4;border-radius:3px;overflow:hidden;background:var(--lagoon-l)}
.pc-img .ph{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pc:hover .pc-img img.ph{transform:scale(1.04)}
.ph-none{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#9EDFE8 0%,#9EDFE8 55%,var(--sand) 55%);padding:16px;text-align:center}
.ph-none img{width:84px;height:84px;opacity:.95}
.ph-none em{font:600 24px/1.1 var(--hand);color:var(--ink);font-style:normal}
.stamp{position:absolute;right:10px;top:10px;padding:5px;transform:rotate(4deg);max-width:62%;filter:drop-shadow(0 4px 6px rgba(6,40,60,.25));
  background:radial-gradient(circle at center,transparent 2.4px,#fff 2.9px) -4px -4px/8px 8px}
.stamp span{display:block;background:#fff;outline:4px solid #fff;border:1.5px solid var(--sea);color:var(--sea);padding:4px 8px;font:600 12px/1.2 var(--display);text-align:center}
.pc-badge{position:absolute;left:10px;bottom:10px;background:var(--sand);color:var(--ink);font-weight:700;font-size:12px;padding:5px 10px;border-radius:999px}
.pc-oos{background:var(--ink);color:#fff;left:auto;right:10px}
.pc-body{display:flex;flex-direction:column;gap:8px;padding:16px 8px 14px;flex:1}
.pc-body h3{font-size:22px;color:var(--ink)}
.pc-desc{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-desc.open{-webkit-line-clamp:unset}
.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.pc-price{display:flex;flex-direction:column;font:600 26px/1 var(--display);color:var(--sea)}
.pc-price small{font:500 13px var(--body);color:var(--ink-2);margin-top:4px}
.pc.oos .pc-img{filter:grayscale(.6)}
.btn.added{background:var(--mint);color:var(--ink)}

/* CASHEWS */
.cashew{padding:96px 0;background:var(--foam)}
.cashew-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cashew-photo{border-radius:50% 50% var(--r-lg) var(--r-lg)/38% 38% var(--r-lg) var(--r-lg);overflow:hidden;aspect-ratio:4/4.4;border:10px solid #fff;box-shadow:0 30px 60px -36px rgba(6,40,60,.6)}
.cashew-photo img{width:100%;height:100%;object-fit:cover}
.cashew-copy p{color:var(--ink-2);font-size:17px;margin:16px 0 26px;max-width:48ch}
.cashew-list{list-style:none;margin:0;padding:0}
.cashew-list li{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:2px dotted rgba(10,90,131,.25);font-weight:600}
.cashew-list small{color:var(--ink-2);font-weight:500}
.cashew-list b{font:600 20px var(--display);color:var(--sea)}
.cashew-list em{font-style:normal;color:var(--ink-2);font-size:14px}

/* HAMPERS */
.hampers{position:relative;padding:110px 0 100px;background:var(--sea);color:#fff}
.hampers .sec-hd p{color:#D3ECF3}
.edge{position:absolute;left:0;width:100%;height:50px;display:block}
.edge-top{top:-1px;transform:scaleY(-1)}
.edge-top path{fill:var(--foam)}
.hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:28px}
.hamper{display:grid;grid-template-columns:200px 1fr;background:#fff;color:var(--ink);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.hamper-img{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:3px;background:var(--sand)}
.hamper-img img{width:100%;height:100%;object-fit:cover;min-height:110px}
.hamper-img.few{grid-template-columns:1fr}
.ribbon{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;background:var(--coral);color:#fff;font:600 14px var(--display);padding:6px 14px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.hamper-body{padding:26px 26px 24px;display:flex;flex-direction:column;gap:14px}
.hamper-body h3{font-size:28px;color:var(--sea)}
.hamper-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.hamper-list li{display:flex;gap:10px;align-items:flex-start}
.hamper-list small{color:var(--ink-2)}
.hi-tick{flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326304A' stroke-width='3.5'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.hamper-list fieldset{border:0;margin:0;padding:0;min-width:0}
.hamper-list legend{font-weight:600;padding:0;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:0 13px;border-radius:999px;border:2px solid rgba(10,90,131,.25);font-size:13.5px;font-weight:600;transition:all .2s}
.chip input:checked+span{background:var(--lagoon-l);border-color:var(--sea);color:var(--sea)}
.chip input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.hamper-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:14px;border-top:2px dashed rgba(10,90,131,.2)}
.hamper-foot .pc-price{font-size:32px}

/* GIFT BOX */
.giftbox{padding:96px 0;background:var(--sand-l)}
.gb{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}
.gtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.gt{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:var(--r-md);padding:10px;border:2px solid transparent;transition:border-color .2s,background .2s}
.gt.on{border-color:var(--sea);background:#F4FBFC}
.gt-img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.gt .ph-none{width:64px;height:64px;padding:6px;border-radius:12px}
.gt .ph-none img{width:40px;height:40px}.gt .ph-none em{display:none}
.gt-txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.gt-txt b{font-size:15px}
.gt-txt span{font-size:13px;color:var(--ink-2)}
.step{display:inline-flex;align-items:center;border-radius:999px;background:var(--foam);border:2px solid rgba(10,90,131,.2)}
.step button{width:40px;height:40px;border:0;background:none;border-radius:50%;font:600 20px var(--body);color:var(--sea);cursor:pointer}
.step button:hover{background:var(--lagoon-l)}
.step output{min-width:22px;text-align:center;font-weight:700}
.gsum{background:#fff;border-radius:var(--r-lg);padding:26px;border:2px dashed var(--sun);position:sticky;top:100px}
.gsum h3{font-size:26px;color:var(--sea);margin-bottom:6px}
.gsum-empty{color:var(--ink-2);font-size:14.5px}
.gsum-list{list-style:none;margin:10px 0;padding:0;max-height:260px;overflow:auto}
.gsum-list li{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:7px 0;border-bottom:1px dashed rgba(10,90,131,.2)}
.gsum-row{display:flex;justify-content:space-between;font-size:15px;padding:6px 0;color:var(--ink-2)}
.gsum-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--sand-d);margin:8px 0 18px;padding-top:12px;font-weight:600}
.gsum-total b{font:600 30px var(--display);color:var(--sea)}

/* STORY teaser */
.story-teaser{padding:100px 0;background:var(--foam)}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.story-grid h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:20px}
.story-grid p{color:var(--ink-2);font-size:17px;max-width:56ch}
.story-photos{position:relative;height:440px}
.story-photos img{position:absolute;width:62%;height:78%;object-fit:cover;border:10px solid #fff;border-bottom-width:40px;box-shadow:0 26px 50px -26px rgba(6,40,60,.55)}
.story-photos img:first-child{left:0;top:0;transform:rotate(-5deg)}
.story-photos img:last-child{right:0;bottom:0;transform:rotate(6deg)}

/* PROMISES */
.promises{background:var(--ink);color:#fff;padding:54px 0}
.promise-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.promise-row div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:14px;row-gap:2px;align-items:start}
.promise-row svg{grid-row:span 2;width:36px;height:36px;fill:none;stroke:var(--sand);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.promise-row b{font:600 18px var(--display)}
.promise-row span{color:#B9C3D6;font-size:14px}

/* HELLO */
.hello{background:var(--sea);color:#fff;padding:64px 0}
.hello-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.hello h2{font-size:clamp(26px,3vw,36px);margin-bottom:10px}
.hello p{color:#D3ECF3;max-width:56ch;margin:0}
.hello-cta{display:flex;flex-wrap:wrap;gap:12px}

/* FOOTER */
.foot{position:relative;background:var(--sand);padding:70px 0 0;margin-top:0}
.foot-wave{position:absolute;top:-1px;left:0;width:100%;height:50px;transform:scaleY(-1)}
.foot-wave path{fill:var(--sea)}
body:not(.page-home) .foot-wave path{fill:var(--foam)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px}
.foot-brand img{width:96px;height:96px;margin-bottom:12px}
.foot-brand p{font:600 24px/1.2 var(--hand);color:var(--ink);max-width:22ch}
.foot h3{font-size:18px;margin-bottom:12px;color:var(--sea)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.foot a{color:var(--ink);text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:18px 0 22px;border-top:2px dashed rgba(38,48,74,.2);font-size:14px;color:var(--ink-2)}

/* WhatsApp button */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:70;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);transition:transform .2s}
.wa-fab:hover{transform:scale(1.07);color:#fff}

/* BAG drawer */
.bag-scrim{position:fixed;inset:0;background:rgba(20,30,50,.45);z-index:90}
.bag{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--foam);z-index:100;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 50px -20px rgba(0,0,0,.4)}
.bag.open{transform:none}
.bag-hd{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;background:var(--sea);color:#fff}
.bag-hd h2{font-size:26px}
.bag-x{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bag-ship{padding:12px 22px;background:var(--sand);font-size:14px;font-weight:600}
.bag-ship i{display:block;height:6px;border-radius:999px;background:rgba(38,48,74,.15);margin-top:8px;overflow:hidden}
.bag-ship i b{display:block;height:100%;background:var(--sun);border-radius:999px;transition:width .4s}
.bag-list{list-style:none;margin:0;padding:8px 22px;flex:1;overflow:auto}
.bag-list li{display:grid;grid-template-columns:62px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px dashed rgba(10,90,131,.2)}
.bag-list .bi{width:62px;height:62px;border-radius:10px;object-fit:cover;background:var(--lagoon-l)}
.bag-list .bn{font-weight:700;font-size:15px;line-height:1.3}
.bag-list .bd{font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-top:2px}
.bag-list .bp{font:600 18px var(--display);color:var(--sea);text-align:right}
.bag-list .bq{display:flex;align-items:center;gap:8px;margin-top:8px}
.bag-list .step button{width:34px;height:34px;font-size:17px}
.bag-list .rm{background:none;border:0;color:var(--ink-2);font-size:13px;text-decoration:underline;cursor:pointer;min-height:34px}
.bag-empty{padding:40px 22px;text-align:center;color:var(--ink-2)}
.bag-ft{padding:18px 22px 22px;border-top:1px solid rgba(10,90,131,.15);background:#fff}
.bag-sub{display:flex;justify-content:space-between;align-items:baseline;font-weight:600}
.bag-sub b{font:600 26px var(--display);color:var(--sea)}
.bag-note{font-size:13px;color:var(--ink-2);margin:4px 0 14px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,200%);opacity:0;visibility:hidden;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;font-size:14px;z-index:110;transition:transform .35s;max-width:calc(100% - 40px)}
.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}

/* ---------- inner pages (checkout, order, track, story) ---------- */
.page{padding:56px 0 90px;background:var(--foam)}
.page-h1,.shop-h1{font-size:clamp(32px,4vw,46px);color:var(--sea);margin-bottom:24px}
.shop-wrap{width:min(1100px,100% - 40px);margin-inline:auto;padding:48px 0 80px}
.alert{padding:14px 18px;border-radius:var(--r-sm);margin:0 0 20px;font-weight:500}
.alert.err{background:#FDE8E5;color:#8A2418;border:1px solid #F3B9B0}
.alert.ok{background:#E2F6EF;color:#185A47;border:1px solid #A8E2CF}
.co-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:start}
.co-card{background:#fff;border-radius:var(--r-lg);padding:28px;box-shadow:0 20px 40px -32px rgba(6,40,60,.5)}
.co-card h2{font-size:24px;display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--ink)}
.co-card .step-n{width:34px;height:34px;border-radius:50%;background:var(--sea);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.co-sum{position:sticky;top:100px}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid2 .span2{grid-column:span 2}
.fgrid2 label,.tform label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.fgrid2 small{font-weight:400}
.fgrid2 input,.fgrid2 select,.fgrid2 textarea,.tform input{font:500 16px var(--body);color:var(--ink);background:var(--foam);border:2px solid rgba(10,90,131,.18);border-radius:var(--r-sm);padding:12px 14px;min-height:50px;width:100%}
.fgrid2 input:focus,.fgrid2 select:focus,.fgrid2 textarea:focus,.tform input:focus{outline:none;border-color:var(--sea);background:#fff}
.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-opt{display:flex;align-items:center;gap:14px;padding:16px;border:2px solid rgba(10,90,131,.18);border-radius:var(--r-md);cursor:pointer}
.pay-opt:has(input:checked){border-color:var(--sea);background:#F4FBFC}
.pay-opt input{width:20px;height:20px;accent-color:var(--sea)}
.pay-ic{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 18px var(--display);color:#fff;background:var(--sun);flex:none}
.pay-paytm{background:#00BAF2}.pay-razorpay{background:#3395FF}
.pay-txt{display:flex;flex-direction:column}
.pay-txt small{color:var(--ink-2)}
.sum-list{list-style:none;padding:0;margin:0 0 14px}
.sum-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed rgba(10,90,131,.2);font-size:15px}
.sum-list li small{display:block;color:var(--ink-2);font-size:12.5px;line-height:1.4;margin-top:2px}
.sum-list b{white-space:nowrap}
.sum-row{display:flex;justify-content:space-between;padding:6px 0;color:var(--ink-2)}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--sand-d);margin:10px 0 18px;padding-top:12px;font-weight:700}
.sum-total b{font:600 30px var(--display);color:var(--sea)}
.tiny{font-size:12.5px;color:var(--ink-2);text-align:center;margin-top:12px}
.muted{color:var(--ink-2)}
.empty-box{text-align:center;background:#fff;border-radius:var(--r-lg);padding:48px 24px}
.empty-box h2{margin-bottom:10px;color:var(--sea)}
.done-hero{text-align:center;background:#fff;border-radius:var(--r-lg);padding:44px 24px;margin-bottom:26px;box-shadow:0 20px 40px -32px rgba(6,40,60,.5)}
.done-ic{width:78px;height:78px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--ink)}
.done-wait .done-ic{background:var(--sand)}.done-err .done-ic,.done-cancel .done-ic{background:#FDE8E5;color:#8A2418}
.order-no{font-size:15px;color:var(--ink-2)}
.order-no b{color:var(--ink);font-size:18px}
.done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.done-actions form{margin:0}
.addr{line-height:1.7;margin:0}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:#EEE}
.pill-paid{background:#E2F6EF;color:#185A47}.pill-cod_pending{background:var(--sand);color:var(--ink)}.pill-failed{background:#FDE8E5;color:#8A2418}

/* track */
.tform{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;max-width:760px}
.track-steps{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:s;position:relative}
.track-steps li{position:relative;text-align:center;font-weight:600;font-size:14px;color:var(--ink-2);padding-top:52px}
.track-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:50%;top:0;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid rgba(10,90,131,.25);display:flex;align-items:center;justify-content:center;font:600 16px var(--display);z-index:1}
.track-steps li::after{content:"";position:absolute;top:19px;left:calc(-50% + 20px);right:calc(50% + 20px);height:3px;background:rgba(10,90,131,.2)}
.track-steps li:first-child::after{display:none}
.track-steps li.done{color:var(--ink)}
.track-steps li.done::before{background:var(--sea);border-color:var(--sea);color:#fff}
.track-steps li.done::after{background:var(--sea)}
.track-info{margin-top:24px;padding:16px 18px;background:var(--sand-l);border-radius:var(--r-md);border:2px dashed var(--sand-d)}

/* story page */
.story-hero{background:linear-gradient(180deg,#5BC3D3,var(--sea));color:#fff;padding:80px 0 0;overflow:hidden}
.story-hero h1{font-size:clamp(38px,5vw,64px);max-width:16ch;margin-bottom:18px}
.story-hero p{color:#EAF8FA;font-size:19px;max-width:56ch}
.story-hero .sea{margin-top:40px}
.story-body{background:var(--sand);padding:20px 0 90px}
.story-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.story-text{font-size:19px;line-height:1.75;max-width:60ch}
.story-text p{margin:0 0 1.2em}
.story-text .big{font:600 30px/1.25 var(--display);color:var(--sea);margin:1.4em 0}
.story-text .sign{font:600 34px/1.1 var(--hand);color:var(--ink)}
.story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.story-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border:8px solid #fff;border-bottom-width:28px;box-shadow:0 20px 40px -26px rgba(6,40,60,.6)}
.story-gallery img:nth-child(odd){transform:rotate(-2deg)}
.story-gallery img:nth-child(even){transform:rotate(2.5deg);margin-top:30px}

/* shop page */
.page-hero{background:linear-gradient(180deg,#5BC3D3,var(--sea));color:#fff;padding:40px 0 0;overflow:hidden}
.page-hero h1{font-size:clamp(34px,4.4vw,54px);margin:10px 0 12px}
.page-hero p{color:#EAF8FA;font-size:18px;max-width:58ch;margin:0}
.page-hero .sea{margin-top:30px}
.page-hero .sea .w2{fill:var(--sand-l)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:500;color:#D3ECF3}
.crumbs a{color:#fff}
.crumbs-dark{color:var(--ink-2);margin-bottom:22px}
.crumbs-dark a{color:var(--sea)}
.shop-page{padding-top:28px}
.shop-right{display:flex;gap:10px;flex-wrap:wrap}
.sort select{height:46px;border-radius:999px;border:2px solid rgba(10,90,131,.2);background:#fff;padding:0 16px;font:600 14px var(--body);color:var(--ink);cursor:pointer}
.shop-count{font-size:14px;color:var(--ink-2);margin:-12px 0 18px}
.see-all{text-align:center;margin:40px 0 0}
.pc-img{display:block}
.pc-body h3 a{color:inherit;text-decoration:none}
.pc-body h3 a:hover{color:var(--sea);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.gift-band{background:var(--sea);color:#fff;padding:56px 0}
.gift-band-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.gift-band h2{font-size:clamp(26px,3vw,36px);margin-bottom:8px}
.gift-band p{color:#D3ECF3;margin:0;max-width:52ch}
.buy-note{background:var(--sand-l);border:2px dashed var(--sand-d);border-radius:var(--r-md);padding:12px 16px;font-size:15px;margin:-6px 0 22px}

/* product page */
.pd{padding:36px 0 80px;background:var(--sand-l)}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pd-media{position:sticky;top:100px}
.pd-photo{position:relative;margin:0;background:#fff;padding:14px 14px 56px;border-radius:6px;box-shadow:0 30px 60px -34px rgba(6,40,60,.55);transform:rotate(-1.2deg)}
.pd-photo .pd-img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px}
.pd-photo .ph-none{aspect-ratio:1/1}
.pd-photo .ph-none img{width:140px;height:140px}
.pd-photo .ph-none em{font-size:36px}
.pd-photo .stamp{right:24px;top:24px}
.pd-photo .stamp span{font-size:14px;padding:6px 12px}
.pd-photo .pc-badge{left:24px;bottom:72px;font-size:13px}
.pd-photo::after{content:"";position:absolute;left:14px;right:14px;bottom:20px;height:6px;background:repeating-linear-gradient(90deg,var(--coral) 0 18px,#fff 18px 26px,var(--sea) 26px 44px,#fff 44px 52px);border-radius:3px}
.pd-cat{font-weight:600;color:var(--sea);margin:0 0 8px}
.pd-info h1{font-size:clamp(34px,4vw,50px);color:var(--ink);margin-bottom:14px}
.pd-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:20px}
.pd-price b{font:600 40px/1 var(--display);color:var(--sea)}
.pd-price span{color:var(--ink-2);font-size:15px}
.pd-desc{font-size:17.5px;line-height:1.7;color:var(--ink-2);max-width:56ch;margin-bottom:26px}
.pd-buy{background:#fff;border-radius:var(--r-lg);padding:22px;box-shadow:0 20px 40px -30px rgba(6,40,60,.5)}
.pd-qty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-weight:600}
.pd-qty .step button{width:46px;height:46px;font-size:22px}
.pd-qty .step output{min-width:34px;font-size:17px}
.pd-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pd-btns .btn{min-height:54px;font-size:16px}
.pd-line{margin:14px 0 0;font-size:14.5px;color:var(--ink-2);text-align:center}
.pd-line b{color:var(--ink)}
.pd-oos{background:#fff;border:2px dashed var(--coral);border-radius:var(--r-md);padding:16px 18px;font-weight:500}
.pd-points{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:15px;font-weight:500}
.pd-points li{display:flex;align-items:center;gap:10px}
.pd-points svg{width:22px;height:22px;fill:none;stroke:var(--sea);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pd-hamper,.pd-help{margin:20px 0 0;font-size:15px;color:var(--ink-2)}
.pd-hamper{padding:12px 16px;background:var(--lagoon-l);border-radius:var(--r-md);color:var(--ink)}
.pd-sticky{position:fixed;left:0;right:0;bottom:0;z-index:65;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -10px 30px -12px rgba(6,40,60,.35);transform:translateY(110%);transition:transform .3s}
.pd-sticky.show{transform:none}
.pd-sticky div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.pd-sticky b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-sticky span{font-size:13px;color:var(--ink-2)}
.related{padding:70px 0 90px;background:var(--foam)}
.page-product .wa-fab{bottom:86px}
.page-product .foot-base{padding-bottom:90px}

/* ================= motion ================= */
/* seagulls */
.gulls{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gull{position:absolute;width:38px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;opacity:.85}
.g1{top:14%;left:-60px}.g2{top:20%;left:-60px;width:28px}.g3{top:9%;left:-60px;width:22px;opacity:.6}
/* sun rays */
.sun::before{content:"";position:absolute;inset:-30%;border-radius:50%;background:repeating-conic-gradient(rgba(255,240,190,.22) 0 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 68%);mask:radial-gradient(circle,#000 25%,transparent 68%)}
/* caravan speech bubble */
.cv-say{position:absolute;right:6px;top:-40px;white-space:nowrap;background:#fff;color:var(--ink);font:600 22px/1 var(--hand);padding:8px 14px;border-radius:16px 16px 4px 16px;box-shadow:0 8px 18px -8px rgba(0,0,0,.35);opacity:0;transform:scale(.4) translateY(10px);transform-origin:100% 100%;pointer-events:none}
.caravan{cursor:pointer}
/* hold the caravan drive until the road is on screen */
.coast.wait .caravan,.coast.wait .caravan svg,.coast.wait .cv-wheel,.coast.wait .cv-say{animation-play-state:paused}
/* crab */
.crab{position:absolute;top:18px;left:0;width:58px;z-index:2;pointer-events:none}
.crab svg{width:100%;overflow:visible}
.crab-body,.crab-claw{fill:#E2493B;stroke:var(--ink);stroke-width:2}
.crab-arm,.crab-legs path{stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;fill:none}
.crab-eye{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.crab circle:not(.crab-eye){fill:var(--ink)}
.crab-smile{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}
/* bubbles in blue sections */
.bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bubbles i{position:absolute;bottom:-30px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 60%)}
.hampers>.wrap,.page-hero>.wrap,.gift-band>.wrap{position:relative;z-index:1}
.gift-band{position:relative;overflow:hidden}
/* fly-to-bag */
.fly{position:fixed;z-index:120;width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 10px 24px -6px rgba(0,0,0,.45);pointer-events:none;background:#fff}
/* scroll reveal (class added by JS only, so content shows without JS) */
.rv{opacity:0;transform:translateY(-28px) rotate(var(--rot,-4deg));transition:opacity .6s ease,transform .8s cubic-bezier(.2,1.25,.35,1);transition-delay:var(--d,0s)}
.rv-up{transform:translateY(34px)}
.rv.in{opacity:1;transform:none}
/* gift box tile pop */
.gt.pop{animation:pop .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{50%{transform:scale(1.04)}}
/* sun button shine */
.btn-sun{position:relative;overflow:hidden}
.btn-sun::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-sun:hover::after{left:130%}
/* tilt */
.tilt{transition:transform .25s ease-out;transform-style:preserve-3d;will-change:transform}
/* confetti */
.confetti{position:fixed;top:-20px;z-index:130;pointer-events:none;font-size:22px;line-height:1}
.confetti.b{width:10px;height:14px;border-radius:2px}

@media (prefers-reduced-motion:no-preference){
  .g1{animation:fly 26s linear infinite 1s}
  .g2{animation:fly 32s linear infinite 6s}
  .g3{animation:fly 38s linear infinite 12s}
  .gull path{animation:flap .5s ease-in-out infinite alternate;transform-origin:center;transform-box:fill-box}
  .g2 path{animation-duration:.42s}.g3 path{animation-duration:.6s}
  .sun::before{animation:spin 80s linear infinite}
  .cv-say{animation:say 4.5s 3.9s cubic-bezier(.3,1.5,.5,1) both}
  .caravan.honk svg{animation:honk .5s ease-in-out 2}
  .caravan.honk .cv-say{animation:say 2.6s cubic-bezier(.3,1.5,.5,1) both}
  .crab{animation:crab 28s linear infinite}
  .crab-legs{animation:legs .25s steps(2) infinite}
  .crab-claw{animation:snap 1.6s ease-in-out infinite;transform-origin:center 12px;transform-box:fill-box}
  .bubbles i{animation:rise linear infinite}
}
@keyframes fly{0%{transform:translate(0,0)}25%{transform:translate(30vw,-18px)}50%{transform:translate(60vw,10px)}75%{transform:translate(90vw,-12px)}100%{transform:translate(115vw,0)}}
@keyframes flap{to{transform:scaleY(.35)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes say{0%{opacity:0;transform:scale(.4) translateY(10px)}15%,80%{opacity:1;transform:none}100%{opacity:0;transform:scale(.8) translateY(-6px)}}
@keyframes honk{25%{transform:translateY(-8px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(2deg)}}
@keyframes crab{0%{left:-70px;transform:none}45%{left:calc(100% + 10px);transform:none}50%{left:calc(100% + 10px);transform:scaleX(-1)}95%{left:-70px;transform:scaleX(-1)}100%{left:-70px;transform:none}}
@keyframes legs{to{transform:translateY(-1.5px)}}
@keyframes snap{0%,70%,100%{transform:none}80%{transform:rotate(-12deg)}90%{transform:rotate(8deg)}}
@keyframes rise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:1}50%{transform:translateY(-45vh) translateX(14px)}100%{transform:translateY(-90vh) translateX(-10px);opacity:0}}
@media (prefers-reduced-motion:reduce){.gulls,.crab,.bubbles{display:none}.rv{opacity:1;transform:none}}

/* responsive */
@media (max-width:1080px){
  .navlinks{display:none}
  .menubtn{display:inline-flex}
  .hero-grid{grid-template-columns:1fr;padding-top:48px}
  .postcards{height:420px;max-width:560px;width:100%;margin:0 auto}
  .gb{grid-template-columns:1fr}
  .gsum{position:static}
  .promise-row{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .cashew-grid,.story-grid,.story-cols,.co-grid,.pd-grid{grid-template-columns:1fr}
  .pd-grid{gap:30px}
  .pd-media{position:static;max-width:520px;margin:0 auto;width:100%}
  .co-sum{position:static}
  .hamper{grid-template-columns:1fr}
  .hamper-img{grid-template-columns:repeat(4,1fr);height:120px}
  .hamper-img img{min-height:0}
  .story-photos{height:340px;max-width:460px}
  .cashew-photo{max-width:460px}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 32px)}
  .wa-fab{width:50px;height:50px;right:14px;bottom:14px}
  .page-product .wa-fab{bottom:80px}
  .pd-points{grid-template-columns:1fr}
  .pd-price b{font-size:34px}
  .shop-right{width:100%}.shop-right .search{flex:1}
  .pd-buy{padding:16px}
  .hide-sm{display:none}
  .brand span{display:none}
  .brand img{width:52px;height:52px}
  .bagbtn span{display:none}
  .hero h1{font-size:40px}
  .hero-points{grid-template-columns:1fr}
  .postcards{height:330px}
  .postcards figcaption{font-size:20px}
  .post-stamp{width:70px;height:70px}
  .stops li{font-size:12px;padding-left:16px}
  .stops li::before{width:11px;height:11px}
  .stops{left:2%;right:26%}
  .caravan{width:100px}
  .cv-say{font-size:17px;top:-34px}
  .crab{width:44px}
  @keyframes drive{from{left:-110px}to{left:calc(100% - 104px)}}
  .shop,.cashew,.giftbox,.story-teaser{padding:64px 0}
  .hampers{padding:84px 0 64px}
  .search{min-width:0;width:100%}
  .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}
  .fchip{flex:none}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pc{padding:6px}
  .pc-body{padding:10px 4px 12px;gap:6px}
  .pc-body h3{font-size:17px}
  .pc-desc{font-size:13px;-webkit-line-clamp:2}
  .pc-foot{flex-direction:column;align-items:stretch}
  .pc-price{font-size:22px}
  .stamp{display:none}
  .promise-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .fgrid2{grid-template-columns:1fr}.fgrid2 .span2{grid-column:auto}
  .tform{grid-template-columns:1fr}
  .track-steps li{font-size:11px}
  .co-card{padding:20px}
  .story-gallery img:nth-child(even){margin-top:14px}
}
@media (max-width:380px){.pgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
