:root{
  --ink:#13221f;
  --teal:#0e7568;
  --teal-deep:#0c665b;
  --mint:#8fe0cf;
  --paper:#f2f8f7;
  --paper-hi:#f4f9f8;
  --muted:#5a6a66;
  --faint:#7a8a86;
  --dark:#0d1f1c;
  --line:rgba(14,117,104,.15);
  --secY:96px;
}
@media (max-width:980px){ :root{ --secY:64px } }
@media (max-width:640px){ :root{ --secY:52px } }
*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:'Archivo',sans-serif;
      -webkit-font-smoothing:antialiased; overflow-x:clip }
a{ color:var(--teal); text-decoration:none }
img{ max-width:100% }
.wrap{ max-width:1280px; margin:0 auto; padding-left:36px; padding-right:36px }
.wrap-n{ max-width:1000px; margin:0 auto; padding-left:36px; padding-right:36px }
.section{ padding-top:var(--secY); padding-bottom:var(--secY) }
.page{ padding-top:66px }
[id]{ scroll-margin-top:86px }
.brand{ font-family:'Baloo 2',sans-serif; font-weight:800; letter-spacing:-.03em; line-height:1; color:var(--ink); white-space:nowrap }
.brand em{ font-style:normal; color:var(--teal) }
.kicker{ font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--teal) }
h1.hd,h2.sec{ font-family:'Instrument Serif',serif; font-weight:400; margin:0 }
h1.hd{ font-size:clamp(40px,5vw,62px); line-height:1.04; letter-spacing:-.01em }
h2.sec{ font-size:clamp(34px,4vw,48px) }
h1.hd em,h2.sec em{ color:var(--teal) }
.lede{ font-size:16.5px; line-height:1.65; color:#3d4f4b }
.mono{ font-family:ui-monospace,monospace }
.stars{ color:var(--teal); letter-spacing:3px }

.reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.8,.3,1) }
.reveal.on{ opacity:1; transform:none }
.fu-paused *{ animation-play-state:paused!important }
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important }
  .reveal{ opacity:1; transform:none }
}

.nav{ position:fixed; top:0; left:0; right:0; z-index:90; backdrop-filter:blur(14px);
      background:rgba(242,248,247,.78); border-bottom:1px solid var(--line) }
.nav-in{ display:flex; align-items:center; justify-content:space-between; gap:22px;
         padding-top:14px; padding-bottom:14px }
.nav .brand{ font-size:23px }
.nav-side{ display:flex; align-items:center; gap:18px; font-size:13.5px; font-weight:600 }
.cartlink{ display:inline-flex; align-items:center; gap:6px }
.cartlink .ct{ min-width:18px; height:18px; border-radius:100px; background:var(--teal); color:#fff;
               font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 5px }
.pill{ display:inline-block; border-radius:100px; font-weight:700; text-align:center; white-space:nowrap;
       transition:transform .2s ease, background .2s ease; cursor:pointer }
.pill:hover{ transform:scale(1.04) }
.pill-teal{ background:var(--teal); color:var(--paper-hi)!important; padding:10px 22px; font-size:13px; border:none; font-family:'Archivo',sans-serif }
.pill-ink{ background:var(--ink); color:var(--paper-hi)!important; padding:16px 30px; font-size:15px; border:none; font-family:'Archivo',sans-serif }
.pill-ink:hover{ background:var(--teal) }
.pill-line{ border:1px solid rgba(14,117,104,.4); color:var(--teal)!important; padding:15px 28px; font-size:14px; background:transparent; font-family:'Archivo',sans-serif }

.card{ background:rgba(255,255,255,.6); border:1px solid rgba(14,117,104,.14); border-radius:22px }
.field{ display:block; width:100% }
.field label{ display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
              color:var(--muted); margin-bottom:7px }
.field input,.field select{ width:100%; border:1px solid rgba(14,117,104,.3); background:rgba(255,255,255,.85);
              padding:13px 16px; font-family:'Archivo',sans-serif; font-size:14.5px; border-radius:12px; color:var(--ink) }
.field input:focus{ outline:2px solid rgba(14,117,104,.35) }
.frow{ display:flex; gap:14px }
.frow .field{ flex:1 }

.opt{ display:flex; align-items:flex-start; gap:14px; border:1.5px solid rgba(14,117,104,.25); border-radius:16px;
      padding:18px 20px; cursor:pointer; background:rgba(255,255,255,.6); transition:border-color .2s, background .2s }
