@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#050817;--navy2:#080f28;--blue:#70c4ff;--ice:#d9edff;--violet:#9d78ff;--pink:#bd8cff;--white:#f5f8ff;--muted:#a6b5d0;--line:rgba(164,195,255,.17);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:"DM Sans",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.aurora{position:fixed;z-index:-3;pointer-events:none;filter:blur(90px);opacity:.2;border-radius:50%}.a1{width:600px;height:600px;top:0;right:-200px;background:#154ed1}.a2{width:550px;height:550px;top:1250px;left:-250px;background:#692fc0}.grain{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.header{height:84px;max-width:var(--max);margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(5,8,23,.45);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font:800 17px Manrope;letter-spacing:.19em}.brand img{width:48px;height:48px;object-fit:contain}.header nav{display:flex;align-items:center;gap:34px;color:#c0cce1;font-size:12px}.header nav a:not(.navbutton):hover{color:var(--ice)}.navbutton{padding:13px 17px;border:1px solid rgba(138,192,255,.45);background:linear-gradient(100deg,rgba(59,132,255,.13),rgba(147,90,255,.12));box-shadow:0 0 24px rgba(69,130,255,.09)}.navbutton b{margin-left:12px;color:var(--ice)}.menu{display:none}
.hero{min-height:760px;max-width:var(--max);margin:auto;padding:85px 36px 80px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}.hero-copy{position:relative;z-index:2;padding-bottom:25px}.kicker,.overline{font-size:10px;letter-spacing:.2em;color:#9ecbff;text-transform:uppercase}.kicker{display:flex;align-items:center;gap:12px;margin-bottom:27px}.pulse,.dot{width:6px;height:6px;border-radius:50%;background:#9bd8ff;box-shadow:0 0 15px #5bb7ff}.hero h1{font:500 clamp(54px,6.4vw,88px)/1.06 Manrope;letter-spacing:-.065em;margin:0}.hero h1 em,h2 em{font-style:normal;background:linear-gradient(100deg,#e2f3ff 5%,#83caff 45%,#bd9aff 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 25px rgba(87,151,255,.13))}.hero-intro{font:500 19px/1.6 Manrope;color:#d8e7ff;max-width:500px;margin:27px 0 12px}.hero-sub{font-size:14px;line-height:1.9;color:#9eacc8;max-width:480px;margin:0}.actions{display:flex;align-items:center;gap:27px;margin-top:31px;flex-wrap:wrap}.primary{display:inline-flex;align-items:center;gap:24px;padding:16px 21px;color:#071126;font-weight:700;font-size:12px;background:linear-gradient(105deg,#c9e8ff,#8ec8ff 48%,#b79aff);box-shadow:0 7px 32px rgba(83,145,255,.23);transition:.25s}.primary:hover{transform:translateY(-3px);box-shadow:0 12px 38px rgba(110,147,255,.35)}.primary span{font-size:16px}.secondary{font-size:12px;color:#d3e5ff}.secondary span{color:#a8d8ff;margin-left:8px}.mantra{display:flex;align-items:center;gap:12px;color:#849cc2;font-size:9px;letter-spacing:.23em;margin-top:67px}.mantra span{width:29px;height:1px;background:linear-gradient(90deg,var(--blue),var(--violet))}
.hero-visual{height:620px;position:relative;display:grid;place-items:center;isolation:isolate;padding-bottom:42px}.orb-aura{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(54,148,255,.32),rgba(107,67,213,.22) 35%,rgba(22,54,124,.12) 55%,transparent 72%);filter:blur(24px);animation:aura 8s ease-in-out infinite}.orb-wrap{width:min(100%,540px);aspect-ratio:1;display:grid;place-items:center;position:relative;z-index:2;perspective:1100px;transform-style:preserve-3d}.orbit{position:absolute;width:96%;height:36%;border:1px solid rgba(111,180,255,.24);border-radius:50%;z-index:1;box-shadow:0 0 24px rgba(83,143,255,.08)}.orbit1{transform:rotate(-28deg)}.orbit2{transform:rotate(32deg);border-color:rgba(180,130,255,.22)}.light-streak{position:absolute;width:115%;height:1px;background:linear-gradient(90deg,transparent,rgba(91,180,255,.8),rgba(178,133,255,.6),transparent);filter:blur(1px);z-index:3}.streak1{transform:rotate(-17deg);top:45%}.streak2{transform:rotate(19deg);top:57%;opacity:.6}.visual-caption{position:absolute;bottom:0;display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.22em;color:#87a6d3}.scroll-cue{position:absolute;bottom:24px;left:36px;font-size:9px;letter-spacing:.2em;color:#63799d}.scroll-cue span{margin-left:10px;color:#b7dfff}
.manifesto{padding:115px max(36px,calc((100vw - var(--max))/2 + 36px));border-top:1px solid var(--line);background:linear-gradient(110deg,rgba(9,20,49,.82),rgba(5,8,23,.7))}.section-label{font-size:10px;letter-spacing:.19em;color:#86a8d6;margin-bottom:53px}.manifesto-grid{display:grid;grid-template-columns:1fr .86fr;gap:10%;align-items:start}.overline{font-size:9px;color:#8db9f1}.manifesto h2,.explore h2,.app-copy h2{font:500 clamp(43px,5vw,67px)/1.12 Manrope;letter-spacing:-.055em;margin:22px 0}.manifesto-text{max-width:480px}.large{font:500 22px/1.5 Manrope;color:#e1efff;margin:0 0 22px}.manifesto-text p:not(.large){font-size:14px;line-height:1.95;color:#a4b4ce}.accent-line{color:#b9d9ff!important;border-left:2px solid #9878f2;padding-left:16px;margin-top:27px}
.big-question{min-height:520px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:75px max(36px,calc((100vw - var(--max))/2 + 36px));background:radial-gradient(ellipse at 25% 50%,rgba(30,99,205,.27),transparent 53%),linear-gradient(110deg,#07122d,#090b20)}.question-orb{position:relative;display:grid;place-items:center}.question-orb:before{content:"";position:absolute;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(59,137,255,.3),rgba(129,70,221,.16) 45%,transparent 70%);filter:blur(22px)}.question-orb img{width:min(100%,420px);position:relative;filter:drop-shadow(0 0 35px rgba(83,155,255,.25))}.question-content{max-width:500px;position:relative;z-index:2}.question-content h2{font:500 clamp(45px,5.3vw,70px)/1.1 Manrope;letter-spacing:-.06em;margin:22px 0}.question-content p{font-size:14px;line-height:1.9;color:#a6b8d4;max-width:450px}.question-number{position:absolute;right:36px;bottom:24px;font-size:10px;color:#647da6;letter-spacing:.2em}
.explore{max-width:var(--max);margin:auto;padding:115px 36px}.explore-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:47px}.explore h2{margin:0}.explore-head>p{max-width:390px;color:#a4b3cc;font-size:14px;line-height:1.9;margin:0 0 6px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{min-height:340px;padding:27px;position:relative;overflow:hidden;border:1px solid rgba(151,189,245,.2);background:linear-gradient(145deg,rgba(17,38,81,.85),rgba(7,13,32,.94));transition:.3s}.card:hover{transform:translateY(-6px);border-color:rgba(150,198,255,.55)}.c2{background:linear-gradient(145deg,rgba(41,28,87,.83),rgba(7,13,32,.95))}.c3{background:linear-gradient(145deg,rgba(19,45,83,.83),rgba(7,13,32,.95))}.card-no{position:absolute;right:25px;top:28px;color:#7189b1;font-size:10px;letter-spacing:.15em}.card-orb{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;margin-bottom:25px;background:radial-gradient(circle at 35% 30%,rgba(194,229,255,.7),rgba(67,156,255,.35) 25%,rgba(115,69,214,.2) 55%,transparent 72%);box-shadow:inset 0 0 25px rgba(155,201,255,.2),0 0 35px rgba(76,139,255,.16);border:1px solid rgba(169,212,255,.25)}.card-orb span{font-size:47px;color:#d6eaff;text-shadow:0 0 18px #65b7ff}.c2 .card-orb{background:radial-gradient(circle,rgba(187,156,255,.6),rgba(113,70,206,.23) 50%,transparent 72%)}.c3 .card-orb{background:radial-gradient(circle,rgba(180,230,255,.55),rgba(55,129,229,.22) 50%,transparent 72%)}.card h3{font:600 21px Manrope;margin:0 0 12px}.card p{font-size:13px;line-height:1.85;color:#a2b2ce;max-width:290px}.card-foot{position:absolute;left:27px;right:27px;bottom:22px;padding-top:16px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.2em;color:#9dbce5}.card-foot b{float:right;color:#c4e3ff;font-size:15px}
.app-section{padding:105px max(36px,calc((100vw - var(--max))/2 + 36px));display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line);background:radial-gradient(ellipse at 22% 50%,rgba(31,77,167,.18),transparent 48%)}.app-art{height:470px;display:grid;place-items:center;position:relative}.app-ring{position:absolute;width:360px;height:360px;border:1px solid rgba(123,179,255,.28);border-radius:50%;box-shadow:0 0 70px rgba(57,128,237,.15),inset 0 0 70px rgba(75,100,222,.1)}.app-orb{width:min(100%,410px);position:relative;z-index:2;filter:drop-shadow(0 0 35px rgba(68,150,255,.25))}.app-glow{position:absolute;width:80%;height:35%;border-radius:50%;background:rgba(87,84,217,.17);filter:blur(60px);bottom:8%}.app-copy .section-label{margin-bottom:30px}.app-copy h2{margin:18px 0}.app-copy p{font-size:14px;line-height:1.9;color:#a6b6d0;max-width:470px}.app-copy .primary{margin-top:15px}.app-copy small{display:block;color:#758bac;font-size:10px;margin-top:20px}
.finale{position:relative;overflow:hidden;text-align:center;padding:105px 22px 115px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 0,rgba(34,90,190,.22),transparent 60%)}.finale-glow{position:absolute;top:-190px;left:50%;transform:translateX(-50%);width:600px;height:400px;border-radius:50%;background:rgba(99,72,205,.16);filter:blur(80px)}.finale-orb{position:relative;width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(89,154,255,.27))}.finale h2{font:500 clamp(43px,5.2vw,70px)/1.12 Manrope;letter-spacing:-.06em;margin:20px 0 25px}.finale-mantra{font-size:9px;letter-spacing:.25em;color:#9bbde9;margin-bottom:28px}
footer{max-width:var(--max);margin:auto;padding:30px 36px 35px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px}footer .footer-brand{font:800 15px Manrope;letter-spacing:.2em}footer>span{font-size:8px;letter-spacing:.19em;color:#7f94b8}footer div{display:flex;gap:22px;margin-left:auto;font-size:10px;color:#a9b9d1}footer small{font-size:9px;color:#6d80a2;margin-left:20px}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}@keyframes aura{0%,100%{transform:scale(.94);opacity:.8}50%{transform:scale(1.07);opacity:1}}
@media(max-width:900px){.hero{grid-template-columns:1fr .9fr}.hero h1{font-size:clamp(52px,7vw,70px)}.hero-visual{height:480px}.manifesto-grid{gap:6%}.app-ring{width:300px;height:300px}}
@media(max-width:680px){.header{height:70px;padding:0 20px}.brand img{width:41px;height:41px}.menu{display:flex;flex-direction:column;gap:6px;background:none;border:1px solid var(--line);padding:12px}.menu i{width:18px;height:1px;background:#d8eaff}.header nav{display:none;position:absolute;top:69px;left:0;right:0;background:#080f28;padding:17px 22px 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid var(--line)}.header nav .navbutton{margin-top:12px;padding:14px;text-align:center}.hero{display:flex;flex-direction:column;padding:60px 22px 68px;min-height:0}.hero h1{font-size:clamp(49px,12.5vw,66px)}.hero-intro{font-size:17px}.hero-sub{font-size:13px}.mantra{margin-top:36px}.hero-visual{height:auto;min-height:340px;width:100%;margin-top:8px}.orb-wrap{width:min(100%,390px)}.orbit{width:105%}.scroll-cue{left:22px;bottom:17px}.manifesto{padding:78px 22px}.section-label{margin-bottom:35px}.manifesto-grid{grid-template-columns:1fr;gap:23px}.manifesto h2,.explore h2,.app-copy h2{font-size:clamp(42px,10vw,55px)}.large{font-size:19px}.big-question{grid-template-columns:1fr;padding:65px 22px 80px}.question-orb{order:2;margin-top:20px}.question-orb img{width:min(100%,330px)}.question-content h2{font-size:51px}.explore{padding:78px 22px}.explore-head{display:block}.explore-head>p{margin-top:20px}.cards{grid-template-columns:1fr}.card{min-height:300px}.app-section{padding:75px 22px;grid-template-columns:1fr;gap:15px}.app-copy{order:1}.app-art{order:2;height:330px}.app-ring{width:260px;height:260px}.app-orb{width:min(100%,330px)}.finale{padding:80px 20px 90px}.finale h2{font-size:clamp(42px,10vw,55px)}footer{padding:25px 22px;flex-wrap:wrap;gap:12px}footer>span{width:100%;order:2}footer div{margin-left:auto;gap:14px}footer small{width:100%;margin:0;order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


.privacy-section{padding:112px max(36px,calc((100vw - var(--max))/2 + 36px));position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 22%,rgba(91,76,202,.2),transparent 42%),linear-gradient(125deg,#08152e,#090b20 65%,#10102b);border-top:1px solid var(--line)}
.privacy-heading,.capability-head{display:grid;grid-template-columns:1fr .8fr;gap:9%;align-items:end;margin-bottom:42px}.privacy-heading h2,.capability-head h2,.release-section h2{font:500 clamp(44px,5vw,68px)/1.1 Manrope;letter-spacing:-.06em;margin:18px 0 0}.privacy-lead,.capability-head>p{font-size:15px;line-height:1.9;color:#b0c0db;max-width:480px;margin:0 0 5px}.privacy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.privacy-card{min-height:235px;padding:25px 22px;border:1px solid rgba(151,189,245,.22);background:linear-gradient(145deg,rgba(21,46,94,.72),rgba(7,13,32,.88));position:relative;overflow:hidden}.privacy-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-85px;top:-85px;background:radial-gradient(circle,rgba(95,157,255,.22),rgba(142,92,255,.08) 50%,transparent 72%)}.privacy-symbol{font-size:29px;color:#b9dcff;text-shadow:0 0 20px rgba(99,173,255,.6)}.privacy-card h3{font:600 18px Manrope;margin:24px 0 10px}.privacy-card p{font-size:12px;line-height:1.8;color:#a8b9d4;margin:0}.privacy-note{max-width:900px;margin:27px 0 0;padding:17px 20px;border-left:2px solid #9b80ff;background:rgba(109,94,199,.1);font-size:12px;line-height:1.85;color:#c1cce0}.privacy-note strong{color:#e5efff}
.capabilities{padding:110px max(36px,calc((100vw - var(--max))/2 + 36px));background:linear-gradient(110deg,rgba(8,20,47,.92),rgba(5,8,23,.8));border-top:1px solid var(--line)}.capability-head{margin-bottom:34px}.capability-list{border-top:1px solid var(--line)}.capability-list>div{display:grid;grid-template-columns:70px 1fr 30px;gap:18px;align-items:center;padding:23px 5px;border-bottom:1px solid var(--line)}.capability-list>div>span{font-size:11px;letter-spacing:.15em;color:#8db9f1}.capability-list h3{font:600 20px Manrope;margin:0 0 6px}.capability-list p{font-size:13px;line-height:1.7;color:#a6b6d0;margin:0}.capability-list b{color:#b9d9ff;font-size:18px}.capability-footnote{font-size:11px;line-height:1.8;color:#8195b7;margin-top:20px}
.release-section{position:relative;overflow:hidden;text-align:center;padding:100px 24px 105px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 0,rgba(43,104,218,.24),transparent 55%),linear-gradient(120deg,#07132c,#0b0a22)}.release-glow{position:absolute;width:520px;height:280px;left:50%;top:-170px;transform:translateX(-50%);background:rgba(115,76,225,.2);filter:blur(75px);border-radius:50%}.release-section>*:not(.release-glow){position:relative}.release-section h2{margin:17px 0}.release-section>p{max-width:720px;margin:20px auto 25px;color:#afbed8;font-size:14px;line-height:1.9}.release-section>p strong{color:#e5f2ff}.release-status{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(143,185,255,.28);background:rgba(17,35,77,.55);padding:13px 17px;font-size:9px;letter-spacing:.16em;color:#c5dcfa}.status-dot{width:7px;height:7px;border-radius:50%;background:#8dd6ff;box-shadow:0 0 12px #65baff}.status-divider{color:#6e83a8}.release-section>.secondary{display:block;margin-top:24px;color:#c7d8f0;font-size:11px}.release-section>.secondary span{color:#9ed5ff}
@media(max-width:900px){.privacy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.privacy-section,.capabilities{padding:78px 22px}.privacy-heading,.capability-head{grid-template-columns:1fr;gap:20px}.privacy-grid{grid-template-columns:1fr}.privacy-card{min-height:190px}.capability-list>div{grid-template-columns:38px 1fr 20px;gap:10px;padding:20px 0}.capability-list h3{font-size:18px}.release-section{padding:78px 22px 85px}.release-status{flex-wrap:wrap;justify-content:center;line-height:1.7}.release-section h2{font-size:clamp(42px,10vw,55px)}}

/* WISP-19 design review — legibility pass 2.
   Preserve approved composition, sphere artwork, palette, motion and section order. */
.header nav { font-size: 14px; }
.kicker, .overline, .section-label { font-size: 12px; }
.mantra, .visual-caption, .scroll-cue { font-size: 11px; }
.primary, .secondary { font-size: 14px; }
.hero-sub,.manifesto-text p:not(.large),.question-content p,.explore-head > p,.app-copy p,.release-section > p { font-size:16px; line-height:1.85; }
.card p,.privacy-card p,.capability-list p { font-size:15px; line-height:1.85; }
.privacy-lead,.capability-head > p { font-size:16px; line-height:1.85; }
.privacy-card h3 { font-size:19px; }
.privacy-card { padding:27px 24px; }
.privacy-grid { gap:16px; }
.privacy-note { font-size:15px; line-height:1.85; padding:19px 22px; }
.capability-footnote { font-size:14px; line-height:1.85; }
.card-foot { font-size:11px; }
.app-copy small { font-size:12px; }
.release-status { font-size:12px; }
.release-section > .secondary { font-size:14px; }
footer > span { font-size:11px; }
footer div { font-size:12px; }
footer small { font-size:11px; }
@media (max-width:680px) {
 .header nav { font-size:16px; }
 .kicker,.overline,.section-label { font-size:12px; }
 .hero-intro { font-size:18px; line-height:1.65; }
 .hero-sub,.manifesto-text p:not(.large),.question-content p,.explore-head > p,.app-copy p,.release-section > p { font-size:16px; line-height:1.8; }
 .card p,.privacy-card p,.capability-list p { font-size:15px; line-height:1.8; }
 .privacy-lead,.capability-head > p,.privacy-note,.capability-footnote { font-size:15px; line-height:1.8; }
 .privacy-card { padding:25px 22px; }
 .privacy-card h3,.capability-list h3 { font-size:19px; }
 .capability-list > div > span { font-size:12px; }
 .card-foot { font-size:11px; }
 footer div { font-size:12px; }
 footer small { font-size:11px; }
}



/* WISP-19 security-familiarity backdrop: restrained hexagonal field.
   Decorative only; the approved sphere artwork and section composition remain unchanged. */
section {
  position: relative;
  isolation: isolate;
}
section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: url("assets/security-hex-pattern.svg");
  background-repeat: repeat;
  background-size: 1200px 800px;
  opacity: .30;
  mix-blend-mode: screen;
}
@media (max-width: 680px) {
  section::before {
    background-size: 760px 507px;
    opacity: .22;
  }
}


/* Homepage sphere: interactive directional momentum, isolated to the hero. */
.hero-visual .visual-caption {
  z-index: 4;
  bottom: 2px;
  white-space: nowrap;
  pointer-events: none;
}
.hero-visual .orb-wrap:focus-visible {
  outline: 1px solid rgba(137,196,255,.7);
  outline-offset: 12px;
  border-radius: 50%;
}
.hero-visual .orb-wrap.is-dragging { cursor: grabbing; }
.hero-visual .orb-wrap.is-dragging .orb { animation-play-state: paused; }
.hero-visual .orb-wrap.is-moving .orb-aura { opacity: .95; }
@media (max-width: 900px) {
  .hero-visual { height: 500px; padding-bottom: 34px; }
  
}
@media (max-width: 680px) {
  .hero-visual { height: 390px; padding-bottom: 30px; }
  
  .hero-visual .visual-caption { bottom: 0; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  
}


/* Homepage signature sphere: slow multi-axis revolution while remaining centred.
   This is a layered CSS depth illusion using the approved 2D sphere artwork. */

@media (prefers-reduced-motion: reduce) {
  .hero-visual .orb { animation: none; }
}


/* True WebGL globe: actual sphere mesh, glass lighting and rotating surface ribbons. */
.hero-visual .wisp-globe-wrap {
  width: min(100%, 610px);
  aspect-ratio: 1;
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  perspective: 1100px;
}
.hero-visual .wisp-globe {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 0 35px rgba(58,145,255,.30)) drop-shadow(0 20px 60px rgba(116,66,225,.25));
}
@media (max-width: 900px) {
  .hero-visual .wisp-globe-wrap { width: min(100%, 430px); }
}
@media (max-width: 680px) {
  .hero-visual .wisp-globe-wrap { width: min(88vw, 340px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual .wisp-globe { filter: drop-shadow(0 0 24px rgba(58,145,255,.22)); }
}
