/* GeoAnsin · visual finish. Fonts and decorative assets are served locally. */
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/manrope-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('fonts/dm-sans-latin.woff2') format('woff2')}
:root{--ease:cubic-bezier(.22,1,.36,1);--hairline:#90b6d321}
body{font-family:'DM Sans',sans-serif;background:#020b1d;background-image:radial-gradient(ellipse at 85% 3%,#0085a412,transparent 22%),radial-gradient(ellipse at 4% 29%,#0b4f9825,transparent 30%),radial-gradient(ellipse at 92% 63%,#004e7822,transparent 25%);font-optical-sizing:auto}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.018;background-image:url('grain.svg');background-repeat:repeat}
h1,h2,h3,.brand,.phone-brand{font-family:'Manrope',sans-serif;text-wrap:balance}
p{ text-wrap:pretty }
header{position:relative;z-index:6;border-color:var(--hairline);height:92px}
header nav a{position:relative;transition:color .25s}
header nav a:not(.nav-contact):after{content:'';position:absolute;height:2px;left:0;right:0;bottom:-12px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
header nav a[aria-current]{color:white}
header nav a[aria-current]:after,header nav a:hover:after{transform:scaleX(1)}
.reading-progress{position:fixed;z-index:20;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#00b7ff,#33ff66);pointer-events:none}
.hero{padding-top:84px;gap:52px;padding-bottom:10px}
.hero h1{font-size:clamp(52px,5.25vw,76px);font-weight:600;letter-spacing:-.063em;line-height:1.11;margin-top:27px}
.hero h1 em{font-weight:550;color:#33ff66;text-shadow:none}
.hero .intro{max-width:390px;color:#a3b7ce;line-height:1.8}
.eyebrow{font-size:9px;font-weight:600;letter-spacing:.2em}
.hero-foot{max-width:350px;line-height:1.8;letter-spacing:.15em;color:#6485a3}
.hero-map{border:1px solid #547d983b;background:radial-gradient(ellipse at 85% 0,#10415455,transparent 50%),#051326;border-radius:24px;box-shadow:0 38px 90px -24px #0009,inset 0 1px #cbeaff16}
.hero-map:before{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(125deg,#b8eaff05,transparent 35%,transparent 65%,#00b7ff06);border-radius:inherit}
.hero-map .map-slot{inset:54px 0 124px;transition:opacity .3s linear}
.map-svg{isolation:isolate}
.map-top{top:26px;left:26px;right:26px;font-size:8px}
.route-glow{opacity:.2}
.vehicle-card{border-radius:13px;border-color:#95c4e025;background:linear-gradient(125deg,#102740ed,#07172af7);box-shadow:0 8px 30px #0003,inset 0 1px #ffffff06}
.vehicle-icon{border-radius:50%;color:#51fb86}
.vehicle-card strong{font-weight:550}
.button{position:relative;overflow:hidden;min-height:48px;font-weight:550;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background .35s}
.button.primary{box-shadow:0 6px 25px #007dff16,inset 0 1px #d7f9ff40;background:linear-gradient(110deg,#00afe9,#2f6bff)}
.button:after{content:'';position:absolute;inset:0;pointer-events:none;transform:translateX(-120%);background:linear-gradient(105deg,transparent 30%,#ffffff14 50%,transparent 70%);transition:transform .7s var(--ease)}
.button:hover:after{transform:translateX(120%)}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #007dff25}
.button:active{transform:translateY(0)}
.button span{transition:transform .35s var(--ease)}
.button:hover span{transform:translate(2px,-2px)}
.text-link{transition:color .2s,border-color .2s}
.text-link:hover{color:#fff;border-color:var(--green)}
.hero-bottom{margin-top:28px;padding-block:28px;color:#6e8ca8;border-color:var(--hairline)}
.experience{padding-top:116px;position:relative}
.experience:before{content:'';position:absolute;top:190px;bottom:180px;left:calc(50% - 1px);width:1px;pointer-events:none;background:linear-gradient(transparent,#36ff6730 20%,#3a90aa26 75%,transparent)}
.experience-heading h2{font-size:clamp(32px,3.6vw,50px);font-weight:450;letter-spacing:-.045em}
.story-grid{gap:10%;margin-top:75px}
.chapter{padding-left:22px;opacity:.27;transition:opacity .6s}
.chapter.active{opacity:1}
.chapter h3{font-weight:450;letter-spacing:-.046em;line-height:1.19}
.chapter-number{display:flex;align-items:center;gap:14px;letter-spacing:.17em;font-size:9px}
.chapter-number:before{content:'';height:1px;width:28px;background:currentColor}
.chapter p{font-size:15px;line-height:1.9;color:#95adc6}
.feature-note{font-size:11px;line-height:1.7;padding-top:20px}
.phone-stage{perspective:1100px}
.phone-halo{inset:0 -20% 0;background:radial-gradient(ellipse at 48% 46%,#1570a128,transparent 62%);filter:blur(14px)}
.phone-device{border-radius:48px;padding:10px;background:linear-gradient(105deg,#a2b0ba 0%,#3e5265 2%,#152537 8%,#060d17 49%,#223349 88%,#788c9a 98%,#cad6dc);box-shadow:0 55px 80px -30px #000d,20px 10px 65px -30px #116e9840,inset 0 0 0 1px #ecf7ff55,inset 0 0 0 3px #071222;transform:rotateY(-5deg) rotateX(2deg);transform-origin:50% 60%;transition:transform 1.2s var(--ease)}
.phone-device:after{content:'';position:absolute;z-index:4;inset:9px;border-radius:39px;pointer-events:none;background:linear-gradient(115deg,#e2f2ff0b 0%,#ffffff03 21%,transparent 21.3%,transparent 64%,#9bdfff04 64.4%,transparent);box-shadow:inset 0 0 0 1px #ffffff0b,inset 1px 0 #ffffff14}
.phone-screen{border-radius:38px;box-shadow:0 0 0 1px #0008}
.phone-camera{background:radial-gradient(circle at 37% 30%,#264b6b,#07101b 50%);border-color:#142237;box-shadow:0 0 0 1px #000}
.phone-side-key{background:linear-gradient(90deg,#0a1420,#65798a,#142233);box-shadow:1px 0 2px #0008}
.phone-device:before{background:linear-gradient(90deg,#7d90a3,#152538)}
.phone-sheet{background:linear-gradient(140deg,#102942,#091a31);border-top-color:#8cbbdb2b}
.phone-sheet-heading strong{font-weight:600}
.phone-stage[data-phone-group="1"] .phone-device{transform:rotateY(0) rotateX(1deg)}
.phone-stage[data-phone-group="2"] .phone-device{transform:rotateY(4deg) rotateX(2deg)}
.phone-stage[data-phone-group="3"] .phone-device{transform:rotateY(0) rotateX(0)}
.phone-entering .phone-device{animation:phone-arrive 1.15s var(--ease) both}
@keyframes phone-arrive{from{opacity:0;transform:translateY(65px) rotateY(-12deg) rotateX(5deg)}to{opacity:1;transform:translateY(0) rotateY(-5deg) rotateX(2deg)}}
.phone-animating .phone-sheet-heading,.phone-animating #phone-card-description,.phone-animating .scene-alert{animation:screen-enter .55s var(--ease)}
.phone-caption{padding-top:24px}
.phone-caption p{font-size:10px;letter-spacing:.02em;color:#6c8dab}
.app-section{background:radial-gradient(ellipse at 10% 50%,#0b657019,transparent 58%),linear-gradient(110deg,#07192d,#051529);border-block:1px solid var(--hairline)}
.about-section,.faq-section{border-color:var(--hairline)}
.section-top h2,.about-section h2,.faq-section h2,.app-section h2{font-weight:450;letter-spacing:-.04em;line-height:1.25}
.plans-section{padding-top:110px;padding-bottom:100px}
.plans{align-items:stretch;gap:14px;padding-top:18px}
.plan{position:relative;padding:26px 23px;border-radius:18px;background:linear-gradient(150deg,#0d2037a6,#061429);border-color:#92bbdb26;overflow:hidden}
.plan:before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#a9daf935,transparent)}
.plan.featured{margin-top:-16px;margin-bottom:-6px;padding-top:42px;border-color:#56fc8159;background:radial-gradient(ellipse at 50% -5%,#26db7222,transparent 70%),linear-gradient(150deg,#0c2633,#081d30);box-shadow:0 16px 55px -20px #00ee6b24,inset 0 1px #71ff9940}
.plan.featured:after{content:'';position:absolute;top:0;left:18%;right:18%;height:2px;border-radius:50%;background:#63ff94;box-shadow:0 0 16px #52ff91}
.plan-index{font-size:9px;letter-spacing:.14em}
.plan-index span{font-size:7px;letter-spacing:.13em;color:#80f6a6}
.plan h3{margin-top:24px;font-size:30px;font-weight:500;letter-spacing:-1.1px}
.plan>p{font-size:12px;min-height:38px;margin-top:10px;color:#8ea9c3}
.plan-size{font:500 13px 'DM Sans',sans-serif;color:#d6e8f7;margin:10px 0 20px}
.plan ul{padding:20px 0 25px;border-color:#91b9d61c}
.plan li{padding-block:6px;font-size:11px;color:#adc3d7}
.plan .button{border-radius:9px;padding:14px 15px;gap:10px;font-size:11px;min-height:46px;border-color:#7397b747;justify-content:space-between}
.plan .button.primary{background:linear-gradient(110deg,#3eef79,#20ce83);color:#031c20;border-color:#56ef9360;box-shadow:inset 0 1px #ffffff40}
.plan[data-selected="true"]{border-color:#58ffaa;background-color:#0d2938}
.plan-comparison{margin-top:42px;border-color:#789bb830;border-radius:14px;background:#08192b80}
.plan-comparison>summary{padding:25px 26px}
.plan-comparison summary strong{font-weight:500}
.table-scroll thead th{background:#0e253a;font-family:'Manrope',sans-serif}
.table-scroll th:nth-child(3),.table-scroll td:nth-child(3){background:#3cff7705}
.faq-list summary{font-weight:450;transition:color .25s}
.faq-list summary:hover{color:#66ff99}
.faq-list details,.capabilities{border-color:#83aac628}
details[open]>:not(summary){animation:detail-enter .4s var(--ease)}
@keyframes detail-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.contact-section{position:relative;overflow:hidden;padding:85px 24px 80px;background:radial-gradient(ellipse at 50% 25%,#14596326,transparent 60%),#041126;border-top:1px solid var(--hairline)}
.contact-section:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#6c9abb07 1px,transparent 1px),linear-gradient(90deg,#6c9abb07 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 50% 15%,#000,transparent 65%)}
.contact-section>*{position:relative}
.contact-section h2{font-size:clamp(33px,3.8vw,54px);font-weight:450;letter-spacing:-.047em}
.contact-section>p:not(.eyebrow):not(.selected-plan){color:#94b0cb;line-height:1.8;font-size:14px}
.arrival{width:min(100%,590px);height:190px;margin:-20px auto 38px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.arrival svg{height:100%;width:100%;overflow:visible}
.arrival-label{position:absolute;bottom:5px;left:0;right:0;font-size:9px;letter-spacing:.2em;color:#70b898;text-align:center}
.arrival-label:before{content:'';display:inline-block;width:4px;height:4px;margin-right:8px;border-radius:50%;background:#33ff66}
.arrival[data-arrived="true"] .destination-ring{animation:arrival-pulse 2.5s ease-out infinite}
@keyframes arrival-pulse{from{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.6)}}
.destination-ring{transform-box:fill-box;transform-origin:center}
.selected-plan{display:inline-block;padding:8px 16px;border-radius:20px;border:1px solid #33ff6630;background:#33ff6607;color:#80f6a6;font-size:11px}
.selected-plan:empty{display:none}
.pulse-ring{animation:tracking-signal 3.5s ease-in-out infinite}
@keyframes tracking-signal{0%,100%{opacity:.05;transform:scale(.85)}50%{opacity:.13;transform:scale(1.15)}}
.contact-email{margin-top:22px}
.contact-whatsapp{font-size:11px}
footer{border-color:var(--hairline)}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-ready.is-revealed{opacity:1;transform:none}
.hero-copy{animation:detail-enter .85s var(--ease)}
.hero-map{animation:map-arrive 1.3s var(--ease)}
@keyframes map-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1101px){.hero{grid-template-columns:.97fr 1.03fr}.hero-map{min-height:580px}.hero-copy{padding-top:42px}}
@media(max-width:1100px){.hero{gap:30px}.hero h1{font-size:60px}.plan{padding-inline:22px}.plan.featured{margin:0;padding-top:26px}.plans{row-gap:18px}.chapter{padding-left:0}.experience:before{display:none}}
@media(max-width:760px){header{height:78px}.hero{padding-top:38px;gap:32px}.hero h1{font-size:clamp(43px,11.8vw,67px);letter-spacing:-.057em}.hero-copy{padding-top:0}.hero-map{border-radius:19px;min-height:460px}.hero .intro{font-size:14px}.hero-bottom{margin-top:2px}.experience{padding-top:76px}.story-grid{margin-top:40px}.experience-heading h2{font-size:32px}.chapter{padding-left:0;opacity:1}.chapter h3{font-size:34px}.chapter p{font-size:14px}.phone-device{border-radius:28px;padding:5px;transform:none!important}.phone-device:after{inset:5px;border-radius:23px}.phone-screen{border-radius:23px}.phone-caption{padding-top:8px}.phone-halo{filter:none;inset:5% 15%}.phone-entering .phone-device{animation:detail-enter .6s var(--ease)}.plan.featured{padding-top:28px}.plans{padding-top:0}.plans-section{padding-block:70px}.plan h3{font-size:29px}.plan>p{min-height:0}.plan .button{font-size:12px}.plan li{font-size:12px}.plan-comparison>summary{padding:22px 18px}.contact-section{padding:62px 22px}.arrival{height:150px;margin:-10px auto 24px}.contact-section .eyebrow{font-size:7px;letter-spacing:.15em}.contact-section>p:not(.eyebrow):not(.selected-plan){font-size:13px}.reading-progress{height:2px}.reveal-ready{transform:translateY(12px)}}
@media(max-width:400px){.hero h1{font-size:43px}.hero-map{min-height:430px}.eyebrow{font-size:8px}.hero-actions{gap:14px}.hero-actions .button{padding:15px 18px}.map-top{left:18px;right:18px;font-size:7px}.demo-label{font-size:6px}.map-coordinates{font-size:6px}.contact-section h2{font-size:32px}}
.experience-index{display:flex;flex-wrap:wrap;gap:8px;max-width:850px;margin-top:30px}
.experience-index a{padding:10px 14px;border:1px solid #547b973d;border-radius:30px;font-size:11px;color:#a8c3dc;transition:background .2s,border-color .2s,color .2s}
.experience-index a:hover,.experience-index a[aria-current]{background:#33ff660b;border-color:#33ff6660;color:#aaffc1}
.experience-disclaimer{font-size:11px;color:#829fb9;line-height:1.7;margin:15px 0 0}
.feature-demo{display:flex;align-items:center;justify-content:space-between;gap:24px;align-self:flex-start;padding:14px 19px;border:1px solid #33ff6650;border-radius:12px;background:#0a2838;color:#beffd1;font-size:12px;cursor:pointer;transition:background .2s,transform .2s}
.feature-demo:hover{background:#123d43;transform:translateY(-2px)}
.feature-demo:focus-visible{outline:2px solid #33ff66;outline-offset:5px}
.feature-demo[aria-pressed="true"]{background:#154435;border-color:#33ff66}
.demo-feedback{display:block;color:#90b1c9;font-size:10px;line-height:1.7;max-width:370px;min-height:38px;margin:12px 0 20px}
.phone-event{position:absolute;left:18px;right:18px;bottom:24px;padding:15px 10px;border:1px solid #33ff6650;background:linear-gradient(130deg,#0b2838f5,#051629f5);border-radius:14px;text-align:center;box-shadow:0 12px 28px #0005;backdrop-filter:blur(8px);color:#78ff9f;animation:detail-enter .4s var(--ease)}
.phone-event[hidden]{display:none}
.phone-event{display:grid;grid-template-columns:29px 1fr;column-gap:12px;text-align:left;padding:12px}
.phone-event-icon{display:block;margin:0;width:29px;height:29px;grid-row:1/3;align-self:center}
.phone-event-icon svg{width:100%;height:100%}
.phone-event strong{display:block;font-size:12px;font-weight:500;color:#e7f4ff}
.phone-event small{display:block;margin-top:7px;font-size:6px;letter-spacing:1.4px;color:#a0bacd}
.phone-event[data-tone="warning"]{border-color:#ffb75d66;color:#ffb75d;background:linear-gradient(130deg,#312b25f5,#0a192cf5)}
.engine-off .car-body>path:first-of-type{opacity:0}
.engine-off .brake-glow{opacity:.4}
.phone-stage[data-phone-group="2"] .phone-sheet{background:linear-gradient(#0d2845,#07182f)}
@media(max-width:760px){.experience-index{gap:7px;margin-top:24px}.experience-index a{padding:9px 12px;font-size:10px}.experience-disclaimer{font-size:10px}.feature-demo{font-size:12px;min-height:44px}.phone-event{left:8px;right:8px;bottom:13px;padding:8px 5px;border-radius:9px}.phone-event-icon{width:18px;height:18px;margin-bottom:5px}.phone-event strong{font-size:8px}.phone-event small{font-size:4px;margin-top:4px;letter-spacing:.7px}.phone-map-area .scene-alert{font-size:5.5px}.chapter{min-height:520px}.demo-feedback{font-size:10px}}
@media(max-width:760px){.phone-event{grid-template-columns:18px 1fr;column-gap:6px}.phone-event-icon{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.phone-device{transform:none}.button:hover{transform:none}.hero-map .map-slot{opacity:1!important}}
