/* Lime Frost — Serafim, 21st.dev. Tokens read from its light/dark preview.
   https://21st.dev/@serafimcloud/themes/lime-frost */
:root,html[data-theme=light]{
 --lf-background:oklch(.989 .005 117.92);--lf-foreground:oklch(.208 .04 265.755);
 --lf-card:oklch(1 0 0);--lf-primary:oklch(.887 .212 128.504);--lf-primary-foreground:#000;
 --lf-secondary:oklch(.372 .039 257.287);--lf-secondary-foreground:oklch(.984 .003 247.858);
 --lf-accent:oklch(.982 .018 155.826);--lf-muted:oklch(.968 .007 247.896);
 --lf-muted-foreground:oklch(.554 .041 257.417);--lf-border:oklch(.929 .013 255.508);
 --lf-error:#b42318;--lf-radius:1rem;
}
html[data-theme=dark]{
 --lf-background:oklch(.129 .041 264.695);--lf-foreground:oklch(.984 .003 247.858);
 --lf-card:oklch(.208 .04 265.755);--lf-primary:oklch(.887 .212 128.504);--lf-primary-foreground:#000;
 --lf-secondary:oklch(.279 .037 260.031);--lf-secondary-foreground:oklch(.984 .003 247.858);
 --lf-accent:oklch(.393 .09 152.535);--lf-muted:oklch(.279 .037 260.031);
 --lf-muted-foreground:oklch(.711 .035 256.788);--lf-border:oklch(.279 .037 260.031);
 --lf-error:#ffb4a9;
}
html[data-theme] body{background:var(--lf-background);color:var(--lf-foreground)}
html[data-theme] :is(h1 span,.eyebrow,.intro>p:not(.eyebrow),.contact-intro p,.step-help,.gallery figcaption,.gallery-caption,.quote-header,.questions summary,.answers p,footer>a:nth-child(2),footer>a:last-child,.notice,.consent,.fields label,.year-field>label:first-child,.year-ends,.review dt){color:var(--lf-muted-foreground)}
html[data-theme] :is(.question-card,.fields input,.fields textarea){background:var(--lf-card);color:var(--lf-foreground);border-color:var(--lf-border)}
html[data-theme] .question-card{border-radius:var(--lf-radius);box-shadow:0 10px 32px #02061708}
html[data-theme] :is(.option,.brand-option){background:var(--lf-card);color:var(--lf-foreground);border-color:var(--lf-border)}
html[data-theme] :is(.option:hover,.brand-option:hover){background:var(--lf-accent);border-color:var(--lf-primary)}
html[data-theme] :is(.option[aria-pressed=true],.brand-option[aria-pressed=true]){background:var(--lf-primary);color:var(--lf-primary-foreground);border-color:var(--lf-primary);box-shadow:inset 0 0 0 1px var(--lf-primary)}
html[data-theme] :is(.option small,.option span:last-child){color:var(--lf-muted-foreground)}
html[data-theme] .option[aria-pressed=true] :is(small,span:last-child){color:var(--lf-primary-foreground)}
html[data-theme] :is(.button,.persistent-cta){background:var(--lf-primary);color:var(--lf-primary-foreground);border-color:var(--lf-primary)}
html[data-theme] :is(.button:hover,.persistent-cta:hover){background:color-mix(in oklch,var(--lf-primary) 89%,black);color:#000}
html[data-theme] :is(.preferences button,.gallery-controls button){background:var(--lf-card);border-color:var(--lf-border);color:var(--lf-foreground)}
html[data-theme] :is(.preferences button:hover,.gallery-controls button:hover){background:var(--lf-accent);border-color:var(--lf-primary)}
html[data-theme] :is(.vehicle-details,.review,.questions summary,footer){border-color:var(--lf-border)}
html[data-theme] .quote-track{background:var(--lf-muted)}html[data-theme] .quote-track span{background:var(--lf-primary)}
html[data-theme] .year-field output{color:var(--lf-foreground)}html[data-theme] #form-error{color:var(--lf-error)}
html[data-theme] .consent input{accent-color:var(--lf-primary)}html[data-theme] .gallery{scrollbar-color:var(--lf-secondary) transparent}
html[data-theme] :is(button,a,summary,.gallery):focus-visible{outline:2px solid var(--lf-secondary);box-shadow:0 0 0 4px var(--lf-primary)}
html[data-theme] :is(.fields input,.fields textarea):focus{outline:2px solid var(--lf-secondary);box-shadow:0 0 0 4px var(--lf-primary)}
html[data-theme] .year-field input[type=range]{background:transparent;accent-color:var(--lf-primary)}
html[data-theme] .year-field input[type=range]::-webkit-slider-runnable-track{background:var(--lf-border)}
html[data-theme] .year-field input[type=range]::-webkit-slider-thumb{background:var(--lf-primary);border-color:var(--lf-secondary)}
html[data-theme] .year-field input[type=range]::-moz-range-track{background:var(--lf-border)}
html[data-theme] .year-field input[type=range]::-moz-range-thumb{background:var(--lf-primary);border-color:var(--lf-secondary)}
html[data-theme] .stage-progress button.active{background:var(--lf-primary);color:#000}
html[data-theme] main>div[style]{color:var(--lf-muted-foreground)!important}
#theme-toggle{width:44px;height:44px;padding:0;border-radius:50%}#theme-icon{display:block;font-size:22px;line-height:1}
.products-section{max-width:1440px;margin:auto;padding:55px 5% 70px}.products-intro{max-width:700px;font-size:16px;line-height:1.7;color:var(--lf-muted-foreground);margin:0 0 32px}.products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{background:var(--lf-card);border:1px solid var(--lf-border);border-radius:var(--lf-radius);overflow:hidden;display:flex;flex-direction:column}.product-photo{aspect-ratio:4/3;background:var(--lf-muted);display:grid;place-items:center;position:relative;color:var(--lf-muted-foreground);font-size:12px}.product-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.product-heading{padding:22px 20px 0}.product-heading h3{font-size:20px;letter-spacing:-.03em;font-weight:550;margin:0 0 14px;line-height:1.3}.product-price{margin:0}.product-price strong{font-size:25px;font-weight:600}.product-price>span{font-size:12px;color:var(--lf-muted-foreground)}.product-description{margin:15px 20px 24px;font-size:14px;color:var(--lf-muted-foreground);line-height:1.65}.product-order{margin-top:auto;padding:0 20px 22px;display:grid;gap:15px}.product-order label{display:grid;gap:8px;font-size:13px;color:var(--lf-muted-foreground)}.product-order select{font:inherit;font-size:16px;width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid var(--lf-border);border-radius:8px;color:var(--lf-foreground);background:var(--lf-background)}.product-order select:focus-visible{outline:2px solid var(--lf-secondary);box-shadow:0 0 0 4px var(--lf-primary)}.product-order .button{width:100%;gap:10px;margin-top:5px}.products-note,.product-status{font-size:12px;line-height:1.7;color:var(--lf-muted-foreground)}.products-note{max-width:800px;margin:22px 0 0}.product-status{margin:0}.product-status:empty{display:none}footer>a:last-child{margin-left:auto}@media(max-width:1100px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.products-section{padding:35px 6% 45px}.products-grid{grid-template-columns:1fr;gap:22px}.product-photo{aspect-ratio:16/10}}
/* Aether Flow: interactive particle hero replacing the video sequence. */
.aether-hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(720px,80svh);display:grid;place-items:center;padding:70px 24px;background:var(--lf-background)}
#aether-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}
.aether-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,var(--lf-background) 5%,color-mix(in oklch,var(--lf-background) 83%,transparent) 36%,transparent 78%)}
.aether-content{max-width:1100px}.aether-content>.eyebrow{display:inline-block;border:1px solid var(--lf-border);border-radius:30px;background:var(--lf-accent);padding:9px 16px;color:var(--lf-foreground)}
.aether-content>p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--lf-muted-foreground);margin:26px 0 0}
.aether-content>:nth-child(1){animation:aether-enter .55s ease both}.aether-content>:nth-child(2){animation:aether-enter .65s .08s ease both}.aether-content>:nth-child(3){animation:aether-enter .65s .16s ease both}.aether-content>:nth-child(4){animation:aether-enter .65s .24s ease both}
.process-summary{max-width:1440px;margin:0 auto;padding:45px 5%;scroll-margin-top:30px}.process-summary ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px}.process-summary li{border-top:2px solid var(--lf-primary);padding-top:18px}.process-summary li>span{font-size:11px;letter-spacing:.07em;color:var(--lf-foreground)}.process-summary p{font-size:14px;line-height:1.7;color:var(--lf-muted-foreground);margin:14px 0 0}
@keyframes aether-enter{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.aether-hero{min-height:65svh;padding:50px 20px}.aether-content>p:not(.eyebrow){font-size:15px}.process-summary{padding:30px 6%}.process-summary ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.process-summary li:last-child{grid-column:1/-1}.aether-content>.eyebrow{font-size:9px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.aether-content>*{animation:none!important}}
/* Atelier voice and typographic hero. Helvetica when available, no remote font. */
.aether-content h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(52px,7.5vw,112px);line-height:.98;letter-spacing:-.065em;color:var(--lf-foreground);text-wrap:balance;text-shadow:0 2px 22px color-mix(in oklch,var(--lf-background) 90%,transparent)}
html[data-theme] .aether-content h1 span{display:inline-block;color:var(--lf-foreground);background:linear-gradient(110deg,var(--lf-foreground) 0%,var(--lf-foreground) 43%,color-mix(in oklch,var(--lf-primary) 55%,var(--lf-foreground)) 50%,var(--lf-foreground) 57%,var(--lf-foreground) 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:headline-glint 2.3s .65s ease-out 1 both}
@keyframes headline-glint{from{background-position:100% 50%}to{background-position:0% 50%}}
.aether-content .intro-link{margin-top:35px;font-size:14px}.process-summary{max-width:1120px;padding:60px 5%}.process-summary ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.process-summary .process-card{padding:32px;border:1px solid var(--lf-border);border-radius:var(--lf-radius);background:var(--lf-card);min-height:230px;box-shadow:0 10px 30px #02061705;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.75,.2,1)}.process-card h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.04em;margin:28px 0 15px}.process-summary .process-card>span{color:var(--lf-muted-foreground);font-size:11px}.process-summary .process-card p{font-size:15px;max-width:440px;margin:0}.process-summary .process-card:last-child{grid-column:1/-1;min-height:210px}.process-card.reveal-pending{opacity:0;transform:translateY(28px)}.process-card.is-revealed{opacity:1;transform:translateY(0)}
@media(max-width:700px){.aether-content h1{font-size:clamp(43px,9.5vw,66px);letter-spacing:-.06em;line-height:1.02}.process-summary ol{grid-template-columns:1fr;gap:18px}.process-summary .process-card{padding:28px 23px;min-height:220px}.process-card h2{font-size:27px}.process-summary .process-card:last-child{grid-column:auto}.process-summary{padding:40px 6%}}
@media(prefers-reduced-motion:reduce){html[data-theme] .aether-content h1 span{animation:none;background:none;-webkit-text-fill-color:currentColor}.process-summary .process-card{transition:none;opacity:1;transform:none}}
@media(forced-colors:active){html[data-theme] .aether-content h1 span{background:none;-webkit-text-fill-color:currentColor}}

/* Selector animation adapted from the supplied LoopingWords / Osmo resource.
   Native CSS preserves the static site's small initial download. */
.aether-content{width:100%;max-width:1430px;min-width:0}
.aether-content h1.slogan{font-size:clamp(77.74px,11.2125vw,167.44px);font-weight:800;animation:none;line-height:1.12}
html[data-theme] .aether-content h1.slogan>span{position:relative;display:inline-block;max-width:100%;background:none;-webkit-text-fill-color:currentColor;color:var(--lf-foreground);animation:none;overflow-wrap:normal}
html[data-theme] .aether-content h1.slogan .slogan-dream{animation:slogan-arrive .85s .15s cubic-bezier(.16,1,.3,1) both}
html[data-theme] .aether-content h1.slogan .slogan-build{margin-top:.12em;padding:0 .12em;animation:slogan-arrive 1.1s 1.25s cubic-bezier(.22,1.25,.36,1) both}
.slogan-selector{position:absolute;inset:0 -.035em;pointer-events:none;border-radius:2px;background:color-mix(in oklch,var(--lf-primary) 10%,transparent);animation:slogan-select .8s 1.85s cubic-bezier(.22,1.3,.36,1) both}
.slogan-selector::before,.slogan-selector::after{content:"";position:absolute;inset:0;border:3px solid var(--lf-primary);border-radius:2px;clip-path:polygon(0 0,18px 0,18px 3px,3px 3px,3px 18px,0 18px,0 100%,18px 100%,18px calc(100% - 3px),3px calc(100% - 3px),3px calc(100% - 18px),0 calc(100% - 18px))}
.slogan-selector::after{transform:rotate(180deg)}
@keyframes slogan-arrive{from{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:translateY(0)}}
@keyframes slogan-select{from{opacity:0;transform:scaleX(.7) scaleY(1.15)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){.aether-content h1.slogan{font-size:clamp(64.285px,14.2025vw,98.67px);letter-spacing:-.06em}.slogan-build{max-width:100%;text-wrap:balance}}
@media(prefers-reduced-motion:reduce){html[data-theme] .aether-content h1.slogan>span,.slogan-selector{animation:none!important}}
@media(forced-colors:active){.slogan-selector::before,.slogan-selector::after{border-color:Highlight}}

/* The second phrase waits for downward scroll; its reserved space avoids layout shifts. */
html[data-theme] .aether-content h1.slogan .slogan-build{animation:none}
.slogan-selector{animation:none}
html[data-theme] .aether-content h1.slogan.scroll-ready:not(.scroll-revealed) .slogan-build{opacity:0;transform:translateY(.45em)}
.slogan.scroll-ready:not(.scroll-revealed) .slogan-selector{opacity:0}
html[data-theme] .aether-content h1.slogan.scroll-revealed .slogan-build{animation:slogan-arrive 1.1s cubic-bezier(.22,1.25,.36,1) both}
.slogan.scroll-revealed .slogan-selector{animation:slogan-select .8s .35s cubic-bezier(.22,1.3,.36,1) both}
@media(prefers-reduced-motion:reduce){html[data-theme] .aether-content h1.slogan .slogan-build,.slogan.scroll-revealed .slogan-selector{animation:none!important;transform:none}}
