/* Archivo (variable: weight 400-900, width 62-125%) served from this site and preloaded, so text gets its real font
   at first paint instead of swapping later (which made headings change size and the page jump). */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:100% 125%;font-display:swap;src:url(/assets/fonts/archivo-latin-ext-w.woff2) format('woff2');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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:100% 125%;font-display:swap;src:url(/assets/fonts/archivo-latin-w.woff2) format('woff2');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}
/* Vision Garage — Estúdio de Luz, paleta azul da marca (protótipo) */
:root{
  /* azul da marca */
  --navy:#0B1F4D; --navy-2:#12296A; --royal:#14327F; --azure:#2A57C8; --glow:#6F9BFF;
  --sky:#EEF3FB; --sky-2:#DCE4F2;
  --grad-blue:linear-gradient(160deg,#0B1F4D 0%,#14327F 46%,#2A57C8 100%);
  /* nomes antigos mantidos para os componentes */
  --night:var(--navy); --night-2:var(--navy-2); --night-3:var(--sky-2);
  --cobalt:var(--royal); --cobalt-glow:var(--glow);
  --day:#F7F9FC; --white:#FFFFFF;
  --ink:#14203A; --ink-2:#46526A; --ink-3:#6A758A;
  --fog:#C9D5EE; --fog-2:#C7D0DF;
  --act:#F2C200; --act-hover:#FFD53D; --act-ink:#0B1F4D;
  --line-day:rgba(20,32,58,.12); --line-night:rgba(255,255,255,.2);
  --bg:var(--white); --fg:var(--ink); --fg-2:var(--ink-2); --line:var(--line-day); --surface:var(--white);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(16px,4vw,56px);
  --max:1320px;
  --r-lg:22px; --r-md:14px; --r-sm:10px;
  --font:"Archivo","Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
  --font-ja:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;
  color-scheme:light;
}
html[lang="ja"]{--font:var(--font-ja)}
/* tons de seção: azul em degradê (impacto), branco e céu (conteúdo) */
.tone-blue{background:var(--grad-blue);--fg:#FFFFFF;--fg-2:var(--fog);--line:var(--line-night);--surface:rgba(255,255,255,.08);--bg:var(--royal);color:var(--fg)}
.tone-light{background:var(--white);--bg:var(--white);color:var(--fg)}
.tone-sky{background:var(--sky);--bg:var(--sky);color:var(--fg)}
.tone-light .rev,.tone-light .rev-feature{background:var(--sky);border-color:transparent}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16.5px;line-height:1.6;
  font-variation-settings:"wdth" 100;transition:background-color .9s var(--ease-out),color .9s var(--ease-out);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
::selection{background:var(--act);color:var(--act-ink)}
:focus-visible{outline:2px solid var(--act);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.num{font-variant-numeric:tabular-nums lining-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Type */
.display{font-weight:800;font-variation-settings:"wdth" 118;letter-spacing:-.025em;line-height:.98;text-wrap:balance;margin:0}
.h-xl{font-size:clamp(44px,7.4vw,112px)}
.h-lg{font-size:clamp(36px,5.2vw,76px)}
.h-md{font-size:clamp(28px,3.4vw,48px)}
html[lang="ja"] .display,html[lang="ja"] .lead,html[lang="ja"] h3{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
html[lang="ja"] .display{font-weight:700;letter-spacing:-.01em;line-height:1.12;font-variation-settings:normal}
html[lang="ja"] .h-xl{font-size:clamp(34px,5.6vw,84px)}
html[lang="ja"] .h-lg{font-size:clamp(30px,4.2vw,60px)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--fg-2);max-width:56ch;margin:0}
.label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--fg-2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;
  font:600 16px/1 var(--font);text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background-color .25s var(--ease-out),transform .25s var(--ease-out),border-color .25s var(--ease-out),color .25s}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-act{background:var(--act);color:var(--act-ink)}
.btn-act:hover{background:var(--act-hover)}
.btn-ghost{border-color:var(--line);color:var(--fg);background:transparent}
.btn-ghost:hover{border-color:var(--fg)}
.btn svg{width:20px;height:20px;flex:none}

/* Header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;--fg:#FFFFFF;--fg-2:#D6DFF3;--line:rgba(255,255,255,.22);color:var(--fg);
  transition:background-color .5s var(--ease-out),box-shadow .5s,transform .45s var(--ease-out)}
.hdr.is-solid{background:rgba(11,31,77,.94);box-shadow:0 10px 30px -18px rgba(11,31,77,.6)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:84px}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:52px;width:auto}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:15px;color:var(--fg-2);transition:color .2s}
.nav a:hover,.nav a[aria-current]{color:var(--fg)}
.hdr-actions{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{all:unset;cursor:pointer;font:600 13px/1 var(--font);padding:9px 11px;border-radius:999px;color:var(--fg-2)}
.lang button[aria-pressed="true"]{background:#FFFFFF;color:var(--navy)}
.hdr .btn{min-height:44px;padding:0 18px;font-size:15px}
.burger{display:none}
@media (max-width:980px){
  .nav{display:none}
  .hdr .wrap{height:64px;gap:8px}
  .logo img{height:40px}
  .hdr-actions{margin-left:auto;gap:8px}
  @media (max-width:400px){.logo img{height:36px}}
  .hdr .btn .t{display:none}
  .hdr .btn{width:44px;padding:0}
  .lang button{padding:8px 8px}
}

/* Reveal */
html.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
html.js .rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  body{transition:none}
  html{scroll-behavior:auto}
}

/* ============ HERO (night) ============ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate;background:var(--grad-blue)}
.hero-cove{position:absolute;inset:0;z-index:-2;background:
  radial-gradient(42% 36% at 72% 22%,rgba(111,155,255,.45),transparent 70%),
  radial-gradient(60% 40% at 50% 112%,rgba(111,155,255,.35),transparent 70%),
  var(--grad-blue)}
.hero-cove img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s var(--ease-out)}
.hero.lit .hero-cove img{opacity:1}
.hero-light{position:absolute;left:46%;top:-10%;width:52%;height:90%;z-index:-1;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 40%,rgba(160,190,255,.30),rgba(111,155,255,.12) 45%,transparent 72%);opacity:0;transition:opacity 2s var(--ease-out) .3s}
.hero.lit .hero-light{opacity:1}
/* living background: light drifts on its own, horizon rises with scroll (same language as financing) */
.hero-light{animation:vg-drift 16s ease-in-out infinite alternate;translate:calc(var(--hp,0) * -18%) calc(var(--hp,0) * 30%)}
@keyframes vg-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-6%,4%) scale(1.08)}100%{transform:translate(4%,-3%) scale(.96)}}
.hero-horizon{position:absolute;left:-15%;right:-15%;bottom:0;height:62%;z-index:-1;pointer-events:none;border-radius:50% 50% 0 0/26% 26% 0 0;
  background:linear-gradient(180deg,rgba(111,155,255,.5) 0%,rgba(42,87,200,.45) 32%,rgba(11,31,77,0) 100%);
  transform:translateY(calc(62% - var(--hp,0) * 55%));opacity:calc(.35 + var(--hp,0) * .65);
  translate:0 100%;transition:translate 1.8s var(--ease-out) .2s}
.hero.lit .hero-horizon{translate:0 0}
.hero .hero-car{translate:0 calc(var(--hp,0) * -48px)}
.hero-inner{translate:0 calc(var(--hp,0) * -24px)}
/* store film: full-bleed background — landscape drone cut on desktop, vertical cut on phones (src chosen in vg.js) */
.hero .hero-inner{position:static;translate:none}
.hero-media{position:absolute;inset:0;z-index:-2;margin:0;overflow:hidden;opacity:0;transition:opacity 1.6s var(--ease-out) .3s;background:var(--navy)}
.hero.lit .hero-media{opacity:1}
.hero-media video{width:100%;height:100%;object-fit:cover;display:block}
.hero-media figcaption{position:absolute;z-index:1;right:var(--gutter);bottom:28px;padding:7px 12px;border-radius:999px;background:rgba(11,31,77,.55);color:#fff;font-size:12.5px;font-weight:600;backdrop-filter:blur(6px)}
@media (min-width:981px){
  .hero-media video{scale:1.06;translate:0 calc(var(--hp,0) * 60px)}
  /* navy veil: dense behind the text on the left, open on the right so the store reads */
  .hero-media::after{content:"";position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(11,31,77,.94) 0%,rgba(11,31,77,.82) 34%,rgba(20,50,127,.38) 66%,rgba(20,50,127,.22) 100%),
    linear-gradient(180deg,rgba(11,31,77,.55) 0%,rgba(11,31,77,0) 22%,rgba(11,31,77,0) 70%,rgba(11,31,77,.7) 100%)}
  .hero h1{font-size:clamp(48px,5.4vw,92px)}
  .hero h1,.hero .lead{max-width:min(760px,64%)}
  .hero .search{max-width:780px}
}
@media (max-width:980px){
  .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,77,.62) 0%,rgba(11,31,77,.38) 22%,rgba(11,31,77,.72) 46%,rgba(11,31,77,.94) 66%,#0B1F4D 100%)}
  .hero-media figcaption{top:76px;bottom:auto;background:rgba(11,31,77,.5)}
}@media (prefers-reduced-motion:reduce){.hero-light{animation:none;translate:none}.hero-horizon,.hero .hero-car,.hero-inner{translate:none;transition:none}.hero-horizon{transform:translateY(40%)}}
.hero-inner{position:relative;padding-top:120px;padding-bottom:clamp(20px,3vw,40px)}
.hero h1{max-width:9.5ch;font-size:clamp(44px,5.6vw,84px)}
html[lang="ja"] .hero h1{max-width:9em;font-size:clamp(34px,4.6vw,72px)}
html[lang="en"] .hero h1{max-width:10ch}
.hero .lead{max-width:44ch}
@media (min-width:981px){
  .hero-inner{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
  /* no car photo: type-led hero, the moving light + horizon are the image */
  .hero h1{max-width:12ch;font-size:clamp(48px,5.4vw,92px);font-variation-settings:"wdth" 108;line-height:.98}
  html[lang="en"] .hero h1{max-width:13ch}
  html[lang="ja"] .hero h1{max-width:11em;font-size:clamp(44px,4.8vw,78px)}
  .hero .lead{max-width:52ch}
}
@media (max-width:600px){
  .hero h1{font-size:clamp(34px,10.4vw,52px);max-width:none}
  .h-lg{font-size:clamp(32px,9.6vw,48px)}
  .h-xl{font-size:clamp(36px,11vw,56px)}
  .display{overflow-wrap:anywhere;hyphens:auto}
}
.hero .lead{margin-top:22px}
.hero-car{position:absolute;right:calc(var(--gutter)*-.5);bottom:clamp(150px,19vh,210px);width:min(44vw,740px);z-index:-1;
  opacity:0;transform:translateX(6%) scale(.98);filter:brightness(.35);transition:opacity 1.4s var(--ease-out) .2s,transform 1.8s var(--ease-out) .2s,filter 2.2s var(--ease-out) .5s}
.hero.lit .hero-car{opacity:1;transform:none;filter:brightness(1)}
.hero-car img{width:100%;height:auto}
.hero-car::after{content:"";position:absolute;left:8%;right:6%;bottom:-3%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.85),transparent);z-index:-1}
.hero-car .fallback{aspect-ratio:4/3;border-radius:var(--r-lg);object-fit:cover;width:100%;border:1px solid var(--line-night);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.hero-cap{position:absolute;right:var(--gutter);bottom:calc(clamp(170px,22vh,250px) - 34px);font-size:13px;color:var(--fog);text-decoration:none;display:flex;gap:10px;align-items:center}
.hero-cap b{color:var(--day);font-weight:600}
.hero-cap:hover b{text-decoration:underline;text-underline-offset:4px}

.search{margin-top:clamp(28px,4vh,44px);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;padding:10px;border-radius:var(--r-lg);
  background:rgba(11,31,77,.55);border:1px solid var(--line-night);box-shadow:0 30px 60px -30px rgba(11,31,77,.7)}
.field{position:relative;display:flex;flex-direction:column;justify-content:center;padding:10px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.08);transition:background-color .2s}
.field:hover,.field:focus-within{background:rgba(255,255,255,.14)}
.field label{font-size:12px;font-weight:600;color:var(--fog);letter-spacing:.02em}
.field select{all:unset;cursor:pointer;font:600 16px/1.4 var(--font);color:var(--day);padding-right:22px;width:100%}
.field select option{color:#111}
.field::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--fog);border-bottom:2px solid var(--fog);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.search .btn{min-height:64px;border-radius:var(--r-md);padding:0 28px;font-size:17px}
.trust{display:flex;flex-wrap:wrap;gap:12px 36px;margin:22px 0 0;padding:0;list-style:none;font-size:14px;color:var(--fog)}
.trust b{color:var(--day);font-weight:700;margin-right:6px}
@media (max-width:980px){
  .hero-inner{padding-top:96px;padding-bottom:28px}
  .hero-car{position:relative;right:auto;bottom:auto;width:104%;margin:18px -2% 0}
  .hero-car::after{left:14%;right:12%}
  .hero-cap{position:static;margin-top:6px;justify-content:flex-end}
  .search{grid-template-columns:1fr 1fr;margin-top:18px}
  .search .btn{grid-column:1/-1;min-height:56px}
  .field:nth-child(3){grid-column:1/-1}
}

