:root{color-scheme:dark;--acid:#f4ff00;--scroll:0px;--page-progress:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#141516;color:#d1d1cb;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.camo,.shade{position:fixed;inset:0;pointer-events:none}.camo{background:linear-gradient(rgba(0,0,0,.40),rgba(0,0,0,.40)),url("camo-background.png") center/cover no-repeat}.shade{background:radial-gradient(ellipse at 50% 43%,#10111222,transparent 65%)}
/* Original source is 1672 x 941. Every PNG keeps its native aspect ratio. */
.hud{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;--hud-scale:min(calc(100vw / 1672),calc(100svh / 941))}
.hud-part{position:absolute;display:block;height:auto;max-width:none;user-select:none;image-rendering:auto}
.hud-part.tl{top:0;left:0;width:min(44.56vw,79.17svh)}
.hud-part.tr{top:0;right:0;width:min(44.68vw,79.38svh)}
.hud-part.bl{bottom:0;left:0;width:min(44.56vw,79.17svh)}
.hud-part.br{bottom:0;right:0;width:min(44.68vw,79.38svh)}
.hud-part.bc{bottom:0;left:50%;transform:translateX(-50%);width:min(10.77vw,19.14svh)}
.warning{position:absolute;z-index:2;width:clamp(12px,1.63vw,28px);height:50svh;overflow:hidden}
.warning-left{left:0;bottom:0;clip-path:polygon(0 0,100% 5%,100% 100%,0 100%)}
.warning-right{right:0;top:0;clip-path:polygon(0 0,100% 0,100% 100%,0 95%)}
.warning-pattern{position:absolute;inset:-160px 0 0;width:100%;height:calc(100% + 320px);background:repeating-linear-gradient(48deg,#c1c1bd 0 34px,transparent 34px 76px);will-change:transform}
.warning-left .warning-pattern{transform:translateY(var(--scroll))}.warning-right .warning-pattern{transform:none}
nav{position:absolute;top:27px;left:clamp(30px,4.8vw,80px);right:clamp(30px,4.8vw,80px);display:flex;justify-content:space-between;z-index:6}nav a{font:10px monospace;letter-spacing:3px}nav a:hover,.return:hover{color:var(--acid)}.wordmark{font-weight:bold}.wordmark span{font-size:7px;margin-left:5px}
main{position:relative;z-index:2}.hero{height:100svh;min-height:500px;display:grid;place-items:center}.center{text-align:center;width:100%;padding:50px;transform:translateY(-30px)}h1{margin:0}.brand-logo{display:block;width:min(585.8px,62.2vw);height:auto;margin:auto}.tagline{font:12.83px monospace;letter-spacing:7.2px;margin:24px 0 0;color:#9c9d94}.countdown-wrap{margin:34px auto 0;display:flex;flex-direction:column;align-items:center;gap:10px}.countdown-label{font:7px monospace;letter-spacing:3px;color:#83857d}.countdown{font:14.52px monospace;letter-spacing:3.12px;color:#d4d6cb}.signal{min-height:100svh;padding:150px max(45px,17vw) 160px}.section-label{font:9px monospace;letter-spacing:4px;margin-bottom:40px;color:#999b92}h2{font-size:clamp(40px,7vw,100px);line-height:.94;letter-spacing:-.04em;margin:0 0 42px;font-weight:900}h2 em{font-style:normal;color:var(--acid)}
.signal-wordmark{display:block;height:clamp(40px, 7vw, 100px);width:auto;max-width:100%;margin-top:.08em;filter:drop-shadow(0 0 8px rgba(244,255,0,.05))}.statement{font-size:19px;line-height:1.7;color:#a5a69c}.return{display:inline-block;border-bottom:1px solid #777;padding:18px 0;margin-top:25px;font:10px monospace;letter-spacing:2px}.coordinates{margin-top:60px;font:8px/2 monospace;letter-spacing:4px;color:#7b7e75}a:focus-visible{outline:1px solid var(--acid);outline-offset:8px}
@media(max-width:700px){nav{top:22px;left:28px;right:28px}nav a{font-size:8px;letter-spacing:2px}.hud-part.tl,.hud-part.bl{width:min(68vw,46svh)}.hud-part.tr,.hud-part.br{width:min(68vw,46svh)}.hud-part.bc{width:min(25vw,110px)}.brand-logo{width:min(100vw,544px)}.center{padding:34px;transform:translateY(-58px)}.tagline{font-size:9.98px;letter-spacing:3.6px;margin-top:18px}.countdown-wrap{margin-top:26px;gap:8px}.countdown-label{font-size:6px;letter-spacing:2.4px}.countdown{font-size:11.88px;letter-spacing:2.4px}.signal{padding:140px 42px 110px}.statement{font-size:16px}.signal-wordmark{height:clamp(40px, 7vw, 100px);width:auto;max-width:100%}.warning{width:12px}}
@media(max-height:500px) and (orientation:landscape){.hero{min-height:100svh}.brand-logo{width:min(49.2vw,388.8px)}.hud-part.tl,.hud-part.bl,.hud-part.tr,.hud-part.br{width:min(35vw,65svh)}.hud-part.bc{width:min(13svh,90px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.warning-pattern{transform:none!important}}


/* HUD fly-off on scroll */
:root{--hud-progress:0;}
.hud-part,
.warning{
  will-change: transform;
}
.hud-part.tl{
  transform: translate(calc(var(--hud-progress) * -125%), calc(var(--hud-progress) * -125%));
}
.hud-part.tr{
  transform: translate(calc(var(--hud-progress) * 125%), calc(var(--hud-progress) * -125%));
}
.hud-part.bl{
  transform: translate(calc(var(--hud-progress) * -125%), calc(var(--hud-progress) * 125%));
}
.hud-part.br{
  transform: translate(calc(var(--hud-progress) * 125%), calc(var(--hud-progress) * 125%));
}
.hud-part.bc{
  transform: translateX(-50%) translateY(calc(var(--hud-progress) * 155%));
}
.warning-left{
  transform: translate(calc(var(--hud-progress) * -180%), calc(var(--hud-progress) * 140%));
}
/* Right indicator tracks actual page scroll via one RAF update; avoid a
   scroll(root) CSS timeline competing with scroll-driven layout on mobile. */
.warning-right{
  transform:translate3d(0,calc(var(--page-progress) * 72svh),0);
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .hud-part.tl,.hud-part.tr,.hud-part.bl,.hud-part.br,.hud-part.bc,.warning-left,.warning-right{transform:none !important;}
  .hud-part.bc{transform:translateX(-50%) !important;}
}

/* Center brand mark enters from above the viewport when the page first loads. */
.brand-logo{
  animation:brand-logo-arrive 1.35s cubic-bezier(.21,.81,.25,1) both;
  will-change:transform;
}
@keyframes brand-logo-arrive{
  0% {transform:translateY(calc(-100svh - 100%));}
  78% {transform:translateY(12px);}
  90% {transform:translateY(-5px);}
  100% {transform:translateY(0);}
}
@media(prefers-reduced-motion:reduce){
  .brand-logo{animation:none;will-change:auto;}
}

/* Eyewear reveal: isolated black background, existing site remains unchanged. */
.glasses-scroll-scene{position:relative;height:240svh;background:#000;z-index:3;--glasses-progress:0}
.glasses-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#000;isolation:isolate}
.glasses-composition{position:absolute;left:50%;top:50%;width:min(101vw,1320px);aspect-ratio:1638 / 2048;transform:translate(-50%,-50%);pointer-events:none}
.glasses-pair{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;will-change:transform}
.glasses-pair-black{transform:translate3d(calc(-145vw * (1 - var(--glasses-progress))),0,0)}
.glasses-pair-orange{transform:translate3d(calc(145vw * (1 - var(--glasses-progress))),0,0)}
.eyewear-cue{position:absolute;bottom:clamp(18px,4vh,42px);left:50%;transform:translateX(-50%);font:8px monospace;letter-spacing:3px;color:#777;white-space:nowrap;opacity:var(--glasses-progress)}
.glasses-cta{position:absolute;left:50%;top:50.8%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;z-index:4;pointer-events:none}
.vizor-logo{display:block;width:min(28vw,250px);height:auto;opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease;filter:drop-shadow(0 0 10px rgba(244,255,0,.08))}
.vizor-explore{appearance:none;border:none;background:transparent;color:#d6d6ce;font:9px monospace;letter-spacing:2.4px;padding:0;cursor:pointer;opacity:0;transform:translateY(14px);transition:opacity .55s ease .28s, transform .55s ease .28s, color .2s ease, background .2s ease;pointer-events:none}
.vizor-explore:hover{color:var(--acid);background:transparent}
.glasses-scroll-scene.glasses-cta-visible .vizor-logo,.glasses-scroll-scene.glasses-cta-visible .vizor-explore{opacity:1;transform:translateY(0)}
.glasses-scroll-scene.glasses-cta-visible .vizor-explore{pointer-events:auto}
@media(min-width:1100px){.glasses-cta{top:52.2%}.vizor-logo{width:min(22vw,280px)}}
@media(max-width:700px){.glasses-cta{top:47.8%;left:15%;transform:translateY(-50%);gap:10px;align-items:flex-start;text-align:left}.vizor-logo{width:min(38vw,165px)}.vizor-explore{font-size:8px;letter-spacing:2px;padding:0}}
@media(prefers-reduced-motion:reduce){.vizor-logo,.vizor-explore{transition:none!important;opacity:1;transform:none}.vizor-explore{pointer-events:auto}}

@media(min-width:1100px){.glasses-composition{width:min(88vw,1500px);top:52%}}
@media(max-width:767px){.glasses-scroll-scene{height:220svh}.glasses-composition{width:142vw;left:54%;top:49%}.glasses-pair-black{transform:translate3d(calc(-190vw * (1 - var(--glasses-progress))),0,0)}.glasses-pair-orange{transform:translate3d(calc(190vw * (1 - var(--glasses-progress))),0,0)}}
@media(prefers-reduced-motion:reduce){.glasses-scroll-scene{height:100svh;--glasses-progress:1}.glasses-pair{transform:none!important}.eyewear-cue{opacity:1}}

/* Seamless fade from the camo-backed SIGNAL section into black eyewear. */
.signal{position:relative;background:linear-gradient(to bottom,rgba(0,0,0,0) 30%,rgba(0,0,0,.12) 49%,rgba(0,0,0,.45) 68%,rgba(0,0,0,.82) 86%,#000 100%)}

/* V20: Bring the product reveal forward; remove the large empty gap below THE SIGNAL. */
.signal{min-height:78svh;padding-top:clamp(74px,11vh,110px);padding-bottom:clamp(54px,8vh,85px)}
.glasses-scroll-scene{height:155svh}
@media(max-width:700px){.signal{min-height:76svh;padding:clamp(80px,11vh,105px) 42px clamp(50px,7vh,75px)}.glasses-scroll-scene{height:155svh}}
@media(prefers-reduced-motion:reduce){.glasses-scroll-scene{height:100svh}}

/* V21: eliminate late eyewear entry and reduce the dead black scroll space. */
.signal { min-height:0; padding-bottom:clamp(24px,4svh,48px); }
.glasses-scroll-scene { height:132svh; }
@media(max-width:700px){
  .signal { min-height:0; padding-bottom:24px; }
  .glasses-scroll-scene { height:130svh; }
  .glasses-composition { width:142vw; top:48%; }
  .glasses-pair-black { transform:translate3d(calc(-150vw * (1 - var(--glasses-progress))),0,0); }
  .glasses-pair-orange { transform:translate3d(calc(150vw * (1 - var(--glasses-progress))),0,0); }
}
@media(prefers-reduced-motion:reduce){.glasses-scroll-scene{height:100svh}}


/* V22: new independent narrow-viewport HUD, authored on a 390x844 design grid. */
.hud-mobile{display:none}
@media(max-width:700px) and (orientation:portrait){
  .hud .hud-part{display:none!important}
  .hud-mobile{display:block;position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}
  .mobile-hud-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
  .mh-corner,.mh-bottom,.mh-top-main,.mh-top-frame,.mh-top,.mh-markers,.mh-sonar{transform-box:fill-box;will-change:transform;transition:none}
  .mh-tl,.mh-tr,.mh-bl,.mh-br{transform-origin:center}
  .mh-tl{transform:translate(calc(var(--hud-progress) * -125%),calc(var(--hud-progress) * -125%))}
  .mh-tr{transform:translate(calc(var(--hud-progress) * 125%),calc(var(--hud-progress) * -125%))}
  .mh-bl{transform:translate(calc(var(--hud-progress) * -125%),calc(var(--hud-progress) * 125%))}
  .mh-br{transform:translate(calc(var(--hud-progress) * 125%),calc(var(--hud-progress) * 125%))}
  .mh-bottom,.mh-sonar{transform:translateY(calc(var(--hud-progress) * 200%))}
  .mh-top-main,.mh-top-frame{transform:translateY(calc(var(--hud-progress) * -200%))}
  .mh-top,.mh-markers{opacity:calc(1 - var(--hud-progress))}
  .brand-logo{width:min(51.8vw,230.7px)!important}
  .tagline{font-size:8.55px;letter-spacing:3.24px;margin-top:13px}
  .countdown-wrap{margin-top:18px;gap:6px}
  .countdown-label{font-size:5.5px;letter-spacing:2px}
  .countdown{font-size:10.56px;letter-spacing:1.92px}
  .warning{width:9px}
}
@media(max-width:700px) and (orientation:portrait) and (prefers-reduced-motion:reduce){
 .mh-corner,.mh-bottom,.mh-top-main,.mh-top-frame,.mh-top,.mh-markers,.mh-sonar{transform:none!important}
}

/* V30: Yu compresses into one horizontal line, then splits into a hamburger on scroll. */
.mobile-menu-trigger,.mobile-navigation{display:none}
@media(max-width:700px) and (orientation:portrait){
  nav{display:none!important}
  .mobile-menu-trigger{
    --menu-travel:0;--yu-opacity:1;--yu-squash:1;--single-line:0;--split:0;--split-opacity:0;
    display:block;position:fixed;z-index:30;
    width:48px;height:48px;padding:0;border:0;background:transparent;color:#c7c8bf;
    top:clamp(14px,2.25svh,23px);
    left:calc(50% - (var(--menu-travel) * (50% - 48px)));
    transform:translateX(-50%);
    cursor:pointer;touch-action:manipulation;
  }
  .menu-yu-symbol{
    position:absolute;left:50%;top:50%;width:33px;height:auto;display:block;
    transform:translate(-50%,-50%) scaleX(calc(1 + (1 - var(--yu-squash)) * .12)) scaleY(var(--yu-squash));
    transform-origin:center;
    opacity:var(--yu-opacity);
    filter:invert(84%) sepia(7%) saturate(116%) hue-rotate(24deg) brightness(93%) contrast(88%);
    pointer-events:none;
  }
  .menu-stroke{
    position:absolute;left:12px;width:24px;height:1.5px;border-radius:2px;
    background:currentColor;top:23px;transform-origin:center;
  }
  .menu-stroke-two{
    opacity:var(--single-line);
    transform:scaleX(var(--single-line));
  }
  .menu-stroke-one{
    opacity:var(--split-opacity);
    transform:translateY(calc(-6px * var(--split))) scaleX(calc(.84 + (.16 * var(--split))));
  }
  .menu-stroke-three{
    opacity:var(--split-opacity);
    transform:translateY(calc(6px * var(--split))) scaleX(calc(.84 + (.16 * var(--split))));
  }
  .mobile-navigation{display:flex;position:fixed;top:0;left:0;width:min(86vw,360px);height:100svh;
    background:rgba(10,12,13,.97);border-right:1px solid #44483d;z-index:29;
    padding:110px 36px 40px;flex-direction:column;gap:0;
    transform:translateX(-105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
    box-shadow:12px 0 48px #0008;visibility:hidden}
  .mobile-navigation a{font:12px monospace;letter-spacing:2px;padding:24px 0;border-bottom:1px solid #42443d;display:flex;justify-content:space-between}
  .mobile-navigation a span{font-size:9px;color:#777e78}
  body.menu-open .mobile-navigation{transform:translateX(0);visibility:visible}
  body.menu-open .mobile-menu-trigger{color:var(--acid)}
}
@media(prefers-reduced-motion:reduce){.mobile-navigation{transition:none!important}}

/* V40: mobile-only accurately cropped logo; explore sits directly underneath. */
.vizor-logo-mobile{display:none}
@media(max-width:700px){
 .glasses-cta{left:calc(5.5% + 13px);top:47%;transform:translateY(-50%);gap:12px;align-items:flex-start;text-align:left}
 .glasses-cta>.vizor-logo:not(.vizor-logo-mobile){display:none}
 .vizor-logo-mobile{display:block;width:min(32.76vw,142.8px);height:auto}
 .vizor-explore{margin-top:0;margin-left:0;align-self:center;text-align:center}
}

/* V44 scroll reliability: permit vertical pan through the sticky eyewear scene. */
html,body{overscroll-behavior-y:auto;overflow-x:clip;}
.glasses-scroll-scene,.glasses-sticky{touch-action:pan-y;}

/* V47 — tighten typography group by approximately 30%. */
.signal .section-label{margin-bottom:28px}
.signal h2{margin-bottom:29px}
.signal .statement{line-height:1.45;margin-top:0;margin-bottom:0}
.signal .return{margin-top:17px;padding:13px 0}
.signal .coordinates{margin-top:42px}

/* V55 — When navigation is open, show ONLY a yellow close X. */
@media(max-width:700px) and (orientation:portrait){
  body.menu-open .mobile-menu-trigger{
    left:24px;
    transform:none;
    color:var(--acid);
  }
  body.menu-open .mobile-menu-trigger .menu-yu-symbol,
  body.menu-open .mobile-menu-trigger .menu-stroke{display:none!important}
  body.menu-open .mobile-menu-trigger::before,
  body.menu-open .mobile-menu-trigger::after{
    content:"";position:absolute;left:12px;top:23px;
    width:24px;height:1.5px;background:var(--acid);
    border-radius:1px;transform-origin:center;
  }
  body.menu-open .mobile-menu-trigger::before{transform:rotate(45deg)}
  body.menu-open .mobile-menu-trigger::after{transform:rotate(-45deg)}
}

/* V56: finer navigation close symbol */
@media(max-width:700px) and (orientation:portrait){body.menu-open .mobile-menu-trigger::before,body.menu-open .mobile-menu-trigger::after{height:1px;}}

/* Launch phone signup, placed directly under the hero countdown. */
.phone-signup{width:min(100%,355px);margin:27px auto 0;text-align:left;position:relative;z-index:3}
.phone-signup-label{display:block;margin-bottom:11px;color:#a1a49b;font:8px monospace;letter-spacing:2.5px;text-align:center}
.phone-signup-row{display:flex;align-items:stretch;border:1px solid rgba(205,208,196,.56);min-height:42px;background:rgba(10,12,12,.28)}
.phone-signup input{min-width:0;width:100%;flex:1;border:0;outline:0;border-radius:0;background:transparent;color:#e0e3db;padding:12px 13px;font:10px monospace;letter-spacing:1.15px}
.phone-signup input::placeholder{color:#93978d;opacity:1}
.phone-signup input:focus-visible{outline:1px solid var(--acid);outline-offset:-1px}
.phone-signup button{border:0;border-left:1px solid rgba(205,208,196,.56);border-radius:0;padding:0 14px;background:transparent;color:var(--acid);font:10px monospace;letter-spacing:1.5px;cursor:pointer}
.phone-signup button:hover,.phone-signup button:focus-visible{background:rgba(244,255,0,.1)}
.phone-signup-status{min-height:1.3em;margin:7px 0 0;color:#bdc0b6;text-align:center;font:9px/1.4 monospace;letter-spacing:.4px}
@media(max-width:700px){.phone-signup{width:min(83vw,310px);margin-top:22px}.phone-signup-label{font-size:7px;letter-spacing:1.7px}.phone-signup-row{min-height:39px}.phone-signup input{font-size:9px}.phone-signup button{font-size:9px;padding:0 12px}}

/* V58: compact signup field without a caption. */
.phone-signup{width:min(100%,290px);margin-top:19px}
.phone-signup-row{min-height:36px}
.phone-signup input{padding:9px 11px;font-size:9px}
.phone-signup button{padding:0 11px;font-size:9px}
@media(max-width:700px){.phone-signup{width:min(75vw,260px);margin-top:17px}.phone-signup-row{min-height:35px}.phone-signup input{padding:8px 10px;font-size:8px}.phone-signup button{font-size:8px;padding:0 10px}}

/* V59: countdown tracks the phone signup field width exactly. */
.countdown{display:flex;align-items:center;justify-content:space-between;width:min(100%,290px);max-width:100%;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.countdown>span{display:block;flex:0 0 auto}
@media(max-width:700px){.countdown{width:min(75vw,260px)}}

/* V60 — actual countdown numeral size increased, without inflating letter-spacing. */
.countdown{font-size:19px;letter-spacing:0;}
@media(max-width:700px){.countdown{font-size:16px;letter-spacing:0;}}

/* V61: slightly smaller countdown text; shift countdown + phone signup down 20px together. */
.countdown{font-size:17px;}
.countdown-wrap{margin-top:54px;}
@media(max-width:700px){
  .countdown{font-size:14px;}
  .countdown-wrap{margin-top:46px;}
}
@media(max-width:700px) and (orientation:portrait){
  .countdown-wrap{margin-top:38px;}
}

/* V62: 20% narrower countdown, without changing text size or signup width. */
.countdown{width:min(80%,232px)}
@media(max-width:700px){.countdown{width:min(60vw,208px)}}

/* V64: Fixed left-side navigation; no upper-center Yu icon or lateral travel. */
@media(max-width:700px) and (orientation:portrait){
  .mobile-menu-trigger{left:24px;transform:none;--single-line:1;--split:0;--split-opacity:0;}
  .mobile-menu-trigger .menu-yu-symbol{display:none!important;}
  .mobile-menu-trigger .menu-stroke-two{opacity:1;transform:scaleX(1);}
  .mobile-menu-trigger .menu-stroke-one,.mobile-menu-trigger .menu-stroke-three{opacity:var(--split-opacity);}
}

/* V66: iOS Safari focuses inputs smaller than 16px by zooming the viewport.
   Keep compact dimensions, but use a 16px input font on touch/mobile. */
@media (max-width:700px){
  .phone-signup input{font-size:16px;letter-spacing:0;line-height:1.2}
}

/* V67: Restore the original compact placeholder appearance while preserving
   the 16px computed input font size that prevents iOS focus-zoom. */
@media (max-width:700px){
  .phone-signup input::placeholder{
    font-size:8px;
    letter-spacing:1.15px;
  }
}

/* Mobile HUD branding: subtle gray wordmark remains fixed during scrolling.
   The SVG's parent is already viewport-fixed; cancel only its scroll exit. */
@media (max-width:700px) and (orientation:portrait){
  .hud-mobile .mh-top-frame{
    transform:none!important;
    opacity:.19;
    filter:grayscale(1) brightness(.78);
    will-change:auto;
  }
}

/* SMS signup: compact affirmative consent and spam trap. */
.signup-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.signup-consent{display:flex;gap:7px;align-items:flex-start;margin:10px 0 0;text-align:left;color:#a8aaa4;font:9px/1.45 monospace;letter-spacing:.12px;cursor:pointer}
.signup-consent input{appearance:auto!important;-webkit-appearance:checkbox!important;width:12px!important;min-width:12px!important;height:12px!important;flex:none!important;margin:1px 0 0!important;accent-color:#f4ff00;cursor:pointer}
.signup-consent span{flex:1;min-width:0}
.phone-signup button:disabled{cursor:wait;opacity:.65}
@media(max-width:700px){.signup-consent{font-size:8px;line-height:1.4;gap:6px;margin-top:8px}.signup-consent input{width:11px!important;min-width:11px!important;height:11px!important}}

/* Mobile hero adjustment: bring the emblem, countdown and Netlify SMS form down 48px together.
   Preserves spacing between all signup elements and does not affect the fixed navigation. */
@media (max-width:700px) and (orientation:portrait) {
  .hero .center { transform:translateY(-10px) !important; }
}

/* Eyewear reveal: no VIZOR brand logo; larger and slightly higher EXPLORE CTA. */
.glasses-cta { top: 46.8%; }
.vizor-explore { font-size: 10.8px; letter-spacing: 2.88px; }
@media (min-width:1100px) { .glasses-cta { top:48.2%; } }
@media (max-width:700px) {
  .glasses-cta { top:43%; }
  .vizor-explore { font-size:9.6px; letter-spacing:2.4px; align-self:center; }
}

/* Explore click: small lock above CTA, no layout shift */
.glasses-cta{position:absolute}
.explore-lock{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,5px);color:#d6d6ce;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease;display:flex;align-items:center;justify-content:center}
.glasses-cta.explore-activated .explore-lock{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:700px){
 .glasses-cta{left:calc(5.5% + 18px)!important;top:calc(43% + 5px)!important}
}

/* Footer signature at the end of the eyewear scroll scene, below the final glasses. */
.glasses-scroll-scene > .eyewear-cue{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);z-index:5}
@media(max-width:700px){.glasses-scroll-scene > .eyewear-cue{bottom:84px}}

/* Second line of the home scroll-scene footer, beneath its existing signature. */
.eyewear-cue .homepage-legal-entity{display:block;text-align:center;margin-top:11px;font-size:8px;letter-spacing:2px;color:#8a8c88;opacity:.65}
@media(max-width:700px){.eyewear-cue .homepage-legal-entity{font-size:7px;letter-spacing:1.5px}}

/* Legal links in the optional SMS opt-in disclosure. */
.signup-consent a { color:#c6c8bf; text-decoration:underline; text-underline-offset:2px; }
.signup-consent a:hover, .signup-consent a:focus-visible { color:#f4ff00; }
.signup-consent a:focus-visible { outline:1px solid #f4ff00; outline-offset:2px; }
