.hero{--hero-type-size:clamp(30px,4.3vw,76px)}.hero .hero-overline,.hero .hero-question{font-size:var(--hero-type-size)!important;font-family:"Noto Sans JP",sans-serif!important;font-weight:900!important;font-style:italic!important;letter-spacing:-.075em!important;line-height:1.2!important}.hero>.hero-overline{grid-area:1/1;position:relative;justify-self:center;width:92%;padding:40px 12px 24px;margin:0;box-sizing:border-box;color:#eaf4ff;text-align:center;z-index:3}.hero .ensemble-art,.hero .hero-copy{grid-area:2/1}.hero .hero-copy .hero-question{margin-top:0}.strengths{list-style:none;padding:0!important;grid-template-columns:1fr 1fr!important}.strengths li{text-align:left!important;padding:16px!important}.strengths li strong{display:block;font-size:16px}.strengths li span{display:block;margin-top:7px;font-size:14px;font-weight:400;line-height:1.8;color:#38536a}@media(max-width:700px){.hero{--hero-type-size:64px}.hero>.hero-overline{padding:26px 16px 18px;width:100%}.strengths{grid-template-columns:1fr!important}}.mobile-site .hero{--hero-type-size:clamp(48px,14vw,68px)}.mobile-site .hero>.hero-overline{grid-area:1/1;padding:0 18px 24px;margin:0;overflow-wrap:anywhere}.mobile-site .hero .hero-question{grid-area:2/1}.mobile-site .hero .ensemble-art{grid-area:4/1}.mobile-site .hero .hero-copy{display:contents}@media(max-width:350px){.mobile-site .hero{--hero-type-size:48px}}/* Hero typography and soft artwork transitions — 2026-09-15 */
.hero{position:relative;isolation:isolate;background-color:#061528;background-image:radial-gradient(ellipse at 20% 35%,rgba(23,73,112,.20),transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(24,83,132,.16),transparent 55%)}
.hero>.hero-overline{font-size:clamp(18px,2.8vw,48px)!important;white-space:nowrap;letter-spacing:-.045em!important;padding-top:32px;padding-bottom:24px}
.hero>.ensemble-art{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 95%,transparent 100%)}
.mobile-site .hero>.hero-overline{font-size:clamp(25px,7.8vw,43px)!important;line-height:1.32!important;white-space:normal;overflow-wrap:normal;padding:0 16px 25px;letter-spacing:-.055em!important}
.mobile-site .hero>.hero-overline span{display:block;white-space:nowrap}
.mobile-site .mobile-ensemble{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 92%,transparent 100%)}
