/* ═══════════════════════════════════════════════════════════════════
   ISLAND CLAIMS — shared motion + theme layer  (v21 · Sept 2026)
   Loaded after each page's inline <style>. Owns: theme tokens, light
   theme, "Depth & Light" motion system, micro-interactions, fixes.
   Rules: transform/opacity only · zero layout shift · no libraries ·
   everything off under prefers-reduced-motion.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. THEME TOKENS ─────────────────────────────────────────────── */
:root{
  --fg:255,255,255;            /* text/border/surface base as rgb triplet          */
  --bt:0;--bt2:0;--bb:1;       /* light-mode alpha boosts (text, small text, faint) */
  --sh:1;                      /* shadow strength multiplier                        */
  --hi:#fff;                   /* highest-contrast text                             */
  --bg:#0b1822;--bg2:#0d2130;--bg3:#0a1e2a;--bg4:#070f16;
  --surf:rgba(17,34,48,.96);   /* elevated card (form) surface                      */
  --navbg:rgba(11,24,34,.82);--navbg2:rgba(11,24,34,.94);--navbd:rgba(117,221,221,.14);
  --btn:#09bc8a;--aqB:#75dddd;--miB:#09bc8a;   /* always-bright brand fills          */
  --aq-rgb:117,221,221;--mi-rgb:9,188,138;
  --sel:#172a3a;
  color-scheme:dark;
}
[data-theme=light]{
  --fg:23,42,58;--bt:.45;--bt2:.55;--bb:1.15;--sh:.32;
  --hi:#172a3a;
  --bg:#f8f6f1;--bg2:#efeae0;--bg3:#f3efe6;--bg4:#e9e3d6;
  --surf:rgba(255,253,250,.97);
  --navbg:rgba(248,246,241,.86);--navbg2:rgba(248,246,241,.96);--navbd:rgba(23,42,58,.1);
  --aqua:#1b6f78;--mint:#087055;--cyan:#3d6f78;   /* AA text variants on warm white  */
  --sel:#fff;
  color-scheme:light;
}
html{background:var(--bg)}
body{background:transparent!important}
html,body{transition:background-color .35s ease,color .35s ease}
/* dark islands: photo heroes, bands, marquee, iceberg, figures keep the dark palette in light mode */
[data-theme=light] :is(.hero:not(.plain),.storm-hero,.band,.cta,.wphoto,.story-photo,.stormbar,.mq,.berg,.feat,.imap,footer.dkf){
  --fg:255,255,255;--bt:0;--bt2:0;--bb:1;--sh:1;--hi:#fff;--aqua:#75dddd;--mint:#09bc8a;--cyan:#508991;--sel:#172a3a;
  color:rgba(255,255,255,.88);
}
/* …but light elements that live inside those islands come back to light */
[data-theme=light] :is(.hero .card){
  --fg:23,42,58;--bt:.45;--bt2:.55;--bb:1.15;--sh:.32;--hi:#172a3a;--aqua:#1b6f78;--mint:#087055;--cyan:#3d6f78;--sel:#fff;
  color:rgba(23,42,58,.9);
}
[data-theme=light] .hero .card{background:var(--surf);border-color:rgba(23,42,58,.12);box-shadow:0 -24px 70px rgba(23,42,58,.14)}
[data-theme=light] nav{background:var(--navbg);border-bottom-color:var(--navbd)}
[data-theme=light] nav.tight{background:var(--navbg2)}
[data-theme=light] .card:not(.hero .card){background:var(--surf);border-color:rgba(23,42,58,.12)}
[data-theme=light] .field select option{background:#fff;color:#172a3a}
[data-theme=light] :is(.field input,.field select,.field textarea,.nlf input[type=email]){background:rgba(23,42,58,.045);border-color:rgba(23,42,58,.16)}
[data-theme=light] :is(.field input,.field select,.field textarea,.nlf input[type=email]):focus{background:#fff}
[data-theme=light] :is(.field input,.field textarea,.nlf input[type=email])::placeholder{color:rgba(23,42,58,.42)}
[data-theme=light] .pt{border-color:rgba(23,42,58,.16);color:rgba(23,42,58,.6)}
[data-theme=light] .dc{border-color:rgba(23,42,58,.16)}
[data-theme=light] .outcomes{background:linear-gradient(160deg,var(--bg2) 0%,#d6ecea 130%)}
[data-theme=light] .proc{background:linear-gradient(160deg,var(--bg2) 0%,var(--bg) 100%)}
[data-theme=light] .band::before{background:linear-gradient(180deg,rgba(11,24,34,.84) 0%,rgba(11,24,34,.62) 30%,rgba(0,67,70,.72) 65%,rgba(11,24,34,.86) 100%)}
[data-theme=light] .cta::before{background:linear-gradient(180deg,rgba(11,24,34,.88) 0%,rgba(0,67,70,.72) 45%,rgba(11,24,34,.94) 100%)}
[data-theme=light] .chart{background:rgba(255,253,250,.8);border-color:rgba(23,42,58,.12)}
[data-theme=light] .story-chip{background:rgba(255,253,250,.9);border-color:rgba(23,42,58,.12);--fg:23,42,58;--hi:#172a3a;color:#172a3a}
[data-theme=light] .stat{background:rgba(255,253,250,.6)}
[data-theme=light] .hero .stat{background:rgba(11,24,34,.55)}
[data-theme=light] .stats{background:rgba(23,42,58,.12);border-color:rgba(23,42,58,.14)}
[data-theme=light] .hero .stats{background:rgba(117,221,221,.2);border-color:rgba(117,221,221,.25)}
[data-theme=light] .storm-hero .stat,[data-theme=light] .status .stat{background:var(--bg2);--fg:23,42,58;--hi:#172a3a;--aqua:#1b6f78;color:rgba(23,42,58,.9)}
[data-theme=light] .badge{background:rgba(11,24,34,.5)}
[data-theme=light] :is(.wc,.door,.whoc,.cti,.rescard,.gcard,.fcard,.grid3 .card,.rel a,.nlbox,.glance,.ctabox,.tip,.warn,.covg>*,.sc3>*,.pstep,.grp,.pbranch>div,.blist li,.hrow,.res){--sh:.32}
[data-theme=light] .mq{background:#004346}
[data-theme=light] .berg .grp,[data-theme=light] .blist li{background:rgba(11,24,34,.55)}
[data-theme=light] .success svg circle,[data-theme=light] .success svg path,[data-theme=light] .nlok svg circle,[data-theme=light] .nlok svg path{stroke:#087055}
[data-theme=light] .wmark{opacity:.08}
[data-theme=light] .oceanPat{opacity:.22}
[data-theme=light] ::selection{background:#75dddd;color:#172a3a}
[data-theme=light] .hp{}
[data-theme=light] .glance{background:linear-gradient(135deg,rgba(117,221,221,.16),rgba(23,42,58,.05));border-color:rgba(23,42,58,.12)}
[data-theme=light] .ctabox{background:linear-gradient(135deg,rgba(117,221,221,.2),rgba(0,67,70,.08));border-color:rgba(0,67,70,.25)}
[data-theme=light] .pathc{background:linear-gradient(160deg,rgba(117,221,221,.14),rgba(23,42,58,.04))}
[data-theme=light] .pstep{background:rgba(255,253,250,.75)}
[data-theme=light] .pbranch .no{background:rgba(255,253,250,.6)}
[data-theme=light] .diag{background:linear-gradient(135deg,rgba(117,221,221,.14),rgba(23,42,58,.04))}
[data-theme=light] .ctafin{background:linear-gradient(180deg,transparent,rgba(117,221,221,.18))}
[data-theme=light] :is(.heroimg,.fig,.ph){background:var(--bg2)}
[data-theme=light] .tip{background:rgba(9,188,138,.08)}
[data-theme=light] .cost{background:linear-gradient(160deg,rgba(9,188,138,.12),rgba(117,221,221,.16))}
[data-theme=light] .icard{background:rgba(255,253,250,.7)}
[data-theme=light] .when div{background:rgba(255,253,250,.7)}
[data-theme=light] .warn{background:rgba(117,221,221,.12)}
[data-theme=light] :is(.storm-hero,.maui-hero) .tint{background:linear-gradient(180deg,rgba(11,24,34,.7) 0%,rgba(11,24,34,.86) 78%,var(--bg) 100%)}
/* light-mode ocean rays are quieter */
[data-theme=light] .ocean{opacity:.55}

/* ── 2. NAV THEME TOGGLE ─────────────────────────────────────────── */
.tgl{margin-left:auto;margin-right:.7rem;flex:none;width:38px;height:38px;flex:none;border-radius:50%;border:1px solid rgba(var(--fg),calc(.18*var(--bb)));background:rgba(var(--fg),calc(.05*var(--bb)));color:rgba(var(--fg),.85);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;overflow:hidden;transition:border-color .25s,background .25s,transform .25s}
.tgl:hover{border-color:var(--aqB);transform:translateY(-1px)}
.tgl:active{transform:scale(.94)}
.tgl:focus-visible{outline:2px solid var(--aqB);outline-offset:2px}
.tgl svg{width:19px;height:19px;position:absolute;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .35s}
.tgl .sun{opacity:0;transform:rotate(-90deg) scale(.5)}
.tgl .moon{opacity:1;transform:rotate(0) scale(1)}
[data-theme=light] .tgl .sun{opacity:1;transform:rotate(0) scale(1)}
[data-theme=light] .tgl .moon{opacity:0;transform:rotate(90deg) scale(.5)}
@media(max-width:640px){.tgl{width:34px;height:34px;margin-right:.5rem}.tgl svg{width:17px;height:17px}}
@media(max-width:400px){.navbtn{padding:.5rem .7rem!important;font-size:.8rem!important}}

/* ── 3. OCEAN LAYER (replaces canvas particles) ──────────────────── */
.ocean{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.ocean i{position:absolute;display:block;will-change:transform}
.ocean .ray{top:-30%;height:160%;width:22vw;min-width:160px;max-width:340px;transform:rotate(16deg);background:linear-gradient(90deg,transparent,rgba(var(--aq-rgb),.035) 40%,rgba(var(--aq-rgb),.06) 50%,rgba(var(--aq-rgb),.035) 60%,transparent)}
.ocean .r1{left:8%;animation:icray 32s ease-in-out infinite alternate}
.ocean .r2{left:66%;width:16vw;animation:icray 41s ease-in-out -12s infinite alternate-reverse}
@keyframes icray{from{transform:rotate(16deg) translate3d(-70px,0,0)}to{transform:rotate(16deg) translate3d(70px,0,0)}}
.ocean .mote{width:4px;height:4px;border-radius:50%;background:rgba(var(--aq-rgb),.5);opacity:0;animation:icmote var(--t,18s) linear var(--dl,0s) infinite}
.ocean .mote.m{background:rgba(var(--mi-rgb),.45)}
@keyframes icmote{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.7}88%{opacity:.5}100%{transform:translate3d(var(--dx,20px),-160px,0);opacity:0}}
.ocean.pause i{animation-play-state:paused}

/* ── 4. HERO: slower drift + one light-ray sheen on arrival ──────── */
/* ANCHOR-JUMP FIX: an overflow:hidden box is still a scroll container, and Chrome scrolls every scrollable
   ancestor when navigating to #intake — the hero's content was being scrolled up inside its own box
   (the old "strip of photo below the card" bug). overflow:clip clips WITHOUT creating a scroll container. */
.hero,.storm-hero,.band,.cta,.maui-hero,.wphoto,.story-photo,.heroimg,.fig,.bfig,.ph{overflow:clip!important}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.055) translateY(-1.2%)}}
.hero-photo{animation-duration:46s}
.js .hero-tint::after,.js .storm-hero .tint::after,.js .maui-hero .tint::after{content:'';position:absolute;top:-30%;bottom:-30%;left:0;width:34%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07) 48%,rgba(255,255,255,.035) 56%,transparent);transform:skewX(-16deg) translate3d(-140%,0,0);animation:icsheen 3.2s cubic-bezier(.45,0,.2,1) .7s 1 forwards}
@keyframes icsheen{to{transform:skewX(-16deg) translate3d(340%,0,0)}}
.hero .orb{filter:blur(60px)}

/* ── 5. STAGED REVEALS ───────────────────────────────────────────── */
.js .rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity .95s cubic-bezier(.2,.65,.2,1),transform .95s cubic-bezier(.2,.65,.2,1);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .rv.rv-fade{transform:none}
.js .rv.rv-scale{transform:scale(.965)}
.js .rv.rv-l{transform:translate3d(-26px,0,0)}
.js .rv.rv-r{transform:translate3d(26px,0,0)}
.js .rv.rv-deep{transform:translate3d(0,44px,0)}
.js .rv.in{opacity:1;transform:none}
.js .rv.done{transition:none}
/* headline blocks arrive a beat before their grids */
.js .rv.rv-head{transition-duration:1.1s}

/* ── 6. COUNTERS / CHART ─────────────────────────────────────────── */
.js [data-count]{font-variant-numeric:tabular-nums;display:inline-block;text-align:center}
.js .fill{width:var(--w,0)!important;transform:scaleX(0);transform-origin:left center;transition:transform 1.5s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.js .fill.on{transform:scaleX(1)}

/* ── 7. DAMAGE ICEBERG — living waterline + cascade ──────────────── */
.js .bfig{position:relative;overflow:hidden}
.js .bfig .wl{position:absolute;left:0;right:0;top:46.5%;height:5.5%;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.js .bfig .wl i{position:absolute;top:0;bottom:0;left:0;width:200%;background-repeat:repeat-x;background-size:50% 100%;will-change:transform;opacity:.55}
.js .bfig .wl .w1{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20 Q25 8 50 20 T100 20 T150 20 T200 20' fill='none' stroke='%23b9f3f3' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");animation:icwave 9s linear infinite}
.js .bfig .wl .w2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24 Q25 14 50 24 T100 24 T150 24 T200 24' fill='none' stroke='%2375dddd' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");opacity:.4;animation:icwave 14s linear infinite reverse}
@keyframes icwave{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.js .bfig .wl::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(117,221,221,0),rgba(117,221,221,.14) 50%,rgba(117,221,221,0));animation:icglow 4s ease-in-out infinite alternate}
@keyframes icglow{from{opacity:.4}to{opacity:1}}
.js .bfig .lr{position:absolute;top:0;bottom:50%;left:-20%;width:38%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.05) 50%,transparent);transform:skewX(-18deg);animation:iclr 11s ease-in-out infinite alternate}
@keyframes iclr{from{transform:skewX(-18deg) translate3d(0,0,0)}to{transform:skewX(-18deg) translate3d(260%,0,0)}}
.js .berg .grow{opacity:0;transform:translate3d(-14px,0,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1);transition-delay:calc(.25s + var(--i,0)*.16s)}
.js .berg.in .grow{opacity:1;transform:none}
.js .berg .grow .n{transition:box-shadow .5s;transition-delay:calc(.45s + var(--i,0)*.16s)}
.js .berg.in .grow .n{box-shadow:0 0 0 5px rgba(117,221,221,.18)}

/* ── 8. PATH COMPONENT — steps in sequence, endings together ─────── */
.js .pathc .pstep,.js .pathc .parr,.js .pathc .pbranch>div,.js .pathc .pfoot{opacity:0;transform:translate3d(0,14px,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1);transition-delay:var(--d,0s)}
.js .pathc .parr{transform:translate3d(-8px,0,0)}
.js .pathc.in :is(.pstep,.parr,.pbranch>div,.pfoot){opacity:1;transform:none}
.js .pathc .pstep .ic{transition:transform .6s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--d,0s) + .25s);transform:scale(.6)}
.js .pathc.in .pstep .ic{transform:scale(1)}

/* ── 9. MICRO-INTERACTIONS ───────────────────────────────────────── */
/* button shine sweep: the pages animate `left` (layout); re-declare the keyframes on transform (compositor only) */
.navbtn::after,.bp::after,.sb::after{left:0!important;transform:translate3d(-160%,0,0)}
@keyframes shine{0%,60%{transform:translate3d(-160%,0,0)}80%,100%{transform:translate3d(260%,0,0)}}
.bp,.sb,.nlb,.navbtn,.bo{transition:transform .25s cubic-bezier(.2,.65,.2,1),box-shadow .3s,border-color .25s,background-color .25s}
.bp:active,.sb:active,.nlb:active,.navbtn:active{transform:translateY(0) scale(.975)}
.bp:focus-visible,.sb:focus-visible,.nlb:focus-visible,.navbtn:focus-visible,.bo:focus-visible,.fq:focus-visible,.pt:focus-visible{outline:2px solid var(--aqB);outline-offset:3px}
.sb.busy{color:transparent!important;pointer-events:none}
.sb.busy::before{content:'';position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2.5px solid rgba(23,42,58,.25);border-top-color:#172a3a;animation:icspin .8s linear infinite}
@keyframes icspin{to{transform:rotate(360deg)}}
.field input,.field select,.field textarea,.nlf input[type=email]{transition:border-color .25s,background-color .25s,box-shadow .3s,transform .25s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(117,221,221,.14),0 8px 24px rgba(0,0,0,calc(.18*var(--sh)))}
.field:focus-within label{color:var(--aqua);transition:color .25s}
.field label{transition:color .25s}
.uz{transition:border-color .25s,background .25s,transform .25s}
.uz:hover{transform:translateY(-1px)}
.uz svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.uz:hover svg{transform:translateY(-3px)}
.dc{transition:border-color .2s,background .2s,color .2s,transform .15s}
.pt{transition:border-color .2s,background .2s,color .2s,transform .15s}
.pt:active{transform:scale(.97)}
.wc,.door,.whoc,.rescard,.gcard,.fcard,.rel a,.grid3 .card{transition:transform .45s cubic-bezier(.2,.65,.2,1),box-shadow .45s,border-color .35s,background .35s}
.cti{transition:background .3s,transform .3s cubic-bezier(.2,.65,.2,1)}
.ico{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.fq{transition:color .25s}
.fico{transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .25s,color .25s}
.js .fi.open .fa{max-height:var(--h,340px)}
.fa{transition:max-height .45s cubic-bezier(.2,.65,.2,1),padding .3s}
.creditem{transition:transform .35s ease}
.stn{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.step:hover .stn{box-shadow:0 0 0 9px rgba(9,188,138,.13)}
.mark{transition:border-color .25s,background .25s}
.mark:hover{border-color:var(--aqB);background:rgba(117,221,221,.14)}
.area,.areas a,.areas span{transition:border-color .25s,background .25s,transform .25s}
/* inline form error (replaces alert) */
.ferr{display:block;margin-top:.9rem;padding:.9rem 1.1rem;border-radius:12px;font-size:1rem;line-height:1.6;background:rgba(255,120,90,.1);border:1px solid rgba(255,120,90,.4);color:rgba(var(--fg),.9);text-align:center;opacity:0;transform:translate3d(0,6px,0);transition:opacity .35s,transform .35s}
.ferr.show{opacity:1;transform:none}
.ferr a{color:var(--aqua);font-weight:700}
/* success: drawn check-mark + gentle rise */
.success.show,.nlok.show{animation:icrise .7s cubic-bezier(.2,.65,.2,1) both}
@keyframes icrise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.success.show svg circle,.nlok.show svg circle{stroke-dasharray:152;stroke-dashoffset:152;animation:icdraw .8s cubic-bezier(.4,0,.2,1) .15s forwards}
.success.show svg path,.nlok.show svg path{stroke-dasharray:32;stroke-dashoffset:32;animation:icdraw .5s cubic-bezier(.4,0,.2,1) .8s forwards}
@keyframes icdraw{to{stroke-dashoffset:0}}
.success.show>*:not(svg),.nlok.show>*:not(svg){animation:icrise .6s ease both}
.success.show>*:nth-child(2){animation-delay:.5s}.success.show>*:nth-child(3){animation-delay:.65s}.success.show>*:nth-child(4){animation-delay:.8s}
.nlok.show>*:nth-child(2){animation-delay:.5s}.nlok.show>*:nth-child(3){animation-delay:.65s}

/* ── 10. PARALLAX PHOTO LAYERS (transform-only, no bg-attachment) ── */
.js .band,.js .cta,.js .storm-hero{overflow:hidden}
.js .band:has(.plx),.js .cta:has(.plx),.js .storm-hero:has(.plx){background-image:none!important}
.js .plx{position:absolute;left:0;right:0;top:-14%;bottom:-14%;z-index:-1;background-position:center;background-size:cover;background-repeat:no-repeat;will-change:transform;pointer-events:none}
.js .band .plx{background-image:url('/img/stock/ocean-estates.jpg?v=29');background-position:center}
.js .cta .plx{background-image:url('/img/stock/beach-cta.jpg?v=29');background-position:center 65%}
.js .storm-hero .plx{background-image:url('/img/lala/lala-response-debris-field.jpg?v=29');background-position:center 60%;opacity:.5}
.js .storm-hero:has(.plx) .bg{background-image:none!important}
.js .band::before,.js .cta::before{z-index:0}
.js .band .inner,.js .cta .cn{z-index:1}

/* ── 11. FIXES FROM THE AUDIT ────────────────────────────────────── */
/* #1 tablet: 5-step process row overflowed 768–1023 → 2-column list */
@media(min-width:768px) and (max-width:1023px){
  .steps{display:grid!important;grid-template-columns:1fr 1fr;gap:1.6rem 2.2rem;flex-direction:unset}
  .steps::before{display:none}
  .step{flex-direction:row!important;align-items:flex-start!important;text-align:left!important;padding:0!important;border-bottom:none!important}
  .step .stn{margin:0!important}
}
/* #7 tablet credibility strip 4-col → 2×2 until 900 */
@media(min-width:768px) and (max-width:899px){.credin{grid-template-columns:repeat(2,1fr)!important}}
/* #8 mobile storm bar: two lines, not three */
@media(max-width:480px){.stormbar{padding:.6rem .9rem!important;gap:.4rem!important}.stormbar .st{font-size:.93rem!important;line-height:1.45}.stormbar .go{display:none}}
/* #11 article hero caption: solid band below the photo, never over it */
.heroimg .cap{position:static!important;background:rgba(var(--fg),calc(.03*var(--bb)))!important;border-top:1px solid rgba(var(--fg),calc(.07*var(--bb)));padding:.9rem 1.3rem!important;font-size:.95rem!important;letter-spacing:.02em!important;line-height:1.7}
/* nav progress bar + reduced motion */
#prog{transition:none}
::selection{background:var(--aqB);color:var(--sel)}

/* ── 12. REDUCED MOTION — everything off, content immediately visible ─ */
@media(prefers-reduced-motion:reduce){
  .js .rv,.js .rv.rv-fade,.js .rv.rv-scale,.js .rv.rv-l,.js .rv.rv-r,.js .rv.rv-deep{opacity:1!important;transform:none!important;transition:none!important}
  .js .fill{transform:none!important;transition:none!important}
  .js .berg .grow,.js .pathc :is(.pstep,.parr,.pbranch>div,.pfoot),.js .pathc .pstep .ic{opacity:1!important;transform:none!important;transition:none!important}
  .ocean,.js .bfig .wl,.js .bfig .lr,.js .hero-tint::after,.js .storm-hero .tint::after{display:none!important}
  .hero-photo{animation:none!important}
  .js .plx{transform:none!important}
  .success.show,.nlok.show,.success.show>*,.nlok.show>*{animation:none!important}
  .success.show svg circle,.success.show svg path,.nlok.show svg circle,.nlok.show svg path{animation:none!important;stroke-dashoffset:0!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ═══════════════════════════════════════════════════════════════════
   NAVIGATION (v22) — floating hamburger→shaka button + full-screen menu
   on every screen size. Header bar = brand + CTA only.
   ═══════════════════════════════════════════════════════════════════ */
nav{gap:.6rem}
nav .tgl{display:none}                         /* theme toggle lives in the menu now */
.navbtn .nshort{display:none}
@media(max-width:360px){.navbtn .nfull{display:none}.navbtn .nshort{display:inline}}
@media(max-width:640px){.navbtn{font-size:.86rem!important;padding:.55rem .85rem!important}}
/* floating button */
.fab{position:fixed;right:clamp(1rem,2.4vw,1.75rem);bottom:calc(clamp(1rem,2.4vw,1.75rem) + env(safe-area-inset-bottom,0px));z-index:320;width:62px;height:62px;border-radius:50%;border:1px solid rgba(117,221,221,.35);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(11,24,34,.55);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);color:#eafffd;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,border-color .35s,background .35s}
.fab:hover{transform:translateY(-2px) scale(1.04);border-color:var(--aqB);box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 0 6px rgba(117,221,221,.12)}
.fab:active{transform:scale(.95)}
.fab:focus-visible{outline:2px solid var(--aqB);outline-offset:3px}
.fab .fbg{position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 210deg,rgba(117,221,221,.35),rgba(9,188,138,.15),transparent 40%,transparent 70%,rgba(117,221,221,.3));opacity:.0;transition:opacity .4s;animation:icfabspin 9s linear infinite;pointer-events:none;-webkit-mask:radial-gradient(circle,transparent 27px,#000 28px);mask:radial-gradient(circle,transparent 27px,#000 28px)}
.fab:hover .fbg,html.nav-open .fab .fbg{opacity:1}
@keyframes icfabspin{to{transform:rotate(360deg)}}
[data-theme=light] .fab{background:rgba(248,246,241,.6);color:#172a3a;border-color:rgba(23,42,58,.22);box-shadow:0 10px 30px rgba(23,42,58,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.fab .flabel{position:absolute;left:-6px;top:50%;transform:translate(-100%,-50%) translate3d(6px,0,0);font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--aqua);opacity:0;pointer-events:none;transition:opacity .3s,transform .35s cubic-bezier(.2,.65,.2,1);white-space:nowrap}
.fab:hover .flabel{opacity:1;transform:translate(-100%,-50%)}
html.nav-open .fab .flabel{opacity:0}
/* hamburger ↔ shaka morph */
.fab .burger{position:absolute;width:22px;height:16px;display:flex;flex-direction:column;justify-content:space-between}
.fab .burger i{display:block;height:2px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .45s cubic-bezier(.2,.65,.2,1),opacity .3s,width .35s}
.fab .burger i:nth-child(2){width:70%;margin-left:auto}
.fab .shaka{position:absolute;width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:rotate(-40deg) scale(.5);transition:opacity .3s,transform .55s cubic-bezier(.34,1.56,.64,1)}
.fab .shaka path{stroke-dasharray:60;stroke-dashoffset:60;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}
html.nav-open .fab .burger i:nth-child(1){transform:translate3d(0,7px,0) scaleX(.3);opacity:0}
html.nav-open .fab .burger i:nth-child(2){transform:scaleX(0);opacity:0}
html.nav-open .fab .burger i:nth-child(3){transform:translate3d(0,-7px,0) scaleX(.3);opacity:0}
html.nav-open .fab .shaka{opacity:1;transform:rotate(0) scale(1);animation:icshaka 1.1s cubic-bezier(.34,1.2,.64,1) .25s 1}
html.nav-open .fab .shaka path{stroke-dashoffset:0}
html.nav-open .fab .shaka .s2{transition-delay:.1s}html.nav-open .fab .shaka .s3{transition-delay:.18s}html.nav-open .fab .shaka .s4{transition-delay:.26s}html.nav-open .fab .shaka .s5{transition-delay:.36s}
html.nav-open .fab{color:#09bc8a;border-color:rgba(9,188,138,.6);background:rgba(11,24,34,.7)}
[data-theme=light] html.nav-open .fab,html[data-theme=light].nav-open .fab{background:rgba(248,246,241,.8);color:#087055}
@keyframes icshaka{0%{transform:rotate(0)}30%{transform:rotate(-16deg)}55%{transform:rotate(14deg)}78%{transform:rotate(-7deg)}100%{transform:rotate(0)}}
/* full-screen menu */
.nvp{position:fixed;inset:0;z-index:300;padding-top:68px;background:rgba(11,24,34,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);visibility:hidden;opacity:0;transition:opacity .4s ease,visibility 0s .4s;overflow:auto;-webkit-overflow-scrolling:touch}
[data-theme=light] .nvp{background:rgba(248,246,241,.95)}
.nvp::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 12% 0%,rgba(117,221,221,.14),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(9,188,138,.12),transparent 45%);pointer-events:none}
.nvp::after{content:'';position:fixed;left:-6vw;bottom:-8vw;width:min(52vw,520px);aspect-ratio:1;background:url('/logo-crest.svg') center/contain no-repeat;opacity:.05;pointer-events:none;transform:rotate(-8deg)}
html.nav-open .nvp{visibility:visible;opacity:1;transition:opacity .4s ease,visibility 0s}
html.nav-open{overflow:hidden}
.nvpin{position:relative;max-width:1180px;margin:0 auto;padding:1.5rem clamp(1.3rem,5vw,2.5rem) 7rem;display:grid;grid-template-columns:1fr;gap:.5rem 4rem}
.pk{display:block;font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--mint);padding:1rem 0 .4rem}
.pl{display:flex;flex-direction:column}
.pl>a,.pacc{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem .2rem;border:0;border-bottom:1px solid rgba(var(--fg),calc(.08*var(--bb)));background:none;font-family:'Fraunces',serif;font-variation-settings:'SOFT' 0,'WONK' 0;font-weight:600;font-size:clamp(1.45rem,5vw,1.9rem);letter-spacing:-.01em;color:var(--hi);text-decoration:none;text-align:left;cursor:pointer;opacity:0;transform:translate3d(0,18px,0);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.65,.2,1),color .2s,padding .3s}
.pl>a svg,.pacc .chev,.pgin a svg,.pcta svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--aqua);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.pl>a:hover{color:var(--aqua);padding-left:.5rem}
.pl>a:hover svg,.pgin a:hover svg,.pcta:hover svg{transform:translate3d(4px,0,0)}
.pl>a[aria-current=page]{color:var(--aqua)}
.pacc{width:100%}
.pacc[aria-expanded=true] .chev{transform:rotate(180deg)}
.pg{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.65,.2,1)}
.pacc[aria-expanded=true]+.pg{grid-template-rows:1fr}
.pgin{min-height:0;overflow:hidden}
.pgin a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .2rem .55rem 1rem;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.04rem;font-weight:600;color:rgba(var(--fg),calc(.8 + .2*var(--bt)));text-decoration:none;border-left:2px solid rgba(117,221,221,.25);margin-left:.2rem;transition:color .2s,border-color .2s,padding .25s}
.pgin a svg{width:16px;height:16px;opacity:0;transform:translate3d(-4px,0,0);transition:opacity .25s,transform .3s}
.pgin a:hover{color:var(--aqua);border-color:var(--aqB);padding-left:1.25rem}
.pgin a:hover svg{opacity:1;transform:none}
.pgin a[aria-current=page]{color:var(--aqua);border-color:var(--aqB)}
.pgin .pk{padding:1rem .2rem .3rem 1.2rem}
.pgin .pfeat{display:block;border-left-color:var(--miB);color:var(--hi);margin-top:.7rem;font-family:'Fraunces',serif;font-variation-settings:'SOFT' 0,'WONK' 0;font-size:1.18rem;line-height:1.3}
.pgin .pfeat .pk{padding:0 0 .25rem}
.pgin .pfeat svg{display:inline-block;vertical-align:middle;opacity:1;transform:none;margin-left:.3rem}
.pgin .pall{color:var(--aqua);margin:.7rem 0 1rem .2rem;font-weight:700}
.pgin .pall svg{opacity:1;transform:none}
.pside{display:contents}
.pcta{order:-1;margin:.6rem 0 .4rem}
.ptheme{order:10;margin-top:1.6rem}
.pmeta{order:11;margin-top:1rem}
.pcta{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:60px;padding:0 1.4rem;border-radius:14px;background:var(--btn);color:#172a3a;font-weight:700;font-size:1.1rem;text-decoration:none;opacity:0;transform:translate3d(0,18px,0);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.65,.2,1),box-shadow .3s}
.pcta svg{stroke:#172a3a;width:20px;height:20px}
.pcta:hover{box-shadow:0 14px 38px rgba(9,188,138,.35)}
.ptheme{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-radius:14px;border:1px solid rgba(var(--fg),calc(.1*var(--bb)));background:rgba(var(--fg),calc(.03*var(--bb)));opacity:0;transition:opacity .45s ease .35s}
.ptheme .tgl{display:inline-flex;margin:0 0 0 auto}
.ptheme .ptl{font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--mint)}
.ptheme .ptv{font-size:.95rem;font-weight:700;color:var(--hi);min-width:3.2em}
.pmeta{font-size:.9rem;line-height:1.7;color:rgba(var(--fg),calc(.55 + .45*var(--bt)));opacity:0;transition:opacity .5s ease .45s}
.pmeta a{display:block;color:var(--aqua);font-weight:700;text-decoration:none;margin-bottom:.2rem}
html.nav-open .pl>a,html.nav-open .pacc,html.nav-open .pcta{opacity:1;transform:none}
html.nav-open .ptheme,html.nav-open .pmeta{opacity:1}
html.nav-open .pl>a:nth-child(2){transition-delay:.05s}html.nav-open .pl>a:nth-child(3){transition-delay:.1s}html.nav-open .pl>a:nth-child(4){transition-delay:.15s}html.nav-open .pl>a:nth-child(5){transition-delay:.2s}html.nav-open .pl>a:nth-child(6){transition-delay:.25s}html.nav-open .pl>a:nth-child(7){transition-delay:.3s}html.nav-open .pacc{transition-delay:.33s}html.nav-open .pcta{transition-delay:.38s}
@media(max-width:899px){.ptheme,.pmeta{margin-right:78px}}
/* wide screens: two columns, guides always expanded */
@media(min-width:900px){
  .nvpin{grid-template-columns:1fr 1.15fr;grid-template-areas:'links guides' 'side guides';padding-top:2.5rem;align-content:start}
  .pl{grid-area:links}.pguides{grid-area:guides;padding-top:1rem}.pside{display:flex;flex-direction:column;gap:1.2rem;grid-area:side;margin-top:2rem;max-width:460px}
  .pcta,.ptheme,.pmeta{order:0;margin:0}
  .pacc{pointer-events:none;border-bottom:none;font-size:.72rem;font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--mint);padding:1rem 0 .4rem;font-weight:700}
  .pacc .chev{display:none}
  .pg{grid-template-rows:1fr!important}
  .pgin{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
  .pgin .pfeat,.pgin .pall{grid-column:1/-1}
  .pgin .pk{grid-column:1/-1}
  .pgin>a:not(.pfeat):not(.pall){opacity:0;transform:translate3d(0,10px,0);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.65,.2,1),color .2s,border-color .2s,padding .25s}
  html.nav-open .pgin>a:not(.pfeat):not(.pall){opacity:1;transform:none;transition-delay:.3s}
  .pl>a{font-size:clamp(1.9rem,3vw,2.6rem);padding:1.1rem .2rem}
}
@media(prefers-reduced-motion:reduce){.nvp,.pl>a,.pacc,.pcta,.ptheme,.pmeta,.pgin>a,.fab .burger i,.fab .shaka,.fab .shaka path{transition:none!important;transform:none!important;animation:none!important}}
/* island impact map (Lowell guide): islands surface west→east, eye pulses */
.js .imap .isl{opacity:0;transform:translate3d(0,8px,0);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.65,.2,1),fill .3s}
.js .imap.in .isl{opacity:1;transform:none}
.js .imap.in .isl.niihau{transition-delay:.05s}.js .imap.in .isl.kauai{transition-delay:.15s}.js .imap.in .isl.oahu{transition-delay:.3s}.js .imap.in .isl.molokai{transition-delay:.4s}.js .imap.in .isl.lanai{transition-delay:.45s}.js .imap.in .isl.kahoolawe{transition-delay:.5s}.js .imap.in .isl.maui{transition-delay:.55s}.js .imap.in .isl.hawaii{transition-delay:.7s}
.js .imap .track{stroke-dashoffset:0;opacity:0;transition:opacity .8s ease .8s}
.js .imap.in .track{opacity:.75}
.js .imap .eye{transform-origin:center;transform-box:fill-box;animation:icring 2.4s ease-out infinite}
.js .imap .lbl,.js .imap .lbl2{opacity:0;transition:opacity .6s ease .9s}
.js .imap.in .lbl,.js .imap.in .lbl2{opacity:1}
@media(prefers-reduced-motion:reduce){.js .imap .isl,.js .imap .track,.js .imap .lbl,.js .imap .lbl2{opacity:1!important;transform:none!important;transition:none!important}.js .imap .eye{animation:none!important}}

/* ═══════════════════════════════════════════════════════════════════
   DAMAGE ICEBERG v2 — scroll-driven overlay on the cutaway art
   ═══════════════════════════════════════════════════════════════════ */
.js .bfig .bsvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.js .bfig .wl{display:none}                         /* v1 wave band replaced by the SVG water + caustics */
.js .bfig .bw path{will-change:transform}
.js .bfig .bc1{animation:icbc 9s linear infinite}
.js .bfig .bc2{animation:icbc 14s linear infinite reverse}
.js .bfig .bc3{animation:icbc 19s linear infinite}
@keyframes icbc{from{transform:translate3d(0,0,0)}to{transform:translate3d(70px,0,0)}}
.js .bfig .bwf{animation:icbwf 5s ease-in-out infinite alternate}
@keyframes icbwf{from{opacity:.75}to{opacity:1}}
.js .bfig .bchip .bring{opacity:0;transform:scale(.6);transform-origin:center;transform-box:fill-box;transition:opacity .35s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.js .bfig .bchip .bhalo{opacity:0;transform:scale(.4);transform-origin:center;transform-box:fill-box;transition:opacity .45s,transform .6s cubic-bezier(.2,.65,.2,1)}
.js .bfig .bchip.on .bring{opacity:.9;transform:scale(1);animation:icring 2.6s ease-out infinite}
.js .bfig .bchip.on .bhalo{opacity:.55;transform:scale(1)}
.js .bfig .bchip.hi .bring{stroke:#09bc8a;stroke-width:3;animation-duration:1.3s}
.js .bfig .bchip.hi .bhalo{opacity:.95;transform:scale(1.35)}
@keyframes icring{0%{transform:scale(1);opacity:.9}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
.js .bfig .bdrop{opacity:0;transition:opacity .3s}
.js .bfig .bdrop circle:first-child{animation:icdrop 1.4s ease-in-out infinite alternate;transform-origin:center;transform-box:fill-box}
@keyframes icdrop{from{transform:scale(.8)}to{transform:scale(1.25)}}
.js .bfig .bscan{transition:opacity .3s}
.js .berg.flooded .bwf{animation-duration:3.5s}
/* callout rows follow the drop */
.js .berg .grow{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1),background .35s,box-shadow .35s;border-radius:12px;cursor:pointer}
.js .berg .grow .n{transition:box-shadow .45s,transform .45s cubic-bezier(.34,1.56,.64,1),background .3s}
.js .berg .grow.lit .n{box-shadow:0 0 0 5px rgba(117,221,221,.2)}
.js .berg .grow.hi{background:rgba(117,221,221,.08);box-shadow:inset 0 0 0 1px rgba(117,221,221,.35)}
.js .berg .grow.hi .n{transform:scale(1.12);box-shadow:0 0 0 6px rgba(9,188,138,.28)}
.js .berg .grow:not(.lit){opacity:.55}
.js .berg.in .grow:not(.lit){opacity:.55;transform:none}
.js .berg.in .grow.lit{opacity:1;transform:none}
.js .berg .grow .ri{transition:border-color .3s,background .3s}
.js .berg .grow.lit .ri{border-color:rgba(117,221,221,.6);background:rgba(117,221,221,.12)}
@media(prefers-reduced-motion:reduce){.js .bfig .bc1,.js .bfig .bc2,.js .bfig .bc3,.js .bfig .bwf,.js .bfig .bchip .bring,.js .bfig .bdrop circle{animation:none!important}.js .berg .grow{opacity:1!important}}

/* v25 — brand lockup tokens (Logo Kit v1.1, Sept 12 2026): "Island" Pearl White, subline Pacific Cyan, .46 gap */
:root{--wm:#f3faf9;--sub:#508991}
[data-theme=light]{--wm:#172a3a;--sub:#1b6f78}
[data-theme=light] footer.dkf{--wm:#f3faf9;--sub:#508991}
.bn .t{color:var(--wm)!important;line-height:1!important}
.bn .s{margin-top:5px!important;letter-spacing:.30em!important;color:var(--sub)!important;line-height:1!important;font-weight:600}
/* v25 — phone header fix: wordmark never wraps; CTA shortens to "Review" below 480px (was 360px, which let 390px iPhones wrap "Island Claims") */
.bn .t{white-space:nowrap}
@media(max-width:480px){.navbtn .nfull{display:none}.navbtn .nshort{display:inline}}
/* v25 — header wordmark uses the kit's locked optical cut (Fraunces opsz 24) instead of auto */
.bn .t{font-variation-settings:'SOFT' 0,'WONK' 0,'opsz' 24!important;font-optical-sizing:none}
/* v26 — header/footer use the approved Logo Kit v1.1 horizontal lockup files (exact proportions, .46 subline gap, matched widths) */
.brand img.lk,.fl img.lk{height:46px!important;width:auto!important;display:inline-block;vertical-align:middle}
.fl img.lk{height:40px!important}
.lk-l{display:none!important}
[data-theme=light] .lk-d{display:none!important}
[data-theme=light] .lk-l{display:inline-block!important}
[data-theme=light] footer.dkf .lk-d{display:inline-block!important}
[data-theme=light] footer.dkf .lk-l{display:none!important}
@media(max-width:640px){.brand img.lk{height:40px!important}}
@media(max-width:380px){.brand img.lk{height:34px!important}}
/* v27 — brand lockup sizing + scroll morph. --lkh = lockup height. Ratio 3.942 = lockup w/h; .2126 = crest share of the lockup width. */
:root{--lkh:52px;--lkr:3.942;--lkc:.2126;--lke:cubic-bezier(.2,.8,.2,1)}
.brand{display:flex;align-items:center;gap:0!important}
.brand .lkw{display:block;position:relative;overflow:hidden;height:var(--lkh);width:calc(var(--lkh)*var(--lkr));transition:height .45s var(--lke),width .45s var(--lke)}
.brand img.lk,.fl img.lk{height:var(--lkh)!important;width:auto!important;max-width:none!important;display:block;transition:height .45s var(--lke)}
.fl img.lk{height:40px!important}
html.scrolled{--lkh:42px}
@media(max-width:640px){
  :root{--lkh:clamp(46px,calc((100vw - 150px)/3.942),58px)}
  nav{height:80px}body{padding-top:80px}
  html.scrolled{--lkh:40px}
  html.scrolled nav{height:62px}
  html.scrolled .brand .lkw{width:calc(var(--lkh)*var(--lkr)*var(--lkc) + 5px)}
}
@media(max-width:340px){:root{--lkh:44px}}
@media(prefers-reduced-motion:reduce){.brand .lkw,.brand img.lk,nav{transition:none!important}}
/* v28 — desktop header: larger lockup at top (64px in an 88px bar) easing to 44px in a 64px bar on scroll */
@media(min-width:641px){
  :root{--lkh:64px}
  nav{height:88px}body{padding-top:88px}
  html.scrolled{--lkh:44px}
  html.scrolled nav{height:64px!important}
}
/* v28 — homepage footer: one logo, a credential row instead of a second seal, breathing room, two-column on desktop */
footer.dkf .cn{display:grid;grid-template-columns:1fr;gap:0}
footer.dkf a.fl{margin:0 0 1.6rem;display:inline-flex}
footer.dkf .fl img.lk{height:56px!important}
footer.dkf .fseal{display:flex;align-items:center;gap:1rem;margin:0 0 1.9rem;padding:.95rem 1.15rem;border:1px solid rgba(117,221,221,.16);border-radius:14px;background:rgba(117,221,221,.035);max-width:520px}
footer.dkf .fico{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:rgba(117,221,221,.08);border:1px solid rgba(117,221,221,.18);display:flex;align-items:center;justify-content:center}
footer.dkf .fseal .ftxt b{font-size:1rem;line-height:1.3;margin-bottom:.15rem}
footer.dkf .fseal .ftxt span{font-size:.9rem;line-height:1.5;display:block}
footer.dkf .cn>p{max-width:52ch}
@media(min-width:900px){
  footer.dkf .cn{grid-template-columns:1fr auto;column-gap:3rem;align-items:center}
  footer.dkf a.fl{grid-column:1;grid-row:1;margin:0}
  footer.dkf .fl img.lk{height:64px!important}
  footer.dkf .fseal{grid-column:2;grid-row:1;margin:0;max-width:none}
  footer.dkf .cn>p:first-of-type{grid-column:1/-1;grid-row:2;margin-top:2rem}
  footer.dkf .flinks{grid-column:1/-1;grid-row:3}
  footer.dkf .cn>p:last-of-type{grid-column:1/-1;grid-row:4}
}
/* v29 — nav offset fix: one variable for the fixed bar height; the homepage stormbar carries the offset, every other page pads the body */
:root{--navh:88px}
@media(max-width:640px){:root{--navh:80px}}
body{padding-top:var(--navh)!important}
body:has(.stormbar){padding-top:0!important}
.stormbar{margin-top:var(--navh)!important}
nav{height:var(--navh)!important;transition:height .45s var(--lke),background .4s ease,box-shadow .4s ease,border-color .4s ease,backdrop-filter .4s ease}
html.scrolled nav{height:64px!important}
@media(max-width:640px){html.scrolled nav{height:62px!important}}
/* v29 — glass bar once scrolled: page shows through, logo and CTA stay crisp */
nav{background:rgba(11,24,34,.92);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border-bottom:1px solid rgba(117,221,221,.12)}
html.scrolled nav{background:rgba(11,24,34,.58);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom-color:rgba(117,221,221,.2);box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
[data-theme=light] nav{background:rgba(248,246,241,.94)}
html.scrolled[data-theme=light] nav{background:rgba(248,246,241,.62);box-shadow:0 10px 30px -18px rgba(23,42,58,.35)}
html.scrolled .brand img.lk{filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
html.scrolled[data-theme=light] .brand img.lk{filter:drop-shadow(0 2px 6px rgba(255,255,255,.55))}
.navbtn{box-shadow:0 4px 14px -6px rgba(0,0,0,.5)}
html.nav-open nav{background:rgba(11,24,34,.96)!important}
/* v29 — unified footer on every page */
footer.dkf{background:#070f16;border-top:1px solid rgba(117,221,221,.12);padding:4.5rem clamp(1.4rem,5vw,3rem);position:relative;z-index:2;text-align:left}
footer.dkf .cn{max-width:1140px;margin:0 auto;position:relative}
footer.dkf a.fl{text-decoration:none;color:inherit;display:inline-flex;align-items:center;margin:0 0 1.6rem}
footer.dkf .fseal .ftxt b{display:block;font-size:1rem;color:rgba(255,255,255,.86);font-weight:700}
footer.dkf .fseal .ftxt span{font-size:.9rem;color:rgba(255,255,255,.55)}
footer.dkf p{font-size:1.02rem;color:rgba(255,255,255,.5);margin:0 0 .4rem;line-height:1.75;text-align:left}
footer.dkf .flinks{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin:1.8rem 0}
footer.dkf .flinks a{font-size:1.02rem;font-weight:600;color:rgba(255,255,255,.62);text-decoration:none;transition:color .2s}
footer.dkf .flinks a:hover{color:#75dddd}
footer.dkf .licf{display:block;margin-top:.45rem;font-size:.9rem;color:rgba(255,255,255,.4);line-height:1.7}