.opt.on{ border-color:var(--teal); background:rgba(255,255,255,.9) }
.opt .rad{ flex:none; width:18px; height:18px; border-radius:50%; border:2px solid rgba(14,117,104,.4); margin-top:2px;
           display:flex; align-items:center; justify-content:center }
.opt.on .rad::after{ content:''; width:9px; height:9px; border-radius:50%; background:var(--teal) }
.opt .t{ flex:1 }
.opt .nm{ display:block; font-weight:700; font-size:15.5px }
.opt .ds{ display:block; font-size:13px; color:var(--muted); margin-top:3px; line-height:1.5 }
.opt .pr{ font-family:'Instrument Serif',serif; font-size:22px; color:var(--teal); white-space:nowrap }

.acc{ border-top:1px solid rgba(14,117,104,.2); padding:20px 4px; cursor:pointer }
.acc-h{ display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:600; font-size:16px }
.acc-h .chev{ color:var(--teal); font-size:22px; transition:transform .3s ease }
.acc.open .chev{ transform:rotate(45deg) }
.acc-b{ max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,.8,.3,1) }
.acc.open .acc-b{ max-height:300px }
.acc-b p{ font-size:14.5px; line-height:1.65; color:var(--muted); margin:12px 0 0 }

.trustline{ display:flex; flex-wrap:wrap; gap:10px 22px; font-size:13px; font-weight:600; color:var(--muted) }
.trustline a{ border-bottom:1px solid rgba(14,117,104,.35); padding-bottom:1px }

footer{ border-top:1px solid rgba(14,117,104,.2); background:rgba(255,255,255,.4) }
.foot-in{ padding-top:48px; padding-bottom:32px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:end }
.foot-in .brand{ font-size:21px; margin-bottom:6px }
.foot-tag{ font-size:13.5px; color:var(--muted) }
.email-row{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap }
.email-row input{ border:1px solid rgba(14,117,104,.3); background:rgba(255,255,255,.7); padding:13px 18px;
                  font-family:'Archivo',sans-serif; font-size:14px; width:min(300px,100%); border-radius:100px }
.email-row button{ background:var(--ink); color:var(--paper-hi); border:none; padding:13px 24px;
                   font-family:'Archivo',sans-serif; font-size:13px; font-weight:700; border-radius:100px;
                   cursor:pointer; transition:background .2s }
.email-row button:hover{ background:var(--teal) }
.foot-nav{ display:flex; gap:22px; font-size:13px; font-weight:600; flex-wrap:wrap }
.foot-byline{ padding-bottom:24px; font-family:ui-monospace,monospace; font-size:11px; color:var(--faint) }

.vmodal{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
         padding:24px; background:rgba(7,13,12,.86); opacity:0; pointer-events:none; transition:opacity .3s ease }
.vmodal.on{ opacity:1; pointer-events:auto }
.vmodal-card{ position:relative; width:min(920px,100%) }
.vmodal-card video{ display:block; width:auto; max-width:100%; max-height:80vh; margin:0 auto;
                    border-radius:18px; background:#000 }
.vmodal-x{ position:absolute; top:-46px; right:0; background:none; border:none; color:#f4f9f8;
           font-size:30px; cursor:pointer; line-height:1; padding:6px }
.playb{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none }
.playb i{ width:60px; height:60px; border-radius:50%; background:rgba(244,249,248,.92); color:var(--ink);
          display:flex; align-items:center; justify-content:center; font-style:normal;
          box-shadow:0 10px 30px rgba(14,60,52,.3) }
.playb svg{ margin-left:3px }

.burger{ display:block; width:40px; height:40px; border:none; background:none; cursor:pointer; padding:8px }
.burger svg{ display:block; width:100%; height:100%; stroke:var(--ink); stroke-width:2; stroke-linecap:round }
.mnav{ position:fixed; top:66px; left:auto; right:0; width:300px; z-index:89; background:var(--paper-hi);
       border-left:1px solid var(--line);
       border-bottom:1px solid var(--line); box-shadow:0 24px 50px rgba(14,60,52,.12);
       max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.22,.8,.3,1) }
.mnav.on{ max-height:420px }
.mnav a{ display:flex; align-items:center; gap:14px; padding:17px 26px; font-size:18px; font-weight:600;
         color:var(--ink); border-top:1px solid rgba(14,117,104,.1) }
.mnav a:first-child{ border-top:none }
.mnav .mi{ flex:none; width:22px; height:22px; color:var(--teal) }
.mnav .mi .p{ fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
              stroke-dasharray:100; stroke-dashoffset:100 }
