/* Motion has four jobs: entrance hierarchy, depth feedback, live system exploration,
   and a scroll-controlled explanation. Automatic motion shares one pause control. */
@property --flow-progress{syntax:'<number>';inherits:true;initial-value:0}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:20;pointer-events:none}
.hero{overflow:clip;overflow-clip-margin:36px}.hero h1{font-size:clamp(83px,9.8vw,151px);line-height:.9;letter-spacing:-.028em;width:max-content;max-width:calc(100vw - 104px);text-transform:none}.hero h1>span.word{color:var(--text)}.hero-copy{z-index:2}.system-art{margin-left:-70px;margin-right:-30px}.system-art canvas{height:530px}.art-controls{gap:8px}.art-controls button{padding-inline:11px}.art-controls #art-explode{border:1px solid var(--line);display:flex;gap:8px}.art-controls #art-explode[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.split-heading .word{display:inline-block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em;vertical-align:bottom}.split-heading .letter{display:inline-block;transform-origin:0 100%}.split-heading h1{margin-bottom:0}.hero h1 .letter{animation:letter-arrive 950ms var(--ease-out) both;animation-delay:calc(100ms + var(--letter-index)*32ms)}h2.split-heading .letter{transform:translateY(115%) rotate(7deg);transition:transform 850ms var(--ease-out);transition-delay:calc(var(--letter-index)*14ms)}h2.split-heading.type-visible .letter{transform:none}
.kinetic-rail{overflow:hidden;border-block:1px solid var(--line);background:var(--accent);color:var(--on-accent);padding-block:17px;transform:rotate(-2deg);margin-block:20px 40px}.kinetic-track{display:flex;width:max-content;animation:rail-travel 25s linear infinite}.rail-group{display:flex;align-items:center;flex-shrink:0}.rail-group>a{font-family:Display,Impact,sans-serif;font-size:clamp(40px,5.5vw,80px);line-height:1;display:flex;align-items:center;gap:50px;padding-inline:30px;white-space:nowrap}.rail-group>a>span{font-family:Manrope,sans-serif;font-size:.8em}.kinetic-rail:focus-within .kinetic-track{animation-play-state:paused}
.about-section{border-top:0}.about-copy .large-copy{font-size:clamp(21px,2.1vw,31px);line-height:1.45}.portrait{transition:transform 300ms var(--ease-out);transform-style:preserve-3d;will-change:auto}.portrait-image{position:relative}.portrait-image::after{content:'';position:absolute;inset:0;border:1px solid #ffffff30;border-radius:inherit;pointer-events:none}.portrait figcaption{transform:translateZ(25px)}
.flow-story{position:relative;background:var(--surface);border-top:1px solid var(--line);overflow:clip}.flow-stage{position:relative;isolation:isolate;min-height:760px;padding-top:80px;overflow:hidden;--flow-progress:.5}.flow-intro{position:relative;z-index:1;pointer-events:none}.flow-intro h2{font-size:clamp(72px,8.7vw,132px);margin-top:22px;line-height:.9;max-width:900px}.flow-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:-1;opacity:.9}.flow-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;position:absolute;bottom:55px;left:0;right:0;margin-block:0}.flow-steps li{position:relative;padding-top:20px;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -15px 35px 10px var(--surface)}.flow-step-symbol{display:block;color:var(--accent);font-size:30px;line-height:1;margin-bottom:12px}.flow-steps h3{font-size:22px;letter-spacing:-.04em;font-weight:600}.flow-steps p{color:var(--muted);font-size:12px;margin-top:8px;max-width:240px}.flow-line{position:absolute;bottom:0;left:0;right:0;height:3px;transform:scaleX(var(--flow-progress));transform-origin:left;background:var(--accent)}
.perspective-section{border-top:0}.perspective-heading{position:relative}.tabs button{overflow:hidden;transition:transform 250ms var(--ease-out),background 180ms ease}.tabs .tab-symbol{transition:transform 450ms var(--ease-out)}.tabs button[aria-selected=true] .tab-symbol{transform:translateX(5px) rotate(-8deg)}.credential{transition:transform 250ms var(--ease-out)}.contact-heading h2 .word{overflow:visible}.contact-heading h2 .letter{transition:transform 300ms var(--ease-out);transition-delay:0ms}.contact-arrow{position:relative;isolation:isolate}.contact-arrow::before{content:'';position:absolute;inset:-12px;border:1px dashed var(--accent);border-radius:50%;opacity:.5;animation:orbit 25s linear infinite;pointer-events:none}.contact-arrow::after{content:'';position:absolute;inset:7px;border:1px solid var(--line);border-radius:50%;pointer-events:none}
@keyframes letter-arrive{from{transform:translateY(115%) rotate(10deg);opacity:0}to{transform:none;opacity:1}}@keyframes rail-travel{to{transform:translateX(-50%)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes read-page{to{transform:scaleX(1)}}@keyframes flow-progress{from{--flow-progress:0}to{--flow-progress:1}}@keyframes hero-away{to{transform:translateY(-70px);opacity:.35}}@keyframes image-drift{from{transform:scale(1.18) translateY(-4%)}to{transform:scale(1.03) translateY(3%)}}@keyframes bridge-reveal{from{transform:scale(1.2)}to{transform:scale(1)}}
@supports(animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .reading-progress{animation:read-page linear both;animation-timeline:scroll(root)}
    .flow-story{height:250svh;view-timeline-name:--flow;view-timeline-axis:block}
    .flow-stage{position:sticky;top:0;height:100svh;min-height:640px;padding-top:60px;animation:flow-progress linear both;animation-timeline:--flow;animation-range:contain 0% contain 100%}
    .flow-steps li{transition:opacity 250ms ease,transform 400ms var(--ease-out)}
    .flow-stage[data-step='0'] .flow-steps li:not(:nth-child(1)),.flow-stage[data-step='1'] .flow-steps li:not(:nth-child(2)),.flow-stage[data-step='2'] .flow-steps li:not(:nth-child(3)){opacity:.4;transform:translateY(12px)}
    .hero-copy{animation:hero-away linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .portrait-image img{animation:image-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .role-image{animation:bridge-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  }
}
@media(hover:hover) and (pointer:fine){.kinetic-rail:hover .kinetic-track{animation-play-state:paused}.credential:hover{transform:translateX(12px)}.contact-heading h2 .letter:hover{transform:translateY(-15px) rotate(-8deg);color:var(--accent)}.tabs button:hover .tab-symbol{transform:translateX(10px) rotate(-15deg)}}
:root[data-motion=paused] *, :root[data-motion=paused] *::before,:root[data-motion=paused] *::after{animation-play-state:paused!important}
:root[data-motion=paused] h2.split-heading .letter{transform:none!important;transition:none!important}
:root[data-motion=paused] .hero h1 .letter{transform:none!important;opacity:1!important}
html,body{overflow-x:clip}
.signal-section{position:relative;background:var(--accent);color:var(--on-accent);overflow:clip;isolation:isolate;--sx:50%;--sy:50%}.signal-stage{height:min(860px,100svh);min-height:620px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.signal-stage::after{content:'';position:absolute;inset:0;background:radial-gradient(circle 240px at var(--sx) var(--sy),rgba(255,255,255,.26),transparent 80%);opacity:.75;pointer-events:none;z-index:2}.signal-grid{position:absolute;inset:-25%;opacity:.23;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:52px 52px;transform:rotate(-9deg) scale(1.2);mask-image:radial-gradient(ellipse at 50% 50%,#000 15%,transparent 70%);animation:signal-grid-drift 16s ease-in-out infinite alternate}.signal-halo{position:absolute;width:min(85vw,980px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.16;pointer-events:none}.signal-halo::before,.signal-halo::after{content:'';position:absolute;width:11px;aspect-ratio:1;background:currentColor;border-radius:50%;left:50%;top:-6px;box-shadow:0 0 25px currentColor}.signal-halo::after{left:auto;right:7%;top:15%;width:6px}.signal-halo-one{animation:signal-spin 24s linear infinite}.signal-halo-two{width:min(63vw,730px);border-style:dashed;animation:signal-spin 30s linear infinite reverse}.signal-meta,.signal-footer{position:absolute;z-index:3;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.14em}.signal-meta{top:38px}.signal-footer{bottom:35px;justify-content:center;gap:35px}.signal-pulse{position:relative;width:18vw;max-width:180px;height:1px;background:currentColor;opacity:.65}.signal-pulse::after{content:'';position:absolute;top:-3px;left:0;width:7px;height:7px;background:currentColor;border-radius:50%;animation:signal-pulse 2.8s ease-in-out infinite}.signal-pulse:nth-of-type(2)::after{animation-delay:1.4s}.signal-core{position:relative;z-index:3;text-align:center;padding-block:110px 90px}.signal-kicker,.signal-subtitle{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600}.signal-kicker{margin-bottom:35px}.signal-subtitle{margin-top:28px}.signal-title{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(110px,14.5vw,225px);line-height:.74;letter-spacing:-.045em}.signal-line{display:block;white-space:nowrap}.signal-outline{color:transparent;-webkit-text-stroke:2px var(--on-accent);transform:translateX(-7vw)}.signal-solid{transform:translateX(7vw)}.signal-arrow{position:absolute;top:45%;right:6%;font:600 clamp(55px,8vw,120px)/1 Manrope,sans-serif;transform:rotate(-15deg);animation:signal-arrow-float 3s ease-in-out infinite alternate}.signal-title .word{overflow:visible}.signal-title .letter{transition-delay:calc(var(--letter-index)*18ms)}
@keyframes signal-grid-drift{to{transform:rotate(-6deg) scale(1.32) translateX(2%)}}@keyframes signal-spin{to{transform:rotate(360deg)}}@keyframes signal-pulse{to{left:calc(100% - 7px)}}@keyframes signal-arrow-float{to{transform:translate(18px,12px) rotate(2deg)}}@keyframes signal-detail-move{to{transform:translateX(5vw)}}@keyframes signal-direction-move{to{transform:translateX(-5vw)}}@keyframes signal-halo-scale{from{scale:.7;opacity:.08}to{scale:1.3;opacity:.25}}@keyframes signal-grid-scroll{from{transform:rotate(-13deg) scale(1.5)}to{transform:rotate(0deg) scale(1.05)}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.signal-section{height:210svh;view-timeline-name:--signal;view-timeline-axis:block}.signal-stage{position:sticky;top:0;height:100svh;min-height:620px}.signal-outline{animation:signal-detail-move linear both;animation-timeline:--signal;animation-range:contain 0% contain 100%}.signal-solid{animation:signal-direction-move linear both;animation-timeline:--signal;animation-range:contain 0% contain 100%}.signal-halo-one{animation:signal-spin 24s linear infinite,signal-halo-scale linear both;animation-timeline:auto,--signal;animation-range:normal,contain 0% contain 100%}.signal-grid{animation:signal-grid-scroll linear both;animation-timeline:--signal;animation-range:contain 0% contain 100%}}}
@media(max-width:767px){.signal-section{height:auto!important}.signal-stage{position:relative!important;height:auto!important;min-height:610px}.signal-meta{top:24px;font-size:8px}.signal-meta span:last-child{display:none}.signal-core{padding-block:115px 100px}.signal-title{font-size:clamp(53px,17vw,105px);line-height:.89}.signal-outline{transform:translateX(-2vw)}.signal-solid{transform:translateX(2vw)}.signal-arrow{font-size:50px;right:1%;top:43%}.signal-kicker{font-size:9px;line-height:1.5;margin-bottom:32px;max-width:250px;margin-inline:auto}.signal-subtitle{font-size:9px;line-height:1.5;margin-top:38px}.signal-footer{bottom:25px;gap:10px;font-size:8px}.signal-pulse{width:10vw}.signal-halo{width:110vw}.signal-halo-two{width:80vw}}
@media(prefers-reduced-motion:reduce){.signal-section{height:auto}.signal-stage{position:relative;height:auto}.signal-outline,.signal-solid{transform:none}.signal-stage::after{display:none}}
@media(min-width:1440px){.system-art canvas{height:600px}}
@media(max-width:1100px){.hero h1{font-size:9.4vw}.system-art canvas{height:480px}.system-art{margin-left:-85px;margin-right:-15px}.art-controls{flex-wrap:wrap;row-gap:5px}.flow-stage{padding-top:65px}.flow-intro h2{font-size:10vw}}
@media(max-width:767px){.hero{overflow:clip;overflow-clip-margin:0}.hero h1{font-size:clamp(44px,15.4vw,78px);max-width:calc(100vw - 40px);letter-spacing:-.035em}.system-art{margin:0 -20px;max-width:calc(100% + 40px)}.system-art canvas{height:370px}.art-controls{gap:5px}.art-controls button{padding:9px;font-size:9px}.art-caption{margin-top:8px}.kinetic-rail{padding-block:14px;margin-block:8px 25px}.rail-group>a{font-size:49px;padding-inline:20px;gap:30px}.about-copy .large-copy{font-size:23px}.flow-story{height:auto!important}.flow-stage{position:relative!important;min-height:750px;height:auto!important;padding-top:50px;animation:none!important;--flow-progress:.5}.flow-intro h2{font-size:clamp(58px,15.8vw,105px)}.flow-stage canvas{height:470px;top:70px}.flow-steps{position:relative;bottom:auto;margin-top:270px;grid-template-columns:1fr;gap:20px;padding-bottom:45px}.flow-steps li{opacity:1!important;transform:none!important;display:grid;grid-template-columns:30px 1fr;column-gap:16px;padding-top:14px;background:none;box-shadow:none}.flow-step-symbol{grid-row:span 2;font-size:25px}.flow-steps h3{font-size:20px}.flow-steps p{font-size:11px;max-width:none;margin-top:4px}.flow-line{display:none}.contact-arrow::before{inset:-7px}.contact-arrow::after{inset:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.split-heading .letter{transform:none!important;opacity:1!important}.kinetic-track{transform:none;flex-wrap:wrap;width:auto}.rail-group{flex-wrap:wrap;justify-content:center;gap:15px}.rail-group[aria-hidden=true]{display:none}.rail-group>a{font-size:35px;gap:15px;padding-inline:10px}.flow-story{height:auto}.flow-stage{position:relative;height:auto;min-height:760px;--flow-progress:.5}.reading-progress{display:none}.contact-arrow::before{display:none}}
