*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--ui-background);color:var(--ui-ink);font-family:var(--ui-font);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid var(--ui-accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.25vw,5.1rem);font-weight:650;margin-bottom:28px}h1 span{color:var(--ui-accent)}h2{font-size:clamp(2rem,3.5vw,3.45rem);font-weight:620;margin-bottom:24px}h3{font-size:1.55rem;font-weight:620}p{margin-bottom:20px}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;gap:28px;min-height:112px;border-bottom:1px solid var(--ui-border)}.logo{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-size:1.5rem;font-weight:750;letter-spacing:-.06em;white-space:nowrap}.logo-mark{background:var(--ui-brand);color:var(--ui-on-brand);width:36px;height:36px;border-radius:11px;font-size:1.6rem;line-height:1.3;text-align:center;letter-spacing:-.1em}.logo-mark span{font-weight:400}/* Approved wordmark assets own their intrinsic proportions. */.site-header .logo img,.site-footer .logo img{flex-shrink:0;max-width:100%}.draft{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-muted);font-weight:600;max-width:50px;white-space:normal;line-height:1.3}.navigation{margin-left:auto}.navigation summary{display:none}.navigation nav,.header-actions{display:flex;gap:24px;align-items:center}.navigation nav a,.header-actions a{font-size:.85rem;text-decoration:none;white-space:nowrap}.header-actions{gap:18px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:52px;padding:13px 24px;background:var(--ui-brand);color:var(--ui-on-brand);border:1px solid transparent;border-radius:var(--ui-radius-control);font-weight:650;text-decoration:none;line-height:1.5}.button:hover{background:var(--ui-brand-hover)}.button.small{min-height:44px;padding:10px 17px;gap:15px}.theme-toggle{border:1px solid var(--ui-border);border-radius:30px;background:var(--ui-surface);min-height:44px;padding:8px 12px;font-size:.75rem}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-block:66px 80px}.eyebrow,.number{font-size:.69rem;letter-spacing:.16em;font-weight:750;color:var(--ui-accent);line-height:1.6}.hero .eyebrow{margin-bottom:24px}.lead{font-size:1.13rem;line-height:1.75;color:var(--ui-muted);max-width:475px}.actions{display:flex;gap:26px;align-items:center;margin-block:32px 18px}.text-link{font-size:.88rem;font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;gap:14px;align-items:center}.fine{font-size:.8rem;color:var(--ui-muted)}.preview-note{font-size:.75rem;color:var(--ui-muted);max-width:370px}.product-stage{margin:0;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:24px 20px 12px;border-radius:180px 180px 24px 24px;background:var(--ui-surface-muted)}.stage-label{font-size:.59rem;letter-spacing:.2em;margin-bottom:19px;font-weight:700;color:var(--ui-accent)}.phone{width:296px;max-width:100%;padding:22px 20px 0;background:var(--ui-surface);border:6px solid var(--ui-ink);border-radius:34px;box-shadow:0 22px 45px rgba(var(--ui-brand-rgb),.12);transform:rotate(-3deg)}.phone-top{display:flex;justify-content:space-between;font-weight:750;font-size:1.05rem;margin-bottom:22px;letter-spacing:-.05em}.phone .eyebrow{font-size:.55rem;margin-bottom:3px}.vehicle-title{font-size:.92rem;font-weight:700;display:flex;justify-content:space-between}.muted{color:var(--ui-muted)}.compact{font-size:.68rem;margin-bottom:15px}.odometer{background:var(--ui-surface-muted);padding:13px 16px;border-radius:12px;overflow:hidden}.odometer>span{font-size:.5rem;letter-spacing:.15em}.odometer strong{display:block;font-size:1.85rem;letter-spacing:-.05em;line-height:1.4}.odometer small{font-size:.7rem;font-weight:400;letter-spacing:0}.road-line{height:5px;margin-top:10px;border-top:2px dashed var(--ui-accent)}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 5px}.preview-heading h3{font-size:.8rem;margin:0;letter-spacing:-.02em}.preview-heading>span{font-size:.6rem;color:var(--ui-muted)}.record{padding:12px 0;border-bottom:1px solid var(--ui-border)}.record-type{display:flex;align-items:center;gap:8px;font-size:.48rem;letter-spacing:.1em;color:var(--ui-accent);font-weight:700}.tag{font-size:.45rem;padding:1px 5px;background:var(--ui-surface-muted);border-radius:4px;letter-spacing:0}.record strong{display:block;font-size:.78rem;margin:3px 0}.record>div{display:flex;justify-content:space-between;font-size:.54rem;color:var(--ui-muted)}.record b{color:var(--ui-ink)}.phone-nav{display:flex;justify-content:space-between;font-size:.49rem;padding:17px 0;color:var(--ui-accent);font-weight:650}figcaption{font-size:.65rem;color:var(--ui-muted);margin-top:22px}.stage-stamp{position:absolute;right:-22px;bottom:85px;padding:18px;background:var(--ui-brand);color:var(--ui-on-brand);font-size:.61rem;line-height:1.6;letter-spacing:.08em;transform:rotate(6deg);border-radius:3px}.principles{border:0}.principles .wrap,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:30px 32px;background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.benefit{min-width:0;padding-inline:28px}.benefit:first-child{padding-left:0}.benefit:last-child{padding-right:0}.benefit+.benefit{border-left:1px solid var(--ui-border)}.benefit h3{font-size:1.12rem;line-height:1.35;letter-spacing:-.025em;margin:0 0 9px;color:var(--ui-ink)}.benefit p{font-size:.9rem;line-height:1.65;margin:0;color:var(--ui-muted)}
.hero{padding-bottom:48px}#features{padding-top:72px}.section{padding-block:100px}.section-heading{max-width:730px;margin-bottom:45px}.section-heading>p:last-child{max-width:440px;color:var(--ui-muted)}.feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature-main{background:var(--ui-surface-muted);padding:40px;border-radius:22px}.number{display:block;margin-bottom:22px}.feature-main h3{font-size:2rem}.feature-main>p,.feature-stack p{max-width:430px;color:var(--ui-muted)}.route-paper{background:var(--ui-surface);padding:25px;border:1px solid var(--ui-border);border-radius:12px;margin-top:35px;transform:rotate(-2deg)}.route{display:flex;align-items:center;gap:12px;font-weight:650;margin-block:14px 24px}.route-dots{flex:1;border-top:2px dashed var(--ui-accent);min-width:12px}.paper-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--ui-border);padding-top:14px;font-size:.75rem}.paper-bottom strong{font-size:1.1rem}.feature-stack{display:grid;gap:24px}.feature-stack article{background:var(--ui-surface);padding:32px 38px;border:1px solid var(--ui-border);border-radius:22px}.feature-stack article p{margin:0}.workflow{background:var(--ui-surface-subtle)}.steps{list-style:none;margin-top:50px;margin-bottom:0}.steps li>span{display:block;font-size:.75rem;font-weight:650;letter-spacing:.08em;color:var(--ui-accent);margin-bottom:10px}.device{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.device p{color:var(--ui-muted)}.device-art{background:var(--ui-surface-muted);padding:48px 25px 24px;border-radius:22px}.browser-art{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px;overflow:hidden;box-shadow:var(--ui-shadow);transform:rotate(-3deg)}.browser-bar{border-bottom:1px solid var(--ui-border);padding:8px 15px;color:var(--ui-accent);font-size:.7rem}.browser-bar span{margin-left:15px;color:var(--ui-muted);font-size:.6rem}.browser-content{padding:25px}.browser-content strong{font-size:1.15rem;letter-spacing:-.03em}.browser-content>div{height:20px;border-radius:4px;background:var(--ui-surface-muted);margin-top:12px}.browser-content>div:nth-of-type(2){width:80%}.browser-content>span{font-size:.57rem;display:block;margin-top:25px;color:var(--ui-accent)}.device-label{display:block;font-size:.56rem;letter-spacing:.12em;text-align:center;margin-top:32px;color:var(--ui-accent)}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--ui-border)}.pricing>div>p:not(.eyebrow){max-width:440px;color:var(--ui-muted)}.price-card{border:1px solid var(--ui-border);border-radius:22px;padding:32px;background:var(--ui-surface)}.price-row{display:flex;justify-content:space-between;gap:20px;padding-block:22px;border-bottom:1px solid var(--ui-border)}.price-row h3{font-size:1.1rem;margin-bottom:8px}.price-row p{font-size:.8rem;margin:0;color:var(--ui-muted)}.price-row .price{font-size:1.9rem;font-weight:650;letter-spacing:-.05em;line-height:1.3;color:var(--ui-ink);text-align:right;white-space:nowrap}.price span{display:block;font-size:.75rem;font-weight:400;letter-spacing:0;color:var(--ui-muted)}.price-card>p:not(.eyebrow){font-size:.86rem;margin-block:22px}.price-card .button{width:100%;font-size:.88rem}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;border-top:1px solid var(--ui-border)}.questions details{border-bottom:1px solid var(--ui-border)}.questions summary{font-weight:600;line-height:1.5;padding:23px 30px 23px 0;position:relative;list-style:none}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';position:absolute;right:6px;color:var(--ui-accent)}.questions details[open] summary:after{content:'−'}.questions p{color:var(--ui-muted);font-size:.92rem;padding-right:25px}.closing{text-align:center;padding:65px 30px;background:var(--ui-surface-muted);border-radius:24px;margin-bottom:70px}.closing .fine{margin:20px 0 0}.site-footer{border-top:1px solid var(--ui-border);padding-block:32px;display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}.site-footer p{font-size:.85rem;color:var(--ui-muted);margin:0}.site-footer>div{margin-left:auto;display:flex;gap:20px}.site-footer button{border:0;background:transparent;padding:10px 0;min-height:44px;font-size:.8rem}.site-footer>.fine{flex-basis:100%;font-size:.7rem}dialog{background:var(--ui-surface);color:var(--ui-ink);border:1px solid var(--ui-border);border-radius:20px;padding:32px;max-width:480px;width:calc(100% - 40px);box-shadow:var(--ui-shadow)}dialog h2{font-size:1.8rem}dialog::backdrop{background:rgba(var(--ui-brand-rgb),.4)}.skip{position:fixed;left:15px;top:-100px;padding:12px;background:var(--ui-surface);z-index:50}.skip:focus{top:15px}.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}[hidden]{display:none!important}.register-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:70px 90px;align-items:start}.register-intro{padding-top:35px}.register-intro h1{font-size:clamp(3rem,4.5vw,4.6rem)}.trial-summary{border-top:1px solid var(--ui-border);padding-top:25px;margin-top:35px}.trial-summary h2{font-size:1.2rem;letter-spacing:-.02em}.trial-summary p{font-size:.92rem}.signup-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:22px;padding:32px}.signup-card h2{font-size:1.8rem;margin-bottom:14px}.signup-card>p{font-size:.88rem;color:var(--ui-muted)}.preview-banner{background:var(--ui-warning-soft);color:var(--ui-warning);border:1px solid currentColor;border-radius:10px;padding:16px;font-size:.8rem;margin-bottom:28px}.preview-banner p{margin:5px 0 0;line-height:1.6}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-weight:600;font-size:.84rem;margin-bottom:7px}label span{font-weight:400;color:var(--ui-muted)}input{width:100%;min-height:48px;background:var(--ui-input);color:var(--ui-ink);border:1px solid var(--ui-border);border-radius:8px;padding:10px 12px;margin-bottom:20px;min-width:0}input::placeholder{color:var(--ui-muted)}.password-field{position:relative}.password-field input{padding-right:78px}.password-field button{position:absolute;right:4px;top:2px;background:transparent;border:0;min-height:44px;min-width:64px;font-size:.77rem;color:var(--ui-brand)}#preview-submit{width:100%;gap:15px}#form-status:not(:empty){background:var(--ui-success-soft);color:var(--ui-success);border:1px solid currentColor;padding:15px;border-radius:10px;margin-top:20px;font-size:.9rem}#form-status:empty{margin:0}
@media(min-width:1051px){.navigation:not([open]) nav{display:flex}}
@media(max-width:1150px){.site-header{gap:18px}.navigation nav{gap:15px}.header-actions{gap:12px}.draft{display:none}.hero{gap:35px}.stage-stamp{right:-10px}.register-layout{gap:55px}}
@media(max-width:1050px){.site-header{position:relative;flex-wrap:wrap;padding-block:20px;min-height:90px}.navigation{order:3;margin-left:0;width:100%}.navigation summary{display:flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:650}.navigation nav{padding:10px 0;flex-wrap:wrap}.navigation nav a{min-height:44px;display:inline-flex;align-items:center}.header-actions{margin-left:auto}.hero{padding-top:45px}.stage-stamp{display:none}h1{font-size:3.5rem}.device,.pricing,.faq{gap:40px}.feature-main{padding:30px}.feature-stack article{padding:28px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.site-header{gap:12px}.header-actions{gap:12px;flex-wrap:wrap;justify-content:flex-end}.header-actions .sign-in{display:none}.header-actions .button{font-size:.76rem;padding-inline:12px;gap:10px}.logo{font-size:1.3rem}.logo-mark{width:30px;height:30px;font-size:1.35rem;border-radius:9px}.theme-toggle{font-size:.68rem;padding-inline:10px}.hero{grid-template-columns:1fr;gap:35px;padding-block:40px 50px}h1{font-size:clamp(2.7rem,8vw,4rem)}.lead{font-size:1.04rem}.hero-copy{max-width:560px}.hero .eyebrow{font-size:.62rem}.actions{gap:20px;flex-wrap:wrap}.product-stage{width:min(430px,100%);margin-inline:auto;padding-top:25px}.phone{width:286px}.principles .wrap,.steps{grid-template-columns:1fr;padding:6px 24px}.benefit,.benefit:first-child,.benefit:last-child{padding:20px 0}.benefit+.benefit{border-left:0;border-top:1px solid var(--ui-border)}.benefit h3{margin-bottom:6px}.hero{padding-bottom:32px}#features{padding-top:48px}.section{padding-block:60px}.feature-layout,.device,.pricing,.faq,.register-layout{grid-template-columns:1fr;gap:30px}.section-heading{margin-bottom:28px}.feature-main{padding:28px}.feature-main h3{font-size:1.8rem}.route-paper{padding:19px}.steps{margin-top:30px}.device-art{order:2;max-width:460px;width:100%;margin-inline:auto}.pricing{gap:25px}.price-card{padding:25px}.faq{gap:5px}.closing{padding:45px 20px;margin-bottom:45px}.site-footer{gap:12px 20px}.site-footer>div{margin-left:0;flex-basis:100%}.site-footer p{font-size:.75rem}.register-layout{padding-block:35px 60px}.register-intro{padding-top:0}.register-intro h1{font-size:3rem}.signup-card{padding:23px}.register-layout .lead{max-width:100%}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.site-header{gap:10px}.site-header>.logo{flex-basis:100%}.header-actions{margin-left:0;width:100%;justify-content:space-between}.navigation{order:0;width:auto;margin-left:auto}.navigation nav{position:absolute;left:0;right:0;top:66px;background:var(--ui-surface);padding:14px;border:1px solid var(--ui-border);border-radius:12px;z-index:10;gap:8px 20px}.hero h1{font-size:2.7rem}.product-stage{padding-inline:12px}.price-row .price{font-size:1.6rem}.price-row{gap:10px}.register-intro h1{font-size:2.7rem}.signup-card{padding:19px}.route{font-size:.86rem}}
/* Prevent intrinsic mockup widths from expanding narrow grid tracks. */
.hero>*,.feature-layout>*,.device>*,.pricing>*,.faq>*,.register-layout>*{min-width:0}.product-stage{min-width:0}.phone{max-width:100%}
@media(max-width:1050px){.navigation:not([open]) nav{display:none}}
@media(max-width:740px){.site-header{display:grid;grid-template-columns:1fr auto;gap:12px;padding-block:18px}.navigation{grid-column:2;grid-row:1;order:initial;width:auto;margin-left:0}.navigation nav{position:absolute;left:0;right:0;top:100%;z-index:10;padding:14px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;gap:8px 20px}.header-actions{grid-column:1/-1;margin:0;width:100%;justify-content:space-between}.header-actions .sign-in{display:inline-flex;align-items:center;min-height:44px}.phone{transform:none}}
/* Keep the unfocused skip link unpainted even in long element captures. */
.skip:not(:focus) { clip-path: inset(50%); }
/* Connected-agent examples: static content, never an embedded chat client. */
.ai-section { border-top: 1px solid var(--ui-border); }
.ai-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ai-intro > * { min-width: 0; }
.ai-example { background: var(--ui-surface-muted); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); padding: 32px; }
.ai-example blockquote { margin: 18px 0 26px; font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 550; line-height: 1.5; letter-spacing: -.025em; }
.ai-example > p:not(.eyebrow) { margin-bottom: 12px; font-size: .9rem; color: var(--ui-muted); }
.ai-flow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 24px; padding: 14px 16px; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); font-size: clamp(.85rem, 1.3vw, 1rem); font-weight: 750; color: var(--ui-brand); }
.ai-flow > span:nth-child(2) { font-size: 1.5rem; line-height: 1; flex-shrink: 0; }
.ai-prompt-heading { margin: 48px 0 20px; }
.ai-prompt-heading h3 { margin-bottom: 12px; }
.ai-prompt-heading p { color: var(--ui-muted); max-width: 680px; }
.prompt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.prompt-group { min-width: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); background: var(--ui-surface); }
.prompt-group summary { min-height: 60px; padding: 17px 22px; font-weight: 650; line-height: 1.5; }
.prompt-group[open] summary { border-bottom: 1px solid var(--ui-border); }
.prompt-group ul { list-style: none; padding: 4px 22px; margin: 0; }
.prompt-group li { padding: 18px 0; color: var(--ui-muted); overflow-wrap: anywhere; }
.prompt-group li + li { border-top: 1px solid var(--ui-border); }
.prompt-group q { quotes: none; }
@media (max-width: 740px) {
  .ai-intro, .prompt-grid { grid-template-columns: 1fr; gap: 20px; }
  .ai-example { padding: 24px; }
  .ai-prompt-heading { margin-top: 32px; }
  .prompt-group summary { padding-inline: 18px; }
  .prompt-group ul { padding-inline: 18px; }
}