/* ============ Sections ============ */
.sec{position:relative;padding:clamp(88px,12vw,168px) 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(32px,4vw,56px)}
.sec-head .lead{margin-top:16px}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:6px;transition:border-color .2s}
.link-arrow:hover{border-color:var(--fg)}
.link-arrow svg{width:18px;height:18px;transition:transform .25s var(--ease-out)}
.link-arrow:hover svg{transform:translateX(4px)}
@media (max-width:760px){.sec-head{flex-direction:column;align-items:flex-start}}

/* Car tile (shared: arrivals + stock) */
.car{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--r-lg);background:var(--surface);
  border:1px solid var(--line);overflow:hidden;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s}
.car:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(0,0,0,.55);border-color:color-mix(in srgb,var(--fg) 22%,transparent)}
.car-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--night-3)}
.car-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),filter .5s}
.car:hover .car-ph img{transform:scale(1.045)}
.car-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);transform:translateX(-120%);transition:transform 1.1s var(--ease-out);pointer-events:none}
.car:hover .car-ph::after{transform:translateX(120%)}
.car-badge{position:absolute;top:12px;left:12px;font:700 12px/1 var(--font);letter-spacing:.02em;padding:8px 10px;border-radius:999px;background:var(--act);color:var(--act-ink)}
.car-badge.sold{background:rgba(10,12,15,.82);color:var(--day)}
.car-photos{position:absolute;right:12px;bottom:12px;font:600 12px/1 var(--font);padding:7px 9px;border-radius:999px;background:rgba(10,12,15,.7);color:var(--day)}
.car-body{display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px;flex:1}
.car-title{font-size:18px;line-height:1.25;font-weight:700;margin:0;font-variation-settings:"wdth" 105}
.slots{display:grid;grid-template-columns:.8fr 1fr 1.5fr;border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
.slot{display:flex;flex-direction:column;gap:3px;padding-right:8px;position:relative}
.slot + .slot{padding-left:12px;border-left:1px solid var(--line)}
.slot span{font-size:12px;color:var(--fg-2);font-weight:500}
.slot b{font-size:15px;font-weight:700;white-space:nowrap}
.slot.price b{font-size:19px;font-variation-settings:"wdth" 108}
.slot.is-governed::after{content:"";position:absolute;left:12px;right:8px;bottom:-6px;height:2px;border-radius:2px;background:var(--act)}
.slot:first-child.is-governed::after{left:0}

/* ============ Arrivals (night) ============ */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,24%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gutter) 24px;
  margin:0 calc(var(--gutter)*-1);scrollbar-width:thin;scrollbar-color:var(--fg-2) transparent;overscroll-behavior-x:contain}
.rail > *{scroll-snap-align:start}
.rail-ctl{display:flex;gap:10px}
.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background-color .2s}
.icon-btn:hover{border-color:var(--fg)}
.icon-btn svg{width:20px;height:20px}
.arrived{font-size:12px;color:var(--fg-2)}
@media (max-width:760px){.rail{grid-auto-columns:82%}.rail-ctl{display:none}}

/* ============ Brands (night) ============ */
.browse{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,6vw,96px);align-items:start}
.brand-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.brand-list a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line);text-decoration:none;
  font-size:clamp(26px,3.2vw,44px);font-weight:800;font-variation-settings:"wdth" 116;letter-spacing:-.02em;color:var(--fg-2);transition:color .25s,padding .35s var(--ease-out)}
.brand-list a:hover,.brand-list a:focus-visible{color:var(--fg);padding-left:16px}
.brand-list a small{font-size:14px;font-weight:600;letter-spacing:0;font-variation-settings:"wdth" 100;color:var(--fg-2)}
.peek{position:fixed;left:0;top:0;width:300px;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;pointer-events:none;z-index:40;opacity:0;
  transform:translate(-50%,-50%) scale(.9);transition:opacity .25s,transform .35s var(--ease-out);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.peek img{width:100%;height:100%;object-fit:cover}
.types{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.type{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--r-md);border:1px solid var(--line);text-decoration:none;transition:border-color .25s,background-color .25s}
.type:hover{border-color:var(--fg);background:rgba(244,245,247,.04)}
.type b{font-size:18px}
.type span{font-size:13px;color:var(--fg-2)}
@media (max-width:900px){.browse{grid-template-columns:1fr}.peek{display:none}}
@media (hover:none){.hover-only{display:none}#br-h{margin-bottom:28px}}

/* ============ Financing (dawn, pinned) ============ */
.fin{padding:0}
.fin-track{position:relative;height:260vh}
.fin-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.fin-horizon{position:absolute;left:-10%;right:-10%;bottom:0;height:calc(18% + var(--p,0) * 60%);border-radius:50% 50% 0 0/22% 22% 0 0;
  background:linear-gradient(180deg,rgba(111,155,255,.55) 0%,rgba(42,87,200,.55) 35%,rgba(11,31,77,0) 100%);opacity:calc(.3 + var(--p,0)*.7);transition:none;z-index:0}
.fin-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center;width:100%}
.fin-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fin-points li{padding:20px 0;border-bottom:1px solid var(--line);opacity:.28;transform:translateX(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.fin-points li.on{opacity:1;transform:none}
.fin-points b{display:block;font-size:clamp(20px,2vw,26px);font-weight:700;margin-bottom:6px}
.fin-points span{color:var(--fg-2)}
.fin-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.partners{margin-top:36px}
.partners ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-weight:600;color:var(--fg)}
.partners li{white-space:nowrap}
@media (max-width:900px){
  .fin-track{height:auto}
  .fin-stage{position:relative;height:auto;padding:110px 0}
  .fin-grid{grid-template-columns:1fr;gap:0}
  .fin-grid>div:first-child{display:contents}
  .fin-grid h2{order:1}.fin-grid .lead{order:2}
  .fin-points{order:3;margin-top:28px;position:relative;padding-left:26px}
  .fin-cta{order:4}.partners{order:5}
  .fin-points::before,.fin-points::after{content:"";position:absolute;left:5px;top:24px;bottom:24px;width:2px;border-radius:2px;background:rgba(255,255,255,.16)}
  .fin-points::after{background:var(--act);transform-origin:top;transform:scaleY(var(--fp,0))}
  .fin-points li{position:relative;transform:translateY(10px)}
  .fin-points li::before{content:"";position:absolute;left:-26px;top:26px;width:12px;height:12px;border-radius:50%;background:var(--navy);border:2px solid rgba(255,255,255,.35);z-index:1;transition:background .4s,border-color .4s}
  .fin-points li.on::before{background:var(--act);border-color:var(--act)}
  .fin-horizon{height:calc(8% + var(--p,0) * 92%);opacity:calc(.45 + var(--p,0)*.55);border-radius:50% 50% 0 0/120px 120px 0 0}
}
@media (prefers-reduced-motion:reduce){
  .fin-track{height:auto}.fin-stage{position:relative;height:auto;padding:120px 0}.fin-points li{opacity:1;transform:none}
  .fin-points::after{transform:none}.fin-points li::before{background:var(--act);border-color:var(--act)}
}

/* ============ Journey (dawn→day) ============ */
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,72px);position:relative}
.journey::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:var(--line)}
.journey::after{content:"";position:absolute;left:0;top:27px;height:2px;width:calc(var(--jp,0)*100%);background:var(--act);transition:width .2s linear}
.step{position:relative;padding-right:28px}
.step i{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--white);border:2px solid var(--line);font:800 18px/1 var(--font);font-style:normal;transition:border-color .4s,background-color .4s,color .4s}
.step.on i{border-color:var(--act);background:var(--act);color:var(--act-ink)}
.step h3{font-size:22px;margin:22px 0 8px;line-height:1.25}
.step p{margin:0;color:var(--fg-2)}
@media (max-width:900px){
  .journey{grid-template-columns:1fr;gap:28px}
  .journey::before,.journey::after{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .journey::after{height:calc(var(--jp,0)*100%);bottom:auto}
  .step{display:grid;grid-template-columns:56px 1fr;column-gap:20px;padding:0}
  .step h3{margin:12px 0 6px}
  .step p{grid-column:2}
}

/* ============ About (day) ============ */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,96px);align-items:center}
.about-ph{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.about-ph img{width:100%;height:118%;object-fit:cover;transform:translateY(var(--py,0));will-change:transform}
.values{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.values li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.values b{font-size:18px}
.values span{color:var(--fg-2)}
@media (max-width:900px){.about{grid-template-columns:1fr}.about-ph{aspect-ratio:4/3}.values li{grid-template-columns:1fr;gap:4px}}

/* ============ Reviews (day) ============ */
.rev-top{display:flex;align-items:center;gap:14px;font-weight:600}
.stars{color:#E8A400;letter-spacing:2px}
.rev-feature{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);padding:clamp(28px,4vw,56px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);margin-bottom:18px}
.rev-feature blockquote{margin:0;font-size:clamp(20px,2.1vw,30px);line-height:1.4;font-weight:500;letter-spacing:-.01em;max-width:42ch}
.rev-mark{font:800 120px/0.8 var(--font);color:var(--act)}
.rev-who{margin-top:20px;font-size:15px;color:var(--fg-2)}
.rev-who b{color:var(--fg)}
.rev-more{all:unset;cursor:pointer;font-weight:600;margin-top:14px;border-bottom:1px solid var(--line);display:inline-block}
.rev-grid{columns:3 280px;column-gap:18px}
.rev{break-inside:avoid;margin:0 0 18px;padding:24px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.rev p{margin:12px 0 16px}
.rev .rev-who{margin-top:0}
.rev .jp{font-family:var(--font-ja);color:var(--fg-2);font-size:15px}

/* Entregas (vídeos reais, verticais) */
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(180px,17vw,240px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  margin:0 calc(var(--gutter)*-1) 28px;padding:4px var(--gutter) 14px;scrollbar-width:thin;overscroll-behavior-x:contain}
.reel{position:relative;margin:0;aspect-ratio:9/16;border-radius:var(--r-lg);overflow:hidden;background:var(--sky-2);scroll-snap-align:start;cursor:pointer}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.reel figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:12px;background:rgba(11,31,77,.72);color:#fff;font-size:13px;font-weight:600;line-height:1.3}
.reel figcaption small{display:block;font-weight:500;color:var(--fog);font-size:11.5px}
@media (max-width:760px){.reels{grid-auto-columns:44%}}

/* ============ Store (day) ============ */
.store{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.store-card{padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);background:var(--grad-blue);color:#fff;display:flex;flex-direction:column;gap:22px}
.store-card dl{margin:0;display:grid;gap:16px}
.store-card dt{font-size:13px;color:var(--fog);font-weight:600}
.store-card dd{margin:2px 0 0;font-size:17px}
.store-card .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.store-card .btn-ghost{color:var(--day);border-color:var(--line-night)}
.store-map{border-radius:var(--r-lg);overflow:hidden;min-height:420px;background:var(--fog-2)}
.store-map iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.35) contrast(1.05)}
@media (max-width:900px){.store{grid-template-columns:1fr}}

/* ============ FAQ (day) ============ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:clamp(18px,1.6vw,21px);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);position:relative;transition:transform .35s var(--ease-out),background-color .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s var(--ease-out)}
.faq details[open] summary i{background:var(--act);border-color:var(--act);color:var(--act-ink)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq .ans{overflow:hidden}
.faq .ans p{margin:0 0 24px;color:var(--fg-2);max-width:60ch}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* ============ Close (night) ============ */
.close{position:relative;overflow:hidden;text-align:left;isolation:isolate}
.close-cove{position:absolute;inset:0;z-index:-1;background:radial-gradient(45% 45% at 78% 10%,rgba(111,155,255,.45),transparent 70%),var(--grad-blue)}
.close-cove img{width:100%;height:100%;object-fit:cover;opacity:.55}
.close .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.close .lead{margin-top:20px}

/* ============ Footer ============ */
.ftr{background:var(--night);color:var(--fog);padding:72px 0 40px;font-size:15px;border-top:1px solid var(--line-night)}
.ftr-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px}
.ftr h3,.ftr h4{margin:0 0 14px;color:var(--day);font-size:14px;font-weight:700}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a{text-decoration:none}
.ftr a:hover{color:var(--day)}
.ftr-corp{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-night);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}
.ftr-grid>*{min-width:0;overflow-wrap:anywhere}
@media (max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.ftr-grid{grid-template-columns:1fr;gap:28px}}