.mnav.on .mi .p{ stroke-dashoffset:0; transition:stroke-dashoffset .7s ease .1s }
.mnav.on a:nth-child(2) .mi .p{ transition-delay:.18s }
.mnav.on a:nth-child(3) .mi .p{ transition-delay:.26s }
.mnav.on a:nth-child(4) .mi .p{ transition-delay:.34s }
.mnav.on a:nth-child(5) .mi .p{ transition-delay:.42s }
.mnav .sub{ font-size:13.5px; color:var(--teal); padding:13px 24px }
.nav .mob{ display:none }
@media (max-width:980px){
  .foot-in{ grid-template-columns:1fr }
  .frow{ flex-direction:column; gap:18px }
}
@media (max-width:640px){
  .wrap,.wrap-n{ padding-left:20px; padding-right:20px }
  .mnav{ left:0; right:0; width:auto; border-left:none }
  .nav .brand{ font-size:19px }
  .nav-side{ gap:12px }
  .nav .dsk{ display:none }
  .nav .mob{ display:inline }
  .nav-side .pill-teal{ padding:9px 15px; font-size:12.5px }
  .cartlink{ font-size:12.5px }
}

@keyframes pagein{ from{opacity:0} to{opacity:1} }
body{ animation:pagein .28s ease }
body.pageout{ opacity:0; transition:opacity .17s ease }

.offer-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px }
.price-card{ border-radius:24px; padding:40px; display:flex; flex-direction:column; gap:12px; transition:transform .3s ease }
.price-card:hover{ transform:translateY(-6px) }
.price-card .k{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase }
.price-card .row{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap }
.price-card .num{ font-family:'Instrument Serif',serif; font-size:64px }
.price-card p{ font-size:14.5px; line-height:1.55; margin:0 }
.price-card .cta{ padding:16px 28px; font-size:14px; border-radius:100px; margin-top:12px;
                  font-weight:700; text-align:center; display:inline-block; transition:transform .2s ease }
.price-card .cta:hover{ transform:scale(1.03) }
.price-card .fine{ font-size:12px; opacity:.7 }
.pc-dark{ background:var(--ink); color:var(--paper-hi) }
.pc-dark .k{ color:var(--mint) }
.pc-dark .was{ font-size:15px; color:#9ab5ae }
.pc-dark p{ color:#9ab5ae }
.pc-dark .cta{ background:var(--mint); color:var(--dark)!important }
.pc-light{ background:rgba(255,255,255,.85); border:2px solid var(--teal) }
.pc-light .k{ color:var(--teal) }
.pc-light .was{ font-size:15px; color:var(--muted) }
.pc-light .cta{ background:var(--teal); color:var(--paper-hi)!important }
.sec-row{ display:flex; justify-content:space-between; align-items:baseline; gap:24px; flex-wrap:wrap }
.sec-note{ font-size:13.5px; font-weight:600; color:var(--faint) }
.social-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px }
.social-tile{ position:relative; display:block; border-radius:22px; overflow:hidden; aspect-ratio:2/3;
              border:1px solid rgba(14,117,104,.14); background:#fff; cursor:pointer;
              transition:transform .3s cubic-bezier(.22,.8,.3,1), box-shadow .3s ease }
.social-tile:hover{ transform:translateY(-8px); box-shadow:0 20px 44px rgba(14,60,52,.16) }
.social-tile img{ width:100%; height:100%; object-fit:cover; display:block }
.social-glyph{ position:absolute; right:12px; bottom:12px; width:36px; height:36px; border-radius:50%;
               background:rgba(19,34,31,.78); color:var(--paper-hi); display:flex; align-items:center;
               justify-content:center; pointer-events:none }
.social-glyph svg{ margin-left:2px }
.findus{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center }
.fmap svg{ width:100%; height:auto; display:block }
.fmap .us{ fill:rgba(14,117,104,.08); stroke:rgba(14,117,104,.35); stroke-width:1 }
.fmap .leader{ stroke:var(--teal); stroke-width:1.2 }
.fmap .maplab{ font:600 11px ui-monospace,monospace; letter-spacing:.1em; fill:var(--ink) }
.fmap .labdot{ fill:var(--teal) }
.fmap .labring{ fill:none; stroke:var(--teal); stroke-width:1.5; transform-origin:460.5px 82.8px;
                animation:mapPulse 2.6s ease-out infinite }
@keyframes mapPulse{ 0%{ transform:scale(1); opacity:.9 } 100%{ transform:scale(3.4); opacity:0 } }
.addrcard{ border:1px solid rgba(14,117,104,.3); border-radius:16px; background:rgba(255,255,255,.6);
           padding:20px 24px; font-family:ui-monospace,monospace; font-size:13px; line-height:1.9;
           color:var(--ink); margin-top:20px }
.mnav.on a:nth-child(6) .mi .p{ transition-delay:.5s }
@media (max-width:980px){ .findus{ grid-template-columns:1fr; gap:28px } .offer-grid{ grid-template-columns:1fr } .social-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) } }

