/* Pink B: progressive, one-time motion. Content stays readable without JS. */
.hero-b{position:relative;isolation:isolate}
.hero-b-inner{position:relative;z-index:1}
.hero-line{display:block}
.hero-line em{display:inline-block}
.hero-b::before,.hero-b::after{content:"";position:absolute;pointer-events:none;z-index:0;border-radius:50%;width:60vw;height:60vw;max-width:800px;max-height:800px}
.hero-b::before{top:-25%;right:-9%;background:radial-gradient(circle,#ffc5dd88 0%,#ffdcea44 40%,transparent 70%)}
.hero-b::after{bottom:-40%;left:-15%;background:radial-gradient(circle,#ffffffdd 0%,#fff8fb66 38%,transparent 70%)}
.hero-b-copy,.hero-b-visual,.salary-card,.person-card,.career-path{min-width:0}
.hero-b-copy .primary,.entry-b .primary{box-shadow:0 7px 22px #bc225a1c}
.hero-start-proof strong{font-weight:700}
.section-kicker,.eyebrow{font-size:.875rem}
.header-entry,.menu-toggle{min-height:44px}
.philosophy-details[open]>summary>span{transform:rotate(45deg)}
.philosophy-details>summary>span{transition:transform .2s}
.footer-b{padding-bottom:max(35px,env(safe-area-inset-bottom))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .button,.movie-button,.header-entry{transition:background .2s,box-shadow .2s,translate .2s}
 .button:hover,.movie-button:hover,.header-entry:hover{translate:0 -2px}
 .button:active,.movie-button:active,.header-entry:active{translate:0 0}
 .topic-nav a{transition:background .2s,border-color .2s}
 .topic-nav a:hover{border-color:#d8759b}
}
@media(prefers-reduced-motion:no-preference){
 .hero-b::before{animation:chill-glow-in 4.8s cubic-bezier(.33,0,.2,1) both}
 .hero-b::after{animation:chill-glow-out 4.8s cubic-bezier(.33,0,.2,1) both}
 .hero-b h1 em{animation:chill-underline 1.6s cubic-bezier(.33,0,.2,1) .5s both}
}
@keyframes chill-glow-in{from{opacity:.2;transform:translate(25px,-20px) scale(.85)}to{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes chill-glow-out{from{opacity:.1;transform:translate(-25px,15px) scale(.9)}to{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes chill-underline{from{box-shadow:inset 0 0 0 #fff7fa}to{box-shadow:inset 0 -.16em 0 #fff7fa}}
@media(max-width:760px){
 html{scroll-padding-bottom:100px}
 .hero-b-inner{gap:25px}
 .hero-b h1{font-size:clamp(1.75rem,8.6vw,2.7rem)}
 .hero-lead{font-size:1rem;line-height:1.95}
 .hero-b-copy .button{font-size:1rem}
 .hero-label,.header-entry{font-size:.875rem}
 .hero-b-visual{max-width:480px}
 .footer-b{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .mobile-entry a{min-height:50px;min-width:0}
 .mobile-entry{box-shadow:0 -5px 24px #4d2c4007}
 .salary-card dl>div{flex-wrap:wrap}
 .salary-card dd{margin-left:auto}
 .career-ladder strong{overflow-wrap:anywhere}
 .person-card figure{flex-wrap:wrap}
}
@media(max-width:480px){
 .hero-b-inner{padding-top:24px;padding-bottom:42px}
 .hero-eyebrow{margin-top:12px}
 .hero-b h1{margin-top:8px;line-height:1.5}
 .hero-lead{margin-top:14px}
 .hero-start-proof{font-size:.875rem;margin-top:14px}
 .hero-b-copy .hero-start-proof+.button{margin-top:15px}
 .hero-b-visual{grid-template-rows:120px 120px}
 .number-grid article{grid-template-columns:minmax(0,1fr) auto;gap:0 10px}
 .number-grid strong{font-size:clamp(2.6rem,13vw,3.7rem)}
 .number-grid article>div>span{font-size:.875rem}
 .number-grid small{font-size:.8125rem}
 .quick-incentive{font-size:1rem}
 .site-header{height:auto;min-height:76px;flex-wrap:wrap;padding-block:12px;gap:10px}
 .site-header .brand-logo .logo-window{width:125px}
 .site-header .header-entry{padding:10px 13px}
 .site-header .menu-toggle{width:44px;height:44px}
 .mobile-menu{top:100%;right:17px}
}
@media(max-width:360px){
 .hero-b-visual{grid-template-rows:110px 110px}
 .hero-stamp.logo-stamp{width:88px;height:88px}
 .number-grid article{grid-template-columns:minmax(0,1fr) auto;gap:0 7px}
 .number-grid article>div{gap:3px}
 .number-grid article>div>span{font-size:.8125rem}
 .number-grid strong{font-size:2.7rem}
 .salary-card,.person-card{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-b::before,.hero-b::after,.hero-b h1 em{animation:none}
 .button,.movie-button,.header-entry,.philosophy-details>summary>span{transition:none;translate:none}
}