/* Floating WhatsApp (mobile) */
.fab{position:fixed;right:16px;bottom:16px;z-index:45;width:58px;height:58px;border-radius:50%;background:var(--act);color:var(--act-ink);display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.6);transition:transform .3s var(--ease-out)}
.fab:hover{transform:scale(1.06)}
.fab svg{width:28px;height:28px}

/* ============ STOCK PAGE ============ */
.stock-hero{position:relative;padding:150px 0 56px;background:var(--grad-blue);color:#fff;overflow:hidden;isolation:isolate}
.stock-hero .hero-cove{opacity:1}
.stock-hero .lead{color:var(--fog);margin-top:16px}
.stock-search{margin-top:28px;display:flex;gap:10px;max-width:720px}
.stock-search input{flex:1;min-height:56px;border-radius:999px;border:1px solid var(--line-night);background:rgba(244,245,247,.06);color:var(--day);padding:0 22px;font:500 16px/1 var(--font)}
.stock-search input::placeholder{color:var(--fog)}
.stock{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:40px var(--gutter) 120px;align-items:start}
.filters{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 116px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.fgroup{border-bottom:1px solid var(--line);padding:16px 0}
.fgroup h3{margin:0 0 12px;font-size:14px;font-weight:700}
.fcheck{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;cursor:pointer;font-size:15px}
.fcheck input{appearance:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--ink-3);display:grid;place-items:center;margin:0 10px 0 0;cursor:pointer;flex:none;transition:background-color .2s,border-color .2s}
.fcheck input:checked{background:var(--ink);border-color:var(--ink)}
.fcheck input:checked::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.fcheck label{display:flex;align-items:center;flex:1;cursor:pointer}
.fcheck small{color:var(--ink-3);font-size:13px}
.fcheck.zero{opacity:.4}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{all:unset;cursor:pointer;padding:9px 14px;border-radius:999px;border:1px solid var(--line);font:600 14px/1 var(--font);transition:background-color .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.frange{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.frange select,.sort select{width:100%;min-height:44px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--white);font:500 15px/1 var(--font);padding:0 12px;color:var(--ink)}
.toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:15px}
.toggle input{appearance:none;width:42px;height:24px;border-radius:999px;background:var(--fog-2);position:relative;cursor:pointer;transition:background-color .2s;margin:0}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s var(--ease-out);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.toggle input:checked{background:var(--ink)}
.toggle input:checked::after{transform:translateX(18px)}
.results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.results-bar h2{margin:0;font-size:22px}
.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.active-chips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--ink);color:#fff;font:600 13px/1 var(--font)}
.active-chips button::after{content:"×";font-size:16px;line-height:1}
.active-chips .clear{background:transparent;color:var(--ink);border:1px solid var(--line)}
.active-chips .clear::after{content:""}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.more{display:flex;justify-content:center;margin-top:36px}
.empty{grid-column:1/-1;padding:56px;border-radius:var(--r-lg);border:1px dashed var(--line);text-align:center}
.empty h3{margin:0 0 8px;font-size:22px}
.empty p{color:var(--fg-2);margin:0 auto 20px;max-width:46ch}
.fbtn{display:none}
.sheet-head{display:none}
@media (max-width:1180px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .stock{grid-template-columns:1fr;padding-top:24px}
  .filters{position:fixed;inset:auto 0 0 0;top:auto;max-height:86svh;background:var(--white);z-index:60;border-radius:22px 22px 0 0;padding:8px 20px 100px;
    transform:translateY(105%);transition:transform .45s var(--ease-out);box-shadow:0 -20px 60px rgba(0,0,0,.25)}
  .filters.open{transform:none}
  .sheet-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-8px;background:var(--white);padding:16px 0 10px;z-index:1}
  .sheet-head h2{margin:0;font-size:20px}
  .sheet-apply{position:fixed;left:20px;right:20px;bottom:20px}
  .fbtn{display:inline-flex;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:44;box-shadow:0 14px 30px -10px rgba(0,0,0,.5)}
  .scrim{position:fixed;inset:0;background:rgba(10,12,15,.5);z-index:55;opacity:0;pointer-events:none;transition:opacity .3s}
  .scrim.on{opacity:1;pointer-events:auto}
}
@media (min-width:901px){.sheet-apply{display:none}.scrim{display:none}}
@media (max-width:600px){.grid{grid-template-columns:1fr}}

/* ============ Hardening (Web Interface Guidelines pass) ============ */
html{scroll-padding-top:96px}
[id]{scroll-margin-top:96px}
a,button,select,label,summary,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* focus: controls reset with all:unset get the ring back; dark ring on light surfaces */
.lang button:focus-visible,.chip:focus-visible,.active-chips button:focus-visible,#active button:focus-visible,.rev-more:focus-visible,.vbtn:focus-visible{outline:2px solid var(--act);outline-offset:2px}
.field:focus-within{outline:2px solid var(--act);outline-offset:2px}
.tone-light :focus-visible,.tone-sky :focus-visible,.stock :focus-visible,.filters :focus-visible{outline-color:var(--navy)}
.sr-only:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:12px 18px;background:var(--act);color:var(--act-ink);z-index:100;border-radius:999px;font-weight:700;text-decoration:none}
/* safe areas for fixed bottom controls */
.fab{bottom:calc(20px + env(safe-area-inset-bottom))}
.sheet-apply{margin-bottom:env(safe-area-inset-bottom)}
.fbtn{bottom:calc(16px + env(safe-area-inset-bottom))}
@media (min-width:981px){.fab{display:none}}
/* touch targets */
@media (max-width:980px){
  .lang button{min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center}
  .chip,#active button{min-height:44px}
}
/* scroll containment */
.filters{overscroll-behavior:contain}
body.sheet-open{overflow:hidden}
/* long titles + narrow cards */
.car-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slots{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.5fr)}
/* compositor-only motion: horizons move with transform, not height */
.fin-horizon{height:78%;transform:translateY(calc((1 - (.18 + var(--p,0) * .6) / .78) * 100%))}
@media (max-width:900px){.fin-horizon{height:100%;transform:translateY(calc((1 - (.08 + var(--p,0) * .92)) * 100%))}}
.peek{left:0;top:0}
/* video pause control */
.vbtn{all:unset;position:absolute;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(11,31,77,.62);color:#fff;backdrop-filter:blur(6px)}
.vbtn svg{width:16px;height:16px}
.vbtn .i-play{display:none}.vbtn[aria-pressed="true"] .i-play{display:block}.vbtn[aria-pressed="true"] .i-pause{display:none}
.reel .vbtn{top:10px;right:10px}
.hero-media .vbtn{top:96px;right:var(--gutter);z-index:1}
@media (max-width:980px){.hero-media .vbtn{top:72px;right:auto;left:var(--gutter)}}
.journey::after{width:100%;transform-origin:left;transform:scaleX(var(--jp,0));transition:transform .2s linear}
@media (max-width:900px){.journey::after{width:2px;height:auto;bottom:0;transform-origin:top;transform:scaleY(var(--jp,0))}}
.brand-list a{transition:color .25s}
.brand-list a:hover,.brand-list a:focus-visible{padding-left:4px}
.brand-list a .bn{display:inline-block;transition:transform .35s var(--ease-out)}
.brand-list a:hover .bn,.brand-list a:focus-visible .bn{transform:translateX(16px)}

/* ============ About: "one store, three languages" brand panel (replaces photo) ============ */
.tri{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;padding:clamp(24px,3.4vw,44px);color:#fff;background:var(--grad-blue);box-shadow:0 40px 80px -40px rgba(11,31,77,.55)}
.tri::before{content:"";position:absolute;right:-30%;top:-25%;width:90%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(111,155,255,.55),transparent);animation:vg-drift 18s ease-in-out infinite alternate}
.tri::after{content:"";position:absolute;left:-15%;right:-15%;bottom:-20%;height:55%;z-index:-1;border-radius:50% 50% 0 0/40% 40% 0 0;
  background:linear-gradient(180deg,rgba(111,155,255,.35),transparent 70%)}
.tri-logo{width:min(220px,60%);height:auto}
.tri-hi{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:clamp(10px,1.6vw,18px)}
.tri-hi li{font-weight:800;font-size:clamp(26px,3vw,42px);line-height:1.1;letter-spacing:-.02em;font-variation-settings:"wdth" 112;
  opacity:.38;transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transform:translateX(0)}
.tri-hi li[lang="ja"]{font-family:"Zen Kaku Gothic New",var(--font);font-weight:700;letter-spacing:0;word-break:keep-all;line-break:strict}
.tri-hi li small{display:block;font:700 11.5px/1 var(--font);letter-spacing:.12em;color:var(--glow);margin-bottom:8px;font-variation-settings:normal}
.tri-hi li.on{opacity:1;transform:translateX(10px)}
.tri-cap{margin:clamp(20px,2.6vw,32px) 0 0;max-width:34ch;font-size:clamp(15px,1.2vw,17px);line-height:1.55;color:#D6DFF3}
.tri-band{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:clamp(22px,2.8vw,34px) calc(clamp(24px,3.4vw,44px) * -1) calc(clamp(24px,3.4vw,44px) * -1);
  padding:14px clamp(24px,3.4vw,44px);background:rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.14);color:#D6DFF3;font-weight:600;font-size:14px;backdrop-filter:blur(6px)}
@media (max-width:900px){.tri{aspect-ratio:auto;min-height:440px}}
@media (prefers-reduced-motion:reduce){.tri::before{animation:none}.tri-hi li{opacity:1;transform:none}}

/* ============ Intro: the logo draws itself once per visit ============ */
#intro{display:none}
html.intro body{overflow:hidden}
html.intro #intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--grad-blue);
  transition:transform .85s cubic-bezier(.75,0,.2,1)}
#intro::after{content:"";position:absolute;left:-15%;right:-15%;bottom:-35%;height:60%;border-radius:50% 50% 0 0/30% 30% 0 0;
  background:linear-gradient(180deg,rgba(111,155,255,.32),transparent 70%);pointer-events:none}
#intro.out{transform:translateY(-100%)}
.intro-mark{position:relative;z-index:1;width:min(560px,82vw);aspect-ratio:1024/341}
.intro-car,.intro-logo{position:absolute;inset:0;width:100%;height:100%}
.intro-car{overflow:visible;filter:drop-shadow(0 0 10px rgba(242,194,0,.55));animation:vg-intro-fade .5s ease 1.75s forwards}
.intro-car path{fill:none;stroke:var(--act);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;
  stroke-dasharray:1;stroke-dashoffset:1;animation:vg-draw 1.25s cubic-bezier(.65,0,.25,1) .15s forwards}
