:root {
    --ink: #06101f;
    --ink-2: #09172a;
    --panel: rgba(12, 29, 51, 0.72);
    --panel-solid: #0d2038;
    --line: rgba(143, 195, 255, 0.16);
    --line-bright: rgba(70, 207, 255, 0.42);
    --text: #f5f9ff;
    --muted: #93a9c5;
    --blue: #2e76ff;
    --cyan: #27d7ff;
    --green: #43efad;
    --violet: #8b5cff;
    --max: 1280px;
    --radius: 28px;
    --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--text); background: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; left: 18px; top: -80px; padding: 12px 18px; color: #06101f; background: var(--cyan); border-radius: 10px; font-weight: 800; transition: top .2s; }
.skip-link:focus { top: 18px; }

.ambient { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.ambient__grid { position: absolute; inset: 0; opacity: .36; background-image: linear-gradient(rgba(105,170,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(105,170,255,.055) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000 0%, transparent 85%); animation: gridShift 24s linear infinite; }
.ambient__orb { position: absolute; width: 46vw; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .14; }
.ambient__orb--one { right: -18vw; top: -8vw; background: var(--blue); animation: orbOne 16s ease-in-out infinite alternate; }
.ambient__orb--two { left: -22vw; top: 42vh; background: #1fb9e0; animation: orbTwo 20s ease-in-out infinite alternate; }
.ambient__noise { position: absolute; inset: 0; opacity: .025; 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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.pointer-glow { position: absolute; width: 520px; height: 520px; left: -260px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(38,190,255,.09), transparent 68%); transform: translate3d(var(--mouse-x, -600px), var(--mouse-y, -600px), 0); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; padding: 18px 24px; transition: padding .4s var(--ease), background .4s, border-color .4s; border-bottom: 1px solid transparent; }
.site-header.is-scrolled { padding-block: 10px; background: rgba(5,14,27,.78); border-color: var(--line); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.nav-shell { width: min(100%, var(--max)); min-height: 60px; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 10px; justify-self: start; }
.brand__logo { width: 144px; height: 48px; display: grid; place-items: center; overflow: hidden; padding: 3px 8px; border: 1px solid rgba(142,198,255,.25); border-radius: 12px; background: #fff; box-shadow: 0 8px 30px rgba(0,0,0,.22), 0 0 24px rgba(43,158,255,.08); }
.brand__logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.brand__beta { padding: 4px 6px; font-size: 8px; font-weight: 900; letter-spacing: 1.3px; color: var(--cyan); border: 1px solid rgba(39,215,255,.28); border-radius: 5px; }
.primary-nav { display: flex; align-items: center; gap: 34px; }
.primary-nav a { position: relative; padding: 10px 0; color: #b9c8da; font-size: 13px; font-weight: 700; transition: color .2s; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 1px; background: var(--cyan); transition: right .3s var(--ease); }
.primary-nav a:hover, .primary-nav a:focus-visible { color: #fff; }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { right: 0; }
.primary-nav a.is-current { color: #fff; }
.primary-nav a.is-current::after { right: 0; }
.mobile-nav-actions { display: none; }
.nav-actions { display: flex; justify-self: end; gap: 8px; }
.nav-toggle { display: none; padding: 10px; background: transparent; border: 0; cursor: pointer; }
.nav-toggle > span:not(.sr-only) { display: block; width: 24px; height: 1px; margin: 6px 0; background: #fff; transition: transform .3s, opacity .3s; }

.button { min-height: 46px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; border-radius: 13px; font-size: 13px; font-weight: 800; transition: transform .3s var(--ease), border-color .3s, background .3s, box-shadow .3s; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.button i { font-style: normal; font-size: 16px; }
.button--primary { position: relative; overflow: hidden; background: linear-gradient(120deg, #236bff, #299eff 55%, #26d5ff); box-shadow: 0 12px 34px rgba(34,113,255,.24), inset 0 1px rgba(255,255,255,.35); }
.button--primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.34) 50%, transparent 80%); transform: translateX(-120%); transition: transform .7s; }
.button--primary:hover::before { transform: translateX(120%); }
.button--primary > * { position: relative; z-index: 1; }
.button--quiet { color: #b9c8da; }
.button--glass { color: #dce9f8; background: rgba(255,255,255,.055); border-color: var(--line); backdrop-filter: blur(12px); }
.button--glass:hover { background: rgba(255,255,255,.09); border-color: var(--line-bright); }
.button--small { min-height: 44px; }
.button--large { min-height: 58px; padding-inline: 27px; border-radius: 16px; font-size: 14px; }
.play-icon { width: 24px; height: 24px; display: inline-grid; place-items: center; padding-left: 2px; font-size: 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }

.hero { position: relative; width: min(calc(100% - 48px), var(--max)); min-height: 820px; margin: 0 auto; padding: 155px 0 90px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 54px; }
.hero__copy { position: relative; z-index: 4; min-width: 0; }
.eyebrow, .section-index { display: inline-flex; align-items: center; gap: 10px; color: #7ecdf4; font-size: 11px; line-height: 1; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.eyebrow { padding: 9px 13px; border: 1px solid rgba(91,199,255,.22); border-radius: 999px; background: rgba(30,102,160,.09); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(67,239,173,.09), 0 0 14px var(--green); animation: blink 1.8s infinite; }
.hero h1 { max-width: 690px; margin: 28px 0 24px; font-size: clamp(57px, 6.1vw, 92px); line-height: .94; letter-spacing: -5.5px; }
.gradient-text { color: transparent; background: linear-gradient(100deg, #fff 5%, #80caff 43%, #20e0ff 86%); background-clip: text; -webkit-background-clip: text; }
.hero__copy > p { max-width: 600px; margin: 0; color: #9eb1c9; font-size: 18px; line-height: 1.75; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero__proof { display: flex; gap: 0; margin-top: 44px; }
.hero__proof div { min-width: 122px; padding: 0 26px; border-left: 1px solid var(--line); }
.hero__proof div:first-child { padding-left: 0; border: 0; }
.hero__proof strong, .hero__proof span { display: block; }
.hero__proof strong { font-size: 20px; letter-spacing: -.5px; }
.hero__proof span { margin-top: 5px; color: #7189a7; font-size: 10px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }

.hero-visual { position: relative; min-width: 0; height: 620px; perspective: 1200px; }
.glass-panel { background: linear-gradient(145deg, rgba(15,37,65,.87), rgba(8,23,43,.8)); border: 1px solid rgba(132,193,255,.19); box-shadow: 0 28px 90px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.command-deck { position: absolute; z-index: 3; width: min(100%, 610px); height: 460px; left: 50%; top: 50%; overflow: hidden; border-radius: 28px; transform: translate(-50%,-50%) rotateY(-4deg) rotateX(2deg); transform-style: preserve-3d; transition: transform .25s ease-out; }
.deck-bar { height: 60px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.deck-brand { display: flex; align-items: center; gap: 9px; color: #bdd0e6; font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.deck-brand span { width: 11px; height: 11px; border: 2px solid var(--cyan); transform: rotate(45deg); box-shadow: 0 0 15px rgba(39,215,255,.5); }
.deck-live { padding: 6px 9px; color: var(--green); border: 1px solid rgba(67,239,173,.2); border-radius: 6px; font-size: 9px; font-weight: 900; letter-spacing: 1.2px; }
.deck-live i { display: inline-block; width: 5px; height: 5px; margin-right: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.deck-map { position: relative; height: 295px; overflow: hidden; background: radial-gradient(circle at 55% 40%, rgba(33,114,194,.14), transparent 45%), linear-gradient(rgba(107,174,242,.03) 1px, transparent 1px), linear-gradient(90deg,rgba(107,174,242,.03) 1px,transparent 1px); background-size: auto, 30px 30px, 30px 30px; }
.route-map { position: absolute; width: 100%; height: 100%; }
.map-road { fill: none; stroke: rgba(107,164,220,.12); stroke-width: 2; }
.map-road--fine { stroke-width: 1; }
.active-route { fill: none; stroke: url(#routeGradient); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 8 9; filter: url(#routeGlow); animation: routeFlow 3s linear infinite; }
.route-point { fill: #0c1c33; stroke: #32cfff; stroke-width: 3; filter: url(#routeGlow); }
.route-point--d { fill: var(--cyan); }
.map-label { position: absolute; display: flex; align-items: center; gap: 7px; padding: 7px 10px; color: #b9cbe1; border: 1px solid rgba(95,176,245,.15); border-radius: 7px; background: rgba(6,18,34,.78); font-size: 9px; font-weight: 800; }
.map-label i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); }
.map-label--one { left: 17%; top: 22%; }
.map-label--two { right: 8%; bottom: 20%; }
.map-pulse { position: absolute; width: 10px; height: 10px; border: 2px solid var(--cyan); border-radius: 50%; }
.map-pulse::before, .map-pulse::after { content: ""; position: absolute; inset: -2px; border: 1px solid var(--cyan); border-radius: 50%; animation: mapPulse 2.4s ease-out infinite; }
.map-pulse::after { animation-delay: 1.2s; }
.map-pulse--one { left: 31%; bottom: 25%; }
.map-pulse--two { right: 25%; top: 29%; }
.deck-stats { height: 105px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.deck-stats > div { padding: 16px 17px; border-right: 1px solid var(--line); }
.deck-stats > div:last-child { border: 0; }
.deck-stats span, .deck-stats strong { display: block; }
.deck-stats span { margin-bottom: 7px; color: #6f87a5; font-size: 9px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.deck-stats strong { font-size: 21px; letter-spacing: -.6px; }
.deck-stats small { display: block; margin-top: 3px; color: var(--green); font-size: 9px; }
.spark { height: 22px; margin-top: -21px; display: flex; justify-content: end; align-items: end; gap: 2px; }
.spark i { width: 3px; height: 8px; background: var(--cyan); border-radius: 2px; opacity: .5; animation: spark 1.7s ease-in-out infinite alternate; }
.spark i:nth-child(2) { height: 13px; animation-delay: -.7s; }.spark i:nth-child(3) { height: 10px; animation-delay: -.3s;}.spark i:nth-child(4) { height: 18px; animation-delay: -1s;}.spark i:nth-child(5) { height: 20px; animation-delay: -.5s; }
.deck-scan { position: absolute; z-index: 4; left: 0; right: 0; top: -20%; height: 80px; opacity: .15; background: linear-gradient(transparent, var(--cyan), transparent); animation: deckScan 7s linear infinite; pointer-events: none; }
.radar-orbit { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; border: 1px solid rgba(74,178,255,.09); border-radius: 50%; transform: translate(-50%,-50%); }
.radar-orbit::after { content: ""; position: absolute; width: 7px; height: 7px; left: 50%; top: -4px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.radar-orbit--outer { width: 690px; animation: spin 20s linear infinite; }
.radar-orbit--inner { width: 555px; animation: spinReverse 14s linear infinite; }
.signal { position: absolute; z-index: 1; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 18px var(--blue); }
.signal span { position: absolute; inset: -1px; border: 1px solid #3c8eff; border-radius: 50%; animation: signal 2.5s infinite; }
.signal--one { left: 1%; top: 23%; }.signal--two { right: 0; top: 34%; animation-delay: -.8s;}.signal--three { left: 14%; bottom: 5%; animation-delay: -1.6s; }
.float-card { position: absolute; z-index: 5; min-height: 72px; display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 17px; animation: float 5s var(--ease) infinite alternate; }
.float-card span, .float-card strong { display: block; }
.float-card span { color: #748dac; font-size: 8px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
.float-card strong { margin-top: 5px; color: #e7f2ff; font-size: 11px; }
.float-icon { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; color: #d9f7ff; background: linear-gradient(145deg,#1d72ff,#27c7ff); border-radius: 12px; font-size: 11px; font-weight: 900; box-shadow: 0 8px 20px rgba(40,135,255,.25); }
.float-icon--call { background: linear-gradient(145deg,#22c87d,#48efb2); color: #052217; font-size: 22px; }
.float-card--call { left: -4%; top: 8%; width: 218px; animation-delay: -.5s; }
.float-card--booking { right: -3%; bottom: 7%; width: 235px; animation-delay: -2.1s; }
.float-card--booking b { margin-left: auto; padding: 5px 6px; color: var(--cyan); border: 1px solid rgba(39,215,255,.2); border-radius: 5px; font-size: 7px; }
.float-card--status { left: 2%; bottom: 2%; width: 190px; animation-delay: -1.2s; }
.status-ring { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--cyan) 94%, rgba(255,255,255,.08) 0); }
.status-ring::before { content: ""; grid-area: 1/1; width: 34px; height: 34px; border-radius: 50%; background: #0b1b31; }
.status-ring i { position: relative; grid-area: 1/1; font-style: normal; font-size: 10px; font-weight: 900; }
.call-pulse { width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(67,239,173,.55); animation: callPulse 1.4s infinite; }
.scroll-cue { position: absolute; left: 0; bottom: 26px; display: flex; align-items: center; gap: 12px; color: #56708f; font-size: 9px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
.scroll-cue span { position: relative; width: 26px; height: 40px; border: 1px solid rgba(129,180,236,.25); border-radius: 16px; }
.scroll-cue span::after { content: ""; position: absolute; left: 11px; top: 8px; width: 2px; height: 7px; border-radius: 2px; background: var(--cyan); animation: scrollDot 1.7s infinite; }

.network-strip { overflow: hidden; border-block: 1px solid var(--line); background: rgba(7,20,37,.64); transform: rotate(-1deg) scale(1.02); }
.network-strip__track { width: max-content; padding: 17px 0; display: flex; align-items: center; gap: 58px; animation: marquee 28s linear infinite; }
.network-strip__track span { display: flex; align-items: center; gap: 12px; color: #7290b0; font-size: 10px; font-weight: 900; letter-spacing: 2px; white-space: nowrap; }
.network-strip__track span::after { content: "/"; margin-left: 45px; color: #203a58; }
.network-strip__track i { width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }

.section { position: relative; width: min(calc(100% - 48px), var(--max)); margin: 0 auto; padding: 140px 0; }
.section-heading { margin-bottom: 68px; display: flex; justify-content: space-between; align-items: end; gap: 60px; }
.section-heading > div { flex: 1; }
.section-heading h2 { margin: 18px 0 0; font-size: clamp(43px,5.2vw,72px); line-height: .98; letter-spacing: -4px; }
.section-heading h2 span { color: #7590b0; }
.section-heading > p { width: min(100%, 430px); margin: 0 0 4px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.bento-grid { display: grid; grid-template-columns: 1fr 1fr .78fr; grid-template-rows: 340px 315px; gap: 16px; }
.bento { position: relative; overflow: hidden; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg,rgba(14,35,61,.75),rgba(8,22,40,.66)); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.bento::before { content: ""; position: absolute; inset: 0; opacity: 0; background: radial-gradient(500px circle at var(--card-x,50%) var(--card-y,50%),rgba(42,160,255,.12),transparent 42%); transition: opacity .3s; pointer-events: none; }
.bento:hover::before { opacity: 1; }
.bento--wide { grid-column: span 2; }
.bento--mobile { grid-row: 2; }
.bento--speed { grid-column: span 2; grid-row: 2; }
.bento__top { display: flex; align-items: center; justify-content: space-between; color: #7290af; font-size: 9px; font-weight: 900; letter-spacing: 1.4px; }
.bento__icon { width: 37px; height: 37px; display: grid; place-items: center; color: var(--cyan); border: 1px solid var(--line); border-radius: 11px; background: rgba(54,145,224,.08); font-size: 16px; }
.live-pill { padding: 7px 9px; color: var(--green); border: 1px solid rgba(67,239,173,.17); border-radius: 6px; }
.live-pill i { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); }
.bento h3 { position: relative; z-index: 2; margin: 25px 0 12px; font-size: 31px; line-height: 1.05; letter-spacing: -1.5px; }
.bento p { position: relative; z-index: 2; max-width: 400px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.node-network { position: absolute; width: 60%; right: 0; top: 55px; bottom: 0; }
.node-network svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.node-network path { fill: none; stroke: rgba(51,177,255,.23); stroke-width: 1.3; stroke-dasharray: 5 8; animation: routeFlow 5s linear infinite; }
.node-network circle { fill: #132b49; stroke: var(--cyan); stroke-width: 2; filter: drop-shadow(0 0 5px rgba(39,215,255,.55)); }
.node-network span { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%,-50%); color: #6484a7; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.bento--metric { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.metric-orbit { width: 190px; aspect-ratio: 1; padding: 12px; display: grid; place-items: center; border: 1px solid rgba(38,205,255,.14); border-radius: 50%; background: radial-gradient(circle,rgba(33,124,200,.11),transparent 60%); }
.metric-orbit::before, .metric-orbit::after { content: ""; position: absolute; left: 50%; top: 50%; width: 154px; aspect-ratio: 1; border: 1px dashed rgba(41,210,255,.28); border-radius: 50%; animation: spin 12s linear infinite; }
.metric-orbit::after { width: 120px; border-style: solid; border-color: rgba(73,120,255,.2); animation: spinReverse 8s linear infinite; }
.metric-orbit div { position: relative; z-index: 2; }
.metric-orbit strong { font-size: 54px; letter-spacing: -3px; }
.metric-orbit sup { color: var(--cyan); font-size: 22px; }
.metric-orbit span { display: block; color: #718aa8; font-size: 8px; font-weight: 900; letter-spacing: 1.3px; text-transform: uppercase; }
.bento--metric p { margin-top: 22px; max-width: 235px; }
.bento--mobile { background: radial-gradient(circle at 80% 75%,rgba(32,117,214,.18),transparent 36%), linear-gradient(145deg,rgba(14,35,61,.75),rgba(8,22,40,.66)); }
.mini-phone { position: absolute; right: 32px; bottom: -78px; width: 158px; height: 255px; padding: 8px; border: 1px solid rgba(150,207,255,.28); border-radius: 28px; background: #122a46; box-shadow: 0 22px 50px rgba(0,0,0,.4); transform: rotate(8deg); transition: transform .5s var(--ease); }
.bento--mobile:hover .mini-phone { transform: rotate(4deg) translateY(-8px); }
.mini-phone__screen { position: relative; height: 100%; overflow: hidden; border-radius: 21px; background: #eaf4ff; }
.mini-map { position: absolute; inset: 0; opacity: .55; background: linear-gradient(30deg,transparent 47%,#a8c5df 48%,#a8c5df 50%,transparent 51%),linear-gradient(145deg,transparent 45%,#b5d0e5 46%,#b5d0e5 49%,transparent 50%); background-size: 75px 65px,90px 90px; }
.mini-pin { position: absolute; width: 10px; height: 10px; border: 3px solid white; border-radius: 50% 50% 50% 0; background: var(--blue); transform: rotate(-45deg); box-shadow: 0 3px 8px rgba(0,0,0,.3); }.mini-pin--1{left:28px;top:50px}.mini-pin--2{right:28px;top:90px;background:#17bb79}.mini-pin--3{left:66px;top:116px;background:#ffb82d}
.mini-sheet { position: absolute; inset: auto 8px 8px; height: 82px; padding: 12px; border-radius: 14px; background: white; box-shadow: 0 8px 24px rgba(25,56,89,.16); }
.mini-sheet i { display:block;height:6px;margin:7px 0;border-radius:4px;background:#dceafa}.mini-sheet i:first-child{width:50%;background:#2e88f7}.mini-sheet i:last-child{width:70%}
.bento--speed { background: linear-gradient(110deg,rgba(13,36,62,.88),rgba(11,27,49,.6)); }
.bento--speed h3 { font-size: 38px; }
.speed-lines { position: absolute; inset: 0 0 0 45%; overflow: hidden; transform: skewX(-16deg); }
.speed-lines span { position: absolute; right: -20%; width: 85%; height: 1px; background: linear-gradient(90deg,transparent,var(--cyan),transparent); animation: speedLine 3s linear infinite; }
.speed-lines span:nth-child(1){top:20%;animation-delay:-.4s}.speed-lines span:nth-child(2){top:35%;animation-delay:-1.8s}.speed-lines span:nth-child(3){top:50%;animation-delay:-.9s}.speed-lines span:nth-child(4){top:65%;animation-delay:-2.6s}.speed-lines span:nth-child(5){top:80%;animation-delay:-1.3s}
.speed-stat { position: absolute; z-index: 2; right: 46px; top: 50%; display: flex; align-items: center; gap: 18px; transform: translateY(-50%); }
.speed-stat strong { color: transparent; background: linear-gradient(120deg,#fff,var(--cyan)); background-clip: text; -webkit-background-clip: text; font-size: 78px; letter-spacing: -5px; }
.speed-stat > span { color: #7690ac; font-size: 9px; font-weight: 900; line-height: 1.6; letter-spacing: .9px; text-transform: uppercase; }

.products { padding-top: 120px; }
.product-stage { overflow: hidden; border: 1px solid var(--line); border-radius: 32px; background: linear-gradient(145deg,rgba(12,32,57,.82),rgba(6,18,34,.78)); box-shadow: 0 35px 90px rgba(0,0,0,.22); }
.product-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
.product-tab { position: relative; min-height: 88px; padding: 0 28px; display: grid; grid-template-columns: 40px auto 1fr; align-items: center; gap: 10px; text-align: left; color: #7690ad; background: transparent; border: 0; border-right: 1px solid var(--line); cursor: pointer; transition: background .3s,color .3s; }
.product-tab:last-child { border: 0; }
.product-tab::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: linear-gradient(90deg,var(--blue),var(--cyan)); transition: right .5s var(--ease); }
.product-tab.is-active { color: #fff; background: rgba(51,128,218,.07); }
.product-tab.is-active::after { right: 0; }
.product-tab span { color: var(--cyan); font-size: 10px; font-weight: 900; }
.product-tab { font-size: 17px; font-weight: 800; }
.product-tab i { justify-self: end; font-style: normal; color: #5f7896; font-size: 10px; font-weight: 700; }
.product-panel { min-height: 595px; display: grid; grid-template-columns: .83fr 1.17fr; animation: panelIn .55s var(--ease); }
.product-panel[hidden] { display: none; }
.product-panel__copy { padding: 70px 45px 55px; }
.product-label { display: flex; align-items: center; gap: 8px; color: #6e91b7; font-size: 9px; font-weight: 900; letter-spacing: 1.3px; }
.product-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.product-panel h3 { margin: 26px 0 20px; font-size: clamp(39px,4.5vw,62px); line-height: .98; letter-spacing: -3px; }
.product-panel__copy > p { color: #91a7c1; font-size: 15px; line-height: 1.7; }
.product-panel ul { margin: 27px 0 35px; padding: 0; display: grid; gap: 11px; list-style: none; }
.product-panel li { display: flex; align-items: center; gap: 10px; color: #bdd0e5; font-size: 12px; font-weight: 700; }
.product-panel li::before { content: "✓"; width: 20px; height: 20px; display: grid; place-items: center; color: var(--cyan); border: 1px solid rgba(39,215,255,.19); border-radius: 50%; font-size: 9px; }
.arrow-link { display: inline-flex; align-items: center; gap: 14px; color: #fff; font-size: 13px; font-weight: 900; }
.arrow-link span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--cyan); border: 1px solid var(--line-bright); border-radius: 50%; transition: transform .3s,background .3s; }
.arrow-link:hover span { transform: rotate(45deg); background: rgba(39,215,255,.1); }
.product-panel__visual { position: relative; min-width: 0; overflow: hidden; background: radial-gradient(circle at 50% 52%,rgba(45,127,255,.22),transparent 48%),linear-gradient(rgba(107,174,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(107,174,242,.035) 1px,transparent 1px); background-size: auto,38px 38px,38px 38px; border-left: 1px solid var(--line); }
.screen-frame { position: absolute; overflow: hidden; border: 1px solid rgba(162,210,255,.24); background: #11233b; box-shadow: 0 28px 60px rgba(0,0,0,.48); }
.screen-frame img { display: block; width: 100%; }
.screen-frame--desktop { width: 78%; left: 8%; top: 16%; border-radius: 16px; transform: perspective(900px) rotateY(-4deg) rotateX(2deg); animation: screenFloat 6s var(--ease) infinite alternate; }
.screen-frame__bar { height: 30px; padding: 0 11px; display: flex; align-items: center; gap: 5px; color: #6c86a5; font-size: 7px; font-weight: 800; }
.screen-frame__bar i { width: 6px; height: 6px; border-radius: 50%; background: #294765; }.screen-frame__bar i:first-child{background:#f06472}.screen-frame__bar i:nth-child(2){background:#edbd4c}.screen-frame__bar i:nth-child(3){background:#4bd591}.screen-frame__bar span{margin-left:8px}
.screen-frame--phone { width: 148px; height: 320px; right: 5%; bottom: -11%; padding: 5px; border-radius: 27px; transform: rotate(5deg); animation: phoneFloat 5s var(--ease) infinite alternate; }
.screen-frame--phone img { height: 100%; object-fit: cover; object-position: top; border-radius: 22px; }
.visual-badge { position: absolute; z-index: 3; left: 6%; bottom: 15%; min-width: 150px; padding: 12px 15px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(67,239,173,.22); border-radius: 13px; background: rgba(5,20,35,.88); box-shadow: 0 15px 38px rgba(0,0,0,.32); backdrop-filter: blur(14px); }
.visual-badge i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(67,239,173,.08),0 0 12px var(--green); animation: blink 1.6s infinite; }
.visual-badge span, .visual-badge strong { display: block; }.visual-badge span{color:#63809f;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.visual-badge strong{margin-bottom:3px;color:#e9f5ff;font-size:11px;text-transform:none;letter-spacing:0}
.product-panel__visual--pulse { min-height: 595px; }
.phone-pair { position: absolute; width: 235px; height: 510px; padding: 7px; overflow: hidden; border: 1px solid rgba(157,207,255,.25); border-radius: 38px; background: #102641; box-shadow: 0 35px 70px rgba(0,0,0,.48); }
.phone-pair img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 31px; }
.phone-pair--back { left: 10%; top: 13%; transform: rotate(-8deg); opacity: .72; animation: phoneBack 6s var(--ease) infinite alternate; }
.phone-pair--front { right: 13%; top: 6%; transform: rotate(5deg); animation: phoneFront 5.5s var(--ease) infinite alternate; }
.visual-badge--pulse { left: auto; right: 6%; bottom: 10%; }
.product-grid { margin-top: 17px; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.product-mini { position: relative; min-height: 275px; overflow: hidden; padding: 25px; border: 1px solid var(--line); border-radius: 23px; background: linear-gradient(145deg,rgba(13,33,58,.7),rgba(7,21,39,.7)); transition: transform .35s var(--ease),border-color .35s,background .35s; }
.product-mini::before { content: ""; position: absolute; width: 180px; height: 180px; right: -80px; bottom: -90px; border: 1px solid rgba(42,183,255,.13); border-radius: 50%; box-shadow: 0 0 0 28px rgba(42,183,255,.025),0 0 0 58px rgba(42,183,255,.018); transition: transform .5s; }
.product-mini:hover { transform: translateY(-7px); border-color: rgba(58,197,255,.36); background: linear-gradient(145deg,rgba(18,45,78,.78),rgba(8,24,44,.76)); }
.product-mini:hover::before { transform: scale(1.18); }
.product-mini__number { position: absolute; right: 19px; top: 18px; color: #3d5d7f; font-size: 9px; font-weight: 900; }
.product-mini__icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--cyan); border: 1px solid rgba(68,193,255,.2); border-radius: 13px; background: rgba(39,154,233,.08); font-size: 13px; font-weight: 900; }
.product-mini h3 { margin: 28px 0 12px; font-size: 21px; letter-spacing: -.8px; }
.product-mini p { margin: 0; color: #8299b4; font-size: 12px; line-height: 1.65; }
.product-mini__arrow { position: absolute; right: 21px; bottom: 20px; color: #4e7196; font-style: normal; transition: color .3s,transform .3s; }.product-mini:hover .product-mini__arrow{color:var(--cyan);transform:rotate(45deg)}
.all-products { margin-top: 30px; display: flex; justify-content: center; }

.workflow { width: 100%; max-width: none; padding-inline: max(24px,calc((100vw - var(--max))/2)); overflow: hidden; border-block: 1px solid var(--line); background: linear-gradient(180deg,rgba(14,37,66,.55),rgba(6,16,31,.4)); }
.workflow__glow { position: absolute; width: 720px; height: 420px; left: 50%; top: -230px; transform: translateX(-50%); border-radius: 50%; background: rgba(27,115,255,.2); filter: blur(130px); }
.section-heading--centred { position: relative; z-index: 2; display: block; text-align: center; }
.section-heading--centred > p { margin: 22px auto 0; }
.workflow-line { position: absolute; z-index: 0; left: 12%; right: 12%; top: 57%; height: 1px; background: rgba(87,156,224,.13); }
.workflow-line span { display: block; width: 26%; height: 1px; background: linear-gradient(90deg,transparent,var(--cyan)); box-shadow: 0 0 12px rgba(39,215,255,.5); animation: workflowLine 6s linear infinite; }
.workflow-steps { position: relative; z-index: 2; margin: 100px auto 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 60px; list-style: none; }
.workflow-steps li { position: relative; text-align: center; }
.workflow-steps li > i { width: 16px; height: 16px; margin: 0 auto 34px; display: block; border: 4px solid #10233e; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 1px rgba(39,215,255,.4),0 0 24px rgba(39,215,255,.55); }
.step-number { display: block; margin-bottom: 15px; color: #496b91; font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.workflow-steps h3 { margin: 0 0 12px; font-size: 22px; }
.workflow-steps p { margin: 0; color: #7f96b1; font-size: 12px; line-height: 1.65; }
.workflow-action { margin-top: 58px; display: flex; justify-content: center; }
.tech-band { padding-block: 80px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; }
.tech-card { position: relative; min-height: 245px; padding: 34px; border: 1px solid var(--line); background: rgba(9,25,45,.48); }
.tech-card:first-child { border-radius: 24px 0 0 24px; }.tech-card:last-child{border-radius:0 24px 24px 0}
.tech-card > span { color: #456687; font-size: 9px; font-weight: 900; }
.tech-symbol { position: absolute; right: 28px; top: 25px; color: #2675b8; font-size: 35px; font-style: normal; font-weight: 200; }
.tech-card h3 { margin: 60px 0 12px; font-size: 21px; }
.tech-card p { margin: 0; color: #7d94af; font-size: 12px; line-height: 1.65; }

.final-cta { min-height: 620px; display: grid; place-items: center; overflow: hidden; text-align: center; border: 1px solid var(--line); border-radius: 36px; background: radial-gradient(circle at 50% 70%,rgba(32,125,255,.18),transparent 45%),linear-gradient(145deg,rgba(12,35,62,.75),rgba(6,18,33,.8)); }
.final-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(106,175,243,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(106,175,243,.04) 1px,transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle,#000,transparent 70%); }
.final-cta__inner { position: relative; z-index: 3; max-width: 800px; padding: 50px 24px; }
.final-cta h2 { margin: 21px 0; font-size: clamp(50px,6.3vw,82px); line-height: .98; letter-spacing: -5px; }
.final-cta p { max-width: 560px; margin: 0 auto 34px; color: #91a7c1; line-height: 1.7; }
.final-cta__inner > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.cta-orbit { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; border: 1px solid rgba(65,179,255,.09); border-radius: 50%; transform: translate(-50%,-50%); }.cta-orbit--one{width:750px;animation:spin 24s linear infinite}.cta-orbit--two{width:520px;border-style:dashed;animation:spinReverse 18s linear infinite}
.cta-orbit::after{content:"";position:absolute;width:8px;height:8px;left:50%;top:-4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}
.cta-particles i { position:absolute;width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan);animation:particle 5s ease-in-out infinite alternate}.cta-particles i:nth-child(1){left:12%;top:25%}.cta-particles i:nth-child(2){left:24%;bottom:16%;animation-delay:-2s}.cta-particles i:nth-child(3){right:14%;top:22%;animation-delay:-1s}.cta-particles i:nth-child(4){right:22%;bottom:19%;animation-delay:-3s}.cta-particles i:nth-child(5){left:43%;top:8%;animation-delay:-1.7s}.cta-particles i:nth-child(6){right:40%;bottom:8%;animation-delay:-.6s}

.site-footer { width: min(calc(100% - 48px),var(--max)); margin: 0 auto; padding: 80px 0 30px; }
.footer-top { padding-bottom: 55px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.footer-top p { margin: 0; color: #7188a3; font-size: 12px; text-align: center; }
.footer-status { justify-self: end; display:flex;align-items:center;gap:8px;color:#7890ab;font-size:10px;font-weight:800}.footer-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.footer-status span{margin-left:12px;color:#bed0e3}
.footer-links { padding: 55px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.footer-links div { display: grid; gap: 13px; align-content: start; }
.footer-links strong { margin-bottom: 8px; color: #4b6c8e; font-size: 9px; letter-spacing: 1.3px; text-transform: uppercase; }
.footer-links a { width: fit-content; color: #8da2ba; font-size: 12px; transition: color .2s,transform .2s; }.footer-links a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom { padding-top: 25px; display: flex; justify-content: space-between; color: #405f80; border-top: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }.footer-bottom i{display:inline-block;width:4px;height:4px;margin:0 9px;border-radius:50%;background:#345879}

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal--delay { transition-delay: .12s; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes gridShift { to { background-position: 72px 72px; } }
@keyframes orbOne { to { transform: translate(-10vw,18vh) scale(1.15); } }
@keyframes orbTwo { to { transform: translate(12vw,-12vh) scale(.86); } }
@keyframes blink { 50% { opacity:.45; } }
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes spinReverse { to { transform: translate(-50%,-50%) rotate(-360deg); } }
@keyframes routeFlow { to { stroke-dashoffset: -34; } }
@keyframes mapPulse { to { inset:-34px;opacity:0; } }
@keyframes deckScan { to { top: 110%; } }
@keyframes spark { to { transform: scaleY(.45); opacity:.9; } }
@keyframes signal { to { inset:-35px;opacity:0; } }
@keyframes float { to { transform: translateY(-12px); } }
@keyframes callPulse { 70% { box-shadow:0 0 0 9px rgba(67,239,173,0); } 100%{box-shadow:0 0 0 0 rgba(67,239,173,0)} }
@keyframes scrollDot { to { transform:translateY(15px);opacity:0; } }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes speedLine { from{transform:translateX(-120%);opacity:0}20%{opacity:1}to{transform:translateX(140%);opacity:0} }
@keyframes panelIn { from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none} }
@keyframes screenFloat { to{transform:perspective(900px) rotateY(-1deg) rotateX(0) translateY(-8px)} }
@keyframes phoneFloat { to{transform:rotate(2deg) translateY(-12px)} }
@keyframes phoneBack { to{transform:rotate(-5deg) translateY(-10px)} }
@keyframes phoneFront { to{transform:rotate(3deg) translateY(-12px)} }
@keyframes workflowLine { from{transform:translateX(-120%)}to{transform:translateX(480%)} }
@keyframes particle { to{transform:translate(15px,-18px) scale(1.8);opacity:.35} }
@keyframes cabsafeJourney { 0%{offset-distance:0%;opacity:0}8%{opacity:1}47%{opacity:1}52%{opacity:.35}57%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0} }

@media (max-width: 1100px) {
    .nav-shell { grid-template-columns: 1fr auto; }
    .primary-nav { position: fixed; inset: 81px 18px auto; padding: 24px; display: grid; gap: 4px; opacity: 0; visibility: hidden; transform: translateY(-10px); border: 1px solid var(--line); border-radius: 20px; background: rgba(7,19,35,.96); box-shadow: 0 25px 60px rgba(0,0,0,.45); backdrop-filter: blur(24px); transition: .3s var(--ease); }
    .primary-nav.is-open { opacity: 1; visibility: visible; transform: none; }
    .primary-nav a { padding: 14px 10px; font-size: 15px; }
    .mobile-nav-actions { margin-top: 12px; padding-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-top: 1px solid var(--line); }
    .mobile-nav-actions .button { padding: 0 15px; }
    .mobile-nav-actions .button::after { display: none; }
    .nav-toggle { display: block; justify-self: end; }
    .nav-toggle[aria-expanded="true"] > span:first-child { transform: translateY(7px) rotate(45deg); }.nav-toggle[aria-expanded="true"] > span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] > span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .nav-actions { display: none; }
    .hero { grid-template-columns: 1fr; padding-top: 140px; text-align: center; }
    .hero__copy > p { margin-inline: auto; }.hero__actions,.hero__proof{justify-content:center}.scroll-cue{display:none}
    .hero-visual { width: min(100%,760px); margin: -30px auto 0; }
    .bento-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 360px 315px 315px; }
    .bento--wide { grid-column: span 2; }.bento--metric{grid-column:2;grid-row:2}.bento--speed{grid-column:span 2;grid-row:3}
    .product-panel { grid-template-columns: 1fr; }.product-panel__visual{min-height:530px;border-left:0;border-top:1px solid var(--line)}
    .product-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
    .site-header { padding: 12px 16px; }.brand__logo{width:128px;height:44px}.brand__beta{display:none}.primary-nav{inset:69px 12px auto}
    .nav-shell { width: 100%; gap: 12px; }
    .hero, .section, .site-footer { width: min(calc(100% - 28px),var(--max)); }
    .hero { min-height: auto; padding: 120px 0 80px; gap: 40px; }
    .hero h1 { margin-top: 22px; font-size: clamp(42px,12vw,56px); letter-spacing: -3.2px; }
    .hero__copy > p { font-size: 16px; line-height: 1.65; }
    .hero__actions .button { width: 100%; }
    .hero__proof { margin-top: 34px; }.hero__proof div{min-width:0;flex:1;padding-inline:10px}.hero__proof strong{font-size:17px}.hero__proof span{font-size:8px}
    .hero-visual { height: 430px; margin-top: 0; }.command-deck{height:330px;border-radius:20px}.deck-bar{height:45px}.deck-map{height:210px}.deck-stats{height:75px}.deck-stats>div{padding:11px 9px}.deck-stats strong{font-size:15px}.deck-stats span{font-size:7px}.float-card{transform:scale(.76)}.float-card--call{left:-36px;top:-1%}.float-card--booking{right:-38px;bottom:-1%}.float-card--status{display:none}.radar-orbit--outer{width:460px}.radar-orbit--inner{width:370px}
    .network-strip__track { gap: 35px; }
    .section { padding-block: 95px; }.section-heading{display:block;margin-bottom:45px}.section-heading h2{font-size:45px;letter-spacing:-3px}.section-heading>p{margin-top:24px}
    .bento-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; }.bento,.bento--wide,.bento--metric,.bento--speed,.bento--mobile{grid-column:auto;grid-row:auto;min-height:320px}.node-network{width:100%;opacity:.42}.bento--network h3,.bento--network p{max-width:70%}.bento--metric{min-height:340px}.bento--speed h3{font-size:31px}.speed-stat{right:24px;bottom:22px;top:auto;transform:none}.speed-stat strong{font-size:55px}.mini-phone{right:20px}
    .product-tabs { grid-template-columns: 1fr; }.product-tab{min-height:72px;border-right:0;border-bottom:1px solid var(--line);padding-inline:19px;font-size:14px}.product-tab i{font-size:8px}
    .product-panel__copy{padding:44px 24px}.product-panel h3{font-size:42px}.product-panel__visual{min-height:410px}.screen-frame--desktop{width:91%;left:2%;top:18%}.screen-frame--phone{width:110px;height:240px;right:2%}.visual-badge{left:3%;bottom:7%}.phone-pair{width:160px;height:347px;border-radius:28px}.phone-pair img{border-radius:22px}.phone-pair--back{left:5%}.phone-pair--front{right:5%}.product-panel__visual--pulse{min-height:435px}.product-grid{grid-template-columns:1fr}.product-mini{min-height:225px}
    .workflow { width:100%; padding-inline:20px; }.workflow-steps{margin-top:55px;grid-template-columns:1fr;gap:45px}.workflow-line{display:none}.workflow-steps li>i{margin-bottom:18px}.workflow-action .button{width:100%}
    .tech-band { grid-template-columns:1fr;gap:10px}.tech-card:first-child,.tech-card:last-child{border-radius:20px}.tech-card{min-height:210px;border-radius:20px}.tech-card h3{margin-top:45px}
    .final-cta{width:calc(100% - 28px);min-height:560px}.final-cta h2{font-size:52px;letter-spacing:-3.5px}.final-cta__inner>div .button{width:100%}.cta-orbit--one{width:580px}.cta-orbit--two{width:390px}
    .footer-top{grid-template-columns:1fr;gap:25px;text-align:center}.footer-top .brand,.footer-status{justify-self:center}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{display:grid;gap:12px;text-align:center;justify-content:center}
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}

/* Shared beta subpages */
.subpage { padding-top: 80px; }
.catalog-hero, .simple-hero { position: relative; width: min(calc(100% - 48px),var(--max)); min-height: 690px; margin: 0 auto; padding: 190px 0 110px; overflow: hidden; }
.catalog-hero h1, .simple-hero h1 { position: relative; z-index: 2; max-width: 1050px; margin: 25px 0 28px; font-size: clamp(56px,7vw,98px); line-height: .95; letter-spacing: -6px; }
.catalog-hero > p, .simple-hero > p { position: relative; z-index: 2; max-width: 680px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.75; }
.catalog-orbit { position: absolute; width: 620px; height: 620px; right: -180px; top: 80px; border: 1px solid rgba(49,170,255,.12); border-radius: 50%; animation: spinReverse 26s linear infinite; }
.catalog-orbit::before,.catalog-orbit::after{content:"";position:absolute;inset:80px;border:1px dashed rgba(49,170,255,.13);border-radius:50%}.catalog-orbit::after{inset:170px;border-style:solid}.catalog-orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.catalog-orbit i:nth-child(1){left:50%;top:-5px}.catalog-orbit i:nth-child(2){left:8%;top:70%}.catalog-orbit i:nth-child(3){right:12%;top:75%}
.catalog-section { padding-top: 55px; }
.catalog-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.catalog-card { position: relative; min-height: 420px; overflow: hidden; padding: 30px; border: 1px solid var(--line); border-radius: 27px; background: linear-gradient(145deg,rgba(13,34,59,.78),rgba(7,21,39,.75)); transition: transform .4s var(--ease),border-color .4s; }
.catalog-card:hover { transform: translateY(-7px); border-color: var(--line-bright); }
.catalog-card--feature { min-height: 570px; }
.catalog-card__top { position: relative; z-index: 3; display: flex; justify-content: space-between; color: #557597; font-size: 9px; font-weight: 900; letter-spacing: 1.3px; text-transform: uppercase; }
.catalog-card__top i { width: 37px; height: 37px; display: grid; place-items:center; color:var(--cyan); border:1px solid var(--line); border-radius:50%; font-style:normal; transition:transform .3s}.catalog-card:hover .catalog-card__top i{transform:rotate(45deg)}
.catalog-card__copy { position: absolute; z-index: 3; left: 30px; top: 50%; max-width: 55%; margin: 0; transform: translateY(-50%); }
.catalog-card__copy h2 { margin: 0 0 15px; font-size: 36px; letter-spacing: -1.8px; }
.catalog-card__copy p { margin:0;color:#839ab5;font-size:13px;line-height:1.65}
.catalog-card__media { position:absolute;right:-3%;top:50%;bottom:auto;width:45%;height:78%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 25px 35px rgba(0,0,0,.48));transform:translateY(-50%);transition:transform .5s var(--ease)}.catalog-card:hover .catalog-card__media{transform:translateY(calc(-50% - 8px)) rotate(1deg)}
.catalog-card__media img{width:100%;height:100%;object-fit:contain;object-position:center}.catalog-card__media--desktop{width:52%;height:64%;right:-5%;bottom:auto}.catalog-card__media--phones{width:38%;right:3%;bottom:auto}.catalog-card__media--portrait{width:38%;right:3%;bottom:auto}
.catalog-card--cyan::after,.catalog-card--blue::after,.catalog-card--green::after,.catalog-card--violet::after{content:"";position:absolute;width:420px;height:420px;right:-170px;bottom:-190px;border-radius:50%;background:rgba(39,215,255,.12);filter:blur(65px)}.catalog-card--blue::after{background:rgba(46,118,255,.15)}.catalog-card--green::after{background:rgba(67,239,173,.11)}.catalog-card--violet::after{background:rgba(139,92,255,.14)}
.catalog-card__journey{position:absolute;right:5%;top:50%;width:43%;height:190px;transform:translateY(-50%)}.catalog-card__journey::before{content:"";position:absolute;inset:-38px -18px;border:1px solid rgba(67,239,173,.08);border-radius:50%;box-shadow:0 0 0 28px rgba(67,239,173,.018)}.catalog-card__journey svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.catalog-card__journey path{fill:none;stroke:rgba(67,239,173,.44);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 8;animation:routeFlow 3s linear infinite}.catalog-card__journey circle{fill:#0b2430;stroke:#43efad;stroke-width:3;filter:drop-shadow(0 0 6px rgba(67,239,173,.7))}.journey-marker{position:absolute;left:0;top:0;width:18px;height:18px;border:4px solid #0b2230;border-radius:50% 50% 50% 0;background:#ffd129;box-shadow:0 0 0 2px rgba(255,209,41,.28),0 0 18px rgba(255,209,41,.55);offset-path:path("M 25px 138px C 72px 35px 178px 35px 255px 124px");offset-rotate:0deg;animation:cabsafeJourney 5s var(--ease) infinite;transform:translate(-50%,-75%) rotate(-45deg)}.journey-marker::after{content:"";position:absolute;width:4px;height:4px;left:3px;top:3px;border-radius:50%;background:#102040}.journey-label{position:absolute;color:#5e997f;font-size:7px;font-weight:900;letter-spacing:1.2px}.journey-label--start{left:0;bottom:4px}.journey-label--share{left:45%;top:16px}.journey-label--home{right:-1%;bottom:18px}.catalog-card__domain{position:absolute;z-index:3;right:7%;bottom:28px;color:#70d9b3;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.cabsafe-badge{position:absolute;z-index:3;right:4px;top:-78px;width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}

/* Keep catalogue text and media in separate columns at every desktop width. */
.catalog-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.82fr);grid-template-rows:auto 1fr;column-gap:28px}.catalog-card__top{grid-column:1/-1;grid-row:1}.catalog-card__copy{position:relative;left:auto;top:auto;grid-column:1;grid-row:2;align-self:center;max-width:none;margin:0;padding-right:8px;transform:none}.catalog-card__media,.catalog-card__media--desktop,.catalog-card__media--phones,.catalog-card__media--portrait{position:relative;right:auto;top:auto;bottom:auto;grid-column:2;grid-row:2;align-self:stretch;width:100%;height:100%;transform:none}.catalog-card:hover .catalog-card__media{transform:translateY(-8px) rotate(1deg)}.catalog-card__journey{position:relative;right:auto;top:auto;grid-column:2;grid-row:2;align-self:center;width:100%;height:190px;transform:none}

.detail-hero { width:min(calc(100% - 48px),var(--max)); min-height:760px;margin:0 auto;padding:150px 0 90px;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:60px}.detail-hero__copy{position:relative;z-index:3}.back-link{display:inline-block;margin-bottom:34px;color:#6884a4;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.detail-hero h1{margin:25px 0 24px;font-size:clamp(54px,5.8vw,82px);line-height:.96;letter-spacing:-5px}.detail-hero__copy>p{max-width:590px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.detail-visual{position:relative;height:590px;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 50% 55%,rgba(44,136,255,.24),transparent 46%),linear-gradient(rgba(107,174,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(107,174,242,.035) 1px,transparent 1px),rgba(8,23,43,.64);background-size:auto,38px 38px,38px 38px;box-shadow:0 38px 80px rgba(0,0,0,.28)}
.detail-orbit{position:absolute;width:460px;height:460px;left:50%;top:50%;border:1px dashed rgba(57,183,255,.17);border-radius:50%;transform:translate(-50%,-50%);animation:spin 20s linear infinite}.detail-orbit::after{content:"";position:absolute;width:8px;height:8px;left:50%;top:-4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.detail-device{position:absolute;overflow:hidden;border:1px solid rgba(154,207,255,.25);background:#122944;box-shadow:0 30px 65px rgba(0,0,0,.5)}.detail-device img{width:100%;height:100%;display:block;object-fit:contain}
.detail-device--primary{width:70%;height:64%;left:9%;top:18%;border-radius:20px;transform:rotate(-3deg);animation:screenFloat 6s var(--ease) infinite alternate}.detail-device--secondary{width:27%;height:56%;right:6%;bottom:-5%;padding:5px;border-radius:27px;transform:rotate(6deg);animation:phoneFloat 5s var(--ease) infinite alternate}.detail-device--secondary img{border-radius:21px;object-fit:cover;object-position:top}
.detail-visual--phones .detail-device{width:225px;height:485px;padding:6px;border-radius:36px}.detail-visual--phones .detail-device img{border-radius:29px;object-fit:cover;object-position:top}.detail-visual--phones .detail-device--primary{left:14%;top:12%;transform:rotate(-7deg)}.detail-visual--phones .detail-device--secondary{right:13%;top:5%;bottom:auto;transform:rotate(6deg)}
.detail-visual--portrait .detail-device--primary{width:270px;height:490px;left:24%;top:10%;padding:6px;border-radius:33px}.detail-visual--portrait .detail-device--primary img{border-radius:26px;object-fit:cover;object-position:top}.detail-visual--portrait .detail-device--secondary{right:10%}
.detail-live{position:absolute;z-index:4;left:5%;bottom:6%;padding:12px 15px;display:flex;align-items:center;gap:11px;border:1px solid rgba(67,239,173,.22);border-radius:13px;background:rgba(5,20,35,.9);box-shadow:0 15px 38px rgba(0,0,0,.32)}.detail-live i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(67,239,173,.08),0 0 12px var(--green)}.detail-live span,.detail-live strong{display:block}.detail-live span{color:#63809f;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.detail-live strong{margin-bottom:3px;color:#e9f5ff;font-size:11px;text-transform:none;letter-spacing:0}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.capability-card{position:relative;min-height:265px;padding:28px;border:1px solid var(--line);border-radius:22px;background:rgba(10,28,49,.6)}.capability-card>span{color:#48698b;font-size:9px;font-weight:900}.capability-card>i{position:absolute;right:25px;top:24px;color:#297ebd;font-size:28px;font-style:normal}.capability-card h3{margin:78px 0 12px;font-size:20px;line-height:1.2}.capability-card p{margin:0;color:#748ca7;font-size:11px;line-height:1.65}
.detail-flow{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.detail-flow__visual .detail-visual{height:520px}.detail-flow__copy h2{margin:22px 0;font-size:48px;line-height:1.02;letter-spacing:-3px}.detail-flow__copy>p{color:var(--muted);line-height:1.75}.detail-flow__copy ul{margin:28px 0;padding:0;display:grid;gap:13px;list-style:none}.detail-flow__copy li{color:#b5c9df;font-size:12px;font-weight:700}.detail-flow__copy li::before{content:"✓";margin-right:10px;color:var(--cyan)}
.next-product{width:min(calc(100% - 48px),var(--max));min-height:190px;margin:0 auto 90px;padding:35px 44px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;border:1px solid var(--line);border-radius:27px;background:linear-gradient(120deg,rgba(12,32,56,.8),rgba(15,53,84,.58));transition:border-color .3s,transform .3s}.next-product:hover{border-color:var(--line-bright);transform:translateY(-4px)}.next-product span{color:#557493;font-size:9px;font-weight:900;letter-spacing:1.3px}.next-product strong{font-size:34px}.next-product i{width:55px;height:55px;display:grid;place-items:center;color:var(--cyan);border:1px solid var(--line-bright);border-radius:50%;font-style:normal;font-size:22px}
.landing-hero{padding-top:150px}

.journey{max-width:980px;padding-top:60px}.journey-step{position:relative;display:grid;grid-template-columns:80px 40px 1fr;gap:28px;min-height:190px}.journey-step>span{padding-top:5px;color:#517293;font-size:10px;font-weight:900;letter-spacing:1.4px}.journey-step>i{position:relative;width:17px;height:17px;margin-top:3px;border:4px solid #10233e;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 1px rgba(39,215,255,.4),0 0 20px rgba(39,215,255,.5)}.journey-step>i::after{content:"";position:absolute;left:4px;top:16px;width:1px;height:145px;background:linear-gradient(var(--cyan),rgba(39,215,255,.08))}.journey-step:last-child>i::after{display:none}.journey-step h2{margin:0 0 13px;font-size:29px}.journey-step p{max-width:600px;margin:0;color:var(--muted);line-height:1.7}
.pricing-grid{padding-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.price-card{position:relative;min-height:370px;padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(14,35,61,.75),rgba(8,22,40,.68))}.price-card>span{color:#4e6e90;font-size:9px;font-weight:900}.price-card h2{margin:55px 0 18px;font-size:31px}.price-card strong{display:block;color:transparent;background:linear-gradient(90deg,#fff,var(--cyan));background-clip:text;-webkit-background-clip:text;font-size:42px;letter-spacing:-2px}.price-card p{max-width:430px;color:var(--muted);line-height:1.7}.price-card a{position:absolute;left:34px;bottom:30px;color:var(--cyan);font-size:11px;font-weight:900}.billing-note{padding:40px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:30px;border:1px solid var(--line);border-radius:26px;background:rgba(9,27,48,.65)}.billing-note h2{margin:0 0 8px;font-size:27px}.billing-note p{margin:0;color:var(--muted);line-height:1.65}
.contact-layout{width:min(calc(100% - 48px),var(--max));min-height:850px;margin:0 auto;padding:165px 0 100px;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:80px}.contact-copy h1{margin:24px 0;font-size:78px;letter-spacing:-5px}.contact-copy>p{max-width:570px;margin-bottom:40px;color:var(--muted);font-size:17px;line-height:1.75}.contact-route{padding:17px 0;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line)}.contact-route>span{color:var(--cyan);font-size:9px;font-weight:900}.contact-route strong,.contact-route small{display:block}.contact-route strong{font-size:13px}.contact-route small{margin-top:5px;color:#6d86a3;font-size:10px}.contact-form{padding:38px;display:grid;gap:20px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(14,35,61,.85),rgba(7,21,40,.8));box-shadow:0 35px 80px rgba(0,0,0,.25)}.contact-form label{display:grid;gap:8px;color:#8097b1;font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;padding:14px 15px;color:#fff;border:1px solid var(--line);border-radius:11px;background:rgba(4,15,29,.6);outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(39,215,255,.08)}.contact-form small{color:#5c7898;font-size:9px}.contact-form .hidden-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-status{min-height:18px;color:#7d96b1;font-size:11px;line-height:1.5}.contact-status.good{color:#50e6a4}.contact-status.error{color:#ff8b94}.contact-form button:disabled{cursor:wait;opacity:.65}
.project-enquiry .contact-layout{width:min(calc(100% - 56px),1440px);grid-template-columns:minmax(300px,.65fr) minmax(650px,1.35fr);align-items:start;gap:clamp(55px,7vw,110px)}.project-enquiry .contact-copy{position:sticky;top:130px;padding-top:24px}.project-form{padding:clamp(30px,4vw,58px);gap:42px}.project-form__intro h2{margin:13px 0 10px;font-size:clamp(30px,3vw,43px);letter-spacing:-2px}.project-form__intro p,.field-help{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.project-form-section{min-width:0;margin:0;padding:0 0 42px;border:0;border-bottom:1px solid var(--line)}.project-form-section legend{width:100%;margin:0 0 25px;padding:0;color:#edf7ff;font-size:18px;font-weight:800}.project-form-section legend span{display:inline-grid;width:29px;height:29px;margin-right:12px;place-items:center;color:var(--cyan);border:1px solid rgba(39,215,255,.28);border-radius:9px;font-size:9px}.project-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-field--wide{grid-column:1/-1}.contact-form select{width:100%;min-height:49px;padding:14px 42px 14px 15px;color:#fff;border:1px solid var(--line);border-radius:11px;background-color:rgba(4,15,29,.88);outline:none}.contact-form select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(39,215,255,.08)}.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:13px;margin-top:20px}.contact-form .choice-card{display:block;cursor:pointer}.choice-card input{position:absolute;width:1px;height:1px;opacity:0}.choice-card span{min-height:54px;padding:16px;display:flex;align-items:center;color:#a9bfd5;border:1px solid var(--line);border-radius:13px;background:rgba(4,15,29,.46);font-size:11px;letter-spacing:0;text-transform:none;transition:.2s}.choice-card span::before{content:'✓';width:21px;height:21px;margin-right:10px;display:grid;place-items:center;color:transparent;border:1px solid #35516f;border-radius:6px}.choice-card input:checked+span{color:#fff;border-color:var(--cyan);background:rgba(39,215,255,.09)}.choice-card input:checked+span::before{color:#061523;border-color:var(--cyan);background:var(--cyan)}.project-brief textarea{min-height:230px;line-height:1.7}.brief-prompts{margin-top:18px;padding:20px 22px;border:1px solid rgba(39,215,255,.12);border-radius:14px;background:rgba(39,215,255,.035)}.brief-prompts strong{color:#bfd5ea;font-size:11px}.brief-prompts ul{margin:12px 0 0;padding-left:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;color:#6f8aa5;font-size:10px;line-height:1.5}.project-form__footer{display:flex;align-items:center;justify-content:space-between;gap:28px}.project-form__footer .contact-status{max-width:390px}.is-hidden{display:none!important}
@media(max-width:1100px){.project-enquiry .contact-layout{grid-template-columns:1fr}.project-enquiry .contact-copy{position:static;max-width:760px}.project-enquiry .contact-form{width:100%}}
@media(max-width:650px){.project-enquiry .contact-layout{width:calc(100% - 28px)}.project-field-grid,.brief-prompts ul{grid-template-columns:1fr}.project-form{padding:25px 20px;gap:32px}.project-form-section{padding-bottom:32px}.platform-grid{grid-template-columns:1fr 1fr}.project-form__footer{align-items:stretch;flex-direction:column}.project-form__footer button{width:100%}}
.legal-hero{width:min(calc(100% - 48px),920px);margin:0 auto;padding:190px 0 100px}.legal-hero h1{margin:22px 0;font-size:65px;letter-spacing:-4px}.legal-hero p{color:var(--muted);font-size:17px;line-height:1.7}.legal-hero small{display:block;margin-top:18px;color:#6f8aa6}.legal-content{width:min(calc(100% - 48px),1100px);margin:0 auto 130px;display:grid;grid-template-columns:230px 1fr;gap:70px}.legal-content nav{position:sticky;top:110px;max-height:calc(100vh - 140px);height:max-content;padding:22px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:rgba(9,25,45,.7);display:grid;gap:13px}.legal-content nav strong{margin-bottom:8px;color:#4e7092;font-size:9px;letter-spacing:1px;text-transform:uppercase}.legal-content nav a{color:#8ba1ba;font-size:11px}.legal-content section{padding:15px 0 55px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:120px}.legal-content section>span{color:var(--cyan);font-size:9px;font-weight:900}.legal-content h2{margin:17px 0;font-size:32px}.legal-content h3{margin:28px 0 10px;font-size:20px}.legal-content p,.legal-content ul{color:var(--muted);line-height:1.8}.legal-content ul{padding-left:22px}.legal-content li+li{margin-top:8px}.legal-content section a{color:var(--cyan);text-decoration:underline}.legal-content aside{padding:22px;color:#7d96b1;border:1px solid var(--line);border-radius:16px;background:rgba(12,31,54,.6);font-size:12px;line-height:1.7}.legal-content aside a{color:var(--cyan);text-decoration:underline}.legal-nav-divider{height:1px;margin:10px 0 5px;background:var(--line)}.legal-content nav .legal-policy-link{padding:10px;border:1px solid rgba(69,164,237,.13);border-radius:10px;background:rgba(45,129,201,.05);line-height:1.4;transition:border-color .25s,background .25s,color .25s}.legal-content nav .legal-policy-link:hover{color:#dff7ff;border-color:rgba(39,215,255,.34);background:rgba(39,215,255,.08)}.legal-policy-link i{display:block;margin-bottom:4px;color:var(--cyan);font-size:7px;font-style:normal;font-weight:900;letter-spacing:1px}
.auth-page{width:min(calc(100% - 48px),1100px);min-height:760px;margin:0 auto;padding:150px 0 90px;display:grid;grid-template-columns:1fr 420px;align-items:center;gap:90px}.auth-message h1{margin:24px 0;font-size:68px;line-height:1;letter-spacing:-4px}.auth-message p{max-width:520px;color:var(--muted);font-size:17px;line-height:1.7}.auth-network{position:relative;width:370px;height:160px;margin-top:45px;border:1px solid rgba(58,164,243,.12);border-radius:50%}.auth-network i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.auth-network i:nth-child(1){left:8%;top:50%}.auth-network i:nth-child(2){left:50%;top:12%}.auth-network i:nth-child(3){right:8%;bottom:20%}.auth-network span{position:absolute;left:12%;right:12%;top:52%;height:1px;transform:rotate(-8deg);background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 10px rgba(39,215,255,.5)}.auth-card{padding:42px;border:1px solid var(--line);border-radius:27px;background:linear-gradient(145deg,rgba(15,38,66,.88),rgba(8,22,41,.86));box-shadow:0 35px 80px rgba(0,0,0,.35)}.auth-card__icon{width:52px;height:52px;display:grid;place-items:center;color:var(--cyan);border:1px solid var(--line-bright);border-radius:16px;background:rgba(41,156,231,.08);font-size:22px}.auth-card h2{margin:28px 0 12px;font-size:30px}.auth-card p{margin-bottom:28px;color:var(--muted);font-size:13px;line-height:1.7}.auth-card .button{width:100%}.auth-card small{display:block;margin-top:22px;color:#68829e;text-align:center}.auth-card small a{color:var(--cyan)}
.portal-preview{min-height:850px;padding:160px 24px 100px;display:grid;place-items:center}.portal-preview__panel{width:min(100%,920px);text-align:center}.portal-preview h1{margin:22px 0;font-size:65px;letter-spacing:-4px}.portal-preview__panel>p{max-width:600px;margin:0 auto 35px;color:var(--muted);font-size:16px;line-height:1.7}.portal-preview__screen{height:390px;margin:40px 0;padding:16px;display:grid;grid-template-columns:160px 1fr;grid-template-rows:34px 1fr;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:24px;background:#0a1e35;box-shadow:0 30px 70px rgba(0,0,0,.35)}.portal-preview__screen>div{grid-column:1/3;display:flex;gap:6px}.portal-preview__screen>div i{width:7px;height:7px;border-radius:50%;background:#31506f}.portal-preview__screen aside{padding:20px 12px;border-right:1px solid var(--line)}.portal-preview__screen aside span{display:block;height:10px;margin:18px 0;border-radius:6px;background:#163a5e}.portal-preview__screen main{padding:25px}.portal-preview__screen header{height:32px;width:45%;border-radius:8px;background:#19456e}.portal-preview__screen section{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.portal-preview__screen section i{height:70px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#102d4e,#0c213a)}.portal-preview__screen article{height:145px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(rgba(39,215,255,.05),transparent)}
.mini-cta{min-height:500px;display:grid;place-items:center;overflow:hidden;text-align:center;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 50% 70%,rgba(32,125,255,.17),transparent 48%),rgba(9,26,47,.6)}.mini-cta__inner{position:relative;z-index:3;max-width:750px}.mini-cta h2{margin:22px 0;font-size:58px;letter-spacing:-3.5px}.mini-cta p{max-width:560px;margin:0 auto 30px;color:var(--muted);line-height:1.7}.mini-cta__inner>div{display:flex;justify-content:center;gap:12px}

@media(max-width:900px){.catalog-card__copy{max-width:60%}.detail-hero,.detail-flow,.contact-layout{grid-template-columns:1fr}.detail-hero{padding-top:130px}.detail-visual{height:540px}.capability-grid{grid-template-columns:1fr 1fr}.detail-flow__visual{order:2}.contact-layout{gap:55px}.auth-page{grid-template-columns:1fr;gap:45px}.auth-message{text-align:center}.auth-message p,.auth-network{margin-inline:auto}.pricing-grid{grid-template-columns:1fr}}
@media(max-width:1050px) and (min-width:761px){.catalog-grid{grid-template-columns:1fr}.catalog-card__copy{max-width:none}}
@media(max-width:760px){.catalog-hero,.simple-hero{width:calc(100% - 28px);min-height:590px;padding:150px 0 80px}.catalog-hero h1,.simple-hero h1{font-size:50px;letter-spacing:-3.5px}.catalog-hero>p,.simple-hero>p{font-size:16px}.catalog-orbit{right:-430px}.catalog-grid{grid-template-columns:1fr}.catalog-card,.catalog-card--feature{min-height:500px;padding:23px}.catalog-card__copy{position:relative;left:auto;top:auto;max-width:80%;margin-top:40px;transform:none}.catalog-card__copy h2{font-size:30px}.catalog-card__media,.catalog-card__media--desktop,.catalog-card__media--phones,.catalog-card__media--portrait{top:auto;width:58%;height:52%;right:-4%;bottom:-5%;transform:none}.catalog-card:hover .catalog-card__media{transform:translateY(-8px) rotate(1deg)}.catalog-card__media img{object-position:center bottom}.catalog-card__external{right:10%;top:auto;bottom:58px;width:135px;height:135px;transform:none}.catalog-card__domain{right:8%;bottom:24px}.detail-hero{width:calc(100% - 28px);padding-top:120px;gap:40px}.detail-hero h1{font-size:48px;letter-spacing:-3.4px}.detail-hero__copy>p{font-size:15px}.detail-hero .hero__actions .button{width:100%}.detail-visual{height:440px}.detail-visual--phones .detail-device{width:158px;height:340px}.detail-visual--portrait .detail-device--primary{width:190px;height:350px;left:10%}.detail-device--primary{width:85%;left:4%}.detail-device--secondary{width:30%;right:2%}.detail-live{left:3%;bottom:3%}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:220px}.detail-flow{gap:35px}.detail-flow__copy h2{font-size:39px}.next-product{width:calc(100% - 28px);grid-template-columns:1fr auto;padding:28px}.next-product span{grid-column:1/3}.next-product strong{font-size:26px}.pricing-grid{width:calc(100% - 28px)}.billing-note{grid-template-columns:1fr}.contact-layout{width:calc(100% - 28px);padding-top:135px}.contact-layout>*{min-width:0}.contact-copy h1{font-size:55px}.contact-copy>p{overflow-wrap:anywhere}.contact-form{padding:25px}.legal-hero{width:calc(100% - 28px);padding-top:150px}.legal-hero h1{font-size:48px}.legal-content{width:calc(100% - 28px);grid-template-columns:1fr;gap:30px}.legal-content nav{position:static;max-height:none}.auth-page{width:calc(100% - 28px);padding-top:130px}.auth-message h1{font-size:50px}.auth-network{width:100%}.auth-card{padding:28px}.portal-preview h1{font-size:48px}.portal-preview__screen{height:330px;grid-template-columns:90px 1fr}.mini-cta{width:calc(100% - 28px)}.mini-cta h2{font-size:43px}.mini-cta__inner>div{display:grid}.mini-cta__inner>div .button{width:100%}}

@media(max-width:760px){.catalog-card{display:block}.catalog-card--external{min-height:700px}.catalog-card--external .catalog-card__copy{max-width:100%}.catalog-card__journey{position:absolute;right:6%;top:auto;bottom:58px;width:82%;height:180px;transform:none}.cabsafe-badge{right:0;top:0;width:72px;height:72px}.catalog-card__domain{right:8%;bottom:24px}}
