/* LiquidView — faithful respin mockup for Mitch (Wix rebuild reference)
   Matches theliquidview.com: Montserrat navy headings, Arial body, full-bleed photo bands.
   Folds in the 4 proposed changes: dealer locator · horizontal view library · content film · lighter cookie bar */

:root{
  --navy:#030c2d;         /* real heading color */
  --ink:#1a1d24;
  --body:#2b2f36;
  --blue:#116dff;         /* real accent blue */
  --paper:#ffffff;
  --mist:#f5f6f8;
  --line:#e6e8ec;
  --wrap:1120px;
  --display:"Montserrat",sans-serif;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}

h1,h2,h3,h4{font-family:var(--display);color:var(--navy);margin:0;line-height:1.18;font-weight:400}
h1{font-size:clamp(2.1rem,4.6vw,3.15rem);letter-spacing:.005em}
h2{font-size:clamp(1.7rem,3.6vw,2.55rem)}
h3{font-size:1.5rem;font-weight:700}
h4{font-size:1.06rem;font-weight:700;letter-spacing:.02em}
p{margin:0 0 18px}
.lead{font-size:1.05rem}

/* buttons — straight fill + soft organic light shading (matches theliquidview.com geometry) */
.btn{
  position:relative; z-index:0; isolation:isolate;
  display:inline-block; font-family:var(--display); font-weight:400; font-size:16px; letter-spacing:normal;
  line-height:1.4; white-space:nowrap;
  padding:11px 24px; border-radius:100px; border:0; cursor:pointer; color:#1a1a1a; background:transparent;
  transition:color .5s ease;
}
/* straight fill with a soft, organic top-light bloom for gentle dimension */
.btn::before{
  content:""; position:absolute; inset:0; z-index:-2; border-radius:inherit;
  background:
    radial-gradient(130% 150% at 32% -14%, rgba(255,255,255,.75), rgba(255,255,255,0) 56%),
    #e5ebfa;
}
/* hover — fills blue (with soft organic top-light bloom), fades in/out slowly; no movement */
.btn::after{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; opacity:0; pointer-events:none;
  background:
    radial-gradient(130% 150% at 32% -14%, rgba(255,255,255,.18), rgba(255,255,255,0) 55%),
    #ccd4da;
  transition:opacity .5s ease;
}
.btn:hover::after{opacity:1}