.intro-car path:nth-child(n+2){animation-duration:.7s;animation-delay:.7s}
.intro-logo{opacity:0;clip-path:inset(0 100% 0 0);animation:vg-reveal .85s cubic-bezier(.65,0,.25,1) 1.15s forwards}
@keyframes vg-draw{to{stroke-dashoffset:0}}
@keyframes vg-reveal{to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes vg-intro-fade{to{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .intro-car{display:none}.intro-logo{opacity:1;clip-path:none;animation:none}
  html.intro #intro{transition:opacity .3s}#intro.out{transform:none;opacity:0}
}
html.intro #intro{animation:vg-intro-safe .01s linear 6s forwards}
@keyframes vg-intro-safe{to{visibility:hidden;opacity:0}}

/* =====================================================================
   Inner pages (Financiamento, Sobre, Contato, Carro, Privacidade, 404)
   Same system as the home: blue gradient heroes, sky/white bands, yellow only for actions.
   ===================================================================== */
/* mobile menu */
@media (max-width:980px){
  .burger{all:unset;display:grid;place-items:center;gap:5px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);cursor:pointer;flex:none}
  .burger span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease-out)}
  .burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .burger:focus-visible{outline:2px solid var(--act);outline-offset:2px}
  .mnav{position:fixed;inset:64px 0 auto;display:flex;flex-direction:column;padding:8px var(--gutter) 24px;background:rgba(11,31,77,.98);
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .3s var(--ease-out),visibility 0s .3s;box-shadow:0 30px 50px -20px rgba(4,12,36,.6)}
  .mnav.open{opacity:1;transform:none;visibility:visible;transition:opacity .25s,transform .3s var(--ease-out)}
  .mnav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:20px;font-weight:700}
  .hdr-actions > .btn-act{display:none}
  body.nav-open{overflow:hidden}
}
@media (min-width:981px){.mnav{display:none}}
.ftr-social{display:flex;gap:10px;margin-top:20px}
.ftr-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-night);color:var(--fog)}
.ftr-social a:hover{color:var(--day);border-color:var(--fog)}
.ftr-social svg{width:18px;height:18px}
/* logo and social icons share one centre line; on phones the block sits in the middle of the footer */
.ftr-brand{display:flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%}
@media (max-width:980px){.ftr-brand{margin-inline:auto;padding-bottom:8px}}

/* page hero */
.kicker{display:inline-block;font:700 12.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--glow);margin:0 0 18px}
.tone-light .kicker,.tone-sky .kicker{color:var(--azure)}
.phero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(140px,18vw,200px) 0 clamp(64px,9vw,112px);background:var(--grad-blue);color:#fff;--fg:#fff;--fg-2:var(--fog);--line:var(--line-night)}
.phero::before{content:"";position:absolute;right:-12%;top:-30%;width:62%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(111,155,255,.45),transparent);animation:vg-drift 18s ease-in-out infinite alternate}
.phero::after{content:"";position:absolute;left:-15%;right:-15%;bottom:-30%;height:55%;z-index:-1;border-radius:50% 50% 0 0/30% 30% 0 0;
  background:linear-gradient(180deg,rgba(111,155,255,.32),transparent 70%)}
.phero h1{max-width:18ch}
html[lang="ja"] .phero h1{max-width:20em}
.phero .lead{margin-top:22px;max-width:58ch}
.phero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.phero .btn-ghost{color:#fff;border-color:var(--line-night)}
.phero .btn-ghost:hover{border-color:#fff}
@media (prefers-reduced-motion:reduce){.phero::before{animation:none}}

/* grids of cards */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{padding:clamp(22px,2.4vw,30px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.tone-light .card{background:var(--sky);border-color:transparent}
.card .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--grad-blue);color:#fff;margin-bottom:6px}
.card .ico svg{width:22px;height:22px}
.card b{font-size:19px;line-height:1.25}
.card p{margin:0;color:var(--fg-2)}
.card a.more{margin-top:auto;padding-top:8px;font-weight:600}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.c3{grid-template-columns:1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* numbered steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);counter-reset:s}
.steps li{position:relative;padding-top:22px;border-top:2px solid var(--line)}
.steps li::before{counter-increment:s;content:"0" counter(s);display:block;font:800 clamp(40px,4.4vw,64px)/1 var(--font);font-variation-settings:"wdth" 112;color:var(--azure);margin-bottom:14px}
.tone-blue .steps li::before{color:var(--act)}
.steps b{display:block;font-size:21px;margin-bottom:6px}
.steps p{margin:0;color:var(--fg-2)}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* financing form block */
.apply{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.apply-form{padding:clamp(18px,2.4vw,32px);border-radius:var(--r-lg);background:var(--white);color:var(--ink);min-height:520px;box-shadow:0 40px 80px -40px rgba(4,12,36,.6)}
.apply-form .formrun-embed{min-height:460px}
.consent{margin-top:22px;font-size:14px;color:var(--fg-2);line-height:1.6}
.consent a{color:inherit;font-weight:600}
.partners-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:0;list-style:none}
.partners-row li{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:700;font-size:14.5px;line-height:1.25}
.tone-light .partners-row li,.tone-sky .partners-row li{background:var(--white)}
.partners-row li small{display:block;font-weight:500;font-size:12px;color:var(--fg-2)}
@media (max-width:900px){.apply{grid-template-columns:1fr}}

/* about */
.story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:start}
.story .prose p{margin:0 0 18px;font-size:clamp(17px,1.3vw,19px);line-height:1.65;color:var(--fg-2)}
.story .prose p:first-of-type{color:var(--fg);font-size:clamp(19px,1.6vw,23px);line-height:1.5}
.quote{position:sticky;top:110px;margin:0;padding:clamp(28px,3.4vw,48px);border-radius:var(--r-lg);background:var(--grad-blue);color:#fff;overflow:hidden;isolation:isolate}
.quote::before{content:"“";position:absolute;right:18px;top:-30px;font:800 220px/1 var(--font);color:rgba(111,155,255,.25);z-index:-1}
.quote blockquote{margin:14px 0 0;font-size:clamp(21px,2vw,28px);line-height:1.35;font-weight:700}
.quote figcaption{margin-top:22px;color:var(--fog);font-size:14px}
@media (max-width:900px){.story{grid-template-columns:1fr}.quote{position:relative;top:auto}}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.nums li{padding:24px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.nums b{display:block;font:800 clamp(34px,3.6vw,52px)/1 var(--font);font-variation-settings:"wdth" 112;color:var(--navy);margin-bottom:8px}
.nums span{color:var(--fg-2);font-size:15px}
@media (max-width:900px){.nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.paycards{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0;padding:0;list-style:none}
.paycards li{min-width:84px;height:52px;padding:0 16px;border-radius:12px;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);font:800 15px/1 var(--font);letter-spacing:.02em;color:var(--navy)}
.corp{margin:0;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);overflow:hidden}
.corp h3{margin:0;padding:18px 24px;font-size:15px;background:var(--grad-blue);color:#fff}
.corp dl{margin:0;padding:6px 24px 14px}
.corp dl div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.corp dl div:last-child{border-bottom:0}
.corp dt{color:var(--fg-2);font-size:14px}
.corp dd{margin:0;font-weight:600}
@media (max-width:900px){.pay{grid-template-columns:1fr}.corp dl div{grid-template-columns:1fr;gap:2px}}

/* contact */
.channels a.card{text-decoration:none;color:inherit;transition:transform .3s var(--ease-out),box-shadow .3s}
.channels a.card:hover{transform:translateY(-3px);box-shadow:0 24px 40px -24px rgba(11,31,77,.35)}
.channels a.card b{font-size:21px}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:clamp(22px,3vw,36px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.cform .full{grid-column:1/-1}
.cform label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.cform label small{font-weight:500;color:var(--fg-2)}
.cform input,.cform textarea{font:500 16px/1.4 var(--font);color:var(--ink);padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--day)}
.cform textarea{min-height:150px;resize:vertical}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--navy);outline-offset:1px;background:#fff}
.cform .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500}
.cform .check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy);flex:none}
.cform .err{color:#B42318;font-size:13.5px;font-weight:600;min-height:1em}
.cform .ok{padding:14px 16px;border-radius:var(--r-md);background:#E9F7EF;color:#14532D;font-weight:600}
.cform .demo{color:var(--fg-2);font-size:13px}
.cinfo{display:flex;flex-direction:column;gap:18px}
.cinfo dl{margin:0;display:grid;gap:14px}
.cinfo dt{font-size:13px;color:var(--fg-2);font-weight:600}
.cinfo dd{margin:2px 0 0;font-size:17px}
.cinfo a{color:inherit}
@media (max-width:640px){.cform{grid-template-columns:1fr}}

/* legal */
.legal{max-width:74ch}
.legal h2{font-size:clamp(20px,1.8vw,24px);margin:40px 0 10px}
.legal p{color:var(--fg-2);line-height:1.75;margin:0 0 14px}
.legal .note{padding:14px 18px;border-radius:var(--r-md);background:var(--sky);color:var(--fg)}

/* 404 */
.nf{min-height:72svh;display:flex;flex-direction:column;justify-content:center}

/* ---------- car page ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 18px;padding:0;list-style:none;font-size:14px;color:var(--fg-2)}
.crumbs li+li::before{content:"›";margin-right:10px;color:var(--fg-2)}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--fg);text-decoration:underline}
.cartop{padding:clamp(100px,12vw,128px) 0 clamp(56px,7vw,96px);background:var(--sky)}
.cargrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:clamp(24px,3vw,44px);align-items:start}
.gal{min-width:0}
.gal-main{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--navy);cursor:zoom-in}
.gal-main img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease-out)}
.gal-main img.fade{opacity:.25}
.gal-nav{all:unset;position:absolute;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:rgba(11,31,77,.62);color:#fff;backdrop-filter:blur(6px);transition:background-color .2s}
.gal-nav:hover{background:rgba(11,31,77,.85)}
.gal-nav:focus-visible{outline:2px solid var(--act);outline-offset:2px}
.gal-nav svg{width:20px;height:20px}
.gal-nav.prev{left:14px}.gal-nav.next{right:14px}
.gal-count{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(11,31,77,.7);color:#fff;font:600 13px/1 var(--font)}
.gal-zoom{all:unset;position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(11,31,77,.7);color:#fff;cursor:pointer}
.gal-zoom svg{width:18px;height:18px}
.gal-badge{position:absolute;left:14px;top:14px}
.thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(84px,9vw,112px);gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scroll-snap-type:x proximity}
.thumbs button{all:unset;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:pointer;opacity:.55;outline:2px solid transparent;outline-offset:-2px;transition:opacity .2s,outline-color .2s;scroll-snap-align:start}
.thumbs button[aria-current="true"]{opacity:1;outline-color:var(--navy)}
.thumbs button:hover{opacity:.9}
.thumbs button:focus-visible{outline-color:var(--act)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.buy{position:sticky;top:100px;padding:clamp(22px,2.4vw,32px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(11,31,77,.35)}
.buy h1{font-size:clamp(28px,2.6vw,40px);line-height:1.05}
.buy .meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.buy .meta li{padding:7px 12px;border-radius:999px;background:var(--sky);font-weight:600;font-size:14px}
.buy .meta a{color:inherit;text-decoration:none}
.price-box{margin:22px 0 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-box small{display:block;color:var(--fg-2);font-size:13.5px;font-weight:600}
.price-box b{display:block;font:800 clamp(34px,3.2vw,46px)/1.05 var(--font);font-variation-settings:"wdth" 108;color:var(--navy);margin-top:6px}
.buy .btn{width:100%;margin-top:12px}
.buy .btn-ghost{color:var(--navy);border-color:var(--line)}
.buy .fast{margin:12px 0 0;text-align:center;color:var(--fg-2);font-size:13.5px}
.sold-note{margin-top:18px;padding:16px;border-radius:var(--r-md);background:var(--sky)}
.sold-note b{display:block;font-size:17px}
.sold-note p{margin:6px 0 0;color:var(--fg-2);font-size:14.5px}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.specs div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--fg-2)}
.specs dd{margin:0;font-weight:700;text-align:right}
/* equipamentos e opcionais (car page): compact icon list, 3 columns → 2 on phones */
.eq{margin-top:clamp(32px,4vw,48px)}
.eq h3{font-size:clamp(19px,1.6vw,22px);margin:0 0 14px}
.eq-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.eq-list li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.3;min-width:0}
.eq-list svg{flex:none;width:20px;height:20px;color:var(--royal)}
.eq-list .eq-x{display:none}.eq-list.open .eq-x{display:flex}
.eq-more{margin-top:14px;padding:8px 0;border:0;background:none;font:700 14px/1.2 var(--font);color:var(--royal);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.eq-more:hover{text-decoration-thickness:2px}
.eq-more:focus-visible{outline:2px solid var(--azure);outline-offset:3px;border-radius:4px}
@media (max-width:640px){.eq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.eq-list li{font-size:14px;align-items:flex-start}.eq-list svg{width:18px;height:18px;margin-top:1px}}
.desc{white-space:pre-line;color:var(--fg-2);font-size:17px;line-height:1.6;max-width:68ch}
.desc-note{font-size:13px;color:var(--fg-2);margin-top:10px}
.cardetail{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:clamp(24px,3vw,44px)}
.cardetail h2{font-size:clamp(24px,2.2vw,32px);margin:0 0 18px}
.finband{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:center}
.finband .btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.finband .btn-ghost{color:#fff;border-color:var(--line-night)}
@media (max-width:980px){
  .cargrid,.cardetail{grid-template-columns:1fr}
  .buy{position:relative;top:auto}
  .specs{grid-template-columns:1fr}
  .finband{grid-template-columns:1fr}.finband .btns{justify-content:flex-start}
}
/* mobile sticky action bar on the car page */
.carbar{display:none}
@media (max-width:980px){
  .carbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:10px;align-items:center;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s var(--ease-out)}
  .carbar.on{transform:none}
  .carbar .p{flex:1;min-width:0}
  .carbar .p small{display:block;font-size:11.5px;color:var(--fg-2);font-weight:600}
  .carbar .p b{font:800 21px/1.1 var(--font);color:var(--navy)}
  .carbar .btn{min-height:48px;padding:0 18px}
  body.has-carbar .fab{display:none}
}
/* lightbox */
.lb{position:fixed;inset:0;z-index:250;display:grid;grid-template-rows:auto 1fr auto;background:rgba(6,14,36,.96);color:#fff;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.lb.open{opacity:1;visibility:visible;transition:opacity .25s}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter)}
.lb-top span{font:600 14px/1 var(--font);color:var(--fog)}
.lb-stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 var(--gutter)}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;user-select:none}
.lb .gal-nav{background:rgba(255,255,255,.12)}
.lb-close{all:unset;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.12)}
.lb-close svg{width:20px;height:20px}
.lb-close:focus-visible{outline:2px solid var(--act)}
.lb-strip{display:flex;gap:6px;overflow-x:auto;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom))}
.lb-strip button{all:unset;flex:none;width:72px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;opacity:.45;cursor:pointer}
.lb-strip button[aria-current="true"]{opacity:1;outline:2px solid var(--act)}
.lb-strip img{width:100%;height:100%;object-fit:cover}
body.lb-open{overflow:hidden}

