/* A consistent reading scale and viewport-aware first screen. */
html{scroll-padding-top:100px}
.container{width:min(1440px,calc(100% - 96px))}
.header-inner{height:84px;gap:22px}
.custom-logo{width:158px;height:auto}
.header-cta{padding:10px 22px;font-size:15px}
.nav-list{gap:24px}
.nav-list>li>a{font-size:16px;padding:26px 0}
.home .hero-v2-grid{min-height:clamp(540px,calc(100svh - 215px),700px);grid-template-columns:1fr 1.05fr;gap:40px}
.home .hero-v2-copy{padding:42px 0 58px}
.home .hero-v2 h1{font-size:clamp(38px,3.3vw,56px);line-height:1.35;letter-spacing:-.035em;margin-bottom:24px}
.home .hero-v2 .eyebrow{font-size:11px;margin-bottom:22px}
.home .hero-description{font-size:18px;line-height:1.85;max-width:540px;margin-bottom:26px}
.home .hero-v2-visual{padding:18px 0 44px}
.home .hero-v2-visual>img{height:clamp(430px,calc(100svh - 285px),620px);max-height:none;object-fit:contain}
.home .hero-slogan{margin-top:25px}
.home .hero-scroll{bottom:18px}
.home .hero-actions .button{padding:12px 24px;font-size:16px;min-height:50px}
.home .spec-ribbon-grid{padding-block:22px}
.home .spec-ribbon strong{font-size:clamp(22px,1.8vw,28px)}
.home .spec-ribbon span{font-size:14px}
.section,.home .section{padding-block:80px}
.home #evidence{padding-top:80px}
.home .section-heading-v2{margin-bottom:36px}
.home .section-heading-v2 h2,.home .about-home h2,.about-story h2,.home .inquiry-home h2{font-size:clamp(30px,2.5vw,38px);line-height:1.4;letter-spacing:-.025em}
.section-heading-v2>p,.section-heading-v2>div>p:not(.eyebrow),.home .series-panels p:not(.eyebrow),.solution-panel p,.home .video-description p,.about-home p:not(.eyebrow),.about-story p:not(.eyebrow),.inquiry-home-grid>div>p:not(.eyebrow),.page-hero p:not(.eyebrow),.series-hero p:not(.eyebrow),.solution-hero p:not(.eyebrow){font-size:18px;line-height:1.85}
.page-hero,.series-hero,.solution-hero{padding-block:48px}
.page-hero h1,.series-hero h1,.solution-hero h1{font-size:clamp(36px,3.2vw,48px);line-height:1.35;margin-bottom:22px}
.page-hero .eyebrow,.series-hero .eyebrow{margin-bottom:18px}
.page-hero p:last-child{margin-bottom:0}
.about-hero>.container{max-width:960px;text-align:center}
.about-hero p{max-width:760px;margin-inline:auto}
.about-hero h1 br{display:none}
.about-home,.home .about-home,.about-story{padding-block:72px;gap:64px}
.about-home figure img,.home .about-home figure img,.about-story figure img{height:auto;aspect-ratio:3/2;object-fit:cover}
.about-story>div,.about-home>div{max-width:620px}
.about-story figcaption,.about-home figcaption{font-size:12px}
.home .inquiry-home{padding-block:72px}
.home .inquiry-home-grid{gap:64px}
.contact-v2{padding-block:64px;gap:64px}
.contact-v2 aside>p:not(.eyebrow){font-size:16px;line-height:1.85}
.footer-bottom{flex-wrap:wrap;font-size:12px}
@media(min-width:1051px) and (max-width:1250px){
  .header-inner{gap:14px}.custom-logo{width:136px}.nav-list{gap:16px}.nav-list>li>a{font-size:15px}.header-cta{padding-inline:14px}
}
@media(max-width:1050px){
  .container{width:calc(100% - 64px)}
  .header-inner{height:76px}
  .nav-list>li>a{font-size:17px;padding:16px 0}
  .primary-navigation{max-height:calc(100dvh - 76px)}
  .home .hero-v2-grid{gap:24px;min-height:540px}
  .home .hero-v2 h1{font-size:36px}
  .home .hero-description{font-size:17px}
  .home .hero-v2-visual>img{height:450px}
  .about-home,.home .about-home,.about-story,.contact-v2,.home .inquiry-home-grid{gap:36px}
}
@media(max-width:760px){
  .container{width:calc(100% - 40px)}
  .header-inner{height:70px;gap:8px}
  .custom-logo{width:125px}
  .header-cta{font-size:12px;padding:8px 12px}
  .home .hero-v2-grid{min-height:0;gap:0}
  .home .hero-v2-copy{padding:34px 0 0}
  .home .hero-v2 h1{font-size:clamp(29px,7.7vw,42px);margin-bottom:18px}
  .home .hero-v2 .eyebrow{font-size:9px;margin-bottom:16px}
  .home .hero-description{font-size:16px;margin-bottom:20px}
  .home .hero-actions .button{font-size:14px;padding:10px 19px;min-height:46px}
  .home .hero-v2-visual{padding:12px 0 40px}
  .home .hero-v2-visual>img{height:clamp(265px,73vw,380px)}
  .home .spec-ribbon-grid{padding-block:12px}
  .home .spec-ribbon strong{font-size:21px}
  .home .spec-ribbon span{font-size:12px}
  .section,.home .section{padding-block:56px}
  .home #evidence{padding-top:56px}
  .home .section-heading-v2 h2,.home .about-home h2,.about-story h2,.home .inquiry-home h2{font-size:29px}
  .section-heading-v2>p,.section-heading-v2>div>p:not(.eyebrow),.home .series-panels p:not(.eyebrow),.solution-panel p,.home .video-description p,.about-home p:not(.eyebrow),.about-story p:not(.eyebrow),.inquiry-home-grid>div>p:not(.eyebrow),.page-hero p:not(.eyebrow),.series-hero p:not(.eyebrow),.solution-hero p:not(.eyebrow){font-size:16px}
  .page-hero,.series-hero,.solution-hero{padding-block:36px}
  .page-hero h1,.series-hero h1,.solution-hero h1{font-size:32px}
  .about-hero>.container{text-align:left}
  .about-hero h1 br{display:block}
  .about-home,.home .about-home,.about-story{padding-block:50px;gap:28px}
  .home .inquiry-home,.contact-v2{padding-block:50px}
}
