/* Brightwater Springs: editorial magazine, lagoon palette, playful */
:root{
  --ground:#F2FAFB;--surface:#FFFFFF;--ink:#0B2A3A;--primary:#0A7C8C;--accent:#C2410C;--muted:#4E6672;
  --sun:#FFB703;--aqua:#7FD8E0;--deep:#06506A;--mist:#DDF2F5;--line:#CDE6EA;
  --fh:'Nunito',system-ui,sans-serif;--fb:'Albert Sans',system-ui,sans-serif;--r:26px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1rem/1.65 var(--fb);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--primary);text-underline-offset:3px}
a:hover{color:var(--deep)}
h1,h2,h3,h4{font-family:var(--fh);font-weight:900;line-height:1.02;letter-spacing:-.025em;margin:0 0 .45em}
h1{font-size:clamp(2.8rem,7.6vw,6.6rem)}
h2{font-size:clamp(2rem,4.6vw,3.6rem)}
h3{font-size:1.4rem;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:60px;background:var(--ink);color:#fff;padding:10px 16px;z-index:100;border-radius:10px}
.skip:focus{left:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 32px,1260px);margin-inline:auto}
.small{font-size:.875rem;color:var(--muted)}
.pg{font:800 .76rem/1 var(--fh);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:10px;align-items:center;margin-bottom:14px}
.pg b{background:var(--ink);color:#fff;border-radius:999px;padding:5px 10px;letter-spacing:.06em}
.standfirst{font:700 clamp(1.15rem,1.8vw,1.45rem)/1.45 var(--fh);color:var(--muted);max-width:44ch}
.sticker{display:inline-grid;place-items:center;text-align:center;width:128px;height:128px;border-radius:50%;background:var(--sun);color:var(--ink);font:900 1rem/1.1 var(--fh);transform:rotate(-12deg);box-shadow:0 10px 0 -2px var(--ink);padding:14px}
.sticker b{display:block;font-size:1.9rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 26px;border-radius:999px;background:var(--ink);color:#fff;font:800 1rem/1 var(--fh);text-decoration:none;border:0;cursor:pointer;box-shadow:0 5px 0 var(--primary);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{color:#fff;transform:translateY(2px);box-shadow:0 3px 0 var(--primary)}
.btn.sun{background:var(--sun);color:var(--ink);box-shadow:0 5px 0 var(--ink)}
.btn.sun:hover{color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.btn.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink),0 5px 0 var(--ink)}
.btn.sm{min-height:44px;padding:8px 18px;font-size:.92rem}
.btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* masthead */
.strip{background:var(--ink);color:#DDF2F5;font:700 .8rem/1.3 var(--fh);text-align:center;padding:8px 16px}
.strip b{color:var(--sun)}
.hdr{position:sticky;top:0;z-index:50;background:rgba(242,250,251,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);transition:box-shadow .25s}
.hdr.is-small{box-shadow:0 10px 30px -20px rgba(11,42,58,.5)}
.hdr-in{display:flex;align-items:center;gap:18px;min-height:72px;transition:min-height .25s}
.hdr.is-small .hdr-in{min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px}
.brand svg{width:42px;height:42px;flex:none}
.brand b{font:900 1.5rem/1 var(--fh);letter-spacing:-.03em}
.brand small{display:block;font:800 .66rem/1.2 var(--fh);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hnav{display:flex;gap:2px;margin-left:auto}
.hnav a{padding:10px 12px;border-radius:999px;text-decoration:none;color:var(--ink);font:800 .92rem var(--fh)}
.hnav a:hover,.hnav a[aria-current]{background:var(--mist)}
.cartb{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--sun);color:var(--ink);text-decoration:none;font:900 .92rem var(--fh);box-shadow:0 3px 0 var(--ink)}
.cartb svg{width:22px;height:22px}
.cartb .n{background:var(--ink);color:#fff;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:.78rem;padding:0 6px}
.menubtn{display:none;min-height:44px;min-width:44px;padding:0 16px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:800 .9rem var(--fh);color:var(--ink);cursor:pointer}
@media (max-width:1060px){.hnav{display:none}.menubtn{display:inline-block}.cartb{margin-left:auto}}
@media (max-width:420px){.cartb .t{display:none}}
.menu{position:fixed;inset:48px 0 0 0;z-index:60;background:var(--primary);color:#fff;overflow:auto}
.menu-in{width:min(100% - 32px,620px);margin:0 auto;padding:22px 0 40px}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.menu-top b{font:900 1.6rem var(--fh)}
.menuclose{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid #fff;background:none;color:#fff;font:800 .9rem var(--fh);cursor:pointer}
.mlist{list-style:none;margin:0;padding:0}
.mlist a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:2px dashed rgba(255,255,255,.35);color:#fff;text-decoration:none;font:900 1.9rem/1.1 var(--fh)}
.mlist a span{font:800 .78rem var(--fh);color:var(--sun);letter-spacing:.1em}
.menu-c{margin-top:20px;color:#E6F7F9}
.menu-c a{color:var(--sun)}

/* sections */
.sec{padding:clamp(56px,8vw,104px) 0;position:relative}
.sec.white{background:var(--surface)}
.sec.mist{background:var(--mist)}
.sec.deep{background:var(--deep);color:#E6F7F9}
.sec.deep h2,.sec.deep h3{color:#fff}
.sec.deep .pg{color:var(--sun)}
.sec.deep .small,.sec.deep .standfirst{color:#B8E8EE}
.sec.deep a:not(.btn){color:var(--sun)}
.sec.sunny{background:var(--sun)}
.sec.sunny .pg{color:var(--ink)}
.wave{display:block;width:100%;height:40px;margin-bottom:-1px}
.head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:34px}
.head .standfirst{margin:0}
@media (max-width:760px){.head{grid-template-columns:minmax(0,1fr)}}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:900px){.g2,.g3{grid-template-columns:minmax(0,1fr)}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.g4{grid-template-columns:minmax(0,1fr)}}

/* photo boxes */
.ph{position:relative;overflow:hidden;border-radius:var(--r);background:linear-gradient(160deg,#9FDDE4,#5DBFCB);aspect-ratio:4/3}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.tall{aspect-ratio:3/4}.ph.sq{aspect-ratio:1}.ph.wide{aspect-ratio:16/9}
.ph.blob{border-radius:46% 54% 42% 58% / 52% 40% 60% 48%}

/* cover */
.cover{padding:clamp(28px,4vw,56px) 0 clamp(40px,6vw,80px);position:relative;overflow:hidden}
.cover-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,60px);align-items:center}
@media (max-width:900px){.cover-g{grid-template-columns:minmax(0,1fr)}}
.issue{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font:800 .78rem var(--fh);letter-spacing:.12em;text-transform:uppercase}
.issue span{border:2px solid var(--ink);border-radius:999px;padding:5px 12px}
.cover h1 .hl{color:var(--primary);position:relative;display:inline-block}
.cover h1 .hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.06em;height:.22em;background:var(--sun);z-index:-1;border-radius:999px}
.coverlines{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.coverlines li{border-top:3px solid var(--ink);padding-top:10px;font:800 1rem/1.25 var(--fh)}
.coverlines li small{display:block;font:700 .74rem var(--fh);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.coverlines a{color:var(--ink);text-decoration:none}
.coverlines a:hover{color:var(--primary)}
@media (max-width:560px){.coverlines{grid-template-columns:minmax(0,1fr)}}
.cover-pic{position:relative}
.cover-pic .ph{aspect-ratio:4/5}
.cover-pic .sticker{position:absolute;left:-26px;top:24px;z-index:3}
@media (max-width:560px){.cover-pic .sticker{left:8px;top:8px;width:104px;height:104px;font-size:.86rem}.cover-pic .sticker b{font-size:1.5rem}}
.bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.bubbles i{position:absolute;bottom:-30px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(255,255,255,.18);animation:rise linear infinite}
@keyframes rise{to{transform:translateY(-110vh) translateX(20px)}}

/* contents */
.contents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.contents a{padding:22px 20px;text-decoration:none;color:var(--ink);border-left:2px dashed var(--line);transition:background .2s}
.contents a:first-child{border-left:0}
.contents a:hover{background:var(--surface)}
.contents b{display:block;font:900 2.6rem/1 var(--fh);color:var(--primary)}
.contents span{display:block;font:800 1.1rem/1.25 var(--fh);margin:6px 0 4px}
.contents small{color:var(--muted)}
@media (max-width:900px){.contents{grid-template-columns:repeat(2,minmax(0,1fr))}.contents a:nth-child(3){border-left:0}.contents a:nth-child(n+3){border-top:2px dashed var(--line)}}

/* feature columns */
.feat{columns:2 300px;column-gap:40px;column-rule:2px dashed var(--line)}
.feat p{break-inside:avoid-column}
.drop::first-letter{float:left;font:900 4.6em/.82 var(--fh);color:var(--primary);margin:.04em .08em 0 0}
.pull{font:900 clamp(1.6rem,3vw,2.4rem)/1.15 var(--fh);color:var(--ink);margin:10px 0 22px;padding:22px 26px;background:var(--sun);border-radius:var(--r);transform:rotate(-1deg);break-inside:avoid}
.pull cite{display:block;font:700 .8rem var(--fb);font-style:normal;letter-spacing:.1em;text-transform:uppercase;margin-top:10px}

/* product cards */
.prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.prods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.prods{grid-template-columns:minmax(0,1fr)}}
.prod{background:var(--surface);border:2px solid var(--ink);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 0 var(--ink);transition:transform .2s}
.prod:hover{transform:translateY(-4px) rotate(-.5deg)}
.prod .pa{height:120px;display:grid;place-items:center;background:var(--mist);border-radius:18px;margin-bottom:8px}
.prod .pa svg{height:100px;width:auto}
.prod h3{margin:4px 0 0}
.prod .price{font:900 1.5rem var(--fh);color:var(--primary);margin-top:auto}
.prod .price small{font:700 .82rem var(--fb);color:var(--muted)}

/* order builder (signature) */
.ob{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px;align-items:start}
@media (max-width:980px){.ob{grid-template-columns:minmax(0,1fr)}}
.ob-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ob-tabs button{min-height:48px;padding:0 20px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:900 .98rem var(--fh);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.ob-tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.ob-tabs button .c{background:var(--sun);color:var(--ink);border-radius:999px;font-size:.74rem;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}
.oline{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:2px solid var(--line);border-radius:22px;padding:14px 16px;margin-bottom:10px;transition:border-color .2s}
.oline.on{border-color:var(--primary);background:#F5FDFE}
.oline .ico{width:80px;height:80px;border-radius:18px;background:var(--mist);display:grid;place-items:center}
.oline .ico svg{height:64px;width:auto}
.oline h3{font-size:1.15rem;margin:0 0 2px}
.oline p{margin:0;font-size:.9rem;color:var(--muted)}
.oline .pr{font:900 1.05rem var(--fh);color:var(--primary)}
@media (max-width:560px){.oline{grid-template-columns:56px minmax(0,1fr)}.oline .ico{width:56px;height:56px}.oline .ico svg{height:46px}.oline .qty{grid-column:1 / -1;justify-self:start}}
.qty{display:flex;align-items:center;border:2px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden}
.qty button{width:46px;height:46px;border:0;background:none;font:900 1.3rem var(--fh);cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--mist)}
.qty input{width:58px;height:46px;border:0;text-align:center;font:900 1.1rem var(--fh);color:var(--ink);background:transparent;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart{position:sticky;top:128px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--r);padding:22px;box-shadow:0 8px 0 var(--ink)}
@media (max-width:980px){.cart{position:static}}
.cart h3{display:flex;justify-content:space-between;align-items:center}
.van{width:100%;height:auto;margin:4px 0 10px}
.van .wl{transition:height .5s,y .5s}
.vanl{display:flex;justify-content:space-between;font:800 .84rem var(--fh);color:var(--muted);margin-bottom:12px}
.vanl b{color:var(--ink)}
.cart dl{margin:0 0 10px}
.cart dl div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:2px dashed var(--line);font-size:.93rem}
.cart dd{margin:0;font-weight:700;white-space:nowrap}
.cart .tot{display:flex;justify-content:space-between;align-items:baseline;font:900 1.9rem var(--fh);margin:10px 0}
.cart .empty{color:var(--muted);font-size:.95rem}
.fld{margin-bottom:14px;min-width:0}
.fld label,.lbl{display:block;font:800 .9rem var(--fh);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;border:2px solid var(--line);border-radius:14px;padding:10px 14px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(10,124,140,.2)}
.fld .err{display:none;color:#A3330A;font-size:.86rem;margin:6px 0 0}
.fld.bad .err{display:block}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#A3330A}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:560px){.two{grid-template-columns:minmax(0,1fr)}}
fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}
legend{font:800 .9rem var(--fh);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:#fff;font:800 .9rem var(--fh)}
.chip input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.note{background:var(--mist);border-radius:16px;padding:10px 14px;font-size:.9rem;margin:0 0 12px}
.note.good{background:#E3F7E8}
.form{background:var(--surface);border:2px solid var(--ink);border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:0 8px 0 var(--ink)}
.thanks{background:var(--primary);color:#fff;border-radius:var(--r);padding:28px;box-shadow:0 8px 0 var(--ink)}
.thanks h3{color:#fff}
.thanks b{color:var(--sun)}

/* drop journey */
.journey{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(16px,4vw,48px);position:relative}
.pipe{position:sticky;top:110px;height:calc(100vh - 160px);display:flex;justify-content:center}
.pipe svg{height:100%;width:auto;overflow:visible}
.pipe .tube{fill:none;stroke:var(--mist);stroke-width:26;stroke-linecap:round}
.pipe .flow{fill:none;stroke:var(--aqua);stroke-width:14;stroke-linecap:round}
.pipe .drop{fill:var(--primary)}
.jsteps{list-style:none;margin:0;padding:0;counter-reset:j}
.jsteps li{counter-increment:j;background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:24px 26px;margin-bottom:22px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:start;transition:border-color .3s,transform .3s}
.jsteps li.on{border-color:var(--primary);transform:translateX(6px)}
.jsteps li::before{content:counter(j,decimal-leading-zero);font:900 2.4rem/1 var(--fh);color:var(--primary)}
.jsteps h3{margin-bottom:4px}
.jsteps p{margin:0;color:var(--muted)}
.jsteps .fact{display:inline-block;margin-top:10px;background:var(--sun);border-radius:999px;padding:4px 12px;font:800 .8rem var(--fh);color:var(--ink)}
@media (max-width:700px){.journey{grid-template-columns:minmax(0,1fr)}.pipe{display:none}}
.mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;counter-reset:m}
.mini div{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:16px;counter-increment:m}
.mini div::before{content:counter(m);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sun);color:var(--ink);font:900 1rem var(--fh);margin-bottom:8px}
.mini b{display:block;font:900 1.05rem var(--fh);color:#fff}
.mini span{font-size:.86rem;color:#B8E8EE}
@media (max-width:900px){.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;background:var(--surface);border:2px solid var(--ink);border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:0 8px 0 var(--ink)}
@media (max-width:800px){.calc{grid-template-columns:minmax(0,1fr)}}
.rng{display:flex;align-items:center;gap:12px}
.rng input{flex:1;accent-color:var(--primary);min-height:44px}
.rng output{font:900 1.6rem var(--fh);min-width:3ch;text-align:right;color:var(--primary)}
.res{background:var(--mist);border-radius:22px;padding:22px;text-align:center}
.res b{display:block;font:900 clamp(3rem,7vw,4.6rem)/1 var(--fh);color:var(--primary)}
.bottles{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:10px 0}
.bottles svg{width:22px;height:34px}

/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.revs{grid-template-columns:minmax(0,1fr)}}
.rev{margin:0;background:var(--surface);border-radius:var(--r);padding:24px;border:2px solid var(--ink)}
.rev:nth-child(2){transform:rotate(1deg);background:var(--sun)}
.rev:nth-child(3){transform:rotate(-1deg)}
.rev p{font:800 1.12rem/1.45 var(--fh)}
.rev footer{font:700 .82rem var(--fb);color:var(--muted)}
.rev:nth-child(2) footer{color:var(--ink)}

/* table */
.tbox{overflow-x:auto;position:relative;border:2px solid var(--ink);border-radius:var(--r);background:var(--surface)}
table.tt{width:100%;border-collapse:collapse;min-width:560px}
.tt th,.tt td{text-align:left;padding:13px 16px;border-bottom:2px dashed var(--line)}
.tt thead th{background:var(--ink);color:#fff;font:800 .82rem var(--fh);letter-spacing:.06em}
.tt td.n{font:900 1rem var(--fh);color:var(--primary);white-space:nowrap}

/* faq */
.faq details{background:var(--surface);border:2px solid var(--line);border-radius:20px;margin-bottom:10px;padding:0 20px}
.faq details[open]{border-color:var(--primary)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 0;font:800 1.08rem/1.35 var(--fh);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";width:30px;height:30px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font:900 1.2rem var(--fh);flex:none;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0 0 16px}

/* gallery */
.gfil{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.gfil button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:800 .92rem var(--fh);cursor:pointer;color:var(--ink)}
.gfil button[aria-pressed=true]{background:var(--ink);color:#fff}
.gal{columns:4 230px;column-gap:16px}
.gal a{display:block;break-inside:avoid;margin-bottom:16px;text-decoration:none;color:var(--ink)}
.gal a span{display:block;font:700 .84rem/1.35 var(--fb);color:var(--muted);padding:6px 4px 0}
.gal a:hover .ph{transform:rotate(-1.5deg) scale(1.02)}
.gal .ph{transition:transform .3s}
.lb{position:fixed;inset:48px 0 0 0;z-index:70;background:rgba(6,80,106,.96);display:flex;align-items:center;justify-content:center;padding:64px 16px 24px}
.lb figure{margin:0;max-width:min(1100px,100%);text-align:center}
.lb img{max-height:72vh;width:auto;margin:0 auto;border-radius:20px;background:#0A7C8C;min-width:min(600px,90vw);min-height:300px;object-fit:contain}
.lb figcaption{color:#E6F7F9;margin-top:12px}
.lb button{position:absolute;min-width:48px;min-height:48px;border-radius:999px;border:0;background:var(--sun);color:var(--ink);font:900 1rem var(--fh);cursor:pointer}
.lb-x{top:12px;right:16px;padding:0 18px}
.lb-p{left:16px;top:50%}.lb-n{right:16px;top:50%}

/* stories */
.story{display:block;text-decoration:none;color:var(--ink)}
.story h3{font-size:1.6rem;margin:14px 0 8px}
.story:hover h3{color:var(--primary)}
.story .pg{margin:12px 0 0}
.art{max-width:740px;margin:0 auto;font-size:1.08rem}
.art h2{font-size:2rem;margin-top:1.5em}
.art ol li,.art ul li{margin-bottom:8px}
.byl{display:flex;flex-wrap:wrap;gap:8px 18px;font:700 .9rem var(--fh);color:var(--muted);margin-bottom:12px}
.crumbs{font:700 .86rem var(--fh);color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
.mapbox{border-radius:var(--r);overflow:hidden;border:2px solid var(--ink)}
.mapbox svg{display:block;width:100%;height:auto}
.box{background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:24px}
.sec.deep .box{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.stat b{display:block;font:900 clamp(2.4rem,5vw,3.6rem)/1 var(--fh);color:var(--sun)}
.stat span{color:#B8E8EE}

/* reveal */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}.bubbles{display:none}}

/* footer */
.ftr{background:var(--ink);color:#B8E8EE;padding:0 0 110px}
.ftr .wave{background:var(--ground)}
.ftr-in{padding-top:48px}
.ftr a{color:#fff;text-decoration:none}
.ftr a:hover{color:var(--sun);text-decoration:underline}
.ftr .big{font:900 clamp(2.4rem,6vw,4.6rem)/1 var(--fh);color:#fff;letter-spacing:-.03em;margin-bottom:28px}
.ftr .big span{color:var(--sun)}
.ftr-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:760px){.ftr-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:440px){.ftr-g{grid-template-columns:minmax(0,1fr)}}
.ftr h2{font:900 .82rem var(--fh);letter-spacing:.14em;text-transform:uppercase;color:var(--sun);margin-bottom:12px}
.ftr-g a{display:block;padding:5px 0}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:2px dashed rgba(255,255,255,.2);margin-top:36px;padding-top:18px;font-size:.86rem}
.wa{position:fixed;right:18px;bottom:20px;z-index:54;width:58px;height:58px;border-radius:50%;background:#1F7A4D;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.45)}
.wa svg{width:30px;height:30px;fill:#fff}

.prod .btn{align-self:flex-start;margin-top:8px}

.ob-l{grid-column:1;grid-row:1}.ob .cart{grid-column:2;grid-row:1 / span 2;align-self:start}.ob-f{grid-column:1;grid-row:2}
.ob-f .form .btn{width:100%}
@media (max-width:980px){.ob-l,.ob .cart,.ob-f{grid-column:1;grid-row:auto}}
.btns .btn{flex:0 0 auto;max-width:100%}
@media (max-width:480px){.hdr-in{gap:8px}.brand b{font-size:1.2rem}.brand small{font-size:.6rem}.brand svg{width:34px;height:34px}.menubtn{padding:0 12px}.cartb{padding:0 12px}}
