/* Calm editorial hero and real contact content; independent of legacy pseudo-copy. */
html body #hero.homepage-hero-v3{min-height:0!important;padding:48px 24px 64px!important;overflow:visible;isolation:isolate}
html body #hero.homepage-hero-v3 .hero-inner{display:flex;flex-direction:column;align-items:center;gap:0;max-width:1080px;margin:auto;padding:0!important;text-align:center}
html body #hero.homepage-hero-v3::before,html body #hero.homepage-hero-v3::after,html body #hero.homepage-hero-v3 .hero-inner::before,html body #hero.homepage-hero-v3 .hero-inner::after{content:none!important;display:none!important}
html body #hero.homepage-hero-v3 .avatar{width:72px!important;height:72px!important;margin:0 0 28px!important;border-radius:18px;box-shadow:none!important}
html body #hero.homepage-hero-v3 .avatar img{width:100%;height:100%;object-fit:contain;filter:none}
html body #hero.homepage-hero-v3 .hero-kicker{display:block!important;font-size:11px!important;line-height:1.6!important;letter-spacing:.14em!important;color:#77796f!important;margin:0 0 18px!important}
html body #hero.homepage-hero-v3 .hero-title{font-size:clamp(42px,7.4vw,88px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:650!important;margin:0 0 26px!important;max-width:100%;color:#191c18!important;text-wrap:balance}
html body #hero.homepage-hero-v3 .hero-title span{display:inline-block;white-space:nowrap}
html body #hero.homepage-hero-v3 .hero-desc{display:block!important;font-size:17px!important;line-height:1.9!important;letter-spacing:0!important;max-width:66ch!important;margin:0 0 28px!important;padding:0!important;color:#666b61!important;text-wrap:pretty;line-break:strict}
html body #hero.homepage-hero-v3 .hero-focus{display:none!important}
html body #hero.homepage-hero-v3 .hero-actions{display:flex!important;align-items:center;justify-content:center;gap:12px;margin:0 0 22px!important}
html body #hero.homepage-hero-v3 .hero-actions .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:10px 18px!important;background:#191c18!important;color:#f7f5ee!important;border:0!important;border-radius:12px!important;box-shadow:none!important;font-size:13px!important;line-height:1.5!important;transform:none!important}
html body #hero.homepage-hero-v3 .hero-actions .button::before,html body #hero.homepage-hero-v3 .hero-actions .button::after{content:none!important;display:none!important}
html body #hero.homepage-hero-v3 .hero-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;max-width:100%}
html body #hero.homepage-hero-v3 .hero-shortcuts a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:#686e61;text-decoration:none;white-space:nowrap}
html body #hero.homepage-hero-v3 .hero-shortcuts a:hover{color:#191c18}
html body #contact.homepage-contact-v3{padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body #contact.homepage-contact-v3 .wrap{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100%;height:100%;max-width:none;width:100%;padding:34px!important;border:1px solid #dedfd6;border-radius:24px;background:#f6f5ef;color:#191c18;text-align:left!important;box-sizing:border-box}
html body #contact.homepage-contact-v3 .wrap::before,html body #contact.homepage-contact-v3 .wrap::after{content:none!important;display:none!important}
html body #contact.homepage-contact-v3 .contact-kicker{font-size:10px!important;line-height:1.6;letter-spacing:.16em!important;color:#7e7663!important;margin:0 0 22px!important}
html body #contact.homepage-contact-v3 .section-title{display:block!important;font-size:clamp(26px,3vw,36px)!important;line-height:1.35!important;letter-spacing:-.025em!important;color:#191c18!important;margin:0 0 18px!important;text-wrap:balance}
html body #contact.homepage-contact-v3 .rule{display:none!important}
html body #contact.homepage-contact-v3 .section-copy{display:block!important;visibility:visible!important;font-size:14px!important;line-height:1.9!important;letter-spacing:0!important;color:#686d62!important;max-width:48ch;margin:0 0 26px!important;text-wrap:pretty;line-break:strict}
html body #contact.homepage-contact-v3 .contact-actions{display:flex!important;flex-wrap:wrap;gap:10px!important;justify-content:flex-start!important;margin:0 0 18px!important}
html body #contact.homepage-contact-v3 .contact-actions .email{display:inline-flex!important;align-items:center;gap:10px;min-height:46px!important;padding:10px 16px!important;background:#191c18!important;color:#f7f5ee!important;border:0!important;border-radius:12px!important;box-shadow:none!important;transform:none!important;font-size:13px!important}
html body #contact.homepage-contact-v3 .email::before,html body #contact.homepage-contact-v3 .email::after{content:none!important;display:none!important}
html body #contact.homepage-contact-v3 .email svg{width:17px;height:17px;flex:none}
html body #contact.homepage-contact-v3 .social-links{display:flex!important;justify-content:flex-start!important;gap:12px!important;margin:0!important}
html body #contact.homepage-contact-v3 .social-link{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d5d8cd;border-radius:12px;background:transparent!important;color:#555d4c!important;box-shadow:none!important}
html body #contact.homepage-contact-v3 .copyright{margin:24px 0 0!important;font-size:11px!important;color:#777e6c!important}
html[data-theme=dark] body #hero.homepage-hero-v3 .hero-title,html[data-theme=dark] body #contact.homepage-contact-v3 .section-title{color:#f3f0e7!important}
html[data-theme=dark] body #hero.homepage-hero-v3 .hero-kicker,html[data-theme=dark] body #hero.homepage-hero-v3 .hero-desc,html[data-theme=dark] body #hero.homepage-hero-v3 .hero-shortcuts a,html[data-theme=dark] body #contact.homepage-contact-v3 .section-copy{color:#b8bfb0!important}
html[data-theme=dark] body #contact.homepage-contact-v3 .wrap{background:#20251e;border-color:#3d4436;color:#f3f0e7}
html[data-theme=dark] body #contact.homepage-contact-v3 .contact-kicker,html[data-theme=dark] body #contact.homepage-contact-v3 .copyright{color:#afa78f!important}
html[data-theme=dark] body #contact.homepage-contact-v3 .social-link{color:#d9dfcf!important;border-color:#4b5542}
html[data-theme=dark] body #hero.homepage-hero-v3 .hero-actions .button,html[data-theme=dark] body #contact.homepage-contact-v3 .contact-actions .email{background:#e8e6db!important;color:#191c18!important}
html body .homepage-hero-v3 a:focus-visible,html body .homepage-contact-v3 a:focus-visible{outline:2px solid #ae8c4b;outline-offset:4px}
@media(max-width:760px){html body #hero.homepage-hero-v3{padding:34px max(22px,env(safe-area-inset-left,0px)) 40px max(22px,env(safe-area-inset-right,0px))!important}html body #hero.homepage-hero-v3 .avatar{width:60px!important;height:60px!important;margin-bottom:22px!important}html body #hero.homepage-hero-v3 .hero-title{font-size:clamp(36px,10vw,55px)!important;margin-bottom:22px!important}html body #hero.homepage-hero-v3 .hero-desc{font-size:14px!important;line-height:1.9!important}html body #hero.homepage-hero-v3 .hero-shortcuts{gap:0 12px}html body #hero.homepage-hero-v3 .hero-shortcuts a{font-size:11px}html body #contact.homepage-contact-v3 .wrap{padding:26px 22px!important}html body #contact.homepage-contact-v3 .section-title{font-size:28px!important}}
html body #hero.homepage-hero-v3 .hero-actions{position:static!important;inset:auto!important;transform:none!important;width:auto!important;flex:none!important}
html body #hero.homepage-hero-v3 .hero-shortcuts{position:static!important;inset:auto!important;transform:none!important;margin:0!important}
html body #hero.homepage-hero-v3 .hero-inner{height:auto!important;min-height:0!important}
html body #hero.homepage-hero-v3 .hero-actions .button:not(.primary){background:transparent!important;color:inherit!important;border:1px solid #bfc4b6!important}
html[data-theme=dark] body #hero.homepage-hero-v3 .hero-actions .button:not(.primary){border-color:#657056!important}
html body .homepage-hero-v3 .copy-word,html body .homepage-contact-v3 .copy-word{white-space:nowrap}
/* Pointer feedback matches the neighboring card without moving controls. */
html body #contact.homepage-contact-v3 .wrap{--contact-alpha:0;--contact-base:#f6f5ef;background:radial-gradient(340px circle at var(--contact-x,50%) var(--contact-y,30%),rgba(216,182,107,var(--contact-alpha)),transparent 72%),var(--contact-base);transition:border-color .22s ease,box-shadow .22s ease}
html[data-theme=dark] body #contact.homepage-contact-v3 .wrap{--contact-base:#20251e;background:radial-gradient(340px circle at var(--contact-x,50%) var(--contact-y,30%),rgba(216,182,107,var(--contact-alpha)),transparent 72%),var(--contact-base)}
@media(hover:hover) and (pointer:fine){html body #contact.homepage-contact-v3 .wrap:hover{--contact-alpha:.13;border-color:#b8ac8d;box-shadow:0 14px 38px rgba(35,43,27,.09)}html body #contact.homepage-contact-v3 .social-link:hover{border-color:#b09a6f;background:rgba(179,155,104,.1)!important}html body #contact.homepage-contact-v3 .email:hover{filter:brightness(1.12)}}
@media(prefers-reduced-motion:reduce){html body #contact.homepage-contact-v3 .wrap{transition:none;--contact-alpha:0!important}html body #contact.homepage-contact-v3 .social-link{transition:none}}
/* Readable, click-latched desktop disclosure menu. */
html body #smartNav .project-menu-inner{background:rgba(250,250,247,.98)!important}
html[data-theme=dark] body #smartNav .project-menu-inner{background:rgba(29,33,27,.98)!important}
html body #smartNav .project-menu-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 20px}
html body #smartNav .project-menu-footer a{min-height:44px;display:inline-flex;align-items:center}

/* Simple directory links, without decorative arrows. */
html body #hero.homepage-hero-v3 .hero-shortcuts a{padding:0 14px;border:1px solid rgba(110,117,100,.22);border-radius:10px;transition:background .18s,border-color .18s}
html body #hero.homepage-hero-v3 .hero-shortcuts a:hover{background:rgba(120,128,110,.07);border-color:rgba(110,117,100,.4)}
html body #sodaev-entry .home-feature-copy h3{font-size:clamp(28px,3.2vw,42px);line-height:1.35;text-wrap:balance}

/* Homepage directory: restrained surfaces and readable card content. */
html body #projects .project-card{border-radius:22px!important;box-shadow:none!important;transition:border-color .18s,background .18s!important}
html body #projects .project-card:hover{transform:none!important;border-color:rgba(120,128,110,.4)!important}
html body #projects .project-card h3{line-height:1.3!important;letter-spacing:-.025em!important;overflow-wrap:normal}
html body #projects .project-card p{line-height:1.8!important;text-wrap:pretty;overflow-wrap:break-word}
html body #projects .project-link{color:inherit!important;min-height:44px;padding-top:12px!important}
html body #projects .feature-tile .eyebrow,html body #referral .referral-label{display:none!important}
html body #projects .card-beta{background:transparent!important;color:inherit!important;opacity:.6;box-shadow:none!important;font-size:9px!important;letter-spacing:.04em!important}
html body #charging-guide .charging-guide-shell,html body #japan-guide .japan-guide-shell{background:transparent!important;box-shadow:none!important}
html body #charging-guide .title,html body #japan-guide .title{line-height:1.25!important;text-wrap:balance;overflow-wrap:normal}
html body #charging-guide .charging-guide-copy p,html body #japan-guide .japan-guide-copy p{line-height:1.85!important;text-wrap:pretty}
@media(max-width:699px){
 html body #projects>.wrap{padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:max(20px,env(safe-area-inset-right))!important;width:100%!important;box-sizing:border-box}
 html body #projects .projects-grid{gap:16px!important;grid-template-columns:minmax(0,1fr)!important}
 html body #projects .project-card{min-height:210px!important;padding:24px!important}
 html body #projects .project-card h3{font-size:22px!important}
 html body #projects .project-card p{font-size:14px!important}
 html body #projects .project-icon{margin-bottom:20px!important}
 html body #projects .feature-tile{padding:26px 24px!important;min-width:0!important}
 html body #charging-guide .title,html body #japan-guide .title{font-size:29px!important}
 html body #referral .referral-actions{flex-wrap:wrap!important;gap:12px!important}
 html body #referral .referral-actions a{white-space:normal!important;min-height:46px;line-height:1.5!important}
}
@media(prefers-reduced-motion:reduce){html body #projects .project-card{transition:none!important}}

html body #projects .project-card p,html body #charging-guide .charging-guide-copy p,html body #japan-guide .japan-guide-copy p{display:block!important;-webkit-line-clamp:unset!important;max-height:none!important;overflow:visible!important}
html body .map-feature-title{font-size:clamp(32px,4vw,48px)!important;line-height:1.2!important;text-wrap:balance}
html body .map-feature-desc{line-height:1.8!important;text-wrap:pretty}
/* Guide cards own their surface on .wrap; the section remains a layout slot. */
html body #projects :is(#charging-guide,#japan-guide).feature-tile{display:flex!important;padding:0!important;height:auto!important;min-height:300px!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body #projects :is(#charging-guide,#japan-guide)>.wrap{display:flex!important;flex-direction:column!important;flex:1!important;width:100%!important;min-width:0!important;height:auto!important;min-height:300px!important;margin:0!important;padding:24px!important;box-sizing:border-box!important}
html body #projects :is(#charging-guide,#japan-guide) .heading-row{flex:none!important;min-height:62px!important;align-items:flex-start!important}
html body #projects :is(#charging-guide,#japan-guide) .title{font-size:24px!important;line-height:1.3!important}
html body #projects :is(.charging-guide-shell,.japan-guide-shell){display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1!important;height:auto!important;min-height:0!important;margin:14px 0 0!important;padding:0!important;gap:16px!important;overflow:visible!important}
html body #projects :is(.charging-guide-copy,.japan-guide-copy){flex:1!important}
html body #projects :is(.charging-guide-link,.japan-guide-link){position:static!important;align-self:flex-start!important;margin-top:auto!important;min-height:44px!important;padding:0!important;flex:none!important}
@media(max-width:699px){html body #projects :is(#charging-guide,#japan-guide) .heading-row{min-height:0!important}html body #projects :is(#charging-guide,#japan-guide)>.wrap{min-height:280px!important}}
@media(min-width:700px){html body #projects .projects-grid>.project-card{height:100%!important;align-self:stretch!important;box-sizing:border-box!important}}
/* Let localized introduction text determine its height, including iOS WebViews. */
html body #hero.homepage-hero-v3 .hero-desc{height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:visible!important}
html body #hero.homepage-hero-v3 .hero-inner>*{flex-shrink:0}
@media(max-width:760px){html body #hero.homepage-hero-v3 .hero-shortcuts{gap:10px 12px!important}html body #hero.homepage-hero-v3 .hero-actions{width:100%!important;max-width:320px;gap:12px!important}}
/* Card copy must never shrink into a clipped line in narrow WebViews. */
html body #projects .project-card-inner{display:flex!important;flex-direction:column!important;flex:1!important;min-width:0!important;height:auto!important}
html body #projects .project-card-inner>*{flex-shrink:0!important}
html body #projects .project-card h3{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;-webkit-line-clamp:unset!important;overflow:visible!important;margin:0 0 12px!important}
html body #projects .project-card p{height:auto!important;flex:1 0 auto!important}
html body #projects .project-link{margin-top:auto!important;flex:none!important}
@media(max-width:699px){html body #projects .projects-grid>.project-card{height:auto!important;min-height:250px!important}}
/* Transparent product cutouts: quiet shadow by day, fine silhouette by night. */
html body #sodaev-entry .home-picks-bento img{background:transparent!important;border:0!important;border-radius:0!important;mix-blend-mode:normal!important;filter:drop-shadow(0 8px 8px rgba(25,28,24,.15))}
html[data-theme=dark] body #sodaev-entry .home-picks-bento img{filter:drop-shadow(1px 0 0 rgba(255,255,255,.65)) drop-shadow(-1px 0 0 rgba(255,255,255,.65)) drop-shadow(0 1px 0 rgba(255,255,255,.65)) drop-shadow(0 -1px 0 rgba(255,255,255,.65)) drop-shadow(0 8px 10px rgba(0,0,0,.28))}
