/* Motion only: resting layout, source assets, and native form styles remain in their owning files. */
:root{--motion-ease:cubic-bezier(.2,.65,.3,1);--motion-fast:220ms;--motion-medium:520ms}
.hero-content{animation:none}
.brand-intro{display:none;position:fixed;inset:0;z-index:80;background:#f3f0e9;place-items:center;pointer-events:none}
.intro-logo{display:block;position:relative;width:320px;max-width:60vw;aspect-ratio:206.514 / 26}
.intro-logo img{position:absolute;max-width:none;height:auto}
.intro-logo img:first-child{left:0;top:0;width:19.429%}
.intro-logo img:nth-child(2){left:22.405%;top:15.423%;width:50.433%}
.intro-logo img:last-child{left:74.702%;top:14.846%;width:25.298%}
.intro-active{overflow:hidden}
.intro-active .brand-intro{display:grid;animation:intro-veil 3.8s both}
.intro-active .intro-logo{animation:intro-logo-rise 3.8s cubic-bezier(.22,1,.36,1) both}
.intro-active .hero{animation:creative-hero-reveal 1.2s 2.2s cubic-bezier(.22,1,.36,1) both}
.intro-active .hero-content{animation:creative-hero-enter 1.2s 2.6s cubic-bezier(.22,1,.36,1) both}
.intro-active .home-header{opacity:0;animation:creative-header-enter 1s 2.6s both}
@keyframes intro-veil{0%,58%{opacity:1}92%,100%{opacity:0}}
@keyframes intro-logo-rise{0%,8%{opacity:0;transform:translateY(100px)}45%,60%{opacity:1;transform:translateY(0)}92%,100%{opacity:0;transform:translateY(-80px)}}
@keyframes creative-hero-reveal{from{transform:translateY(100vh) scale(.8)}to{transform:translateY(0) scale(1)}}
@keyframes creative-hero-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes creative-header-enter{from{opacity:0;transform:translate(-50%,28px)}to{opacity:1;transform:translate(-50%,0)}}
.button{transition:background-color var(--motion-fast),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast)}
.button:active{transform:translateY(0);box-shadow:none}
.menu-toggle span{transition:transform var(--motion-fast) var(--motion-ease)}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.segment-page .segment-service-image{transition:opacity var(--motion-medium) var(--motion-ease),transform 700ms var(--motion-ease)}
.story-card>img,.story-image img{transition:transform 700ms var(--motion-ease)}
.play-icon{transition:scale var(--motion-fast) var(--motion-ease)}
.video-dialog-open{overflow:hidden;padding-right:var(--dialog-scrollbar,0px)}
.video-dialog[open]::backdrop{animation:creative-backdrop-enter 240ms ease-out}
@keyframes creative-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:809.98px){.site-header nav.is-open{animation:creative-menu-enter var(--motion-fast) var(--motion-ease)}}
@keyframes creative-menu-enter{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(hover:none){.button:hover{transform:none;box-shadow:none}.story-card:hover>img,.story-card:hover .story-image img{transform:none}.story-card:hover .play-icon{scale:1}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .brand-intro{display:none!important}
  .intro-active{overflow:auto}
  .button,.menu-toggle span,.segment-page .segment-service-image,.story-card>img,.story-image img,.play-icon{transition:none}
  .button:hover,.button:active,.story-card:hover>img,.story-card:hover .story-image img{transform:none}
  .story-card:hover .play-icon{scale:1}
  .site-header nav.is-open,.video-dialog[open]::backdrop{animation:none}
}
.video-dialog{width:min(94vw,calc(47.8125vh + 24px))}
.video-dialog video{height:auto;aspect-ratio:9/16;object-fit:contain}
