/* Sector dialects — one visual system, ten professional contexts. */
:root { --active-accent:#eaff00; }

#tactimon { --accent:#eaff00;--sector-rgb:234 255 0;--sector-label:"TACTICAL / GAME SYSTEM"; }
#microwarfare { --accent:#ff6b22;--sector-rgb:255 107 34;--sector-label:"MICRO SCALE / FABRICATION"; }
#green-squat { --accent:#39e58c;--sector-rgb:57 229 140;--sector-label:"EDITORIAL / COLLECTIVE"; }
#chevelus { --accent:#ff4038;--sector-rgb:255 64 56;--sector-label:"FILM / DOCUMENTARY"; }
#uscreen { --accent:#4aa3ff;--sector-rgb:74 163 255;--sector-label:"SEARCH / CONTENT OPS"; }
#expressvpn { --accent:#ff3162;--sector-rgb:255 49 98;--sector-label:"OUTREACH / AUTHORITY"; }
#signaturegt { --accent:#ff4828;--sector-rgb:255 72 40;--sector-label:"AUTOMOTIVE / MOTION"; }
#credit-agricole { --accent:#ff841f;--sector-rgb:255 132 31;--sector-label:"CAMPAIGN / PRINT"; }
#holocorp { --accent:#2df5ff;--sector-rgb:45 245 255;--sector-label:"GESTURE / HOLOGRAPHY"; }
#koloro { --accent:#ffad1f;--sector-rgb:255 173 31;--sector-label:"PLATFORM / PIXEL WORLD"; }

.rail { --accent:var(--active-accent); }
.timeline-item.active::after { content:"";position:absolute;right:2px;top:50%;width:5px;height:34px;background:var(--active-accent);transform:translateY(-50%);box-shadow:0 0 18px color-mix(in srgb,var(--active-accent) 65%,transparent); }
.scene-index { padding:7px 9px;color:var(--ink);background:var(--accent);border:1px solid currentColor; }
.tone-dark .scene-index,.tone-smoke .scene-index { color:var(--ink); }
.chapter .eyebrow,.chapter .kicker { text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:7px; }
.chapter .panel-current .eyebrow,.chapter .panel-current .kicker { text-decoration-line:underline; }

.sector-motif { position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;color:var(--accent);opacity:clamp(.2,var(--panel-in,1),.45);transform:translate3d(calc((var(--scan,.5) - .5)*-32px),0,0);transition:opacity .2s linear; }
.tone-dark .sector-motif,.tone-smoke .sector-motif { opacity:clamp(.28,var(--panel-in,1),.56); }
.sector-motif::before { content:var(--sector-label);position:absolute;left:13px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:700 .58rem/1 var(--mono);letter-spacing:.16em;color:currentColor;opacity:.75; }
.sector-motif::after { content:attr(data-panel);position:absolute;right:1.8%;bottom:-.08em;font:900 clamp(8rem,20vw,22rem)/.74 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgb(var(--sector-rgb) / .2); }
.sector-motif i { position:absolute;display:block;border-color:currentColor; }

.sector-console { position:absolute;z-index:16;top:var(--pad);right:calc(var(--pad) + 92px);width:clamp(245px,24vw,360px);min-height:48px;display:grid;grid-template-columns:1fr 86px;align-items:stretch;border:1px solid rgb(var(--sector-rgb) / .52);border-top:4px solid var(--accent);background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--ink);backdrop-filter:blur(9px);opacity:clamp(.18,var(--panel-in,1),1);transform:translateY(calc((1 - var(--panel-in,1))*-16px));transition:opacity .2s linear; }
.tone-dark .sector-console,.tone-smoke .sector-console { background:color-mix(in srgb,var(--ink) 84%,transparent);color:var(--white); }
.sector-console > span:first-child { display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 10px;border-right:1px solid rgb(var(--sector-rgb) / .4); }
.sector-console b { font:700 .62rem/1.2 var(--mono);letter-spacing:.09em;color:var(--accent); }
.sector-console small { font:400 .56rem/1.25 var(--mono);letter-spacing:.055em;white-space:nowrap; }
.sector-console__signal { display:flex;align-items:flex-end;justify-content:center;gap:4px;height:47px;padding:8px;overflow:hidden; }
.sector-console__signal i { width:5px;height:var(--h,65%);display:block;background:var(--accent);transform-origin:bottom;transform:scaleY(clamp(.18,var(--panel-in,1),1)) translateY(calc((var(--scan,.5) - .5)*8px)); }
.sector-console__signal i:nth-child(1) { --h:28%; }.sector-console__signal i:nth-child(2) { --h:52%; }.sector-console__signal i:nth-child(3) { --h:88%; }.sector-console__signal i:nth-child(4) { --h:44%; }.sector-console__signal i:nth-child(5) { --h:72%; }.sector-console__signal i:nth-child(6) { --h:34%; }.sector-console__signal i:nth-child(7) { --h:96%; }.sector-console__signal i:nth-child(8) { --h:61%; }
.chapter .motion-stage { box-shadow:inset 0 4px 0 var(--accent); }
.motion-pin.is-pinned .motion-stage::after { content:"";position:absolute;z-index:13;top:0;bottom:0;left:calc(var(--sequence-progress,0)*100%);width:1px;pointer-events:none;background:linear-gradient(transparent 4%,var(--accent) 28%,var(--accent) 72%,transparent 96%);box-shadow:0 0 24px rgb(var(--sector-rgb) / .42);opacity:.34; }