/* Compact icon control; accessible labels describe the next theme. */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border-radius: 50%; color: var(--ui-ink); }
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover { background: var(--ui-surface-muted); border-color: var(--ui-brand); }
.theme-icon { display: block; width: 20px; height: 20px; pointer-events: none; }
.theme-icon-sun { display: none; }
html[data-theme="dark"] .theme-icon-moon { display: none; }
html[data-theme="dark"] .theme-icon-sun { display: block; }

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* The marketing lockup mirrors the app header exactly - same emblem size, same
   wordmark width and gap - so the brand reads identically on both surfaces.
   These rules load after branding.css and deliberately win. */
.site-header .logo, .site-footer .logo { gap: .5rem; }
.site-header .logo .brand-emblem, .site-footer .logo .brand-emblem { width: 48px; height: auto; }
.site-header .logo .brand-name, .site-footer .logo .brand-name { width: 128px; }
@media (max-width: 740px) {
  .site-header .logo .brand-emblem { width: 44px; }
  .site-header .logo .brand-name { width: 114px; }
}
@media (max-width: 380px) {
  .site-header .logo .brand-emblem { width: 40px; }
  .site-header .logo .brand-name { width: 104px; }
}
/* The phone mockup renders the same lockup the app itself renders. */
.phone-top .phone-brand { display: inline-flex; align-items: center; gap: .35rem; }
.phone-top .phone-brand .brand-emblem { width: 22px; height: auto; flex: 0 0 auto; }
.phone-top .phone-brand .brand-name { width: 58px; }

/* The annual plan leads: it is the recommended option and the better value.
   Monthly stays visible as the low-commitment entry point. */
.price-row-best { border-top: 1px solid var(--ui-border); }
.price-tag { display: inline-block; margin-left: .45rem; padding: .1rem .4rem; border-radius: 4px;
  background: var(--ui-brand); color: var(--ui-on-brand); font-size: .58rem; letter-spacing: .08em;
  vertical-align: middle; }

/* Static legal pages share the marketing chrome. */
.legal { padding-block: 56px 72px; max-width: 760px; }
.legal h1 { font-size: clamp(2.2rem, 4vw, 3rem); margin-bottom: 12px; }
.legal h2 { font-size: 1.25rem; margin: 32px 0 10px; }
.legal p, .legal li { color: var(--ui-muted); }
.legal ul { margin: 0 0 18px; padding-left: 20px; }
.legal li { margin-bottom: 8px; }
.legal .fine { font-size: .8rem; color: var(--ui-muted); }
.legal-back { margin: 0 0 12px; font-size: .85rem; }
.legal-back a { color: var(--ui-brand); text-decoration: none; font-weight: 600; }
