/* The Signal: a single, bounded opening that reveals the actual page. */
.signal-playing .signal-loader{background:transparent;color:#f9f1ed;font-family:Arial,Helvetica,sans-serif;isolation:isolate}
.signal-curtain{position:absolute;top:0;bottom:0;width:calc(50% + 1px);background:#170b10;will-change:transform;z-index:-1}.signal-curtain-left{left:0}.signal-curtain-right{right:0}
.signal-top,.signal-bottom{position:absolute;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center}.signal-top{top:28px}.signal-wordmark{font-size:32px;font-weight:800;letter-spacing:-2px}.signal-wordmark>span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:4px}.signal-skip{font:14px Arial,Helvetica,sans-serif;color:#ead8d6;background:none;border:0;border-bottom:1px solid #a47671;padding:10px 0;cursor:pointer}.signal-skip>span{margin-left:20px;color:#f3b69f}.signal-skip:focus-visible{outline:2px solid #f3b69f;outline-offset:6px}
.signal-scene{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.signal-type{position:relative;width:100%;height:clamp(64px,12vw,180px);display:grid;place-items:center}.signal-word{position:absolute;display:block;font-size:clamp(40px,10vw,150px);font-weight:700;line-height:1.05;letter-spacing:-.065em;white-space:nowrap;opacity:0;will-change:transform,opacity,filter}.signal-word>span{color:#f3b69f}.signal-impact{color:#f3b69f}.signal-bottom{bottom:32px;font-size:11px;letter-spacing:2px;color:#ad8d98}.signal-bottom span:last-child{color:#f3b69f}
.signal-trails{position:absolute;inset:0;overflow:hidden}.signal-trails i{position:absolute;height:1px;width:50%;top:50%;left:0;background:linear-gradient(90deg,transparent,#f3b69f);transform-origin:right;opacity:0}.signal-trails i:nth-child(2){left:50%;background:linear-gradient(90deg,#f3b69f,transparent);transform-origin:left}.signal-trails i:nth-child(3){left:50%;top:0;width:1px;height:50%;background:linear-gradient(transparent,#f3b69f);transform-origin:bottom}
.signal-focus{position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;transform:scaleY(0);background:linear-gradient(transparent 5%,#f3b69f 35%,#ffe4d8 50%,#f3b69f 65%,transparent 95%);box-shadow:0 0 24px #f3b69f55;opacity:0}
.signal-running .signal-attention{animation:signal-attention 1600ms both}.signal-running .signal-intent{animation:signal-intent 1600ms both}.signal-running .signal-impact{animation:signal-impact 1600ms both}.signal-running .signal-trails i{animation:signal-trail-left 1600ms both}.signal-running .signal-trails i:nth-child(2){animation-name:signal-trail-right}.signal-running .signal-trails i:nth-child(3){animation-name:signal-trail-top}.signal-running .signal-focus{animation:signal-opening 1600ms both}.signal-running .signal-curtain-left{animation:signal-curtain-left 1600ms both}.signal-running .signal-curtain-right{animation:signal-curtain-right 1600ms both}.signal-running .signal-top,.signal-running .signal-bottom{animation:signal-furniture 1600ms both}
@keyframes signal-attention{0%,9%{opacity:0;transform:translateY(24px) scale(1.08);filter:blur(5px)}18%,32%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}39%,100%{opacity:0;transform:translateY(-20px) scale(.94);filter:blur(3px)}}
@keyframes signal-intent{0%,32%{opacity:0;transform:translateY(20px) scale(1.08);filter:blur(5px)}42%,52%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}59%,100%{opacity:0;transform:translateY(-18px) scale(.94);filter:blur(3px)}}
@keyframes signal-impact{0%,52%{opacity:0;transform:translateY(18px) scale(.94);filter:blur(4px)}61%,70%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}77%,100%{opacity:0;transform:translateY(0) scale(1.045);filter:blur(3px)}}
@keyframes signal-trail-left{0%{opacity:0;transform:translateX(-80%) rotate(22deg)}9%{opacity:.7}21%{opacity:.7;transform:translateX(0) rotate(0)}30%,100%{opacity:0;transform:translateX(0) rotate(0)}}
@keyframes signal-trail-right{0%{opacity:0;transform:translateX(80%) rotate(-22deg)}9%{opacity:.7}21%{opacity:.7;transform:translateX(0) rotate(0)}30%,100%{opacity:0;transform:translateX(0) rotate(0)}}
@keyframes signal-trail-top{0%{opacity:0;transform:translateY(-80%)}9%{opacity:.7}21%{opacity:.7;transform:translateY(0)}30%,100%{opacity:0;transform:translateY(0)}}
@keyframes signal-opening{0%,68%{opacity:0;transform:scaleY(0)}75%{opacity:1;transform:scaleY(.12)}82%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)}}
@keyframes signal-curtain-left{0%,76%{transform:translateX(0)}100%{transform:translateX(-101%)}}
@keyframes signal-curtain-right{0%,76%{transform:translateX(0)}100%{transform:translateX(101%)}}
.signal-running .signal-curtain{animation-timing-function:cubic-bezier(.65,0,.2,1)}
@keyframes signal-furniture{0%,72%{opacity:1}90%,100%{opacity:0}}
.signal-playing .header,.signal-playing .hero .intro,.signal-playing .hero .side-note,.signal-playing .hero .experience,.signal-playing .hero .glass-pill,.signal-playing .hero .result-card,.signal-playing .hero .action-dock,.signal-playing .hero .hero-bottom{opacity:0}
.signal-playing.signal-running .header,.signal-playing.signal-running .hero .intro,.signal-playing.signal-running .hero .side-note,.signal-playing.signal-running .hero .experience,.signal-playing.signal-running .hero .result-card,.signal-playing.signal-running .hero .action-dock,.signal-playing.signal-running .hero .hero-bottom{animation:signal-hero-in 1600ms both}
@keyframes signal-hero-in{0%,80%{opacity:0;translate:0 12px}100%{opacity:1;translate:0 0}}
.signal-playing.signal-running .hero .glass-pill{opacity:1;transition:opacity .3s 1.3s}
@media(max-width:600px){.signal-top,.signal-bottom{left:6%;right:6%}.signal-top{top:23px}.signal-wordmark{font-size:29px}.signal-word{font-size:clamp(36px,10.2vw,61px);letter-spacing:-.055em}.signal-bottom{bottom:max(26px,env(safe-area-inset-bottom));font-size:9px;letter-spacing:1.15px}.signal-skip{font-size:13px}.signal-type{transform:translateY(-6vh)}}
@media(prefers-reduced-motion:reduce){.signal-playing .signal-loader{display:none}.signal-playing{overflow:auto}.signal-playing .header,.signal-playing .hero .intro,.signal-playing .hero .side-note,.signal-playing .hero .experience,.signal-playing .hero .glass-pill,.signal-playing .hero .result-card,.signal-playing .hero .action-dock,.signal-playing .hero .hero-bottom{opacity:1;animation:none;translate:none}}