.project-dna { position:absolute;z-index:21;top:var(--pad);right:calc(var(--pad) + 92px);width:min(420px,41cqw);display:grid;grid-template-columns:minmax(120px,1.05fr) minmax(130px,1fr) 64px;gap:10px;padding:10px;color:var(--white);background:color-mix(in srgb,var(--ink) 91%,transparent);border:1px solid rgb(var(--sector-rgb) / .65);border-top:5px solid var(--accent);box-shadow:8px 8px 0 rgb(var(--sector-rgb) / .17);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);backdrop-filter:blur(11px);opacity:clamp(.35,var(--panel-in,1),1);transform:translate3d(calc((1 - var(--panel-in,1))*22px),0,0);pointer-events:none; }
.project-dna__heading { display:flex;min-width:0;flex-direction:column;gap:3px;justify-content:center;padding-right:9px;border-right:1px solid rgb(var(--sector-rgb) / .35); }
.project-dna__heading span { font:700 .58rem/1 var(--mono);letter-spacing:.13em;color:var(--accent); }
.project-dna__heading strong { font:900 clamp(.88rem,1.25cqw,1.12rem)/1.08 var(--display);letter-spacing:.025em; }
.project-dna__heading small { font:700 .6rem/1.2 var(--mono);letter-spacing:.07em;opacity:.72; }
.project-dna__skills { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:4px;margin:0;padding:0;list-style:none; }
.project-dna__skills li { min-width:0;padding:4px 5px;border-left:2px solid var(--accent);background:rgb(var(--sector-rgb) / .08);font:700 .54rem/1.2 var(--mono);letter-spacing:.045em;overflow-wrap:anywhere; }
.project-dna__glyph { position:relative;width:64px;height:64px;align-self:center;border:1px solid rgb(var(--sector-rgb) / .5);overflow:hidden;background:rgb(var(--sector-rgb) / .045); }
.project-dna__glyph i { position:absolute;display:block;border-color:var(--accent);background:var(--accent); }

.project-dna--tactimon .project-dna__glyph { background-image:linear-gradient(rgb(var(--sector-rgb) / .2) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--sector-rgb) / .2) 1px,transparent 1px);background-size:16px 16px; }
.project-dna--tactimon .project-dna__glyph i { width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px rgb(var(--sector-rgb) / .13); }
.project-dna--tactimon .project-dna__glyph i:nth-child(1) { left:13px;top:11px; }.project-dna--tactimon .project-dna__glyph i:nth-child(2) { right:11px;top:26px; }.project-dna--tactimon .project-dna__glyph i:nth-child(3) { left:27px;bottom:10px; }

.project-dna--microwarfare .project-dna__glyph { background:repeating-linear-gradient(90deg,transparent 0 7px,rgb(var(--sector-rgb) / .25) 7px 8px); }
.project-dna--microwarfare .project-dna__glyph i { bottom:7px;width:6px;transform-origin:bottom; }.project-dna--microwarfare .project-dna__glyph i:nth-child(1) { left:10px;height:18px; }.project-dna--microwarfare .project-dna__glyph i:nth-child(2) { left:21px;height:37px; }.project-dna--microwarfare .project-dna__glyph i:nth-child(3) { left:32px;height:25px; }.project-dna--microwarfare .project-dna__glyph i:nth-child(4) { left:43px;height:48px; }

.project-dna--green-squat .project-dna__glyph i { width:34px;height:43px;left:14px;top:10px;background:transparent;border:1px solid var(--accent);box-shadow:5px 5px 0 rgb(var(--sector-rgb) / .18); }.project-dna--green-squat .project-dna__glyph i:nth-child(2) { width:22px;height:2px;top:20px;background:var(--accent);box-shadow:0 7px 0 var(--accent),0 14px 0 var(--accent); }

.project-dna--chevelus .project-dna__glyph i { left:8px;bottom:12px;width:4px;height:var(--wave,20px);transform-origin:bottom; }.project-dna--chevelus .project-dna__glyph i:nth-child(1) { --wave:12px; }.project-dna--chevelus .project-dna__glyph i:nth-child(2) { left:18px;--wave:31px; }.project-dna--chevelus .project-dna__glyph i:nth-child(3) { left:28px;--wave:44px; }.project-dna--chevelus .project-dna__glyph i:nth-child(4) { left:38px;--wave:25px; }.project-dna--chevelus .project-dna__glyph i:nth-child(5) { left:48px;--wave:16px; }

