/* The homepage gives product screenshots priority over oversized copy. */
.home-main{padding-top:72px;background:#080e18}.home-main h1,.home-main h2,.home-main h3{letter-spacing:0;overflow-wrap:anywhere}.home-hero,.home-section{max-width:1280px;margin-inline:auto;padding:72px 40px}.home-hero{display:grid;grid-template-columns:.83fr 1.17fr;gap:48px;align-items:center;min-height:600px;padding-top:86px;padding-bottom:84px}.home-pitch{position:relative;z-index:2}.home-badge{display:inline-flex;align-items:center;gap:8px;color:#8cccff;font-size:12px;line-height:1.6;font-weight:650;margin:0 0 22px}.home-badge::before{content:'';height:6px;width:6px;flex-shrink:0;border-radius:50%;background:#62c8ff;box-shadow:0 0 13px #42a8ff88}.home-main h1{font-size:clamp(32px,3.2vw,46px);line-height:1.24;font-weight:720;margin:0 0 22px;text-wrap:balance;max-width:550px}.home-lead{font-size:16px;line-height:1.8;color:#adbed4;max-width:460px;margin:0 0 28px}.home-pitch .hero-actions{margin:0;display:flex;flex-wrap:wrap;gap:10px}.home-pitch .button{min-height:44px;padding:12px 20px;font-size:13px;border-radius:8px}.home-platforms{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:22px}.home-platforms a{font-size:11px;color:#8da8c7}.home-platforms a:hover{color:#d6edff}.home-product{position:relative;margin:0;min-width:0;padding:20px 44px 35px 0}.home-desktop-frame{background:#111c2c;border:1px solid #3d5b7d;border-radius:12px;overflow:hidden;box-shadow:0 28px 65px #0005}.home-desktop-frame img{display:block;width:100%;height:auto}.home-window-bar{height:27px;display:flex;align-items:center;gap:5px;padding-inline:11px;border-bottom:1px solid #2a3f59}.home-window-bar i{height:5px;width:5px;border-radius:50%;background:#51708e}.home-window-bar span{margin:auto;color:#8da7c3;font-size:9px;padding-inline-end:25px}.home-phone{position:absolute;inset-inline-end:0;bottom:26px;width:22%;max-width:136px;height:auto;border:3px solid #304964;border-radius:17px;box-shadow:0 20px 45px #0008;background:#142137}.home-product figcaption{color:#7893b0;font-size:10px;line-height:1.6;margin-top:14px}.home-feature-section{border-top:1px solid #203148}.home-section-heading{max-width:760px;margin:0 0 30px}.home-kicker{font:11px ui-monospace,monospace;color:#579bdf}.home-main h2{font-size:28px;line-height:1.35;font-weight:660;margin:13px 0 10px;text-wrap:balance}.home-section-heading>p{font-size:14px;line-height:1.8;color:#96adc7;margin:0}.home-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.home-feature{overflow:hidden;border:1px solid #2c4665;border-radius:14px;background:#101d2e;min-width:0}.home-feature-copy{padding:28px 28px 22px;min-height:265px}.home-feature-number{color:#75baff;font:12px ui-monospace,monospace}.home-main h3{font-size:23px;line-height:1.35;font-weight:650;margin:15px 0 12px}.home-feature-copy>p{font-size:14px;color:#b3c5dc;line-height:1.8;margin:0 0 14px;max-width:480px}.home-feature-copy>p.home-steps{font-size:11px;color:#7da6d3}.home-more{font-size:12px;color:#8dcbff}.home-more:hover{text-decoration:underline}.home-feature-preview{display:block;margin:0 22px 22px;overflow:hidden;border:1px solid #2a4565;border-radius:8px}.home-feature-preview img{display:block;width:100%;height:auto}.home-free-note{font-size:11px;color:#839bb8;line-height:1.7;margin:18px 0 0}.home-devices{padding-top:36px}.home-platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-platform-grid>a{position:relative;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:21px;background:#101b2b;border:1px solid #263f5d;border-radius:10px;min-width:0;transition:background .18s,border-color .18s}.home-platform-grid>a:hover{background:#172b43;border-color:#589fe5}.home-platform-symbol{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#1b3351;color:#8ecaff;font-size:11px;font-weight:700}.home-platform-grid strong{font-size:15px;color:#e0ecfc;padding-inline-end:16px}.home-platform-grid small{font-size:11px;color:#8ba7c9;margin-top:6px;line-height:1.6}.home-platform-grid b{position:absolute;inset-inline-end:16px;top:20px;color:#6da9e0;font-weight:400}.home-protocols{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #203148;padding-top:24px;margin-top:30px}.home-protocols>span{font-size:12px;color:#adcaeb}.home-protocols p{font-size:11px;line-height:1.8;color:#708eaf;margin:0}.home-download{padding-top:35px}.home-download .download-row{padding-block:20px}.home-download .download-name h3{font-size:17px;margin:0 0 5px}.home-download .download-name p{font-size:12px}.home-download .download-action{min-height:40px;font-size:12px}.home-download .release-version{font-size:12px}.home-page footer{border-top:1px solid #203148}.home-page .brand{font-size:20px}.home-page footer>p{font-size:11px}.home-page .footer-main>p{font-size:13px}
@media(max-width:980px){.home-main{padding-top:68px}.home-hero,.home-section{padding-inline:28px}.home-hero{gap:25px;min-height:520px;padding-top:55px;padding-bottom:55px}.home-main h1{font-size:35px}.home-lead{font-size:14px}.home-pitch .button{padding:11px 16px}.home-product{padding-inline-end:26px}.home-feature-copy{padding:24px 23px 20px;min-height:280px}.home-main h3{font-size:21px}.home-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-hero{grid-template-columns:1fr;padding-top:45px;gap:30px}.home-main h1{font-size:36px;max-width:550px}.home-lead{font-size:15px;max-width:580px}.home-product{max-width:580px;width:100%;justify-self:center;padding-inline-end:38px}.home-phone{width:21%;max-width:110px;border-radius:14px}.home-section{padding-top:45px;padding-bottom:45px}.home-main h2{font-size:25px}.home-features{grid-template-columns:1fr;gap:18px}.home-feature-copy{min-height:0}.home-feature-preview{margin:0 20px 20px}.home-platform-grid>a{padding:16px;column-gap:10px}.home-platform-grid small{font-size:10px}.home-protocols{gap:12px}.home-product figcaption{max-width:80%}.home-platforms{gap:10px 16px}}
@media(max-width:420px){.home-hero,.home-section{padding-inline:20px}.home-main h1{font-size:31px}.home-badge{font-size:11px;margin-bottom:18px}.home-pitch .button{font-size:12px}.home-main h2{font-size:23px}.home-main h3{font-size:20px}.home-platform-grid{gap:10px}.home-platform-grid>a{grid-template-columns:1fr;padding:17px 13px;gap:9px}.home-platform-symbol{grid-row:auto;width:32px;height:32px;border-radius:8px}.home-platform-grid strong{font-size:14px}.home-platform-grid small{margin-top:0}.home-platform-grid b{top:17px;inset-inline-end:13px}}
@media(prefers-reduced-motion:reduce){.home-platform-grid>a{transition:none}}

/* Campaign artwork and Why Wisp share the opening banner. */
.campaign-banner{max-width:1280px;margin:auto;padding:30px 40px 60px;scroll-margin-top:70px}.campaign-stage{--campaign-accent:#6cbfff;position:relative;isolation:isolate;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;min-height:490px;background:#0b182b;border:1px solid #244663;border-radius:22px;overflow:hidden;padding:45px 50px 70px;transition:background .7s,border-color .7s}.campaign-stage[data-campaign="1"]{--campaign-accent:#67e0ef;background:#0b1b2a;border-color:#24556a}.campaign-stage[data-campaign="2"]{--campaign-accent:#aaa5ff;background:#121930;border-color:#484777}.campaign-wash{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 83% 40%,#2c68c733 0,transparent 58%),linear-gradient(135deg,#0d233c44,transparent 55%)}.campaign-copy{position:relative;z-index:2;min-width:0}.campaign-badge{display:flex;align-items:center;gap:8px;color:#a2d7ff;font-size:11px;font-weight:500;line-height:1.6;margin:0 0 23px}.campaign-badge>span{width:5px;height:5px;background:var(--campaign-accent);border-radius:50%;box-shadow:0 0 13px var(--campaign-accent);flex-shrink:0}.campaign-badge b{font-weight:500}.campaign-message{min-height:188px}.home-main .campaign-message h1{font-size:clamp(32px,3.35vw,46px);line-height:1.28;max-width:560px;margin:0 0 20px;text-wrap:balance;overflow-wrap:normal}.campaign-lead{font-size:15px;line-height:1.8;color:#aac2dd;max-width:460px;margin:0}.campaign-copy .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}.campaign-copy .button{font-size:12px;padding:12px 20px;min-height:43px;border-radius:8px}.campaign-signature{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px;line-height:1.7;margin:25px 0 0;color:#d5e9ff}.campaign-signature span{font-size:9px;color:#718eb0}.campaign-art{position:relative;min-width:0;aspect-ratio:1.23;pointer-events:none}.campaign-globe{position:relative;width:116%;height:auto;max-width:none;inset-inline-start:-8%;overflow:visible}.campaign-aura{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--campaign-accent) 24%,transparent),transparent 69%);filter:blur(13px);animation:campaign-breathe 7s ease-in-out infinite}.campaign-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;animation:campaign-float 7s ease-in-out infinite}.campaign-brand img{width:80px;height:80px;border-radius:21px;box-shadow:0 0 35px #76c8ff45,0 0 95px #378cff38;border:1px solid #8acbff44}.campaign-brand>span{font-size:23px;font-weight:650;color:#edf8ff;letter-spacing:.03em}.campaign-latitude{transform-origin:260px 210px;animation:campaign-globe-turn 24s ease-in-out infinite alternate}.campaign-ray{stroke-dasharray:36 850;stroke-dashoffset:800;animation:campaign-light 6.8s linear infinite}.ray-two{animation-delay:-3s;animation-duration:8.5s}.campaign-star{transform-box:fill-box;transform-origin:center;animation:campaign-twinkle 4s ease-in-out infinite}.star-two{animation-delay:-1s}.star-three{animation-delay:-2s}.star-four{animation-delay:-3s}.campaign-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--campaign-accent);box-shadow:0 0 18px 3px #81d1ff88;animation:campaign-spark 6s ease-in-out infinite}.spark-one{inset-inline-start:15%;top:24%}.spark-two{inset-inline-end:10%;bottom:21%;animation-delay:-3s}.campaign-controls{position:absolute;bottom:24px;inset-inline-end:30px;display:flex;gap:7px;align-items:center;z-index:3}.campaign-controls button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #3a6b97;border-radius:50%;color:#b9e2ff;background:#0b192a;font-size:21px;line-height:1;cursor:pointer}.campaign-controls button:hover{background:#1b3652;border-color:#80c6ff}.campaign-controls [data-campaign-pause]{font-size:11px}.campaign-count{font:10px ui-monospace,monospace;color:#6c8fb6;margin-inline-start:8px;direction:ltr}.campaign-count b{color:#c5e7ff;font-weight:500}.campaign-reasons{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px;padding:24px 4px 0}.campaign-reasons>span{font-size:12px;line-height:1.7;color:#94b3d7}.campaign-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.campaign-tabs button{position:relative;display:flex;align-items:center;gap:12px;min-width:0;background:transparent;border:0;border-top:2px solid #243d59;padding:13px 0 5px;text-align:start;cursor:pointer;color:#7694b7;font-size:12px;line-height:1.5;overflow:hidden}.campaign-tabs button b{font:10px ui-monospace,monospace;color:#4f7399;align-self:flex-start;padding-top:4px;flex-shrink:0}.campaign-tabs button span{overflow-wrap:anywhere}.campaign-tabs button.active{color:#d3edff}.campaign-tabs button.active::before{content:'';position:absolute;top:0;inset-inline-start:0;height:2px;background:#71c3ff;box-shadow:0 0 12px #7bccff99;width:100%;transform:scaleX(0);transform-origin:left;animation:campaign-progress 7.2s linear forwards}.campaign-banner.is-paused .campaign-tabs button.active::before{animation-play-state:paused}.campaign-tabs button:hover{color:#d3edff}.campaign-banner.is-paused .campaign-art *{animation-play-state:paused}html[dir=rtl] .campaign-tabs button.active::before{transform-origin:right}html[dir=rtl] .campaign-controls>button:not([data-campaign-pause]){transform:scaleX(-1)}.home-main .home-devices{padding-top:36px}
@keyframes campaign-progress{to{transform:scaleX(1)}}@keyframes campaign-breathe{50%{opacity:.6;transform:scale(1.14)}}@keyframes campaign-float{50%{transform:translateY(-8px)}}@keyframes campaign-light{to{stroke-dashoffset:-850}}@keyframes campaign-twinkle{50%{opacity:.35;transform:scale(.65)}}@keyframes campaign-globe-turn{to{transform:rotate(9deg)}}@keyframes campaign-spark{50%{opacity:.25;transform:translate(15px,-16px)}}
@media(min-width:1150px){.campaign-stage{min-height:500px}.campaign-message{min-height:190px}}
@media(max-width:980px){.campaign-banner{padding:22px 28px 44px}.campaign-stage{padding:34px 30px 67px;min-height:475px;grid-template-columns:1.12fr .88fr}.home-main .campaign-message h1{font-size:35px}.campaign-message{min-height:196px}.campaign-lead{font-size:14px}.campaign-art{margin-inline-end:-35px}.campaign-reasons{grid-template-columns:145px 1fr;gap:18px}.campaign-tabs{gap:13px}.campaign-tabs button{gap:8px;font-size:11px}}
@media(max-width:700px){.campaign-banner{padding:15px 20px 28px}.campaign-stage{grid-template-columns:1fr;padding:30px 25px 45px;min-height:0;border-radius:17px}.campaign-copy .hero-actions{margin-top:18px}.campaign-badge{margin-bottom:18px;font-size:10px}.home-main .campaign-message h1{font-size:32px;max-width:520px;margin-bottom:15px;line-height:1.3}.campaign-message{min-height:150px}.campaign-lead{font-size:13px;line-height:1.7}.campaign-signature{display:none}.campaign-art{height:210px;max-width:300px;width:100%;justify-self:center;margin:7px 0 6px;aspect-ratio:auto}.campaign-globe{height:100%;width:100%;inset-inline-start:0}.campaign-brand{gap:8px}.campaign-brand img{width:56px;height:56px;border-radius:15px}.campaign-brand>span{font-size:18px}.campaign-aura{inset:10% 22%}.campaign-controls{bottom:15px;inset-inline-end:20px}.campaign-controls button{width:28px;height:28px}.campaign-count{font-size:9px}.campaign-reasons{grid-template-columns:1fr;gap:11px;padding-top:18px}.campaign-reasons>span{font-size:11px}.campaign-tabs button{font-size:11px;gap:6px;align-items:flex-start;min-height:56px}.campaign-tabs button b{font-size:9px;padding-top:3px}.campaign-tabs{gap:12px}.home-main .home-devices{padding-top:25px}}
@media(max-width:380px){.campaign-banner{padding-inline:15px}.campaign-stage{padding:25px 19px 42px}.home-main .campaign-message h1{font-size:28px}.campaign-copy .button{font-size:11px;padding:11px 15px}.campaign-message{min-height:158px}.campaign-art{height:190px}.campaign-reasons{gap:9px}.campaign-tabs{gap:10px}}
@media(prefers-reduced-motion:reduce){.campaign-banner *{animation:none!important;transition:none!important}.campaign-tabs button.active::before{transform:scaleX(1)}}
/* The reasons are part of the banner frame rather than a second feature section. */
.campaign-stage{padding-bottom:24px;row-gap:26px;min-height:540px}.campaign-reasons{grid-column:1/-1;border-top:1px solid #2b4564;padding:20px 0 0;width:100%}.campaign-controls{top:20px;bottom:auto;inset-inline-end:24px}.campaign-controls button:disabled{opacity:.45;cursor:default}
@media(max-width:980px){.campaign-stage{min-height:510px}}
@media(max-width:700px){.campaign-stage{min-height:0;padding:52px 25px 20px;row-gap:10px}.campaign-copy .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.campaign-copy .button{min-width:0;min-height:41px;padding:10px 12px;white-space:normal;line-height:1.5;text-align:center}.campaign-art{height:200px}.campaign-controls{top:13px;bottom:auto;inset-inline-end:19px}.campaign-reasons{padding-top:16px;gap:10px}.campaign-tabs button{min-height:50px}}
@media(max-width:700px) and (max-height:780px){.campaign-banner{padding-bottom:18px}.campaign-stage{padding-top:49px;padding-inline:20px;row-gap:5px}.campaign-message{min-height:0}.home-main .campaign-message h1{font-size:27px;margin-bottom:11px}.campaign-badge{margin-bottom:12px}.campaign-copy .hero-actions{margin-top:15px}.campaign-art{height:110px;margin-block:3px}.campaign-brand img{width:40px;height:40px;border-radius:11px}.campaign-brand>span{font-size:14px}.campaign-brand{gap:4px}.campaign-reasons{padding-top:12px;gap:7px}.campaign-tabs button{padding-top:9px;min-height:42px;font-size:10px}}

.campaign-stage{touch-action:pan-y pinch-zoom}