/* outline = transparent with navy hairline (original secondary) */
.btn.outline{color:var(--navy)}
.btn.outline::before{background:transparent; border:1px solid #ccd4da}
.btn.outline.on-dark{color:#fff}
.btn.outline.on-dark::before{border-color:rgba(255,255,255,.55)}
.btn.outline.on-dark:hover{color:#0c0f0d}
.btn.outline.on-dark:hover::after{opacity:1;background:#fff}

/* light = same soft fill, for use on dark bands */
.btn.light{color:#1a1a1a}
.btn.light::before{
  background:
    radial-gradient(130% 150% at 32% -14%, rgba(255,255,255,.75), rgba(255,255,255,0) 56%),
    #e5ebfa;
}


/* mockup ribbon + change tags */
.mockbar{background:var(--navy);color:#fff;text-align:center;font-family:var(--display);font-weight:500;
  font-size:.76rem;letter-spacing:.05em;padding:8px 16px}
.mockbar b{color:#7fb0ff}
.changetag{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:600;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);
  background:#eaf1ff;border-radius:99px;padding:5px 13px;margin-bottom:16px}
.changetag .dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}

/* header — translucent frosted glass */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  border-bottom:1px solid rgba(3,12,45,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.nav .logo img{height:30px;width:auto}
.nav{position:relative}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{font-family:var(--display);font-weight:500;font-size:.86rem;color:var(--navy);letter-spacing:.02em;transition:.2s;opacity:.85}
.nav-links a:hover{opacity:1;color:var(--blue)}
.nav-links .ig-link{display:flex;align-items:center;opacity:.8;transition:.2s}
.nav-links .ig-link:hover{opacity:1}
.nav-links .ig{height:24px;width:24px}
.nav-links .social{display:flex;align-items:center;gap:18px}

/* mobile hamburger */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;border:0;background:none;cursor:pointer;padding:0;flex-shrink:0}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--navy);border-radius:2px;transition:.25s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  .nav-toggle{display:flex}
  .nav-links{position:absolute;top:calc(100% + 1px);left:-26px;right:-26px;background:#fff;flex-direction:column;align-items:stretch;gap:0;
    max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--line);box-shadow:0 20px 34px -22px rgba(3,12,45,.3)}
  .nav-links.open{max-height:440px}
  .nav-links a{padding:15px 26px;border-top:1px solid var(--line);opacity:1}
  .nav-links .social{padding:15px 26px;border-top:1px solid var(--line);gap:24px}
  .nav-links .social .ig-link{padding:0;border-top:0}
}

/* hero — full-bleed video band with press badges, like the real site */
.hero{position:relative;min-height:82vh;background:#c9d2d8;display:flex;align-items:flex-end;overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, transparent 52%, rgba(0,0,0,.5) 100%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-title{color:#fff;text-align:left;font-family:var(--display);font-weight:400;
  font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.12;letter-spacing:.01em;
  margin:0 0 42px;max-width:15ch;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.hero .press{position:absolute;top:26px;right:82px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:2}
.hero .press img{height:96px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}
.hero .press .today{height:60px;margin-right:10px;margin-top:10px}

/* centered intro block (real site pattern) */
.intro{text-align:center;padding:82px 0 20px}
.intro h1{max-width:16ch;margin:0 auto}
.intro .kicker{font-family:var(--display);font-weight:600;color:var(--blue);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;margin-bottom:18px}
.intro p{max-width:64ch;margin:22px auto 0}
.intro .price{font-family:var(--display);color:var(--navy);font-weight:600;margin-top:26px}
.intro .price span{font-weight:400;color:var(--body);font-family:var(--sans);font-size:.95rem}
.intro .cta{margin-top:30px}

section{padding:84px 0}
.section-head{text-align:center;max-width:70ch;margin:0 auto 46px}
.section-head p{margin-top:16px}
.tint{background:var(--mist)}
.ey{font-family:var(--display);font-weight:600;color:var(--blue);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;display:block;margin-bottom:14px}
.muted{color:#5a616b}
.divline{height:1px;background:var(--line);border:0}

/* full-bleed media band with play button (content film / videos) */
.mediaband{position:relative;width:100%;aspect-ratio:16/7;background:#0a1a33 center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.playbtn{position:relative;width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.18s;z-index:2}
.playbtn:hover{transform:scale(1.06);background:#fff}
.playbtn::after{content:"";margin-left:6px;border-style:solid;border-width:15px 0 15px 25px;border-color:transparent transparent transparent var(--navy)}
.filmcap{position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;font-family:var(--display);font-size:.82rem;
  letter-spacing:.03em;background:rgba(3,12,45,.55);padding:7px 14px;border-radius:3px}
a.mediaband{cursor:pointer}
a.mediaband:hover .playbtn{transform:scale(1.06);background:#fff}

/* mediaband title-card overlay — Netflix-style stacked headline + copy on the thumbnail itself */
.mediaband-wrap{position:relative}
.mediaband--overlay{position:relative;overflow:hidden}
.mediaband-fade{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(0deg, rgba(3,8,18,.85) 0%, rgba(3,8,18,.4) 45%, rgba(3,8,18,0) 78%)}
.mediaband-fade--top{background:linear-gradient(180deg, rgba(3,8,18,.8) 0%, rgba(3,8,18,.32) 45%, rgba(3,8,18,0) 80%)}
.mediaband-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 30px 30px;max-width:560px;text-align:left}
.mediaband-content--top{top:0;bottom:auto;padding:26px 30px}
.mediaband-content .ey{color:#e0ab5c;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.mediaband-content h2{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 10px;font-weight:400;
  text-shadow:0 4px 20px rgba(0,0,0,.4)}
.mediaband-content p{color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.5;margin:0 0 18px;max-width:52ch;
  text-shadow:0 2px 12px rgba(0,0,0,.4)}
.mediaband-content .shark-badge-inline{height:52px;width:auto;margin-bottom:14px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4))}

.stanford-wordmark{position:absolute;top:26px;right:30px;z-index:2;
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:600;
  font-size:clamp(1.1rem,2vw,1.5rem);color:#fff;letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.45)}
.mediaband-headline{font-family:var(--display);font-weight:600;color:#fff;
  font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:.01em;margin:0 0 14px;
  text-shadow:0 4px 18px rgba(0,0,0,.45)}
.mediaband-quote{font-family:var(--display);font-weight:400;color:#fff;font-size:clamp(1.15rem,2.2vw,1.55rem);
  line-height:1.4;margin:0 0 12px;max-width:44ch;text-shadow:0 4px 18px rgba(0,0,0,.45)}
.mediaband-cite{display:block;font-style:normal;color:rgba(255,255,255,.72);font-size:.82rem;
  margin:0 0 18px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.mediaband-link{font-family:var(--display);font-weight:600;font-size:.85rem;color:#fff;
  text-decoration:underline;text-underline-offset:3px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.mediaband-link:hover{color:#e0ab5c}
.mediaband-link + .mediaband-link{display:table;margin-top:1.4em}

@media(max-width:640px){.mediaband-content,.mediaband-content--top{padding:20px 20px 24px;max-width:none}}

/* content-film section — real playable video */
.videoband{background:#0a1a33;display:block;padding:0}
.realvideo{display:block;width:100%;height:100%;object-fit:cover;background:#0a1a33}

/* "window within a window" — frames a real video like a LiquidView install: white mullion border, glass reveal */
.window-frame{
  max-width:920px;margin:0 auto;background:#f3f1ec;padding:16px;border-radius:5px;
  box-shadow:0 34px 80px -34px rgba(3,12,45,.5), 0 0 0 1px var(--line);
}
.window-frame .realvideo{
  width:100%;aspect-ratio:16/9;background:#0a1a33;border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(3,12,45,.12), inset 0 2px 18px rgba(3,12,45,.35);
}

/* ===== BEYOND ORDINARY — full-bleed video, centered title-card, scroll parallax ===== */
.beyond{position:relative;min-height:86vh;overflow:hidden;background:#0c0f0d;
  display:flex;align-items:flex-end;justify-content:center}
.beyond-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.beyond-video--overlay{opacity:0;mix-blend-mode:screen;will-change:opacity,transform}
.beyond::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(0deg, rgba(3,8,18,.7) 0%, rgba(3,8,18,.2) 40%, rgba(3,8,18,.15) 100%)}
.beyond-overlay{position:relative;z-index:2;text-align:center;padding:0 26px calc(5vh - 100px);max-width:640px;
  will-change:transform}
.beyond-title{display:block;
  font-family:var(--display);
  font-weight:400;font-style:normal;color:#fff;font-size:clamp(2.9rem,6.4vw,5.4rem);
  line-height:.98;letter-spacing:-.01em;margin:0;text-shadow:0 4px 24px rgba(0,0,0,.4)}

.beyond-body{font-family:var(--display);font-weight:400;color:rgba(255,255,255,.92);
  font-size:clamp(1.56rem,2.34vw,1.794rem);line-height:1.55;max-width:44ch;margin:20px auto 0;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
  opacity:0;transform:translateY(14px);transition:opacity 1.4s ease,transform 1.4s ease}
.beyond-body.show{opacity:1;transform:none}

.beyond-inspire{display:inline-block;margin:28px auto 0;font-family:var(--display);font-weight:600;
  font-size:.95rem;letter-spacing:.02em;color:#fff;background-color:rgba(255,255,255,.14);
  border:0;border-radius:99px;padding:13px 30px;cursor:pointer;
  box-shadow:0 1px 1px rgba(255,255,255,.3) inset, 0 -1px 3px rgba(0,0,0,.2) inset, 0 6px 14px -8px rgba(0,0,0,.55);
  opacity:0;transform:translateY(14px);
  transition:opacity 1.2s ease,transform 1.2s ease,background-color .2s}
.beyond-inspire.show{opacity:1;transform:none}
.beyond-inspire:hover{background-color:rgba(255,255,255,.26)}
.beyond-more-soon{font-family:var(--display);font-size:.72rem;color:rgba(255,255,255,.6);
  letter-spacing:.06em;margin:10px 0 0;text-shadow:0 1px 8px rgba(0,0,0,.5)}

@media(prefers-reduced-motion:reduce){.beyond-overlay,.beyond-video--overlay,.beyond-inspire{transition:none}}
@media(max-width:640px){.beyond-overlay{max-width:none;padding:0 22px 7vh}}

/* ===== VIEW LIBRARY — two auto-scrolling rows, opposite directions ===== */
.view-marquee-wrap{width:100%;overflow:hidden}
.view-row{overflow:hidden;width:100%}
.view-row--left{margin-top:30px}
.view-track{display:flex;gap:20px;width:max-content;will-change:transform}
.view-row--right .view-track{animation:viewMarqueeRight 70s linear infinite}
.view-row--left .view-track{animation:viewMarqueeLeft 70s linear infinite}
@keyframes viewMarqueeRight{from{transform:translateX(-25%)}to{transform:translateX(0)}}
@keyframes viewMarqueeLeft{from{transform:translateX(0)}to{transform:translateX(-25%)}}
.view-tile{position:relative;flex:0 0 408px;aspect-ratio:2/1;background-size:cover;background-position:center;
  border-radius:4px;overflow:hidden;box-shadow:0 16px 40px -24px rgba(3,12,45,.5)}
.view-tile-cap{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 14px;
  background:linear-gradient(0deg, rgba(3,12,45,.7) 0%, rgba(3,12,45,.15) 65%, rgba(3,12,45,0) 100%)}
.view-tile-cap h4{margin:0 0 2px;font-size:1.05rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.view-tile-cap p{margin:0;font-size:.85rem;color:rgba(255,255,255,.92);text-shadow:0 2px 10px rgba(0,0,0,.55)}
@media(max-width:640px){.view-tile{flex:0 0 288px}.view-row--left{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.view-track{animation:none}}

/* ===== VIEW LIBRARY REDESIGN — horizontal rail (legacy, unused) ===== */
/* slider inset from the edges — white gutters where the grey arrows sit; next window peeks off-frame */
.rail-wrap{position:relative;max-width:1180px;margin:0 auto;padding:0 58px}
.viewrail{display:grid;grid-auto-flow:column;grid-auto-columns:min(500px,84%);gap:24px;
  overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 20px;margin:0;
  scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.viewrail::-webkit-scrollbar{display:none}
/* prev / next — plain grey chevrons in the white gutter, no circle */
.rail-arrow{position:absolute;top:calc(50% - 24px);transform:translateY(-50%);z-index:6;
  width:46px;height:60px;padding:0;border:0;background:none;box-shadow:none;cursor:pointer;
  color:#a2abb4;font-family:var(--display);font-weight:400;font-size:2.8rem;line-height:0;
  display:flex;align-items:center;justify-content:center;transition:color .18s ease}
.rail-arrow:hover{color:#5a616b}
.rail-arrow:active{color:var(--navy)}
.rail-arrow.prev{left:4px}
.rail-arrow.next{right:4px}
@media(max-width:560px){.rail-arrow{font-size:2.1rem;width:34px}.rail-wrap{padding:0 42px}}
@media(max-width:560px){.rail-arrow{width:42px;height:42px;font-size:1.4rem}}
.viewcard{scroll-snap-align:start}
.viewcard .shot{position:relative;aspect-ratio:2/1;border-radius:4px;overflow:hidden;background:#c9d2d8 center/cover no-repeat;box-shadow:0 16px 40px -24px rgba(3,12,45,.5)}
.viewcard .shot .soon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0a1a33,#1c3e63);color:#cddcf0;font-family:var(--display);font-weight:600;text-align:center;padding:20px}
.viewcard h4{margin:16px 0 3px;font-size:1.15rem;color:var(--navy);font-weight:700}
.viewcard .place{font-size:.92rem;color:#5a616b}
.railhint{text-align:center;font-family:var(--display);font-size:.82rem;color:#5a616b;margin-top:8px;letter-spacing:.02em}

/* products */
.prodgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.prod{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center}
.prod img{border-radius:4px}
.prod h3{margin-bottom:8px}
@media(max-width:900px){.prodgrid{grid-template-columns:1fr}.prod{grid-template-columns:1fr;text-align:left}}

/* customer logos */
.logos{display:flex;flex-wrap:wrap;gap:44px;align-items:center;justify-content:center}
.logos img{height:44px;width:auto;filter:grayscale(1);opacity:.75}

/* quote */
.quote{text-align:center;max-width:70ch;margin:0 auto}
.quote p{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.6vw,1.85rem);color:var(--navy);line-height:1.4}
.quote cite{display:block;margin-top:18px;font-style:normal;font-size:.9rem;color:#5a616b;font-family:var(--sans)}

/* subtle abstract sky mood behind the dealer locator — sunset drifting to moonlight, very quiet */
.locator-video-wrap{position:relative;overflow:hidden}
.locator-bgvideo{position:absolute;inset:-20%;width:140%;height:140%;z-index:0;
  filter:blur(52px);opacity:.5;
  background:radial-gradient(120% 90% at 30% 20%, #ffb88c 0%, #ff8a5c 18%, #8a5a8f 42%, #2c2f5e 66%, #0a1230 100%);
  background-size:200% 200%;
  animation:locatorSky 90s ease-in-out infinite alternate}
@keyframes locatorSky{
  0%{background-position:30% 20%}
  50%{background-position:60% 60%}
  100%{background-position:20% 80%}
}
.locator-video-wrap > .wrap{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.locator-bgvideo{animation:none}}

/* ===== DEALER LOCATOR ===== */
.locator-controls{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:30px;flex-wrap:wrap}
.chip{font-family:var(--display);font-weight:500;font-size:.82rem;padding:9px 18px;border-radius:3px;
  border:1.5px solid var(--line);background:#fff;cursor:pointer;color:#5a616b;transition:.15s}
.chip.active,.chip:hover{border-color:var(--navy);color:var(--navy)}
.dealers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:0 auto}
.dealer{border:1px solid var(--line);border-radius:4px;padding:20px 22px;background:#fff;transition:.18s}
.dealer:hover{box-shadow:0 16px 40px -26px rgba(3,12,45,.45);transform:translateY(-2px);border-color:#d3d9df}
.dealer .name{font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--navy);display:flex;align-items:center;gap:6px}
.dealer .name .ext{color:var(--blue);font-size:.82rem}
.dealer .loc{color:#5a616b;font-size:.92rem;margin-top:3px}
.dealer .intl{font-family:var(--display);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-top:8px}
@media(max-width:860px){.dealers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dealers{grid-template-columns:1fr}}

/* request band */
.band{background:var(--navy);color:#fff;text-align:center;padding:76px 26px}
.band h2{color:#fff}
.band p{color:rgba(255,255,255,.82);max-width:56ch;margin:16px auto 28px}
.band .dealerlink{display:inline-block;margin-top:22px;font-family:var(--display);font-size:.85rem;color:#7fb0ff;letter-spacing:.03em}
.band .dealerlink:hover{color:#fff}

/* note callouts (for Mitch) */
.note{max-width:820px;margin:26px auto 0;border-left:3px solid var(--blue);background:#eef4ff;padding:13px 18px;
  border-radius:0 4px 4px 0;font-size:.86rem;color:#3d444d;font-family:var(--sans)}
.note b{color:var(--navy)}

footer{background:#0a0e18;color:#aeb6c0;padding:56px 0 40px;font-size:.9rem}
footer .cols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
footer img{height:26px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:12px}
footer h4{color:#fff;margin-bottom:10px}
footer a:hover{color:#fff}
.foot-note{margin-top:34px;padding-top:22px;border-top:1px solid #1f2530;color:#6b7480;font-size:.78rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ===== lighter cookie bar (replaces heavy blue gear) ===== */
#cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:680px;margin:0 auto;
  background:#fff;border:1px solid var(--line);box-shadow:0 16px 44px -14px rgba(3,12,45,.3);
  border-radius:6px;padding:14px 18px;display:flex;align-items:center;gap:16px;font-size:.86rem;color:var(--body);
  transform:translateY(150%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
#cookiebar.show{transform:translateY(0)}
#cookiebar p{margin:0;flex:1}
#cookiebar a{color:var(--blue);text-decoration:underline}
.cb-actions{display:flex;gap:8px;flex-shrink:0}
.cb-btn{font-family:var(--display);font-weight:400;font-size:.8rem;padding:9px 18px}
#cookie-reopen{position:fixed;left:14px;bottom:14px;z-index:60;font-family:var(--display);font-weight:500;font-size:.744rem;color:var(--navy);
  background-color:rgba(3,12,45,.06);border:0;border-radius:99px;padding:8px 17px;cursor:pointer;display:none;
  box-shadow:0 1px 1px rgba(255,255,255,.6) inset, 0 -1px 2px rgba(3,12,45,.08) inset, 0 6px 14px -8px rgba(3,12,45,.3);
  transition:background-color .2s}
#cookie-reopen:hover{background-color:rgba(3,12,45,.11)}
@media(max-width:560px){#cookiebar{flex-direction:column;align-items:stretch;text-align:center}}

/* two-column intro (matches real site) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split img{border-radius:4px;box-shadow:0 22px 55px -30px rgba(3,12,45,.5)}

/* intro — video bleeds to the browser's left edge, text column pulled in 100px narrower */
.intro-bleed{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,508px);align-items:center;min-height:74vh}
.intro-bleed .split-video{width:100%;height:100%;min-height:74vh;object-fit:cover;display:block;
  border-radius:0;box-shadow:none;background:#c9d2d8}
.intro-bleed .txt{padding:40px clamp(26px,4vw,64px) 40px 48px}
@media(max-width:900px){
  .intro-bleed{grid-template-columns:1fr;min-height:0}
  .intro-bleed .split-video{min-height:48vh}
  .intro-bleed .txt{padding:36px 26px}
  .intro-bleed .txt h2,.intro-bleed .txt h1{text-align:center}
}

/* ===== MOBILE ONLY — hero video full-bleed, reversed header, tighter spacing ===== */
@media(max-width:900px){
  /* header sits transparent on top of the hero video, scrolls away with the page (not sticky) */
  header.site{position:absolute;top:0;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0}
  .nav .logo img{filter:brightness(0) invert(1)}
  .nav-toggle span{background:#fff}
  .nav-links{background:#fff;border-bottom:0}
  .nav-links a{color:var(--navy)}

  /* Shark Tank / Today Show badges — 30% smaller, tucked closer to the right edge */
  .hero .press{top:92px;right:62px;gap:4px}
  .hero .press img{height:67px}
  .hero .press .today{height:42px;margin-right:7px;margin-top:7px}

  /* Stanford / Shark Tank — headline & quote move below the video instead of overlapping the play button */
  .mediaband-content,.mediaband-content--top{
    position:static;background:none;padding:14px 4px 0 14px;max-width:none;text-align:left}
  .mediaband-fade,.mediaband-fade--top{display:none}
  .mediaband-content .ey,.mediaband-content--top .ey{text-shadow:none;color:var(--blue)}
  .mediaband-headline{color:#000;text-shadow:none}
  .mediaband-content .mediaband-quote,.mediaband-content--top .mediaband-quote{color:#000;text-shadow:none;font-size:1.05rem}
  .mediaband-cite{color:#000;text-shadow:none;opacity:.7}
  .mediaband-link{color:#000;text-shadow:none;white-space:nowrap;display:inline-block;margin:0 22px 10px 0}
  .mediaband-content .shark-badge-inline{filter:none}

  /* less space overall so there's less scrolling */
  section{padding:44px 0}
  .section-head{margin-bottom:28px}
  #stanford{padding:0 0 10px}
  #shark{padding-top:10px}
  .intro{padding:48px 0 12px}
  .wellband{padding:44px 26px}
  .footerband{padding:40px 26px}

  /* view library rows move faster on mobile */
  .view-row--right .view-track,.view-row--left .view-track{animation-duration:10s}

  /* press cards — no frame, thumb bleeds edge to edge, caption keeps its own padding */
  .press .presscard{border:0;border-radius:0;background:transparent}
  .press .presscard:hover{box-shadow:none;transform:none}
  .press .presscard .thumb{margin:0 -26px;width:calc(100% + 52px);border-radius:0}
}
.split .txt h2,.split .txt h1{text-align:left}
.split .txt .kicker{display:block;margin-bottom:14px}
.split .price{font-family:var(--display);color:var(--navy);font-weight:600;margin:22px 0 24px}
.split .price span{font-weight:400;color:var(--body);font-family:var(--sans);font-size:.94rem}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:0}.split .txt h2,.split .txt h1{text-align:left}.split .txt{padding-top:26px}}

/* full-bleed image band (Hawaii, wellness) */
.fullband{position:relative;width:100%;height:min(58vh,540px);background:#c9d2d8;overflow:hidden}
.fullband-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wellband{position:relative;min-height:440px;background:#0a1a33 center/cover no-repeat;background-attachment:fixed;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px 26px}
/* parallax is janky on touch — fall back to normal scroll on small screens */
@media(max-width:820px){.wellband{background-attachment:scroll}}
.wellband::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(3,12,45,.32),rgba(3,12,45,.55))}
.wellband .inner{position:relative;z-index:2;max-width:60ch}
.wellband h2{color:#fff}
.wellband p{color:rgba(255,255,255,.9);margin:14px 0 0}
.wellband .dealerlink{display:inline-block;margin-top:22px;font-family:var(--display);font-size:1.2rem;font-weight:600;color:#fff;letter-spacing:.01em;
  text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.6)}
.wellband .dealerlink:hover{text-decoration-color:#fff}
.wellband .inner.big{max-width:66ch}
.wellband .inner.big h2{font-size:clamp(2.3rem,5vw,3.4rem)}
.wellband .inner.big .well-price{font-family:var(--display);font-size:clamp(1.05rem,2vw,1.4rem);font-weight:500;margin:18px 0 30px}
.wellband .inner.big .btn{margin-bottom:16px}

/* Media & Press grid */
.press{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1060px;margin:0 auto}
.presscard{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;transition:.18s;display:flex;flex-direction:column}
.presscard:hover{box-shadow:0 18px 44px -26px rgba(3,12,45,.4);transform:translateY(-2px)}
.presscard .thumb{aspect-ratio:16/10;background:#c9d2d8 center/cover no-repeat}
.presscard .body{padding:16px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.presscard h4{font-size:.98rem;line-height:1.4;font-weight:700}
.presscard .rl{margin-top:auto;font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--blue);letter-spacing:.03em}
@media(max-width:900px){.press{grid-template-columns:1fr}}

/* contact form (white section) */
.hubspot-form-wrap{max-width:600px;margin:30px auto 0;text-align:left}
.hubspot-form-wrap .hs-form-frame{min-height:80px}

.form{max-width:660px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left}
.form .full{grid-column:1/-1}
.form label{display:block;font-family:var(--display);font-size:.72rem;font-weight:600;color:var(--navy);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}
.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.95rem}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--blue)}
.form textarea{min-height:120px;resize:vertical}
.form .submit{grid-column:1/-1;justify-self:center;margin-top:6px}
.form select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.95rem}
.form select:focus{outline:none;border-color:var(--blue)}
.form .req{color:#c23a3a}
.form .field-hint{margin:-2px 0 8px;font-size:.82rem;color:#5a616b;text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:400}
.form button.submit{font-family:var(--display);font-size:16px;padding:12px 34px;min-width:160px}
.form .checks{display:flex;gap:22px;flex-wrap:wrap;padding:4px 0 2px}
.form .checks label{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--sans);font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)}
.form .checks input{width:16px;height:16px;accent-color:var(--blue)}
.pdp .form{margin-top:0}
.form button.submit:disabled{opacity:.6;cursor:default}
.lv-form-thanks{grid-column:1/-1;text-align:center;font-family:var(--display);font-size:1.25rem;color:var(--navy);padding:34px 0 20px}
.lv-form-error{grid-column:1/-1;color:#c23a3a;font-size:.9rem;text-align:center;margin:0}
.modal-card .form{margin-top:18px;padding:0 20px}
@media(max-width:640px){.modal-card .form{grid-template-columns:1fr;padding:0 10px}}

/* ===== window within window — modal ===== */
.modal{position:fixed;inset:0;z-index:90;background:rgba(3,12,45,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex}
.modal-card{position:relative;background:#fff;border-radius:6px;max-width:700px;width:100%;max-height:88vh;overflow:auto;
  padding:44px 6px 40px;box-shadow:0 50px 100px -30px rgba(3,12,45,.55);
  animation:modalIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal-x{position:absolute;top:10px;right:16px;background:none;border:0;font-size:2rem;line-height:1;color:#a2abb4;cursor:pointer;z-index:2}
.modal-x:hover{color:var(--navy)}
.modal-card--video{max-width:920px;padding:0;background:#000;overflow:hidden;line-height:0}
.modal-card--video .modal-x{color:rgba(255,255,255,.8);z-index:3}
.modal-card--video .modal-x:hover{color:#fff}
.modal-video{width:100%;display:block;aspect-ratio:16/9;background:#000}
.modal-card--image{max-width:560px;padding:0;background:#000;overflow:auto;line-height:0;max-height:88vh}
.modal-card--image .modal-x{color:rgba(255,255,255,.85);z-index:3}
.modal-card--image .modal-x:hover{color:#fff}
.modal-image{width:100%;display:block}
/* article popup: page shrinks to fit the screen, white download link sits on the dimmed backdrop */
.modal-card--doc{background:transparent;box-shadow:none;overflow:visible;max-height:none;width:auto;display:flex;flex-direction:column;align-items:center}
.modal-card--doc .modal-image{width:auto;max-width:100%;max-height:calc(88vh - 52px);box-shadow:0 50px 100px -30px rgba(3,12,45,.55)}
.modal-dl{margin:0;padding:14px 0 0;line-height:1.5;text-align:center}
.modal-dl a{color:#fff;font-weight:600;font-size:15px;text-decoration:underline;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.modal-card footer{border-top:0;padding:0 26px}

/* footer video band */
.footerband{position:relative;min-height:280px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0a1a33;padding:56px 26px}
.footerband-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.footerband::after{content:"";position:absolute;inset:0;background:rgba(3,12,45,.5)}
.footerband-inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:560px}
.footerband-logo{height:40px;width:auto;filter:brightness(0) invert(1);margin-bottom:8px}
.footerband-tagline{color:rgba(255,255,255,.82);font-size:.92rem;margin:0;max-width:34ch}
.footerband-links{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin-top:6px}
.footerband-links a{font-family:var(--display);font-weight:500;font-size:.86rem;color:#fff;opacity:.85;transition:opacity .2s}
.footerband-links a:hover{opacity:1}
.footerband-contact{color:rgba(255,255,255,.7);font-size:.82rem;margin:4px 0 0}
.footerband-note{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:10px;
  font-size:.76rem;color:rgba(255,255,255,.6)}
.footerband-note a{color:rgba(255,255,255,.6);text-decoration:underline}
.footerband-note a:hover{color:#fff}

/* ===== Product detail pages (PDP) ===== */
/* ===== Pricing page ===== */
.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pricecard{border:1px solid var(--line);border-radius:10px;padding:30px 26px;background:#fff}
.pricecard-img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:8px;margin-bottom:18px}
.pricecard h3{margin:6px 0 10px}
.pricecard-amt{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.4rem;margin:0 0 12px}
@media(max-width:900px){.pricegrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pricegrid{grid-template-columns:1fr}}

.pdp{padding-top:64px}
.pdp .back{display:inline-block;margin-bottom:34px;font-family:var(--display);font-size:.84rem;font-weight:600;color:#5a616b;letter-spacing:.02em}
.pdp .back:hover{color:var(--blue)}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pdp-grid img{border-radius:8px;box-shadow:0 26px 60px -30px rgba(3,12,45,.5)}
.pdp-grid .ph{aspect-ratio:4/3;border-radius:8px;background:var(--mist);display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#8a9199;font-family:var(--display);font-size:1rem;border:1px dashed var(--line);text-align:center;padding:16px}
.pdp .txt .price{font-family:var(--display);color:var(--navy);font-weight:600;font-size:1.15rem;margin:16px 0 22px}
.pdp .feat{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px}
.pdp .feat li{padding-left:22px;position:relative;color:var(--body)}
.pdp .feat li::before{content:"—";position:absolute;left:0;color:var(--blue)}
.pdp .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media(max-width:900px){.pdp-grid{grid-template-columns:1fr;gap:24px;text-align:left}.pdp .feat{text-align:left}}


/* Mitch review 7/22 tweaks */
.logos img{height:74px}
.bwh-logo{height:77px !important}
.battery-logo{height:106px !important}
.inspired-logo{height:103px !important}
@media(min-width:761px){.prod{grid-template-columns:240px 1fr}}
.prodgrid.three{grid-template-columns:repeat(3,1fr)}
.prod.card{display:block;text-align:center;border:1px solid var(--line);border-radius:12px;padding:26px 22px;background:#fff;transition:.18s}
.prod.card:hover{box-shadow:0 18px 44px -26px rgba(3,12,45,.4);transform:translateY(-2px);border-color:#d3d9df}
.prod.card img{width:100%;max-width:300px;height:auto;margin:0 auto 16px;border-radius:6px}
.prod.card .ph{width:100%;aspect-ratio:4/3;max-width:300px;margin:0 auto 16px;border-radius:6px;background:var(--mist);
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a9199;font-family:var(--display);font-size:.9rem;border:1px dashed var(--line);text-align:center;padding:16px}
.prod.card .rl,.prod .rl{display:inline-block;margin-top:6px;font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--blue);letter-spacing:.03em}
a.prod{transition:.18s;border-radius:6px}
a.prod:hover{box-shadow:0 18px 44px -26px rgba(3,12,45,.35)}
.contact-price{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.2rem;margin:8px auto 4px}
.contact-price span{font-weight:400;color:var(--body);font-family:var(--sans);font-size:.92rem}
@media(max-width:900px){.prodgrid.three{grid-template-columns:1fr}}

/* desktop only: Use Cases moves after the IMAX/Advanced Features section,
   and its leftover bottom row centers instead of hugging the left */
@media(min-width:901px){
  .reorder-usecases{display:flex;flex-direction:column}
  .reorder-usecases #film{order:4}
  .reorder-usecases #stanford{order:1}
  .reorder-usecases #shark{order:2}
  .reorder-usecases > .tint{order:3}

  #film .prodgrid.three{display:flex;flex-wrap:wrap;justify-content:center}
  #film .prodgrid.three .prod.card{flex:0 1 calc((100% - 80px)/3)}
}

/* ===== edge-to-edge photography, publisher-style (NYT/Atlantic) — no card frames,
   images bleed to the screen edge, captions/copy keep the normal reading margin =====
   (kept at the end of the file so it wins over the earlier card-chrome rules above) */
@media(max-width:900px){
  .prod.card{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;text-align:left}
  .prod.card:hover{box-shadow:none;transform:none}
  .prod.card img,.prod.card .ph{width:calc(100% + 52px);max-width:none;margin:0 -26px 16px;border-radius:0}
  .prod.card h3,.prod.card p,.prod.card .rl{padding:0 4px}

  .prod img{width:calc(100% + 52px);max-width:none;margin:0 -26px 16px;border-radius:0}
  .prod > div{padding:0 4px}

  .split img{width:calc(100% + 52px);max-width:none;margin:0 -26px;border-radius:0;box-shadow:none}

  .pdp-grid img,.pdp-grid .ph{width:calc(100% + 52px);max-width:none;margin:0 -26px;border-radius:0;box-shadow:none}
  .pdp .txt{padding:0 4px}
}

/* legal pages */
.legal h3{font-size:1.15rem;margin:30px 0 8px}
.legal h4{font-size:.98rem;margin:18px 0 6px}
.legal p{margin:0 0 12px;font-size:.95rem}

/* ---- HubSpot embedded forms (assets/hs-form.js) ---- */
.hs-embed{max-width:660px;margin:18px auto 0;padding:0 20px;text-align:left}
.pdp .hs-embed{margin-top:0;padding:0}
.hs-embed .hs-fallback{font-size:.9rem;color:#5a616b;text-align:center}
.hs-embed .hs-form fieldset{max-width:none!important;border:0;margin:0;padding:0}
.hs-embed .hs-form fieldset.form-columns-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.hs-embed .hs-form fieldset.form-columns-1,.hs-embed .hs-form fieldset.form-columns-3{display:block}
.hs-embed .hs-form fieldset .hs-form-field{float:none!important;width:100%!important;margin:0 0 18px;padding:0}
.hs-embed .hs-form fieldset .input{margin:0!important}
.hs-embed .hs-form label{display:block;font-family:var(--display);font-size:.72rem;font-weight:600;color:var(--navy);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}
.hs-embed .hs-form .hs-form-required{color:#c23a3a}
.hs-embed .hs-form input[type=text],.hs-embed .hs-form input[type=email],.hs-embed .hs-form input[type=tel],.hs-embed .hs-form input[type=number],.hs-embed .hs-form textarea,.hs-embed .hs-form select{width:100%!important;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.95rem}
.hs-embed .hs-form textarea{min-height:120px;resize:vertical}
.hs-embed .hs-form input:focus,.hs-embed .hs-form textarea:focus,.hs-embed .hs-form select:focus{outline:none;border-color:var(--blue)}
.hs-embed .hs-form .hs-richtext,.hs-embed .hs-form .hs-field-desc{font-size:.82rem;color:#5a616b;text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:400;margin:0 0 6px}
.hs-embed .hs-form .inputs-list{list-style:none;margin:0;padding:4px 0 2px;display:flex;gap:6px 22px;flex-wrap:wrap}
.hs-embed .hs-form .inputs-list label{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--sans);font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)}
.hs-embed .hs-form .inputs-list input{width:16px!important;height:16px;accent-color:var(--blue)}
.hs-embed .hs-form .hs-error-msgs{list-style:none;margin:4px 0 0;padding:0}
.hs-embed .hs-form .hs-error-msgs label,.hs-embed .hs-form .hs-error-msg{color:#c23a3a;font-family:var(--sans);font-size:.82rem;font-weight:400;letter-spacing:0;text-transform:none}
.hs-embed .hs-form .hs-submit{text-align:center;margin-top:6px}
.hs-embed .hs-form input[type=submit],.hs-embed .hs-form .hs-button{background:#E5EBFA;color:#000;border:0;border-radius:100px;padding:14px 38px;min-width:160px;font-family:'Montserrat',sans-serif;font-size:16px;font-weight:400;cursor:pointer;transition:background .2s}
.hs-embed .hs-form input[type=submit]:hover,.hs-embed .hs-form .hs-button:hover{background:#CCD4DA;color:#000}
.hs-embed .submitted-message{font-family:var(--display);font-size:1.25rem;color:var(--navy);text-align:center;padding:34px 0 20px}
@media(max-width:640px){.hs-embed .hs-form fieldset.form-columns-2{display:block}.modal-card .hs-embed{padding:0 10px}}
