:root{
  --bg:#050706;--bg2:#080b0a;--panel:#0b0f0e;--panel2:#0e1311;
  --text:#f2f5f4;--muted:#8e9a96;--dim:#5e6966;--accent:#11decb;
  --line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.07);
  --shell:min(1440px,calc(100% - 96px));--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;overflow-x:hidden}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--shell);margin-inline:auto}.section-pad{padding:132px 0}.hp{position:absolute;left:-10000px}.page-progress{position:fixed;z-index:1000;top:0;left:0;right:0;height:2px;background:transparent}.page-progress span{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 14px rgba(17,222,203,.8)}

/* header */
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:104px;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}.site-header.scrolled{background:rgba(5,7,6,.88);border-color:var(--line-soft);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:flex;align-items:center;flex:0 0 auto;width:138px;height:94px;overflow:visible;padding:4px 0}.brand img{width:100%;height:100%;object-fit:contain;object-position:left center;overflow:visible}.main-nav{display:flex;align-items:center;gap:30px;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase}.main-nav>a{color:#b8c0bd;transition:color .2s}.main-nav>a:hover{color:#fff}.main-nav .hub-link{margin-left:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;display:flex;gap:8px;align-items:center}.hub-link span{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(17,222,203,.8)}.nav-toggle{display:none;background:none;border:0;color:#fff;width:40px;height:40px;padding:8px;position:relative}.nav-toggle span{position:absolute;left:8px;right:8px;height:1px;background:#fff}.nav-toggle span:first-child{top:15px}.nav-toggle span:last-child{bottom:15px}

/* hero */
.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;border-bottom:1px solid var(--line-soft)}.hero-image{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.78) contrast(1.06) brightness(.67)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,5,.94) 0%,rgba(4,6,5,.76) 38%,rgba(4,6,5,.24) 69%,rgba(4,6,5,.56) 100%),linear-gradient(0deg,rgba(4,6,5,.92) 0%,transparent 45%,rgba(4,6,5,.42) 100%)}.hero-wash{position:absolute;inset:0;pointer-events:none;--mx:72%;--my:36%;background:radial-gradient(circle 32vw at var(--mx) var(--my),rgba(17,222,203,.15),rgba(17,222,203,.035) 31%,transparent 68%);mix-blend-mode:screen;transition:background .08s linear}.hero-grid-overlay{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 0,#000 25%,#000 100%)}.hero-inner{position:relative;z-index:2;padding-top:160px;padding-bottom:148px;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,520px);gap:80px;align-items:end}.eyebrow,.section-index{font:10px/1.2 var(--mono);letter-spacing:.17em;color:#a4afab;text-transform:uppercase;margin:0 0 24px}.eyebrow{display:flex;align-items:center;gap:10px;color:#d3dad7}.eyebrow span{width:28px;height:1px;background:var(--accent);box-shadow:0 0 10px var(--accent)}.hero h1{font-size:clamp(68px,8.2vw,146px);line-height:.83;letter-spacing:-.075em;margin:0;max-width:980px;font-weight:650}.hero h1 em{font-style:normal;color:var(--accent);font-weight:480}.hero-lead{max-width:700px;margin:30px 0 0;color:#bcc5c2;font-size:clamp(16px,1.25vw,20px);line-height:1.55}.hero-actions{display:flex;gap:12px;margin-top:38px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:0 22px;border:1px solid var(--line);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(7,10,9,.44);transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}.button.primary{background:var(--accent);color:#04100e;border-color:var(--accent);font-weight:800}.button.primary:hover{background:#3ae9d8}.button.ghost{backdrop-filter:blur(8px)}.hero-timecode{align-self:end;background:rgba(5,8,7,.58);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);padding:18px 20px 16px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.tc-head,.tc-meta{display:flex;justify-content:space-between;gap:12px;font:9px var(--mono);letter-spacing:.12em;color:#82908b;text-transform:uppercase}.tc-live{display:flex;align-items:center;gap:7px;color:#cbd4d1}.tc-live i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.9);animation:pulse 1.4s infinite}.tc-digits{font:clamp(42px,4vw,72px)/1 var(--mono);letter-spacing:-.07em;color:#fff;margin:18px 0 16px;white-space:nowrap}.tc-meta{padding-top:12px;border-top:1px solid var(--line-soft)}.hero-rail{position:absolute;z-index:2;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;font:8px var(--mono);letter-spacing:.16em;color:#7b8783}.hero-rail i{height:1px;flex:1;max-width:110px;min-width:40px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.12))}@keyframes pulse{50%{opacity:.35}}

/* generic */
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:80px;align-items:end;margin-bottom:64px}.section-head h2,.intro-copy h2,.services-copy h2,.about-copy h2,.hub-copy h2,.contact-copy h2{font-size:clamp(50px,5.6vw,92px);line-height:.92;letter-spacing:-.06em;margin:0;font-weight:610}.section-head h2 em,.intro-copy h2 em,.services-copy h2 em,.about-copy h2 em,.hub-copy h2 em,.contact-copy h2 em{font-style:normal;color:var(--accent);font-weight:450}.section-head>p,.services-copy>p,.hub-copy>p,.contact-copy>p{color:var(--muted);font-size:16px;line-height:1.65;margin:0;max-width:540px}.intro{background:#070a09}.intro-grid{display:grid;grid-template-columns:240px 1fr;gap:70px}.intro-copy{max-width:1120px}.intro-copy p{color:var(--muted);font-size:18px;line-height:1.75;max-width:830px;margin:34px 0 0}

/* dramaturgy */
.show-system{background:linear-gradient(180deg,#050706,#070a09)}.dramaturgy{border:1px solid var(--line);background:#080b0a;box-shadow:0 30px 100px rgba(0,0,0,.25)}.dramaturgy-topbar{height:54px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;font:9px var(--mono);letter-spacing:.1em;color:#65716d}.dramaturgy-topbar>div{display:flex;align-items:center;gap:15px}.dramaturgy-topbar>div:nth-child(2){justify-self:center}.dramaturgy-topbar>div:last-child{justify-self:end}.dramaturgy-topbar b{color:#cbd3d0;font-size:9px}.dramaturgy-tc b{font-size:12px;color:var(--accent)}.dramaturgy-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);min-height:620px}.timeline-board{padding:28px;border-right:1px solid var(--line)}.energy-chart{height:390px;position:relative;border:1px solid var(--line-soft);overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:100% 25%,10% 100%}.energy-chart svg{position:absolute;inset:0;width:100%;height:100%}.energy-area{fill:url(#energyFill)}.energy-line{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(17,222,203,.35))}.playhead{position:absolute;top:0;bottom:0;left:0;width:1px;background:rgba(255,255,255,.5);box-shadow:0 0 18px rgba(255,255,255,.18);pointer-events:none}.playhead:before{content:"";position:absolute;top:0;left:-3px;width:7px;height:7px;background:#fff}.playhead span{position:absolute;top:11px;left:7px;font:8px var(--mono);letter-spacing:.08em;color:#fff}.cue-point{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:none;color:#8d9995;cursor:pointer;padding:26px 12px 8px;text-align:left;font:8px var(--mono);letter-spacing:.09em;transition:color .2s}.cue-point i{position:absolute;width:8px;height:8px;border:1px solid var(--accent);background:#07100e;left:50%;top:14px;transform:translate(-50%,-50%) rotate(45deg);transition:background .2s,box-shadow .2s}.cue-point span{display:block;color:#65716d;margin-bottom:2px}.cue-point b{font-size:8px}.cue-point.active,.cue-point:hover{color:#fff}.cue-point.active i{background:var(--accent);box-shadow:0 0 15px rgba(17,222,203,.8)}.track-stack{margin-top:24px;border-top:1px solid var(--line-soft)}.track-row{display:grid;grid-template-columns:72px 1fr;min-height:45px;border-bottom:1px solid var(--line-soft);align-items:center}.track-row>span{font:8px var(--mono);letter-spacing:.11em;color:#707c78}.track-grid{height:18px;position:relative;background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:10% 100%}.track-grid i{position:absolute;left:var(--l);top:4px;height:10px;width:var(--w);background:rgba(17,222,203,.19);border-left:1px solid var(--accent);border-right:1px solid rgba(17,222,203,.28)}.stage-monitor{position:relative;overflow:hidden;background:#050807;min-height:620px}.monitor-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:48px 48px;transform:perspective(700px) rotateX(62deg) scale(1.6);transform-origin:50% 75%;opacity:.5}.monitor-horizon{position:absolute;left:8%;right:8%;top:56%;height:1px;background:rgba(255,255,255,.14)}.monitor-stage{position:absolute;left:16%;right:16%;bottom:20%;height:11%;border:1px solid rgba(255,255,255,.22);transform:perspective(500px) rotateX(58deg);background:rgba(255,255,255,.025)}.monitor-stage span{position:absolute;left:22%;right:22%;top:20%;bottom:18%;border:1px solid rgba(17,222,203,.28)}.monitor-screen{position:absolute;left:27%;right:27%;top:33%;height:22%;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(17,222,203,.15),rgba(255,255,255,.02));box-shadow:0 0 40px rgba(17,222,203,.04)}.monitor-beam{position:absolute;top:4%;left:50%;width:22%;height:65%;transform-origin:50% 0;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(17,222,203,.4),rgba(17,222,203,.07) 65%,transparent);filter:blur(.2px);opacity:.2;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s,width .55s}.stage-monitor.cue-0 .b1{transform:translateX(-75%) rotate(-13deg);opacity:.36}.stage-monitor.cue-0 .b2{transform:translateX(-25%) rotate(7deg);opacity:.18}.stage-monitor.cue-1 .b1{transform:translateX(-105%) rotate(-21deg);opacity:.42}.stage-monitor.cue-1 .b2{transform:translateX(-65%) rotate(-8deg);opacity:.34}.stage-monitor.cue-1 .b3{transform:translateX(-20%) rotate(8deg);opacity:.31}.stage-monitor.cue-1 .b4{transform:translateX(18%) rotate(20deg);opacity:.25}.stage-monitor.cue-2 .monitor-screen{background:rgba(255,255,255,.2);box-shadow:0 0 70px rgba(255,255,255,.2)}.stage-monitor.cue-2 .monitor-beam{opacity:.62;width:28%}.stage-monitor.cue-2 .b1{transform:translateX(-130%) rotate(-29deg)}.stage-monitor.cue-2 .b2{transform:translateX(-90%) rotate(-17deg)}.stage-monitor.cue-2 .b3{transform:translateX(-55%) rotate(-6deg)}.stage-monitor.cue-2 .b4{transform:translateX(-20%) rotate(7deg)}.stage-monitor.cue-2 .b5{transform:translateX(20%) rotate(21deg)}.stage-monitor.cue-3 .b1{transform:translateX(-55%) rotate(-3deg);opacity:.15}.stage-monitor.cue-3 .b2{transform:translateX(-20%) rotate(4deg);opacity:.18}.stage-monitor.cue-4 .monitor-beam{opacity:.72;width:31%}.stage-monitor.cue-4 .b1{transform:translateX(-140%) rotate(-32deg)}.stage-monitor.cue-4 .b2{transform:translateX(-105%) rotate(-21deg)}.stage-monitor.cue-4 .b3{transform:translateX(-70%) rotate(-10deg)}.stage-monitor.cue-4 .b4{transform:translateX(-34%) rotate(1deg)}.stage-monitor.cue-4 .b5{transform:translateX(4%) rotate(12deg)}.stage-monitor.cue-4 .b6{transform:translateX(40%) rotate(24deg)}.stage-monitor.cue-4 .b7{transform:translateX(68%) rotate(34deg)}.monitor-info{position:absolute;left:24px;bottom:24px;right:92px}.monitor-info small{font:8px var(--mono);letter-spacing:.12em;color:var(--accent)}.monitor-info strong{display:block;font-size:36px;letter-spacing:-.04em;margin:7px 0}.monitor-info p{font-size:12px;line-height:1.45;color:#7f8b87;margin:0;max-width:330px}.monitor-meter{position:absolute;right:22px;top:22px;bottom:22px;width:34px;border:1px solid var(--line-soft);display:flex;align-items:flex-end;justify-content:center}.monitor-meter span{position:absolute;left:5px;right:5px;bottom:5px;height:var(--level);background:linear-gradient(180deg,var(--accent),rgba(17,222,203,.12));transition:height .45s}.monitor-meter small{position:absolute;writing-mode:vertical-rl;transform:rotate(180deg);top:12px;font:7px var(--mono);letter-spacing:.12em;color:#77837f}

/* process */
.process{background:#070a09}.process-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.process-card{position:relative;min-height:620px;border:1px solid var(--line);background:#090c0b;padding:22px;display:flex;flex-direction:column;overflow:hidden;transition:flex .35s,background .25s,border-color .25s,transform .25s;outline:none}.process-card:hover,.process-card:focus{background:#0b100e;border-color:rgba(17,222,203,.3);transform:translateY(-4px)}.process-no{font:9px var(--mono);color:#64706c;letter-spacing:.1em}.process-title{margin-top:28px}.process-title span{display:block;font-size:28px;font-weight:650;letter-spacing:-.04em}.process-title b{display:block;margin-top:5px;font:8px var(--mono);font-weight:400;color:#70807a;letter-spacing:.1em;text-transform:uppercase}.process-card>p{margin:auto 0 0;color:#85918d;font-size:13px;line-height:1.6}.process-visual{position:relative;height:305px;margin:34px -5px 30px;border:1px solid var(--line-soft);overflow:hidden;background:#050807}.concept-visual{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}.c-stage{position:absolute;left:18%;right:18%;top:25%;bottom:22%;border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 0 0 28px rgba(255,255,255,.015)}.c-line{position:absolute;height:1px;background:var(--accent);transform-origin:left center}.c-line.l1{left:24%;top:34%;width:58%;transform:rotate(27deg)}.c-line.l2{left:28%;top:65%;width:52%;transform:rotate(-23deg)}.c-line.l3{left:51%;top:20%;width:46%;transform:rotate(90deg)}.c-dim{position:absolute;font:7px var(--mono);letter-spacing:.1em;color:#7e8a86}.c-dim.x{left:37%;bottom:7%}.c-dim.y{right:5%;top:47%;transform:rotate(90deg)}.previz-visual{perspective:600px}.pv-floor{position:absolute;left:-10%;right:-10%;bottom:-26%;height:75%;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:36px 36px;transform:rotateX(58deg)}.pv-screen{position:absolute;left:27%;right:27%;top:31%;height:27%;border:1px solid rgba(255,255,255,.3);background:rgba(17,222,203,.05)}.pv-beam{position:absolute;top:1%;left:50%;width:25%;height:78%;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(17,222,203,.38),transparent);transform-origin:50% 0}.pv-beam.p1{transform:translateX(-104%) rotate(-20deg)}.pv-beam.p2{transform:translateX(-72%) rotate(-9deg);opacity:.7}.pv-beam.p3{transform:translateX(-43%) rotate(0);opacity:.45}.pv-beam.p4{transform:translateX(-13%) rotate(10deg);opacity:.7}.pv-beam.p5{transform:translateX(18%) rotate(21deg)}.program-visual{font-family:var(--mono);padding:12px}.pg-head,.pg-row{display:grid;grid-template-columns:44px 1fr 92px;gap:8px;align-items:center}.pg-head{font-size:7px;color:#5d6a66;height:26px;border-bottom:1px solid var(--line-soft)}.pg-row{height:42px;border-bottom:1px solid var(--line-soft);font-size:8px;color:#85918d}.pg-row b{color:#b9c2bf;letter-spacing:.08em}.pg-row em{font-style:normal;color:#65716d}.pg-row.active{background:rgba(17,222,203,.08);color:#fff}.pg-row.active b,.pg-row.active em{color:#fff}.pg-tracks{position:absolute;left:12px;right:12px;bottom:18px;height:96px;border-top:1px solid var(--line-soft);background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20% 100%;padding-top:12px}.pg-tracks span{display:block;height:12px;width:var(--w);margin:8px 0;background:rgba(17,222,203,.2);border-left:1px solid var(--accent)}.live-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.live-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,5,.86),transparent 60%)}.live-visual>div{position:absolute;z-index:2;left:14px;bottom:14px}.live-visual span,.live-visual em{display:block;font:7px var(--mono);letter-spacing:.1em;color:#8b9893}.live-visual b{display:block;font-size:24px;margin:3px 0;color:#fff}

/* work */
.work{background:#050706}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.portfolio-card{position:relative;grid-column:span 4;min-height:430px;border:0;padding:0;background:#090c0b;color:#fff;text-align:left;overflow:hidden;cursor:pointer}.portfolio-card.feature{grid-column:span 8;min-height:560px}.portfolio-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.portfolio-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,5,4,.9) 100%),linear-gradient(90deg,rgba(3,5,4,.2),transparent)}.portfolio-card:hover img{transform:scale(1.035);filter:saturate(.9) contrast(1.05)}.portfolio-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.portfolio-copy small{font:8px var(--mono);letter-spacing:.11em;color:#95a19d}.portfolio-copy h3{font-size:clamp(32px,3vw,54px);letter-spacing:-.05em;line-height:.95;margin:10px 0 3px}.portfolio-copy p{margin:0;color:#b8c0bd;font-size:13px}.portfolio-copy em{display:block;margin-top:18px;font:8px var(--mono);font-style:normal;letter-spacing:.12em;color:var(--accent)}

/* services */
.services{background:#070a09}.services-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:120px}.services-copy{position:sticky;top:142px;align-self:start}.services-copy>p{margin-top:28px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:28px 0;border-bottom:1px solid var(--line);transition:padding-left .25s}.service-list article:hover{padding-left:10px}.service-list>article>span{font:8px var(--mono);color:#687570;padding-top:7px}.service-list h3{font-size:27px;letter-spacing:-.03em;margin:0}.service-list p{font-size:13px;line-height:1.6;color:#85918d;margin:7px 0 0;max-width:650px}.system-strip{margin-top:94px;padding:18px 0;border-block:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden;font:8px var(--mono);letter-spacing:.12em;color:#697570;white-space:nowrap}.system-strip i{width:5px;height:5px;border:1px solid var(--accent);transform:rotate(45deg);flex:0 0 auto}

/* about / hub / contact */
.about{background:#050706}.about-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:100px;align-items:center}.about-image{position:relative;min-height:680px;overflow:hidden}.about-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.08)}.about-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}.image-code{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;padding:12px 14px;background:rgba(4,7,6,.76);backdrop-filter:blur(10px);border:1px solid var(--line-soft);display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.1em;color:#8e9996}.image-code b{color:#fff}.about-copy>p:not(.section-index){font-size:15px;color:#8e9a96;line-height:1.75;margin:28px 0 0}.about-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:42px;border:1px solid var(--line)}.about-meta span{background:#070a09;padding:15px}.about-meta small{display:block;font:7px var(--mono);letter-spacing:.11em;color:#5f6b67}.about-meta b{display:block;margin-top:5px;font-size:11px;color:#c6cecb}.hub-section{background:#070a09}.hub-panel{display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);min-height:420px}.hub-copy{padding:58px}.hub-copy>p{margin-top:24px}.hub-access{position:relative;border-left:1px solid var(--line);padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(17,222,203,.08),transparent 48%);overflow:hidden}.hub-access:before{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(17,222,203,.14);border-radius:50%;right:-170px;top:-150px;box-shadow:0 0 0 48px rgba(17,222,203,.025),0 0 0 96px rgba(17,222,203,.018)}.hub-status{display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:.12em;color:#86938f}.hub-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.8)}.hub-access strong{font-size:35px;letter-spacing:-.04em;line-height:1.05;position:relative}.hub-arrow{font:8px var(--mono);letter-spacing:.12em;color:var(--accent);position:relative}.contact{background:#050706}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:120px}.contact-copy>p{margin-top:24px}.mail-link{display:inline-flex;margin-top:34px;padding-bottom:5px;border-bottom:1px solid rgba(17,222,203,.5);font:11px var(--mono);letter-spacing:.04em;color:var(--accent)}.contact-form{border-top:1px solid var(--line);padding-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;padding:20px 0 10px;border-bottom:1px solid var(--line);font:8px var(--mono);letter-spacing:.1em;color:#6e7a76;text-transform:uppercase}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;outline:0;background:transparent;color:#fff;padding:10px 0 6px;font:15px var(--sans);resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#3e4945}.contact-form .button{margin-top:26px;cursor:pointer}

/* footer */
.site-footer{border-top:1px solid var(--line);background:#040605;padding:46px 0}.footer-grid{display:grid;grid-template-columns:150px 1fr auto auto;gap:40px;align-items:center}.footer-grid>img{width:120px;height:82px;object-fit:contain;object-position:left center}.footer-grid>div:nth-child(2) span{font:8px var(--mono);letter-spacing:.11em;color:#7c8984}.footer-grid>div:nth-child(2) p{font-size:11px;color:#5f6966;margin:6px 0 0}.footer-grid nav{display:flex;gap:18px;font:8px var(--mono);letter-spacing:.08em;color:#707c78}.footer-tc{text-align:right}.footer-tc small{display:block;font:7px var(--mono);letter-spacing:.1em;color:#56615d}.footer-tc b{display:block;font:13px var(--mono);color:var(--accent);margin-top:5px}

/* modal */
.project-modal{width:min(1180px,calc(100% - 36px));max-height:min(86vh,820px);padding:0;border:1px solid var(--line);background:#080b0a;color:#fff;box-shadow:0 35px 110px rgba(0,0,0,.7)}.project-modal::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}.modal-close{position:absolute;z-index:4;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(5,8,7,.7);color:#fff;font-size:25px;cursor:pointer}.modal-inner{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px}.modal-image{position:relative;min-height:520px;background:#030504}.modal-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.modal-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 64%,rgba(8,11,10,.44))}.modal-info{padding:58px 44px;overflow:auto}.modal-info .section-index{margin-bottom:18px}.modal-info h3{font-size:52px;line-height:.94;letter-spacing:-.05em;margin:0}.modal-info h4{font-size:20px;color:var(--accent);margin:8px 0 26px}.modal-data{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-block:1px solid var(--line);padding:18px 0;margin:26px 0}.modal-data span{display:flex;flex-direction:column;gap:5px}.modal-data small{font:7px var(--mono);letter-spacing:.11em;color:#65716d}.modal-data b{font-size:11px}.modal-info p{color:#8c9894;line-height:1.7}.modal-tags{margin-top:24px;font:9px/1.8 var(--mono);letter-spacing:.05em;color:#9aa5a1}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.09s}

@media(max-width:1180px){:root{--shell:min(100% - 56px,1440px)}.hero-inner{grid-template-columns:1fr 390px;gap:42px}.dramaturgy-body{grid-template-columns:1.2fr .8fr}.process-cards{grid-template-columns:repeat(2,1fr)}.process-card{min-height:560px}.services-grid{gap:70px}.about-grid{gap:60px}.contact-grid{gap:70px}}
@media(max-width:860px){:root{--shell:calc(100% - 36px)}.section-pad{padding:98px 0}.site-header{height:92px}.brand{width:124px;height:86px}.nav-toggle{display:block;z-index:4}.main-nav{position:fixed;z-index:3;inset:0 0 auto;background:rgba(5,7,6,.98);padding:108px 18px 28px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateY(-104%);transition:transform .3s;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.main-nav.open{transform:none}.main-nav>a{padding:15px 4px;border-bottom:1px solid var(--line-soft);font-size:11px}.main-nav .hub-link{margin:15px 0 0;border:1px solid var(--line);justify-content:center}.hero-inner{grid-template-columns:1fr;padding-top:150px;padding-bottom:150px}.hero-timecode{max-width:520px}.hero h1{font-size:clamp(63px,15vw,104px)}.hero-rail{gap:8px}.intro-grid{grid-template-columns:1fr;gap:18px}.section-head{grid-template-columns:1fr;gap:28px}.dramaturgy-body{grid-template-columns:1fr}.timeline-board{border-right:0;border-bottom:1px solid var(--line)}.stage-monitor{min-height:520px}.process-cards{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr;gap:50px}.services-copy{position:static}.about-grid{grid-template-columns:1fr}.about-image{min-height:600px}.hub-panel{grid-template-columns:1fr}.hub-access{border-left:0;border-top:1px solid var(--line);min-height:290px}.contact-grid{grid-template-columns:1fr;gap:60px}.footer-grid{grid-template-columns:120px 1fr}.footer-grid nav,.footer-tc{justify-self:start;text-align:left}}
@media(max-width:580px){:root{--shell:calc(100% - 28px)}.section-pad{padding:78px 0}.site-header{height:84px}.brand{width:112px;height:78px}.hero{min-height:96svh}.hero-inner{padding-top:120px;padding-bottom:120px}.hero h1{font-size:clamp(54px,16.5vw,82px)}.hero-lead{font-size:15px}.hero-actions{flex-direction:column}.button{width:100%}.hero-timecode{padding:14px}.tc-digits{font-size:clamp(34px,10vw,48px)}.tc-meta{font-size:7px}.hero-rail{bottom:18px;font-size:7px;white-space:nowrap;overflow:hidden}.hero-rail i{min-width:16px}.intro-copy h2,.section-head h2,.services-copy h2,.about-copy h2,.hub-copy h2,.contact-copy h2{font-size:46px}.intro-copy p{font-size:16px}.dramaturgy-topbar{grid-template-columns:1fr auto}.dramaturgy-topbar>div:last-child{display:none}.timeline-board{padding:14px}.energy-chart{height:300px}.cue-point{padding-inline:2px}.cue-point span{display:none}.cue-point b{font-size:7px}.track-row{grid-template-columns:54px 1fr}.stage-monitor{min-height:450px}.monitor-info strong{font-size:30px}.process-cards{grid-template-columns:1fr}.process-card{min-height:520px}.portfolio-grid{display:block}.portfolio-card,.portfolio-card.feature{width:100%;min-height:430px;margin-bottom:12px}.portfolio-copy h3{font-size:38px}.about-image{min-height:500px}.about-meta{grid-template-columns:1fr}.hub-copy{padding:32px 24px}.hub-access{padding:26px 24px}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-grid>img{width:110px}.modal-inner{display:block}.modal-image{height:300px;min-height:0}.modal-info{padding:32px 24px}.modal-info h3{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.tc-live i{animation:none}.portfolio-card img,.button,.process-card,.monitor-beam{transition:none}}

/* v4.1 process engine + technical dock */
.show-system{background:linear-gradient(180deg,#070a09 0%,#050706 100%)}
.engine-panel{margin-top:34px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008));overflow:hidden}
.engine-topbar{display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);font:8px var(--mono);letter-spacing:.11em;color:#72807b}
.engine-topbar span{display:block;color:#5d6965;margin-bottom:4px}.engine-topbar b{display:block;color:#dbe4e1;font-size:9px;letter-spacing:.12em}.engine-tc b{color:var(--accent)}
.engine-body{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}
.engine-steps{padding:20px;border-right:1px solid var(--line);display:grid;gap:10px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.004))}
.phase-step{display:grid;grid-template-columns:44px 1fr;grid-template-areas:'no title' 'no text';gap:5px 18px;padding:16px 14px;border:1px solid transparent;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:.25s}
.phase-step small{grid-area:no;font:8px var(--mono);letter-spacing:.11em;color:#6c7874;padding-top:5px}.phase-step strong{grid-area:title;font-size:20px;letter-spacing:-.03em}.phase-step span{grid-area:text;color:#84908c;font-size:12px;line-height:1.55;max-width:42ch}.phase-step:hover,.phase-step.active{background:rgba(17,222,203,.06);border-color:rgba(17,222,203,.18)}.phase-step.active strong{color:var(--accent)}
.engine-stage{position:relative;min-height:620px;overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(17,222,203,.09),transparent 36%),linear-gradient(180deg,#090d0c,#050706)}
.engine-grid,.engine-wire,.engine-rig,.engine-screen,.engine-floor,.engine-plan,.engine-beam,.engine-cuelines,.engine-live,.engine-hud,.engine-meter{position:absolute}
.engine-grid{inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;opacity:.18}
.engine-floor{left:10%;right:10%;bottom:78px;height:112px;border:1px solid rgba(255,255,255,.08);transform:perspective(680px) rotateX(72deg);transform-origin:bottom;background:linear-gradient(180deg,rgba(17,222,203,.06),rgba(17,222,203,0));opacity:.6}
.engine-wire{height:1px;background:rgba(17,222,203,.6);box-shadow:0 0 16px rgba(17,222,203,.15)}.wire-a{left:13%;right:13%;top:24%}.wire-b{left:18%;right:20%;top:36%;transform:rotate(-8deg)}.wire-c{left:23%;right:24%;top:48%;transform:rotate(6deg)}
.engine-rig{left:15%;right:15%;top:20%;height:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
.engine-screen{left:34%;width:32%;top:25%;height:20%;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(17,222,203,.09),rgba(17,222,203,.02))}
.engine-plan{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);opacity:0;transition:opacity .3s}.plan-a{left:12%;top:14%;width:15%;height:12%}.plan-b{right:12%;top:17%;width:18%;height:14%}.plan-c{left:18%;bottom:18%;width:21%;height:12%}
.engine-beam{width:18%;height:58%;top:22%;transform-origin:top center;opacity:0;filter:blur(.2px);background:linear-gradient(180deg,rgba(17,222,203,.6),rgba(17,222,203,.18) 42%,rgba(17,222,203,0) 100%);clip-path:polygon(49% 0,51% 0,100% 100%,0 100%);transition:opacity .35s, transform .35s}.e1{left:7%;transform:rotate(-28deg)}.e2{left:18%;transform:rotate(-18deg)}.e3{left:29%;transform:rotate(-10deg)}.e4{left:40%;transform:rotate(-3deg)}.e5{left:51%;transform:rotate(3deg)}.e6{left:62%;transform:rotate(10deg)}.e7{left:73%;transform:rotate(18deg)}.e8{left:84%;transform:rotate(28deg)}
.engine-cuelines{left:8%;right:8%;bottom:46px;height:68px;display:grid;gap:8px;opacity:0;transition:opacity .3s}.engine-cuelines i{display:block;height:9px;border:1px solid rgba(17,222,203,.16);background:linear-gradient(90deg,rgba(17,222,203,.14) 0 16%,transparent 16% 24%,rgba(17,222,203,.10) 24% 45%,transparent 45% 61%,rgba(17,222,203,.18) 61% 93%,transparent 93%)}
.engine-live{inset:0;opacity:0;transition:opacity .35s}.engine-live img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.06) brightness(.82)}.engine-live:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,6,.28),rgba(5,7,6,.5))}
.engine-hud{left:24px;bottom:26px;z-index:2;max-width:470px;padding:18px 20px;background:rgba(5,7,6,.7);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1)}.engine-hud small{display:block;font:8px var(--mono);letter-spacing:.12em;color:#70807a}.engine-hud strong{display:block;margin-top:10px;font-size:36px;letter-spacing:-.04em}.engine-hud p{margin:10px 0 0;color:#8d9995;font-size:14px;line-height:1.6}
.engine-meter{right:22px;bottom:22px;width:64px;height:200px;padding:10px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:flex-end;gap:10px;background:rgba(5,7,6,.66);backdrop-filter:blur(12px);z-index:2}.engine-meter span{display:block;height:100%;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(17,222,203,.9),rgba(17,222,203,.16));transform-origin:bottom;transform:scaleY(calc(var(--level,25)/100))}.engine-meter small{font:8px var(--mono);letter-spacing:.11em;color:#6d7974;text-align:center}
.engine-stage.phase-0 .engine-wire,.engine-stage.phase-0 .engine-screen{opacity:1}
.engine-stage.phase-1 .engine-wire,.engine-stage.phase-1 .engine-screen,.engine-stage.phase-1 .engine-beam{opacity:1}
.engine-stage.phase-2 .engine-wire,.engine-stage.phase-2 .engine-screen,.engine-stage.phase-2 .engine-plan{opacity:1}
.engine-stage.phase-3 .engine-wire,.engine-stage.phase-3 .engine-screen,.engine-stage.phase-3 .engine-beam,.engine-stage.phase-3 .engine-cuelines,.engine-stage.phase-3 .engine-plan{opacity:1}
.engine-stage.phase-4 .engine-live,.engine-stage.phase-4 .engine-beam,.engine-stage.phase-4 .engine-cuelines{opacity:1}.engine-stage.phase-4 .engine-grid{opacity:.1}
.engine-readout{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.engine-readout span{padding:16px 20px;background:#070a09}.engine-readout small{display:block;font:7px var(--mono);letter-spacing:.11em;color:#66736f}.engine-readout b{display:block;margin-top:7px;color:#d7dfdc;font-size:11px}
.engine-techstrip{display:flex;align-items:center;gap:14px;padding:16px 20px;border-top:1px solid var(--line);overflow:hidden;white-space:nowrap;font:8px var(--mono);letter-spacing:.11em;color:#6d7a76}.engine-techstrip i{width:4px;height:4px;border:1px solid var(--accent);transform:rotate(45deg);flex:0 0 auto}
.process-five{grid-template-columns:repeat(5,1fr)}
.planning-visual{position:relative;overflow:hidden}.pl-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:26px 26px;opacity:.34}.pl-sheet{position:absolute;inset:14% 12%;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}.pl-box{position:absolute;border:1px solid rgba(17,222,203,.3);background:rgba(17,222,203,.06)}.pl-box.a{left:18%;top:20%;width:18%;height:15%}.pl-box.b{right:18%;top:28%;width:22%;height:16%}.pl-box.c{left:34%;bottom:22%;width:26%;height:17%}.pl-route{position:absolute;height:1px;background:rgba(17,222,203,.7);transform-origin:left center;box-shadow:0 0 14px rgba(17,222,203,.14)}.pl-route.r1{left:34%;top:27%;width:36%;transform:rotate(12deg)}.pl-route.r2{left:32%;top:58%;width:29%;transform:rotate(-18deg)}.pl-route.r3{left:26%;top:46%;width:20%;transform:rotate(31deg)}.pl-label{position:absolute;font:8px var(--mono);letter-spacing:.11em;color:var(--accent)}.pl-label.l1{left:22%;bottom:12%}.pl-label.l2{right:16%;bottom:18%}
.tech-dock{position:fixed;z-index:20;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(6,8,7,.78);backdrop-filter:blur(16px);box-shadow:0 16px 40px rgba(0,0,0,.26)}.tech-dock span{display:flex;flex-direction:column;gap:4px;min-width:92px}.tech-dock small{font:7px var(--mono);letter-spacing:.11em;color:#687470}.tech-dock b{font:11px var(--mono);color:#fff}.tech-dock i{width:1px;height:26px;background:rgba(255,255,255,.1)}
@media(max-width:1180px){.engine-body{grid-template-columns:1fr}.engine-steps{border-right:0;border-bottom:1px solid var(--line)}.process-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.engine-topbar{grid-template-columns:1fr auto}.engine-topbar>div:last-child{grid-column:1/-1}.engine-stage{min-height:540px}.engine-readout{grid-template-columns:1fr 1fr}.process-five{grid-template-columns:repeat(2,1fr)}.tech-dock{left:14px;right:14px;transform:none;gap:10px;justify-content:space-between}.tech-dock span{min-width:0;flex:1}.tech-dock b{font-size:10px}}
@media(max-width:580px){.engine-topbar{padding:14px 16px}.engine-steps{padding:14px}.phase-step{grid-template-columns:36px 1fr;padding:14px 12px}.phase-step strong{font-size:18px}.phase-step span{font-size:11px}.engine-stage{min-height:470px}.engine-hud{left:14px;right:88px;bottom:14px;max-width:none;padding:14px 16px}.engine-hud strong{font-size:28px}.engine-hud p{font-size:13px}.engine-meter{right:14px;bottom:14px;width:58px;height:168px}.engine-readout{grid-template-columns:1fr}.engine-readout span{padding:12px 16px}.process-five{grid-template-columns:1fr}.tech-dock{bottom:12px;padding:10px 12px;gap:8px}.tech-dock small{font-size:6px}.tech-dock b{font-size:9px}.tech-dock i{height:22px}}

/* v4.2 — hierarchy + page-length optimisation */
:root{--shell:min(1380px,calc(100% - 80px))}
.section-pad{padding:94px 0}
.section-head{margin-bottom:42px;gap:58px}
.section-head h2,.services-copy h2,.about-copy h2,.hub-copy h2,.contact-copy h2{font-size:clamp(44px,4.6vw,76px)}
.section-head>p,.services-copy>p,.hub-copy>p,.contact-copy>p{font-size:15px}

/* header: brand / navigation / permanent clock */
.site-header{height:92px}
.header-inner{justify-content:flex-start;gap:26px}
.brand{width:126px;height:82px;margin-right:auto}
.main-nav{order:2;gap:23px}
.header-timecode{order:3;display:flex;align-items:center;gap:9px;padding:8px 10px;border-left:1px solid var(--line);font-family:var(--mono);white-space:nowrap}
.header-timecode span{font-size:7px;letter-spacing:.13em;color:#5f6c67}
.header-timecode b{font-size:10px;letter-spacing:.01em;color:var(--accent);font-weight:600}
.nav-toggle{order:4}

/* hero: keep impact, lose dead height */
.hero{min-height:88svh}
.hero-inner{padding-top:138px;padding-bottom:112px;grid-template-columns:minmax(0,1fr) minmax(350px,470px);gap:62px}
.hero h1{font-size:clamp(64px,7.3vw,124px)}
.hero-lead{max-width:650px;margin-top:24px}
.hero-actions{margin-top:30px}
.hero-timecode{padding:16px 18px 14px}
.tc-digits{font-size:clamp(38px,3.5vw,62px);margin:14px 0}
.hero-rail{bottom:18px}

/* the workflow is the one technical centerpiece */
.engine-panel{margin-top:26px}
.engine-topbar{min-height:46px;padding:11px 18px}
.engine-body{display:block}
.engine-steps{padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-right:0;border-bottom:1px solid var(--line);background:#070a09}
.phase-step{min-height:76px;display:grid;grid-template-columns:28px 1fr;grid-template-areas:'no title';gap:10px;padding:14px 14px;border:0;border-right:1px solid var(--line-soft)}
.phase-step:last-child{border-right:0}
.phase-step small{grid-area:no;padding-top:3px}
.phase-step strong{grid-area:title;font-size:14px;line-height:1.15;align-self:start}
.phase-step span{display:none}
.phase-step:hover,.phase-step.active{background:rgba(17,222,203,.055);border-color:var(--line-soft)}
.engine-stage{min-height:440px}
.engine-hud{left:20px;bottom:20px;max-width:440px;padding:15px 17px}
.engine-hud strong{font-size:31px;margin-top:7px}
.engine-hud p{font-size:13px;line-height:1.5;margin-top:7px}
.engine-meter{right:18px;bottom:18px;height:154px;width:58px}
.engine-readout span{padding:13px 17px}
.engine-techstrip{padding:12px 17px}

/* portfolio: five strong entries first, everything else on demand */
.portfolio-card{min-height:350px}
.portfolio-card.feature{min-height:470px}
.portfolio-card.is-extra{display:none}
.portfolio-expanded .portfolio-card.is-extra{display:block}
.portfolio-more{margin:22px auto 0;border:1px solid var(--line);background:transparent;color:#c7d0cd;padding:12px 15px;display:flex;align-items:center;gap:14px;cursor:pointer;font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.portfolio-more:hover{border-color:rgba(17,222,203,.35);color:#fff}
.portfolio-more b{color:var(--accent);font-size:9px}

/* services: same information in half the vertical space */
.services-grid{grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);gap:68px}
.services-copy{position:static}
.services-copy>p{margin-top:20px}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid var(--line)}
.service-list article{grid-template-columns:38px 1fr;gap:12px;padding:18px 0;min-height:112px}
.service-list article:hover{padding-left:6px}
.service-list article:last-child{grid-column:1/-1;min-height:auto}
.service-list h3{font-size:21px}
.service-list p{font-size:12px;margin-top:5px}
.system-strip{margin-top:46px;padding:13px 0}

/* about / hub / contact should support, not become another homepage */
.about-grid{grid-template-columns:minmax(0,.85fr) minmax(380px,1.15fr);gap:68px}
.about-image{min-height:455px}
.about-copy>p:not(.section-index){font-size:14px;line-height:1.65;margin-top:18px}
.about-meta{margin-top:28px}
.hub-section{padding:54px 0}
.hub-panel{min-height:250px;grid-template-columns:1.4fr .6fr}
.hub-copy{padding:34px 40px}
.hub-copy h2{font-size:clamp(38px,4vw,62px)}
.hub-copy>p{margin-top:16px}
.hub-access{padding:28px;min-height:250px}
.hub-access strong{font-size:29px}
.contact-grid{gap:80px}
.site-footer{padding-bottom:82px}

@media(max-width:1180px){
  :root{--shell:min(100% - 52px,1380px)}
  .main-nav{gap:17px;font-size:9px}
  .engine-stage{min-height:420px}
  .services-grid{gap:48px}
}
@media(max-width:860px){
  :root{--shell:calc(100% - 34px)}
  .section-pad{padding:72px 0}
  .site-header{height:84px}
  .header-inner{gap:12px}
  .brand{width:114px;height:76px}
  .header-timecode{margin-left:auto;order:3;padding:7px 8px}
  .header-timecode span{display:none}
  .header-timecode b{font-size:9px}
  .nav-toggle{display:block}
  .main-nav{order:2;padding-top:98px}
  .hero{min-height:90svh}
  .hero-inner{padding-top:118px;padding-bottom:110px;gap:34px}
  .hero-timecode{max-width:440px}
  .engine-topbar{grid-template-columns:1fr auto}
  .engine-topbar>div:last-child{display:none}
  .engine-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .engine-steps::-webkit-scrollbar{display:none}
  .phase-step{flex:0 0 158px;min-height:68px;scroll-snap-align:start}
  .engine-stage{min-height:390px}
  .engine-readout{grid-template-columns:1fr 1fr}
  .engine-techstrip{overflow-x:auto;justify-content:flex-start}
  .services-grid{grid-template-columns:1fr;gap:34px}
  .service-list{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about-image{min-height:390px}
  .hub-panel{grid-template-columns:1fr}
  .hub-access{min-height:190px;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:580px){
  :root{--shell:calc(100% - 26px)}
  .section-pad{padding:60px 0}
  .section-head{margin-bottom:28px;gap:18px}
  .section-head h2,.services-copy h2,.about-copy h2,.hub-copy h2,.contact-copy h2{font-size:42px}
  .section-head>p,.services-copy>p,.hub-copy>p,.contact-copy>p{font-size:14px;line-height:1.55}
  .brand{width:104px;height:70px}
  .header-timecode{padding:6px 7px}
  .header-timecode b{font-size:8px}
  .hero{min-height:88svh}
  .hero-inner{padding-top:104px;padding-bottom:94px}
  .hero h1{font-size:clamp(50px,15vw,74px)}
  .hero-timecode{padding:12px 13px}
  .tc-digits{font-size:clamp(31px,9vw,42px)}
  .hero-rail{font-size:6px;gap:5px;bottom:13px}
  .hero-rail i{min-width:8px}
  .engine-panel{margin-top:18px}
  .engine-topbar{padding:10px 12px}
  .engine-topbar>div:first-child b{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .phase-step{flex-basis:142px;padding:12px 10px;grid-template-columns:24px 1fr}
  .phase-step strong{font-size:13px}
  .engine-stage{min-height:350px}
  .engine-hud{left:12px;right:70px;bottom:12px;padding:12px 13px}
  .engine-hud strong{font-size:25px}
  .engine-hud p{font-size:12px;line-height:1.42}
  .engine-meter{right:12px;bottom:12px;width:50px;height:132px}
  .engine-readout{grid-template-columns:1fr 1fr}
  .engine-readout span{padding:10px 12px}
  .engine-readout span:nth-child(n+3){display:none}
  .engine-techstrip{padding:10px 12px;font-size:7px}
  .portfolio-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-13px;scrollbar-width:none}
  .portfolio-grid::-webkit-scrollbar{display:none}
  .portfolio-card,.portfolio-card.feature{display:block;flex:0 0 83vw;width:83vw;min-height:390px;margin:0;scroll-snap-align:start}
  .portfolio-card.is-extra{display:none}
  .portfolio-expanded .portfolio-card.is-extra{display:block}
  .portfolio-copy h3{font-size:35px}
  .portfolio-more{margin-top:14px}
  .service-list{grid-template-columns:1fr}
  .service-list article,.service-list article:last-child{grid-column:auto;min-height:auto;padding:15px 0}
  .system-strip{margin-top:32px}
  .about-image{min-height:330px}
  .about-copy>p:not(.section-index){font-size:13px;margin-top:14px}
  .about-meta{grid-template-columns:1fr 1fr;margin-top:22px}
  .about-meta span:last-child{grid-column:1/-1}
  .hub-section{padding:34px 0}
  .hub-copy{padding:26px 22px}
  .hub-copy h2{font-size:39px}
  .hub-access{padding:22px;min-height:165px}
  .contact-grid{gap:40px}
  .site-footer{padding-bottom:42px}
}
@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr}
}

/* v4.3 — SHOWFILE LIVE SCRUB + clearer workflow visuals */
.hero-showfile-images{overflow:hidden;background:#040605}.hero-showfile-images .show-look{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:0;transition:opacity .42s linear;filter:saturate(.78) contrast(1.06) brightness(.67);will-change:opacity}.hero-showfile-images .show-look:first-child{opacity:1}.hero-showfile-images:after{z-index:2}.hero-wash,.hero-grid-overlay{z-index:1}.hero-inner,.hero-rail{z-index:3}
.showfile-console{min-width:0}.showfile-console .tc-digits{margin-bottom:9px}.showfile-cue{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0 12px;border-top:1px solid var(--line-soft);font-family:var(--mono)}.showfile-cue span{font-size:8px;letter-spacing:.12em;color:#6f7c78}.showfile-cue b{font-size:11px;letter-spacing:.08em;color:#fff}.showfile-scrub{--show-progress:0%;appearance:none;-webkit-appearance:none;width:100%;height:30px;margin:1px 0 0;background:transparent;cursor:ew-resize}.showfile-scrub::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--accent) 0 var(--show-progress),rgba(255,255,255,.14) var(--show-progress) 100%)}.showfile-scrub::-moz-range-track{height:2px;background:rgba(255,255,255,.14)}.showfile-scrub::-moz-range-progress{height:2px;background:var(--accent)}.showfile-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:22px;margin-top:-10px;border:1px solid var(--accent);border-radius:1px;background:#07100e;box-shadow:0 0 18px rgba(17,222,203,.22)}.showfile-scrub::-moz-range-thumb{width:13px;height:22px;border:1px solid var(--accent);border-radius:1px;background:#07100e}.showfile-ticks{display:flex;justify-content:space-between;margin-top:-5px;font:7px var(--mono);letter-spacing:.04em;color:#596661}.showfile-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:13px 0 12px;background:var(--line-soft);border:1px solid var(--line-soft)}.showfile-levels span{background:rgba(4,7,6,.74);padding:9px 10px}.showfile-levels small{display:block;font:7px var(--mono);letter-spacing:.1em;color:#5e6b67}.showfile-levels b{display:block;margin-top:4px;font:11px var(--mono);color:#dbe3e0}.showfile-console .tc-meta b{color:var(--accent);font-weight:500}

.engine-stage{background:#050706}.phase-visual{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .35s ease}.engine-stage.phase-0 .phase-idea,.engine-stage.phase-1 .phase-previz,.engine-stage.phase-2 .phase-plan,.engine-stage.phase-3 .phase-program,.engine-stage.phase-4 .phase-show{opacity:1}.engine-grid,.engine-floor,.engine-wire,.engine-rig,.engine-screen,.engine-plan,.engine-beam,.engine-cuelines,.engine-live{display:none!important}
.phase-idea{background:#050706}.phase-idea>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.36) contrast(1.08) brightness(.44)}.phase-idea:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,6,.82),rgba(4,7,6,.28) 58%,rgba(4,7,6,.5)),linear-gradient(0deg,rgba(4,7,6,.75),transparent 55%)}.mood-grid{position:absolute;z-index:1;left:6%;top:9%;width:min(62%,560px);display:grid;grid-template-columns:1fr 1fr;gap:8px}.mood-grid span{padding:18px 16px;border:1px solid rgba(255,255,255,.14);background:rgba(5,8,7,.34);backdrop-filter:blur(8px);font:9px var(--mono);letter-spacing:.13em;color:#aab5b1}.mood-grid span:nth-child(2),.mood-grid span:nth-child(3){border-color:rgba(17,222,203,.24);color:var(--accent)}.mood-frame{position:absolute;z-index:1;right:7%;top:39%;max-width:360px;padding:20px;border-left:2px solid var(--accent);background:rgba(5,8,7,.62);backdrop-filter:blur(10px)}.mood-frame small{font:7px var(--mono);letter-spacing:.12em;color:#75827e}.mood-frame b{display:block;margin-top:7px;font-size:25px;line-height:1.08;letter-spacing:-.035em}
.phase-previz svg{width:100%;height:100%;display:block}.phase-previz:after{content:"PREVIZ / 3D STAGE VIEW";position:absolute;right:18px;top:16px;font:8px var(--mono);letter-spacing:.12em;color:#6d7a76}
.phase-plan{padding:34px;background:#08100e}.plan-sheet{position:relative;width:100%;height:100%;border:1px solid rgba(17,222,203,.22);background-color:#07110f;background-image:linear-gradient(rgba(17,222,203,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,222,203,.05) 1px,transparent 1px);background-size:28px 28px;overflow:hidden}.plan-title{position:absolute;left:18px;right:18px;top:15px;display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid rgba(17,222,203,.2);font:8px var(--mono);letter-spacing:.11em;color:#78908a}.plan-title b{color:var(--accent)}.plan-stage-box{position:absolute;left:18%;right:18%;top:17%;bottom:15%;border:1px solid rgba(255,255,255,.16)}.plan-stage-box>span{position:absolute;right:8px;bottom:6px;font:7px var(--mono);letter-spacing:.1em;color:#5e716a}.plan-truss{position:absolute;left:26%;right:26%;height:18px;border:1px solid rgba(255,255,255,.26);display:flex;align-items:center;justify-content:space-evenly}.plan-truss.front{top:31%}.plan-truss.mid{top:47%}.plan-truss.back{top:63%}.plan-truss>b{position:absolute;left:-58px;font:7px var(--mono);letter-spacing:.1em;color:#6e817a;font-weight:400}.plan-truss i{width:9px;height:9px;border:1px solid var(--accent);border-radius:50%;background:#07110f}.plan-led{position:absolute;left:39%;right:39%;top:35%;bottom:31%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center}.plan-led span{font:7px var(--mono);letter-spacing:.1em;color:#8ca099}.plan-desk{position:absolute;left:43%;right:43%;bottom:7%;padding:7px 8px;border:1px solid rgba(255,255,255,.18);text-align:center}.plan-desk span,.plan-desk b{display:block;font:6px var(--mono);letter-spacing:.08em;color:#73857e}.plan-desk b{color:var(--accent);margin-top:3px}.plan-legend{position:absolute;left:18px;bottom:14px;display:flex;gap:13px;font:6px var(--mono);letter-spacing:.08em;color:#61756d}
.phase-program{padding:28px 30px;background:linear-gradient(180deg,#080d0b,#050706);font-family:var(--mono)}.program-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.1em;color:#687671}.program-head b{color:var(--accent)}.program-cues{margin-top:10px;border:1px solid var(--line-soft)}.program-cues>div{display:grid;grid-template-columns:70px 1fr 130px;gap:10px;align-items:center;min-height:43px;padding:0 12px;border-bottom:1px solid var(--line-soft);font-size:8px;color:#788681}.program-cues>div:last-child{border-bottom:0}.program-cues small{color:#5b6864}.program-cues b{font-weight:500;color:#aab4b0}.program-cues em{font-style:normal;color:#697671}.program-cues>div.active{background:rgba(17,222,203,.08);box-shadow:inset 2px 0 var(--accent)}.program-cues>div.active b,.program-cues>div.active em{color:#fff}.program-lanes{position:relative;margin-top:14px;height:116px;padding:13px;border:1px solid var(--line-soft);background-image:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:12.5% 100%}.program-lanes span{display:block;width:var(--w);height:13px;margin:8px 0;border-left:1px solid var(--accent);background:linear-gradient(90deg,rgba(17,222,203,.18),rgba(17,222,203,.06))}.program-lanes i{position:absolute;left:62%;top:0;bottom:0;width:1px;background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.45)}.program-status{display:flex;justify-content:space-between;gap:8px;margin-top:11px;font-size:7px;letter-spacing:.09em;color:#65736e}.program-status span:last-child{color:var(--accent)}
.phase-show>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.08) brightness(.72)}.phase-show:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,5,.8),transparent 58%)}.phase-show>div{position:absolute;z-index:1;left:28px;top:28px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(5,8,7,.55);backdrop-filter:blur(10px)}.phase-show small,.phase-show span{display:block;font:7px var(--mono);letter-spacing:.11em;color:#778681}.phase-show b{display:block;margin:6px 0 5px;font-size:20px}.phase-show span{color:var(--accent)}

@media(max-width:860px){.showfile-console{max-width:520px}.mood-grid{width:70%}.phase-plan{padding:22px}.plan-truss{left:22%;right:22%}.plan-stage-box{left:12%;right:12%}.program-cues>div{grid-template-columns:54px 1fr 104px}.phase-show>div{left:18px;top:18px}}
@media(max-width:580px){.showfile-cue b{font-size:9px}.showfile-levels span{padding:8px 7px}.showfile-levels small{font-size:6px}.showfile-levels b{font-size:9px}.showfile-ticks{font-size:6px}.mood-grid{left:12px;right:12px;top:12px;width:auto}.mood-grid span{padding:12px 10px;font-size:7px}.mood-frame{left:12px;right:12px;top:auto;bottom:100px;max-width:none}.mood-frame b{font-size:19px}.phase-plan{padding:12px}.plan-title{left:10px;right:10px;top:9px}.plan-stage-box{left:8%;right:8%;top:17%;bottom:14%}.plan-truss{left:21%;right:21%}.plan-truss>b{left:-38px;font-size:6px}.plan-led{left:37%;right:37%}.plan-legend{left:9px;right:9px;bottom:8px;gap:7px;font-size:5px;overflow:hidden}.phase-program{padding:14px 12px}.program-head{font-size:6px}.program-cues>div{grid-template-columns:42px 1fr 82px;min-height:37px;padding:0 8px;font-size:7px}.program-lanes{height:96px}.program-status{font-size:6px}.phase-show>div{left:12px;right:70px;top:12px}.phase-show b{font-size:16px}}

/* ============================================================
   v4.5 — proof, show-control signature, capability depth
   ============================================================ */
.hero-showfile-images .show-look:nth-child(1){transform:scale(1.00);object-position:center 48%;filter:saturate(.82) contrast(1.08) brightness(.68)}
.hero-showfile-images .show-look:nth-child(2){transform:scale(1.07);object-position:47% 46%;filter:saturate(.74) contrast(1.12) brightness(.61)}
.hero-showfile-images .show-look:nth-child(3){transform:scale(1.16);object-position:52% 42%;filter:saturate(.88) contrast(1.16) brightness(.74)}
.hero-showfile-images .show-look:nth-child(4){transform:scale(1.09);object-position:58% 50%;filter:saturate(.55) contrast(1.10) brightness(.54)}
.hero-showfile-images .show-look:nth-child(5){transform:scale(1.21);object-position:49% 39%;filter:saturate(.92) contrast(1.18) brightness(.78)}
.hero.cue-fired:after{content:"";position:absolute;z-index:2;inset:0;background:rgba(17,222,203,.12);pointer-events:none;animation:cueFlash .26s ease-out both}
@keyframes cueFlash{0%{opacity:0}22%{opacity:1}100%{opacity:0}}

.showfile-actions{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:2px 0 13px;padding-top:12px;border-top:1px solid var(--line-soft)}
.showfile-actions button{font-family:var(--mono);border:1px solid rgba(255,255,255,.10);background:rgba(5,8,7,.72);color:#87938f;cursor:pointer;transition:.2s}
.show-auto{height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;font-size:7px;letter-spacing:.12em}.show-auto i{width:6px;height:6px;border-radius:50%;background:#4a5652}.show-auto.is-active{color:#dfe7e4;border-color:rgba(17,222,203,.25)}.show-auto.is-active i{background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.75)}
.show-cue-bank{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.show-cue-bank button{height:34px;font-size:7px;letter-spacing:.06em}.show-cue-bank button.active{border-color:rgba(17,222,203,.42);color:var(--accent);background:rgba(17,222,203,.07)}
.show-go{height:42px;min-width:62px;padding:4px 11px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.show-go small{font-size:6px;letter-spacing:.1em;color:#65716d}.show-go b{font-size:15px;line-height:1;color:var(--accent)}.show-go:hover{border-color:rgba(17,222,203,.45);transform:translateY(-1px)}

.proof-rail{border-block:1px solid var(--line);background:#060908}
.proof-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;min-height:126px}
.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);border-right:1px solid var(--line)}
.proof-stats span{min-width:116px;padding:25px 22px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;justify-content:center}.proof-stats span:last-child{border-right:0}.proof-stats b{font:28px var(--mono);letter-spacing:-.05em;color:#f0f4f2}.proof-stats small,.proof-clients>small,.proof-membership small{margin-top:6px;font:7px var(--mono);letter-spacing:.12em;color:#64716c;text-transform:uppercase}
.proof-clients{padding:23px 26px;min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.proof-clients>div{display:flex;align-items:center;gap:12px;margin-top:12px;white-space:nowrap;overflow:auto;scrollbar-width:none}.proof-clients>div::-webkit-scrollbar{display:none}.proof-clients span{font-size:11px;color:#bec8c4}.proof-clients i{width:4px;height:4px;flex:0 0 auto;border:1px solid var(--accent);transform:rotate(45deg)}
.proof-membership{width:112px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(17,222,203,.045),transparent)}.proof-membership b{margin-top:6px;font:24px var(--mono);letter-spacing:.06em;color:var(--accent)}

.project-archive{margin-top:18px;border:1px solid var(--line);background:rgba(255,255,255,.008)}
.project-archive summary,.capability-drawer summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:16px 18px}.project-archive summary::-webkit-details-marker,.capability-drawer summary::-webkit-details-marker{display:none}.project-archive summary span,.capability-drawer summary span{font:8px var(--mono);letter-spacing:.12em;color:var(--accent)}.project-archive summary b,.capability-drawer summary b{font-size:11px;color:#9aa6a2;font-weight:500}.project-archive summary i,.capability-drawer summary i{font-style:normal;font:18px var(--mono);color:#73807b;transition:.2s}.project-archive[open] summary i,.capability-drawer[open] summary i{transform:rotate(45deg);color:var(--accent)}
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.archive-grid article{display:grid;grid-template-columns:78px 1fr;grid-template-areas:'year title' 'year role';gap:4px 14px;padding:17px 18px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.archive-grid article:nth-child(even){border-right:0}.archive-grid small{grid-area:year;font:7px var(--mono);letter-spacing:.1em;color:#64706c;padding-top:3px}.archive-grid b{grid-area:title;font-size:12px;color:#d2dad7}.archive-grid span{grid-area:role;font-size:10px;color:#73807b}

.service-extension{margin-top:18px;display:grid;grid-template-columns:1fr 1.15fr;gap:18px}
.extension-scope,.capability-drawer{border:1px solid var(--line);background:#060908}.extension-scope{min-height:62px;padding:15px 18px;display:flex;align-items:center;gap:12px;overflow:auto;white-space:nowrap;scrollbar-width:none}.extension-scope::-webkit-scrollbar{display:none}.extension-scope small{font:7px var(--mono);letter-spacing:.12em;color:#63706c;margin-right:6px}.extension-scope span{font-size:10px;color:#bbc4c1}.extension-scope i{width:4px;height:4px;border:1px solid var(--accent);transform:rotate(45deg);flex:0 0 auto}
.capability-drawer summary{min-height:60px}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.capability-grid>div{padding:18px;border-right:1px solid var(--line-soft)}.capability-grid>div:last-child{border-right:0}.capability-grid small{font:7px var(--mono);letter-spacing:.12em;color:var(--accent)}.capability-grid b{display:block;margin-top:8px;font-size:12px;color:#d5ddda}.capability-grid p{margin:7px 0 0;font-size:10px;line-height:1.55;color:#74807c}

.media-links{margin-top:24px;border-top:1px solid var(--line);padding-top:17px;display:grid;gap:8px}.media-links small{font:7px var(--mono);letter-spacing:.12em;color:#68746f;margin-bottom:2px}.media-links a{font:9px var(--mono);letter-spacing:.04em;color:#a6b1ad;transition:.2s}.media-links a:hover{color:var(--accent)}
.contact-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.mail-link.subtle{color:#8e9a96;border-bottom-color:rgba(255,255,255,.16)}

@media(max-width:1180px){.proof-inner{grid-template-columns:auto 1fr}.proof-membership{grid-column:1/-1;width:auto;min-height:52px;border-left:0;border-top:1px solid var(--line);flex-direction:row;gap:9px}.proof-membership b{margin-top:0;font-size:15px}.service-extension{grid-template-columns:1fr}.process-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.proof-inner{display:block}.proof-stats{border-right:0;border-bottom:1px solid var(--line)}.proof-clients{padding:20px 18px}.proof-membership{min-height:48px}.archive-grid{grid-template-columns:1fr}.archive-grid article,.archive-grid article:nth-child(even){border-right:0}.capability-grid{grid-template-columns:1fr}.capability-grid>div{border-right:0;border-bottom:1px solid var(--line-soft)}.capability-grid>div:last-child{border-bottom:0}.showfile-actions{grid-template-columns:auto 1fr auto}}
@media(max-width:580px){.proof-stats span{min-width:0;padding:18px 12px}.proof-stats b{font-size:21px}.proof-stats small{font-size:6px}.proof-clients span{font-size:10px}.showfile-actions{gap:6px}.show-auto{padding:0 8px}.show-cue-bank{gap:2px}.show-cue-bank button{font-size:6px}.show-go{min-width:55px;padding-inline:8px}.project-archive summary,.capability-drawer summary{grid-template-columns:1fr auto;gap:5px 12px}.project-archive summary span,.capability-drawer summary span{grid-column:1}.project-archive summary b,.capability-drawer summary b{grid-column:1}.project-archive summary i,.capability-drawer summary i{grid-column:2;grid-row:1/3}.archive-grid article{grid-template-columns:60px 1fr;padding:14px}.service-extension{gap:10px}.extension-scope{padding:13px 14px}.media-links a{line-height:1.5}}
.contact-meta{margin-top:16px;display:flex;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:.08em;color:#68746f;text-transform:uppercase}.contact-meta i{width:4px;height:4px;border:1px solid var(--accent);transform:rotate(45deg)}
.form-status{grid-column:1/-1;margin:0 0 10px;padding:11px 13px;border:1px solid var(--line);font:8px var(--mono);letter-spacing:.06em}.form-status.error{border-color:rgba(255,120,100,.28);color:#e4a099;background:rgba(255,100,80,.04)}
.legal-back{margin-left:auto;font:9px var(--mono);letter-spacing:.1em;color:#9aa6a2}.legal-page{padding-top:150px;min-height:80vh}.legal-shell{max-width:980px}.legal-shell>h1{font-size:clamp(58px,9vw,112px);letter-spacing:-.06em;line-height:.9;margin:10px 0 54px}.legal-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.legal-grid section{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.legal-grid section:nth-child(even){border-right:0}.legal-grid section:nth-last-child(-n+2){border-bottom:0}.legal-grid h2,.legal-copy h2{font-size:18px;margin:0 0 12px}.legal-grid p,.legal-copy p{color:#88948f;line-height:1.75;font-size:13px}.legal-grid a,.legal-copy a{color:var(--accent)}.legal-copy{max-width:760px}.legal-copy h2{margin-top:34px}.legal-copy h2:first-child{margin-top:0}.legal-note{margin-top:34px;padding:18px 20px;border:1px solid rgba(17,222,203,.15);background:rgba(17,222,203,.035)}.legal-note b{font:8px var(--mono);letter-spacing:.12em;color:var(--accent)}.legal-note p{margin:8px 0 0;font-size:11px;line-height:1.6;color:#75817d}.thanks-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(17,222,203,.07),transparent 35%),#050706}.thanks-card{text-align:center;width:min(720px,calc(100% - 32px));padding:44px}.thanks-card>img{width:150px;height:96px;object-fit:contain;margin:0 auto 28px}.thanks-card h1{font-size:clamp(58px,9vw,96px);letter-spacing:-.06em;line-height:.9;margin:12px 0 24px}.thanks-card h1 em{font-style:normal;color:var(--accent)}.thanks-card>p:not(.section-index){color:#8d9995;line-height:1.6;margin:0 auto 28px;max-width:580px}.thanks-card .button{margin:auto}
@media(max-width:580px){.legal-page{padding-top:120px}.legal-grid{grid-template-columns:1fr}.legal-grid section,.legal-grid section:nth-child(even),.legal-grid section:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.legal-grid section:last-child{border-bottom:0}.thanks-card{padding:26px 8px}}
.archive-grid .archive-project{appearance:none;border:0;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:transparent;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:78px 1fr;grid-template-areas:'year title' 'year role';gap:4px 14px;padding:17px 18px;transition:.2s}.archive-grid .archive-project:nth-child(even){border-right:0}.archive-grid .archive-project:hover{background:rgba(17,222,203,.035)}.archive-grid .archive-project small{grid-area:year;font:7px var(--mono);letter-spacing:.1em;color:#64706c;padding-top:3px}.archive-grid .archive-project b{grid-area:title;font-size:12px;color:#d2dad7}.archive-grid .archive-project span{grid-area:role;font-size:10px;color:#73807b}
@media(max-width:860px){.archive-grid .archive-project,.archive-grid .archive-project:nth-child(even){border-right:0}}
@media(max-width:580px){.archive-grid .archive-project{grid-template-columns:60px 1fr;padding:14px}}

/* v4.6 — readable pipeline, stronger client priority */
.proof-clients .primary-client{color:var(--accent);font-weight:760}
.pipeline-title{position:relative;padding-right:72px}
.pipeline-auto{position:absolute;right:0;top:50%;transform:translateY(-50%);height:26px;padding:0 9px;border:1px solid var(--line);background:transparent;color:#77847f;display:flex;align-items:center;gap:6px;cursor:pointer;font:7px var(--mono);letter-spacing:.11em}
.pipeline-auto i{width:5px;height:5px;border-radius:50%;background:#53605c;transition:.2s}
.pipeline-auto em{font-style:normal}
.pipeline-auto.is-active{border-color:rgba(17,222,203,.22);color:var(--accent)}
.pipeline-auto.is-active i{background:var(--accent);box-shadow:0 0 10px rgba(17,222,203,.65)}
#processEngine:hover .pipeline-auto.is-active:not(:hover) i{animation:pipelineHold 1.1s ease-in-out infinite alternate}
@keyframes pipelineHold{to{opacity:.35}}
.media-links a{display:flex;align-items:center;gap:9px}
.media-links a span{display:inline-grid;place-items:center;min-width:42px;padding:4px 6px;border:1px solid rgba(17,222,203,.18);color:var(--accent);font:6px var(--mono);letter-spacing:.11em}

@media(max-width:860px){
  .pipeline-title{padding-right:66px}
  .pipeline-auto{height:24px;padding:0 7px}
  .engine-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
  .phase-step{min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 4px;border-right:1px solid var(--line-soft);text-align:center;scroll-snap-align:none}
  .phase-step small{display:block;padding:0;font-size:6px;color:#5f6c68}
  .phase-step strong,.phase-step span{display:none}
  .phase-step::after{content:attr(data-short);display:block;font:7px var(--mono);letter-spacing:.08em;color:#929e99;white-space:nowrap}
  .phase-step.active::after{color:var(--accent)}
}
@media(max-width:580px){
  .engine-topbar{grid-template-columns:minmax(0,1fr) auto}
  .engine-topbar>div:first-child b{max-width:155px}
  .pipeline-title{padding-right:58px}
  .pipeline-auto{right:0;padding:0 6px}
  .phase-step{min-height:54px;padding:8px 2px}
  .phase-step small{font-size:5px}
  .phase-step::after{font-size:6px;letter-spacing:.04em}
  .engine-hud{right:12px;padding-right:13px}
  .engine-meter{display:none}
  .media-links a{align-items:flex-start}
}

/* v4.7 compact auto-scrolling references */
.portfolio-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-top:10px;cursor:grab}
.portfolio-viewport::-webkit-scrollbar{display:none}
.portfolio-viewport.is-dragging{cursor:grabbing}
.portfolio-track{display:flex;gap:12px;width:max-content;padding:0 max(28px,calc((100vw - 1440px)/2)) 8px}
.portfolio-track .portfolio-card,.portfolio-track .portfolio-card.feature,.portfolio-track .portfolio-card.is-extra{display:block;flex:0 0 clamp(330px,31vw,500px);width:clamp(330px,31vw,500px);min-height:390px;margin:0;grid-column:auto}
.portfolio-track .portfolio-copy h3{font-size:clamp(34px,3vw,50px)}
.portfolio-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-top:18px}
.portfolio-motion{display:inline-flex;align-items:center;gap:9px;font:7px var(--mono);letter-spacing:.12em;color:#66736f;padding-top:12px;white-space:nowrap}
.portfolio-motion i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.65)}
.portfolio-foot .project-archive{margin:0;flex:0 1 760px}
.portfolio-foot .project-archive summary{padding-top:10px}
@media(max-width:860px){.portfolio-track{padding-left:18px;padding-right:18px}.portfolio-track .portfolio-card,.portfolio-track .portfolio-card.feature,.portfolio-track .portfolio-card.is-extra{flex-basis:min(78vw,410px);width:min(78vw,410px);min-height:360px}.portfolio-foot{display:block}.portfolio-motion{margin-bottom:6px}.portfolio-foot .project-archive{width:100%}}
@media(max-width:580px){.portfolio-track{gap:10px;padding-left:14px;padding-right:14px}.portfolio-track .portfolio-card,.portfolio-track .portfolio-card.feature,.portfolio-track .portfolio-card.is-extra{flex-basis:84vw;width:84vw;min-height:345px}.portfolio-track .portfolio-copy h3{font-size:34px}.portfolio-foot{margin-top:12px}.portfolio-motion{font-size:6px}}

.form-status.success{border-color:rgba(17,222,203,.28);color:#91eee4;background:rgba(17,222,203,.05)}.contact-live-status[hidden]{display:none}.contact-form button[disabled]{opacity:.55;cursor:wait}

/* v5.0 — single-image hero, true reference auto rail + project galleries */
.hero-showfile-images .show-look{opacity:1!important;transform:scale(1);object-position:50% 48%;transition:transform .32s ease,object-position .42s ease,filter .36s ease;will-change:transform,object-position,filter}
.hero-showfile-images .show-look:nth-child(1),.hero-showfile-images .show-look:nth-child(2),.hero-showfile-images .show-look:nth-child(3),.hero-showfile-images .show-look:nth-child(4),.hero-showfile-images .show-look:nth-child(5){opacity:1}
.portfolio-viewport{position:relative;mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%)}
.portfolio-track .portfolio-card img{object-fit:cover}.portfolio-motion{color:#77847f}.portfolio-motion i{animation:railPulse 1.8s ease-in-out infinite}@keyframes railPulse{50%{opacity:.35;box-shadow:0 0 4px rgba(17,222,203,.2)}}

/* Gallery overlay: images are shown uncropped; only the public card uses the selected cover crop. */
.project-modal{width:min(1320px,calc(100% - 34px));max-height:min(92vh,900px)}
.gallery-modal-inner{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);min-height:680px}.modal-gallery{position:relative;min-width:0;background:#020504;display:flex;flex-direction:column;border-right:1px solid var(--line)}.modal-media-stage{position:relative;flex:1;min-height:540px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(17,222,203,.035),transparent 42%),#020504}.modal-media-stage img,.modal-media-stage video{display:block;width:100%;height:100%;max-height:720px;object-fit:contain;background:#020504}.gallery-arrow{position:absolute;z-index:3;top:50%;width:46px;height:46px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.16);background:rgba(4,7,6,.72);backdrop-filter:blur(12px);color:#fff;font-size:18px;cursor:pointer}.gallery-arrow.prev{left:16px}.gallery-arrow.next{right:16px}.gallery-arrow:hover{border-color:rgba(17,222,203,.45);color:var(--accent)}.gallery-count{position:absolute;z-index:3;right:16px;top:16px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);background:rgba(4,7,6,.7);font:8px var(--mono);letter-spacing:.1em;color:#a7b2ae}.gallery-thumbs{height:104px;display:flex;gap:7px;padding:9px 12px;overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:none;background:#040706}.gallery-thumbs::-webkit-scrollbar{display:none}.gallery-thumbs button{position:relative;flex:0 0 116px;border:1px solid rgba(255,255,255,.09);padding:0;background:#020504;overflow:hidden;cursor:pointer;opacity:.55;transition:.2s}.gallery-thumbs button.active{opacity:1;border-color:rgba(17,222,203,.55)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.gallery-thumbs span{display:grid;place-items:center;width:100%;height:100%;font:8px var(--mono);letter-spacing:.12em;color:var(--accent);background:linear-gradient(135deg,rgba(17,222,203,.08),transparent)}.modal-gallery-note{margin-top:28px;padding-top:13px;border-top:1px solid var(--line);font:8px var(--mono);letter-spacing:.12em;color:#65726d}
@media(max-width:860px){.gallery-modal-inner{display:block;min-height:0}.modal-gallery{border-right:0;border-bottom:1px solid var(--line)}.modal-media-stage{height:min(58svh,560px);min-height:360px}.gallery-thumbs{height:88px}.gallery-thumbs button{flex-basis:96px}.gallery-arrow{width:42px;height:42px}}
@media(max-width:580px){.project-modal{width:calc(100% - 16px);max-height:94svh}.modal-media-stage{height:52svh;min-height:300px}.gallery-thumbs{height:76px;padding:7px 8px}.gallery-thumbs button{flex-basis:82px}.gallery-arrow{top:44%;width:38px;height:38px}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.gallery-count{right:8px;top:8px}.modal-info{padding:26px 20px}}
.portfolio-media-count{position:absolute;z-index:3;right:14px;top:14px;padding:6px 8px;border:1px solid rgba(255,255,255,.13);background:rgba(4,7,6,.66);backdrop-filter:blur(8px);font:7px var(--mono);letter-spacing:.11em;color:#b5c0bc}

/* v5.1 — legacy project links + slightly looser editorial tone */
.modal-links{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:7px}.modal-links>small{font:7px var(--mono);letter-spacing:.12em;color:#62706b;margin-bottom:4px}.modal-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line-soft);font:9px var(--mono);letter-spacing:.05em;color:#a9b5b1;transition:.2s}.modal-links a:hover{color:var(--accent);padding-left:5px}.modal-links a b{color:var(--accent)}

/* v5.2 — show-control opener + one continuous references rail */
.stage-output{position:absolute;z-index:3;right:max(28px,calc((100vw - 1440px)/2));bottom:74px;min-width:270px;padding:11px 13px;border:1px solid rgba(255,255,255,.12);background:rgba(4,7,6,.68);backdrop-filter:blur(12px);pointer-events:none;box-shadow:0 16px 45px rgba(0,0,0,.24)}
.stage-output span{display:flex;align-items:center;gap:7px;font:7px var(--mono);letter-spacing:.12em;color:#6f7c77}.stage-output span i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.75)}.stage-output b{display:block;margin-top:7px;font:10px var(--mono);letter-spacing:.08em;color:#e7eeeb}.stage-output small{display:block;margin-top:5px;font:7px var(--mono);letter-spacing:.06em;color:#65716d}.stage-output.is-firing{animation:stageOut .52s ease}@keyframes stageOut{0%{border-color:rgba(17,222,203,.18);box-shadow:0 0 0 rgba(17,222,203,0)}35%{border-color:rgba(17,222,203,.72);box-shadow:0 0 42px rgba(17,222,203,.18)}100%{border-color:rgba(255,255,255,.12);box-shadow:0 16px 45px rgba(0,0,0,.24)}}
.control-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line-soft)}.control-path>span{min-width:0;padding:7px 6px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.015)}.control-path small{display:block;font:6px var(--mono);color:#56625e;letter-spacing:.1em}.control-path b{display:block;margin-top:3px;font:7px var(--mono);letter-spacing:.08em;color:#7c8984;white-space:nowrap}.control-path>i{width:13px;height:1px;background:linear-gradient(90deg,rgba(17,222,203,.08),rgba(17,222,203,.38));position:relative}.control-path>i:after{content:'';position:absolute;right:-1px;top:-2px;width:4px;height:4px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}.control-path span.is-live b{color:var(--accent)}.control-path.is-firing span,.control-path.is-firing i{animation:pathFire .48s ease both}.control-path.is-firing span:nth-of-type(2){animation-delay:.07s}.control-path.is-firing span:nth-of-type(3){animation-delay:.14s}.control-path.is-firing span:nth-of-type(4){animation-delay:.21s}@keyframes pathFire{30%{border-color:rgba(17,222,203,.6);color:var(--accent);filter:brightness(1.5)}100%{filter:none}}

/* All public references live in one endless gallery. */
.project-archive{display:none!important}
.portfolio-marquee{position:relative;width:100%;overflow:hidden;margin-top:10px;mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}
.portfolio-track{display:flex!important;width:max-content!important;gap:0!important;padding:0!important;animation:portfolioMarquee var(--rail-duration,80s) linear infinite;will-change:transform}
.portfolio-set{display:flex;gap:12px;padding-right:12px;flex:0 0 auto}
.portfolio-marquee.is-paused .portfolio-track,.portfolio-marquee.is-keyboard-paused .portfolio-track{animation-play-state:paused}
@keyframes portfolioMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.portfolio-marquee .portfolio-card,.portfolio-marquee .portfolio-card.feature,.portfolio-marquee .portfolio-card.is-extra{display:block;flex:0 0 clamp(330px,31vw,500px);width:clamp(330px,31vw,500px);min-height:390px;margin:0;grid-column:auto}
.portfolio-marquee .portfolio-card{border:1px solid rgba(255,255,255,.04)}.portfolio-marquee .portfolio-card:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
.portfolio-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:11px}.portfolio-count{font:7px var(--mono);letter-spacing:.11em;color:#58645f}.portfolio-motion{margin:0}
body.project-open{overflow:hidden}

/* Slightly drier technical humour, not slogan-y. */
.about-copy h2 em{max-width:760px}

@media(max-width:860px){.stage-output{display:none}.control-path{gap:4px}.control-path>span{padding:6px 4px}.control-path b{font-size:6px}.control-path>i{width:7px}.portfolio-marquee .portfolio-card,.portfolio-marquee .portfolio-card.feature,.portfolio-marquee .portfolio-card.is-extra{flex-basis:min(78vw,410px);width:min(78vw,410px);min-height:360px}.portfolio-track{animation-duration:var(--rail-duration,80s)}}
@media(max-width:580px){.control-path{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.control-path small{display:none}.control-path b{font-size:5.6px}.portfolio-set{gap:10px;padding-right:10px}.portfolio-marquee .portfolio-card,.portfolio-marquee .portfolio-card.feature,.portfolio-marquee .portfolio-card.is-extra{flex-basis:84vw;width:84vw;min-height:345px}.portfolio-foot{align-items:flex-start}.portfolio-count{font-size:6px;text-align:right}}
@media(prefers-reduced-motion:reduce){.portfolio-track{animation:none}.stage-output.is-firing,.control-path.is-firing span,.control-path.is-firing i{animation:none}}

/* v5.3 — audited control opener + JS-driven reference rail */
.stage-frame{position:absolute;z-index:2;inset:112px max(28px,calc((100vw - 1440px)/2)) 92px 38%;pointer-events:none;opacity:.54}.stage-frame>span{position:absolute;right:0;top:0;padding:6px 8px;background:rgba(4,7,6,.56);border:1px solid rgba(255,255,255,.08);font:7px var(--mono);letter-spacing:.12em;color:#82908b}.stage-frame>i{position:absolute;width:32px;height:32px;border-color:rgba(17,222,203,.42)}.sf-tl{left:0;top:0;border-left:1px solid;border-top:1px solid}.sf-tr{right:0;top:0;border-right:1px solid;border-top:1px solid}.sf-bl{left:0;bottom:0;border-left:1px solid;border-bottom:1px solid}.sf-br{right:0;bottom:0;border-right:1px solid;border-bottom:1px solid}.stage-frame.is-firing{animation:stageFrameFire .5s ease}@keyframes stageFrameFire{30%{opacity:1;filter:drop-shadow(0 0 14px rgba(17,222,203,.3))}100%{opacity:.54;filter:none}}
.control-instruction{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;margin-top:10px;padding:8px 0 0;border-top:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.09em}.control-instruction span{font-size:6px;color:#59655f}.control-instruction b{font-size:7px;color:var(--accent)}.control-instruction i{height:1px;background:linear-gradient(90deg,rgba(17,222,203,.42),rgba(17,222,203,.05))}.control-instruction em{font:normal 6px var(--mono);color:#77847f;white-space:nowrap}
.portfolio-track{animation:none!important;transform:translate3d(0,0,0)}.portfolio-marquee{cursor:grab;touch-action:pan-y}.portfolio-marquee.is-dragging{cursor:grabbing}.portfolio-marquee.is-dragging .portfolio-card{pointer-events:none}.portfolio-card{user-select:none;-webkit-user-select:none}.portfolio-card img{-webkit-user-drag:none}
@media(max-width:860px){.stage-frame{display:none}.control-instruction{grid-template-columns:auto 1fr}.control-instruction i,.control-instruction em{display:none}}


/* v5.5 — hero refinement, CI media treatment, video embeds */
.hero-timecode.showfile-console{position:relative;overflow:hidden;padding:20px 22px 18px;background:linear-gradient(180deg,rgba(7,11,10,.92),rgba(5,8,7,.86));border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 60px rgba(0,0,0,.26)}
.hero-timecode.showfile-console:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(17,222,203,.14),transparent 38%),linear-gradient(180deg,rgba(17,222,203,.04),transparent 38%);pointer-events:none}
.hero-cue-line{margin-bottom:14px}
.show-wave-panel{position:relative;margin:14px 0 14px;padding:16px 16px 14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(6,10,9,.92),rgba(4,7,6,.82));overflow:hidden}
.show-wave-panel:after{content:'';position:absolute;inset:auto -10% -40% -10%;height:80%;background:radial-gradient(circle at center,rgba(17,222,203,.10),transparent 62%);pointer-events:none}
.show-wave-top,.show-dayline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.show-wave-top{margin-bottom:10px;grid-template-columns:1fr auto}
.show-wave-top span,.show-dayline small{font:7px var(--mono);letter-spacing:.12em;color:#6b7772}
.show-wave-top b,.show-dayline b{display:block;margin-top:4px;font:11px var(--mono);color:#fff}
.show-dayline{margin:14px 0 12px;padding-top:12px;border-top:1px solid var(--line-soft)}
.show-dayline span{padding:0}
.show-wave{display:block;width:100%;height:174px}
.show-wave .wave-glow{fill:none;stroke:rgba(17,222,203,.18);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;filter:blur(6px)}
.show-wave .wave-main{fill:none;stroke:rgba(17,222,203,.94);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(17,222,203,.24))}
.show-wave .wave-thin{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.show-wave-readout{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.show-wave-readout span{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.show-wave-readout small{display:block;font:7px var(--mono);letter-spacing:.11em;color:#5f6c67}
.show-wave-readout b{display:block;margin-top:5px;font:12px var(--mono);color:#dfe8e5}
.control-instruction{margin-top:14px}
.showfile-actions{margin-top:2px}

.portfolio-card{isolation:isolate}
.portfolio-card img{filter:saturate(.68) contrast(1.03) brightness(.82)}
.portfolio-card:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,222,203,.08),transparent 42%),linear-gradient(0deg,rgba(7,10,9,.72),rgba(7,10,9,.12)),linear-gradient(120deg,rgba(17,222,203,.16),transparent 52%);mix-blend-mode:screen;pointer-events:none}
.portfolio-card:hover img{filter:saturate(.88) contrast(1.08) brightness(.86)}
.portfolio-shade{background:linear-gradient(180deg,transparent 28%,rgba(3,6,5,.88) 100%),linear-gradient(120deg,rgba(17,222,203,.18),transparent 40%)}
.portfolio-media-count{position:absolute;z-index:2;left:18px;top:18px;padding:7px 9px;border:1px solid rgba(17,222,203,.25);background:rgba(4,8,7,.72);font:7px var(--mono);letter-spacing:.12em;color:#d5e5e1}
.modal-gallery,.modal-info{position:relative}
.gallery-thumbs button{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.gallery-thumbs button:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,222,203,.12),transparent 45%),linear-gradient(0deg,rgba(4,6,6,.55),transparent 52%);pointer-events:none}
.gallery-thumbs button.active{border-color:rgba(17,222,203,.46);box-shadow:0 0 0 1px rgba(17,222,203,.16) inset}
.modal-embed{position:relative;width:100%;padding-top:56.25%;background:#020303}
.modal-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal-media-stage video,.modal-media-stage img,.modal-embed{background:#030504}

@media(max-width:860px){
  .show-wave{height:156px}
}
@media(max-width:580px){
  .hero-timecode.showfile-console{padding:15px 14px 14px}
  .show-wave-panel{padding:13px 12px 12px}
  .show-wave-top,.show-dayline{grid-template-columns:1fr}
  .show-dayline{gap:8px}
  .show-wave{height:136px}
  .show-wave-readout{grid-template-columns:repeat(2,1fr)}
  .portfolio-media-count{left:14px;top:14px}
}


/* v5.6 — fixes, DAW waveform, manual process layout */
.pipeline-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pipeline-mode{margin-left:auto;padding:7px 9px;border:1px solid rgba(255,255,255,.08);font:7px var(--mono);letter-spacing:.12em;color:#7f8c88;background:rgba(5,8,7,.58)}
.engine-body{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr)}
.engine-steps{display:flex;flex-direction:column;padding:14px;background:#070a09;border-right:1px solid var(--line)}
.phase-step{min-height:92px;grid-template-columns:28px 1fr;grid-template-areas:'no title' '. text';gap:10px 14px;padding:16px 14px;border:1px solid var(--line-soft);border-right:1px solid var(--line-soft);margin-bottom:10px;background:rgba(255,255,255,.01)}
.phase-step:last-child{margin-bottom:0}
.phase-step span{display:block;grid-area:text;font-size:11px;line-height:1.45;color:#91a09a}
.phase-step strong{font-size:15px;line-height:1.1}
.phase-step.active{background:rgba(17,222,203,.08);border-color:rgba(17,222,203,.22);box-shadow:inset 0 0 0 1px rgba(17,222,203,.08)}
.phase-step:hover{background:rgba(255,255,255,.03)}
.hero-timecode.showfile-console{padding:20px 22px 18px}
.show-wave-panel{padding:16px 16px 12px}
.daw-wave-track{--playhead:0%;position:relative;height:176px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(4,7,6,.92),rgba(3,5,4,.86));overflow:hidden}
.daw-wave-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 44px,28px 100%;opacity:.8}
.daw-wave-bars{position:absolute;inset:12px 12px;display:grid;grid-template-columns:repeat(72,1fr);gap:2px;align-items:center}
.daw-bar{position:relative;align-self:center;justify-self:stretch;height:calc(var(--amp, .2) * 100%);top:50%;transform:translateY(-50%);border-radius:1px;background:linear-gradient(180deg,rgba(17,222,203,.92),rgba(17,222,203,.55));box-shadow:0 0 10px rgba(17,222,203,.16)}
.daw-bar:after{content:'';position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:rgba(255,255,255,.08)}
.daw-wave-playhead{position:absolute;top:0;bottom:0;left:var(--playhead);width:2px;background:rgba(255,255,255,.7);box-shadow:0 0 18px rgba(255,255,255,.16),0 0 0 1px rgba(17,222,203,.18)}
.show-wave-top{margin-bottom:12px}
.show-dayline{margin:12px 0 12px}
@media(max-width:1180px){.engine-body{grid-template-columns:1fr}.engine-steps{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:860px){.engine-steps{display:flex;overflow-x:auto;overflow-y:hidden;flex-direction:row;padding:14px}.phase-step{flex:0 0 240px;min-height:118px;margin:0 10px 0 0}.phase-step:last-child{margin-right:0}.daw-wave-track{height:156px}}
@media(max-width:580px){.pipeline-mode{margin-left:0}.show-wave-panel{padding:13px 12px 11px}.daw-wave-track{height:138px}.daw-wave-bars{inset:10px 10px;gap:1px}.phase-step{flex-basis:220px;min-height:112px}.phase-step span{font-size:10px}}


/* v5.7 — opener refinement, static process grid, manual references */
.show-rig-panel{padding-bottom:12px}
.beam-preview{--beam-dim:.45;--beam-soft:.2;--beam-floor:.12;--beam-spread:0px;--beam-shift:0px;position:relative;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(3,6,5,.96),rgba(4,7,6,.86));overflow:hidden}
.beam-preview-head{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);font:7px var(--mono);letter-spacing:.12em;color:#6c7874;background:rgba(255,255,255,.02)}
.beam-preview-svg{display:block;width:100%;height:208px}
.beam-preview .beam{opacity:var(--beam-dim);transform:translateX(var(--beam-shift));transform-origin:50% 0;transition:opacity .28s ease, transform .32s ease}
.beam-preview .fan-a:nth-child(odd){transform:translateX(calc(var(--beam-shift) * -1)) skewX(calc(var(--beam-spread) * .04))}
.beam-preview .fan-a:nth-child(even){transform:translateX(var(--beam-shift)) skewX(calc(var(--beam-spread) * -.04))}
.beam-preview .fan-b{opacity:var(--beam-soft);transform:translateX(calc(var(--beam-shift) * .5))}
.beam-preview #beamFloorGlow{opacity:var(--beam-floor);transition:opacity .28s ease}
.beam-preview.is-impact .fan-a{opacity:calc(var(--beam-dim) + .18)}
.beam-preview.is-impact #beamFloorGlow{opacity:calc(var(--beam-floor) + .1)}
.beam-preview.is-break .fan-a,.beam-preview.is-break .fan-b{opacity:.08}
.control-instruction em{letter-spacing:.06em}

.process-static .engine-topbar{border-bottom:1px solid var(--line)}
.process-grid-full{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:16px}
.process-card-full{position:relative;min-height:320px;padding:18px 16px 16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(8,11,10,.92),rgba(6,9,8,.84));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.process-card-full:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,222,203,.08),transparent 40%);pointer-events:none}
.process-card-full.is-live{border-color:rgba(17,222,203,.22);box-shadow:inset 0 0 0 1px rgba(17,222,203,.08),0 16px 32px rgba(0,0,0,.14)}
.process-card-no{font:8px var(--mono);letter-spacing:.12em;color:#6e7b76;margin-bottom:16px}
.process-card-top small{display:block;font:7px var(--mono);letter-spacing:.12em;color:var(--accent);margin-bottom:6px}
.process-card-top h3{margin:0;font-size:26px;letter-spacing:-.04em}
.process-card-full p{margin:14px 0 16px;color:#96a49f;font-size:13px;line-height:1.55}
.process-card-full ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.process-card-full li{padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#aeb9b5}
.process-card-full li b{color:#fff;font-weight:600}

.portfolio-scroller{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;cursor:grab;mask-image:none;-webkit-mask-image:none;padding:0 0 8px}
.portfolio-scroller.is-dragging{cursor:grabbing}
.portfolio-scroller .portfolio-track{display:flex;gap:14px;padding:0 32px 6px;transform:none!important;animation:none!important;width:max-content}
.portfolio-scroller .portfolio-card{flex:0 0 clamp(320px,29vw,470px);width:clamp(320px,29vw,470px);min-height:390px}
.portfolio-scroller::-webkit-scrollbar{height:10px}.portfolio-scroller::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.portfolio-scroller::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}

@media(max-width:1320px){.process-grid-full{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.process-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}.process-card-full{min-height:0}.portfolio-scroller .portfolio-card{flex-basis:min(78vw,410px);width:min(78vw,410px)}}
@media(max-width:620px){.beam-preview-svg{height:178px}.process-grid-full{grid-template-columns:1fr;padding:14px}.process-card-top h3{font-size:22px}.portfolio-scroller .portfolio-track{padding:0 16px 6px}.portfolio-scroller .portfolio-card{flex-basis:84vw;width:84vw;min-height:345px}}


/* v5.8 — aligned margins, visual workflow, CI covers, isolated reference rail */
.lighting-viewport .fixture-array circle:nth-child(3n){fill:#11decb}.lighting-viewport .fixture-array{opacity:.78}
.lighting-viewport .viewport-grid{stroke-dasharray:2 5}.lighting-viewport .beam{mix-blend-mode:screen}

.process-grid-full{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.process-card-full{display:flex;flex-direction:column;min-height:390px;overflow:hidden}
.process-visual{position:relative;height:132px;margin:0 0 16px;border:1px solid rgba(255,255,255,.07);background:#040706;overflow:hidden;flex:0 0 auto}
.process-visual>b{position:absolute;left:10px;bottom:8px;font:6px var(--mono);letter-spacing:.12em;color:#71807b;font-weight:500}
.process-visual-idea{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:4px;padding:8px}
.process-visual-idea span{background:linear-gradient(135deg,rgba(17,222,203,.26),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.06)}
.process-visual-idea span:nth-child(2){background:linear-gradient(45deg,rgba(255,255,255,.1),rgba(17,222,203,.08))}.process-visual-idea span:nth-child(3){grid-column:1/3;background:linear-gradient(90deg,rgba(17,222,203,.09),rgba(255,255,255,.02))}.process-visual-idea i{position:absolute;width:54px;height:54px;border:1px solid var(--accent);border-radius:50%;right:18px;top:17px;opacity:.52}
.process-visual-previz{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:20px 20px}.pv-stage{position:absolute;left:18%;right:18%;bottom:22px;height:42px;border:1px solid #34443e;transform:perspective(120px) rotateX(20deg)}.pv-truss{position:absolute;left:13%;right:13%;top:22px;height:5px;background:#27342f}.pv-beam{position:absolute;top:27px;width:1px;height:78px;background:linear-gradient(var(--accent),transparent);transform-origin:top}.pv-beam.b1{left:25%;transform:rotate(-16deg)}.pv-beam.b2{left:40%;transform:rotate(-5deg)}.pv-beam.b3{left:60%;transform:rotate(7deg)}.pv-beam.b4{left:75%;transform:rotate(18deg)}
.process-visual-plan{background-image:linear-gradient(rgba(17,222,203,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,222,203,.055) 1px,transparent 1px);background-size:15px 15px}.plot-stage{position:absolute;left:17%;right:17%;top:21px;bottom:29px;border:1px solid rgba(255,255,255,.25)}.plot-truss{position:absolute;left:25%;right:25%;height:2px;background:rgba(17,222,203,.48)}.plot-truss:after{content:'●  ●  ●  ●  ●  ●';position:absolute;left:0;right:0;top:-5px;font:6px var(--mono);letter-spacing:5px;color:#b8c8c2;white-space:nowrap;overflow:hidden}.plot-truss.t1{top:39px}.plot-truss.t2{top:63px}.plot-truss.t3{top:87px}.plot-foh{position:absolute;bottom:29px;left:44%;font:6px var(--mono);color:var(--accent)}
.process-visual-program{padding:19px 10px 12px}.cue-line{height:24px;display:grid;grid-template-columns:28px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);font:7px var(--mono);color:#71807b}.cue-line span{height:5px;background:linear-gradient(90deg,rgba(255,255,255,.11),rgba(17,222,203,.2));width:74%}.cue-line:nth-child(2) span{width:54%}.cue-line:nth-child(3) span{width:88%}.cue-line.active{color:var(--accent);background:rgba(17,222,203,.06)}.process-visual-program>i{position:absolute;left:63%;top:10px;bottom:24px;width:1px;background:var(--accent);box-shadow:0 0 10px rgba(17,222,203,.4)}
.process-visual-live{background:radial-gradient(circle at 50% 75%,rgba(17,222,203,.18),transparent 38%),#040706}.live-stage{position:absolute;left:20%;right:20%;bottom:20px;height:30px;border-top:1px solid #394943}.live-beam{position:absolute;top:14px;left:50%;width:2px;height:90px;background:linear-gradient(var(--accent),transparent);transform-origin:top;filter:drop-shadow(0 0 3px rgba(17,222,203,.4))}.live-beam.l1{left:27%;transform:rotate(-24deg)}.live-beam.l2{left:38%;transform:rotate(-10deg)}.live-beam.l3{left:50%;transform:rotate(0)}.live-beam.l4{left:62%;transform:rotate(10deg)}.live-beam.l5{left:73%;transform:rotate(24deg)}.process-visual-live>b{color:#a8b7b2}.process-visual-live>b span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);margin-right:5px}

.portfolio-shell{overflow:hidden}.portfolio-scroller{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:default;mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 98.5%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 98.5%,transparent 100%)}.portfolio-scroller::-webkit-scrollbar{display:none}.portfolio-scroller .portfolio-track{display:flex;gap:0;padding:0!important;width:max-content;transform:none!important}.portfolio-scroller .portfolio-set{display:flex;gap:14px;padding-right:14px;flex:0 0 auto}.portfolio-scroller .portfolio-card{flex:0 0 clamp(320px,28vw,455px);width:clamp(320px,28vw,455px);min-height:390px}
.portfolio-card.ci-cover img{filter:grayscale(1) contrast(1.13) brightness(.64)!important}.portfolio-ci-tint{position:absolute;inset:0;z-index:1;background:#11decb;mix-blend-mode:color;opacity:.72;pointer-events:none}.portfolio-card.ci-cover:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(17,222,203,.20),transparent 48%),linear-gradient(0deg,rgba(1,7,6,.72),transparent 54%);pointer-events:none}.portfolio-card.ci-cover:hover img{filter:grayscale(.88) contrast(1.16) brightness(.72)!important;transform:scale(1.025)}.portfolio-card.ci-cover:hover .portfolio-ci-tint{opacity:.58}.portfolio-card .portfolio-shade,.portfolio-card .portfolio-copy,.portfolio-card .portfolio-media-count{z-index:2}
.portfolio-foot{margin-top:12px}

/* Admin uses exactly the same non-destructive CI cover treatment. New uploads inherit it automatically. */
.ref-admin-card summary,.cover-preview{position:relative;overflow:hidden}.ref-admin-card summary>img,.cover-preview img{filter:grayscale(1) contrast(1.13) brightness(.65)}.ref-admin-card summary:before,.cover-preview:after{content:'';position:absolute;inset:0;background:#11decb;mix-blend-mode:color;opacity:.7;pointer-events:none;z-index:1}.ref-admin-card summary>span,.ref-admin-card summary>i{position:relative;z-index:2}.cover-preview img{position:relative;z-index:0}

@media(max-width:1320px){.process-grid-full{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.process-card-full{padding:14px 12px}.process-card-top h3{font-size:21px}.process-card-full p{font-size:12px}.process-visual{height:116px}}
@media(max-width:1080px){.process-grid-full{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.process-grid-full{grid-template-columns:1fr 1fr}.portfolio-scroller .portfolio-card{flex-basis:min(78vw,400px);width:min(78vw,400px)}}
@media(max-width:520px){.process-grid-full{grid-template-columns:1fr}.process-card-full{min-height:0}.process-visual{height:128px}.portfolio-scroller .portfolio-card{flex-basis:84vw;width:84vw}}

/* v5.9 — simplified hero + always-visible reference scrollbar */
.hero{min-height:90svh}
.hero-inner{padding-top:126px;padding-bottom:76px;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:54px;align-items:center}
.hero h1{font-size:clamp(66px,7.6vw,132px)}
.hero-lead{max-width:650px;margin-top:24px}
.hero-actions{margin-top:28px}
.hero-control-clean{padding:16px 17px 15px!important;background:rgba(5,9,8,.76)!important;backdrop-filter:blur(16px);box-shadow:0 24px 60px rgba(0,0,0,.24)!important}
.hero-control-clean:before{background:linear-gradient(180deg,rgba(17,222,203,.055),transparent 30%)!important}
.hero-local-tc{font-size:clamp(38px,3.2vw,54px)!important;margin:13px 0 11px!important;letter-spacing:-.055em!important}
.hero-cue-compact{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0 11px!important;margin:0!important}
.hero-cue-compact span{color:var(--accent)!important}.hero-cue-compact b{text-align:center}.hero-cue-compact em{font:8px var(--mono);font-style:normal;color:#66736f;letter-spacing:.06em}
.light-study{--beam-dim:.45;--beam-soft:.2;--beam-floor:.14;--beam-shift:0px;position:relative;border:1px solid rgba(255,255,255,.07);background:#040706;overflow:hidden}
.light-study-head{display:flex;justify-content:space-between;gap:16px;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.06);font:7px var(--mono);letter-spacing:.11em;color:#65736e}.light-study-head b{color:#b8c5c0;font-weight:500}
.light-study svg{display:block;width:100%;height:205px}
.light-study .light-volumes{transform:translateX(var(--beam-shift));transform-origin:50% 0;transition:opacity .3s ease,transform .35s ease}.light-study .light-volumes.primary{opacity:var(--beam-dim)}.light-study .light-volumes.secondary{opacity:var(--beam-soft)}.light-study .study-floor{opacity:var(--beam-floor);transition:opacity .3s ease}.light-study.is-impact .light-volumes.primary{filter:drop-shadow(0 0 7px rgba(17,222,203,.22))}.light-study.is-break .light-volumes{opacity:.075!important}.light-study .study-grid{stroke-dasharray:2 6}
.hero-dayline-clean{grid-template-columns:1fr 1fr!important;margin:10px 0 4px!important;padding-top:10px!important}.hero-dayline-clean span:last-child{text-align:right}
.hero-control-clean .showfile-scrub{height:26px;margin:2px 0 0}
.hero-control-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding-top:8px;border-top:1px solid rgba(255,255,255,.055)}.hero-control-row>small{font:6px var(--mono);letter-spacing:.1em;color:#5f6d68}.hero-control-row .show-auto{height:34px;padding:0 10px}.hero-control-row .show-go{height:34px;min-width:58px;padding:0 9px}

/* Reference rail: browser scroll plus custom CI scrollbar; custom bar stays visible on mobile. */
.portfolio-shell{overflow:visible}
.portfolio-scroller{scrollbar-width:none!important;-ms-overflow-style:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.portfolio-scroller::-webkit-scrollbar{display:none!important}
.portfolio-scrollbar{position:relative;height:8px;margin:14px 0 0;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);border-radius:999px;overflow:hidden;cursor:pointer}
.portfolio-scrollbar span{position:absolute;left:0;top:0;height:100%;width:22%;min-width:54px;border-radius:999px;background:linear-gradient(90deg,rgba(17,222,203,.56),var(--accent));box-shadow:0 0 18px rgba(17,222,203,.13);transform:translate3d(0,0,0);will-change:transform}
.portfolio-scrollbar:hover span{background:var(--accent)}
.portfolio-foot{margin-top:9px}

@media(max-width:1080px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(330px,400px);gap:34px}
  .light-study svg{height:180px}
}
@media(max-width:860px){
  .hero{min-height:auto}
  .hero-inner{grid-template-columns:1fr;padding-top:124px;padding-bottom:70px;gap:34px}
  .hero-control-clean{max-width:620px;width:100%}
  .light-study svg{height:190px}
}
@media(max-width:580px){
  .hero-inner{padding-top:104px;padding-bottom:58px;gap:28px}
  .hero h1{font-size:clamp(50px,15vw,74px)}
  .hero-control-clean{padding:13px!important}
  .hero-local-tc{font-size:clamp(32px,10vw,44px)!important}
  .hero-cue-compact{grid-template-columns:auto 1fr}.hero-cue-compact em{grid-column:1/-1;text-align:right;margin-top:-3px}
  .light-study svg{height:158px}
  .hero-dayline-clean small{font-size:6px}.hero-dayline-clean b{font-size:10px}
  .hero-control-row>small{display:none}.hero-control-row{grid-template-columns:1fr auto}.hero-control-row .show-auto{justify-self:start}
  .portfolio-scrollbar{height:9px;margin-top:11px}
}


/* v5.10 — cleaner opener with cue-wave + site dimmer */
:root{--site-dimmer:0}
body::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,var(--site-dimmer));pointer-events:none;z-index:999;transition:background .18s linear}
.hero-timecode.hero-control-clean{padding:18px 18px 16px;background:linear-gradient(180deg,rgba(7,11,10,.88),rgba(6,8,8,.78));border:1px solid rgba(255,255,255,.10);box-shadow:0 24px 60px rgba(0,0,0,.20)}
.hero-timecode.hero-control-clean:before{background:radial-gradient(circle at 18% 12%,rgba(17,222,203,.10),transparent 34%)}
.hero-cue-refined{padding:8px 0 10px;margin-bottom:10px}.hero-cue-refined em{font-style:normal;font-size:10px;color:#98a7a2}
.cue-wave-module{margin:0 0 12px;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(4,7,8,.92),rgba(5,8,8,.82))}
.cue-wave-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-family:var(--mono)}
.cue-wave-head span{font-size:7px;letter-spacing:.13em;color:#73817c}.cue-wave-head b{font-size:10px;letter-spacing:.05em;color:#edf3f1}
.cue-wave-track{--playhead:0%;position:relative;height:148px;overflow:hidden;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#04111a,#05121b 55%,#071018)}
.cue-wave-track:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(17,222,203,.06),transparent 60%)}
.cue-wave-centerline{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.09)}
.cue-wave-bars{position:absolute;inset:16px 18px 24px;display:grid;grid-template-columns:repeat(64,1fr);gap:7px;align-items:center}
.cue-wave-bar{position:relative;display:block;justify-self:center;width:4px;height:calc(100% * var(--amp));min-height:16px;align-self:center;top:50%;transform:translateY(-50%);border-radius:999px;background:rgba(245,249,248,.95);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.cue-wave-bar.is-passed{background:linear-gradient(180deg,#11decb,#bff7ef);box-shadow:0 0 14px rgba(17,222,203,.14)}
.cue-wave-bar.is-near{box-shadow:0 0 18px rgba(255,255,255,.18)}
.cue-wave-playhead{position:absolute;top:12px;bottom:22px;left:var(--playhead);width:2px;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.22)}
.cue-wave-playhead:before{content:"";position:absolute;left:-4px;top:-6px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:#0a1418}
.cue-wave-markers{position:absolute;left:18px;right:18px;bottom:0;height:28px}
.cue-wave-marker{position:absolute;left:var(--marker-x);bottom:0;transform:translateX(-50%);background:none;border:0;padding:0 0 2px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#869691;cursor:pointer;font:7px var(--mono);letter-spacing:.08em}
.cue-wave-marker i{display:block;width:9px;height:9px;border:1px solid rgba(17,222,203,.55);transform:rotate(45deg);background:#081112}
.cue-wave-marker.active{color:#edf3f1}.cue-wave-marker.active i{background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.35)}
.cue-wave-footer{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:10px;margin-top:12px}
.cue-wave-footer span{padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}
.cue-wave-footer small,.hero-dimmer-label span{display:block;font:7px var(--mono);letter-spacing:.12em;color:#6e7c77}
.cue-wave-footer b,.hero-dimmer-label b{display:block;margin-top:5px;font:12px var(--mono);color:#f3f7f6}
.hero-dimmer{margin:0 0 12px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.hero-dimmer-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.hero-dimmer-slider{appearance:none;-webkit-appearance:none;width:100%;height:26px;background:transparent;cursor:ew-resize}
.hero-dimmer-slider::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--accent) 0,var(--accent) calc((var(--value,100) * 1%)),rgba(255,255,255,.14) calc((var(--value,100) * 1%)),rgba(255,255,255,.14) 100%)}
.hero-dimmer-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:20px;margin-top:-9px;border:1px solid var(--accent);background:#07100e;box-shadow:0 0 14px rgba(17,222,203,.2)}
.hero-dimmer-slider::-moz-range-track{height:2px;background:rgba(255,255,255,.14)}.hero-dimmer-slider::-moz-range-progress{height:2px;background:var(--accent)}.hero-dimmer-slider::-moz-range-thumb{width:12px;height:20px;border:1px solid var(--accent);background:#07100e}
.hero-control-row-clean{display:flex;align-items:center;gap:10px}.hero-control-row-clean small{margin-right:auto;font:7px var(--mono);letter-spacing:.11em;color:#70807a}
.hero-control-row-clean .show-auto,.hero-control-row-clean .show-go{flex:0 0 auto}
@media(max-width:860px){.cue-wave-track{height:134px}.cue-wave-footer{grid-template-columns:1fr 1fr 1fr}.cue-wave-bars{gap:5px}}
@media(max-width:580px){.cue-wave-module{padding:12px 11px 10px}.cue-wave-head{display:block}.cue-wave-head b{display:block;margin-top:5px}.cue-wave-track{height:122px}.cue-wave-bars{inset:14px 12px 24px;gap:4px}.cue-wave-bar{width:3px}.cue-wave-footer{grid-template-columns:1fr}.hero-dimmer{padding:10px 11px}.hero-control-row-clean{flex-wrap:wrap}.hero-control-row-clean small{width:100%;margin-right:0}}


/* v5.11 — passive showfile + real hero spot control */
body::after{display:none!important}
.hero-wash{opacity:.12;mix-blend-mode:screen}
.hero-spot{--spot-level:.72;--spot-size:58vw;--spot-core:24vw;position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.hero-spot i{position:absolute;left:var(--mx,74%);top:var(--my,34%);width:var(--spot-size);height:var(--spot-size);transform:translate(-50%,-50%);border-radius:50%;opacity:calc(var(--spot-level) * .62);background:radial-gradient(circle,rgba(230,255,251,.25) 0,rgba(17,222,203,.18) 18%,rgba(17,222,203,.07) 42%,transparent 72%);filter:blur(2px);transition:width .18s ease,height .18s ease,opacity .15s linear}
.hero-spot span{position:absolute;left:var(--mx,74%);top:var(--my,34%);width:var(--spot-core);height:var(--spot-core);transform:translate(-50%,-50%);border-radius:50%;opacity:calc(var(--spot-level) * .52);background:radial-gradient(circle,rgba(255,255,255,.30) 0,rgba(203,255,247,.16) 20%,rgba(17,222,203,.08) 48%,transparent 73%);box-shadow:0 0 80px rgba(17,222,203,calc(var(--spot-level) * .12));transition:width .18s ease,height .18s ease,opacity .15s linear}
.hero-timecode.hero-control-clean{max-width:430px}
.cue-wave-marker{cursor:default!important;pointer-events:none!important}
.cue-wave-marker.active i{background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.35)}
.hero-spot-control{margin:0;padding:11px 12px 10px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012))}
.hero-spot-control .hero-dimmer-label{margin-bottom:7px}
.hero-spot-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:5px;padding-top:8px;border-top:1px solid rgba(255,255,255,.055);font:6px var(--mono);letter-spacing:.09em;color:#64716c}
.hero-spot-meta span{display:flex;align-items:center;gap:6px}.hero-spot-meta span i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(17,222,203,.55)}
.hero-spot-meta b{font-weight:500;color:#87948f}
.hero-dimmer-slider{height:24px}
.hero-dimmer-slider::-webkit-slider-thumb{width:10px;height:18px;margin-top:-8px;border-radius:999px;background:#08110f}
.hero-dimmer-slider::-moz-range-thumb{width:10px;height:18px;border-radius:999px;background:#08110f}
@media(max-width:860px){.hero-timecode.hero-control-clean{max-width:620px}.hero-spot{--spot-size:82vw;--spot-core:36vw}}
@media(max-width:580px){.hero-spot-meta{font-size:5.6px}.hero-spot-meta b{white-space:nowrap}.cue-wave-footer{grid-template-columns:1fr 1fr}.cue-wave-footer span:first-child{grid-column:1/-1}.hero-spot{--spot-size:110vw;--spot-core:52vw}}


/* v5.12 — browser-safe hero spot dimmer */
.hero-spot{z-index:2!important;mix-blend-mode:screen;isolation:isolate}
.hero-spot i{opacity:.55;background:radial-gradient(circle,rgba(242,255,252,.36) 0%,rgba(145,255,239,.25) 14%,rgba(17,222,203,.15) 34%,rgba(17,222,203,.055) 54%,transparent 74%);filter:blur(3px);will-change:width,height,opacity,left,top}
.hero-spot span{opacity:.45;background:radial-gradient(circle,rgba(255,255,255,.42) 0%,rgba(221,255,250,.22) 19%,rgba(17,222,203,.10) 46%,transparent 72%);box-shadow:0 0 76px rgba(17,222,203,.10);will-change:width,height,opacity,left,top}
.hero-inner{z-index:3!important}
.hero-dimmer-slider{--value:72}
.hero-dimmer-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--accent) 0 calc(var(--value)*1%),rgba(255,255,255,.14) calc(var(--value)*1%) 100%)}


/* v5.13 — chronological references + harder/invert hero spot */
.hero-spot{--spot-level:.72;--spot-size:46vw;--spot-core:19vw;--spot-invert:.28;--spot-hardness:45%;--spot-edge:52%;z-index:2!important;mix-blend-mode:screen;isolation:isolate;pointer-events:none}
.hero-spot i{opacity:.55;background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(227,255,251,.34) var(--spot-hardness),rgba(17,222,203,.14) calc(var(--spot-edge) - 2%),rgba(17,222,203,.06) var(--spot-edge),transparent calc(var(--spot-edge) + 8%));filter:blur(.8px);will-change:width,height,opacity,left,top;transition:width .16s ease,height .16s ease,opacity .14s linear}
.hero-spot span{opacity:.34;width:calc(var(--spot-core) * 1.08);height:calc(var(--spot-core) * 1.08);background:radial-gradient(circle,transparent 0,transparent 38%,rgba(255,255,255,.85) 40%,rgba(255,255,255,.88) 48%,rgba(255,255,255,0) 56%,transparent 100%);mix-blend-mode:difference;filter:saturate(0) invert(1);box-shadow:none;will-change:width,height,opacity,left,top;transition:width .16s ease,height .16s ease,opacity .14s linear}
.hero-spot-control .hero-dimmer-label span{color:#9bb8b1}
.hero-spot-meta b{color:#9eb9b3}
@media(max-width:860px){.hero-spot{--spot-size:68vw;--spot-core:28vw}}
@media(max-width:580px){.hero-spot{--spot-size:84vw;--spot-core:34vw}}


/* v5.14 — CI green / black invert spot */
.hero-spot{
  --spot-size:46vw;
  --spot-core:28vw;
  --spot-hardness:47%;
  --spot-edge:51%;
  --spot-invert:.52;
  z-index:2!important;
  mix-blend-mode:normal!important;
  isolation:isolate;
}
/* Outer light volume: unmistakable 2morrowLights green, nearly hard edged. */
.hero-spot i{
  position:absolute;
  left:var(--mx,74%);top:var(--my,34%);
  width:var(--spot-size);height:var(--spot-size);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(17,222,203,.19) 0%,
    rgba(17,222,203,.16) var(--spot-hardness),
    rgba(17,222,203,.52) calc(var(--spot-edge) - 1.2%),
    rgba(17,222,203,.92) var(--spot-edge),
    rgba(17,222,203,.08) calc(var(--spot-edge) + 1.2%),
    transparent calc(var(--spot-edge) + 2.4%)
  );
  border:1px solid rgba(17,222,203,.52);
  box-shadow:0 0 22px rgba(17,222,203,.12), inset 0 0 28px rgba(17,222,203,.05);
  filter:none!important;
}
/* Core: invert what is behind, force it monochrome, then tint it CI-green.
   Light areas become near-black, reversed details emerge green. */
.hero-spot span{
  position:absolute;
  left:var(--mx,74%);top:var(--my,34%);
  width:var(--spot-core);height:var(--spot-core);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(17,222,203,.20)!important;
  border:1px solid rgba(17,222,203,.78);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.30),0 0 22px rgba(17,222,203,.10)!important;
  mix-blend-mode:normal!important;
  -webkit-backdrop-filter:invert(1) grayscale(1) contrast(1.85) brightness(.48);
  backdrop-filter:invert(1) grayscale(1) contrast(1.85) brightness(.48);
  filter:none!important;
}
/* Green tint layer over the inverted core: keeps blacks black and drives highlights into CI green. */
.hero-spot span:after{
  content:"";
  position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(rgba(17,222,203,.48),rgba(17,222,203,.48));
  mix-blend-mode:multiply;
  pointer-events:none;
}
.hero-spot-control{border-color:rgba(17,222,203,.14)}
.hero-spot-control .hero-dimmer-label span{color:var(--accent)}
.hero-spot-meta span i{background:var(--accent);box-shadow:0 0 12px rgba(17,222,203,.65)}
@media(max-width:860px){.hero-spot{--spot-size:66vw;--spot-core:38vw}}
@media(max-width:580px){.hero-spot{--spot-size:82vw;--spot-core:48vw}}


/* v5.16 — recognisable CI followspot cone */
.hero-spot{
  --spot-level:.72;
  --beam-source-x:76vw;
  --beam-source-y:3vh;
  --beam-target-x:70vw;
  --beam-target-y:62vh;
  --beam-length:62vh;
  --beam-angle:96deg;
  --beam-width:270px;
  --pool-width:180px;
  --pool-height:76px;
  position:absolute;inset:0;z-index:2!important;pointer-events:none;overflow:hidden;mix-blend-mode:normal!important;isolation:isolate;
}
.hero-spot .hero-beam-cone{
  position:absolute;
  left:var(--beam-source-x);top:var(--beam-source-y);
  width:var(--beam-length);height:var(--beam-width);
  transform-origin:0 50%;
  transform:translateY(-50%) rotate(var(--beam-angle));
  clip-path:polygon(0 48.5%,100% 0,100% 100%,0 51.5%);
  border-radius:0!important;border:0!important;
  background:linear-gradient(90deg,
    rgba(17,222,203,.52) 0%,
    rgba(17,222,203,.30) 18%,
    rgba(17,222,203,.22) 62%,
    rgba(17,222,203,.12) 100%)!important;
  -webkit-backdrop-filter:invert(1) grayscale(1) contrast(1.55) brightness(.72);
  backdrop-filter:invert(1) grayscale(1) contrast(1.55) brightness(.72);
  box-shadow:none!important;filter:none!important;
  opacity:.52;
  transition:height .16s ease,opacity .14s linear;
}
.hero-spot .hero-beam-cone:after{
  content:"";position:absolute;inset:0;
  clip-path:inherit;
  background:linear-gradient(90deg,rgba(0,0,0,.54) 0%,rgba(0,0,0,.18) 28%,rgba(17,222,203,.18) 70%,rgba(17,222,203,.42) 100%);
  mix-blend-mode:multiply;
}
.hero-spot .hero-beam-pool{
  position:absolute;
  left:var(--beam-target-x);top:var(--beam-target-y);
  width:var(--pool-width);height:var(--pool-height);
  transform:translate(-50%,-50%);
  border-radius:50%!important;
  border:2px solid rgba(17,222,203,.90)!important;
  background:rgba(17,222,203,.18)!important;
  -webkit-backdrop-filter:invert(1) grayscale(1) contrast(1.9) brightness(.48);
  backdrop-filter:invert(1) grayscale(1) contrast(1.9) brightness(.48);
  box-shadow:0 0 0 1px rgba(0,0,0,.48),0 0 20px rgba(17,222,203,.16)!important;
  filter:none!important;mix-blend-mode:normal!important;
  opacity:.72;
  transition:width .16s ease,height .16s ease,opacity .14s linear,left .12s linear,top .12s linear;
}
.hero-spot .hero-beam-pool:after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(17,222,203,.30));
  mix-blend-mode:multiply;
}
.hero-spot .hero-beam-source{
  position:absolute;left:var(--beam-source-x);top:var(--beam-source-y);
  width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;
  background:#11decb;border:2px solid rgba(0,0,0,.72);box-shadow:0 0 16px rgba(17,222,203,.42);
  opacity:calc(.25 + var(--spot-level) * .75);
}
.hero-wash{opacity:.045!important}
@media(max-width:860px){
  .hero-spot{--beam-source-x:79vw;--beam-source-y:4vh;--beam-target-x:66vw;--beam-target-y:54vh}
}
@media(max-width:580px){
  .hero-spot{--beam-source-x:82vw;--beam-source-y:5vh;--beam-target-x:62vw;--beam-target-y:47vh}
  .hero-spot .hero-beam-cone{backdrop-filter:invert(1) grayscale(1) contrast(1.4) brightness(.72);-webkit-backdrop-filter:invert(1) grayscale(1) contrast(1.4) brightness(.72)}
}


/* v5.17 — no beam pool circle, default subtle beam */
.hero-spot{--spot-level:.30;--beam-width:132px}
.hero-spot .hero-beam-pool{display:none!important}
.hero-spot .hero-beam-cone{opacity:calc(.06 + var(--spot-level) * .62)}
.hero-spot .hero-beam-cone:after{background:linear-gradient(90deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.26) 34%,rgba(17,222,203,.14) 78%,rgba(17,222,203,.32) 100%)}

/* v5.19 — reference covers reveal original colour on hover */
.portfolio-card.ci-cover:hover img{filter:saturate(1.08) contrast(1.05) brightness(.9)!important;transform:scale(1.025)}
.portfolio-card.ci-cover:hover .portfolio-ci-tint{opacity:0!important}
.portfolio-card.ci-cover:hover:after{opacity:.25}
.modal-data{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:580px){.modal-data{grid-template-columns:1fr}}
