/* v0.5.0 — Approved design B. Full-width photography; only one main action.
   Customer layout only: staff operations and provider code are not changed. */
.customer-site{--page-width:1200px}.customer-site .wrap{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}
.customer-site p{color:var(--muted)}
.site-header{position:relative;z-index:60;background:var(--background)}
.nav-wrap{height:100px;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.brand img{width:112px;height:73px;object-fit:contain;filter:invert(1) grayscale(1) brightness(1.5);mix-blend-mode:screen}
.site-header nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.site-header nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:500}
.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}
.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.phone-link{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:11px 16px;border-radius:9px;font-size:14px;line-height:1.6;color:var(--ink);text-decoration:none;white-space:nowrap;min-height:46px}
.phone-link .icon{width:17px;height:17px;color:var(--link)}
.menu-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid var(--border);border-radius:8px;flex-shrink:0}
.menu-toggle span{width:20px;height:1.5px;display:block;background:var(--ink)}.menu-toggle:hover{background:var(--surface-hover)}
.notice-bar{text-align:center;padding:14px 20px;background:var(--surface);font-size:14px;color:var(--ink);border-bottom:1px solid var(--border)}
/* Exact approved photo-first hero, using the original owned brand artwork. */
.home-hero{position:relative;isolation:isolate;min-height:574px;display:flex;align-items:center;overflow:hidden;border-top:1px solid #202b3a;border-bottom:1px solid #293448}
.hero-photo{position:absolute;z-index:-3;inset:0;background-image:url('/assets/truck-hero.webp');background-size:auto 138%;background-position:right 49%;background-repeat:no-repeat;background-color:#11141b}
.home-hero:before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#0d121a 0%,#0d121af5 28%,#0d121abf 46%,#0d121a33 66%,#0d121a05 85%),linear-gradient(0deg,#0d121ae6,transparent 30%,#0d121a10 75%,#0d121a88)}
.home-hero-copy{padding-top:49px;padding-bottom:60px;position:relative;min-width:0}
.hero-location{display:flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.02em;margin:0;color:#b5cef6!important}
.hero-location .icon{width:16px;height:16px}
.home-hero h1{max-width:660px;margin:23px 0 22px;font-size:clamp(48px,5.2vw,74px);line-height:1.08;font-weight:600;letter-spacing:-.04em}
.hero-description{max-width:405px;font-size:17px;line-height:1.85;margin:0;color:#c0c9d7!important}
.hero-primary{margin-top:28px;gap:22px}.hero-primary .icon{width:18px;height:18px}
.hero-note{font-size:12px;margin:16px 0 0;color:#bdc7d6!important}
/* Three clear steps, followed by three short summaries. No extra panel stacks. */
.home-process{padding:33px 0;border-bottom:1px solid var(--border)}
.process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;margin:0;padding:0}
.process-list li{display:flex;gap:15px;align-items:center;min-width:0}
.process-list li>span{color:var(--link);font-size:12px;border:1px solid #3a4a62;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}
.process-list h2{font-size:15px;letter-spacing:-.015em;line-height:1.5;margin:0}
.home-services{padding:36px 0 42px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}
.section-title h2{font-size:23px;letter-spacing:-.03em;margin:0}
.section-title .text-link{font-size:14px;font-weight:500;gap:10px}.text-link .icon{width:17px;height:17px}
.simple-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.service-item{display:flex;gap:17px}.service-item>.icon{color:var(--link);width:25px;height:25px;margin-top:2px}
.service-item h3{font-size:17px;letter-spacing:-.025em;margin:0 0 7px;line-height:1.15}
.service-item p{font-size:14px;line-height:1.65;max-width:275px;margin:0}
/* Compact footer; the actual registration and business details stay visible. */
.site-footer{border-top:1px solid var(--border);padding:23px 0;background:var(--background);font-size:12px;color:var(--muted)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-identity{max-width:58%;line-height:1.7}.site-footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.site-footer a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:36px;font-size:12px}
.site-footer a:hover{text-decoration:underline}.form-footer .footer-identity{max-width:65%}
/* Same typography and space on supporting routes. */
.page-heading{padding:58px 0 37px}.page-heading h1{font-size:48px;line-height:1.15;letter-spacing:-.04em;margin:0 0 18px;max-width:780px}
.page-heading .lede{font-size:17px;line-height:1.65;max-width:700px;margin:0}
.prose{max-width:760px!important;margin-inline:auto;padding-bottom:40px}.prose h2{font-size:24px;margin-top:32px}.prose h2:first-child{margin-top:0}
.prose p{font-size:16px;line-height:1.8}.prose a{color:var(--link)}.prose .notice-box{margin-bottom:26px}
.services-list{padding-bottom:24px}.service-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:18px;padding:28px 0;border-top:1px solid var(--border)}
.service-row>.icon{color:var(--link);width:27px;height:27px}.service-row h2{font-size:21px;margin:0 0 8px}.service-row p{font-size:15px;line-height:1.65;margin:0;max-width:660px}
.service-row>.text-link{font-size:14px;margin-left:20px}.service-footnote{font-size:14px;line-height:1.75;margin:24px 0 0;max-width:760px}
.faq-section{padding:36px 0 40px}.faq-section h2{font-size:26px;margin-bottom:22px}.faq-list details{border-top:1px solid var(--border);padding:4px 0}
.faq-list details:last-child{border-bottom:1px solid var(--border)}.faq-list summary{padding:12px 0;min-height:58px;font-size:17px}.faq-list p{max-width:780px;margin:4px 0 20px;font-size:15px}.faq-list a{color:var(--link)}
.page-cta{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 0 50px}
.page-cta h2{font-size:26px;margin-bottom:9px}.page-cta p{margin:0}.page-cta>.button{flex-shrink:0}
.fleet-overview{padding-bottom:50px}.fleet-actions{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.fleet-actions>div{padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.fleet-actions h2{font-size:25px;margin-bottom:14px}.fleet-actions p{max-width:430px;min-height:60px;font-size:15px;margin-bottom:25px}
.fleet-explainer{margin-block:26px}.fleet-overview>p{max-width:750px;font-size:14px}
.contact-simple{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:10px 0 65px}
.contact-simple h2{font-size:23px}.contact-phone{font-size:34px;letter-spacing:-.03em;min-height:44px;display:inline-flex;align-items:center;color:var(--link);text-decoration:none;margin-bottom:17px}
.contact-simple p.small{margin-top:20px}.contact-simple a{overflow-wrap:anywhere}
/* Existing four-step intake. One centered flow, no promotional sidebar or floating controls. */
.intake-main{padding-bottom:54px;min-height:65vh}
.customer-site .intake-main .wrap{width:min(710px,calc(100% - 48px));max-width:710px}
.intake-main .page-heading{padding:48px 0 26px}
.intake-main .page-heading h1{font-size:34px}.intake-main .page-heading .lede{font-size:16px}
.intake-layout{display:block}
.request-open .page-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.request-open .intake-layout{padding-top:26px}
.choice-grid{display:flex;flex-direction:column;gap:14px;margin:10px 0 40px}
.choice-card{width:100%;display:flex;align-items:center;gap:20px;padding:24px;border:1px solid var(--field-border);border-radius:11px;background:var(--surface);text-align:left;text-decoration:none;transition:background .15s,border-color .15s}
.choice-card:hover{background:var(--surface);border-color:var(--link)}
.choice-icon{display:flex;align-items:center;color:var(--link)}.choice-icon .icon{width:26px;height:26px}
.choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.choice-title{font-size:18px;font-weight:600;color:var(--ink);line-height:1.35}
.choice-copy>span:last-child{font-size:13px;color:var(--muted);line-height:1.5}
.choice-arrow{margin-left:auto;font-size:20px;color:var(--link)}
.back-link{font-size:14px;margin-bottom:14px}
.form-card{padding:30px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.form-heading{display:block;margin:18px 0 22px}
.form-heading h2{font-size:34px;letter-spacing:-.04em;margin:0 0 12px;outline:none}
.form-heading h2:focus-visible{outline:2px solid var(--link);outline-offset:5px}
.form-heading p:not(.sr-only){font-size:15px;margin:0;line-height:1.6}
.progress-steps{display:flex;margin:0 0 28px;padding:0;list-style:none;border-bottom:1px solid var(--border);gap:0}
.progress-steps li{flex:1;min-width:0;border-bottom:2px solid transparent;margin-bottom:-1px}
.progress-steps button{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;padding:12px 4px;min-height:48px;color:var(--muted);font-size:13px}
.progress-steps button b{display:grid;place-items:center;width:26px;height:26px;border:1px solid #425168;border-radius:50%;font-size:12px;flex:none;font-weight:500}
.progress-steps .current{border-color:var(--accent)}.progress-steps .current b{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.progress-steps .current button{color:var(--ink)}
.progress-steps .done button{color:var(--link)}
.progress-steps button:disabled{opacity:1;cursor:default}
.required-note{font-size:14px;margin:0 0 20px;color:var(--muted)}
.vehicle-block{border:0;padding:0;margin:0 0 24px}
.vehicle-block+.vehicle-block{border-top:1px solid var(--border);padding-top:24px}
.vehicle-block header{display:flex;align-items:center;justify-content:space-between;font-size:18px;margin-bottom:18px}
.vehicle-block .personal-vehicle-heading{display:none}
.vehicle-block header button{font-size:14px;color:var(--link);min-height:44px}
.vehicle-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.vehicle-basic-grid:has(>label:nth-child(3)){grid-template-columns:.7fr 1fr 1fr}
.fleet-unit-field{margin-bottom:22px}
.vehicle-more{margin-bottom:0}
.concern-section{margin-top:28px}
.concern-section>.field+.field{margin-top:22px}
.concern-section textarea{min-height:125px}
.upload-panel{border-inline:0;border-radius:0;background:transparent;padding-inline:0}
.upload-panel>p{font-size:14px;margin:0 0 16px}
.upload-panel>.text-link{font-size:14px;margin-bottom:14px}
[data-panel=visit]>.field{margin-top:22px}
.form-actions{display:flex;align-items:center;gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}
.form-actions #next-step,.form-actions #submit-request{margin-left:auto;min-width:150px}
.form-actions #prev-step{border:0;background:transparent;padding-left:0;color:var(--link)}
.consent-panel{margin-top:28px;padding:22px 0 0;border-top:1px solid var(--border);background:transparent}
.readiness-note{border-left:2px solid var(--link);padding:14px;background:var(--surface);font-size:14px;margin:0;color:var(--muted)}
.request-review{margin:0;border:0;background:transparent;padding:0}
.review-group{border-top:1px solid var(--border);padding:20px 0}
.review-group:first-child{border-top:0;padding-top:0}
.review-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;background:transparent}
.review-group-heading h3{font-size:21px;margin:0}
.review-group-heading button{color:var(--link);font-size:14px;min-height:44px;flex-shrink:0}
.review-group dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0}
.review-group dt{font-size:14px;color:var(--muted);margin-bottom:4px}
.review-group dd{margin:0;color:var(--ink);font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.review-wide{grid-column:1/-1}
.review-promise{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--border);padding-top:22px;margin-top:4px;font-size:15px}
.review-promise .icon{width:20px;height:20px;color:var(--muted);margin-top:2px}
.review-promise p{margin:0}.review-promise strong{color:var(--ink);display:block;margin-bottom:8px}
.form-disclaimer{font-size:14px;line-height:1.7;margin:20px 0 0}
.form-disclaimer a{color:var(--link)}
.success-card{padding:30px;background:var(--surface);outline:none}
.success-card h2{font-size:32px}
.success-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--field-border);border-radius:50%;color:var(--ink);margin-bottom:25px}
.reference-number{display:block;font-size:23px;line-height:1.5;letter-spacing:0;padding:14px 0 24px;overflow-wrap:anywhere}
.success-next{border-block:1px solid var(--border);padding:24px 0;margin:0 0 28px}
.success-next strong{font-size:19px;display:block;margin-bottom:12px}.success-next p{font-size:16px;margin:0}
.form-footer{padding:15px 0 25px;margin-top:0}.form-footer .footer-bottom{border:0;padding-top:5px}
/* Google suggestions: keep controls, attribution, keyboard states and manual fallback clear. */
.address-field{min-width:0;position:relative;gap:8px}
.address-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.address-heading>label{font-size:16px;line-height:1.5}
.address-control{position:relative;min-width:0}.address-control>input{width:100%}
.address-dropdown{position:absolute;z-index:80;inset:calc(100% + 6px) 0 auto;border:1px solid var(--field-border);border-radius:7px;background:var(--surface);box-shadow:0 8px 25px #0005;overflow:hidden}
.address-dropdown [role=listbox]{max-height:270px;overflow-y:auto;overscroll-behavior:contain}
.address-option{padding:14px 16px;min-height:62px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.address-option strong{font-size:16px;color:var(--ink);line-height:1.45}.address-option span{font-size:14px;color:var(--muted);line-height:1.5}
.address-option:hover,.address-option[aria-selected=true]{background:var(--surface-hover);box-shadow:inset 3px 0 var(--link)}
.address-attribution{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);padding:10px 14px;color:var(--muted);font-size:13px}
.google-maps-attribution{font-family:inherit;font-size:13px;font-style:normal;white-space:nowrap;color:var(--muted)}
.address-meta{display:flex;align-items:flex-start;gap:12px}.address-meta small{font-size:14px;line-height:1.6;color:var(--muted)}
.address-toggle{color:var(--link);font-size:14px;line-height:1.6;flex-shrink:0;text-decoration:underline;text-underline-offset:4px}
.address-status{font-size:14px;color:var(--muted);line-height:1.6}.address-status:empty{display:none}

.customer-site .field,.customer-site .address-heading>label{font-size:14px}.customer-site input,.customer-site textarea,.customer-site select{font-size:16px}.customer-site .address-meta small,.customer-site .address-status{font-size:12px}.required-note{font-size:12px}.form-disclaimer{font-size:12px}.review-group dt{font-size:12px}.review-group-heading h3{font-size:20px}.request-review{font-weight:500}

@media(min-width:1700px){.hero-photo{background-size:auto 165%;background-position:85% 50%}}
@media(max-width:1100px){
 .customer-site .wrap{width:calc(100% - 64px)}.nav-wrap{gap:24px}.site-header nav{gap:24px}
 .home-hero{min-height:550px}.hero-photo{background-size:auto 130%;background-position:78% 50%}.home-hero h1{font-size:63px}
 .footer-row{gap:20px}.site-footer nav{gap:18px}
}
@media(max-width:780px){
 .customer-site .wrap{width:calc(100% - 44px)}.nav-wrap{height:87px;gap:15px}
 .brand img{width:100px;height:66px}.phone-link{margin-left:auto;padding:9px 11px;font-size:12px;min-height:44px}.phone-link .icon{width:15px;height:15px}
 .menu-toggle{display:flex}.site-header nav{display:none}.site-header nav.open{display:flex;position:absolute;top:82px;right:22px;left:22px;z-index:5;margin:0;border:1px solid var(--border);padding:16px 22px;background:#182332;border-radius:12px;gap:10px;flex-direction:column;align-items:stretch;box-shadow:0 20px 40px #0008}
 .site-header nav a{text-align:left;font-size:16px;padding:12px;min-height:48px}
 .home-hero{min-height:710px;align-items:flex-start}.home-hero-copy{padding-top:40px;padding-bottom:280px}
 .home-hero h1{font-size:49px;max-width:440px;margin-top:20px;margin-bottom:18px}.hero-location{font-size:12px}
 .hero-description{font-size:16px;line-height:1.75;max-width:400px}.hero-primary{margin-top:24px;min-width:204px}.hero-note{font-size:12px}
 .hero-photo{background-size:auto 66%;background-position:center bottom;opacity:.9}
 .home-hero:before{background:linear-gradient(180deg,#0d121a 0%,#0d121afa 38%,#0d121a77 64%,#0d121a00 83%,#0d121a9c 100%)}
 .home-process{padding:25px 0}.process-list{grid-template-columns:1fr;gap:16px}.process-list li>span{width:26px;height:26px;font-size:11px}.process-list h2{font-size:14px}
 .home-services{padding:28px 0 33px}.section-title{margin-bottom:22px;gap:15px}.section-title h2{font-size:21px}.section-title>.text-link{font-size:13px;gap:8px;flex-shrink:0}
 .simple-services{grid-template-columns:1fr;gap:25px}.service-item{gap:14px}.service-item p{max-width:500px}.service-item h3{margin-bottom:5px}
 .site-footer{padding:20px 0}.footer-row{flex-wrap:wrap;gap:12px}.footer-identity,.form-footer .footer-identity{max-width:100%}.site-footer nav{gap:20px}
 .page-heading{padding:38px 0 32px}.page-heading h1{font-size:36px}.page-heading .lede{font-size:16px}
 .service-row{grid-template-columns:30px 1fr;gap:14px;padding:24px 0}.service-row h2{font-size:20px}.service-row>.text-link{grid-column:2;margin-left:0;justify-self:start;margin-top:-6px}
 .faq-section{padding:26px 0 35px}.faq-list summary{font-size:17px;gap:22px}
 .page-cta{display:block;padding:30px 0 38px}.page-cta h2{font-size:25px}.page-cta>.button{margin-top:24px}
 .fleet-actions,.contact-simple{grid-template-columns:1fr;gap:18px}.fleet-actions p{min-height:0}.fleet-actions>div{padding:24px}.fleet-actions h2{font-size:23px}
 .contact-simple{padding-bottom:40px;gap:30px}.contact-simple>div+div{border-top:1px solid var(--border);padding-top:28px}.contact-phone{font-size:29px}
 .intake-main .page-heading{padding-top:35px}.intake-main .page-heading h1{font-size:32px}.request-open .intake-layout{padding-top:18px}
 .form-heading{margin:16px 0 18px}.form-heading h2{font-size:29px}.form-card{padding:23px}
 .choice-card{padding:20px;gap:16px}.choice-title{font-size:17px}.choice-copy>span:last-child{font-size:13px}.choice-icon .icon{width:26px;height:26px}
 .form-actions{gap:12px}.progress-steps{margin-bottom:25px}.progress-steps button{font-size:12px;gap:6px}.progress-steps button b{width:23px;height:23px;font-size:11px}
 .review-group-heading h3{font-size:20px}.review-group dl{gap:16px}.review-group-heading button{font-size:13px}
}
@media(max-width:480px){
 .customer-site .intake-main .wrap{width:calc(100% - 40px)}.vehicle-basic-grid{gap:16px}
 .vehicle-basic-grid:has(>label:nth-child(3)){grid-template-columns:1fr 1fr}.vehicle-basic-grid:has(>label:nth-child(3))>label:first-child{grid-column:1/-1}
 .review-group dl{grid-template-columns:1fr}.form-card{padding:20px}.review-group-heading{gap:10px}.review-group-heading h3{font-size:18px}
 .progress-steps button{font-size:12px;gap:5px;padding-inline:0}.progress-steps button b{width:21px;height:21px;font-size:10px}.choice-card{padding:18px 16px;gap:14px}
 .address-attribution{font-size:12px}.address-heading{gap:8px}.address-toggle{font-size:12px}.address-heading>label{font-size:14px}
}
@media(max-width:365px){
 .customer-site .wrap{width:calc(100% - 32px)}.brand img{width:87px;height:60px}.nav-wrap{gap:9px;height:80px}.phone-link{padding:9px 8px;font-size:11px;gap:6px}.phone-link .icon{display:none}.menu-toggle{width:44px;height:44px}
 .home-hero h1{font-size:41px}.home-hero-copy{padding-top:31px}.home-hero{min-height:680px}
 .section-title h2{font-size:19px}.section-title>.text-link{font-size:12px}.form-heading h2{font-size:27px}.form-card{padding:17px}
 .customer-site .intake-main .wrap{width:calc(100% - 32px)}.progress-steps button{font-size:11px;gap:4px}.progress-steps button b{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.choice-card{transition:none}}
@media print{
 .site-header,.site-footer,.stage-banner,.back-link,.form-actions,.progress-steps,.hero-primary{display:none!important}
 .customer-site{background:#fff;color:#111}.customer-site .wrap,.customer-site .intake-main .wrap{width:100%;max-width:none}
 .home-hero{min-height:0;padding:15px 0}.home-hero-copy{padding:0}.hero-photo,.home-hero:before{display:none}
 .hero-location,.hero-description,.hero-note{color:#333!important}.form-card,.request-review{border:0;background:#fff;color:#111;padding:0}
 .review-group{break-inside:avoid}.request-open .intake-layout{padding:0}.form-heading{margin-top:0}
 input:-webkit-autofill{-webkit-text-fill-color:#111;-webkit-box-shadow:0 0 0 1000px white inset}
}

/* Required registration remains visible, outside optional details. */
.vehicle-registration-grid{margin-top:22px}
@media(max-width:600px){.vehicle-registration-grid{margin-top:18px}}
