/* V50: Common-shell alignment with the verified AUTOLOUNGE official site.
   Source: official public home/contact HTML (JA/EN/ZH-CN/KO) and the 6,646-byte
   /assets/autolounge-global-header-v3.css?v=20260916-3 file.
   Scope: header, footer, mobile dock only. V49 product main content unchanged. */
html,body{margin:0;background:#050607;color:#f4f6f7}
body{padding-top:calc(74px + env(safe-area-inset-top));}
/* The official header is fixed and uses the actual header.topbar / .container.nav selectors. */
html body header.topbar{position:fixed;top:0;left:0;right:0;z-index:35;box-sizing:border-box;
 background:linear-gradient(180deg,rgba(5,6,7,.97),rgba(5,6,7,.88));
 border-bottom:1px solid rgba(255,255,255,.12);padding-top:env(safe-area-inset-top);backdrop-filter:blur(18px);}
html body header.topbar .container.nav{width:min(calc(100% - 36px),1180px);max-width:1180px;
 min-height:74px;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 auto;position:relative;}
html body header.topbar .brand{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;
 flex-direction:column;align-items:center;justify-content:center;z-index:0;opacity:.30;pointer-events:auto;
 width:min(250px,34vw);font-size:initial;letter-spacing:normal;line-height:normal;}
html body header.topbar .brand img{display:block;width:min(250px,34vw);height:auto;max-height:74px;object-fit:contain;}
html body header.topbar .nav-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;
 gap:10px;margin-left:auto;position:relative;z-index:1;}
html body header.topbar .nav-actions>a{display:inline-flex;align-items:center;justify-content:center;
 color:#f1f3f4;min-width:54px;height:42px;box-sizing:border-box;border:2px solid #969da1;
 border-radius:999px;background:#090b0c;padding:0;white-space:nowrap;font-weight:800;font-size:12px;text-decoration:none;}
html body header.topbar .nav-actions>a:last-child{min-width:112px;padding:0 13px;}
html body header.topbar .nav-actions>a[aria-current=page]{border-color:#d9dddf;color:#101112;
 background:linear-gradient(120deg,#f4f5f5,#c9ced1 48%,#f7f7f7);}
/* Site-wide contact and locale behaviour are carried over from the official header. */
html body header.topbar .nav-actions>a:focus-visible{outline:2px solid #c9b98d;outline-offset:3px;}
/* Preserve main's V49 card geometry; this adjusts only where the fixed topbar starts the page. */
body>.hero,body>main>.hero{scroll-margin-top:100px;}
/* Official 4-action mobile dock; never replace phone by a LINE-only route. */
html body nav.mobile-dock{position:fixed;z-index:40;left:10px;right:10px;
 bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:6px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:18px;
 background:rgba(8,9,10,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 box-shadow:0 16px 44px rgba(0,0,0,.45);}
html body nav.mobile-dock a{min-height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;
 padding:3px 5px;text-align:center;font-size:.69rem;font-weight:750;color:#e4e7e9;text-decoration:none;}
html body nav.mobile-dock a.primary{background:linear-gradient(120deg,#f1f1ec,#bfc0bb);
 color:#080909;font-weight:800;}
html body nav.mobile-dock a:focus-visible{outline:2px solid #c9b98d;outline-offset:2px;}
/* Exact DOM structure of .unified-site-footer from official contact pages. */
html body footer.unified-site-footer{padding:56px 0 100px;border-top:1px solid rgba(255,255,255,.1);
 color:#aeb5ba;background:#070809;font-size:13px;line-height:1.8;}
html body footer.unified-site-footer>.container{width:min(calc(100% - 36px),1180px);margin:0 auto;}
html body footer.unified-site-footer .unified-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
html body footer.unified-site-footer .unified-footer-brand img{display:block;width:min(300px,90%);height:auto;margin:0 0 20px;}
html body footer.unified-site-footer .unified-footer-brand p{margin:0;color:#aeb5ba;line-height:1.75;}
html body footer.unified-site-footer a{color:#c9d0d4;text-decoration:none;}
html body footer.unified-site-footer .unified-footer-map iframe{display:block;width:100%;height:300px;border:0;border-radius:18px;background:#0b0d0e;}
html body footer.unified-site-footer .unified-footer-map-link{display:inline-flex;margin-top:12px;font-size:.78rem;}
html body footer.unified-site-footer .unified-footer-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:28px;font-size:.82rem;}
@media(min-width:1000px){
 body{padding-top:166px;}
 html body header.topbar .container.nav{width:min(calc(100% - 84px),1180px)!important;min-height:166px!important;}
 html body header.topbar .brand{width:250px;}
 html body header.topbar .brand img{width:250px;max-height:90px;}
 html body header.topbar .nav-actions{gap:10px!important;}
 html body header.topbar .nav-actions>a:nth-child(-n+4){width:54px!important;min-width:54px!important;max-width:54px!important;height:42px!important;}
 html body header.topbar .nav-actions>a:nth-child(5){width:112px!important;min-width:112px!important;max-width:112px!important;height:42px!important;}
}
@media(max-width:999px){
 html body header.topbar .container.nav{justify-content:flex-end;}
 html body header.topbar .brand{display:none;}
 html body header.topbar .nav-actions{gap:7px;}
 html body header.topbar .nav-actions>a{min-width:38px;height:38px;border-width:1px;padding:0 5px;font-size:11px;}
 html body header.topbar .nav-actions>a:last-child{min-width:88px;padding:0 8px;}
}
@media(min-width:760px){html body nav.mobile-dock{display:none!important;}}
@media(max-width:759px){
 html body footer.unified-site-footer .unified-footer-grid{grid-template-columns:1fr;}
 html body footer.unified-site-footer .unified-footer-brand{text-align:center;}
 html body footer.unified-site-footer .unified-footer-brand img{margin:0 auto 20px;}
 html body footer.unified-site-footer .unified-footer-links{justify-content:center;}
 body{padding-bottom:74px;}
}
@media(max-width:375px){html body header.topbar .nav-actions{gap:5px;}
 html body header.topbar .nav-actions>a{min-width:36px;font-size:10px;}
 html body header.topbar .nav-actions>a:last-child{min-width:75px;padding:0 5px;font-size:10px;}}