.amzhead{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:64px 0 22px }
.amark{ display:inline-flex; flex-direction:column; line-height:1 }
.amark b{ font-family:'Archivo',sans-serif; font-weight:700; font-size:21px; letter-spacing:-.02em; color:var(--ink) }
.amark svg{ display:block; width:46px; height:12px; margin:2px 0 0 3px }
.amzwall{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.amz-card{ background:rgba(255,255,255,.65); border:1px solid rgba(14,117,104,.16); border-radius:18px;
           padding:22px 24px 18px; display:flex; flex-direction:column; gap:10px }
.amz-card .stars{ font-size:13px; letter-spacing:3px }
.amz-card .t{ font-family:'Instrument Serif',serif; font-size:19px; line-height:1.3; flex:1 }
.amz-card .who{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
                font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--faint) }
.amz-card .vp{ display:inline-flex; align-items:center; gap:6px; color:#b45309; font-size:10px }
.amz-card .vp svg{ width:26px; height:8px }
@media (max-width:980px){ .amzwall{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:640px){ .amzwall{ grid-template-columns:1fr } }

  border:1px solid rgba(143,224,207,.3); background:rgba(11,21,19,.92); color:#f4f9f8; cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:0 14px 40px rgba(0,0,0,.35);
  transition:transform .2s ease, background .2s ease; padding:0 }
  align-items:center; justify-content:center }
  box-shadow:0 0 0 10px #1d2f2b, 0 0 0 12px #0a1210, 0 40px 120px rgba(0,0,0,.6); background:#f2f8f7 }

.gate{ position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center;
       padding:24px; background:rgba(7,13,12,.78); opacity:0; pointer-events:none; transition:opacity .25s ease }
.gate.on{ opacity:1; pointer-events:auto }
.gate-card{ width:min(440px,100%); background:var(--paper-hi); border-radius:22px; padding:32px 34px;
            box-shadow:0 40px 120px rgba(0,0,0,.4); transform:translateY(10px); transition:transform .25s ease }
.gate.on .gate-card{ transform:none }
.gate-card .kicker{ display:block; margin-bottom:10px }
.gate-card h3{ font-family:'Instrument Serif',serif; font-weight:400; font-size:26px; line-height:1.2; margin:0 0 12px }
.gate-card p{ font-size:14.5px; line-height:1.6; color:var(--muted); margin:0 0 22px }
.gate-btns{ display:flex; flex-direction:column; gap:10px }
.gate-btns .pill{ display:block; text-align:center }

.facc .acc-b p{ margin-top:14px }
.facc.open .acc-b{ max-height:760px }
.inci{ border:1px solid rgba(14,117,104,.25); border-radius:14px; background:rgba(255,255,255,.55);
       padding:16px 18px; font-family:ui-monospace,monospace; font-size:12px; line-height:1.75;
       color:var(--muted); margin:14px 0 6px }
.inci b{ display:block; font-size:9.5px; letter-spacing:.14em; color:var(--teal); margin-bottom:6px }

.feat-hold{ display:none!important }

