@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #ffffff;--ink: #0b1220;--muted: #5b6472;--accent: #16a34a;--accent-deep: #15803d;--accent-ink: #ffffff;--tint: #f3faf5;--tint-strong: #dcfce7;--dark: #06241b;--dark-2: #0a3326;--line: #e5e7eb;--maxw: 1140px;--radius: 14px;--font-display: "Bricolage Grotesque Variable", system-ui, sans-serif;--font-body: "Instrument Sans Variable", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--font-body)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}html,body{overflow-x:clip}body{background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px}a{color:inherit}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.container--narrow{max-width:760px}h1,h2,h3,.nav__logo{font-family:var(--font-display);letter-spacing:-.015em}.btn{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:650;padding:11px 20px;border-radius:10px;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-1px);box-shadow:0 6px 16px #16a34a40}.btn--ghost{background:transparent;color:var(--ink);border-color:#cfd6dd}.btn--ghost:hover{background:#f3f4f6;border-color:var(--ink);box-shadow:none}.btn--lg{font-size:17px;padding:14px 28px;border-radius:12px}.btn--invert{background:#fff;border-color:#fff;color:var(--dark)}.btn--invert:hover{background:var(--tint-strong);border-color:var(--tint-strong);box-shadow:0 6px 20px #0000004d}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:22px;padding:14px 24px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav__logo{font-weight:700;font-size:17px;display:inline-flex;align-items:center;gap:7px}.nav__pin{width:20px;height:20px;fill:var(--accent)}.nav__links{display:flex;gap:20px;margin-left:8px}.nav__links a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:500}.nav__links a:hover{color:var(--ink)}.nav__spacer{margin-left:auto}.nav__signin{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.section{padding:104px 0}.section h2{font-size:clamp(32px,4.5vw,46px);line-height:1.06;font-weight:640;margin:0 0 16px;max-width:700px}.section .lead{color:var(--muted);font-size:19px;max-width:620px;margin-top:0}.section--tint{background:var(--tint)}.section--dark{background:var(--dark);color:#f1f8f3}.section--dark h2{color:#fff}.section--dark .lead{color:#b6cdbf}.section--dark .eyebrow{color:#4ade80}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;font-weight:700;color:var(--accent-deep);margin:0 0 14px}@media(max-width:720px){.nav__links{display:none}.section{padding:64px 0}}#hero{position:relative;min-height:86vh;display:flex;align-items:center;overflow:hidden;padding:72px 0}#map-hero{position:absolute;top:0;right:0;bottom:0;left:0}.hero__veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(100deg,#fffffff7,#ffffffeb 34%,#ffffff8c 58%,#ffffff1f)}.hero-pin{width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 0 0 6px #16a34a40,0 2px 6px #0000004d}.hero__grid{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}.hero__copy h1{font-size:clamp(38px,4.6vw,56px);line-height:1.04;font-weight:680;margin:0 0 20px}.hero__copy h1 em{font-style:normal;color:var(--accent-deep)}.hero__sub{color:#374151;font-size:clamp(17px,1.6vw,20px);max-width:480px;margin:0 0 28px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.hero__trust{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:26px 0 0;color:var(--muted);font-size:13.5px;font-weight:500}.hero__trust li{display:flex;align-items:center;gap:6px}.hero__trust li:before{content:"✓";color:var(--accent);font-weight:700}.hero__device{display:flex;justify-content:center}.phone{position:relative;width:min(290px,100%);aspect-ratio:290 / 580;border-radius:38px;background:#0b1220;padding:10px;box-shadow:0 30px 60px #06241b4d,0 4px 14px #06241b2e;transform:rotate(2.5deg)}.phone__notch{position:absolute;top:18px;left:50%;transform:translate(-50%);width:84px;height:16px;border-radius:999px;background:#0b1220;z-index:2}.phone__screen{position:relative;width:100%;height:100%;border-radius:30px;overflow:hidden;background:#eef3ee}.phone__map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.phone__streets path{stroke:#d8e2d8;stroke-width:10;fill:none}.phone__route{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-dasharray:7 8;stroke-linecap:round;stroke-linejoin:round}.phone__stop{fill:var(--ink)}.phone__stop--home{fill:var(--accent)}.phone__pin-dot{fill:var(--accent);stroke:#fff;stroke-width:3.5}.phone__pin-pulse{fill:none;stroke:var(--accent);stroke-width:2;opacity:0;animation:pin-pulse 2.4s ease-out infinite;transform-origin:150px 170px}@keyframes pin-pulse{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.phone__toast{position:absolute;left:12px;right:12px;bottom:16px;display:flex;gap:10px;align-items:center;background:#fffffff5;border:1px solid var(--tint-strong);border-radius:14px;padding:10px 12px;font-size:12.5px;line-height:1.35;box-shadow:0 10px 24px #06241b24;animation:toast-in 1s ease .8s both}.phone__toast strong{font-size:13px}.phone__toast-icon{flex:none;width:26px;height:26px;border-radius:50%;background:var(--tint-strong);color:var(--accent-deep);display:grid;place-items:center;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:860px){#hero{min-height:0;padding:48px 0 64px}.hero__grid{grid-template-columns:1fr;gap:36px}.hero__veil{background:linear-gradient(180deg,#fffffff7,#ffffffe6 60%,#ffffffbf)}.phone{width:min(250px,80%);transform:none}}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.how-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}.how-card--accent{border-color:#16a34a73;background:var(--tint);box-shadow:0 14px 34px #16a34a1a}.how-card__verdict{margin:16px 0 0;font-size:14px;color:var(--muted);font-weight:500}.how-card--accent .how-card__verdict{color:var(--accent-deep)}.notif{display:flex;gap:12px;align-items:flex-start;margin-top:14px;background:#fff;border:1px solid rgba(22,163,74,.35);border-radius:12px;padding:14px;box-shadow:0 8px 20px #06241b14}.notif--flat{border-color:var(--line);box-shadow:none;background:#f8f9fa}.notif strong{font-size:14px;display:block;margin-bottom:2px}.notif p{margin:0;font-size:15px;color:var(--ink)}.notif--flat p{color:var(--muted)}.notif__icon{flex:none;width:32px;height:32px;border-radius:9px;background:var(--tint-strong);color:var(--accent-deep);display:grid;place-items:center;font-size:15px}.notif__icon--grey{background:#eceff1;color:var(--muted)}.routeviz{position:relative;margin:40px auto 0;max-width:760px;background:linear-gradient(rgba(22,163,74,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(22,163,74,.05) 1px,transparent 1px),#fff;background-size:28px 28px,28px 28px,auto;border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 60px;box-shadow:0 18px 44px #06241b12}.routeviz svg{width:100%;height:auto;display:block}.rv-corridor{fill:none;stroke:var(--accent);stroke-width:22;stroke-linecap:round;stroke-linejoin:round;opacity:.12}.rv-route{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:6 7;stroke-linecap:round}.rv-deviation{fill:none;stroke:none}.rv-school{fill:var(--ink)}.rv-home{fill:var(--accent)}.rv-dot{fill:#ef4444}.rv-label{fill:var(--muted);font-size:13px;font-family:var(--font-body)}.rv-alert{position:absolute;right:20px;bottom:16px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:650;box-shadow:0 8px 20px #b91c1c1f;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}.routeviz.is-alerting .rv-alert{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.rv-motion{display:none}.routeviz.is-alerting .rv-alert{transition:none}.phone__pin-pulse,.phone__toast{animation:none;opacity:1}}.label{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--muted)}.how-card--accent .label{color:var(--accent-deep)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.step{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}.step__num{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--tint-strong);display:block;line-height:1;margin-bottom:14px;-webkit-text-stroke:1.5px var(--accent)}.step h3{margin:0 0 8px;font-size:19px}.step p{margin:0;color:var(--muted);font-size:15px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.feature{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.feature:hover{transform:translateY(-4px);border-color:#16a34a73;box-shadow:0 16px 34px #06241b1a}.feature__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--tint-strong);margin-bottom:14px}.feature__icon svg{width:24px;height:24px;fill:none;stroke:var(--accent-deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feature h3{margin:0 0 6px;font-size:18px}.feature p{margin:0;color:var(--muted);font-size:14.5px}.compare-wrap{margin-top:36px;overflow-x:auto}.compare{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}.compare thead th{font-size:13.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:2px solid var(--ink)}.compare tbody th{font-weight:550;color:var(--ink)}.compare td{text-align:center;color:var(--muted)}.compare td.compare__us,.compare th.compare__us{color:var(--accent-deep);font-weight:700;background:var(--tint)}.compare thead th.compare__us{border-radius:10px 10px 0 0;border-bottom-color:var(--accent)}.section--dark{background:radial-gradient(700px 360px at 85% 0%,rgba(74,222,128,.1),transparent 70%),var(--dark)}.privacy-list{margin:28px 0 0;padding:0;list-style:none;max-width:620px}.privacy-list li{margin:0;padding:16px 0 16px 34px;position:relative;color:#cfe3d6;border-bottom:1px solid rgba(255,255,255,.1);font-size:16.5px}.privacy-list li:first-child{border-top:1px solid rgba(255,255,255,.1)}.privacy-list li strong{color:#fff}.privacy-list li:before{content:"✓";position:absolute;left:2px;top:16px;color:#4ade80;font-weight:800}.privacy-note{margin:22px 0 0;max-width:620px;color:#8fb39c;font-size:13.5px}.price-toggle{display:inline-flex;gap:4px;margin:26px 0 32px;border:1px solid var(--line);border-radius:999px;padding:4px;background:#fff}.price-toggle__btn{border:0;background:transparent;padding:9px 18px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);color:var(--muted)}.price-toggle__btn.is-active{background:var(--ink);color:#fff}.price-toggle__save{font-size:11px;color:var(--accent);margin-left:4px}.price-toggle__btn.is-active .price-toggle__save{color:#86efac}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.price{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;background:#fff}.price--featured{border-color:var(--accent);box-shadow:0 20px 44px #16a34a29;transform:translateY(-8px)}.price__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;border-radius:999px;white-space:nowrap}.price h3{margin:0 0 10px;font-size:19px}.price__amt{font-family:var(--font-display);font-size:34px;font-weight:700;margin:0 0 16px}.price__amt small{font-size:14px;font-weight:500;color:var(--muted);font-family:var(--font-body)}.price ul{list-style:none;padding:0;margin:0 0 22px;color:var(--muted);font-size:14px}.price ul li{margin:0;padding:7px 0 7px 22px;position:relative;border-bottom:1px dashed var(--line)}.price ul li:last-child{border-bottom:0}.price ul li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.price .btn{margin-top:auto;text-align:center}.price__note{margin:26px 0 0;text-align:center;color:var(--muted);font-size:13.5px}.faq{margin-top:32px}.faq details{border:1px solid var(--line);border-radius:12px;padding:0;margin:0 0 12px;background:#fff;overflow:hidden}.faq summary{cursor:pointer;font-weight:600;padding:18px 48px 18px 20px;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--accent);transition:transform .2s ease}.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq p{color:var(--muted);margin:0;padding:0 20px 18px}.section--cta{text-align:center;position:relative;overflow:hidden}.section--cta h2{margin-left:auto;margin-right:auto;font-size:clamp(36px,5vw,54px)}.section--cta .lead{margin:0 auto 32px}.cta__route{width:min(600px,90%);margin:0 auto 8px;display:block;opacity:.8}.cta__route path{fill:none;stroke:#4ade80;stroke-width:2.5;stroke-dasharray:7 8;stroke-linecap:round}.cta__route circle{fill:#4ade80}#footer{background:#fff;border-top:1px solid var(--line);padding:56px 0 28px}.footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;align-items:start}.footer__brand .footer__muted{margin:10px 0 0;max-width:280px}.footer__col{display:flex;flex-direction:column;gap:10px}.footer__col h4{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.footer__col a{text-decoration:none;font-size:14.5px;color:var(--ink)}.footer__col a:hover{color:var(--accent-deep)}.footer__muted{color:var(--muted);font-size:13px}.footer__legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}@media(max-width:860px){.how-grid,.feature-grid,.price-grid,.steps-grid{grid-template-columns:1fr}.price--featured{transform:none}.footer{grid-template-columns:1fr;gap:28px}}@media(min-width:861px)and (max-width:1080px){.price-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:14px 24px;background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -6px 24px #06241b14}.cookie-banner[hidden]{display:none}.cookie-banner__text{margin:0;font-size:14px;color:var(--ink);max-width:760px}.cookie-banner__text a{color:var(--accent-deep);font-weight:600}.cookie-banner__actions{display:flex;gap:10px;flex:none}.cookie-banner .btn{padding:9px 20px;font-size:14px}@media(max-width:560px){.cookie-banner{justify-content:stretch;gap:12px}.cookie-banner__actions{width:100%}.cookie-banner__actions .btn{flex:1;text-align:center}.nav{gap:14px;padding:12px 16px}.nav__logo{font-size:16px}.nav .btn{padding:9px 16px;font-size:14px;white-space:nowrap}}@media(max-width:430px){.nav__logo__text{display:none}}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}[data-reveal].in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
