/* Revision 2: clearer reading sizes, stronger color and restrained movement. */
:root { --ink:#202b25; --muted:#566158; --gold:#f6ca28; --radius:6px; }
.preview-bar { min-height:38px; font-size:12px; }
.brand-description { font-size:10px; }
.desktop-nav { font-size:15px; }
.button,.hero-actions .button { font-size:16px; min-height:58px; box-shadow:0 5px 0 #b6961a,0 12px 24px #ac891018; transition:transform .2s,box-shadow .2s,background .2s; }
.button>span,.text-link>span,.renter-button>span { transition:transform .2s; }
.button:hover { transform:translateY(-3px); box-shadow:0 7px 0 #b6961a,0 16px 27px #ac891023; background:#ffda48; border-color:#ffda48; }
.button:hover>span,.text-link:hover>span,.renter-button:hover>span { transform:translate(3px,-3px); }
.button:active { transform:translateY(2px); box-shadow:0 2px 0 #b6961a; }
.button-small { font-size:14px; min-height:48px; }
.hero-copy>.eyebrow { font-size:12px; }
.short-line { width:30px; height:3px; background:#d3a812; }
.hero h1 span { color:#496d48; text-decoration:underline; text-decoration-color:#ebc747; text-decoration-thickness:.065em; text-underline-offset:.08em; }
.hero-lead { font-size:23px; }
.hero-description { font-size:18px; max-width:430px; line-height:1.7; }
.hero-actions { margin-top:31px; }
.text-link,.hero-actions .text-link { font-size:16px; }
.quiet-note { font-size:13px; margin-top:22px; max-width:430px; }
.vehicle-stage { isolation:isolate; overflow:visible; background:radial-gradient(ellipse at 70% 15%,#fff4a9 0%,#fbe277 30%,#f4cb2f 70%,#e8b81b 100%); border-radius:15px 15px 70px 15px; box-shadow:0 22px 40px -22px #96730755; }
.vehicle-stage::before { content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; overflow:hidden; background:linear-gradient(128deg,transparent 48%,#fff8c660 48.2%,#fff8c660 48.6%,transparent 48.8%,transparent 56%,#fff8c650 56.2%,#fff8c650 56.6%,transparent 56.8%); }
.stage-top { font-size:11px; }
.stage-lettering { color:#9c760022; transform:rotate(-5deg); top:54px; }
.hero-car { filter:drop-shadow(0 26px 17px #65510b44); transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.vehicle-stage:hover .hero-car { transform:translate(-5px,-5px) scale(1.02); }
.price-tag { position:absolute; top:78px; right:-16px; z-index:3; padding:14px 19px 13px; background:#fffef3; color:var(--ink); border:1px solid #fff; border-radius:5px; transform:rotate(6deg); box-shadow:0 8px 0 #b28d1740,0 15px 25px #886c1020; }
.price-tag>span { display:block; font-size:9px; font-weight:600; letter-spacing:.1em; margin-bottom:3px; }
.price-tag>strong { display:block; font-size:37px; line-height:1.1; letter-spacing:-.055em; font-weight:600; }
.price-tag small { font-size:14px; font-weight:500; letter-spacing:0; margin-left:7px; }
.stage-bottom { padding-right:17px; }
.stage-bottom .small-label { font-size:11px; }
.stage-bottom h2 { font-size:32px; }
.fleet-label { font-size:10px; padding:8px 11px; background:#fff6cc9c; }
.image-note { font-size:10px; max-width:390px; padding-right:14px; }
.trust-strip { min-height:96px; }
.trust-strip>div,.trust-strip>a { font-size:15px; }
.trust-symbol { color:#577a4e; }
.eyebrow { font-size:12px; }
.section-intro { font-size:18px; }
.feature { transition:background .25s; }
.feature svg { color:#54734b; width:46px; height:46px; transition:transform .3s,color .3s; }
.feature:hover { background:#e9ebdb; }
.feature:hover svg { transform:translateY(-4px) rotate(-5deg); color:#344f2f; }
.feature p { font-size:17px; max-width:340px; line-height:1.7; }
.feature .small-label { font-size:12px; }
.rate-band { background:#f6d859; border-radius:8px; border-left:5px solid #c7990d; }
.rate-title { border-color:#c1a339; }
.rate-title .eyebrow { font-size:11px; }
.rate { font-size:52px; }
.rate span { font-size:18px; }
.rate-copy h3 { font-size:22px; }
.rate-copy p { color:#4d523d; font-size:16px; line-height:1.7; }
.rate-band>.text-link { font-size:15px; }
.process-section { position:relative; overflow:hidden; background:radial-gradient(ellipse at 105% 0%,#45634a 0%,#2d4132 30%,#202b25 66%); }
.process-section::before { content:""; position:absolute; top:-125px; right:-110px; width:620px; height:620px; border:1px solid #8b9a7430; border-radius:50%; box-shadow:0 0 0 45px #8b9a7409,0 0 0 90px #8b9a7407; pointer-events:none; }
.process-section>.container { position:relative; }
.process-heading>p:last-child { font-size:17px; color:#c3cebd; }
.step-number { font-size:36px; line-height:1.3; letter-spacing:-.04em; margin-bottom:25px; }
.step-number>span { font-size:29px; }
.process-grid p { font-size:17px; color:#c1ccbb; max-width:350px; line-height:1.7; }
.process-disclaimer { font-size:13px; color:#b9c5b2; }
.review-quotes blockquote { font-size:28px; }
.review-quotes figcaption strong { font-size:15px; }
.review-quotes figcaption small { font-size:12px; }
.avatar { width:42px; height:42px; font-size:12px; }
.quote-stars { font-size:15px; }
.rating p { font-size:15px; }
.rating-date,.review-caption { font-size:12px; }
.waitlist-section { position:relative; background:radial-gradient(ellipse at 0% 0%,#fff2b2 0%,#f3f0d4 43%,#eaeddf 90%); overflow:hidden; }
.waitlist-section::before { content:""; position:absolute; left:-80px; bottom:80px; width:520px; height:520px; border:1px solid #a4b28145; border-radius:50%; box-shadow:0 0 0 30px #a4b28108,0 0 0 70px #a4b28107; pointer-events:none; }
.waitlist-grid { position:relative; grid-template-columns:.75fr 1.25fr; gap:78px; }
.waitlist-copy h2 em { color:#527049; }
.availability-note { max-width:390px; }
.availability-note strong { font-size:18px; }
.availability-note p,.waitlist-expectation { font-size:17px; line-height:1.75; }
.waitlist-expectation { max-width:370px; }
.status-dot { width:9px; height:9px; margin-top:9px; background:#aa881a; box-shadow:0 0 0 5px #d3b74526; }
.line-note { font-size:15px; max-width:390px; }
.form-shell { padding:39px 36px 28px; border-radius:12px; border:1px solid #d0d7c4; border-top:5px solid #5a794b; box-shadow:0 18px 50px -14px #35442f22,0 2px 5px #35442f05; }
.form-heading { flex-wrap:wrap; gap:8px; }
.form-heading h3 { font-size:28px; }
.form-heading>span { font-size:11px; letter-spacing:.05em; padding:5px 8px; background:#f0f3e9; border-radius:4px; color:#536343; }
.field { margin-bottom:25px; }
.field>label { font-size:15px; margin-bottom:10px; color:#344132; line-height:1.5; }
.field input,.field select { font-size:17px; height:58px; padding:14px 15px; border:1px solid #bdc7b2; background:#fafbf6; border-radius:6px; transition:border-color .2s,box-shadow .2s,background .2s; }
.field input::placeholder { color:#727e69; }
.field select { padding-right:28px; }
.field input:hover,.field select:hover { border-color:#809269; }
.field input:focus,.field select:focus { outline:none; box-shadow:0 0 0 3px #70925226; border-color:#638442; background:#fff; }
.field-hint { font-size:13px; }
.consent { font-size:14px; line-height:1.65; color:#52604b; gap:12px; }
.consent input { width:19px; height:19px; margin-top:2px; }
.submit-button { font-size:17px; min-height:60px; }
.form-privacy,.demo-note { font-size:12px; }
.form-privacy { margin-top:22px; }
.form-success>p:not(.eyebrow),.success-next p { font-size:17px; }
.success-next strong { font-size:17px; }
.form-success .button { font-size:15px; }
.faq-intro { font-size:17px; max-width:290px; }
.faq-list summary { font-size:18px; padding-block:24px; }
.faq-list details p { font-size:17px; }
.faq-list details[open] { background:#eef0e3; padding-inline:18px; margin-inline:-18px; }
.existing-renters .eyebrow { font-size:11px; }
.renter-button { font-size:15px; padding:17px 22px; }
.site-footer .small-label { font-size:11px; }
.footer-main p { font-size:16px; }
.footer-main>div>a { font-size:14px; }
.footer-bottom { font-size:12px; }
.dialog>p,.review-dialog ul { font-size:16px; }
.dialog>.dialog-note { font-size:13px; }
.support-contact { font-size:17px; }
.support-contact span { font-size:14px; }
.dialog-top .eyebrow { font-size:12px; }

/* Content is always visible; reveal effects are applied only as sections enter view. */
@keyframes rise-in { from { opacity:.25; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes car-in { from { opacity:0; transform:translateX(35px); } to { opacity:1; transform:translateX(0); } }
@keyframes tag-in { from { opacity:0; transform:translateY(-14px) rotate(2deg); } to { opacity:1; transform:translateY(0) rotate(6deg); } }
@media(prefers-reduced-motion:no-preference) {
  .hero-copy { animation:rise-in .65s ease-out both; }
  .hero-car { animation:car-in .9s .12s cubic-bezier(.2,.7,.2,1) backwards; }
  .price-tag { animation:tag-in .6s .4s ease-out backwards; }
  .reveal-active { animation:rise-in .6s ease-out both; }
}
@media(min-width:1101px) { .form-row { grid-template-columns:1fr 1fr; gap:20px; } }
@media(max-width:1150px) {
  .brand-description { font-size:9px; }
  .header-inner { gap:23px; }
  .desktop-nav { font-size:14px; gap:20px; }
  .hero-lead { font-size:21px; }
  .hero-description { font-size:17px; }
  .hero-copy>.eyebrow { font-size:10px; }
  .hero-actions { flex-wrap:wrap; gap:24px; }
  .stage-top { font-size:10px; }
  .price-tag { right:-10px; top:69px; padding:12px 15px; }
  .price-tag strong { font-size:32px; }
  .stage-bottom { align-items:start; flex-direction:column; gap:12px; }
  .stage-bottom h2 { font-size:29px; }
  .hero-car { height:calc(100% - 206px); top:92px; }
  .image-note { font-size:10px; }
  .trust-strip>div,.trust-strip>a { font-size:13px; }
  .waitlist-grid { gap:48px; grid-template-columns:.75fr 1.25fr; }
  .form-shell { padding-inline:29px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .feature p,.process-grid p { font-size:16px; }
  .rate-band>.text-link { display:none; }
}
@media(max-width:1040px) { .desktop-nav{display:none}.menu-toggle{display:block}.header-cta{margin-left:auto} }
@media(max-width:930px) {
  .hero-lead { font-size:20px; }
  .hero-copy>.eyebrow { font-size:10px; letter-spacing:.05em; }
  .hero-actions .button { font-size:15px; }
  .hero-actions .text-link { font-size:15px; }
  .vehicle-stage { height:440px; }
  .price-tag { top:72px; right:-8px; }
  .price-tag>span { font-size:8px; }
  .price-tag strong { font-size:29px; }
  .price-tag small { font-size:12px; }
  .image-note { font-size:9px; }
  .stage-top { font-size:9px; }
  .fleet-label { font-size:9px; }
  .section-intro { font-size:17px; }
  .process-heading { padding-right:230px; }
  .process-heading>p:last-child { font-size:15px; max-width:210px; }
  .review-grid { gap:40px; }
  .review-quotes blockquote { font-size:26px; }
  .review-quotes figcaption small { font-size:11px; }
  .waitlist-grid { gap:35px; }
  .form-shell { padding:28px 23px 23px; }
  .form-heading h3 { font-size:26px; }
  .form-heading>span { font-size:10px; display:inline-block; }
  .availability-note strong { font-size:17px; }
  .availability-note p,.waitlist-expectation { font-size:16px; }
  .line-note { font-size:14px; }
  .faq-list summary { font-size:17px; }
  .footer-bottom>span:nth-child(2) { max-width:300px; }
}
@media(max-width:760px) {
  .hero-grid { grid-template-columns:1fr; gap:36px; }
  .hero h1 { font-size:clamp(44px,8.7vw,65px); }
  .hero-description { max-width:500px; }
  .hero-lead { font-size:22px; }
  .vehicle-stage { height:470px; max-width:580px; width:100%; }
  .stage-lettering { font-size:clamp(110px,25vw,174px); }
  .stage-bottom { flex-direction:row; align-items:flex-end; }
  .hero-car { height:calc(100% - 180px); top:80px; }
  .stage-top { font-size:11px; }
  .stage-bottom h2 { font-size:32px; }
  .image-note { font-size:10px; }
  .price-tag { top:70px; right:12px; }
  .price-tag strong { font-size:34px; }
  .waitlist-grid { grid-template-columns:1fr; gap:36px; }
  .waitlist-copy>h2 { font-size:57px; }
  .waitlist-copy>h2 br:nth-of-type(2) { display:initial; }
  .waitlist-expectation { display:none; }
  .availability-note,.line-note { max-width:100%; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .form-shell { padding:30px; }
  .form-heading { display:flex; }
  .form-heading h3 { font-size:28px; }
  .field input,.field select { font-size:17px; }
  .process-heading { padding-right:0; }
  .process-heading>p:last-child { position:static; max-width:100%; margin-top:23px; }
  .review-grid,.faq-grid { grid-template-columns:1fr; }
  .quote-stars { display:block; }
  .rating-date,.review-caption { font-size:12px; }
}
@media(max-width:640px) {
  .preview-bar { font-size:10px; min-height:34px; }
  .brand-description { font-size:8px; }
  .hero-copy>.eyebrow { font-size:10px; letter-spacing:.06em; }
  .hero-lead { font-size:20px; }
  .hero-description { font-size:17px; }
  .hero-actions { gap:20px; }
  .hero-actions .button { min-height:56px; font-size:15px; gap:24px; padding:15px 18px; }
  .hero-actions .text-link { font-size:14px; gap:11px; }
  .quiet-note { font-size:12px; }
  .vehicle-stage { height:380px; border-radius:12px 12px 45px 12px; }
  .hero-car { top:79px; height:calc(100% - 172px); }
  .stage-lettering { top:52px; font-size:27vw; }
  .price-tag { top:53px; right:10px; padding:10px 12px; }
  .price-tag strong { font-size:28px; }
  .price-tag>span { font-size:7px; }
  .price-tag small { font-size:12px; }
  .stage-top { font-size:9px; }
  .stage-bottom { padding-right:0; flex-direction:column; align-items:start; gap:8px; }
  .stage-bottom h2 { font-size:29px; }
  .stage-bottom .small-label { font-size:10px; }
  .fleet-label { position:absolute; bottom:5px; right:0; font-size:8px; padding:6px 8px; }
  .image-note { font-size:9px; max-width:100%; line-height:1.6; }
  .trust-strip>div,.trust-strip>a { font-size:14px; min-height:64px; }
  .eyebrow { font-size:11px; }
  .section-intro { font-size:17px; }
  .feature p { font-size:16px; }
  .feature svg { width:36px; height:36px; }
  .rate-title .eyebrow { font-size:10px; }
  .rate { font-size:49px; }
  .rate-copy { border-color:#d0b03c; }
  .rate-copy h3 { font-size:22px; }
  .rate-copy p { font-size:16px; }
  .process-heading .eyebrow { font-size:11px; }
  .process-heading>p:last-child { font-size:16px; }
  .step-number { font-size:30px; }
  .process-grid p { font-size:16px; max-width:100%; }
  .process-disclaimer { font-size:12px; }
  .review-heading>.text-link { font-size:15px; }
  .review-quotes figcaption strong { font-size:14px; }
  .review-quotes figcaption small { font-size:11px; }
  .quote-stars { font-size:12px; }
  .waitlist-copy .eyebrow { font-size:11px; }
  .waitlist-copy>h2 { font-size:52px; }
  .form-shell { padding:26px 21px 23px; }
  .form-heading { display:block; }
  .form-heading h3 { font-size:27px; }
  .form-heading>span { font-size:10px; display:inline-block; margin-top:11px; }
  .field>label { font-size:15px; }
  .field input,.field select { font-size:17px; height:56px; padding-inline:12px; }
  .field select { padding-right:26px; }
  .consent { font-size:14px; }
  .form-privacy,.demo-note { font-size:12px; }
  .form-success .button { font-size:14px; }
  .faq-intro,.faq-list details p { font-size:16px; }
  .faq-list summary { font-size:17px; }
  .existing-renters .eyebrow { font-size:10px; }
  .renter-button { font-size:15px; }
  .footer-main { grid-template-columns:1fr; }
  .footer-main p { font-size:16px; }
  .footer-main>div>a { font-size:14px; }
  .site-footer .small-label { font-size:11px; }
  .footer-bottom { font-size:11px; }
  .footer-bottom>span:nth-child(2) { max-width:none; }
  .dialog>p,.review-dialog ul { font-size:15px; }
}
@media(max-width:359px) {
  .hero-actions { gap:17px; }
  .hero-actions .button { font-size:14px; gap:19px; }
  .hero-actions .text-link { font-size:13px; }
  .hero-copy>.eyebrow { font-size:9px; }
  .brand-description { font-size:7px; }
  .fleet-label { position:static; }
  .stage-bottom { gap:6px; }
  .vehicle-stage { height:395px; }
  .hero-car { top:83px; height:200px; }
  .form-shell { padding-inline:17px; }
  .field input,.field select { font-size:16px; }
  .quote-stars { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-copy,.hero-car,.price-tag,.reveal-active { animation:none!important; }
  .vehicle-stage:hover .hero-car,.button:hover,.button:active,.button:hover>span,.text-link:hover>span,.renter-button:hover>span,.feature:hover svg { transform:none; }
}
