/* Hitman: familiar scenes, actionable interpretation. */
:root{--family-mono:"IBM Plex Mono",Consolas,monospace;--insight-red:#ff5a5f}
h1,h2,h3,.button,.main-nav a,.header-link,.mobile-menu a{font-family:Archivo,Arial,sans-serif}
h1,h2{font-weight:500}
.main-nav a,.header-link{font-size:12px;font-weight:500;letter-spacing:.01em}
.button{font-size:12px;font-weight:500}
.header-link::after{content:" ↗";color:var(--insight-red);margin-left:5px}
.kicker,.case-number,.row-index,.serum-number,.cypher-process-step>span,.cypher-card>span{font-family:var(--family-mono)}
.family-marks,.location-rail{display:none}
.insight-scene{position:relative;isolation:isolate;overflow:hidden;--draw:1;--one:1;--two:1;--three:1}
.insight-frame{position:absolute;inset:100px 28px 28px;z-index:2;pointer-events:none;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.insight-frame::before,.insight-frame::after{content:"";position:absolute;width:16px;height:16px;border-color:#ff5a5f85;border-style:solid}
.insight-frame::before{top:-1px;right:0;border-width:1px 1px 0 0}
.insight-frame::after{bottom:-1px;left:0;border-width:0 0 1px 1px}
.insight-layer{position:absolute;z-index:3;right:max(72px,calc((100vw - 1180px)/2));top:25%;width:30%;max-width:390px;height:46%;min-height:300px;pointer-events:none}
.insight-caption,.scene-location{font:10px/1.7 var(--family-mono);letter-spacing:.08em;color:#c3c7ca}
.insight-caption{position:absolute;top:-34px;font-size:9px;color:#b5babb}
.insight-link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1;vector-effect:non-scaling-stroke}
.insight-ghost{stroke:#ffffff24;stroke-dasharray:2 9}
.insight-path{stroke:#ff5a5f90;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}
.insight-layer ol{list-style:none;position:absolute;inset:0}
.insight-node{position:absolute;left:3%;top:10%;padding:0 0 0 19px;opacity:var(--one);transform:translateY(-10px);text-shadow:0 1px 12px #000,0 1px 4px #000}
.insight-node::before{content:"+";position:absolute;left:-5px;top:0;color:var(--insight-red);font:18px/1 var(--family-mono)}
.insight-node:nth-child(2){left:22.5%;top:47.5%;opacity:var(--two)}
.insight-node:nth-child(3){left:42.5%;top:85%;opacity:var(--three)}
.insight-ref{display:block;color:#ff7276;font:10px/1.6 var(--family-mono);letter-spacing:.07em;text-transform:uppercase}
.insight-label{display:block;font:400 13px/1.45 Archivo,Arial,sans-serif;color:#eeeff0;max-width:190px;margin-top:5px}
.scene-location{position:absolute;bottom:43px;left:max(72px,calc((100vw - 1180px)/2));z-index:3;display:flex;gap:20px;flex-wrap:wrap;pointer-events:none}
.scene-reference{color:#8f999e;font-size:9px}
.insight-scene .panel-content{padding-bottom:35px}
.insight-scene .panel-content>*,.insight-scene .panel-content.narrow>*{max-width:58%}
.insight-scene .panel-content>.button{max-width:none}
.cypher-panel{background-image:url('images/cypher.jpg');background-size:cover;background-position:center}
.cypher-hero-inner{position:relative;z-index:2}
.cypher-hero h1,.cypher-hero p:not(.kicker){max-width:58%}
.cypher-hero .powered{display:block;max-width:55%}
.cypher-card,.systems-card{border-top:1px solid #ff5a5f66}
.cypher-process-step{position:relative;border-top:1px solid #ffffff26;padding-top:24px}
.cypher-process-step::before{content:"+";position:absolute;top:-12px;left:0;color:var(--insight-red);font:18px var(--family-mono);background:#000;padding-right:8px}
.final-inner,.manuals-final-inner{position:relative}
.final-inner::before,.manuals-final-inner::before{content:"+";display:block;color:var(--insight-red);font:20px var(--family-mono);border-top:1px solid #ffffff22;padding-top:22px;margin-bottom:30px}
@media(min-width:981px){.insight-scene h1,.insight-scene h2{font-size:clamp(46px,6.3vw,88px)}}
@media(max-width:1100px){.insight-layer{right:48px;width:29%}.insight-label{font-size:12px}.scene-reference{display:none}}
@media(max-width:980px){
.insight-scene.panel,.insight-scene.cypher-hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:100svh;padding-top:140px;padding-bottom:45px}
.insight-scene .panel-content>*,.insight-scene .panel-content.narrow>*,.cypher-hero h1,.cypher-hero p:not(.kicker),.cypher-hero .powered{max-width:720px}
.insight-layer{position:relative;top:auto;right:auto;width:100%;max-width:720px;height:170px;min-height:0;margin:60px auto 24px}
.insight-caption{top:-24px;font-size:8px}
.insight-link{display:none}
.insight-layer ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #ff5a5f66;padding-top:20px}
.insight-node,.insight-node:nth-child(2),.insight-node:nth-child(3){position:relative;top:auto;left:auto;padding-left:16px;transform:none}
.insight-label{max-width:180px}.scene-location{position:relative;bottom:auto;left:auto;width:100%;max-width:720px;margin:0 auto;font-size:9px;gap:4px 18px}
.insight-frame{inset:100px 20px 20px}.insight-scene .panel-content{padding-bottom:0}
}
@media(max-width:520px){.insight-scene.panel,.insight-scene.cypher-hero{padding-inline:22px}.insight-layer{height:auto;margin-top:48px;margin-bottom:28px}.insight-layer ol{position:relative;grid-template-columns:1fr;gap:18px}.insight-node{display:grid;grid-template-columns:125px 1fr;gap:8px}.insight-label{margin:0;max-width:none}.insight-ref{font-size:9px}.insight-frame{inset:94px 12px 14px}.scene-location{font-size:8px}.insight-caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.insight-scene{--draw:1!important;--one:1!important;--two:1!important;--three:1!important}}

/* Cypher filters the competing paths as the meaningful sequence resolves. */
.cypher-panel .insight-ghost,.cypher-hero .insight-ghost{opacity:calc(1 - var(--draw));stroke:#ffffff88}

/* Scene-specific compositions, October 21 refinement. */
.opening-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}
.opening-eyebrow span{font-size:10px;font-weight:400;color:#aeb3b6;letter-spacing:.1em}
.opening-eyebrow span::before{content:"/";margin-right:20px;color:#62676a}
.client-win-card>span{color:#aeb3b6;font-size:11px;font-weight:400}
.insight-scene{--draw:1;--one:1;--two:1;--three:1}
.insight-layer .insight-node:nth-child(n){left:var(--x);top:var(--y)}
.insight-noise{stroke:#b4bec0;stroke-dasharray:2 12;opacity:calc((1 - var(--draw)) * .6)}
.risk-boundary{stroke:#ff5a5f70;transform-origin:100px 80px;transform:scale(calc(.3 + var(--draw) * .7));stroke-dasharray:3 7}
.risk-stop{stroke:#ff5a5f;stroke-width:2;opacity:var(--three)}
.insight-focus .insight-node:nth-child(1){opacity:calc(1 - var(--draw) * .65)}
.insight-focus .insight-node:nth-child(2){opacity:calc(.4 + var(--draw) * .6)}
.insight-alignment .insight-node:nth-child(1){transform:translateY(calc(-35px * (1 - var(--draw))))}
.insight-alignment .insight-node:nth-child(2){transform:translateY(calc(35px * (1 - var(--draw))))}
.insight-pattern .insight-node:nth-child(2){opacity:var(--one)}
.insight-pattern .insight-node:nth-child(1){opacity:var(--two)}
.insight-resolve .insight-node:nth-child(3) .insight-label{border-bottom:1px solid #ff5a5f80;padding-bottom:8px}
@media(min-width:981px){
.scene-location{left:auto;right:43px;top:50%;bottom:auto;writing-mode:vertical-rl;transform:translateY(-50%);flex-wrap:nowrap;gap:22px;font-size:9px;color:#aeb6bb}
.insight-layer{right:max(100px,calc((100vw - 1180px)/2));width:29%;height:45%}
.insight-layer .insight-label{max-width:170px}
.insight-alignment .insight-node:nth-child(1) .insight-label,.insight-alignment .insight-node:nth-child(2) .insight-label{max-width:120px}
}
@media(max-width:980px){
.insight-layer .insight-node:nth-child(n){left:auto;top:auto;transform:none;opacity:1}
.scene-location{writing-mode:horizontal-tb;transform:none}
}
@media(prefers-reduced-motion:reduce){.insight-layer .insight-node:nth-child(n){transform:none;opacity:1}.risk-boundary{transform:none}}

@media(min-width:981px) and (max-width:1200px){.insight-alignment .insight-node:nth-child(-n+2) .insight-ref{max-width:100px}.insight-alignment .insight-node:nth-child(-n+2) .insight-label{max-width:100px}}

/* Location signatures stay anchored to the bottom of their own scene. */
@media(min-width:981px){
 .scene-location{top:auto;bottom:48px;right:43px;left:auto;transform:none;width:auto;max-width:none;margin:0;padding:0 14px 18px 0;opacity:var(--location-opacity,1)}
 .scene-location::before{content:"";position:absolute;right:0;bottom:0;width:1px;height:100%;background:rgba(245,245,245,.4);transform:scaleY(var(--location-progress,1));transform-origin:bottom;}
 .scene-location::after{content:"";position:absolute;right:0;bottom:0;width:10px;height:14px;border-right:1px solid var(--insight-red);border-bottom:1px solid var(--insight-red);}
}
@media(prefers-reduced-motion:reduce){.scene-location{opacity:1!important}.scene-location::before{transform:none!important}}

/* The Problem reads across the scene, from assumption through evidence to clarity. */
@media(min-width:981px){.insight-focus .insight-node{padding-left:0;transform:translateY(16px)}.insight-focus .insight-node::before{top:-22px;left:-5px}.insight-focus .insight-node:nth-child(3){transform:translate(-20px,16px)}.insight-focus .insight-node:nth-child(3)::before{left:15px}.insight-focus .insight-ref{font-size:9px;white-space:nowrap}}

/* The Problem: a restrained descending path with a small leftward jog. */
@media(min-width:981px){.insight-focus .insight-node:nth-child(n){padding-left:19px;transform:translateY(-10px)}.insight-focus .insight-node:nth-child(n)::before{top:0;left:-5px}.insight-focus .insight-ref{font-size:10px}}

/* Hero: brand and reputation lead to value. */
.hero-panel .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.hero-panel .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}

/* The Problem: assumption and data lead to clarity. */
.ambiguity-panel .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.ambiguity-panel .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}

/* Infrared: diagonal approach, then a straight descent to trust. */
.infrared-panel .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.infrared-panel .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}
@media(min-width:981px){.insight-alignment .insight-node:nth-child(n){transform:translateY(-10px)}.insight-alignment .insight-node:nth-child(-n+2) .insight-ref{max-width:none;white-space:nowrap}}

/* Defcon 1: assess right, navigate left, protect at center-right. */
.defcon-panel .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.defcon-panel .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}

/* Recon: risk left, intelligence right, opportunity toward center. */
.recon-panel .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.recon-panel .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}
@media(min-width:981px){.recon-panel .insight-node:nth-child(1){opacity:var(--one)}.recon-panel .insight-node:nth-child(2){opacity:var(--two)}}

/* Cypher: a single vertical path from noise through filter to signal. */
.cypher-panel .insight-node:nth-child(-n+2) .insight-ref,.cypher-hero .insight-node:nth-child(-n+2) .insight-ref{color:#c3c7ca}
.cypher-panel .insight-node:nth-child(3) .insight-ref,.cypher-hero .insight-node:nth-child(3) .insight-ref{color:var(--insight-red)}

/* One shared intelligence sequence across every scene. */
.insight-scene .insight-layer .insight-node:nth-child(1){opacity:var(--one)}
.insight-scene .insight-layer .insight-node:nth-child(2){opacity:var(--two)}
.insight-scene .insight-layer .insight-node:nth-child(3){opacity:var(--three)}
@media(min-width:981px){
 .insight-scene .insight-layer .insight-node:nth-child(n){padding-left:19px;transform:translateY(-10px)}
 .insight-scene .insight-layer .insight-node:nth-child(n)::before{top:0;left:-5px}
 .insight-scene .insight-layer .insight-ref{font-size:10px;max-width:none;white-space:nowrap}
}
@media(max-width:980px),(prefers-reduced-motion:reduce){.insight-scene .insight-layer .insight-node:nth-child(n){opacity:1}}