/* ============ Painel (demo admin) ============ */
.pn{min-height:100svh;background:var(--sky)}
.pn-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:12px var(--gutter);background:var(--grad-blue);color:#fff}
.pn-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}
.pn-logo img{height:30px;width:auto}
.pn-demo{margin-left:auto;font-size:12.5px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:var(--fog)}
.pn-site{color:#fff;font-weight:600;font-size:14px}
.pn-main{max-width:980px;margin:0 auto;padding:24px var(--gutter) 80px}
.pn-login{max-width:440px;margin:12vh auto 0;padding:32px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);text-align:center}
.pn-login h1{margin:0 0 10px;font-size:28px}.pn-login p{color:var(--fg-2);margin:0 0 22px}
.pn-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px}
.pn-head h1{margin:0;font-size:clamp(24px,4vw,32px);flex:1}
.pn-back{all:unset;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);cursor:pointer;font-size:20px}
.pn-back:focus-visible{outline:2px solid var(--navy)}
.pn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0;list-style:none}
.pn-stats li{padding:14px;border-radius:var(--r-md);background:var(--white);border:1px solid var(--line);color:var(--fg-2);font-size:13.5px}
.pn-stats b{display:block;font:800 26px/1.1 var(--font);color:var(--navy)}
.pn-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.pn-tools input{flex:1;min-width:220px;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font:500 16px var(--font);background:var(--white)}
.pn-filter{display:flex;gap:6px;flex-wrap:wrap}
.pn-filter button{all:unset;padding:0 14px;min-height:44px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:var(--white);font-weight:600;font-size:14px;cursor:pointer}
.pn-filter button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.pn-filter button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pn-cars{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pn-car{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px;border-radius:var(--r-md);background:var(--white);border:1px solid var(--line)}
.pn-car.is-hidden{opacity:.6}
.pn-car img{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--sky)}
.pn-car-t{min-width:0;display:flex;flex-direction:column}
.pn-car-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-car-t span{color:var(--fg-2);font-size:14px}
.pn-car-t em{font-style:normal;font-size:12px;color:#B42318;font-weight:600}
.pn-st select,.pn-form select{min-height:44px;border-radius:10px;border:1px solid var(--line);padding:0 10px;font:600 14px var(--font);background:var(--white)}
.pn-edit-b{all:unset;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;background:var(--sky);font-weight:700;cursor:pointer}
.pn-edit-b:focus-visible{outline:2px solid var(--navy)}
.pn-empty{padding:28px;text-align:center;color:var(--fg-2)}
@media (max-width:640px){
  .pn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pn-car{grid-template-columns:76px minmax(0,1fr) auto}
  .pn-car img{width:76px}
  .pn-car-t{grid-column:2/4}
  .pn-st{grid-column:1/3}.pn-st select{width:100%}
  .pn-edit-b{grid-column:3}
  .pn-demo{display:none}
}
.pn-form{display:flex;flex-direction:column;gap:18px}
.pn-photos{margin:0;padding:18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.pn-eq{margin:0;padding:18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.pn-eq legend{font-weight:700;padding:0 6px}.pn-eq legend small{display:block;font-weight:500;color:var(--fg-2);font-size:13px}
.pn-eq-cat+.pn-eq-cat{margin-top:16px}
.pn-eq-cat h4{margin:4px 0 8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2)}
.pn-eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px}
.pn-eq-grid label{display:flex;font-weight:500;font-size:14px;padding:6px 0;cursor:pointer}
.pn-photos legend{font-weight:700;padding:0 6px}.pn-photos legend small{display:block;font-weight:500;color:var(--fg-2);font-size:13px}
.pn-ph{list-style:none;margin:10px 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.pn-ph li{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--sky);cursor:grab}
.pn-ph img{width:100%;height:100%;object-fit:cover}
.pn-ph .cap{position:absolute;left:6px;top:6px;padding:4px 8px;border-radius:999px;background:var(--act);color:var(--act-ink);font-size:11.5px;font-weight:800}
.ph-ctl{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:6px;background:linear-gradient(transparent,rgba(11,31,77,.7))}
.ph-ctl button{all:unset;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--navy);font-weight:800;cursor:pointer}
.ph-ctl button:disabled{opacity:.35;cursor:default}
.ph-ctl button:focus-visible{outline:2px solid var(--act)}
.pn-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:96px;border-radius:var(--r-md);border:2px dashed var(--line);cursor:pointer;font-weight:700;color:var(--navy);text-align:center}
.pn-add input{position:absolute;opacity:0;width:1px;height:1px}
.pn-add:focus-within{outline:2px solid var(--navy)}
.pn-add small{font-weight:500;color:var(--fg-2)}
.pn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.pn-grid .full{grid-column:1/-1}
.pn-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.pn-grid input,.pn-grid textarea{font:500 16px/1.4 var(--font);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--day)}
.pn-grid .err{color:#B42318;font-size:13px;min-height:1em}
.pn-check{flex-direction:row!important;align-items:center;gap:10px!important}
.pn-check input{width:20px;height:20px;accent-color:var(--navy)}
@media (max-width:760px){.pn-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pn-grid{grid-template-columns:1fr}}
.pn-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pn-actions .btn-ghost{color:var(--navy)}
.pn-saved{margin:0;padding:12px 14px;border-radius:var(--r-md);background:#E9F7EF;color:#14532D;font-weight:600}
.pn-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));translate:-50% 20px;opacity:0;margin:0;padding:12px 18px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600;transition:opacity .25s,translate .25s;z-index:100;pointer-events:none}
.pn-toast.on{opacity:1;translate:-50% 0}
.car-badge.reserved{background:var(--navy);color:#fff}
/* painel: auth + extras */
.pn-boot{text-align:center;color:var(--fg-2);margin-top:20vh}
.pn-auth{display:flex;flex-direction:column;gap:14px;text-align:left}
.pn-auth label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.pn-auth input{font:500 16px/1.4 var(--font);padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:var(--day)}
.pn-auth input:focus{outline:2px solid var(--navy);outline-offset:1px;background:#fff}
.pn-err{margin:0;min-height:1.2em;color:#B42318;font-weight:600;font-size:14px}
.pn-note{margin:16px 0 0;padding:12px 14px;border-radius:var(--r-md);background:var(--sky);font-size:14.5px;text-align:left}
.pn-auth-alt{margin:4px 0 0;font-size:14px;color:var(--fg-2);text-align:center}
.pn-link{all:unset;cursor:pointer;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pn-link:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pn-out{all:unset;cursor:pointer;color:#fff;font-weight:600;font-size:14px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3)}
.pn-top .pn-site{margin-left:auto}
.pn-del{all:unset;cursor:pointer;margin-left:auto;color:#B42318;font-weight:600;font-size:14px;padding:10px 12px;border-radius:10px}
.pn-del:hover{background:#FDECEA}
.pn-ph .new{position:absolute;right:6px;top:6px;padding:4px 8px;border-radius:999px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:800}
.pn-grid small{font-weight:500;color:var(--fg-2)}

/* ============ Premium vehicle card (same palette) ============ */
.car{background:#fff;border:1px solid rgba(11,31,77,.08);box-shadow:0 1px 2px rgba(11,31,77,.04),0 14px 34px -22px rgba(11,31,77,.28);
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s;color:var(--ink)}
.car:hover{transform:translateY(-6px);border-color:rgba(42,87,200,.32);box-shadow:0 2px 4px rgba(11,31,77,.05),0 36px 64px -32px rgba(11,31,77,.5)}
.car:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.car-ph{margin:8px 8px 0;border-radius:16px;background:var(--sky)}
.car-ph::before{content:"";position:absolute;inset:auto 0 0;height:42%;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(11,31,77,.38))}
.car-badge{z-index:2}
.car-photos{z-index:2;display:inline-flex;align-items:center;gap:5px;background:rgba(11,31,77,.62);backdrop-filter:blur(6px);padding:6px 9px}
.car-photos svg{width:13px;height:13px}
.car-body{gap:6px;padding:16px 18px 18px}
.car-brand{font:700 11px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--azure)}
.car-title{font-size:19px;font-weight:800;line-height:1.2;letter-spacing:-.01em;font-variation-settings:"wdth" 106;min-height:2.4em}
.car-specs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 0;padding:0}
.car-specs li{font-size:12.5px;font-weight:600;line-height:1;padding:7px 10px;border-radius:999px;background:var(--sky);color:var(--ink-2)}
.car-specs li.is-governed{background:#FFF6D1;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(242,194,0,.7)}
.car-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(11,31,77,.08)}
.car-body .car-specs + .car-foot{margin-top:14px}
.car-price{display:flex;flex-direction:column;gap:4px;min-width:0}
.car-price span{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--fg-2)}
.car-price b{font:800 clamp(21px,1.7vw,24px)/1.05 var(--font);font-variation-settings:"wdth" 108;color:var(--navy);white-space:nowrap}
.car-price.is-governed b{text-decoration:underline 3px var(--act);text-underline-offset:6px}
.car-go{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--navy);transition:background-color .3s,color .3s,transform .35s var(--ease-out)}
.car-go svg{width:18px;height:18px}
.car:hover .car-go{background:var(--act);color:var(--act-ink);transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.car,.car:hover{transform:none}.car-ph img,.car:hover .car-ph img{transform:none}}
.hdr.is-solid{background:rgba(11,31,77,.92);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform{position:relative}
.pn-head .pn-msg-b{color:var(--navy);border-color:var(--line);background:#fff}
.pn-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#B42318;color:#fff;font-size:12px;font-weight:800}
.pn-msgs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pn-msg{padding:16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line)}
.pn-msg.is-done{opacity:.6}
.pn-msg-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px}
.pn-msg-h span{color:var(--fg-2);font-size:13px}
.pn-msg-t{white-space:pre-line;margin:10px 0 14px}
.pn-msg-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pn-msg-a .btn{min-height:44px;padding:0 16px;font-size:14px}
.pn-msg-a .btn-ghost{color:var(--navy)}
@media (max-width:640px){.pn-head{flex-wrap:wrap}.pn-head h1{flex-basis:100%}}
html[lang="ja"] .addr-roman{display:none}
.corp h2.corp-h{margin:0;padding:18px 24px;font-size:15px;background:var(--grad-blue);color:#fff}

/* ---------- car page: gallery cross-fade, immersive lightbox, payment simulator ---------- */
.gal-main .gal-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .55s var(--ease-out),transform .9s var(--ease-out)}
.gal-main .gal-img.is-in{opacity:0;transform:translateX(var(--dx,0)) scale(1.03)}
.gal-count,.gal-zoom{background:rgba(11,31,77,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.gal-zoom{width:auto;padding:0 14px 0 12px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;font:600 13px/1 var(--font);transition:background-color .2s}
.gal-zoom:hover{background:rgba(11,31,77,.85)}
.gal-zoom:focus-visible{outline:2px solid var(--act);outline-offset:2px}

.lb{background:#040A1C;grid-template-columns:minmax(0,1fr)}
.lb-top{gap:12px}
.lb-hint{flex:1;min-width:0;text-align:center;font-size:13px;color:var(--fog);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-tools{display:flex;gap:8px;flex:none}
@media (max-width:420px){.lb-hint{font-size:12px}}
.lb-btn{all:unset;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.12);transition:background-color .2s}
.lb-btn:hover{background:rgba(255,255,255,.22)}
.lb-btn:focus-visible{outline:2px solid var(--act)}
.lb-btn svg{width:20px;height:20px}
.lb-stage{overflow:hidden;touch-action:none}
.lb-stage img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0;cursor:zoom-in;transform-origin:center;will-change:transform;-webkit-user-drag:none}
.lb-stage{padding-block:8px}
.lb.zoomed .lb-stage img{cursor:grab;border-radius:0}
.lb.zoomed .lb-stage img:active{cursor:grabbing}
.lb-top,.lb-strip,.lb .gal-nav{transition:opacity .3s}
.lb.zoomed .gal-nav,.lb.zoomed .lb-strip,.lb.ui-off .lb-top,.lb.ui-off .lb-strip,.lb.ui-off .gal-nav{opacity:0;pointer-events:none}
.lb:fullscreen{background:#000}
@media (max-width:980px){
  .lb-stage{padding:0}
  .lb-stage img{border-radius:0}
  .lb .gal-nav{display:none}
}

.price-box .buy-from{display:inline-block;margin-top:10px;font-size:14.5px;color:var(--fg-2);text-decoration:none;border-bottom:1px dashed var(--line-day);padding-bottom:2px}
.price-box .buy-from b{display:inline;font:800 15.5px/1 var(--font);color:var(--navy);margin:0}
.price-box .buy-from:hover{color:var(--navy);border-bottom-color:var(--navy)}

.sim{align-self:start;padding:clamp(22px,2.4vw,32px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(11,31,77,.35);scroll-margin-top:110px}
.sim .kicker{margin-bottom:10px}
.cardetail .sim h2{margin:0 0 18px}
.sim-out{position:relative;overflow:hidden;padding:22px 22px 20px;border-radius:var(--r-md);color:#fff;background:linear-gradient(135deg,var(--navy) 0%,var(--royal) 62%,var(--azure) 140%)}
.sim-out::after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(111,155,255,.35),transparent);pointer-events:none}
.sim-out small{display:block;color:#D6DFF3;font-weight:600;font-size:13.5px}
.sim-pay{position:relative;margin:8px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.sim-pay b{font:800 clamp(38px,3.6vw,50px)/1 var(--font);font-variation-settings:"wdth" 108;letter-spacing:-.01em}
.sim-pay span{font-weight:600;color:#D6DFF3}
.sim-terms{position:relative;display:inline-block;margin-top:14px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;font-weight:600}
.sim-elig{position:relative;margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;line-height:1.5;color:#C9D5EE}
.sim-field{margin:24px 0 0;border:0;padding:0;min-width:0}
.sim-field legend{padding:0;margin-bottom:12px;font-weight:600}
.sim-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.sim-row label{font-weight:600}
.sim-row output{font:800 19px/1 var(--font);color:var(--navy)}
.sim input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:32px;margin:0;background:transparent;cursor:pointer}
.sim input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--navy) var(--fill,0%),var(--sky-2) var(--fill,0%))}
.sim input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:#fff;border:2px solid var(--navy);box-shadow:0 6px 14px -4px rgba(11,31,77,.45);transition:transform .15s var(--ease-out)}
.sim input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}
.sim input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:var(--sky-2)}
.sim input[type=range]::-moz-range-progress{height:6px;border-radius:99px;background:var(--navy)}
.sim input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--navy);box-shadow:0 6px 14px -4px rgba(11,31,77,.45)}
.sim input[type=range]:focus-visible{outline:2px solid var(--act);outline-offset:4px;border-radius:8px}
.sim-scale{display:flex;justify-content:space-between;font-size:12.5px;color:var(--fg-2)}
.sim-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:999px;background:var(--sky)}
.sim-seg label{position:relative;cursor:pointer}
.sim-seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.sim-seg span{display:grid;place-items:center;min-height:42px;border-radius:999px;font-weight:700;font-size:14px;color:var(--fg-2);transition:background-color .25s,color .25s,box-shadow .25s}
.sim-seg label:hover span{color:var(--navy)}
.sim-seg input:checked+span{background:var(--navy);color:#fff;box-shadow:0 8px 16px -8px rgba(11,31,77,.7)}
.sim-seg input:focus-visible+span{outline:2px solid var(--act);outline-offset:2px}
.sim-break{margin:22px 0 0;display:grid}
.sim-break div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.sim-break dt{color:var(--fg-2)}
.sim-break dd{margin:0;font-weight:700}
.sim-break div:last-child{border-bottom:0;padding-bottom:0}
.sim-break div:last-child dt{color:var(--fg);font-weight:600}
.sim-break div:last-child dd{color:var(--navy);font-weight:800;font-size:16.5px}
.sim .btn{width:100%;margin-top:22px}
.sim-link{display:flex;width:max-content;max-width:100%;margin:16px auto 0;color:var(--navy);white-space:normal}
.sim-note{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--fg-2)}
@media (prefers-reduced-motion:reduce){.gal-main .gal-img,.sim-seg span{transition:none}}

