/* ===================================================================
   Dafdefet — "The Dive"
   Base: Deepwater (Arc Boats) palette, one typeface, white primary actions.
   Motion concept: the page is a dive from the surface to the sea floor —
   the canvas darkens with depth, a sonar depth-gauge navigates, products
   surface as sonar echoes. Everything degrades to static with reduced motion.
   =================================================================== */

@font-face{font-family:"Plex";font-weight:400;font-display:swap;src:url(../fonts/plex-hebrew-400.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Plex";font-weight:500;font-display:swap;src:url(../fonts/plex-hebrew-500.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Plex";font-weight:600;font-display:swap;src:url(../fonts/plex-hebrew-600.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Plex";font-weight:700;font-display:swap;src:url(../fonts/plex-hebrew-700.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Plex";font-weight:400;font-display:swap;src:url(../fonts/plex-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
@font-face{font-family:"Plex";font-weight:500;font-display:swap;src:url(../fonts/plex-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
@font-face{font-family:"Plex";font-weight:600;font-display:swap;src:url(../fonts/plex-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
@font-face{font-family:"Plex";font-weight:700;font-display:swap;src:url(../fonts/plex-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}

:root{
  /* Brighter dive: sunlit turquoise at the surface → brand navy at depth */
  --surface-water:#1a6c82;   /* depth 0 (white text 5.6:1) */
  --deep:#0f4a66;
  --abyss:#0b1a2e;           /* brand navy — the deepest point */
  --brand-blue:#4170ba;      /* logo blue */
  --brand-blue-hover:#2e5ca6;
  --gold:#c5975b;            /* logo gold */
  --gold-hover:#d6ad76;
  --gold-ink:#8a6020;
  --sand:#f1e9db;            /* the sea floor (footer) */
  --navy:#0b1a2e;
  --sea:var(--deep);         /* live value, set by JS as you dive */
  --paper:#ffffff;
  --ink:#0a0a0a;
  --ink-muted:#4b5560;
  --white:#ffffff;
  --white-muted:rgba(255,255,255,.96);
  --white-faint:rgba(255,255,255,.82);
  --line:rgba(255,255,255,.22);
  --line-light:rgba(10,10,10,.12);
  --lure:#d9a441;            /* the lure only (an object in the imagery, not UI) */

  --font:"Plex","Segoe UI",Arial,sans-serif;
  --r-btn:5px;
  --r-card:32px;
  --gutter:clamp(1rem,4vw,5rem);
  --max:1400px;
  --wrap:min(var(--max),100% - 2 * var(--gutter));
  --header-h:5rem;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --icon:1.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;font-size:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + .5rem);-webkit-text-size-adjust:100%}
body{overflow-x:clip;margin:0;background:var(--sea);color:var(--white);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:600;line-height:1.1}
p{margin:0}
.wrap{width:var(--wrap);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
/* standalone number labels (01, 02…) keep the Hebrew right alignment */
.caption.num{direction:rtl;unicode-bidi:normal}
:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.info :focus-visible{outline-color:var(--ink)}
main:focus{outline:none}
.i{width:var(--icon);height:var(--icon);flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.skip{position:fixed;top:.75rem;inset-inline-start:.75rem;z-index:200;background:var(--white);color:var(--ink);padding:.75rem 1rem;font-weight:600;border-radius:var(--r-btn);transform:translateY(-200%)}
.skip:focus{transform:none}

.caption{display:block;font-size:.8125rem;font-weight:500;letter-spacing:.04em;color:var(--white-muted)}
.h-xl{font-size:clamp(2.75rem,6.4vw,6rem);font-weight:600;letter-spacing:-.025em;line-height:1}
.h-lg{font-size:clamp(2rem,3.6vw,3.25rem);font-weight:600;letter-spacing:-.018em;line-height:1.1}
.lead{font-size:1.125rem;line-height:1.55;color:var(--white-muted);text-wrap:pretty}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:52px;padding:0 1.5rem;border:1px solid transparent;border-radius:var(--r-btn);font:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--gold);color:var(--navy)}
.btn--blue{background:var(--brand-blue);color:#fff}
.btn--ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}
.btn--deep{background:var(--brand-blue);color:var(--white)}
.btn--ghost-ink{background:transparent;color:var(--ink);border-color:rgba(10,10,10,.22)}
@media (hover:hover) and (pointer:fine){
  .btn--primary:hover{background:var(--gold-hover)}
  .btn--blue:hover{background:var(--brand-blue-hover)}
  .btn--ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
  .btn--deep:hover{background:var(--brand-blue-hover)}
  .btn--ghost-ink:hover{border-color:var(--ink)}
}

/* ---------- Header ---------- */
.site-header{position:fixed;inset-inline:0;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 rgba(11,26,46,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--header-h);border-bottom:1px solid transparent;transition:border-color .3s ease}
.brand img{width:144px}
.nav{display:flex;align-items:center;gap:2rem}
.nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav ul a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:500;color:var(--navy);text-decoration:none;transition:color .15s ease}
.nav ul a:hover{color:var(--brand-blue)}
.nav .btn{min-height:46px;padding:0 1.25rem;font-size:1rem}
@media (max-width:820px){.nav ul{display:none}.brand img{width:118px}}

/* ===================================================================
   HERO — underwater, live particles, light rays, a sinking lure
   =================================================================== */
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--surface-water)}
.hero__img{position:absolute;inset:0;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform:scale(1.06);animation:sway-bg 18s ease-in-out infinite alternate}
@keyframes sway-bg{to{transform:scale(1.12) translate3d(-1.5%,1%,0)}}
.hero__rays{position:absolute;inset:-20% 0 0;z-index:-3;pointer-events:none;mix-blend-mode:screen;opacity:.5;
  background:repeating-linear-gradient(105deg,rgba(255,255,255,0) 0 60px,rgba(190,235,240,.10) 80px,rgba(255,255,255,0) 120px 210px);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.35) 45%,transparent 75%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.35) 45%,transparent 75%);
  animation:rays 14s ease-in-out infinite alternate}
@keyframes rays{0%{transform:translateX(-3%) skewX(-4deg)}100%{transform:translateX(4%) skewX(3deg)}}
.hero__particles{position:absolute;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(to bottom,rgba(11,26,46,0) 55%,var(--sea) 100%),
  linear-gradient(to left,rgba(11,40,60,.62) 0%,rgba(11,40,60,.35) 40%,rgba(11,40,60,0) 68%)}
.hero h1,.hero .lead,.hero .caption{text-shadow:0 2px 24px rgba(11,26,46,.35)}

/* The lure: drops in on its line, then drifts */
.lure{position:absolute;z-index:-1;top:0;inset-inline-end:clamp(8%,22vw,30%);width:76px;pointer-events:none}
.lure__line{position:absolute;top:0;left:50%;width:1px;height:var(--drop,46vh);background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.55));transform-origin:top;animation:line-drop 3.2s var(--ease-out) .3s both}
.lure__body{position:absolute;top:var(--drop,46vh);left:0;width:76px;transform-origin:38px 0;animation:lure-drop 3.2s var(--ease-out) .3s both,lure-drift 6s ease-in-out 3.5s infinite}
.lure__body svg{width:76px;height:174px;overflow:visible;filter:drop-shadow(0 0 18px rgba(217,164,65,.35))}
.lure .body{fill:var(--lure);stroke:#3a2a10;stroke-width:.9}
.lure .ln{fill:none;stroke:rgba(255,255,255,.85);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.lure .eye{fill:#fff;stroke:#3a2a10;stroke-width:.8}
.lure .stripe{fill:none;stroke:rgba(58,42,16,.45);stroke-width:1.2;stroke-linecap:round}
@keyframes line-drop{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes lure-drop{from{transform:translateY(calc(-1 * var(--drop,46vh))) rotate(-8deg);opacity:0}15%{opacity:1}to{transform:none;opacity:1}}
@keyframes lure-drift{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(6deg) translateY(10px)}}
@media (max-width:900px){.lure{inset-inline-end:8%;width:40px;--drop:24vh}.lure__body,.lure__body svg{width:40px}.lure__body svg{height:92px}}

.hero__body{position:relative;padding-block:calc(var(--header-h) + 3rem) 7rem;max-width:46rem}
.hero h1{margin:1.25rem 0 1.5rem;text-wrap:balance}
/* line-mask reveal */
.reveal-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.reveal-line > span{display:block;transform:translateY(105%);animation:line-up 1.1s var(--ease-out) both}
.reveal-line:nth-child(2) > span{animation-delay:.12s}
@keyframes line-up{to{transform:none}}
.fade-in{opacity:0;transform:translateY(14px);animation:fade-up .9s var(--ease-out) both}
.fade-in.d1{animation-delay:.35s}.fade-in.d2{animation-delay:.5s}.fade-in.d3{animation-delay:.65s}
@keyframes fade-up{to{opacity:1;transform:none}}
.hero .lead{max-width:34rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}
@media (max-width:520px){.hero__cta .btn{flex:1 1 100%}}

.scroll-cue{position:absolute;bottom:1.75rem;inset-inline:0;width:max-content;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:.625rem;font-size:.75rem;letter-spacing:.04em;color:var(--white-muted);text-decoration:none}
.scroll-cue span{display:block;width:1px;height:44px;background:linear-gradient(var(--white),transparent);transform-origin:top;animation:cue 2.2s var(--ease-in-out) infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* ===================================================================
   DEPTH GAUGE — fixed sonar ruler that doubles as navigation
   =================================================================== */
.gauge{position:fixed;z-index:50;transition:opacity .4s ease;inset-inline-end:calc((100vw - min(var(--max),100vw - 2 * var(--gutter))) / 2 - 3.5rem);top:calc(var(--header-h) + 2.5rem);bottom:2.5rem;width:3rem;display:none;pointer-events:none}
@media (min-width:1300px){.gauge{display:block}}
.gauge.is-away{opacity:0;pointer-events:none}
.gauge.is-away *{pointer-events:none}
.gauge__scale{position:absolute;inset:0;border-inline-end:1px solid var(--line);
  background:repeating-linear-gradient(to bottom,var(--white-faint) 0 1px,transparent 1px calc(100% / 30));
  -webkit-mask-image:linear-gradient(to left,#000 0 10px,transparent 10px);mask-image:linear-gradient(to left,#000 0 10px,transparent 10px)}
.gauge__marks{position:absolute;inset:0;list-style:none;margin:0;padding:0;pointer-events:auto}
.gauge__marks li{position:absolute;inset-inline-end:0;transform:translateY(-50%)}
.gauge__marks a{position:relative;display:flex;align-items:center;gap:.375rem;min-height:32px;min-width:44px;justify-content:flex-start;flex-direction:row-reverse;font-size:.6875rem;color:var(--white-faint);text-decoration:none;white-space:nowrap;transition:color .2s ease}
.gauge__marks a::after{content:"";width:16px;height:1px;background:currentColor}
.gauge__marks a:hover,.gauge__marks a[aria-current="true"]{color:var(--white)}
.gauge__marks .lbl{position:absolute;left:calc(100% + .5rem);top:50%;padding:.3rem .6rem;border-radius:var(--r-btn);background:var(--white);color:var(--ink);font-size:.75rem;font-weight:600;opacity:0;transform:translate(-4px,-50%);pointer-events:none;transition:opacity .2s ease,transform .2s var(--ease-out)}
.gauge__marks a:hover .lbl,.gauge__marks a:focus-visible .lbl{opacity:1;transform:translate(0,-50%)}
.gauge__now{position:absolute;inset-inline-end:-1px;top:0;transform:translateY(calc(var(--g,0) * (100vh - var(--header-h) - 5rem) - 50%));display:flex;align-items:center;gap:.5rem;flex-direction:row-reverse}
.gauge__now::before{content:"";width:28px;height:2px;background:var(--gold)}
.gauge__now b{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.gauge__now small{font-size:.6875rem;color:var(--white-muted)}

/* ===================================================================
   SECTIONS
   =================================================================== */
.section{position:relative;padding-block:clamp(5rem,10vw,9rem)}
.section-head{margin-bottom:clamp(2.25rem,4vw,3.5rem)}
.section-head .h-lg{margin-top:1rem}
.section-head .lead{margin-top:1rem}

/* Scroll reveal */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}

/* ===================================================================
   SONAR CATALOG
   Mobile / no-JS: a card grid. Desktop with motion: a pinned sonar.
   =================================================================== */
.catalog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cat{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:24px;padding:.5rem;display:flex;flex-direction:column}
.cat figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#f5f5f7}
.cat figure img{width:100%;height:100%;object-fit:cover}
.cat__text{padding:.875rem .5rem .625rem;display:grid;gap:.25rem}
.cat h3{font-size:1.125rem}
.cat p{font-size:.875rem;color:var(--white-muted)}
.cat .caption{font-size:.75rem}
.cat--cta{justify-content:center;padding:1.25rem;gap:.75rem}
.cat--cta .btn{margin-top:.5rem;align-self:flex-start;max-width:100%}
/* narrow screens: the "looking for something?" card stays in the grid; its phone button fills the card */
@media (max-width:979px){.cat--cta{padding:1rem .75rem}.cat--cta .btn{align-self:stretch;padding:0 .5rem;gap:.375rem;font-size:.9375rem}}
@media (min-width:700px){.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:980px){.catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.cat{border-radius:var(--r-card);padding:.75rem}.cat figure{border-radius:22px}}

/* Pinned sonar mode (enabled by JS on wide screens) */
.sonar-on .products__track{height:calc(var(--n,7) * 62vh + 100vh)}
.sonar-on .products__pin{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:center}
.sonar-on .products__list{grid-column:1 / span 5}
.sonar-on .products__screen{grid-column:7 / span 6;display:grid;justify-items:center;gap:1.25rem}
.sonar-on .catalog{display:block;counter-reset:none}
.sonar-on .cat{background:none;border:0;border-radius:0;padding:0;display:block}
.sonar-on .cat figure{display:none}
.sonar-on .cat--cta{display:none}
.sonar-on .cat .cat__link{display:grid;grid-template-columns:3rem 1fr;align-items:baseline;gap:0 1rem;padding:.6rem 0;text-decoration:none;color:var(--white-faint);transition:color .35s ease}
.sonar-on .cat__text{padding:0;display:contents}
.sonar-on .cat .caption{grid-row:span 2;color:inherit}
.sonar-on .cat h3{font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.02em;color:inherit;transition:color .35s ease}
.sonar-on .cat p{grid-column:2;max-height:0;overflow:hidden;opacity:0;font-size:1rem;transition:max-height .5s var(--ease-out),opacity .4s ease,margin .5s var(--ease-out)}
.sonar-on .cat.is-active .cat__link{color:var(--white)}
.sonar-on .cat.is-active p{max-height:4rem;opacity:1;margin-top:.375rem;color:var(--white-muted)}
.products__screen,.products__cta{display:none}
.sonar-on .products__screen{display:grid}
.sonar-on .products__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;color:var(--white-muted)}
.cat .cat__link{display:flex;flex-direction:column;height:100%}
.sonar-on .cat .cat__link{cursor:pointer;border-radius:var(--r-btn)}

/* The sonar disc */
.sonar{position:relative;width:min(36vw,560px,calc(100vh - var(--header-h) - 9rem));aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle,transparent 0 24.6%,var(--line) 24.8% 25%,transparent 25.2% 49.6%,var(--line) 49.8% 50%,transparent 50.2% 74.6%,var(--line) 74.8% 75%,transparent 75.2%),
    radial-gradient(circle,rgba(255,255,255,.12),rgba(11,26,46,.45));
  border:1px solid rgba(255,255,255,.35);overflow:hidden}
.sonar::before,.sonar::after{content:"";position:absolute;inset:0;margin:auto;background:var(--line)}
.sonar::before{width:1px;height:100%}
.sonar::after{height:1px;width:100%}
.sonar__sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,255,255,.28),rgba(255,255,255,0) 22%,transparent 100%);animation:sweep 4s linear infinite;z-index:2;mix-blend-mode:screen}
@keyframes sweep{to{transform:rotate(360deg)}}
.sonar__view{position:absolute;inset:16%;border-radius:50%;overflow:hidden;z-index:1;background:#f5f5f7;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 20px 60px rgba(11,26,46,.35)}
.sonar__view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .7s var(--ease-out),transform 1.2s var(--ease-out)}
.sonar__view img.is-on{opacity:1;transform:none}
.sonar__blip{position:absolute;z-index:3;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:rgba(255,255,255,.45);transition:background-color .3s ease,transform .3s var(--ease-out)}
.sonar__blip.is-on{background:var(--gold);transform:scale(1.4)}
.sonar__blip.is-on::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--gold);animation:blip 1.6s ease-out infinite}
@keyframes blip{from{transform:scale(1);opacity:1}to{transform:scale(4.5);opacity:0}}
.readout{display:flex;gap:1.5rem;font-size:.8125rem;color:var(--white-muted)}
.readout b{color:var(--white);font-weight:600}

