/* Large type arrives from the foreground once, then stays still. */
.hero.impact-hero{
 height:640px;min-height:640px;max-height:none;padding:64px 80px;
 display:flex;align-items:center;justify-content:center;position:relative;
 background:#fff;color:var(--ink);overflow:hidden;isolation:isolate;
}
.impact-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.impact-ring{position:absolute;width:420px;height:420px;left:-310px;top:270px;opacity:.09;animation:impact-ring-drift 20s ease-in-out infinite}
.impact-ring img{display:block;max-width:none;width:420px;height:420px}
.impact-plane{position:absolute;width:402.263px;height:504.99px;left:calc(100% - 330.97px);top:-140px;display:flex;align-items:center;justify-content:center;animation:impact-plane-drift 20s ease-in-out infinite}
.impact-plane::before{content:"";width:280px;height:440px;flex:none;background:var(--sand);transform:rotate(18deg)}
.impact-accent{position:absolute;left:110px;bottom:48px;width:130px;height:8px;background:var(--warm)}
.impact-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;max-width:1280px;text-align:center}
.impact-headline{display:flex;flex-direction:column;gap:10px;width:100%;margin:0;font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-weight:700;transform-origin:50% 50%;animation:kf_1347_286_opacity_0 20s linear both,kf_1347_286_scale_0 20s linear both;animation-iteration-count:1}
.impact-prefix{display:block;font-size:clamp(26px,2.917vw,42px);line-height:1.25;letter-spacing:-.02em;white-space:nowrap}
.impact-main{display:block;font-size:clamp(36px,6.667vw,96px);line-height:1.15;letter-spacing:-.035em;white-space:nowrap}
.impact-main strong{font-weight:700;font-size:1.166667em;color:inherit}
.hero.impact-hero .cta{position:static;display:flex;width:294px;max-width:100%;height:50px;padding:0 26px;margin:0;background:var(--warm);color:var(--ink);font-size:14px;align-self:center;animation:kf_1347_289_opacity_0 20s linear both;animation-iteration-count:1}
.hero.impact-hero .cta:hover{background:#ffb360}
/* Exported Figma tracks. Copy plays once; only edge shapes keep moving. */
@keyframes kf_1347_286_opacity_0{0%{animation-timing-function:ease-out;opacity:0}.6%{opacity:1}100%{opacity:1}}
@keyframes kf_1347_286_scale_0{0%{animation-timing-function:ease-out;scale:4.2 4.2}5%{animation-timing-function:ease-in-out;scale:.985 .985}6.25%{scale:1 1}100%{scale:1 1}}
@keyframes kf_1347_289_opacity_0{0%{opacity:0}5%{animation-timing-function:ease-out;opacity:0}6.75%{opacity:1}100%{opacity:1}}
@keyframes impact-ring-drift{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes impact-plane-drift{0%,100%{translate:0 0}50%{translate:-10px 0}}
@media(max-width:1100px){.hero.impact-hero{padding:48px 32px}}
@media(max-width:600px){
 .hero.impact-hero{height:470px;min-height:470px;padding:32px 22px}
 .impact-copy{gap:30px}
 .impact-headline{gap:12px}
 .impact-prefix{font-size:clamp(21px,5.8vw,30px)}
 .impact-main{font-size:clamp(23px,6.35vw,38px);letter-spacing:-.035em}
 .impact-ring{left:-365px;top:280px}
 .impact-plane{width:216.82px;height:274.61px;left:calc(100% - 100px);top:-90px}
 .impact-plane::before{width:150px;height:240px}
 .impact-accent{left:32px;bottom:30px;width:72px;height:5px}
}
@media(prefers-reduced-motion:reduce){
 body:not(.motion-enabled) .impact-headline,
 body:not(.motion-enabled) .hero.impact-hero .cta,
 body:not(.motion-enabled) .impact-ring,
 body:not(.motion-enabled) .impact-plane{animation:none;scale:1;translate:0 0}
}
body.paused .impact-headline,body.paused .hero.impact-hero .cta,
body.paused .impact-ring,body.paused .impact-plane{animation-play-state:paused}
