:root{--muted:#b3aaa0}
[hidden]{display:none!important}
body{font-size:16px;line-height:1.65}
:focus-visible{outline:2px solid var(--gold2);outline-offset:5px}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:#fff;color:#000;padding:12px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
section[id],#contactForm{scroll-margin-top:105px}
.eyebrow,.pill,.brand-sub,.car-brand,.car-badge,.member-label,.hero-side{font-size:12px}
.btn,.desktop-nav,.filter,.stock-count,.trust-item span,.meta,.form-note,footer,.benefits{font-size:14px}
.btn{color:var(--text);letter-spacing:.09em;min-height:54px;height:auto;padding:13px 22px}
.btn.gold:hover{color:#080808}
.section-copy,.concept-copy p,.service-card p,.step p,.faq-a p,.contact-copy p,.hero .desc{font-size:16px;line-height:1.95}
label{font-size:14px;color:#c2b6a7;letter-spacing:.02em}
.hero{min-height:min(980px,100svh);background-image:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.4) 50%,rgba(0,0,0,.03)),linear-gradient(0deg,#050505,transparent 50%),url('assets/tokyo-tower.jpg');background-position:center;}
.hero-grid{padding-top:180px;padding-bottom:76px}
.hero h1{font-size:clamp(52px,7.7vw,108px);line-height:.97}
.hero .desc{max-width:610px;color:#d0c5b6}
.hero-side{color:#ddd0bb}
.brand-sub{letter-spacing:.1em;font-size:10px}
.desktop-nav{gap:18px;font-size:12px}
.concept-photo{background-image:linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%),url('assets/ginza.jpg')}
.cars{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.car-media{background:#121212}
.car-media img{height:auto;aspect-ratio:3/2;object-fit:contain;filter:none}
.car-body{padding:25px}
.car-name{font-size:30px}
.service-custom{grid-column:1/-1;min-height:0}
.service-custom h3{margin-top:20px}
.service-custom p{max-width:960px;margin-bottom:0}
.car-brand,.meta,.stock-count{color:#b3aaa0}
.car-badge{top:14px;left:14px;backdrop-filter:blur(8px)}
.car-inquiry{display:inline-flex;margin-top:20px;color:var(--gold2);font-size:14px;border-bottom:1px solid #736049;padding-bottom:4px}
.member-pass{display:flex;flex-direction:column;justify-content:center;gap:10px}
.member-pass .chip{margin-bottom:24px}
.member-pass>div[style]{display:none}
.member-no{margin-top:36px}
.benefits{position:static;max-width:none;margin-top:30px;color:#b3aaa0;letter-spacing:.02em}
.faq-q{font-family:inherit;font-size:18px;line-height:1.7}
.faq-a,.faq-item.open .faq-a{max-height:none;transition:none}
.faq-a{display:none}.faq-item.open .faq-a{display:block}
.reveal{opacity:1;transform:none}
.form-note,.form-status{color:#bdb3a5;font-size:14px}
.contact-details{font-size:16px;margin-bottom:24px;overflow-wrap:anywhere;color:var(--gold2)}
.contact-details p{font-size:14px;color:var(--muted);margin-top:8px}
.form-note a{text-decoration:underline}
.mobile-menu{overflow-y:auto;overscroll-behavior:contain}
.hamburger{min-width:48px;min-height:48px;cursor:pointer}
.image-unavailable{padding:60px 24px;color:#d8c7a9;text-align:center}
dialog{color:var(--text);background:#0c0b0a;border:1px solid #665643;padding:30px;max-width:660px;width:calc(100% - 32px);max-height:85svh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.8)}
dialog h2{font:400 28px Georgia,serif}
.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.dialog-close{background:none;color:#fff;border:1px solid #665643;font-size:28px;width:44px;height:44px;cursor:pointer}
dialog p{font-size:14px;color:var(--muted)}
dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#151310;padding:20px;font:inherit;font-size:16px}
@media(max-width:700px){
 .hero{min-height:900px;background-position:62% center}
 .hero-grid{padding-top:150px;padding-bottom:70px}
 .hero h1{font-size:clamp(46px,10.8vw,72px)}
 .hero .desc{font-size:16px}.hero .lead{font-size:22px}
 .brand-name{font-size:13px;letter-spacing:.08em}.brand-sub{font-size:9px}
 .hero-actions{display:flex}.hero-actions .btn{flex:1;min-width:140px}
 .cars{grid-template-columns:1fr}
 h2{font-size:clamp(32px,8vw,45px);overflow-wrap:anywhere}
 .trust-item{padding:22px 12px}.trust-item span{font-size:12px;letter-spacing:.04em}
 .concept-copy{padding:25px}.concept-copy h3{font-size:29px}
 .member-pass{min-height:430px}.member-no{font-size:28px}
 .member-image h3{font-size:30px}
 .contact-card{padding:22px}.contact-copy h2{font-size:36px}
 .mobile-cta{bottom:max(12px,env(safe-area-inset-bottom))}
 .mobile-cta .btn{min-width:0}
 footer{padding-bottom:110px}
 .form-grid{min-width:0}.field{min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