/* "Navegue por marca": compact grid, six brands first, the rest opens on demand */
.brand-box .brand-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,40px)}
.brand-box .brand-list a{font-size:clamp(22px,2.3vw,32px);padding:16px 4px;overflow-wrap:anywhere}
#brands-more{border-top:0}
.brand-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease-out)}
.brand-more>div{min-height:0;overflow:hidden}
.brand-more.open{grid-template-rows:1fr}
.brand-more li{opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}
.brand-more.open li{opacity:1;transform:none;transition-delay:calc(.12s + var(--i,0) * 35ms)}
.brand-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;margin:28px auto 0;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid var(--line);font:600 15px/1 var(--font);color:var(--fg);cursor:pointer;transition:border-color .25s,background-color .25s}
.brand-toggle:hover{border-color:var(--fg);background:rgba(11,31,77,.04)}
.brand-toggle:focus-visible{outline:2px solid var(--act);outline-offset:3px}
.brand-toggle svg{width:18px;height:18px;transition:transform .45s var(--ease-out)}
.brand-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.brand-toggle[hidden]{display:none}
@media (min-width:601px) and (max-width:900px){.brand-box .brand-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.brand-box .brand-list a{font-size:clamp(19px,5.4vw,24px);padding:14px 2px}}
@media (prefers-reduced-motion:reduce){.brand-more,.brand-more li,.brand-toggle svg{transition:none}}

/* hero search: custom dropdowns over the native selects */
.field.has-dd{padding:12px 16px 12px 18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);transition:background-color .25s,border-color .25s,box-shadow .25s}
.field.has-dd::after{display:none}
.field.has-dd:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22)}
.field.has-dd:focus-within,.field.has-dd.is-open{background:rgba(255,255,255,.14);border-color:rgba(111,155,255,.8);box-shadow:0 0 0 3px rgba(111,155,255,.2)}
.field.has-dd label{font:700 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#AFC3EC;margin-bottom:7px;cursor:pointer}
.field.has-dd select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dd-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;cursor:pointer;font:600 17px/1.3 var(--font);font-variation-settings:"wdth" 104;color:#fff}
.dd-btn::after{content:"";position:absolute;inset:0;border-radius:inherit}
.dd-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.field.has-dd:not(.has-value) .dd-val{color:#E3EBFB}
.dd-chev{position:relative;z-index:1;flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);transition:transform .35s var(--ease-out),background-color .25s;pointer-events:none}
.dd-chev svg{width:15px;height:15px}
.field.has-dd:hover .dd-chev{background:rgba(255,255,255,.18)}
.field.is-open .dd-chev{transform:rotate(180deg);background:rgba(255,255,255,.22)}
.field.is-disabled{opacity:.5}
.field.is-disabled label,.field.is-disabled .dd-btn{cursor:not-allowed}
.field.is-disabled:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
.dd-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;max-height:320px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;padding:6px;list-style:none;
  background:#fff;color:var(--ink);border:1px solid rgba(11,31,77,.08);border-radius:16px;box-shadow:0 28px 56px -18px rgba(6,16,44,.5),0 2px 8px rgba(6,16,44,.08);
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.985);transform-origin:top center;transition:opacity .18s ease,transform .26s var(--ease-out),visibility 0s .26s}
.field.dd-up .dd-list{top:auto;bottom:calc(100% + 8px);transform-origin:bottom center;transform:translateY(6px) scale(.985)}
.field.is-open .dd-list{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .26s var(--ease-out)}
.dd-list:focus{outline:none}
.dd-list li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px 11px 16px;border-radius:10px;font:600 15px/1.25 var(--font);color:var(--ink-2);cursor:pointer;transition:background-color .15s,color .15s}
.dd-list li.dd-any{color:var(--ink-3)}
.dd-list li.is-active{background:var(--sky);color:var(--navy)}
.dd-list li svg{flex:none;width:16px;height:16px;color:var(--azure);opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s var(--ease-out)}
.dd-list li[aria-selected="true"]{color:var(--navy);font-weight:700}
.dd-list li[aria-selected="true"]::before{content:"";position:absolute;left:5px;top:11px;bottom:11px;width:3px;border-radius:3px;background:var(--azure)}
.dd-list li[aria-selected="true"] svg{opacity:1;transform:none}
@media (max-width:980px){
  .field.has-dd{padding:11px 14px}
  .dd-btn{font-size:16px}
  .search .field:nth-child(2) .dd-list{left:auto;right:0}
}
@media (prefers-reduced-motion:reduce){.dd-list,.dd-chev,.field.has-dd{transition:none}}

/* inner-page banners: infinite marquee typography behind the title.
   The track holds two identical groups and slides by exactly one group (-50%), so the loop has no seam; each "VISION GARAGE" crosses in ~40 s. */