.ux1{ display:block !important; margin-bottom:16px !important }
.ux2{ padding-top:0 !important }
.ux3{ display:block !important; margin-bottom:14px !important }
.ux4{ font-size:14px !important; color:var(--muted) !important; line-height:1.65 !important; margin:14px 0 0 !important }
.ux5{ display:block !important; margin-bottom:12px !important }
.ux6{ margin-bottom:14px !important }
.ux7{ font-size:15.5px !important; line-height:1.65 !important; color:var(--muted) !important; margin:0 !important }
.ux8{ margin-top:56px !important }
.ux9{ margin:12px 0 34px !important }
.ux10{ margin-left:0 !important }
.ux11{ font-size:13px !important; color:var(--muted) !important }
.ux12{ font-size:14px !important; color:var(--muted) !important; margin-top:18px !important }
.ux13{ display:block !important; margin-top:18px !important }
.ux14{ margin-top:16px !important; justify-content:center !important }
.ux15{ margin-left:10px !important }
.ux16{ font-size:23px !important }
.ux17{ font-size:13.5px !important; font-weight:600 !important }
.ux18{ font-size:15px !important; font-weight:700 !important; font-family:'Archivo',sans-serif !important; color:var(--teal) !important }
.ux19{ display:block !important }
.ux20{ font-size:12.5px !important; color:var(--faint) !important; margin-top:12px !important }
.ux21{ margin-left:auto !important; font-weight:700 !important }
.ux22{ margin-top:16px !important }
.ux23{ margin:14px 0 12px !important }
.ux24{ max-width:34em !important; margin:0 auto !important }
.ux25{ margin-top:22px !important }
.ux26{ display:inline-block !important; background:rgba(13,31,28,.06) !important; border:1px solid var(--line) !important; border-radius:100px !important; padding:10px 20px !important; font-size:12.5px !important; letter-spacing:.08em !important; color:var(--teal) !important }
.ux27{ font-variant-numeric:tabular-nums !important }
.ux28{ display:flex !important; gap:14px !important; justify-content:center !important; flex-wrap:wrap !important }
.ux29{ margin:12px 0 0 !important }
.ux30{ font-size:14px !important; color:var(--muted) !important; line-height:1.65 !important }
.ux31{ font-size:13px !important; font-weight:600 !important }
.ux32{ display:flex !important; gap:8px !important; margin:14px 0 4px !important }
.ux33{ flex:1 !important; padding:10px 0 !important; border-radius:100px !important; font:600 12.5px Archivo,sans-serif !important; cursor:pointer !important; border:1.5px solid rgba(14,117,104,.35) !important; background:rgba(255,255,255,.7) !important; color:var(--teal) !important }
.ux34{ font-size:14px !important; color:var(--muted) !important }
.ux35{ font-size:22px !important; margin-bottom:22px !important }
.ux36{ font-size:34px !important; margin-bottom:8px !important }
.ux37{ font-size:14px !important; color:var(--muted) !important; margin:0 0 26px !important }
.ux38{ display:block !important; margin-top:6px !important }
.ux39{ display:block !important; margin-top:12px !important }
.ux40{ margin-bottom:30px !important }
.ux41{ object-position:28% 25% !important }
.ux42{ object-position:35% 25% !important }
.ux43{ object-position:62% 30% !important }
.ux44{ object-position:70% 25% !important }
.ux45{ font-family:'Instrument Serif',serif !important; font-size:clamp(22px,2.6vw,30px) !important; font-style:italic !important; color:#3d4f4b !important; margin:44px 0 0 !important }
.ux46{ font-family:'Archivo',sans-serif !important; font-size:13px !important; font-style:normal !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:var(--faint) !important }
.ux47{ margin:64px 0 20px !important }
.ux48{ text-align:center !important; margin-top:56px !important }
.ux49{ margin:12px 0 14px !important }
.ux50{ display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:18px !important }
.ux51{ margin:0 !important }
.ux52{ width:100% !important }
.ux53{ margin-top:14px !important }
.ux54{ margin-top:28px !important }
.ux55{ margin-bottom:10px !important }
.ux56{ font-size:15px !important; line-height:1.65 !important; color:var(--muted) !important; max-width:38em !important; margin:0 0 26px !important }
.ux57{ font-family:ui-monospace,monospace !important; font-size:11px !important; color:var(--faint) !important; margin-left:auto !important; padding-right:14px !important }
.ux58{ margin-bottom:34px !important }
.ux59{ text-align:center !important }
.ux60{ font-family:'Instrument Serif',serif !important; font-size:clamp(24px,3vw,34px) !important; line-height:1.35 !important; margin:0 0 14px !important }
.ux61{ font-size:13px !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:var(--faint) !important }
.ux62{ margin-top:26px !important }
.ux63{ font-size:12px !important; color:var(--muted) !important }
.ux64{ width:7px !important; height:7px !important; border-radius:50% !important; background:var(--teal) !important }
.ux65{ display:inline-flex !important; align-items:center !important; gap:14px !important }
.ux66{ width:30px !important; height:30px !important; border-radius:50% !important; border:1.5px solid rgba(14,117,104,.35) !important; background:rgba(255,255,255,.8) !important; color:var(--teal) !important; font-size:17px !important; cursor:pointer !important; line-height:1 !important }
.ux67{ min-width:14px !important; text-align:center !important }
.ux68{ display:block !important; margin-top:16px !important }
.ux69{ display:block !important; text-align:center !important; font-size:13.5px !important; font-weight:600 !important; margin-top:12px !important }
.ux70{ border:none !important }
.ux71{ border-width:2px !important; border-color:var(--teal) !important }
.ux72{ max-width:760px !important; margin-top:44px !important }