.project-dna--uscreen .project-dna__glyph i:nth-child(1) { left:12px;top:12px;width:31px;height:31px;background:transparent;border:3px solid var(--accent);border-radius:50%; }.project-dna--uscreen .project-dna__glyph i:nth-child(2) { left:40px;top:40px;width:18px;height:3px;transform:rotate(45deg);transform-origin:left; }

.project-dna--expressvpn .project-dna__glyph i { width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px rgb(var(--sector-rgb) / .13); }.project-dna--expressvpn .project-dna__glyph i:nth-child(1) { left:9px;top:13px; }.project-dna--expressvpn .project-dna__glyph i:nth-child(2) { right:10px;top:23px; }.project-dna--expressvpn .project-dna__glyph i:nth-child(3) { left:25px;bottom:10px; }.project-dna--expressvpn .project-dna__glyph i:nth-child(4),.project-dna--expressvpn .project-dna__glyph i:nth-child(5) { left:15px;top:18px;width:35px;height:1px;border-radius:0;box-shadow:none;transform:rotate(17deg); }.project-dna--expressvpn .project-dna__glyph i:nth-child(5) { left:29px;top:34px;width:27px;transform:rotate(-55deg); }

.project-dna--signaturegt .project-dna__glyph { border-radius:50% 50% 0 0;clip-path:inset(0 0 31px); }
.project-dna--signaturegt .project-dna__glyph i:nth-child(1) { left:30px;bottom:31px;width:27px;height:3px;transform:rotate(-48deg);transform-origin:left; }.project-dna--signaturegt .project-dna__glyph i:nth-child(2) { left:28px;bottom:29px;width:7px;height:7px;border-radius:50%; }

.project-dna--credit-agricole .project-dna__glyph i { left:13px;top:13px;width:36px;height:36px;border-radius:50%;background:transparent;border:1px solid var(--accent); }.project-dna--credit-agricole .project-dna__glyph i:nth-child(2) { left:22px;top:22px;width:18px;height:18px; }.project-dna--credit-agricole .project-dna__glyph i:nth-child(3) { left:30px;top:5px;width:1px;height:52px;border-radius:0;background:var(--accent); }.project-dna--credit-agricole .project-dna__glyph i:nth-child(4) { left:5px;top:30px;width:52px;height:1px;border-radius:0;background:var(--accent); }

.project-dna--holocorp .project-dna__glyph i:nth-child(1) { left:12px;right:12px;top:9px;height:38px;background:rgb(var(--sector-rgb) / .08);border:1px solid var(--accent);box-shadow:0 0 12px rgb(var(--sector-rgb) / .5); }.project-dna--holocorp .project-dna__glyph i:nth-child(2) { left:8px;right:8px;bottom:8px;height:3px;box-shadow:0 0 9px var(--accent); }

.project-dna--koloro .project-dna__glyph i { width:12px;height:12px; }.project-dna--koloro .project-dna__glyph i:nth-child(1) { left:8px;bottom:8px; }.project-dna--koloro .project-dna__glyph i:nth-child(2) { left:20px;bottom:20px; }.project-dna--koloro .project-dna__glyph i:nth-child(3) { left:32px;bottom:20px; }.project-dna--koloro .project-dna__glyph i:nth-child(4) { left:44px;bottom:32px; }.project-dna--koloro .project-dna__glyph i:nth-child(5) { left:44px;bottom:44px; }

/* Scroll gates — the last project panel stays pinned until its overlay is complete. */
.project-gate { --gate-cover:0;--gate-detail:0;--gate-progress:0;--gate-color:var(--accent);position:absolute;z-index:45;inset:0;overflow:hidden;pointer-events:none;visibility:hidden;isolation:isolate;color:var(--gate-color);clip-path:inset(50%);will-change:clip-path; }
.project-gate.is-active { visibility:visible; }
.project-gate::before { content:"";position:absolute;z-index:-2;inset:0;background:color-mix(in srgb,var(--ink) 92%,var(--gate-color)); }
.project-gate::after { content:"";position:absolute;z-index:8;inset:0;background:linear-gradient(90deg,transparent 0 49.9%,var(--gate-color) 50%,transparent 50.1%),linear-gradient(transparent 0 49.9%,color-mix(in srgb,var(--gate-color) 55%,transparent) 50%,transparent 50.1%);opacity:calc(var(--gate-detail)*.7);transform:rotate(calc((var(--gate-progress) - .5)*8deg)) scale(1.1); }
.project-gate i { position:absolute;display:block;border-color:currentColor;background:currentColor;box-shadow:0 0 18px color-mix(in srgb,currentColor 48%,transparent);opacity:var(--gate-detail);will-change:transform,opacity; }
.motion-pin:not(.is-pinned) .project-gate { display:none; }