.marquee{position:absolute;left:0;right:0;top:50%;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;
  transform:translateY(-38%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:vg-marquee 80s linear infinite;will-change:transform}
.marquee-track>div{display:flex;flex:none}
.marquee span{flex:none;padding-right:.42em;font-family:"Archivo",system-ui,sans-serif;font-weight:800;font-variation-settings:"wdth" 125;
  font-size:clamp(96px,15vw,240px);line-height:.9;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;color:rgba(222,231,246,.11)}
@keyframes vg-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:700px){
  .marquee{transform:translateY(-30%)}
  .marquee span{font-size:clamp(72px,24vw,120px);padding-right:.38em;color:rgba(222,231,246,.12)}
  .marquee-track{animation-duration:56s}
}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- "O que fazemos": central circle with the four services ---------- */
.svc{position:relative;overflow:hidden;isolation:isolate;padding:clamp(80px,10vw,140px) 0;color:#fff;--fg:#fff;--fg-2:var(--fog);--line:var(--line-night);
  background:radial-gradient(55% 55% at 28% 58%,rgba(42,87,200,.38),transparent 70%),radial-gradient(40% 40% at 88% 20%,rgba(111,155,255,.14),transparent 70%),linear-gradient(180deg,#06112E,var(--navy))}
.svc-head{max-width:760px;margin-bottom:clamp(40px,5vw,72px)}
.svc-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,88px);align-items:center}
.svc-orbit{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto}
.svc-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.svc-lines line{stroke:rgba(175,195,236,.22);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 6;transition:stroke .45s}
.svc-lines line.on{stroke:var(--glow);stroke-dasharray:6 6;animation:svc-flow 1.1s linear infinite}
@keyframes svc-flow{to{stroke-dashoffset:-12}}
.svc-core{position:absolute;left:50%;top:50%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.svc-core::before{content:"";position:absolute;inset:12%;border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#1E43A3 0%,#10276A 46%,#081840 100%);
  box-shadow:0 0 0 1px rgba(175,195,236,.2),0 34px 80px -24px rgba(0,0,0,.7),0 0 110px -16px rgba(111,155,255,.45),inset 0 1px 0 rgba(255,255,255,.14)}
.svc-core::after{content:"";position:absolute;inset:2%;border-radius:50%;border:1px solid rgba(175,195,236,.14)}
.svc-ring{position:absolute;inset:0;width:100%;height:100%;animation:svc-spin 48s linear infinite}
.svc-ring text{fill:rgba(214,223,243,.66);font-family:"Archivo",system-ui,sans-serif;font-size:21px;font-weight:700;text-transform:uppercase}
@keyframes svc-spin{to{transform:rotate(360deg)}}
.svc-core-in{position:relative;display:grid;justify-items:center;gap:12px;width:50%;text-align:center}
.svc-core-in img{width:100%;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.svc-core-in b{font:700 11.5px/1.2 var(--font);letter-spacing:.22em;text-transform:uppercase;color:#AFC3EC}
html[lang="ja"] .svc-core-in b{letter-spacing:.12em}
.svc-nodes{position:absolute;inset:0;pointer-events:none}
.svc-node{all:unset;box-sizing:border-box;position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;
  display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;padding:10px 20px 10px 10px;border-radius:999px;white-space:nowrap;
  background:rgba(9,24,64,.78);border:1px solid rgba(175,195,236,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:background-color .4s var(--ease-out),border-color .4s,color .4s,box-shadow .5s var(--ease-out),transform .5s var(--ease-out)}
.svc-node[data-n="1"]{left:15%;top:15%}.svc-node[data-n="2"]{left:85%;top:15%}.svc-node[data-n="3"]{left:85%;top:85%}.svc-node[data-n="4"]{left:15%;top:85%}
.svc-ic{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:background-color .4s,color .4s}
.svc-ic svg{width:22px;height:22px}
.svc-node small{font:600 11px/1 var(--font);letter-spacing:.14em;color:#8FA6D6;align-self:end}
.svc-node b{font:700 16px/1.2 var(--font);align-self:start}
.svc-node:hover{border-color:rgba(175,195,236,.55);background:rgba(20,50,127,.85)}
.svc-node[aria-selected="true"]{background:#fff;color:var(--navy);border-color:#fff;transform:translate(-50%,-50%) scale(1.06);
  box-shadow:0 20px 44px -16px rgba(111,155,255,.7),0 0 0 7px rgba(111,155,255,.16)}
.svc-node[aria-selected="true"] .svc-ic{background:var(--sky);color:var(--royal)}
.svc-node[aria-selected="true"] small{color:var(--azure)}
.svc-node:focus-visible{outline:2px solid var(--act);outline-offset:4px}
.svc-panel{position:relative;border-radius:var(--r-lg)}
.svc-panel:focus-visible{outline:2px solid var(--act);outline-offset:8px}
.svc-media{position:relative;margin:0;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:#0A1A44;border:1px solid rgba(175,195,236,.14);box-shadow:0 44px 90px -44px rgba(0,0,0,.8)}
.svc-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 52%,rgba(4,12,34,.78));pointer-events:none}
.svc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s var(--ease-out),transform 1.8s var(--ease-out)}
.svc-img.is-in{opacity:0;transform:scale(1.08)}
.svc-badge{position:absolute;left:clamp(14px,2.4vw,24px);bottom:clamp(12px,2vw,20px);z-index:2;width:clamp(96px,24%,150px)}
.svc-badge img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
.svc-copy{margin-top:28px;transition:opacity .45s var(--ease-out),transform .6s var(--ease-out)}
.svc-copy.is-out{opacity:0;transform:translateY(8px);transition:opacity .16s,transform .16s}
.svc-idx{margin:0 0 12px;font:600 12.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#8FA6D6}
.svc-idx span:first-child{color:#fff}
.svc-t{margin:0;font-size:clamp(26px,2.6vw,38px);line-height:1.08;font-weight:800;font-variation-settings:"wdth" 110;letter-spacing:-.01em}
.svc-p{margin:14px 0 0;max-width:54ch;min-height:4.8em;color:var(--fog);font-size:17px;line-height:1.6}
.svc-cta{margin-top:24px;gap:10px}
.svc-cta svg{width:18px;height:18px;transition:transform .3s var(--ease-out)}
.svc-cta:hover svg{transform:translateX(4px)}
@media (max-width:1100px) and (min-width:901px){.svc-node{padding:8px 16px 8px 8px}.svc-ic{width:38px;height:38px}.svc-node b{font-size:14.5px}}
@media (max-width:900px){
  .svc-stage{grid-template-columns:1fr;gap:28px}
  .svc-orbit{aspect-ratio:auto;max-width:none;display:grid;justify-items:center;gap:26px}
  .svc-lines{display:none}
  .svc-core{position:relative;left:auto;top:auto;transform:none;width:min(66vw,260px)}
  /* phones: 2 x 2 tabs, icon beside the label, so long names like "Financiamento" fit */
  .svc-nodes{position:static;pointer-events:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .svc-node,.svc-node[aria-selected="true"]{position:static;transform:none;grid-template-columns:auto minmax(0,1fr);column-gap:8px;padding:7px 10px 7px 7px;border-radius:16px}
  .svc-node b{font-size:clamp(12px,3.4vw,14.5px);line-height:1.2;letter-spacing:-.01em;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
  .svc-ic{width:clamp(28px,8.6vw,34px);height:clamp(28px,8.6vw,34px)}
  .svc-ic svg{width:18px;height:18px}
  .svc-node[aria-selected="true"]{box-shadow:0 14px 30px -14px rgba(111,155,255,.7)}
  .svc-copy{margin-top:22px}
  .svc-p{min-height:0;font-size:16px}
}
@media (prefers-reduced-motion:reduce){.svc-ring,.svc-lines line.on{animation:none}.svc-img,.svc-copy,.svc-node{transition:none}}
@media (max-width:340px){.svc-node b{font-size:11px}.svc-node,.svc-node[aria-selected="true"]{column-gap:6px;padding-right:6px}}

/* ---------- home: animated section dividers ----------
   When ~20% of a section is on screen (once per page load): a 2px gold line draws left-to-right,
   then the title rises 16px into place and the subtitle follows ~130ms later. */
.sd-line{display:block;width:44px;height:2px;margin:0 0 18px;border-radius:2px;background:var(--act);transform-origin:left center}
html.js [data-sd] .sd-line{transform:scaleX(0);transition:transform .6s cubic-bezier(.22,1,.36,1)}
html.js [data-sd] .sd-title,html.js [data-sd] .sd-sub{opacity:0;transform:translateY(16px)}
html.js [data-sd] .sd-title{transition:opacity .7s cubic-bezier(.22,1,.36,1) .15s,transform .7s cubic-bezier(.22,1,.36,1) .15s}
html.js [data-sd] .sd-title.sd-d1{transition-delay:.23s}
html.js [data-sd] .sd-sub{transition:opacity .7s cubic-bezier(.22,1,.36,1) .28s,transform .7s cubic-bezier(.22,1,.36,1) .28s}
html.js [data-sd].sd-in .sd-line{transform:none}
html.js [data-sd].sd-in .sd-title,html.js [data-sd].sd-in .sd-sub{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js [data-sd] .sd-line,html.js [data-sd] .sd-title,html.js [data-sd] .sd-sub{transition:none}}

/* ---------- floating contact launcher (replaces the header WhatsApp button) ---------- */
.ct{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:48;display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:none}
@media (min-width:981px){.ct{right:28px;bottom:28px}}
/* car pages: sit above the price bar from the first paint (the bar is in the HTML), not after the script runs */
@media (max-width:980px){body:has(#carbar) .ct{bottom:calc(84px + env(safe-area-inset-bottom))}}
.ct-fab{all:unset;box-sizing:border-box;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--act);color:var(--act-ink);
  box-shadow:0 18px 36px -14px rgba(6,16,44,.65),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .35s var(--ease-out),background-color .3s,color .3s,box-shadow .3s;pointer-events:auto}
.ct-fab:hover{transform:translateY(-2px)}
.ct-fab:focus-visible{outline:2px solid var(--act);outline-offset:4px}
.ct-fab svg{grid-area:1/1;width:27px;height:27px;transition:opacity .25s,transform .45s var(--ease-out)}
.ct-i-close{opacity:0;transform:rotate(-90deg) scale(.6)}
.ct.open .ct-fab{background:var(--royal);color:#fff;box-shadow:0 18px 36px -14px rgba(6,16,44,.7),0 0 0 1px rgba(175,195,236,.35),0 0 30px -6px rgba(111,155,255,.6)}
.ct.open .ct-i-open{opacity:0;transform:rotate(90deg) scale(.6)}
.ct.open .ct-i-close{opacity:1;transform:none}
.ct-panel{width:min(340px,calc(100vw - 32px));padding:18px 10px 12px;border-radius:22px;color:#fff;
  background:linear-gradient(160deg,rgba(22,44,108,.95),rgba(7,18,48,.96));border:1px solid rgba(175,195,236,.22);
  box-shadow:0 40px 80px -30px rgba(3,10,30,.85),inset 0 1px 0 rgba(255,255,255,.12),0 0 60px -20px rgba(111,155,255,.35);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:bottom right;
  opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transition:opacity .22s ease,transform .38s var(--ease-out),visibility 0s .38s}
.ct.open .ct-panel{pointer-events:auto;opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .38s var(--ease-out)}
.ct-h{margin:0 12px 6px;padding-bottom:12px;border-bottom:1px solid rgba(175,195,236,.16);font:700 12px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:#AFC3EC}
html[lang="ja"] .ct-h{letter-spacing:.08em}
.ct-list{list-style:none;margin:0;padding:0}
.ct-list li+li{border-top:1px solid rgba(175,195,236,.1)}
.ct-list a{display:flex;align-items:center;gap:14px;margin:4px 0;padding:10px 12px;border-radius:14px;color:#fff;text-decoration:none;transition:background-color .2s}
.ct-list a:hover{background:rgba(255,255,255,.07)}
.ct-list a:focus-visible{outline:none;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 2px var(--act)}
.ct-ic{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(111,155,255,.14);color:#BFD2FF;border:1px solid rgba(175,195,236,.14)}
.ct-ic svg{width:22px;height:22px}
.ct-wa .ct-ic{background:rgba(37,211,102,.14);color:#4BE08A;border-color:rgba(37,211,102,.28)}
.ct-tx{flex:1;min-width:0;display:grid;gap:3px}
.ct-tx b{font:700 15.5px/1.2 var(--font)}
.ct-tx small{font-size:13.5px;line-height:1.3;color:#AFC3EC}
.ct-chev{flex:none;width:18px;height:18px;color:#7F95C4;transition:transform .25s var(--ease-out),color .2s}
.ct-list a:hover .ct-chev{transform:translateX(3px);color:#fff}
.ct-foot{margin:6px 12px 0;padding-top:10px;border-top:1px solid rgba(175,195,236,.12);font-size:12.5px;color:#8FA6D6}
@media (prefers-reduced-motion:reduce){.ct-fab,.ct-fab svg,.ct-panel,.ct.open .ct-panel{transition:none}}

/* ---------- financing application form (replaces form.run) ---------- */
.apply-form.ff{position:relative;min-height:0}
.ff-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;margin:0 0 12px;padding:0}
.ff-steps li{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:600;color:var(--ink-3)}
.ff-steps li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ff-steps span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line-day);font-size:12.5px;transition:background-color .35s,border-color .35s,color .35s}
.ff-steps li.on span{background:var(--navy);border-color:var(--navy);color:#fff}
.ff-steps li.cur{color:var(--navy)}
.ff-bar{height:4px;margin:0 0 24px;border-radius:4px;background:var(--sky-2);overflow:hidden}
.ff-bar i{display:block;width:25%;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--royal),var(--azure));transition:width .5s var(--ease-out)}
.ff-step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;min-width:0;margin:0;padding:0;border:0}
.ff-step[hidden]{display:none}
.ff-step legend{float:left;width:100%;margin:0 0 4px;padding:0;font:800 22px/1.2 var(--font);color:var(--navy);outline:none}
.ff-step legend+*{clear:both}
.ff .full{grid-column:1/-1}
.ff label{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:600;font-size:14px;color:var(--ink)}
.ff label small,.ff .ff-help{font-weight:500;font-size:12.5px;line-height:1.4;color:var(--ink-3)}
.ff input:not([type=radio]):not([type=checkbox]):not([type=file]),.ff select{box-sizing:border-box;width:100%;padding:13px 15px;border-radius:var(--r-md);border:1px solid var(--line-day);background:var(--day);font:500 16px/1.4 var(--font);color:var(--ink);transition:border-color .2s,background-color .2s,box-shadow .2s}
.ff input:not([type=radio]):not([type=checkbox]):not([type=file]):focus,.ff select:focus{outline:none;background:#fff;border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,50,127,.14)}
.ff [aria-invalid="true"]{border-color:#B42318!important}
.ff-group p{margin:0 0 8px;font-weight:600;font-size:14px;color:var(--ink)}
.ff-opts{display:flex;flex-wrap:wrap;gap:8px}
.ff label.ff-opt{position:relative;flex-direction:row;gap:0}
.ff-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ff-opt span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-day);background:var(--day);font-weight:600;font-size:14.5px;color:var(--ink-2);transition:background-color .2s,border-color .2s,color .2s}
.ff-opt:hover span{border-color:var(--navy)}
.ff-opt input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.ff-opt input:focus-visible+span{outline:2px solid var(--act);outline-offset:2px}
.ff-num .ff-opt span{min-width:52px;padding:0 12px}
.ff-role .ff-opt span{min-width:150px}
.ff .err{min-height:0;color:#B42318;font-size:13px;font-weight:600}
.ff .err:empty{display:none}
.ff-note{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.ff-sim{margin:0;padding:12px 14px;border-radius:var(--r-md);background:var(--sky);color:var(--navy);font-weight:600;font-size:14px}
.ff-file{display:grid;gap:7px;min-width:0}
.ff-file>p{margin:0;font-size:14px;color:var(--ink)}
.ff-file>p small{font-weight:500;color:var(--ink-3)}
.ff label.ff-drop{position:relative;flex-direction:row;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border:1.5px dashed #B9C6E2;border-radius:var(--r-md);background:var(--day);color:var(--navy);cursor:pointer;transition:border-color .2s,background-color .2s}
.ff label.ff-drop::before{content:"";flex:none;width:36px;height:36px;border-radius:10px;background:var(--sky-2) center/20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314327F' stroke-width='1.8'%3E%3Cpath d='M4 8h3l1.5-2h7L17 8h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E")}
.ff-drop:hover{border-color:var(--navy);background:#fff}
.ff-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ff-drop:focus-within{outline:2px solid var(--act);outline-offset:2px}
.ff-drop-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.ff label.ff-drop.has-file{border-style:solid;border-color:#1F8A4C;background:#EDF8F1;color:#14532D}
.ff label.ff-drop.has-file::before{background-color:#D3F0DE;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314532D' stroke-width='2.2'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ff label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;line-height:1.55}
.ff label.check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy)}
.ff label.check a{color:var(--navy);font-weight:600}
.ff .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ff-nav{display:flex;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line-day)}
.ff-nav .ff-next,.ff-nav .ff-send{margin-left:auto}
.ff-nav .btn-ghost{color:var(--navy);border-color:var(--line-day)}
.ff-nav .btn[hidden]{display:none}
.ff-status{margin:14px 0 0;font-weight:600;font-size:14px;color:var(--navy)}
.ff-done{padding:36px 8px 12px;text-align:center;outline:none}
.ff-done svg{width:56px;height:56px;color:#1F8A4C}
.ff-done h3{margin:12px 0 6px;font:800 26px/1.2 var(--font);color:var(--navy)}
.ff-done p{margin:0 auto 22px;max-width:42ch;color:var(--ink-2)}
@media (max-width:640px){
  .ff-step{grid-template-columns:1fr}
  .ff-steps li b{display:none}
  .ff-steps li.cur b{display:inline}
  .ff-steps{grid-template-columns:auto auto auto auto;justify-content:space-between}
  .ff-role .ff-opt span{min-width:0}
}
@media (prefers-reduced-motion:reduce){.ff-bar i,.ff-steps span,.ff-opt span{transition:none}}
.ff [hidden]{display:none!important}

/* panel: financing applications */
.pn-fins{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pn-fin{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:14px 16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.pn-fin:hover{border-color:var(--navy);box-shadow:0 10px 24px -18px rgba(11,31,77,.5)}
.pn-fin:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pn-fin b{font-size:16px}
.pn-fin b em{font-style:normal;font-weight:600;font-size:13px;color:var(--royal);margin-left:6px}
.pn-fin .pn-fin-st{grid-row:span 3;align-self:start}
.pn-fin-car{font-weight:600;color:var(--ink-2);font-size:14px}
.pn-fin small{color:var(--ink-3);font-size:13px}
.pn-fin-st{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--sky);color:var(--navy);white-space:nowrap}
.st-new{background:#FFF4CC;color:#7A5A00}.st-review{background:#E3ECFF;color:#14327F}.st-needs_guarantor{background:#FDE9D7;color:#8A3B00}
.st-approved{background:#DDF3E6;color:#14532D}.st-declined{background:#FDE2E1;color:#912018}.st-done{background:#ECEFF4;color:#46526A}
.pn-fin-top{display:flex;flex-wrap:wrap;gap:12px;align-items:end;justify-content:space-between}
.pn-fin-top label{display:grid;gap:6px;font-weight:600;font-size:14px}
.pn-fin-top select{min-height:44px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line);font:600 15px var(--font);background:#fff}
.pn-fin-acts{display:flex;flex-wrap:wrap;gap:8px}
.pn-fin-acts .btn{min-height:44px;padding:0 16px}
.pn-fin-acts .btn-ghost{color:var(--navy);border-color:var(--line);background:#fff}
.pn-fin-meta{margin:12px 0 18px;color:var(--ink-2);font-size:14px}
.pn-fin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pn-fin-detail section{padding:16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line)}
#pn-fin-detail h2{margin:0 0 10px;font-size:16px}
#pn-fin-detail dl{margin:0;display:grid;gap:0}
#pn-fin-detail dl div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
#pn-fin-detail dl div:last-child{border-bottom:0}
#pn-fin-detail dt{color:var(--ink-3)}
#pn-fin-detail dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.pn-fin-docs,.pn-fin-notes{margin-top:12px}
.pn-docs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pn-docs li{display:grid;gap:6px;font-size:13.5px;font-weight:600}
.pn-docs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.pn-note{margin:10px 0 0;font-size:13px;color:var(--ink-3)}
#pn-fnotes{width:100%;box-sizing:border-box;padding:12px;border-radius:var(--r-md);border:1px solid var(--line);font:500 15px/1.5 var(--font)}
@media (max-width:720px){.pn-fin-grid{grid-template-columns:1fr}}

/* financing page: card that leads to the standalone application page */
.apply-cta{align-self:start;padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);background:var(--white);color:var(--ink);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.apply-cta .kicker{color:var(--azure);margin-bottom:12px}
.apply-cta h3{margin:0 0 14px;font:800 clamp(24px,2.4vw,32px)/1.15 var(--font);color:var(--navy)}
.apply-cta p{margin:0 0 10px;color:var(--ink-2)}
.apply-need{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.apply-need li{position:relative;padding-left:30px;font-weight:600;color:var(--ink)}
.apply-need li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--sky) center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314327F' stroke-width='3'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.apply-cta .btn{gap:10px}
.apply-cta .btn svg{width:18px;height:18px}
/* standalone application page: clear the fixed header */
.ficha-page{padding-top:clamp(120px,13vw,170px)}
/* application form: employer block (name + optional phone and address) */
.ff-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border-radius:var(--r-md);background:var(--day);border:1px solid var(--line-day)}
.ff-sub input:not([type=radio]):not([type=checkbox]):not([type=file]){background:#fff}
@media (max-width:640px){.ff-sub{grid-template-columns:1fr;padding:14px}}
/* /ficha/: title, then the form; partners and consent note sit under the title on desktop and after the form on phones */
.ficha-page .apply{grid-template-rows:auto 1fr}
.ficha-page .apply>.apply-form{grid-column:2;grid-row:1/span 2}
.ficha-page .ficha-more{grid-column:1;grid-row:2;align-self:start}
.ficha-page .ficha-more .label{margin:0}
@media (max-width:900px){
  .ficha-page .apply{grid-template-rows:none}
  .ficha-page .apply>.apply-form,.ficha-page .ficha-more{grid-column:auto;grid-row:auto}
}

/* ---------- performance: no live background blur over moving content ----------
   backdrop-filter re-blurs whatever is behind on every frame (scrolling, video, spinning ring);
   on office PCs and mid-range phones that is what makes scrolling feel heavy. Near-opaque fills look the same. */
.hdr.is-solid{background:rgba(11,31,77,.97);-webkit-backdrop-filter:none;backdrop-filter:none}
.hero-media figcaption{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,31,77,.72)}
.vbtn{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,31,77,.78)}
.svc-node{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(9,24,64,.94)}
.tri-band{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.1)}
.car-photos{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,31,77,.78)}
.gal-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,31,77,.72)}
.gal-count,.gal-zoom{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,31,77,.72)}
.carbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
/* endless animations rest while their section is off screen (vg.js toggles .is-idle) */
.is-idle,.is-idle::before,.is-idle::after,.is-idle *,.is-idle *::before,.is-idle *::after{animation-play-state:paused!important}
/* iOS Safari: date inputs keep a native minimum width and spill out of the box; make them behave like the other fields */
.ff input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;min-height:50px;line-height:1.4}
.ff input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
.ff input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}

/* panel: photo that failed to upload */
.pn-ph li.is-bad{outline:3px solid #D93025;outline-offset:-3px}.pn-ph .bad{position:absolute;left:6px;top:6px;padding:3px 8px;border-radius:999px;background:#D93025;color:#fff;font-size:11.5px;font-weight:700}
