html,body{width:100%;height:100%;background:#e5e5e5}
.canvas{position:absolute;left:0;top:0;transform-origin:top left;background:#101c2d}
.photo{overflow:hidden}
.photo-image{display:block;width:100%;height:100%;object-fit:cover;object-position:52% center;transform:scale(1.025)}
h1 .headline-line{display:block;color:inherit;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
h1 .headline-inner{display:block;color:inherit}
.outline{pointer-events:none}
.motion-ready .headline-inner{animation:headline-in 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--line)*.17s)}
.motion-ready .sub,.motion-ready .features{animation:copy-in .85s cubic-bezier(.16,1,.3,1) .65s both}
.motion-ready .features{animation-delay:.85s}
.motion-ready .photo-image{animation:photo-drift 9s ease-in-out .2s infinite alternate}
.motion-ready .outline path{stroke-dasharray:1;stroke-dashoffset:1;animation:outline-in 2.6s cubic-bezier(.4,0,.2,1) .35s forwards}
.motion-ready .cta{animation:cta-in .7s ease-out 1.1s both}
.cta{isolation:isolate;transition:background .25s,box-shadow .25s;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background:white;opacity:0;pointer-events:none}
.motion-ready .cta::before{animation:cta-glow 1.8s ease-in-out 2s 1}
.cta:hover,.cta:focus-visible{background:#6089fc;box-shadow:0 12px 36px #0004}
.cta span{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.cta:hover span,.cta:focus-visible span{transform:translate(5px,-5px)}
.motion-controls{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;z-index:20;font:14px Overused,system-ui,sans-serif;white-space:nowrap}
.motion-controls a,.motion-controls button{font:inherit;color:#101c2d;background:#fff;border:1px solid #cbd0d8;border-radius:6px;padding:10px 14px;min-height:40px;text-decoration:none;cursor:pointer}
.motion-controls :focus-visible{outline:2px solid #6089fc;outline-offset:3px}
.motion-paused .canvas *,.motion-paused .canvas *::before{animation-play-state:paused!important}
@keyframes headline-in{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@keyframes copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-drift{from{transform:scale(1.025) translate(-.3%,.15%)}to{transform:scale(1.055) translate(.3%,-.25%)}}
@keyframes outline-in{to{stroke-dashoffset:0}}
@keyframes cta-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes cta-glow{0%,45%,100%{opacity:0}22%,70%{opacity:.22}}
@media(prefers-reduced-motion:reduce){.canvas *,.canvas *::before{animation:none!important;transition:none!important}.outline path{stroke-dashoffset:0!important}.photo-image{transform:none}}
@media print{.motion-controls{display:none}.canvas{transform:none!important}.canvas *,.canvas *::before{animation:none!important}.outline path{stroke-dashoffset:0!important}}
