/* Header controls share one visible 44px shape in both themes. */
html body #headerLanguages{width:44px!important;height:44px!important;min-width:44px!important;box-sizing:border-box!important;border:0!important;background:transparent!important;border-radius:10px!important;overflow:visible!important}
html body #headerLanguages button{width:44px!important;height:44px!important;min-width:44px!important;box-sizing:border-box!important;border:1px solid #d4d7cf!important;border-radius:10px!important;background:#f6f5ef!important;color:#191c18!important;box-shadow:none!important;transform:none!important;line-height:1!important;padding:0!important}
html[data-theme=dark] body #headerLanguages button{border-color:#44483f!important;background:#20231e!important;color:#f3f0e7!important}
html body #headerLanguages button:focus-visible{outline:2px solid #b69355!important;outline-offset:3px!important}
html body #headerLanguages.is-open button:not(.active){box-shadow:0 6px 16px #00000018!important}
/* Content sets the height; cards retain alignment without empty spacer rows. */
html body #referral{height:auto!important;min-height:0!important;align-self:start!important}
html body #referral>.wrap{height:auto!important;min-height:0!important;padding:28px!important}
html body #referral .referral-shell{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;flex:none!important;height:auto!important;min-height:0!important;padding:0!important;gap:22px!important;text-align:left!important}
html body #referral .referral-compact-copy{width:100%;min-width:0}
html body #referral .referral-compact-copy>p{margin:12px 0 0!important;max-width:60ch;line-height:1.8!important}
html body #referral .referral-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;margin:0!important;width:100%!important}
html body #referral .referral-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;width:auto!important;flex:1 1 160px!important;margin:0!important;padding:12px 16px!important;box-sizing:border-box!important;line-height:1.5!important;white-space:normal!important}
html body #referral .referral-note{margin:20px 0 0!important;padding-top:16px!important;line-height:1.8!important;font-size:11px!important}
html body #contact.homepage-contact-v3{height:auto!important;min-height:0!important;align-self:start!important}
html body #contact.homepage-contact-v3>.wrap{height:auto!important;min-height:0!important}
html body #sodaev-entry .home-model-tile{box-sizing:border-box!important}
html body #hero.homepage-hero-v3 .hero-desc .intro-line{display:block;line-height:1.8}
html body #hero.homepage-hero-v3 .hero-desc .intro-phrase{display:inline-block}
html body #hero.homepage-hero-v3 .hero-actions{margin-top:22px!important}
html body #hero.homepage-hero-v3 .hero-shortcuts{row-gap:10px!important}
@media(max-width:760px){
 html body #hero.homepage-hero-v3{padding-top:28px!important;padding-bottom:32px!important}
 html body #hero.homepage-hero-v3 .avatar{width:56px!important;height:56px!important;margin-bottom:18px!important}
 html body #hero.homepage-hero-v3 .hero-kicker{margin-bottom:16px!important;font-size:10px!important}
 html body #hero.homepage-hero-v3 .hero-desc{max-width:36ch!important;margin-top:4px!important;font-size:14px!important;line-height:1.8!important}
 html body #hero.homepage-hero-v3 .hero-actions{max-width:340px!important;gap:10px!important}
 html body #hero.homepage-hero-v3 .hero-actions .button{min-height:46px!important}
 html body #referral>.wrap{padding:24px!important}
 html body #referral h2{font-size:28px!important;line-height:1.35!important;text-wrap:balance}
 html body #referral .referral-shell{gap:20px!important}
 html body #referral .referral-actions a{flex:1 1 100%!important;width:100%!important}
 html body #referral .referral-note{font-size:11px!important}
 html body #contact.homepage-contact-v3>.wrap{padding:26px 24px!important}
 html body #contact.homepage-contact-v3 .contact-kicker{margin-bottom:16px!important}
 html body #contact.homepage-contact-v3 .contact-actions{margin-top:22px!important}
 html body #sodaev-entry .home-picks-feature{display:grid!important;grid-template-columns:minmax(0,1fr) 110px!important;align-items:center!important;gap:12px!important;height:auto!important;min-height:0!important;padding:24px 20px!important}
 html body #sodaev-entry .home-feature-copy{min-width:0!important}
 html body #sodaev-entry .home-picks-feature h3{font-size:25px!important;line-height:1.3!important}
 html body #sodaev-entry .home-picks-feature h3>span{white-space:normal!important}
 html body #sodaev-entry .home-picks-feature p{font-size:12px!important;line-height:1.75!important}
 html body #sodaev-entry .home-picks-feature>img{width:110px!important;height:160px!important;margin:0!important;align-self:center!important;justify-self:end!important}
 html body #sodaev-entry .home-model-tile{height:auto!important;min-height:0!important;gap:16px!important;padding:20px 16px 14px!important}
 html body #sodaev-entry .home-model-tile>div{flex:none!important}
 html body #sodaev-entry .home-model-tile h3{font-size:24px!important}
 html body #sodaev-entry .home-model-tile>img{height:110px!important;width:100%!important;flex:none!important}
}
@media(max-width:359px){html body #sodaev-entry .home-picks-feature{grid-template-columns:minmax(0,1fr) 88px!important;padding:20px 16px!important;gap:8px!important}html body #sodaev-entry .home-picks-feature>img{width:88px!important;height:136px!important}html body #sodaev-entry .home-picks-feature h3{font-size:22px!important}html body #sodaev-entry .home-model-tile{padding:18px 12px 12px!important}html body #sodaev-entry .home-model-tile h3{font-size:22px!important}}
html[data-theme=dark] body #sodaev-entry .home-picks-bento img{filter:drop-shadow(.5px 0 0 #ffffff80) drop-shadow(-.5px 0 0 #ffffff80) drop-shadow(0 .5px 0 #ffffff80) drop-shadow(0 -.5px 0 #ffffff80) drop-shadow(0 5px 8px #00000030)!important}
html body #headerLanguages{padding:0!important}
html body #headerLanguages button.active{top:0!important;left:0!important}
html body #headerLanguages.is-open button:not(.active){left:0!important}
html body #themeButton,html body #menuButton{box-sizing:border-box!important;border:1px solid #d4d7cf!important;border-radius:10px!important;background:#f6f5ef!important;color:#191c18!important;box-shadow:none!important}
html[data-theme=dark] body #themeButton,html[data-theme=dark] body #menuButton{border-color:#44483f!important;background:#20231e!important;color:#f3f0e7!important}
@media(min-width:761px){html body .feature-tiles{align-items:stretch!important}html body #referral,html body #contact.homepage-contact-v3{align-self:stretch!important;display:flex!important}html body #referral>.wrap,html body #contact.homepage-contact-v3>.wrap{flex:1!important}}
/* One native-free control frame; Safari focus must not add a second inset ring. */
html body #smartNav #headerLanguages button,html body #smartNav #themeButton,html body #smartNav #menuButton{-webkit-appearance:none!important;appearance:none!important;outline:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent;vertical-align:middle;transform:none!important}
html body #smartNav #headerLanguages button:focus-visible,html body #smartNav #themeButton:focus-visible,html body #smartNav #menuButton:focus-visible{outline:2px solid #b69355!important;outline-offset:3px!important}
html body #smartNav .nav-controls{align-items:center!important;gap:8px!important}
html body #smartNav .brand{font-size:18px!important;letter-spacing:.075em!important;white-space:nowrap!important}
@media(max-width:760px){html body #smartNav .brand{font-size:16px!important;letter-spacing:.055em!important}
html body #projects :is(#charging-guide,#japan-guide).feature-tile{height:auto!important;min-height:0!important;display:block!important}
html body #projects :is(#charging-guide,#japan-guide)>.wrap{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:24px!important}
html body #projects :is(#charging-guide,#japan-guide) .heading-row{min-height:0!important;margin:0!important;flex:none!important}
html body #projects :is(.charging-guide-shell,.japan-guide-shell){height:auto!important;min-height:0!important;flex:none!important;margin-top:12px!important;gap:16px!important}
html body #projects :is(.charging-guide-copy,.japan-guide-copy){height:auto!important;min-height:0!important;flex:none!important}
html body #projects :is(.charging-guide-copy,.japan-guide-copy) p{margin:0!important}
html body #projects :is(.charging-guide-link,.japan-guide-link){margin:0!important;align-self:flex-start!important;min-height:44px!important}
}
@media(max-width:359px){html body #smartNav .header-shop{display:none!important}}

html body #smartNav .nav-controls>#themeButton{border:1px solid #d4d7cf!important;background:#f6f5ef!important;color:#191c18!important;border-radius:10px!important}
html[data-theme=dark] body #smartNav .nav-controls>#themeButton{border-color:#44483f!important;background:#20231e!important;color:#f3f0e7!important}
html body #smartNav #headerLanguages::before,html body #smartNav .nav-controls>#themeButton::after{content:none!important;display:none!important}


/* One quiet shopping entry, sharing the navigation controls' geometry. */
html body #smartNav .nav-controls>a.header-shop{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;box-sizing:border-box!important;flex:none!important;height:44px!important;min-height:44px!important;padding:0 10px!important;border:1px solid #d4d7cf!important;border-radius:10px!important;background:#f6f5ef!important;color:#191c18!important;box-shadow:none!important;line-height:1.2!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-decoration:none!important;transform:none!important;white-space:nowrap!important}
html body #smartNav .header-shop svg{width:16px!important;height:16px!important;flex:none!important}
html[data-theme=dark] body #smartNav .nav-controls>a.header-shop{border-color:#44483f!important;background:#20231e!important;color:#f3f0e7!important}
@media(max-width:359px){html body #smartNav .nav-controls>a.header-shop{display:none!important}}

/* Match the charging guide's approved wordmark scale. */
html body #smartNav .brand{font:750 22px/1.1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif!important;letter-spacing:.13em!important}
@media(max-width:600px){html body #smartNav .brand{font-size:18px!important;letter-spacing:.11em!important}}
@media(max-width:389px){html body #smartNav .nav-controls>a.header-shop{display:none!important}}

/* Retire the legacy decorative inset frame: the link owns its single border. */
html body #smartNav .nav-controls>a.header-shop::before,
html body #smartNav .nav-controls>a.header-shop::after{content:none!important;display:none!important}

/* A single visible surface per card; the layout wrapper must not cast a second frame. */
html body :is(#referral,#contact.homepage-contact-v3).feature-tile{display:block!important;align-self:start!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body :is(#referral,#contact.homepage-contact-v3).feature-tile>.wrap{display:flex!important;flex-direction:column!important;flex:none!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;box-sizing:border-box!important}
html body #referral>.wrap{gap:0!important}
html body #sodaev-entry .home-model-tile{min-height:0!important}
html body #sodaev-entry .home-model-yl h3{white-space:nowrap}
@media(min-width:761px){html body #sodaev-entry .home-model-links{grid-template-rows:repeat(3,minmax(0,1fr))!important}html body #sodaev-entry .home-model-tile{padding:20px 24px!important}html body #sodaev-entry .home-model-tile>img{max-height:118px!important}html body #sodaev-entry .home-model-yl{min-height:120px!important}}
@media(max-width:760px){html body #sodaev-entry .home-model-yl{grid-column:1/-1!important;flex-direction:row!important;align-items:center!important;padding:20px!important;min-height:0!important}html body #sodaev-entry .home-model-yl>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px}html body #sodaev-entry .home-model-yl h3,html body #sodaev-entry .home-model-yl p{margin:0!important}}
/* Equal-width feature and vehicle columns; larger product compositions. */
html body #sodaev-entry .home-picks-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
html body #sodaev-entry .home-picks-feature{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(240px,1fr)!important;gap:12px!important;min-height:0!important;padding:28px!important;box-sizing:border-box}
html body #sodaev-entry .home-picks-feature>img{width:100%!important;height:100%!important;max-height:340px!important;min-height:240px!important;object-fit:contain!important;align-self:center!important;justify-self:center!important;margin:0!important}
html body #sodaev-entry .home-model-yl>div{display:block!important}
html body #sodaev-entry .home-model-yl>img{width:44%!important;object-fit:contain!important}
@media(max-width:760px){
 html body #sodaev-entry .home-picks-bento{grid-template-columns:minmax(0,1fr)!important}
 html body #sodaev-entry .home-picks-feature{padding:24px!important;grid-template-rows:auto 230px!important;gap:8px!important}
 html body #sodaev-entry .home-picks-feature>img{width:100%!important;height:230px!important;min-height:0!important;max-height:none!important}
 html body #sodaev-entry .home-model-yl{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;padding:20px!important}
 html body #sodaev-entry .home-model-yl>img{width:100%!important;height:120px!important}
 html body #sodaev-entry .home-model-yl h3{margin-bottom:8px!important}
}
@media(min-width:761px){
 html body #sodaev-entry .home-picks-feature{grid-template-rows:auto clamp(240px,26vw,340px)!important;align-content:start!important}
 html body #sodaev-entry .home-picks-feature>img{min-height:0!important;max-height:none!important}
}
/* Remove low-alpha specks before the restrained edge treatment. */
html body #sodaev-entry .home-model-yl>img{filter:url(#product-clean-alpha) drop-shadow(0 4px 6px #00000020)!important}
html[data-theme=dark] body #sodaev-entry .home-model-yl>img{filter:url(#product-clean-alpha) drop-shadow(0 0 .75px #ffffffb0) drop-shadow(0 4px 6px #00000030)!important}
html body #projects :is(#referral,#contact).feature-tile{padding:0!important}
/* Homepage modules keep their reading order and size to their content. */
html body #projects .home-guides-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 28px;align-items:stretch}
html body #projects .home-guides-row :is(#charging-guide,#japan-guide).feature-tile{min-height:0!important;height:auto!important;display:flex!important;align-self:stretch!important;padding:0!important}
html body #projects .home-guides-row :is(#charging-guide,#japan-guide)>.wrap{min-height:0!important;height:auto!important;flex:1!important;padding:26px!important;display:flex!important;flex-direction:column!important;background:#1b1d22!important;border:1px solid #3b3f43!important;border-radius:22px!important}
html body #projects .home-guides-row :is(#charging-guide,#japan-guide) .heading-row{min-height:0!important;margin:0!important;flex:none!important}
html body #projects .home-guides-row :is(#charging-guide,#japan-guide) .title{font-size:23px!important;line-height:1.4!important;margin:0!important;color:#f3f0e7!important}
html body #projects .home-guides-row :is(.charging-guide-shell,.japan-guide-shell){min-height:0!important;gap:12px!important;margin:12px 0 0!important;flex:1!important}
html body #projects .home-guides-row :is(.charging-guide-copy,.japan-guide-copy) p{font-size:14px!important;line-height:1.8!important;margin:0!important;color:#b9bfb4!important;max-width:62ch}
html body #projects .home-guides-row :is(.charging-guide-link,.japan-guide-link){min-height:44px!important;margin-top:10px!important;font-size:14px!important;line-height:1.5!important;display:inline-flex!important;align-items:center!important;color:#89bcff!important}
html[data-theme=light] body #projects .home-guides-row :is(#charging-guide,#japan-guide)>.wrap{background:#f7f7f2!important;border-color:#d5d9cf!important}
html[data-theme=light] body #projects .home-guides-row :is(#charging-guide,#japan-guide) .title{color:#191c18!important}
html[data-theme=light] body #projects .home-guides-row :is(.charging-guide-copy,.japan-guide-copy) p{color:#596250!important}
html[data-theme=light] body #projects .home-guides-row :is(.charging-guide-link,.japan-guide-link){color:#225c9e!important}
html body #projects #sodaev-entry{margin:0 0 28px!important}
html body #projects .projects-grid[data-home-directory=ordered]{height:auto!important;min-height:0!important;grid-auto-rows:auto!important;grid-auto-flow:row!important;gap:16px!important;align-items:stretch!important}
html body #projects .projects-grid[data-home-directory=ordered]>.project-card{height:auto!important;align-self:stretch!important;min-height:230px!important;padding:26px!important}
html body #projects .projects-grid[data-home-directory=ordered] .project-card h3{font-size:22px!important;line-height:1.4!important}
html body #projects .projects-grid[data-home-directory=ordered] .project-card p{font-size:14px!important;line-height:1.8!important;margin-bottom:14px!important;color:#b9bfb4!important}
html[data-theme=light] body #projects .projects-grid[data-home-directory=ordered] .project-card p{color:#596250!important}
html body #projects .projects-grid[data-home-directory=ordered] .project-link{margin-top:auto!important;min-height:44px!important;display:flex!important;align-items:center!important;padding-top:8px!important;font-size:14px!important;line-height:1.5!important}
html body .feature-tiles{grid-auto-flow:row!important;grid-auto-rows:auto!important;height:auto!important;min-height:0!important;gap:16px!important;margin-top:28px!important;margin-bottom:40px!important}
html body #referral h2,html body #contact.homepage-contact-v3 h2{font-size:clamp(27px,2.5vw,34px)!important;line-height:1.4!important;text-wrap:balance}
html body #referral .referral-compact-copy>p,html body #contact.homepage-contact-v3 .section-copy{font-size:14px!important;line-height:1.85!important}
@media(min-width:700px){
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child{grid-column:1/-1;min-height:0!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child .project-card-inner{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:18px;row-gap:4px}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child .project-icon{grid-column:1;grid-row:1/3;margin:0!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child h3{grid-column:2;grid-row:1;margin:0!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child p{grid-column:2;grid-row:2;margin:0!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child .project-link{grid-column:3;grid-row:1/3;margin:0!important;padding:0!important}
}
@media(max-width:699px){
 html body #projects .home-guides-row{grid-template-columns:minmax(0,1fr);margin:20px 0 24px}
 html body #projects .home-guides-row :is(#charging-guide,#japan-guide)>.wrap{padding:22px!important}
 html body #projects .home-guides-row :is(#charging-guide,#japan-guide) .title{font-size:22px!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card{padding:24px!important;min-height:210px!important}
 html body #projects .projects-grid[data-home-directory=ordered]>.project-card:last-child{grid-column:auto}
 html body .feature-tiles{margin-top:24px!important;margin-bottom:32px!important}
}
/* Legacy nth-child rules assumed the two guide sections lived in this grid. */
html body #projects .projects-grid[data-home-directory=ordered]>.project-card{display:flex!important}
html body #projects>.wrap>h2[data-t=projectsTitle]{display:block!important;height:auto!important;margin:0 0 18px!important;font-size:24px!important;line-height:1.4!important;text-align:left!important}
html body #projects .projects-grid[data-home-directory=ordered]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(min-width:1440px){html body #projects .projects-grid[data-home-directory=ordered]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:699px){html body #projects .projects-grid[data-home-directory=ordered]{grid-template-columns:minmax(0,1fr)!important}}
html body .home-model-name{white-space:nowrap!important}
/* Short phone viewports must retain access to every menu item. */
html body #mobileMenu{overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;max-height:100dvh;box-sizing:border-box;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
@media(max-height:500px) and (max-width:699px){
 html body #mobileMenu{padding-top:76px!important}
 html body #mobileMenu a{font-size:22px!important;line-height:1.5!important;min-height:44px;padding-top:7px!important;padding-bottom:7px!important}
 html body #mobileMenu .mobile-language{margin-top:16px!important;padding-top:16px!important}
}
html body #mobileMenu .mobile-language button{min-width:64px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.4}