/* ===================================================================
   WHY
   =================================================================== */
.why{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:center}
.why__text{grid-column:1 / span 6}
.why__media{grid-column:8 / span 5;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--deep)}
.why__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease-out)}
.why__media.in img{transform:none}
.points{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--line)}
.point{display:grid;grid-template-columns:3.5rem 1fr;gap:.25rem 1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.point .caption{grid-row:span 2;padding-top:.35rem}
.point h3{font-size:1.25rem;letter-spacing:-.01em}
.point p{color:var(--white-muted)}
@media (max-width:900px){.why{grid-template-columns:1fr;row-gap:2.5rem}.why__text,.why__media{grid-column:1}.why__media{aspect-ratio:4/3}.why__text{display:contents}.why .points{order:1;margin-top:0}}

/* ===================================================================
   VISIT — map with sonar ping
   =================================================================== */
.visit{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}
.map{grid-column:1 / span 7;position:relative;min-height:500px;border-radius:var(--r-card);overflow:hidden;background:#e8eaed}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.info{grid-column:8 / span 5;background:var(--paper);color:var(--ink);border-radius:var(--r-card);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column}
.info dl{margin:0}
.info dl > div{display:grid;grid-template-columns:2.25rem 1fr;gap:.125rem .75rem;padding:1.125rem 0;border-bottom:1px solid var(--line-light)}
.info dl > div:first-child{padding-top:0}
.info .i{grid-row:span 2;margin-top:.15rem}
.info dt{font-size:.8125rem;font-weight:500;color:var(--ink-muted)}
.info dd{margin:0;font-size:1.125rem;font-weight:600}
.info dd a{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px;text-decoration:none}
.info dd a:hover{text-decoration:underline;text-underline-offset:.25em}
.info__actions{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:auto;padding-top:1.75rem}
.info__actions .btn{flex:1 1 auto}
@media (max-width:980px){.visit{grid-template-columns:1fr}.map,.info{grid-column:1}.map{min-height:380px}}

/* ===================================================================
   CLOSING BAND + FOOTER
   =================================================================== */
.band{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(6rem,14vw,11rem)}
.band__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.14) translate3d(2%,-1%,0)}}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to left,rgba(11,26,46,.78) 0%,rgba(11,26,46,.4) 55%,rgba(11,26,46,.1) 100%)}
.band .lead{margin-top:1rem}

