/* Original engineering gallery + reactive typographic signature. Root edition only. */
html:has(body.agent-focused),body.agent-focused{overflow-x:clip}
.agent-focused .kinetic-method{width:100%;max-width:none;padding:0;margin:48px 0 0;border:0;position:relative;overflow:visible}
.kinetic-sticky{padding:36px 0 26px;box-sizing:border-box;background:#0c1510}
.kinetic-method .focus-section-head,.kinetic-controls,.kinetic-method .focus-project-bridge{width:min(1320px,calc(100% - 80px));margin-inline:auto}
.kinetic-method .focus-section-head{margin-bottom:28px;align-items:end;gap:40px}
.kinetic-method .focus-section-head h2{font-size:clamp(30px,3.2vw,48px);line-height:1.25}
.kinetic-method .focus-section-head .focus-eyebrow{margin-bottom:15px;letter-spacing:.13em}
.kinetic-method .focus-section-head>p{max-width:390px;font-size:12px}
.kinetic-window{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#52684c transparent;padding-bottom:6px;outline-offset:-3px}
.kinetic-method .focus-evidence-grid{display:flex;gap:24px;width:max-content;padding:0 max(40px,calc((100vw - 1320px)/2));border:0;align-items:stretch}
.kinetic-method .focus-evidence,.kinetic-method .focus-evidence+.focus-evidence{width:clamp(570px,61vw,820px);flex:none;padding:0 0 22px;border:1px solid #d2e4c322;border-radius:4px;background:#111c15;overflow:hidden;scroll-snap-align:center;box-sizing:border-box}
.kinetic-method .focus-evidence>span,.kinetic-method .focus-evidence>h3,.kinetic-method .focus-evidence>p,.kinetic-method .focus-evidence>code,.kinetic-method .focus-evidence>details{margin-inline:30px}
.kinetic-method .focus-evidence>span{display:block;margin-top:23px;font-size:9px;letter-spacing:.12em;color:#8baf7d}
.kinetic-method .focus-evidence h3{font-size:26px;margin-top:9px;margin-bottom:12px}
.kinetic-method .focus-evidence>p{min-height:0;font-size:12px;line-height:1.8;max-width:660px;margin-bottom:14px}
.kinetic-method .focus-evidence>code{display:block;font-size:10px;color:#acc79e}
.kinetic-method .focus-evidence details{margin-top:18px}
.kinetic-method .focus-evidence details p{font-size:11px;margin:12px 0 0;line-height:1.8}
.kinetic-visual{height:clamp(195px,23vh,280px);position:relative;background:radial-gradient(ellipse at 50% 50%,#a7e5b810,transparent 70%),#0d1611;border-bottom:1px solid #d2e4c322;overflow:hidden}
.kinetic-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#bad3a706 1px,transparent 1px),linear-gradient(90deg,#bad3a706 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.kinetic-visual svg{position:relative;width:100%;height:100%;display:block}
.kinetic-visual svg text{font-family:var(--mono);font-size:11px;fill:#aebda5}
.kinetic-visual svg .kv-bright{fill:#e5efdf;font-size:15px;font-weight:600}
.kinetic-visual svg .kv-label{fill:#7e9b71;font-size:8px;letter-spacing:1.8px}
.kinetic-visual svg .kv-line{stroke:#a6c99355;stroke-width:1;fill:none}
.kinetic-visual svg .kv-node{fill:#19291d;stroke:#a6c99355}
.kinetic-visual svg .kv-accent{stroke:#b7e4a0;fill:#b7e4a011}
.kinetic-visual svg .kv-flow{stroke:#b7e4a0;stroke-width:2;fill:none;stroke-dasharray:5 17;animation:kinetic-dash 3s linear infinite}
.kinetic-visual svg .kv-pulse{animation:kinetic-pulse 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes kinetic-dash{to{stroke-dashoffset:-88}}@keyframes kinetic-pulse{50%{opacity:.45;scale:.94}}
.kinetic-controls{display:flex;align-items:center;gap:20px;padding-top:22px;color:#8caa7e;font:10px/1.6 var(--mono)}
.kinetic-meter{height:2px;flex:1;background:#b3d29f22;max-width:360px;overflow:hidden}.kinetic-meter i{display:block;background:#c1e4ac;height:100%;transform:scaleX(var(--journey-progress,0));transform-origin:left}
.kinetic-count{min-width:55px;color:#e0edd7}.kinetic-arrows{display:flex;gap:7px;margin-left:auto}.kinetic-arrows button{width:38px;height:34px;background:transparent;border:1px solid #b3d29f44;color:#d7e8cb;cursor:pointer;border-radius:3px}.kinetic-arrows button:disabled{opacity:.3;cursor:default}.kinetic-arrows button:hover:not(:disabled){background:#b3d29f1c}.kinetic-controls a{font-family:var(--sans);font-size:11px;border-bottom:1px solid #7b996a55}.kinetic-method .focus-project-bridge{margin-top:32px;margin-bottom:48px}
.kinetic-method.is-pinned .kinetic-sticky{position:sticky;top:84px;min-height:calc(100svh - 84px);height:auto;display:flex;flex-direction:column;justify-content:center}
.kinetic-method.is-pinned .kinetic-window{overflow:hidden;scroll-snap-type:none}
.kinetic-method.is-pinned .focus-evidence-grid{will-change:transform}
.kinetic-method.is-pinned .kinetic-window:focus-visible{outline:2px solid #c1e4ac}
.kinetic-method.is-pinned .focus-project-bridge{display:flex;margin-top:16px;margin-bottom:0;padding:12px 18px}
.kinetic-method.is-pinned .focus-evidence details[open]{max-height:100px;overflow:auto}
/* A deliberate colour break after the engineering narrative. */
.kinetic-signature{position:relative;background:#6435ef;color:#fff;isolation:isolate;overflow:hidden;margin-top:24px;min-height:390px;min-height:clamp(330px,45vw,680px);padding:30px max(24px,4vw) 22px}
.kinetic-signature:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 100%,#c42cff70,transparent 60%),linear-gradient(125deg,#4239ec,#7433f1 65%,#9333e9)}
.kinetic-signature-top,.kinetic-signature-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px/1.6 var(--mono);letter-spacing:.1em;color:#ffffffcf;position:relative;z-index:2}
.kinetic-signature-top a{display:flex;align-items:center;gap:20px;font:13px/1.6 var(--sans);letter-spacing:0;color:white}.kinetic-signature-top a span{font-size:23px}
.kinetic-letter-field{position:relative;height:clamp(245px,34vw,530px);margin:12px -3vw 8px;touch-action:pan-y}
.kinetic-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Arial Black",Arial,sans-serif;font-weight:900;font-size:clamp(100px,29vw,460px);letter-spacing:-.075em;line-height:1;color:#fff;padding-right:.075em;user-select:none}
.kinetic-letter-field canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}.kinetic-letter-field.is-ready canvas{opacity:1}.kinetic-letter-field.is-ready .kinetic-word{opacity:0}
.kinetic-signature-bottom{font-size:9px;letter-spacing:.06em}.kinetic-burst{border:1px solid #ffffff80;background:#ffffff0c;color:white;padding:9px 15px;font:11px/1.6 var(--sans);border-radius:2px;cursor:pointer;min-height:38px}.kinetic-burst:hover{background:#ffffff22}
.kinetic-signature :is(a,button):focus-visible,.kinetic-controls :is(a,button):focus-visible{outline:2px solid white;outline-offset:5px}
@media(max-width:850px){.kinetic-method .focus-section-head,.kinetic-controls,.kinetic-method .focus-project-bridge{width:calc(100% - 44px)}.kinetic-method .focus-evidence-grid{padding-inline:22px;gap:16px}.kinetic-method .focus-evidence,.kinetic-method .focus-evidence+.focus-evidence{width:min(78vw,620px)}.kinetic-method .focus-section-head>p{max-width:500px}.kinetic-visual{height:220px}.kinetic-method .focus-evidence>span,.kinetic-method .focus-evidence>h3,.kinetic-method .focus-evidence>p,.kinetic-method .focus-evidence>code,.kinetic-method .focus-evidence>details{margin-inline:22px}.kinetic-method .focus-evidence h3{font-size:23px}.kinetic-hint{display:none}.kinetic-signature-top{font-size:8px}.kinetic-signature-top a{font-size:11px}.kinetic-signature-bottom>span{max-width:230px;font-size:8px}.kinetic-method .focus-section-head{display:block}}
@media(max-width:600px){.kinetic-sticky{padding-top:26px}.kinetic-method .focus-evidence,.kinetic-method .focus-evidence+.focus-evidence{width:calc(100vw - 58px)}.kinetic-method .focus-evidence h3{font-size:21px}.kinetic-method .focus-evidence>p{font-size:11px}.kinetic-method .focus-evidence>code{font-size:8px}.kinetic-visual{height:185px}.kinetic-controls{gap:13px}.kinetic-controls a{font-size:10px}.kinetic-meter{max-width:90px}.kinetic-arrows{gap:5px}.kinetic-arrows button{width:31px}.kinetic-signature{padding:22px;min-height:310px}.kinetic-letter-field{height:200px;margin-top:8px}.kinetic-signature-top{font-size:7px;letter-spacing:.04em}.kinetic-signature-bottom{gap:14px}.kinetic-signature-bottom>span{max-width:180px}.kinetic-burst{white-space:nowrap;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.kinetic-visual svg .kv-flow,.kinetic-visual svg .kv-pulse{animation:none}.kinetic-letter-field canvas{display:none}.kinetic-letter-field.is-ready .kinetic-word{opacity:1}.kinetic-burst{display:none}}
@media(max-width:600px){.kinetic-visual svg text{font-size:16px}.kinetic-visual svg .kv-bright{font-size:18px}.kinetic-visual svg .kv-label{font-size:10px;letter-spacing:.5px}}
@media(min-width:851px) and (max-height:850px){
  .kinetic-sticky{padding:16px 0}.kinetic-method .focus-section-head{margin-bottom:15px}.kinetic-method .focus-section-head h2{font-size:30px}.kinetic-method .focus-section-head .focus-eyebrow{font-size:8px;margin-bottom:7px}.kinetic-method .focus-section-head>p{font-size:11px;line-height:1.8}.kinetic-visual{height:150px}.kinetic-method .focus-evidence{padding-bottom:13px}.kinetic-method .focus-evidence>span{margin-top:13px;font-size:8px}.kinetic-method .focus-evidence h3{font-size:21px;margin-top:5px;margin-bottom:7px}.kinetic-method .focus-evidence>p{font-size:11px;margin-bottom:9px}.kinetic-method .focus-evidence>code{font-size:9px;padding-block:8px}.kinetic-method .focus-evidence details{margin-top:9px}.kinetic-method .focus-evidence summary{font-size:10px}.kinetic-controls{padding-top:12px}.kinetic-method.is-pinned .focus-project-bridge{padding:8px 14px;margin-top:10px}.kinetic-method.is-pinned .focus-project-bridge p{font-size:11px;margin-block:2px}.kinetic-method.is-pinned .focus-project-bridge small{font-size:8px}
}
