/* ============================================================
   TheTruTides — clean/airy pass
   Same palette. Lighter surfaces, hairline borders, more space,
   colour used as accent rather than as background.
   ============================================================ */
:root{
  --deep:#123543; --deep2:#0d2833; --teal:#0E8388; --teal-d:#0A6266;
  --mint:#EAF6F5; --amber:#E0912F; --cream:#FDF6EA; --coral:#C9563C;
  --blush:#FCF0EC; --ink:#0F1E27; --body:#42555F; --muted:#7B8C95;
  --line:#E5EDEF; --line2:#D3E0E4; --cloud:#F6FAFB; --white:#fff;
  --paper:#FFFFFF; --acc:#0E8388; --tint:#EAF6F5;
  --r:16px; --r-sm:10px;
  --shadow:0 1px 2px rgba(15,30,39,.04);
  --shadow-hover:0 1px 2px rgba(15,30,39,.04),0 12px 32px -16px rgba(15,30,39,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{font:16.5px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,sans-serif;
  color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;
  font-feature-settings:"kern","liga","cv11"}
a{color:var(--teal-d);text-decoration:none}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.022em;line-height:1.18;font-weight:680}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;
  color:var(--teal);margin-bottom:14px}

/* ---------------- hero: light ---------------- */
.hero{background:var(--paper);padding:104px 0 78px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;top:-320px;right:-180px;width:720px;height:720px;
  background:radial-gradient(closest-side,rgba(14,131,136,.10),transparent 72%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;max-width:820px}
.hero h1{font-size:clamp(38px,5.6vw,66px);font-weight:700;letter-spacing:-.035em;line-height:1.06}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero p{margin-top:22px;font-size:clamp(17px,1.7vw,20px);color:var(--body);max-width:610px;line-height:1.6}
.hero .row{display:flex;gap:11px;margin-top:38px;flex-wrap:wrap}
.b1,.b2{padding:13px 24px;border-radius:10px;font-weight:620;font-size:15.5px;
  transition:transform .18s,background .18s,border-color .18s;display:inline-block}
.b1{background:var(--ink);color:#fff}
.b1:hover{background:var(--teal-d);transform:translateY(-1px)}
.b2{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.b2:hover{border-color:var(--teal);color:var(--teal-d);transform:translateY(-1px)}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;
  margin-top:64px;border-top:1px solid var(--line);padding-top:30px}
.trust div{padding-right:26px}
.trust b{color:var(--ink);display:block;font-size:20px;font-weight:680;letter-spacing:-.02em}
.trust span{font-size:13.5px;color:var(--muted);display:block;margin-top:3px}

/* ---------------- controls ---------------- */
.controls{position:sticky;top:70px;z-index:40;background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:15px 0}
.controls .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search{flex:1;min-width:220px;position:relative}
.search input{width:100%;padding:11px 16px 11px 40px;border:1px solid var(--line2);
  border-radius:10px;font-size:14.5px;font-family:inherit;background:#fff;color:var(--ink);transition:.18s}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,131,136,.09)}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:10px 16px;border:1px solid var(--line2);background:#fff;border-radius:10px;
  font-size:14px;font-weight:550;color:var(--body);cursor:pointer;font-family:inherit;transition:.16s}
.chip:hover{border-color:var(--teal);color:var(--teal-d)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------------- category sections ---------------- */
.cat{padding:82px 0 10px}
.cat + .cat{border-top:1px solid var(--line)}
.cat h2{font-size:31px;font-weight:700;letter-spacing:-.03em}
.cat .sub{color:var(--muted);margin:9px 0 34px;font-size:16.5px}

/* ---------------- cards ---------------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;
  display:flex;flex-direction:column;position:relative;
  transition:border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.2,.7,.3,1)}
.card:hover{border-color:var(--line2);box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.card h3{font-size:20px;font-weight:680;letter-spacing:-.024em}
.badge{font-size:11px;font-weight:620;letter-spacing:.03em;padding:4px 10px;
  border-radius:99px;white-space:nowrap;border:1px solid}
.badge.blend{background:var(--cream);color:#9A6612;border-color:#F0E2C6}
.badge.single{background:var(--mint);color:var(--teal-d);border-color:#CFE7E5}
.card .sub{font-size:13.5px;color:var(--muted);margin-top:6px}
.card .hook{margin-top:15px;font-size:15px;line-height:1.66;color:var(--body);flex:1}
.card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;
  padding-top:17px;border-top:1px solid var(--line)}
.card .price{font-weight:680;color:var(--ink);font-size:16px;letter-spacing:-.02em}
.card .go{font-size:14px;font-weight:600;color:var(--teal-d);display:flex;align-items:center;gap:6px}
.card .go svg{transition:transform .2s}
.card:hover .go svg{transform:translateX(3px)}
.card a.stretch{position:absolute;inset:0;border-radius:var(--r)}
.empty{padding:80px 0;text-align:center;color:var(--muted)}

/* ---------------- product page ---------------- */
.phero{background:var(--cloud);border-bottom:1px solid var(--line);padding:30px 0 46px}
.crumb{font-size:13.5px;color:var(--muted);margin-bottom:24px}
.crumb a{color:var(--muted)}.crumb a:hover{color:var(--teal-d)}
/* separators own their spacing, so no stray &nbsp; can double it up */
.crumb .sep,.fcontact .sep{display:inline-block;margin:0 9px;opacity:.55;
  box-shadow:none;text-decoration:none}
.phero h1{font-size:clamp(32px,4.6vw,48px);font-weight:700;letter-spacing:-.035em}
.phero .s{color:var(--body);margin-top:12px;font-size:18px;max-width:640px;line-height:1.55}
.phero .tags{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.phero .tags span{background:#fff;border:1px solid var(--line2);color:var(--body);
  padding:5px 13px;border-radius:99px;font-size:13px;font-weight:560}
.pmain{display:grid;grid-template-columns:1fr 296px;gap:56px;padding:56px 0 88px;align-items:start}
.blk{margin-bottom:44px}
.blk h2{font-size:23px;font-weight:690;letter-spacing:-.028em;margin-bottom:16px;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.blk h3{font-size:16.5px;color:var(--ink);margin:24px 0 8px;font-weight:660;letter-spacing:-.018em}
.blk p{margin-bottom:14px}
.blk ul{margin:0 0 16px 20px}.blk li{margin-bottom:9px}
.cap{font-size:13.5px;color:var(--muted);line-height:1.6;margin-top:12px}
.vm{background:var(--cream);border-radius:var(--r-sm);padding:14px 16px;color:#9A6612}
a.xref{color:var(--teal-d);font-weight:560;box-shadow:inset 0 -1px 0 rgba(14,131,136,.28);
  transition:box-shadow .16s,background .16s;border-radius:2px}
a.xref:hover{box-shadow:inset 0 -2px 0 var(--teal);background:var(--mint)}

.tbl{width:100%;border-collapse:collapse;margin:8px 0 6px;font-size:15px;
  border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.tbl th{background:var(--cloud);color:var(--ink);text-align:left;padding:12px 15px;
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:650;
  border-bottom:1px solid var(--line2)}
.tbl td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td.goal{font-weight:620;color:var(--ink)}

.glance{display:grid;grid-template-columns:180px 1fr;border:1px solid var(--line);
  border-radius:var(--r-sm);overflow:hidden}
.glance dt{background:var(--cloud);color:var(--ink);padding:13px 15px;font-size:12px;
  font-weight:650;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.glance dd{padding:13px 15px;font-size:15px;border-bottom:1px solid var(--line)}
.glance dt:last-of-type,.glance dd:last-of-type{border-bottom:0}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;
  margin-bottom:40px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.stat{padding:20px 18px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:25px;color:var(--ink);letter-spacing:-.03em;font-weight:700}
.stat span{font-size:12px;color:var(--muted);display:block;margin-top:3px}

.callout{border-radius:var(--r-sm);padding:19px 21px;margin-bottom:34px;border:1px solid}
.callout h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:680}
.callout p{margin:0;font-size:15.5px}
.callout.teal{background:var(--mint);border-color:#CFE7E5}.callout.teal h4{color:var(--teal-d)}
.callout.amber{background:var(--cream);border-color:#F0E2C6}.callout.amber h4{color:#9A6612}
.callout.coral{background:var(--blush);border-color:#F3D9D1}.callout.coral h4{color:var(--coral)}

.pricecard{background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:22px}
.pricecard.alt{background:var(--cloud)}
.pchead{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  font-weight:650;margin-bottom:14px}
.prow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;
  border-bottom:1px solid var(--line)}
.prow:last-of-type{border-bottom:0}
.prow span{font-size:15.5px;color:var(--body)}
.prow b{font-size:21px;color:var(--ink);font-weight:700;letter-spacing:-.03em;white-space:nowrap}
.tiers{font-size:13.5px;color:var(--body);margin-top:14px;padding-top:13px;
  border-top:1px solid var(--line);font-weight:550;
  display:flex;flex-wrap:wrap;align-items:baseline;row-gap:6px}
.tiers>b{margin-right:12px}
/* one tier never splits across a line, and every gap is set here, once */
.tiers .tier{white-space:nowrap}
.tiers .tier+.tier::before{content:"|";color:var(--line);margin:0 12px;font-weight:400}
.pnote{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.6}
.btn{display:inline-block;margin-top:18px;background:var(--ink);color:#fff;padding:12px 24px;
  border-radius:10px;font-weight:620;font-size:15px;transition:background .18s,transform .18s}
.btn:hover{background:var(--teal-d);transform:translateY(-1px)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line2);margin-top:8px}
.btn.ghost:hover{border-color:var(--teal);color:var(--teal-d);background:#fff}

/* sidebar */
.side{position:sticky;top:98px;display:flex;flex-direction:column;gap:14px}
.sbox{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff}
.sbox h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  margin-bottom:12px;font-weight:650}
.sbox .dl{display:flex;align-items:center;gap:9px;font-weight:640;color:var(--ink);font-size:15px}
.sbox p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.6}
.sbox .btn{width:100%;text-align:center;margin-top:14px}

/* ---------------- cta + footer ---------------- */
.cta-band{background:var(--cloud);border-top:1px solid var(--line);padding:84px 0;text-align:center}
.cta-band h2{font-size:clamp(28px,3.6vw,42px);font-weight:700;letter-spacing:-.035em}
.cta-band p{color:var(--body);margin:15px auto 30px;max-width:520px;font-size:17px}
.ctarow{display:flex;gap:11px;justify-content:center;flex-wrap:wrap}
footer{background:var(--ink);color:#93A7B0;padding:52px 0 40px;font-size:13.5px;line-height:1.7}
.fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:18px;
  margin-bottom:14px;letter-spacing:-.025em}
.fcontact{margin-top:10px}
.fcontact a{color:#BBD0D6;box-shadow:inset 0 -1px 0 rgba(187,208,214,.28)}
.fcontact a:hover{color:#fff}
footer .legal{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);
  font-size:11.5px;line-height:1.7;color:#67828C}
footer b{color:#A8BFC6}

/* ---------------- responsive ---------------- */
@media(max-width:900px){
  .pmain{grid-template-columns:1fr;gap:0}
  .side{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:36px}
  .sbox{flex:1;min-width:240px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{border-bottom:1px solid var(--line)}
}
@media(max-width:720px){
  .navlinks{display:none}
  .navlinks.open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;
    flex-direction:column;padding:18px 28px;gap:16px;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .nav .cta{display:none}
  .grid{grid-template-columns:1fr}
  .glance{grid-template-columns:1fr}
  .glance dt{border-bottom:0}
  .hero{padding:68px 0 56px}
  .cat{padding:56px 0 10px}
  .tbl{font-size:14px}.tbl td,.tbl th{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.reveal{opacity:0;transform:translateY(12px)}
.reveal.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.3,1)}

/* ---------------- accordions: keep pages calm ---------------- */
.accgroup{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:44px}
.acchead{background:var(--cloud);padding:14px 20px;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;font-weight:650;color:var(--muted);border-bottom:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc:last-child{border-bottom:0}
.acc summary{padding:16px 20px;cursor:pointer;font-weight:640;color:var(--ink);font-size:16.5px;
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  transition:background .16s;letter-spacing:-.018em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:9px;height:9px;flex:none;border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.acc[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.acc summary:hover{background:var(--cloud)}
.acc[open] summary{background:var(--cloud);border-bottom:1px solid var(--line)}
.accbody{padding:22px 20px 6px}
.accbody .tbl{font-size:14.5px}

/* ---------------- related + jump row ---------------- */
.jumprow{display:flex;gap:8px;flex-wrap:wrap;padding-top:0;padding-bottom:14px}
.jumprow a{font-size:13.5px;color:var(--muted);padding:6px 12px;border-radius:99px;
  background:var(--cloud);border:1px solid transparent;transition:.16s;font-weight:550}
.jumprow a:hover{color:var(--teal-d);border-color:var(--line2);background:#fff}
.related{border-top:1px solid var(--line);padding-top:36px}
.relgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.relcard{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);
  border-radius:var(--r-sm);padding:16px 18px;transition:border-color .18s,transform .18s}
.relcard:hover{border-color:var(--teal);transform:translateY(-2px)}
.relcard b{color:var(--ink);font-size:16px;font-weight:660;letter-spacing:-.02em}
.relcard span{font-size:13px;color:var(--muted);line-height:1.5}
.relcard em{font-style:normal;font-size:13.5px;color:var(--teal-d);font-weight:600;margin-top:3px}
.allink{font-size:14.5px;font-weight:600;color:var(--teal-d)}

/* sidebar contents */
.sbox.toc a{display:block;padding:8px 0;font-size:14.5px;color:var(--body);
  border-bottom:1px solid var(--line);transition:color .16s,padding .16s}
.sbox.toc a:last-child{border-bottom:0}
.sbox.toc a:hover{color:var(--teal-d);padding-left:5px}

/* back to top */
#totop{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:12px;
  background:var(--ink);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;
  justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .2s;
  z-index:60;box-shadow:var(--shadow-hover)}
#totop.show{opacity:1;pointer-events:auto}
#totop:hover{background:var(--teal-d);transform:translateY(-2px)}
@media(max-width:720px){#totop{right:14px;bottom:14px}}

/* ================= cart ================= */
.cart-fab{position:fixed;right:22px;bottom:78px;height:48px;min-width:48px;padding:0 15px;
  border-radius:14px;background:var(--ink);color:#fff;border:0;cursor:pointer;display:flex;
  align-items:center;gap:8px;z-index:60;box-shadow:var(--shadow-hover);
  transition:background .18s,transform .18s;font-family:inherit;font-weight:650;font-size:14px}
.cart-fab:hover{background:var(--teal-d);transform:translateY(-2px)}
.cart-fab .cart-n{background:rgba(255,255,255,.2);border-radius:99px;padding:1px 8px;font-size:13px}
.cart-fab.has .cart-n{background:var(--amber);color:#2A1A00}
.cart-backdrop{position:fixed;inset:0;background:rgba(15,30,39,.34);opacity:0;pointer-events:none;
  transition:opacity .28s;z-index:70;backdrop-filter:blur(2px)}
.cart-backdrop.on{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:#fff;
  z-index:71;transform:translateX(103%);transition:transform .34s cubic-bezier(.2,.8,.25,1);
  display:flex;flex-direction:column;box-shadow:-18px 0 50px -24px rgba(15,30,39,.4)}
.cart-drawer.on{transform:none}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;
  border-bottom:1px solid var(--line)}
.cart-head b{font-size:18px;color:var(--ink);letter-spacing:-.025em;font-weight:700}
.cart-x{background:none;border:0;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;
  padding:0 4px;transition:color .16s}
.cart-x:hover{color:var(--ink)}
.cart-progress{padding:16px 22px;border-bottom:1px solid var(--line);background:var(--mint)}
.cart-progress:empty{display:none}
.cart-progress p{font-size:13.5px;color:var(--teal-d);margin-top:9px;line-height:1.5}
.pbar{height:7px;border-radius:99px;background:#fff;overflow:hidden;border:1px solid #CFE7E5}
.pbar i{display:block;height:100%;background:var(--teal);transition:width .35s ease}
.pbar.full i{background:var(--amber)}
.cart-items{flex:1;overflow-y:auto;padding:8px 22px}
.ci{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;
  padding:15px 0;border-bottom:1px solid var(--line)}
.ci-main b{display:block;font-size:15px;color:var(--ink);font-weight:640;letter-spacing:-.018em}
.ci-main span{font-size:12.5px;color:var(--muted)}
.ci-qty{display:flex;align-items:center;gap:2px;border:1px solid var(--line2);border-radius:9px}
.ci-qty button{width:28px;height:28px;background:none;border:0;cursor:pointer;color:var(--body);
  font-size:16px;line-height:1;font-family:inherit;transition:color .16s}
.ci-qty button:hover{color:var(--teal-d)}
.ci-qty i{font-style:normal;font-size:14px;min-width:20px;text-align:center;color:var(--ink);font-weight:620}
.ci-p{font-weight:680;color:var(--ink);font-size:15px;min-width:52px;text-align:right;letter-spacing:-.02em}
.cart-empty{padding:56px 0;text-align:center;color:var(--muted)}
.cart-empty .sm{font-size:13.5px;margin-top:8px;line-height:1.6}
.cart-foot{border-top:1px solid var(--line);padding:18px 22px 22px}
.cart-foot:empty{display:none}
.crow{display:flex;justify-content:space-between;font-size:14.5px;padding:5px 0;color:var(--body)}
.crow b{color:var(--ink);font-weight:640}
.crow.disc b{color:var(--teal-d)}
.crow.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:17px}
.crow.tot b{font-size:21px;letter-spacing:-.03em;font-weight:720}
.cbtn{display:block;text-align:center;margin-top:11px;background:var(--ink);color:#fff;
  padding:13px;border-radius:11px;font-weight:640;font-size:15px;transition:background .18s}
.cbtn:hover{background:var(--teal-d)}
.cbtn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.cbtn.ghost:hover{border-color:var(--teal);color:var(--teal-d);background:#fff}
.clink{display:block;width:100%;margin-top:11px;background:none;border:0;color:var(--muted);
  font-size:13.5px;cursor:pointer;font-family:inherit;text-decoration:underline}
.clink:hover{color:var(--coral)}
.cnote{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.55;text-align:center}

/* add buttons */
.addbtn{background:var(--teal);color:#fff;border:0;border-radius:9px;padding:8px 15px;
  font-size:13.5px;font-weight:640;cursor:pointer;font-family:inherit;white-space:nowrap;
  transition:background .18s,transform .16s}
.addbtn:hover{background:var(--teal-d);transform:translateY(-1px)}
.addbtn.added{background:var(--amber)}
.prow{gap:12px}
.prow .pr-r{display:flex;align-items:center;gap:12px}
#totop{bottom:22px}
@media(max-width:720px){.cart-fab{right:14px;bottom:70px}#totop{right:14px;bottom:14px}}

/* wordmark stays lowercase regardless of context */
.brand,.fbrand{text-transform:lowercase}

/* ================= header: menu · wordmark · cart ================= */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;gap:16px}
.menubtn{justify-self:start;display:flex;align-items:center;gap:9px;background:none;border:0;
  font-family:inherit;font-size:16px;font-weight:520;color:var(--ink);cursor:pointer;padding:6px 0;
  transition:color .18s}
.menubtn:hover{color:var(--acc,var(--teal))}
.menubtn .dot{width:9px;height:9px;border-radius:99px;border:1.6px solid currentColor;flex:none}
.menubtn .x{font-size:23px;line-height:1;margin-right:-2px}
.brand{justify-self:center;display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;
  letter-spacing:-.03em;color:var(--ink);white-space:nowrap;text-transform:lowercase}
.brand .logo{flex:none;border-radius:10px}
.brand span{color:var(--teal)}
.cartbtn{justify-self:end;background:none;border:0;font-family:inherit;font-size:16px;
  font-weight:520;color:var(--ink);cursor:pointer;padding:6px 0;transition:color .18s}
.cartbtn:hover{color:var(--teal-d)}
.cartbtn.has{color:var(--teal-d);font-weight:640}
.cartbtn i{font-style:normal}

/* full-screen menu */
.menuoverlay{position:fixed;inset:0;background:var(--deep);z-index:90;opacity:0;pointer-events:none;
  transform:translateY(-8px);transition:opacity .3s,transform .3s;overflow-y:auto}
.menuoverlay.on{opacity:1;pointer-events:auto;transform:none}
.mohead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.menubtn.light,.cartbtn.light{color:#EAF3F3}
.menubtn.light:hover,.cartbtn.light:hover{color:#fff}
.brand.light{color:#fff}.brand.light span{color:#7FD3D0}
.molinks{display:flex;flex-direction:column;padding:44px 28px 60px;gap:2px}
.molinks a{color:#EAF3F3;font-size:clamp(30px,5.6vw,52px);font-weight:640;letter-spacing:-.035em;
  padding:11px 0;transition:color .2s,padding-left .2s;line-height:1.15;width:fit-content}
.molinks a:hover{color:var(--acc,#7FD3D0);padding-left:12px}
.molinks a.small{font-size:17px;font-weight:520;color:#9FC2C4;margin-top:6px;padding:6px 0}
.molinks a.small:hover{color:#fff;padding-left:8px}

/* ================= colour through the scroll ================= */
.cat{padding:76px 0 84px;background:var(--tint);position:relative}
.cat + .cat{border-top:0}
.cat:nth-of-type(even){background:var(--paper)}
.cathead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}
.cat h2{font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.cat h2::before{content:"";display:inline-block;width:11px;height:11px;border-radius:99px;
  background:var(--acc);margin-right:12px;vertical-align:middle}
.cat .sub{color:var(--body);margin:8px 0 0;font-size:16.5px;opacity:.85}
.catcount{font-size:13px;font-weight:640;color:var(--acc);background:rgba(255,255,255,.75);
  border:1px solid var(--line);border-radius:99px;padding:5px 13px;white-space:nowrap}
.cat .card{background:#fff}
.cat .card:hover{border-color:var(--acc)}
.cat .badge.single{background:var(--tint);color:var(--acc);border-color:var(--acc)}
.cat .go{color:var(--acc)}
.jumprow a{--acc:var(--teal)}
.jumprow a:hover{color:#fff;background:var(--acc);border-color:var(--acc)}

/* price chips on cards */
.pricechips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.chip-p{display:inline-flex;align-items:baseline;gap:7px;border:1px solid var(--line);
  background:var(--cloud);border-radius:99px;padding:5px 13px;transition:.16s}
.card:hover .chip-p{border-color:var(--acc)}
.chip-p i{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:550}
.chip-p b{font-size:15px;color:var(--ink);font-weight:700;letter-spacing:-.02em}
.chip-p.blendonly i{color:var(--acc)}
.card .foot{justify-content:flex-end;margin-top:16px;padding-top:14px}

/* product hero picks up its category colour */
.phero{background:var(--tint);border-bottom:1px solid var(--line)}
.phero .tags span:first-child{background:#fff;border-color:var(--acc);color:var(--acc);font-weight:640}
.blk h2::before{content:"";display:inline-block;width:9px;height:9px;border-radius:99px;
  background:var(--acc,var(--teal));margin-right:10px;vertical-align:middle}
.cta-band{background:var(--cloud);border-top:1px solid var(--line)}
.hero::after{background:radial-gradient(closest-side,rgba(224,145,47,.16),transparent 72%)}
.hero::before{content:"";position:absolute;left:-160px;bottom:-220px;width:520px;height:520px;
  background:radial-gradient(closest-side,rgba(14,131,136,.13),transparent 70%);pointer-events:none}
.card,.pricecard,.sbox,.accgroup,.tbl,.glance,.stats{background:#fff}
.search input,.chip{background:#fff}
@media(max-width:720px){
  .nav .wrap{height:64px}
  .menubtn,.cartbtn{font-size:15px}
  .brand{font-size:17px}
  .cat{padding:52px 0 58px}
  .cathead{flex-direction:column;align-items:flex-start;gap:10px}
}

/* ---- tide divider: reinforces the name, costs no new colour ---- */
.tide{display:block;width:100%;height:56px;margin-bottom:-1px;color:var(--tint)}
.hero{border-bottom:0}
.cat:nth-of-type(even){background:var(--paper)}
.cat:nth-of-type(even) .card{border-color:var(--line)}
.catcount{background:#fff}
.chip-p{background:#fff}

/* ==================================================================
   Refresh: wordmark, marquee, section atmosphere, centred heads
   ================================================================== */
body{font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,.brand,.cat h2,.hero h1,.phero h1,.molinks a{
  font-family:Fraunces,Georgia,"Times New Roman",serif;font-weight:600}

/* ---- wordmark: one flex item, so no gap can open in the middle ---- */
.brand{gap:11px}
.brand .wm{display:inline-block;letter-spacing:-.005em;font-size:23px;font-weight:600;
  white-space:nowrap;line-height:1}
.brand .wm i{font-style:normal;color:var(--teal)}
.brand .logo{width:46px;height:46px;border-radius:14px}
.nav .wrap{height:82px}
.controls{top:82px}
html{scroll-padding-top:100px}
.fbrand .wm{font-size:22px;color:#fff}
.fbrand .wm i{color:#7FD3D0}
.brand.light .wm i{color:#7FD3D0}
@media(max-width:720px){
  .brand .wm{font-size:19px}.brand .logo{width:38px;height:38px;border-radius:11px}
  .nav .wrap{height:68px}.controls{top:68px}
}

/* ---- marquee band ---- */
.marquee{position:relative;overflow:hidden;padding:15px 0;margin-top:56px;
  background:linear-gradient(100deg,#0B2E3A 0%,#0E8388 42%,#1FA5A0 62%,#E0912F 130%);
  border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;
  pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,#0B2E3A,transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,rgba(224,145,47,.55),transparent)}
.mq-track{display:flex;width:max-content;animation:mq 46s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-i{display:inline-flex;align-items:center;gap:10px;padding:0 34px;color:#fff;
  font-size:15px;font-weight:600;white-space:nowrap;letter-spacing:-.01em}
.mq-i svg{width:19px;height:19px;flex:none;color:#fff}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none;flex-wrap:wrap;width:auto;
  justify-content:center}.mq-i{padding:6px 18px}}

/* ---- section atmosphere: every section gets a wash, not just odd ones ---- */
.cat{padding:96px 0 90px;position:relative;overflow:hidden;background:var(--paper)}
.cat::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(760px 320px at 12% -8%, color-mix(in srgb,var(--acc) 15%,transparent), transparent 70%),
    radial-gradient(680px 300px at 88% 108%, color-mix(in srgb,var(--acc) 11%,transparent), transparent 70%),
    linear-gradient(180deg, var(--tint) 0%, #fff 46%, var(--tint) 100%)}
.cat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;pointer-events:none;
  background:radial-gradient(120% 100% at 50% 100%, color-mix(in srgb,var(--acc) 9%,transparent), transparent 72%)}
.cat .wrap{position:relative;z-index:1}
.cat:nth-of-type(even){background:var(--paper)}

/* centred heading with icon */
.cathead{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;
  margin-bottom:44px}
.caticon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
  background:#fff;border:1px solid color-mix(in srgb,var(--acc) 26%,transparent);
  color:var(--acc);margin-bottom:20px;
  box-shadow:0 10px 26px -14px color-mix(in srgb,var(--acc) 60%,transparent)}
.caticon svg{width:32px;height:32px}
.cat h2{font-size:clamp(30px,4.2vw,44px);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cat h2::before{display:none}
.cat .sub{color:var(--body);margin:10px 0 0;font-size:17px;max-width:520px;opacity:.9}
.catcount{margin-top:16px;font-size:12.5px;font-weight:600;color:var(--acc);
  background:#fff;border:1px solid color-mix(in srgb,var(--acc) 24%,transparent);
  border-radius:99px;padding:6px 15px;letter-spacing:.02em}
.cat .card{background:rgba(255,255,255,.82);backdrop-filter:blur(6px)}
.cat .card:hover{background:#fff;border-color:var(--acc)}
.cat .go{color:var(--acc)}
.cat .badge.single{background:color-mix(in srgb,var(--acc) 9%,#fff);color:var(--acc);
  border-color:color-mix(in srgb,var(--acc) 28%,transparent)}
.tide{color:var(--tint)}
.hero{padding-bottom:0}
.b1,.b2,.btn,.cbtn,.addbtn,.chip{font-family:inherit}
@media(max-width:720px){
  .cat{padding:62px 0 60px}
  .caticon{width:54px;height:54px;border-radius:17px}.caticon svg{width:27px;height:27px}
  .marquee{margin-top:40px}
}

/* color-mix fallbacks for older engines (declared first, overridden above) */
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .caticon{border-color:var(--line);box-shadow:0 10px 26px -16px rgba(15,30,39,.35)}
  .catcount{border-color:var(--line)}
  .cat .badge.single{background:var(--tint);border-color:var(--line2)}
  .cat::before{background:linear-gradient(180deg,var(--tint) 0%,#fff 46%,var(--tint) 100%)}
  .cat::after{display:none}
}

/* breathing room between the search/filter row and the category jump row */
.jumprow{padding-top:14px;padding-bottom:4px;gap:9px}
.controls{padding:16px 0 14px}

/* ---- centre the card rows, including partly-filled ones ---- */
.grid{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:stretch}
.grid .card{flex:0 1 calc((100% - 36px) / 3);min-width:0}
@media(max-width:1040px){ .grid .card{flex-basis:calc((100% - 18px) / 2)} }
@media(max-width:700px){  .grid .card{flex-basis:100%} }

/* same for the related-products row on product pages */
.relgrid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.relgrid .relcard{flex:0 1 calc((100% - 28px) / 3);min-width:0}
@media(max-width:760px){ .relgrid .relcard{flex-basis:calc((100% - 14px) / 2)} }
@media(max-width:520px){ .relgrid .relcard{flex-basis:100%} }

/* ---- wordmark: two-tone, "the" plain and "trutides" in the brand aqua ---- */
.brand .wm, .fbrand .wm{
  background:none; -webkit-text-fill-color:currentColor;
  color:var(--ink); padding-right:.02em}
.brand .wm i, .fbrand .wm i{font-style:normal;color:#00CED1}
/* on the deep petrol overlay and in the footer, "the" turns white */
.brand.light .wm, .fbrand .wm{color:#fff;-webkit-text-fill-color:#fff}
.brand.light .wm i, .fbrand .wm i{color:#00CED1}