.site-footer{position:relative;z-index:1;background:var(--sand);color:#3d4a5c;font-size:1rem}
.site-footer::before{content:"";position:absolute;inset-inline:0;top:-56px;height:57px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V36c120-10 240 16 360 14s240-28 360-22 240 30 360 22 240-18 360-28V60z' fill='%23f1e9db'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem var(--gutter);padding-block:clamp(5rem,8vw,6.5rem) 3rem;border-bottom:1px solid rgba(11,26,46,.12)}
.foot-brand img{width:170px}
.foot-brand p{margin-top:1.25rem;max-width:24rem}
.foot-col h3{font-size:.9375rem;font-weight:600;color:var(--gold-ink);margin-bottom:1rem}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.125rem}
.foot-col li{display:flex;align-items:center;gap:.625rem;min-height:44px;color:var(--navy)}
.foot-col li .i{--icon:1.125rem;color:var(--gold-ink)}
.foot-col a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);text-decoration:none}
.foot-col a:hover{color:var(--brand-blue);text-decoration:underline;text-underline-offset:.25em}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-block:1.75rem;font-size:.9375rem;color:#3d4a5c}
.to-top{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0;border:0;background:none;font:inherit;color:var(--navy);cursor:pointer}
.to-top:hover{color:var(--brand-blue)}
.to-top .i{--icon:1rem}
.site-footer :focus-visible{outline-color:var(--navy)}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-brand,.foot-col:nth-child(2){grid-column:1 / -1}}

/* ---------- Reduced motion: everything still, nothing hidden ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal-line > span,.fade-in,.js [data-reveal]{opacity:1!important;transform:none!important}
  .hero__particles,.scroll-cue,.sonar__sweep{display:none}
  .lure__line{transform:none}.lure__body{transform:none;opacity:1}
}
@media print{.site-header,.gauge,.hero__particles,.hero__rays,.lure,.band,.map{display:none!important}}

/* ---------- WordPress admin bar ---------- */
.admin-bar .site-header{top:32px}
.admin-bar .gauge{top:calc(var(--header-h) + 32px + 2.5rem)}
.admin-bar .sonar-on .products__pin{top:calc(var(--header-h) + 32px)}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* ---------- Motion switched off in Customize (same as reduced motion) ---------- */
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] .reveal-line > span,html[data-motion="off"] .fade-in,html[data-motion="off"] [data-reveal]{opacity:1!important;transform:none!important}
html[data-motion="off"] .hero__particles,html[data-motion="off"] .scroll-cue,html[data-motion="off"] .sonar__sweep,html[data-motion="off"] .gauge{display:none!important}
html[data-motion="off"] .lure__line{transform:none}
html[data-motion="off"] .lure__body{transform:none;opacity:1}
