/* EXH Manage kinetic presentation layer. Keeps the structural identity precise. */
.site-header{transition:background-color .25s,border-color .25s,box-shadow .25s}
.site-header.is-scrolled{background:rgba(6,25,44,.96);border-color:rgba(33,185,212,.32);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.scroll-progress{position:fixed;z-index:80;left:0;top:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--orange);pointer-events:none}
.hero{position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(33,185,212,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(33,185,212,.06) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,transparent 0,#000 55%,#000 100%);opacity:.55}
.hero .wrap{position:relative}.hero-copy{position:relative;z-index:1}.hero-copy:after{content:"CPM / LIVE LOGIC";position:absolute;right:-10px;top:-28px;color:rgba(33,185,212,.52);font-size:10px;letter-spacing:2px;writing-mode:vertical-rl}
.hero h1 .orange{position:relative}.hero h1 .orange:after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;animation:headlineLine .85s .55s cubic-bezier(.2,.8,.2,1) forwards}
.network{box-shadow:16px 16px 0 rgba(33,185,212,.09);transition:transform .25s ease,box-shadow .25s ease}
.network:hover{box-shadow:20px 20px 0 rgba(33,185,212,.13)}
.activity{transition:opacity .3s,transform .3s}.activity:hover rect{fill:#14344c;stroke:var(--cyan)}
.signal-strip{height:48px;overflow:hidden;border-top:1px solid rgba(33,185,212,.3);border-bottom:1px solid rgba(33,185,212,.3);background:var(--cyan);color:var(--navy);display:flex;align-items:center}
.signal-track{display:flex;align-items:center;gap:24px;width:max-content;white-space:nowrap;animation:signalMove 28s linear infinite;font-size:12px;font-weight:700;letter-spacing:1.25px}
.signal-track i{display:block;width:7px;height:7px;background:var(--orange);transform:rotate(45deg)}
.service-row{position:relative;overflow:hidden}.service-row:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.service-row:hover:before,.service-row:focus-visible:before{transform:scaleX(1)}
.service-row .plus{transition:transform .3s,color .3s}.service-row:hover .plus{transform:rotate(90deg);color:var(--orange)}
.method-step{position:relative;transition:transform .3s,color .3s}.method-step:after{content:"";position:absolute;left:0;top:-1px;width:0;height:3px;background:var(--orange);transition:width .3s}.method-step:last-child{border-color:var(--light-line)}
@media(hover:hover) and (pointer:fine){.method-step:hover{transform:translateY(-5px)}.method-step:hover:after{width:100%}.method-step:hover .num{color:var(--orange)}}
.difference{transition:background .3s,transform .3s}.difference:hover{background:#0c253b;transform:translateY(-6px)}
.input-tag{transition:background .25s,color .25s,border-color .25s,transform .25s}.input-tag:hover,.input-tag.is-pulsing{background:var(--cyan);color:var(--navy);border-color:var(--cyan);transform:translateY(-3px)}
.insight-card{transition:transform .3s}.insight-card:hover{transform:translateY(-8px)}.insight-card .insight-graphic{transition:border-color .3s,background .3s}.insight-card:hover .insight-graphic{border-color:var(--cyan);background:#fffaf0}
.button{position:relative;overflow:hidden;isolation:isolate}.button:after{content:"";position:absolute;z-index:-1;inset:0;background:var(--cyan);transform:translateX(-102%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.button:hover:after,.button:focus-visible:after{transform:translateX(0)}
.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal-ready.is-visible{opacity:1;transform:none}
.contact-form{position:relative;box-shadow:14px 14px 0 rgba(6,25,44,.09);transition:box-shadow .25s,transform .25s}.contact-form:focus-within{box-shadow:18px 18px 0 rgba(33,185,212,.22);transform:translate(-2px,-2px)}
.form-meter{height:4px;background:#d8d8d1;margin:-30px -30px 28px;overflow:hidden}.form-meter span{display:block;height:100%;width:0;background:var(--orange);transition:width .3s ease}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.field input,.field textarea,.field select{transition:border-color .2s,box-shadow .2s,background .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(33,185,212,.18);background:#fff}.field.is-complete label:after{content:"  ✓";color:#007d93}.field.is-complete input,.field.is-complete textarea,.field.is-complete select{border-color:#007d93}
.form-status.is-success{padding:14px 16px;border-left:4px solid #007d93;background:#e0f4f3;color:var(--navy)}.form-status.is-error{padding:14px 16px;border-left:4px solid #b33a18;background:#fbe8df;color:#6d210f}
@keyframes signalMove{to{transform:translateX(-50%)}}@keyframes headlineLine{to{transform:scaleX(1)}}
@media(max-width:600px){.signal-strip{height:42px}.signal-track{font-size:10px;gap:18px}.hero-copy:after{display:none}.form-meter{margin:-20px -20px 22px}.contact-form{box-shadow:8px 8px 0 rgba(6,25,44,.09)}}
@media(prefers-reduced-motion:reduce){.signal-track{animation:none}.reveal-ready{opacity:1;transform:none}.hero h1 .orange:after{transform:scaleX(1);animation:none}.network{transform:none!important}}

/* A living logic board: geometry stays fixed as the narrative changes. */
.hero-grid{align-items:center;gap:clamp(32px,4vw,60px)}
.hero-copy:after{display:none}
.live-network{border:1px solid #315268;background:#0b2438;box-shadow:12px 12px 0 rgba(33,185,212,.08);isolation:isolate}
.live-network .network-top{padding:16px 20px;background:#081e31;font-size:12px;letter-spacing:1.5px;color:#c5dae5}
.live-network .network-top strong{font-weight:600;color:var(--ivory);letter-spacing:2px}
.network-stage{padding:16px 20px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;letter-spacing:1px;color:#aec5d5}
.network-stage [data-stage-label]{font-size:14px;letter-spacing:2px;color:var(--cyan);font-weight:600}
.live-network .drawing{aspect-ratio:auto;min-height:0;padding:8px 8px 0;overflow:hidden}
.live-network .network-svg{width:100%;min-width:0;overflow:visible}
.live-network .activity{cursor:pointer;outline:none}
.live-network .activity rect{fill:#102d44;stroke:#507086;transition:stroke .25s,fill .25s}
.live-network .activity.critical rect{stroke:#ff8b59}
.live-network .activity text{font-size:12px;pointer-events:none}
.live-network .activity .code{font-size:10px;letter-spacing:1px}
.live-network .activity:hover rect,.live-network .activity:focus-visible rect,.live-network .activity[aria-pressed=true] rect{stroke:var(--cyan);stroke-width:2;fill:#183f58}
.node-progress{stroke:var(--cyan);stroke-width:2;stroke-dasharray:108;stroke-dashoffset:108;animation:nodeBuild 6.5s ease infinite;animation-delay:.7s;opacity:.6}
.activity:nth-of-type(2) .node-progress{animation-delay:1.1s}.activity:nth-of-type(3) .node-progress{animation-delay:1.5s}.activity:nth-of-type(4) .node-progress{animation-delay:1.9s}.activity:nth-of-type(5) .node-progress{animation-delay:2.3s}.activity:nth-of-type(6) .node-progress{animation-delay:2.7s}
.live-network .flow-line{stroke-dasharray:5 7;animation:logicFlow 1.8s linear infinite;stroke-width:2}
.dependency-line{stroke:#54778e}.logic-packet{fill:var(--orange)}.logic-packet.secondary{fill:var(--cyan)}
.live-network .milestone{fill:#0b2438;animation:milestoneBeat 3s ease infinite;transform-box:fill-box;transform-origin:center}
.live-network .legend{padding:0 20px 16px;margin-top:2px;font-size:11px}
.sequence-board{padding:16px 20px;background:#081e31;border-top:1px solid #28465b;border-bottom:1px solid #28465b}
.sequence-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#aac2d3;margin-bottom:13px}
.sequence-heading span:last-child{color:var(--cyan)}
.sequence-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;margin-top:7px;font-size:11px;line-height:1.3;color:#d8e4eb}
.sequence-track{position:relative;height:10px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#294356 calc(25% - 1px),#294356 25%)}
.sequence-track i{position:absolute;left:var(--start);width:var(--length);height:7px;top:1px;background:var(--cyan);transform-origin:left;animation:barBuild 6.5s ease infinite;animation-delay:var(--delay);transition:left .6s,width .6s}
.sequence-row:last-child i{background:var(--orange)}
.activity-detail{padding:18px 20px;min-height:151px;border-bottom:1px solid #28465b;display:flex;flex-direction:column;justify-content:flex-start}
.activity-detail strong{font-size:18px;line-height:1.35;font-weight:500;color:var(--ivory)}
.activity-detail p{font-size:14px;line-height:1.6;color:#bfd0db;margin:7px 0 0}
.interaction-hint{font-size:11px;color:#81a6ba;margin-top:auto;padding-top:9px}
.live-network .network-bottom{border-top:0;min-height:49px;padding:8px 20px;font-size:11px;letter-spacing:0;text-transform:none}
.live-network .animation-control{font-size:11px;min-height:32px;color:#c2d7e3;text-transform:none}
.live-network .animation-control:disabled{cursor:default;text-decoration:none;opacity:.7}
.live-network .network-tabs button{font-size:13px;min-height:48px;color:#c2d7e3;transition:background .25s,color .25s}
.live-network .network-tabs button[aria-pressed=true]{background:var(--cyan);color:var(--navy);font-weight:600}
.live-network .network-tabs button:not([aria-pressed=true]):hover{background:#183b51;color:white}
.motion-paused *{animation-play-state:paused!important}
.page-motion-paused .signal-track,.page-motion-paused .input-tag{animation-play-state:paused!important}
.form-meter{margin:-32px -32px 28px}
.live-network[data-stage="1"] .flow-line{stroke:var(--cyan)}
.live-network[data-stage="3"] .activity.critical rect{stroke:var(--cyan)}
.live-network[data-stage="3"] .node-progress{stroke:var(--orange)}
.page-hero h1{max-width:1100px;text-wrap:balance}
.section h2,.cta-inner h2{max-width:100%;text-wrap:balance}
.signature-quote{text-wrap:balance}.signal-track{padding-right:24px}
.method-step:after{pointer-events:none}
.contact-form .button:disabled{cursor:wait;opacity:.65}
@keyframes nodeBuild{0%,10%{stroke-dashoffset:108}55%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:108}}
@keyframes logicFlow{to{stroke-dashoffset:-24}}
@keyframes barBuild{0%,8%{transform:scaleX(.05)}50%,88%{transform:scaleX(1)}100%{transform:scaleX(.05)}}
@keyframes milestoneBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.17)}}
@media(max-width:960px){.live-network{max-width:720px}.hero-grid{gap:40px}.hero h1{max-width:none}.hero-copy{max-width:720px}.hero .sublead{max-width:600px}.activity-detail{min-height:132px}}
@media(hover:hover) and (pointer:fine){.method-step.reveal-ready.is-visible:hover{transform:translateY(-5px)}.insight-card.reveal-ready.is-visible:hover{transform:translateY(-6px)}.difference.reveal-ready.is-visible:hover{transform:translateY(-4px)}}
@media(max-width:640px){.live-network .network-top:after{content:none}.live-network .network-bottom{flex-wrap:wrap}}
@media(max-width:600px){.live-network{box-shadow:6px 6px 0 rgba(33,185,212,.1)}.live-network .drawing{overflow-x:auto}.live-network .network-svg{min-width:540px}.network-stage{padding:15px 16px 0}.network-stage span:last-child{font-size:9px}.live-network .network-top{padding:14px 16px;font-size:11px}.sequence-board,.activity-detail{padding:16px}.activity-detail{min-height:173px}.live-network .network-bottom{padding:8px 16px;gap:8px}.live-network .network-tabs button{font-size:12px}.sequence-row{grid-template-columns:84px 1fr}.page-hero h1{font-size:clamp(36px,9vw,44px)}.live-network .legend{padding-left:16px;padding-right:16px}.network-top strong{flex-shrink:0}.form-meter{margin:-20px -20px 22px}}
@media(prefers-reduced-motion:reduce){.node-progress{stroke-dashoffset:0}.sequence-track i{transform:none}.logic-packet{display:none}.live-network .flow-line{stroke-dasharray:none}.live-network .milestone{transform:none}.signal-track{flex-wrap:wrap;width:auto;white-space:normal;padding:10px 16px;gap:8px 16px}.signal-strip{height:auto;min-height:48px}.signal-track [aria-hidden=true]{display:none}}