/* Tactimon → MicroWarfare: a tactical aperture becomes a fabrication mesh. */
.project-gate--forge { --gate-color:#ff6b22;clip-path:polygon(50% calc(50% - var(--gate-cover)*110%),calc(50% + var(--gate-cover)*110%) 50%,50% calc(50% + var(--gate-cover)*110%),calc(50% - var(--gate-cover)*110%) 50%); }
.project-gate--forge::before { background-color:#111;background-image:linear-gradient(color-mix(in srgb,var(--gate-color) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--gate-color) 18%,transparent) 1px,transparent 1px);background-size:34px 34px; }
.project-gate--forge i { left:50%;top:50%;width:74vmax;height:1px;transform-origin:left;transform:rotate(calc(var(--i)*30deg)) scaleX(var(--gate-detail)); }

/* MicroWarfare → Green Squat: imposed sheets slide over the manufactured object. */
.project-gate--pages { --gate-color:#39e58c;clip-path:inset(0 calc((1 - var(--gate-cover))*100%) 0 0); }
.project-gate--pages::before { background:color-mix(in srgb,#151715 90%,var(--gate-color)); }
.project-gate--pages i { left:calc(-8% + var(--i)*9.8%);top:calc(7% + (var(--i) - 5)*1.4%);width:13%;height:86%;background:transparent;border:1px solid currentColor;box-shadow:10px 10px 0 color-mix(in srgb,var(--gate-color) 11%,transparent);transform:translateX(calc((1 - var(--gate-detail))*52vw)) rotate(calc((var(--i) - 5)*1.4deg)); }

/* Green Squat → Les Chevelus: a film gate closes from the top and bottom. */
.project-gate--shutter { --gate-color:#ff4038;clip-path:inset(calc((1 - var(--gate-cover))*50%) 0); }
.project-gate--shutter::before { background:linear-gradient(#090909 0 49.8%,var(--gate-color) 49.9% 50.1%,#090909 50.2%); }
.project-gate--shutter i { left:calc(2% + var(--i)*8.35%);top:3%;width:5.5%;height:8%;background:transparent;border:1px solid currentColor;transform:translateY(calc((1 - var(--gate-detail))*-90px)); }
.project-gate--shutter i:nth-child(even) { top:auto;bottom:3%;transform:translateY(calc((1 - var(--gate-detail))*90px)); }

/* Les Chevelus → Uscreen: the image is digitised by a vertical raster scan. */
.project-gate--scan { --gate-color:#4aa3ff;clip-path:inset(0 0 calc((1 - var(--gate-cover))*100%) 0); }
.project-gate--scan::before { background-color:#08101a;background-image:linear-gradient(color-mix(in srgb,var(--gate-color) 20%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--gate-color) 9%,transparent) 1px,transparent 1px);background-size:100% 9px,42px 100%; }
.project-gate--scan i { left:0;top:calc(5% + var(--i)*8%);width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--gate-color),transparent);transform:scaleX(calc(.15 + var(--gate-detail)*.85)); }

/* Uscreen → ExpressVPN: indexed points connect into an authority network. */
.project-gate--network { --gate-color:#ff3162;clip-path:circle(calc(var(--gate-cover)*82%) at 50% 50%); }
.project-gate--network::before { background-color:#13080d;background-image:linear-gradient(27deg,transparent 49.85%,color-mix(in srgb,var(--gate-color) 22%,transparent) 50%,transparent 50.15%); }
.project-gate--network i { left:calc(7% + var(--i)*7.7%);top:calc(18% + (var(--i) - 5)*(var(--i) - 5)*1.5%);width:clamp(7px,1vw,15px);aspect-ratio:1;border-radius:50%;transform:scale(var(--gate-detail));box-shadow:0 0 0 calc(4px + var(--i)*1px) color-mix(in srgb,var(--gate-color) 12%,transparent),0 0 21px var(--gate-color); }

/* ExpressVPN → Signature GT: the network contracts into a velocity tunnel. */
.project-gate--tunnel { --gate-color:#ff4828;clip-path:inset(calc((1 - var(--gate-cover))*50%));perspective:900px; }
.project-gate--tunnel::before { background:radial-gradient(circle at center,color-mix(in srgb,var(--gate-color) 12%,#080808),#080808 68%); }
.project-gate--tunnel i { inset:calc(5% + var(--i)*3.6%);background:transparent;border:2px solid currentColor;transform:translateZ(calc((1 - var(--gate-detail))*-700px)) rotate(calc(var(--i)*2deg)); }

/* Signature GT → Crédit Agricole: telemetry resolves into print registration. */
.project-gate--register { --gate-color:#ff841f;clip-path:polygon(0 0,calc(var(--gate-cover)*100%) 0,calc(var(--gate-cover)*100%) 100%,0 100%); }
.project-gate--register::before { background:#101010; }
.project-gate--register i { inset:calc(4% + var(--i)*3.6%);background:transparent;border:1px solid currentColor;border-radius:50%;transform:rotate(calc(var(--gate-progress)*120deg)) scale(var(--gate-detail)); }
.project-gate--register i:nth-child(4n+1) { color:#00b7d7; }.project-gate--register i:nth-child(4n+2) { color:#ec2d8b; }.project-gate--register i:nth-child(4n+3) { color:#ffd526; }.project-gate--register i:nth-child(4n) { color:#ff841f; }

/* Crédit Agricole → Holocorp: printed planes rise into an emissive interface. */
.project-gate--hologram { --gate-color:#2df5ff;clip-path:inset(0 calc((1 - var(--gate-cover))*50%));perspective:1100px; }
.project-gate--hologram::before { background-color:#061012;background-image:linear-gradient(color-mix(in srgb,var(--gate-color) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--gate-color) 16%,transparent) 1px,transparent 1px);background-size:28px 28px; }
.project-gate--hologram i { left:calc(2% + var(--i)*8.3%);top:12%;width:7%;height:76%;background:color-mix(in srgb,var(--gate-color) 7%,transparent);border:1px solid currentColor;transform-origin:bottom;transform:rotateX(calc((1 - var(--gate-detail))*88deg)) translateY(calc((1 - var(--gate-detail))*42%)); }

/* Holocorp → Koloro: the holographic plane resolves into a playable pixel grid. */
.project-gate--pixel { --gate-color:#ffad1f;clip-path:inset(calc((1 - var(--gate-cover))*50%) calc((1 - var(--gate-cover))*50%)); }
.project-gate--pixel::before { background-color:#120d05;background-image:linear-gradient(color-mix(in srgb,var(--gate-color) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--gate-color) 16%,transparent) 1px,transparent 1px);background-size:48px 48px;image-rendering:pixelated; }
.project-gate--pixel i { left:calc(1% + var(--i)*8.3%);top:calc(12% + (var(--i) - 5)*(var(--i) - 5)*1.6%);width:8.4vw;max-width:126px;aspect-ratio:1;background:color-mix(in srgb,var(--gate-color) calc(18% + var(--i)*5%),transparent);border:1px solid currentColor;box-shadow:2vw 2vw 0 color-mix(in srgb,var(--gate-color) 17%,transparent);transform:translateY(calc((1 - var(--gate-detail))*90px)) scale(var(--gate-detail)); }

/* Sector glyphs are miniature instruments driven by the current panel progress. */
.project-dna--tactimon .project-dna__glyph i:nth-child(1) { transform:translate(calc(var(--scan,.5)*5px),calc(var(--scan,.5)*3px)); }
.project-dna--tactimon .project-dna__glyph i:nth-child(2) { transform:translate(calc(var(--scan,.5)*-7px),calc(var(--scan,.5)*6px)); }
.project-dna--tactimon .project-dna__glyph i:nth-child(3) { transform:translateY(calc(var(--scan,.5)*-7px)); }
.project-dna--microwarfare .project-dna__glyph i { transform:scaleY(clamp(.3,calc(.3 + var(--scan,.5)*.9),1)); }
.project-dna--green-squat .project-dna__glyph i:first-child { transform:translate(calc(var(--scan,.5)*-3px),calc(var(--scan,.5)*-3px)); }
.project-dna--green-squat .project-dna__glyph i:nth-child(2) { transform:scaleX(clamp(.35,calc(.35 + var(--scan,.5)),1));transform-origin:left; }
.project-dna--chevelus .project-dna__glyph i { transform:scaleY(clamp(.3,calc(.3 + var(--scan,.5)*1.1),1)); }
.project-dna--uscreen .project-dna__glyph i:first-child { transform:scale(clamp(.7,calc(.7 + var(--scan,.5)*.45),1));transform-origin:center; }
.project-dna--expressvpn .project-dna__glyph i:nth-child(-n+3) { transform:scale(clamp(.45,calc(.45 + var(--scan,.5)),1)); }
.project-dna--signaturegt .project-dna__glyph i:first-child { transform:rotate(calc(-70deg + var(--scan,.5)*94deg)); }
.project-dna--credit-agricole .project-dna__glyph { transform:rotate(calc((var(--scan,.5) - .5)*18deg)); }
.project-dna--holocorp .project-dna__glyph i:first-child { transform:scaleY(clamp(.1,var(--scan,.5),1));transform-origin:bottom; }
.project-dna--koloro .project-dna__glyph i { transform:translateY(calc((1 - var(--scan,.5))*8px)); }

/* Tactimon — board coordinates, targeting rings and modular rules. */
#tactimon .sector-motif { background-image:linear-gradient(30deg,rgb(var(--sector-rgb) / .045) 12%,transparent 12.5%,transparent 87%,rgb(var(--sector-rgb) / .045) 87.5%),linear-gradient(150deg,rgb(var(--sector-rgb) / .045) 12%,transparent 12.5%,transparent 87%,rgb(var(--sector-rgb) / .045) 87.5%);background-size:74px 128px; }
#tactimon .sector-motif i:nth-child(1) { width:34vw;aspect-ratio:1;right:-12vw;top:-16vw;border:1px solid rgb(var(--sector-rgb) / .34);border-radius:50%;box-shadow:0 0 0 5vw rgb(var(--sector-rgb) / .025),0 0 0 10vw rgb(var(--sector-rgb) / .018); }
#tactimon .sector-motif i:nth-child(2) { width:1px;height:72%;right:18%;top:14%;background:rgb(var(--sector-rgb) / .28); }
#tactimon .sector-motif i:nth-child(3) { width:72%;height:1px;right:4%;top:42%;background:rgb(var(--sector-rgb) / .22); }
#tactimon .scene--case .sector-motif { transform:translate3d(calc((var(--scan,.5) - .5)*-52px),0,0) rotate(-2deg); }
#tactimon .scene--cards .sector-motif i:nth-child(1) { left:41%;right:auto;top:8%;width:48vw;border-radius:0;transform:skewX(-18deg); }
#tactimon .scene--rules .sector-motif { background-image:linear-gradient(45deg,rgb(var(--sector-rgb) / .06) 25%,transparent 25%,transparent 75%,rgb(var(--sector-rgb) / .06) 75%);background-size:28px 28px; }
#tactimon .sector-console__signal { align-items:center; }
#tactimon .sector-console__signal i { width:7px;height:7px;border-radius:50%;transform:scale(clamp(.35,var(--panel-in,1),1));box-shadow:0 0 0 3px rgb(var(--sector-rgb) / .12); }

/* MicroWarfare — workshop metrology and additive manufacturing. */
#microwarfare .scene { background-image:linear-gradient(90deg,transparent 0 72%,rgb(var(--sector-rgb) / .08) 72% 72.2%,transparent 72.2%); }
#microwarfare .sector-motif { background-image:repeating-linear-gradient(90deg,transparent 0 19px,rgb(var(--sector-rgb) / .16) 19px 20px,transparent 20px 99px),linear-gradient(0deg,rgb(var(--sector-rgb) / .18) 1px,transparent 1px);background-size:100% 18px,100% 36px;background-position:0 calc(100% - 20px),0 100%;background-repeat:no-repeat; }
#microwarfare .sector-motif i:nth-child(1),#microwarfare .sector-motif i:nth-child(2) { width:32%;height:38%;border:1px solid rgb(var(--sector-rgb) / .42); }
#microwarfare .sector-motif i:nth-child(1) { left:5%;top:9%;border-right:0;border-bottom:0; }
#microwarfare .sector-motif i:nth-child(2) { right:5%;bottom:10%;border-left:0;border-top:0; }
#microwarfare .project-brief { background:color-mix(in srgb,var(--paper) 89%,var(--accent)); }
#microwarfare .sector-console__signal { background:repeating-linear-gradient(90deg,transparent 0 8px,rgb(var(--sector-rgb) / .22) 8px 9px); }
#microwarfare .sector-console__signal i { width:1px;height:100%;background:var(--accent); }

/* Green Squat — magazine grid, crop marks and registration. */
#green-squat .scene::before { background-size:36px 36px,16.666% 100%; }
#green-squat .sector-motif { background:linear-gradient(90deg,transparent 33%,rgb(var(--sector-rgb) / .13) 33% 33.15%,transparent 33.15% 66%,rgb(var(--sector-rgb) / .13) 66% 66.15%,transparent 66.15%); }
#green-squat .sector-motif i { width:36px;height:36px; }
#green-squat .sector-motif i:nth-child(1) { left:3%;top:6%;border-left:2px solid;border-top:2px solid; }
#green-squat .sector-motif i:nth-child(2) { right:3%;top:6%;border-right:2px solid;border-top:2px solid; }
#green-squat .sector-motif i:nth-child(3) { left:3%;bottom:6%;border-left:2px solid;border-bottom:2px solid; }
#green-squat .sector-motif i:nth-child(4) { right:3%;bottom:6%;border-right:2px solid;border-bottom:2px solid; }
#green-squat .ghost-title { -webkit-text-stroke-color:var(--accent); }
#green-squat .project-brief { background:color-mix(in srgb,var(--paper-soft) 88%,var(--accent)); }
#green-squat .sector-console__signal { align-items:center;gap:2px; }
#green-squat .sector-console__signal i { width:8px;height:27px;background:transparent;border:1px solid var(--accent);transform:translateX(calc((var(--scan,.5) - .5)*10px)); }

/* Les Chevelus — viewfinder, film strip and recording signal. */
#chevelus .sector-motif { background-image:repeating-linear-gradient(90deg,rgb(var(--sector-rgb) / .38) 0 18px,transparent 18px 34px),repeating-linear-gradient(90deg,rgb(var(--sector-rgb) / .38) 0 18px,transparent 18px 34px);background-size:100% 8px;background-position:0 16px,0 calc(100% - 16px);background-repeat:no-repeat; }
#chevelus .sector-motif i:nth-child(-n+4) { width:52px;height:52px; }
#chevelus .sector-motif i:nth-child(1) { left:5%;top:8%;border-left:2px solid;border-top:2px solid; }
#chevelus .sector-motif i:nth-child(2) { right:5%;top:8%;border-right:2px solid;border-top:2px solid; }
#chevelus .sector-motif i:nth-child(3) { left:5%;bottom:8%;border-left:2px solid;border-bottom:2px solid; }
#chevelus .sector-motif i:nth-child(4) { right:5%;bottom:8%;border-right:2px solid;border-bottom:2px solid; }
#chevelus .sector-motif i:nth-child(5) { left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 16px rgb(var(--sector-rgb) / .12); }
#chevelus .process-track li::before { box-shadow:0 0 0 5px rgb(var(--sector-rgb) / .12); }
#chevelus .sector-console__signal i { width:4px;clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%); }

/* Uscreen — crawl grid, browser window and search indexing. */
#uscreen .sector-motif { background-image:linear-gradient(rgb(var(--sector-rgb) / .08) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--sector-rgb) / .08) 1px,transparent 1px);background-size:28px 28px; }
#uscreen .sector-motif i:nth-child(1) { right:7%;top:9%;width:38%;height:31%;border:1px solid rgb(var(--sector-rgb) / .38);box-shadow:inset 0 24px rgb(var(--sector-rgb) / .08); }
#uscreen .sector-motif i:nth-child(2),#uscreen .sector-motif i:nth-child(3),#uscreen .sector-motif i:nth-child(4) { top:calc(9% + 9px);width:6px;height:6px;border-radius:50%;background:var(--accent); }
#uscreen .sector-motif i:nth-child(2) { right:calc(7% + 12px); }#uscreen .sector-motif i:nth-child(3) { right:calc(7% + 23px); }#uscreen .sector-motif i:nth-child(4) { right:calc(7% + 34px); }
#uscreen .keyword-cloud span:nth-child(3n+1) { box-shadow:inset 4px 0 var(--accent); }
#uscreen .sector-console__signal { align-items:center; }
#uscreen .sector-console__signal i { width:7px;height:7px;border:1px solid var(--accent);background:transparent; }
#uscreen .sector-console__signal i:nth-child(-n+5) { background:var(--accent); }

/* ExpressVPN — backlink network, SERP traces and authority nodes. */
#expressvpn .sector-motif { background-image:radial-gradient(circle at 16% 23%,var(--accent) 0 3px,transparent 4px),radial-gradient(circle at 72% 31%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 48% 76%,var(--accent) 0 4px,transparent 5px),linear-gradient(24deg,transparent 49.8%,rgb(var(--sector-rgb) / .2) 50%,transparent 50.2%);background-size:auto,auto,auto,100% 100%; }
#expressvpn .sector-motif i:nth-child(1) { left:16%;top:23%;width:58%;height:1px;background:rgb(var(--sector-rgb) / .35);transform:rotate(8deg);transform-origin:left; }
#expressvpn .sector-motif i:nth-child(2) { left:48%;top:76%;width:33%;height:1px;background:rgb(var(--sector-rgb) / .25);transform:rotate(-58deg);transform-origin:left; }
#expressvpn .scene--express-metrics::before { background-image:linear-gradient(rgb(var(--sector-rgb) / .075) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--sector-rgb) / .075) 1px,transparent 1px); }
#expressvpn .scene--express-metrics::after { border-color:rgb(var(--sector-rgb) / .25);box-shadow:0 0 0 6vw rgb(var(--sector-rgb) / .03),0 0 0 12vw rgb(var(--sector-rgb) / .018); }
#expressvpn .sector-console__signal { align-items:center;gap:6px;background:linear-gradient(90deg,transparent 8%,rgb(var(--sector-rgb) / .48) 8% 92%,transparent 92%) center/100% 1px no-repeat; }
#expressvpn .sector-console__signal i { flex:0 0 7px;width:7px;height:7px;border-radius:50%;transform:scale(clamp(.35,var(--panel-in,1),1));box-shadow:0 0 0 3px rgb(var(--sector-rgb) / .14); }

/* Signature GT — speed, bodywork and motorsport telemetry. */
#signaturegt .sector-motif { background-image:repeating-linear-gradient(118deg,transparent 0 54px,rgb(var(--sector-rgb) / .12) 55px 57px,transparent 58px 102px); }
#signaturegt .sector-motif i:nth-child(1) { right:-8%;top:17%;width:55%;height:1px;background:var(--accent);transform:rotate(-8deg);box-shadow:0 18px rgb(var(--sector-rgb) / .55),0 36px rgb(var(--sector-rgb) / .28); }
#signaturegt .sector-motif i:nth-child(2) { left:5%;bottom:8%;width:180px;height:28px;background:repeating-conic-gradient(var(--accent) 0 25%,transparent 0 50%) 0/28px 28px; }
#signaturegt .signature-copy > div span:first-child { box-shadow:6px 6px 0 rgb(var(--sector-rgb) / .23); }
#signaturegt .sector-console__signal { transform:skewX(-14deg); }
#signaturegt .sector-console__signal i { width:7px; }

/* Crédit Agricole — print registration, format ratios and CMYK production. */
#credit-agricole .sector-motif { background-image:linear-gradient(90deg,rgb(var(--sector-rgb) / .08) 1px,transparent 1px),linear-gradient(rgb(var(--sector-rgb) / .08) 1px,transparent 1px);background-size:18px 100%,100% 18px; }
#credit-agricole .sector-motif i:nth-child(1) { right:7%;top:10%;width:96px;height:96px;border:1px solid rgb(var(--sector-rgb) / .5);border-radius:50%;box-shadow:inset 0 0 0 23px transparent,inset 0 0 0 24px rgb(var(--sector-rgb) / .34); }
#credit-agricole .sector-motif i:nth-child(2) { right:calc(7% + 47px);top:7%;width:1px;height:102px;background:rgb(var(--sector-rgb) / .36); }
#credit-agricole .sector-motif i:nth-child(3) { right:4%;top:calc(10% + 47px);width:102px;height:1px;background:rgb(var(--sector-rgb) / .36); }
#credit-agricole .format-card.is-active { box-shadow:12px 12px 0 var(--accent); }
#credit-agricole .sector-console__signal { display:grid;grid-template-columns:repeat(4,1fr);gap:3px;align-content:center; }
#credit-agricole .sector-console__signal i { width:auto;height:12px;transform:scaleX(clamp(.25,var(--panel-in,1),1)); }
#credit-agricole .sector-console__signal i:nth-child(n+5) { background:transparent;border:1px solid var(--accent); }

/* Holocorp — emissive blueprint, axes and scanning plane. */
#holocorp .sector-motif { background-image:linear-gradient(rgb(var(--sector-rgb) / .08) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--sector-rgb) / .08) 1px,transparent 1px);background-size:24px 24px;filter:drop-shadow(0 0 7px rgb(var(--sector-rgb) / .22)); }
#holocorp .sector-motif i:nth-child(1) { left:50%;top:12%;width:1px;height:72%;background:rgb(var(--sector-rgb) / .38); }
#holocorp .sector-motif i:nth-child(2) { left:17%;top:50%;width:68%;height:1px;background:rgb(var(--sector-rgb) / .3); }
#holocorp .sector-motif i:nth-child(3) { right:9%;top:13%;width:23vw;aspect-ratio:1;border:1px solid rgb(var(--sector-rgb) / .34);border-radius:50%;box-shadow:inset 0 0 0 4vw transparent,inset 0 0 0 calc(4vw + 1px) rgb(var(--sector-rgb) / .2); }
#holocorp .scene--holo-system { background:linear-gradient(135deg,var(--paper-soft),color-mix(in srgb,var(--paper-soft) 90%,var(--accent))); }

/* Koloro — pixel cells, world tiles and level progression. */
#koloro .sector-motif { image-rendering:pixelated;background-image:linear-gradient(90deg,rgb(var(--sector-rgb) / .08) 1px,transparent 1px),linear-gradient(rgb(var(--sector-rgb) / .08) 1px,transparent 1px);background-size:32px 32px; }
#koloro .sector-motif i { width:32px;height:32px;background:rgb(var(--sector-rgb) / .34);box-shadow:32px 32px rgb(var(--sector-rgb) / .18),64px 0 rgb(var(--sector-rgb) / .24); }
#koloro .sector-motif i:nth-child(1) { left:8%;top:16%; }#koloro .sector-motif i:nth-child(2) { right:15%;bottom:19%;transform:scale(1.4); }#koloro .sector-motif i:nth-child(3) { right:36%;top:12%;transform:scale(.65); }
#koloro .pixel-map { color:var(--accent);filter:drop-shadow(0 0 10px rgb(var(--sector-rgb) / .2)); }
#koloro .sector-console__signal { align-items:flex-end;gap:2px; }
#koloro .sector-console__signal i { width:8px;clip-path:none;transform:scaleY(clamp(.2,var(--panel-in,1),1)); }

@media(max-width:820px) {
  .sector-console { display:none; }
  .scene--project-intro { padding-top:188px!important; }
  .project-dna { top:72px;left:var(--pad);right:var(--pad);width:auto;grid-template-columns:minmax(0,1fr) 58px;gap:8px;padding:8px; }
  .project-dna__heading { border-right:0;padding-right:4px; }
  .project-dna__heading strong { font-size:.82rem; }
  .project-dna__skills { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px; }
  .project-dna__skills li { flex:1 1 calc(50% - 3px);font-size:.48rem; }
  .project-dna__glyph { grid-column:2;grid-row:1;width:52px;height:52px;justify-self:end;transform:scale(.8);transform-origin:center; }
  .sector-motif::before { display:none; }
  .sector-motif::after { right:-2%;font-size:8rem; }
  .timeline-item.active::after { right:-1px;height:22px; }
  #green-squat .sector-motif { background-position:center; }
  #signaturegt .sector-motif i:nth-child(2) { display:none; }
}

@media(prefers-reduced-motion:reduce) {
  .project-gate { display:none!important; }
  .project-dna,.project-dna__glyph,.project-dna__glyph i { transform:none!important;transition:none!important; }
  .sector-motif { transform:none;transition:none; }
  .motion-pin.is-pinned .motion-stage::after { display:none; }
}
