
:root{
  --bg:#05030a;
  --bg2:#0e0920;
  --ink:#f7f1ff;
  --muted:rgba(247,241,255,.68);
  --line:rgba(255,255,255,.14);
  --pink:#ff2bd6;
  --cyan:#22e8ff;
  --acid:#c8ff2e;
  --orange:#ff7a2d;
  --purple:#8d3cff;
  --max:1180px;
  --shadow:0 30px 120px rgba(0,0,0,.55);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% -10%,rgba(255,43,214,.22),transparent 34%),radial-gradient(circle at 80% 10%,rgba(34,232,255,.18),transparent 32%),linear-gradient(180deg,var(--bg),#090414 45%,#040207);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;overflow-x:hidden}body::before{content:"";position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent,rgba(0,0,0,.6) 70%);z-index:1}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 44px),var(--max));margin-inline:auto}.section{position:relative;padding:116px 0;z-index:2}.section.compact{padding:82px 0}.section.no-top{padding-top:0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,86px);align-items:start}.eyebrow,.kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:950;color:var(--acid)}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(44px,6vw,92px);line-height:.86;letter-spacing:-.075em;text-transform:uppercase;font-weight:1000;margin-bottom:20px}p{line-height:1.6}.hero-copy,.lead{font-size:clamp(18px,2.3vw,27px);line-height:1.32;max-width:780px;color:rgba(247,241,255,.88)}.body-copy{color:var(--muted);font-size:16px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:14px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:950;transition:.25s ease;position:relative;overflow:hidden}.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-110%);transition:.4s ease}.btn:hover::before{transform:translateX(110%)}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(255,43,214,.18)}.btn.primary{background:var(--ink);color:#090414;border-color:transparent}.btn.ghost{background:rgba(255,255,255,.05);backdrop-filter:blur(12px)}
.loader{position:fixed;inset:0;background:#05030a;display:grid;place-items:center;z-index:999;transition:.7s cubic-bezier(.16,1,.3,1)}.loader.hidden{opacity:0;visibility:hidden}.loader div{display:grid;gap:12px;text-align:center}.loader span{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-weight:900;font-size:11px}.loader b{font-size:clamp(80px,16vw,180px);letter-spacing:-.12em;line-height:.8;font-weight:1000;background:linear-gradient(100deg,var(--pink),var(--cyan),var(--acid));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(34,232,255,.3))}.progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--pink),var(--cyan),var(--acid));z-index:800;box-shadow:0 0 22px var(--cyan)}.grain,.scanlines{position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.15}.grain{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.scanlines{background:repeating-linear-gradient(180deg,rgba(255,255,255,.08) 0 1px,transparent 1px 5px);mix-blend-mode:soft-light;opacity:.06}.flash-layer{position:fixed;inset:0;background:white;z-index:700;opacity:0;pointer-events:none}.flash-layer.fire{animation:flash .55s ease}@keyframes flash{0%{opacity:0}8%{opacity:.55}18%{opacity:.05}28%{opacity:.28}100%{opacity:0}}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;z-index:850;display:none}.cursor-dot{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 22px var(--acid)}.cursor-ring{width:42px;height:42px;border:1px solid rgba(255,255,255,.48);border-radius:50%;transition:width .2s,height .2s,background .2s,border-color .2s}.cursor-ring.active{width:72px;height:72px;background:rgba(255,43,214,.12);border-color:var(--pink)}.corner-rec{position:fixed;right:18px;bottom:18px;z-index:20;display:flex;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(5,3,10,.42);backdrop-filter:blur(16px);font-size:11px;font-weight:950;letter-spacing:.1em;color:rgba(255,255,255,.72)}.corner-rec i{width:9px;height:9px;border-radius:50%;background:#ff1744;box-shadow:0 0 14px #ff1744;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.82)}}.beamfield{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.beamfield span{position:absolute;width:160vw;height:2px;background:linear-gradient(90deg,transparent,rgba(34,232,255,.8),transparent);filter:blur(.2px);opacity:.22;transform-origin:left center;animation:beamSweep 9s linear infinite}.beamfield span:nth-child(1){left:-30%;top:22%;transform:rotate(14deg);animation-delay:-1s}.beamfield span:nth-child(2){left:-20%;top:62%;transform:rotate(-9deg);animation-delay:-3s;background:linear-gradient(90deg,transparent,rgba(255,43,214,.75),transparent)}.beamfield span:nth-child(3){left:40%;top:10%;transform:rotate(104deg);animation-delay:-5s}.beamfield span:nth-child(4){left:20%;top:82%;transform:rotate(-24deg);animation-delay:-7s;background:linear-gradient(90deg,transparent,rgba(200,255,46,.5),transparent)}.beamfield span:nth-child(5){left:-40%;top:35%;transform:rotate(4deg);animation-delay:-2s}.beamfield span:nth-child(6){left:10%;top:45%;transform:rotate(31deg);animation-delay:-6s;background:linear-gradient(90deg,transparent,rgba(255,122,45,.65),transparent)}@keyframes beamSweep{0%,100%{opacity:.05;transform:translateX(-20%) rotate(var(--r,14deg))}50%{opacity:.34;transform:translateX(20%) rotate(var(--r,14deg))}}.orb{position:fixed;border-radius:50%;filter:blur(42px);opacity:.24;z-index:0;pointer-events:none;animation:floatOrb 14s ease-in-out infinite}.orb-a{width:320px;height:320px;background:var(--pink);left:-80px;top:20%}.orb-b{width:360px;height:360px;background:var(--cyan);right:-120px;top:10%;animation-delay:-5s}.orb-c{width:260px;height:260px;background:var(--acid);left:55%;bottom:-100px;animation-delay:-9s}@keyframes floatOrb{50%{transform:translate3d(60px,-40px,0) scale(1.15)}}
.site-header{position:fixed;left:50%;top:18px;transform:translateX(-50%);width:min(calc(100% - 36px),var(--max));z-index:500;display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;padding:10px 10px 10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(5,3,10,.55);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(0,0,0,.28)}.brand{display:flex;gap:10px;align-items:center;font-weight:1000;line-height:.85;text-transform:uppercase;letter-spacing:-.05em}.brand em{font-style:normal;color:var(--muted);font-size:11px;letter-spacing:.1em}.brand-mark{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--acid),var(--cyan) 42%,transparent 43%);display:grid;place-items:center;box-shadow:0 0 24px rgba(34,232,255,.3)}.brand-mark i{width:18px;height:18px;border:2px solid #05030a;border-radius:50%;display:block}.nav{justify-self:center;display:flex;gap:4px}.nav a{padding:11px 13px;border-radius:999px;color:rgba(247,241,255,.7);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;transition:.2s}.nav a:hover,.nav a.active{color:var(--ink);background:rgba(255,255,255,.1)}.nav-cta{padding:12px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:#05030a;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:950}.menu-toggle{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative}.menu-toggle span{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:.2s}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{bottom:16px}.site-header.open .menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.site-header.open .menu-toggle span:last-child{bottom:21px;transform:rotate(-45deg)}
.hero{min-height:100svh;position:relative;isolation:isolate;display:grid;align-items:end;overflow:hidden;padding:150px 0 86px}.hero-bg,.page-hero>img{position:absolute;inset:0;z-index:-3}.hero-bg img,.page-hero>img{width:100%;height:100%;object-fit:cover;filter:saturate(1.15) contrast(1.05)}.hero::after,.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,10,.95),rgba(5,3,10,.35) 46%,rgba(5,3,10,.85)),linear-gradient(180deg,rgba(5,3,10,.1),#05030a 96%);z-index:-2}.hero-shutter{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero-shutter span{position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:inset 0 0 80px rgba(0,0,0,.35);animation:shutterSpin 18s linear infinite}.hero-shutter span:nth-child(1){width:75vmin;height:75vmin;right:5%;top:10%}.hero-shutter span:nth-child(2){width:55vmin;height:55vmin;right:15%;top:20%;animation-duration:13s;animation-direction:reverse}.hero-shutter span:nth-child(3){width:35vmin;height:35vmin;right:25%;top:30%;animation-duration:8s}@keyframes shutterSpin{to{transform:rotate(360deg)}}.hero-content{position:relative;z-index:5}.mega{font-size:clamp(68px,14vw,210px);line-height:.74;letter-spacing:-.115em;text-transform:uppercase;font-weight:1000;margin:0 0 26px;max-width:1000px;text-shadow:0 0 42px rgba(255,43,214,.2)}.mega span{display:block;font-size:.28em;letter-spacing:.02em;color:var(--muted);line-height:1.2}.mega strong{display:block;background:linear-gradient(90deg,var(--ink),var(--pink),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.mega em{display:block;font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(247,241,255,.78);text-shadow:none}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.live-meter{display:flex;align-items:end;gap:5px;margin-top:28px}.live-meter span{width:10px;height:calc(var(--i)*7px + 12px);background:linear-gradient(180deg,var(--acid),var(--cyan));border-radius:999px;animation:eq 1s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.08s);box-shadow:0 0 16px rgba(34,232,255,.3)}.live-meter b{margin-left:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:11px}@keyframes eq{to{height:calc((9 - var(--i))*8px + 16px)}}.hero-orbit{position:absolute;right:5vw;top:22vh;width:min(44vw,560px);height:52vh;z-index:3;pointer-events:none}.hero-orbit img{position:absolute;object-fit:cover;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);animation:drift 8s ease-in-out infinite;border-radius:26px}.hero-orbit img:nth-child(1){width:220px;height:295px;right:5%;top:0;transform:rotate(7deg)}.hero-orbit img:nth-child(2){width:270px;height:180px;left:0;top:18%;transform:rotate(-8deg);animation-delay:-2s}.hero-orbit img:nth-child(3){width:170px;height:230px;right:42%;bottom:0;transform:rotate(4deg);animation-delay:-4s}.hero-orbit img:nth-child(4){width:280px;height:170px;right:0;bottom:7%;transform:rotate(-4deg);animation-delay:-6s}@keyframes drift{50%{translate:0 -16px;filter:saturate(1.25)}}.camera-frame{position:absolute;inset:96px 28px 28px;border:1px solid rgba(255,255,255,.13);z-index:3;pointer-events:none;border-radius:28px}.camera-frame i{position:absolute;width:46px;height:46px;border-color:var(--acid);border-style:solid;filter:drop-shadow(0 0 14px rgba(200,255,46,.45))}.camera-frame i:nth-child(1){left:20px;top:20px;border-width:3px 0 0 3px}.camera-frame i:nth-child(2){right:20px;top:20px;border-width:3px 3px 0 0}.camera-frame i:nth-child(3){left:20px;bottom:20px;border-width:0 0 3px 3px}.camera-frame i:nth-child(4){right:20px;bottom:20px;border-width:0 3px 3px 0}.camera-frame span{position:absolute;right:22px;bottom:20px;color:rgba(255,255,255,.58);letter-spacing:.16em;font-size:11px;font-weight:950}.ticker{position:relative;z-index:5;overflow:hidden;border-block:1px solid var(--line);background:rgba(255,255,255,.04)}.ticker div{display:flex;width:max-content;animation:marquee 24s linear infinite}.ticker span{display:block;padding:22px 18px;font-size:clamp(28px,6vw,80px);line-height:1;text-transform:uppercase;font-weight:1000;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}.ticker span:nth-child(3n){color:var(--acid);-webkit-text-stroke:0}.ticker span:nth-child(4n){color:var(--pink);-webkit-text-stroke:0}@keyframes marquee{to{transform:translateX(-50%)}}
.sticky-copy{position:relative;top:auto}.intro-copy>p:first-child{font-size:clamp(28px,4vw,54px);line-height:.95;font-weight:1000;letter-spacing:-.06em;text-transform:uppercase}.intro-copy>p:not(:first-child){font-size:19px;color:var(--muted);max-width:720px}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.output-card{padding:18px;text-align:left;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.055);transition:.25s}.output-card:hover,.output-card.active{border-color:var(--acid);background:rgba(200,255,46,.12);transform:translateY(-4px)}.output-card b{display:block;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.output-card span{display:block;color:var(--muted);line-height:1.45}.output-preview{display:grid;grid-template-columns:180px 1fr;gap:18px;border:1px solid var(--line);border-radius:30px;padding:14px;background:rgba(255,255,255,.055);align-items:center}.output-preview img{height:155px;width:100%;object-fit:cover;border-radius:20px}.output-preview strong{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--acid)}.output-preview p{margin:4px 0 0;color:var(--muted)}.image-chaos{position:relative;min-height:980px}.chaos-copy{position:absolute;left:0;top:80px;max-width:420px;z-index:3}.chaos-img{position:absolute;margin:0;border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#111}.chaos-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s ease}.chaos-img:hover img{transform:scale(1.07);filter:saturate(1.35)}.chaos-img figcaption{position:absolute;left:14px;bottom:14px;padding:9px 11px;border-radius:999px;background:rgba(5,3,10,.65);backdrop-filter:blur(12px);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:950}.c1{right:0;top:0;width:56%;height:410px;transform:rotate(2deg)}.c2{left:8%;top:380px;width:28%;height:420px;transform:rotate(-5deg)}.c3{right:18%;top:500px;width:34%;height:270px;transform:rotate(4deg)}.c4{right:0;top:760px;width:30%;height:380px;transform:rotate(-3deg)}.c5{left:0;top:840px;width:44%;height:300px;transform:rotate(2deg)}.service-stack{display:grid;gap:18px}.service-panel{position:relative;top:auto;display:grid;grid-template-columns:.75fr 1fr;gap:24px;align-items:center;min-height:420px;border:1px solid var(--line);border-radius:36px;padding:28px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--shadow);overflow:hidden}.service-panel:nth-child(2){top:auto}.service-panel:nth-child(3){top:auto}.service-panel::before{content:"";position:absolute;inset:auto -10% -45% auto;width:420px;height:420px;border-radius:50%;background:var(--accent);filter:blur(68px);opacity:.22}.service-panel span{font-size:14px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-weight:950}.service-panel h3{font-size:clamp(44px,6vw,80px);line-height:.82;text-transform:uppercase;letter-spacing:-.08em;margin:12px 0}.service-panel p{color:var(--muted);font-size:18px;max-width:460px}.service-panel img{height:360px;width:100%;object-fit:cover;border-radius:28px;border:1px solid rgba(255,255,255,.12);position:relative;z-index:2}.mini-wall{height:720px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:36px;background:rgba(255,255,255,.04)}.mini-wall img{position:absolute;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow);animation:drift 8s ease-in-out infinite}.mini-wall img:nth-child(1){left:3%;top:8%;width:42%;height:42%}.mini-wall img:nth-child(2){right:4%;top:6%;width:25%;height:45%;animation-delay:-2s}.mini-wall img:nth-child(3){left:34%;top:38%;width:36%;height:35%;animation-delay:-4s}.mini-wall img:nth-child(4){left:7%;bottom:6%;width:23%;height:34%;animation-delay:-5s}.mini-wall img:nth-child(5){right:7%;bottom:8%;width:27%;height:31%;animation-delay:-3s}.mini-wall img:nth-child(6){left:72%;top:48%;width:22%;height:20%;animation-delay:-1s}
.page-hero{position:relative;min-height:78svh;display:grid;align-items:end;padding:150px 0 86px;overflow:hidden;isolation:isolate}.page-hero-copy{position:relative;z-index:5}.page-title{font-size:clamp(76px,15vw,190px)}.work-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:950;color:var(--muted)}.filter.active,.filter:hover{background:var(--ink);color:#05030a}.work-wall{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:96px;gap:14px}.work-card{position:relative;grid-column:span 4;grid-row:span 4;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#111;box-shadow:var(--shadow);cursor:pointer;transition:.35s ease}.work-card.wide{grid-column:span 6;grid-row:span 4}.work-card.tall{grid-column:span 3;grid-row:span 5}.work-card.small{grid-column:span 3;grid-row:span 3}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s}.work-card:hover{transform:translateY(-8px) rotate(.4deg);border-color:rgba(255,255,255,.35)}.work-card:hover img{transform:scale(1.08);filter:saturate(1.4) contrast(1.04)}.work-card.hide{display:none}.work-card__hud{position:absolute;inset:auto 12px 12px 12px;display:grid;gap:5px;padding:12px;border-radius:18px;background:linear-gradient(180deg,rgba(5,3,10,.28),rgba(5,3,10,.75));backdrop-filter:blur(10px);transform:translateY(8px);opacity:.9;transition:.25s}.work-card:hover .work-card__hud{transform:translateY(0);opacity:1}.work-card__hud span{text-transform:uppercase;letter-spacing:.13em;color:var(--acid);font-size:10px;font-weight:950}.work-card__hud b{font-size:15px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.case-tile{position:relative;min-height:460px;border-radius:34px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.case-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(1.12)}.case-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(5,3,10,.92))}.case-tile div{position:absolute;left:20px;right:20px;bottom:20px;z-index:2}.case-tile span{text-transform:uppercase;letter-spacing:.14em;color:var(--acid);font-size:11px;font-weight:950}.case-tile h3{font-size:34px;line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin:10px 0}.case-tile p{color:var(--muted);margin:0}.agenda-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.calendar-panel,.date-card,.contact-info,.booking-form{border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.055);box-shadow:var(--shadow);padding:24px;position:relative;overflow:hidden}.calendar-panel::before,.contact-info::before,.booking-form::before{content:"";position:absolute;inset:-2px;background:linear-gradient(120deg,transparent,rgba(255,43,214,.25),transparent,rgba(34,232,255,.25),transparent);opacity:.5;z-index:-1;animation:borderFlow 5s linear infinite}@keyframes borderFlow{to{transform:rotate(1turn)}}.calendar-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.calendar-top h2{margin:0}.calendar-top span{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:950}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekdays span{text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;padding:8px}.day{min-height:94px;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.22);padding:10px;text-align:left;position:relative;overflow:hidden;transition:.2s}.day:not(.empty):hover,.day.selected{transform:translateY(-4px);border-color:var(--acid);background:rgba(200,255,46,.12)}.day b{font-size:24px}.day span{position:absolute;left:10px;bottom:10px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;color:var(--muted)}.day.booked::before,.day.studio::before,.day.open::before{content:"";position:absolute;right:8px;top:8px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 15px currentColor}.day.booked{color:var(--pink)}.day.open{color:var(--acid)}.day.studio{color:var(--cyan)}.day.empty{opacity:.18}.date-card{position:relative;top:auto}.date-card h3{font-size:clamp(42px,5vw,74px);line-height:.86;letter-spacing:-.07em;text-transform:uppercase;margin:0 0 14px}.date-card p{color:var(--muted)}.date-card strong{display:inline-flex;padding:9px 11px;border-radius:999px;border:1px solid var(--line);color:var(--acid);text-transform:uppercase;font-size:11px;letter-spacing:.13em}.date-card img{margin-top:22px;border-radius:24px;height:280px;width:100%;object-fit:cover}.gig-list{display:grid;gap:12px}.gig-row{display:grid;grid-template-columns:120px 1fr 90px;gap:16px;align-items:center;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.04);padding:16px}.gig-row b{font-size:28px;letter-spacing:-.05em}.gig-row strong{display:block;text-transform:uppercase}.gig-row span{color:var(--muted)}.gig-row i{font-style:normal;color:var(--acid);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;text-align:right}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.about-collage{position:relative;min-height:650px}.about-collage img{position:absolute;object-fit:cover;border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow);animation:drift 7s ease-in-out infinite}.ac-main{width:64%;height:520px;left:8%;top:40px}.ac-a{width:48%;height:210px;right:0;top:0;animation-delay:-2s}.ac-b{width:46%;height:260px;right:6%;bottom:20px;animation-delay:-4s}.floating-tag{position:absolute;left:0;bottom:90px;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;text-align:center;text-transform:uppercase;font-weight:1000;letter-spacing:-.05em;line-height:.9;background:var(--acid);color:#05030a;box-shadow:0 0 60px rgba(200,255,46,.35);animation:spin 12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.about-copy p:not(.eyebrow){font-size:19px;color:var(--muted);max-width:720px}.gear-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}.gear-grid div{padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.055)}.gear-grid b{color:var(--acid);font-size:12px;letter-spacing:.16em}.gear-grid strong{display:block;margin:10px 0 6px;text-transform:uppercase}.gear-grid span{color:var(--muted)}.process-line{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-line article{padding:24px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.05)}.process-line span{text-transform:uppercase;color:var(--acid);font-size:11px;letter-spacing:.15em;font-weight:950}.process-line h3{font-size:40px;letter-spacing:-.07em;line-height:.9;text-transform:uppercase;margin:12px 0}.process-line p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}.package-picker{display:grid;gap:10px;margin:24px 0}.package{padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.04);text-align:left;transition:.2s}.package.active,.package:hover{background:rgba(255,43,214,.13);border-color:var(--pink);transform:translateX(6px)}.package b{display:block;text-transform:uppercase;letter-spacing:.04em}.package span{display:block;color:var(--muted);margin-top:5px}.quote-card{padding:18px;border-radius:22px;background:#fff;color:#05030a}.quote-card strong{font-size:28px;letter-spacing:-.05em;text-transform:uppercase}.quote-card p{margin:5px 0 0;color:rgba(5,3,10,.75)}.contact-lines{display:grid;gap:10px;margin-top:18px}.contact-lines div{padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04)}.contact-lines span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:950}.contact-lines b{display:block;margin-top:4px}.booking-form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form label{display:grid;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:950;color:var(--muted)}.booking-form input,.booking-form textarea,.booking-form select{width:100%;border:1px solid var(--line);background:rgba(5,3,10,.72);border-radius:18px;padding:15px;outline:none;text-transform:none;letter-spacing:0;color:var(--ink)}.booking-form textarea{min-height:180px;resize:vertical}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--acid);box-shadow:0 0 0 4px rgba(200,255,46,.1)}.form-success{display:none;padding:14px;border-radius:18px;background:rgba(200,255,46,.12);border:1px solid rgba(200,255,46,.3);color:var(--acid);font-weight:900}.form-success.show{display:block}.site-footer{position:relative;z-index:2;overflow:hidden;border-top:1px solid var(--line);padding:0 0 42px;background:rgba(0,0,0,.22)}.footer-marquee{overflow:hidden;border-bottom:1px solid var(--line);margin-bottom:54px}.footer-marquee div{display:flex;width:max-content;animation:marquee 18s linear infinite}.footer-marquee span{padding:20px 14px;font-size:clamp(40px,9vw,132px);line-height:.8;font-weight:1000;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35)}.footer-grid{display:flex;justify-content:space-between;gap:28px;align-items:end}.footer-grid h2{font-size:clamp(54px,10vw,142px);max-width:720px}.footer-grid p{color:var(--muted);max-width:620px}.footer-links{display:flex;gap:8px;flex-wrap:wrap}.footer-links a{padding:12px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:950}.lightbox{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.88);display:none;place-items:center;padding:22px}.lightbox.open{display:grid}.lightbox img{max-width:min(1100px,92vw);max-height:82svh;border-radius:24px;border:1px solid rgba(255,255,255,.25);box-shadow:var(--shadow)}.lightbox button{position:fixed;right:22px;top:22px;background:var(--ink);color:#05030a;border-radius:999px;padding:12px 16px;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:950}.lightbox p{position:fixed;left:22px;bottom:18px;color:rgba(255,255,255,.68);font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:950}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:translateY(0)}
@media (min-width:901px){.cursor-dot,.cursor-ring{display:block}.work-card:nth-child(4n+1){transform:translateY(18px)}.work-card:nth-child(5n){transform:translateY(-14px)}}
@media (max-width:1020px){.site-header{grid-template-columns:auto 1fr auto;top:10px;border-radius:22px}.menu-toggle{display:block;justify-self:end}.nav-cta{display:none}.nav{position:absolute;left:0;right:0;top:calc(100% + 10px);display:none;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:rgba(5,3,10,.92);padding:12px;backdrop-filter:blur(18px)}.site-header.open .nav{display:flex}.nav a{text-align:center}.split,.agenda-layout,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-orbit{opacity:.5;right:-15vw}.camera-frame{display:none}.sticky-copy,.date-card{position:relative;top:0}.service-panel{position:relative;top:0!important;grid-template-columns:1fr}.work-wall{grid-template-columns:repeat(6,1fr)}.work-card,.work-card.tall,.work-card.small{grid-column:span 3}.work-card.wide{grid-column:span 6}.case-grid,.process-line{grid-template-columns:1fr}.calendar-panel{overflow:auto}.calendar-grid,.weekdays{min-width:720px}.footer-grid{display:grid}.image-chaos{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.chaos-copy,.chaos-img{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto!important;height:auto!important;transform:none!important}.chaos-img{aspect-ratio:4/5}.chaos-img.c1,.chaos-img.c5{grid-column:span 2;aspect-ratio:16/9}.output-grid{grid-template-columns:1fr}.hero{align-items:center}.hero-orbit{display:none}}
@media (max-width:640px){.wrap{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.section.compact{padding:58px 0}.mega{font-size:clamp(62px,21vw,104px)}.hero-copy,.lead{font-size:18px}.hero{padding:122px 0 60px;min-height:92svh}.page-hero{min-height:64svh;padding:128px 0 52px}.camera-frame,.corner-rec{display:none}.btn{width:100%}.hero-actions{display:grid}.output-preview{grid-template-columns:1fr}.output-preview img{height:220px}.image-chaos{grid-template-columns:1fr}.chaos-img.c1,.chaos-img.c5{grid-column:auto;aspect-ratio:4/5}.service-panel{padding:18px;border-radius:26px}.service-panel img{height:270px}.mini-wall{height:auto;display:grid;grid-template-columns:1fr;gap:12px;border:0;background:none}.mini-wall img{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/5}.work-toolbar{display:grid}.work-wall{display:block}.work-card,.work-card.wide,.work-card.tall,.work-card.small{height:auto;aspect-ratio:4/5;margin-bottom:14px}.work-card.wide{aspect-ratio:16/10}.calendar-grid,.weekdays{min-width:640px}.gig-row{grid-template-columns:1fr}.gig-row i{text-align:left}.about-collage{min-height:520px}.ac-main{left:0;width:78%;height:420px}.ac-a{width:50%;height:180px}.ac-b{width:54%;height:210px}.floating-tag{width:120px;height:120px;font-size:14px}.gear-grid,.form-row{grid-template-columns:1fr}.footer-grid h2{font-size:54px}.lightbox img{max-height:76svh}.work-card__hud{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.beamfield,.orb,.cursor-dot,.cursor-ring,.flash-layer{display:none!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   CLEAN OVERRIDE BLOCK — single source of truth, no conflicts
   Replaces all previous patch layers entirely.
   ============================================================ */

/* --- REVEAL: opacity only, zero transform involved at any point --- */
.reveal {
  opacity: 0;
  transform: none;
  transition: opacity 0.8s ease;
}
.reveal.in {
  opacity: 1;
  transform: none;
}

/* --- SITE HEADER: keep its own translateX(-50%) for centering, nothing else --- */
.site-header {
  transform: translateX(-50%);
}
.site-header:hover { transform: translateX(-50%); }

/* --- NAV toggle transforms (hamburger lines) must still work --- */
.site-header.open .menu-toggle span:first-child { top:21px; transform:rotate(45deg); }
.site-header.open .menu-toggle span:last-child  { bottom:21px; transform:rotate(-45deg); }

/* --- CURSOR DOT: keep its own translate for positioning --- */
.cursor-dot,
.cursor-ring {
  transform: translate(-50%, -50%);
}

/* --- BTN: no movement on hover --- */
.btn:hover { transform: none; box-shadow: 0 8px 28px rgba(255,43,214,.12); }
.btn::before { transform: translateX(-110%); }
.btn:hover::before { transform: translateX(110%); }

/* --- WORK CARDS: no offset, no hover lift, no rotate --- */
.work-card:nth-child(4n+1),
.work-card:nth-child(5n) { transform: none; }
.work-card:hover         { transform: none; border-color: rgba(255,255,255,.35); }
.work-card:hover img     { transform: scale(1.04); filter: saturate(1.3) contrast(1.02); }

/* Work card HUD: stays put, no translateY flicker */
.work-card__hud {
  transform: none;
  opacity: 1;
}
.work-card:hover .work-card__hud { transform: none; opacity: 1; }

/* --- OUTPUT CARDS: no lift --- */
.output-card:hover,
.output-card.active { transform: none; }

/* --- PACKAGE / DAY: no slide or lift --- */
.package:hover,
.package.active { transform: none; }
.day:not(.empty):hover,
.day.selected   { transform: none; }

/* --- SERVICE PANELS: not sticky, not moving --- */
.service-panel,
.service-panel:nth-child(2),
.service-panel:nth-child(3) {
  position: relative;
  top: auto;
}
.service-panel:hover { transform: none; }

/* --- CASE TILES --- */
.case-tile:hover { transform: none; }

/* --- HERO ORBIT IMAGES: static, no drift animation --- */
.hero-orbit img {
  animation: none;
  /* Preserve the individual rotations defined inline in base CSS */
}
.hero-orbit img:hover { transform: none; }

/* --- ABOUT COLLAGE IMAGES: static --- */
.about-collage img {
  animation: none;
}

/* --- MINI-WALL IMAGES: static, no drift --- */
.mini-wall img {
  animation: none;
}

/* --- CHAOS / TILT images: keep their rotate() but no animation or hover transform --- */
.chaos-img img { transition: filter .4s ease; }
.chaos-img:hover img { transform: none; filter: saturate(1.3); }

/* --- [data-magnetic] elements: never move --- */
[data-magnetic] { transform: none !important; }

/* --- BACKGROUND atmosphere: beams, orbs, bloom — these are position:fixed/absolute
       so they never interact with scroll layout. Keep their animations. --- */

/* Orbs breathe slowly */
.orb { animation: orbFestivalClean 16s ease-in-out infinite; }
@keyframes orbFestivalClean {
  0%,100% { transform: translate3d(0,0,0) scale(1);       opacity: .18; }
  35%     { transform: translate3d(18px,-12px,0) scale(1.04); opacity: .30; }
  68%     { transform: translate3d(-10px,10px,0) scale(1.02); opacity: .22; }
}
.orb-a { animation-delay: 0s; }
.orb-b { animation-delay: -5s; }
.orb-c { animation-delay: -9s; }

/* Beams sweep subtly */
.beamfield span {
  animation: beamFinalClean 11s ease-in-out infinite;
  opacity: .14;
}
.beamfield span:nth-child(1) { --r: 14deg;  animation-delay: 0s; }
.beamfield span:nth-child(2) { --r: -9deg;  animation-delay: -2s; }
.beamfield span:nth-child(3) { --r: 104deg; animation-delay: -4s; }
.beamfield span:nth-child(4) { --r: -24deg; animation-delay: -6s; }
.beamfield span:nth-child(5) { --r: 4deg;   animation-delay: -8s; }
.beamfield span:nth-child(6) { --r: 31deg;  animation-delay: -10s; }
@keyframes beamFinalClean {
  0%,100% { opacity: .05;  transform: translateX(-3%)   rotate(var(--r)); }
  30%     { opacity: .18;  transform: translateX(1.5%)  rotate(var(--r)); }
  60%     { opacity: .09;  transform: translateX(.4%)   rotate(var(--r)); }
  78%     { opacity: .20;  transform: translateX(-1.1%) rotate(var(--r)); }
}

/* Beamfield bloom layers */
.beamfield::before,
.beamfield::after { content:""; position:absolute; inset:-12%; pointer-events:none; }
.beamfield::before {
  background:
    radial-gradient(circle at 16% 22%, rgba(255,43,214,.20), transparent 22%),
    radial-gradient(circle at 78% 18%, rgba(34,232,255,.16), transparent 20%),
    radial-gradient(circle at 62% 76%, rgba(200,255,46,.10), transparent 18%),
    radial-gradient(circle at 26% 82%, rgba(141,60,255,.12), transparent 22%);
  filter: blur(42px) saturate(1.14);
  opacity: .55;
  animation: bgBloomClean 14s ease-in-out infinite alternate;
}
.beamfield::after {
  background: conic-gradient(from 220deg at 50% 50%,
    transparent 0deg, rgba(255,43,214,.12) 34deg, transparent 86deg,
    rgba(34,232,255,.10) 128deg, transparent 174deg,
    rgba(200,255,46,.06) 228deg, transparent 306deg,
    rgba(255,122,45,.08) 334deg, transparent 360deg);
  filter: blur(32px) saturate(1.2);
  opacity: .35;
  animation: bgConeClean 19s linear infinite;
}
@keyframes bgBloomClean {
  0%   { transform: translate3d(-1.5%,-.8%,0) scale(1);    opacity: .42; }
  50%  { transform: translate3d(1.4%,1.1%,0)  scale(1.03); opacity: .70; }
  100% { transform: translate3d(-.8%,1.6%,0)  scale(1.015);opacity: .50; }
}
@keyframes bgConeClean {
  0%   { transform: rotate(0deg)   scale(1);    opacity: .24; }
  50%  { transform: rotate(180deg) scale(1.04); opacity: .44; }
  100% { transform: rotate(360deg) scale(1);    opacity: .24; }
}

/* Flash layer — dimmed */
.flash-layer.fire { animation: flashClean .7s ease; }
@keyframes flashClean {
  0%   { opacity: 0; }
  10%  { opacity: .04; }
  22%  { opacity: .006; }
  34%  { opacity: .018; }
  100% { opacity: 0; }
}

/* --- HERO TEXT: fully visible, no opacity tricks --- */
.hero-content, .page-hero-copy { z-index: 12; }

.hero .kicker, .page-hero .kicker {
  color: #d4ff3d;
  text-shadow: 0 0 20px rgba(212,255,61,.24);
  opacity: 1;
}
.hero .mega, .page-title {
  opacity: 1;
  filter: none;
  text-shadow: 0 0 30px rgba(255,43,214,.18);
}
.hero .mega span  { color: #fff7ff; opacity: 1; }
.hero .mega strong {
  background: linear-gradient(90deg,#fffafe 0%, #ff77df 55%, #82f6ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 1;
}
.hero .mega em {
  -webkit-text-stroke: 1.35px rgba(255,244,255,.95);
  text-shadow: none;
  opacity: 1;
}
.hero-copy, .page-hero-copy .hero-copy, .page-hero-copy p, .hero .hero-copy {
  color: rgba(255,255,255,.99);
  text-shadow: 0 2px 14px rgba(0,0,0,.26);
}

/* --- HERO OVERLAY: lighter so background image shows --- */
.hero::after, .page-hero::after {
  background:
    linear-gradient(90deg, rgba(5,3,10,.22), rgba(5,3,10,.04) 42%, rgba(5,3,10,.18)),
    linear-gradient(180deg, rgba(5,3,10,.00), rgba(5,3,10,.20) 72%, rgba(5,3,10,.32) 100%);
}
.hero-bg img, .page-hero>img {
  filter: saturate(1.28) contrast(1.08) brightness(1.14);
}

/* Hero orbit images: visible and sharp */
.hero-orbit { z-index: 11; }
.hero-orbit img {
  opacity: 1;
  filter: saturate(1.20) contrast(1.08) brightness(1.12);
  box-shadow: 0 22px 60px rgba(0,0,0,.30), 0 0 30px rgba(255,43,214,.14);
}

/* Body vignette: lighter */
body::before {
  background: radial-gradient(circle at 50% 42%, transparent 54%, rgba(0,0,0,.14) 86%);
}

/* --- AGENDA LIGHT PULSE (pseudo element only, fine) --- */
.agenda-hero::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none; z-index: -1;
  background:
    radial-gradient(circle at 60% 18%, rgba(255,255,255,.22), transparent 7%),
    radial-gradient(circle at 53% 20%, rgba(110,146,255,.18), transparent 12%),
    radial-gradient(circle at 69% 18%, rgba(196,96,255,.15), transparent 11%),
    radial-gradient(circle at 83% 26%, rgba(255,164,80,.14), transparent 10%),
    linear-gradient(180deg, transparent 0%, rgba(255,255,255,.04) 38%, transparent 100%);
  mix-blend-mode: screen;
  animation: agendaLightClean 4.8s ease-in-out infinite;
}
@keyframes agendaLightClean {
  0%,100% { opacity: .42; filter: blur(2px); }
  50%     { opacity: .84; filter: blur(.2px); }
}

/* --- MOBILE --- */
@media (max-width: 900px) {
  body::before {
    background: radial-gradient(circle at 50% 42%, transparent 48%, rgba(0,0,0,.08) 86%);
  }
  .hero::after, .page-hero::after {
    background:
      linear-gradient(180deg, rgba(5,3,10,.06), rgba(5,3,10,.18) 60%, rgba(5,3,10,.34) 100%),
      linear-gradient(90deg, rgba(5,3,10,.12), rgba(5,3,10,.02) 44%, rgba(5,3,10,.12));
  }
  .hero-bg img, .page-hero>img {
    filter: saturate(1.22) contrast(1.06) brightness(1.10);
  }
  .hero-copy, .page-hero-copy .hero-copy { color: rgba(255,255,255,.98); }
}

/* --- REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .beamfield, .orb, .cursor-dot, .cursor-ring, .flash-layer { display: none !important; }
  .reveal { opacity: 1; }
}

/* === FINAL JITTER FIX ===
   The orbs and beamfield use translate3d/translateX animations.
   Even as position:fixed elements, animating transforms causes the
   browser to repaint their compositing layer during scroll, making
   all foreground content appear to jitter against the shifting glow.
   Kill all movement on every atmospheric background element. */

.orb,
.orb-a,
.orb-b,
.orb-c {
  animation: none !important;
  transform: none !important;
}

.beamfield span {
  animation: none !important;
  transform: rotate(var(--r, 14deg)) !important;
}

.beamfield::before,
.beamfield::after {
  animation: none !important;
  transform: none !important;
}

.hero-shutter span {
  animation: none !important;
}


/* ============================================================
   FESTIVAL ATMOSPHERE FINAL
   Background-only animation. No page bounce. No foreground jitter.
   ============================================================ */

/* keep the actual page content completely still */
.hero-content, .page-hero-copy, .section, .section * {
  will-change: auto;
}

/* extra ambient haze layer behind content */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,43,214,.16), transparent 18%),
    radial-gradient(circle at 82% 16%, rgba(34,232,255,.12), transparent 20%),
    radial-gradient(circle at 50% 86%, rgba(255,122,45,.10), transparent 22%),
    radial-gradient(circle at 18% 82%, rgba(255,120,40,.09), transparent 18%),
    radial-gradient(circle at 72% 74%, rgba(200,255,46,.07), transparent 16%);
  filter: blur(36px) saturate(1.14);
  opacity:.52;
  animation: ambientPulseOnly 10s ease-in-out infinite alternate;
}
@keyframes ambientPulseOnly{
  0%{opacity:.38; filter:blur(34px) saturate(1.06)}
  50%{opacity:.62; filter:blur(42px) saturate(1.20)}
  100%{opacity:.48; filter:blur(38px) saturate(1.12)}
}

/* background laser field: static positions, animated intensity only */
.beamfield{
  opacity:1;
}
.beamfield span{
  animation: laserPulseOnly 4.8s ease-in-out infinite !important;
  transform: rotate(var(--r,14deg)) !important;
  opacity:.12;
  filter: blur(.2px) saturate(1.12);
}
.beamfield span:nth-child(1){ --r:14deg;  animation-delay:0s !important;   box-shadow:0 0 12px rgba(34,232,255,.18),0 0 24px rgba(34,232,255,.10); }
.beamfield span:nth-child(2){ --r:-9deg;  animation-delay:-1.1s !important; background:linear-gradient(90deg,transparent,rgba(255,43,214,.90),transparent); box-shadow:0 0 12px rgba(255,43,214,.18),0 0 26px rgba(255,43,214,.10); }
.beamfield span:nth-child(3){ --r:104deg; animation-delay:-2.5s !important; box-shadow:0 0 10px rgba(34,232,255,.16),0 0 22px rgba(34,232,255,.08); }
.beamfield span:nth-child(4){ --r:-24deg; animation-delay:-.8s !important; background:linear-gradient(90deg,transparent,rgba(200,255,46,.72),transparent); box-shadow:0 0 12px rgba(200,255,46,.14),0 0 28px rgba(200,255,46,.08); }
.beamfield span:nth-child(5){ --r:4deg;   animation-delay:-3.2s !important; background:linear-gradient(90deg,transparent,rgba(255,120,40,.70),transparent); box-shadow:0 0 14px rgba(255,120,40,.16),0 0 30px rgba(255,120,40,.10); }
.beamfield span:nth-child(6){ --r:31deg;  animation-delay:-1.7s !important; background:linear-gradient(90deg,transparent,rgba(148,110,255,.76),transparent); box-shadow:0 0 12px rgba(148,110,255,.16),0 0 24px rgba(148,110,255,.10); }
@keyframes laserPulseOnly{
  0%,100%{opacity:.06; filter:blur(.2px) saturate(1.06) brightness(1);}
  22%{opacity:.16; filter:blur(.35px) saturate(1.14) brightness(1.08);}
  50%{opacity:.30; filter:blur(.5px) saturate(1.25) brightness(1.22);}
  74%{opacity:.18; filter:blur(.3px) saturate(1.14) brightness(1.10);}
}

/* broad festival bloom and warm pyro haze, still background only */
.beamfield::before,
.beamfield::after{
  animation-play-state: running !important;
}
.beamfield::before{
  animation: festivalBloomOnly 7.5s ease-in-out infinite alternate !important;
  background:
    radial-gradient(circle at 14% 26%, rgba(255,43,214,.26), transparent 18%),
    radial-gradient(circle at 82% 18%, rgba(34,232,255,.22), transparent 18%),
    radial-gradient(circle at 56% 72%, rgba(200,255,46,.12), transparent 14%),
    radial-gradient(circle at 20% 88%, rgba(255,122,45,.16), transparent 16%),
    radial-gradient(circle at 84% 82%, rgba(255,122,45,.12), transparent 15%),
    radial-gradient(circle at 54% 88%, rgba(255,87,220,.10), transparent 18%);
  filter: blur(48px) saturate(1.22);
  opacity:.56;
}
.beamfield::after{
  animation: festivalGridPulse 6.8s ease-in-out infinite !important;
  background:
    linear-gradient(112deg, transparent 0 44%, rgba(255,43,214,.12) 50%, transparent 56%),
    linear-gradient(72deg, transparent 0 46%, rgba(34,232,255,.10) 50%, transparent 54%),
    linear-gradient(18deg, transparent 0 47%, rgba(255,122,45,.08) 50%, transparent 53%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.04), transparent 42%);
  filter: blur(26px) saturate(1.16);
  opacity:.34;
}
@keyframes festivalBloomOnly{
  0%{opacity:.40; filter:blur(40px) saturate(1.08)}
  50%{opacity:.70; filter:blur(50px) saturate(1.28)}
  100%{opacity:.54; filter:blur(44px) saturate(1.16)}
}
@keyframes festivalGridPulse{
  0%,100%{opacity:.18; filter:blur(24px) saturate(1.08)}
  45%{opacity:.40; filter:blur(28px) saturate(1.22)}
  68%{opacity:.26; filter:blur(26px) saturate(1.14)}
}

/* static-position orbs that breathe instead of moving */
.orb,
.orb-a,
.orb-b,
.orb-c{
  animation: orbPulseOnly 8.5s ease-in-out infinite !important;
  transform:none !important;
}
.orb-a{ animation-delay:0s !important; }
.orb-b{ animation-delay:-2.8s !important; }
.orb-c{ animation-delay:-5.6s !important; }
@keyframes orbPulseOnly{
  0%,100%{opacity:.10; filter:blur(42px) saturate(1.04);}
  50%{opacity:.24; filter:blur(56px) saturate(1.18);}
}

/* hero image backgrounds: keep vivid and give the light sources a living glow */
.hero-bg, .page-hero{ isolation:isolate; }
.hero-bg img, .page-hero>img{
  animation: heroImageLuma 7.2s ease-in-out infinite alternate;
  filter:saturate(1.30) contrast(1.08) brightness(1.16);
}
@keyframes heroImageLuma{
  0%{filter:saturate(1.24) contrast(1.06) brightness(1.12)}
  50%{filter:saturate(1.34) contrast(1.09) brightness(1.19)}
  100%{filter:saturate(1.28) contrast(1.08) brightness(1.15)}
}
.hero::after, .page-hero::after{
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(5,3,10,.16), rgba(5,3,10,.02) 42%, rgba(5,3,10,.12)),
    linear-gradient(180deg, rgba(5,3,10,.00), rgba(5,3,10,.12) 68%, rgba(5,3,10,.26) 100%);
}
.hero::before,
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-2;
  mix-blend-mode:screen;
  opacity:.78;
  filter:blur(8px) saturate(1.18);
  animation: heroSourcePulse 4.5s ease-in-out infinite;
}
@keyframes heroSourcePulse{
  0%,100%{opacity:.46; filter:blur(9px) saturate(1.08) brightness(1.00)}
  50%{opacity:.90; filter:blur(5px) saturate(1.26) brightness(1.12)}
}

/* per-page source glow maps */
.home-hero::before{
  background:
    radial-gradient(circle at 13% 37%, rgba(255,255,255,.24), transparent 6%),
    radial-gradient(circle at 37% 24%, rgba(255,165,80,.16), transparent 9%),
    radial-gradient(circle at 51% 24%, rgba(255,240,180,.14), transparent 8%),
    radial-gradient(circle at 74% 24%, rgba(255,96,220,.14), transparent 9%),
    radial-gradient(circle at 86% 53%, rgba(255,84,214,.12), transparent 10%),
    radial-gradient(circle at 57% 61%, rgba(255,255,255,.07), transparent 7%);
}
.agenda-hero::before{
  background:
    radial-gradient(circle at 60% 15%, rgba(255,255,255,.28), transparent 6%),
    radial-gradient(circle at 66% 17%, rgba(120,150,255,.18), transparent 10%),
    radial-gradient(circle at 72% 18%, rgba(214,120,255,.16), transparent 11%),
    radial-gradient(circle at 83% 31%, rgba(255,180,90,.14), transparent 11%),
    radial-gradient(circle at 18% 18%, rgba(255,195,100,.12), transparent 16%);
}
.work-hero::before{
  background:
    radial-gradient(circle at 48% 40%, rgba(100,180,255,.16), transparent 18%),
    radial-gradient(circle at 38% 48%, rgba(255,255,255,.10), transparent 10%),
    radial-gradient(circle at 60% 42%, rgba(180,120,255,.12), transparent 14%),
    radial-gradient(circle at 74% 26%, rgba(90,210,255,.10), transparent 12%);
}
.about-hero::before{
  background:
    radial-gradient(circle at 56% 24%, rgba(255,255,255,.14), transparent 7%),
    radial-gradient(circle at 44% 28%, rgba(255,120,220,.10), transparent 11%),
    radial-gradient(circle at 71% 20%, rgba(90,210,255,.10), transparent 12%),
    radial-gradient(circle at 84% 54%, rgba(255,165,90,.08), transparent 14%);
}
.contact-hero::before{
  background:
    radial-gradient(circle at 46% 24%, rgba(255,255,255,.22), transparent 8%),
    radial-gradient(circle at 54% 31%, rgba(255,84,214,.16), transparent 12%),
    radial-gradient(circle at 67% 20%, rgba(90,220,255,.12), transparent 10%),
    radial-gradient(circle at 78% 42%, rgba(255,180,90,.10), transparent 12%),
    radial-gradient(circle at 28% 50%, rgba(255,255,255,.08), transparent 10%);
}

/* make above-the-fold text and orbit images fully vivid */
.hero .mega, .page-title{ text-shadow:0 0 26px rgba(255,43,214,.14); }
.hero .mega span, .page-title span{ color:#fffdfd; }
.hero .mega strong{ background:linear-gradient(90deg,#fff 0%, #ff87e4 54%, #9ff8ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .mega em{ -webkit-text-stroke:1.4px rgba(255,255,255,.92); }
.hero-copy, .page-hero-copy .hero-copy, .page-hero-copy p{ color:rgba(255,255,255,.96); }
.hero-orbit img{ filter:saturate(1.24) contrast(1.10) brightness(1.10); box-shadow:0 20px 60px rgba(0,0,0,.28), 0 0 34px rgba(255,43,214,.12); }

/* subtle full-screen strobes remain dim */
.flash-layer.fire{ animation: flashFestivalDim .62s ease !important; }
@keyframes flashFestivalDim{
  0%{opacity:0}
  8%{opacity:.025}
  18%{opacity:.005}
  30%{opacity:.014}
  100%{opacity:0}
}

@media (max-width: 900px){
  body::after{opacity:.42; filter:blur(34px) saturate(1.10)}
  .hero::before, .page-hero::before{ opacity:.62; filter:blur(7px) saturate(1.10); }
  .beamfield::before{ opacity:.46; }
  .beamfield::after{ opacity:.24; }
}


/* ============================================================
   ACTIVE PAGE MENU HIGHLIGHT
   Clear persistent state for the page currently open.
   ============================================================ */

.nav a{
  position:relative;
}

.nav a::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--acid),var(--cyan),var(--pink));
  box-shadow:
    0 0 12px rgba(200,255,46,.50),
    0 0 18px rgba(34,232,255,.35),
    0 0 22px rgba(255,43,214,.22);
  opacity:0;
  transform:scaleX(.35);
  transform-origin:center;
  transition:opacity .2s ease, transform .2s ease;
}

.nav a.active,
.nav a[aria-current="page"]{
  color:#fff !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 0 22px rgba(200,255,46,.10),
    0 0 28px rgba(34,232,255,.08);
}

.nav a.active::after,
.nav a[aria-current="page"]::after{
  opacity:1;
  transform:scaleX(1);
}

@media (max-width:1020px){
  .nav a.active,
  .nav a[aria-current="page"]{
    background:linear-gradient(90deg,var(--acid),var(--cyan)) !important;
    color:#05030a !important;
    border-color:transparent !important;
    box-shadow:0 0 28px rgba(34,232,255,.28) !important;
  }

  .nav a.active::after,
  .nav a[aria-current="page"]::after{
    background:rgba(5,3,10,.72);
    box-shadow:none;
    left:16px;
    right:auto;
    width:46px;
  }
}


/* =========================================================
   EXTRA FESTIVAL LASERS — clearer and more numerous
   ========================================================= */
.beamfield{
  z-index: 0;
  opacity: 1;
}

.beamfield span{
  width: 190vw;
  height: 3px;
  opacity: .34;
  filter: blur(.15px);
  animation-duration: 11s;
  will-change: transform, opacity;
}

.beamfield span:nth-child(1){left:-35%;top:14%;--r:13deg;background:linear-gradient(90deg,transparent,rgba(34,232,255,.95),transparent);box-shadow:0 0 12px rgba(34,232,255,.32),0 0 30px rgba(34,232,255,.18);} 
.beamfield span:nth-child(2){left:-25%;top:24%;--r:-7deg;background:linear-gradient(90deg,transparent,rgba(255,43,214,.95),transparent);box-shadow:0 0 12px rgba(255,43,214,.32),0 0 30px rgba(255,43,214,.18);animation-delay:-1.2s;} 
.beamfield span:nth-child(3){left:-40%;top:36%;--r:6deg;background:linear-gradient(90deg,transparent,rgba(200,255,46,.86),transparent);box-shadow:0 0 12px rgba(200,255,46,.28),0 0 30px rgba(200,255,46,.16);animation-delay:-3.4s;} 
.beamfield span:nth-child(4){left:-20%;top:48%;--r:-18deg;background:linear-gradient(90deg,transparent,rgba(255,122,45,.84),transparent);box-shadow:0 0 12px rgba(255,122,45,.28),0 0 30px rgba(255,122,45,.16);animation-delay:-2.1s;} 
.beamfield span:nth-child(5){left:-15%;top:62%;--r:28deg;background:linear-gradient(90deg,transparent,rgba(148,110,255,.88),transparent);box-shadow:0 0 12px rgba(148,110,255,.28),0 0 30px rgba(148,110,255,.16);animation-delay:-5.1s;} 
.beamfield span:nth-child(6){left:-45%;top:78%;--r:-11deg;background:linear-gradient(90deg,transparent,rgba(34,232,255,.88),transparent);box-shadow:0 0 12px rgba(34,232,255,.28),0 0 30px rgba(34,232,255,.16);animation-delay:-6.6s;} 
.beamfield span:nth-child(7){left:10%;top:8%;--r:98deg;background:linear-gradient(90deg,transparent,rgba(255,43,214,.82),transparent);box-shadow:0 0 10px rgba(255,43,214,.24),0 0 26px rgba(255,43,214,.14);animation-delay:-4.2s;} 
.beamfield span:nth-child(8){left:62%;top:12%;--r:109deg;background:linear-gradient(90deg,transparent,rgba(34,232,255,.82),transparent);box-shadow:0 0 10px rgba(34,232,255,.24),0 0 26px rgba(34,232,255,.14);animation-delay:-7.3s;} 
.beamfield span:nth-child(9){left:36%;top:22%;--r:121deg;background:linear-gradient(90deg,transparent,rgba(200,255,46,.78),transparent);box-shadow:0 0 10px rgba(200,255,46,.22),0 0 24px rgba(200,255,46,.12);animation-delay:-2.7s;} 
.beamfield span:nth-child(10){left:78%;top:30%;--r:84deg;background:linear-gradient(90deg,transparent,rgba(255,122,45,.78),transparent);box-shadow:0 0 10px rgba(255,122,45,.22),0 0 24px rgba(255,122,45,.12);animation-delay:-5.8s;} 

@keyframes beamSweep{
  0%,100%{opacity:.12;transform:translateX(-10%) rotate(var(--r,14deg));}
  50%{opacity:.48;transform:translateX(14%) rotate(var(--r,14deg));}
}

.beamfield::before{
  opacity: .4;
}
.beamfield::after{
  opacity: .32;
}


/* =========================================================
   LIVELY HOME HERO IMAGE GLOW PULSE
   Make the big landing image feel alive without moving the page.
   ========================================================= */
.home-hero .hero-bg{
  position:absolute;
  inset:0;
  isolation:isolate;
}
.home-hero .hero-bg img{
  animation: homeHeroImagePulse 8.2s ease-in-out infinite alternate !important;
  filter: saturate(1.28) contrast(1.10) brightness(1.14) !important;
}
@keyframes homeHeroImagePulse{
  0%{filter:saturate(1.24) contrast(1.08) brightness(1.10)}
  20%{filter:saturate(1.30) contrast(1.10) brightness(1.16)}
  48%{filter:saturate(1.36) contrast(1.12) brightness(1.20)}
  74%{filter:saturate(1.28) contrast(1.10) brightness(1.15)}
  100%{filter:saturate(1.32) contrast(1.11) brightness(1.18)}
}
.home-hero .hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  mix-blend-mode:screen;
  background:
    radial-gradient(circle at 56% 18%, rgba(255,255,255,.34), transparent 5%),
    radial-gradient(circle at 52% 19%, rgba(120,205,255,.18), transparent 10%),
    radial-gradient(circle at 61% 18%, rgba(255,88,220,.20), transparent 10%),
    radial-gradient(circle at 67% 24%, rgba(255,170,72,.18), transparent 10%),
    radial-gradient(circle at 72% 30%, rgba(255,255,255,.12), transparent 7%),
    radial-gradient(circle at 83% 42%, rgba(255,77,212,.14), transparent 11%),
    radial-gradient(circle at 24% 68%, rgba(255,255,255,.08), transparent 8%);
  filter: blur(8px) saturate(1.2);
  opacity: .44;
  animation: homeHeroGlowPulse 5.2s ease-in-out infinite;
}
.home-hero .hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  mix-blend-mode:screen;
  background:
    radial-gradient(circle at 55% 16%, rgba(255,255,255,.18), transparent 3%),
    radial-gradient(circle at 58% 17%, rgba(255,238,168,.14), transparent 4%),
    radial-gradient(circle at 63% 21%, rgba(255,120,230,.12), transparent 6%),
    radial-gradient(circle at 69% 24%, rgba(255,173,76,.14), transparent 7%),
    radial-gradient(circle at 81% 40%, rgba(255,90,214,.10), transparent 8%);
  filter: blur(22px) saturate(1.28);
  opacity:.18;
  animation: homeHeroGlowPulseSecondary 7.6s ease-in-out infinite;
}
@keyframes homeHeroGlowPulse{
  0%,100%{opacity:.30; filter:blur(10px) saturate(1.08) brightness(1)}
  18%{opacity:.40; filter:blur(8px) saturate(1.14) brightness(1.04)}
  42%{opacity:.62; filter:blur(6px) saturate(1.22) brightness(1.12)}
  58%{opacity:.36; filter:blur(9px) saturate(1.10) brightness(1.02)}
  78%{opacity:.54; filter:blur(7px) saturate(1.18) brightness(1.08)}
}
@keyframes homeHeroGlowPulseSecondary{
  0%,100%{opacity:.10; filter:blur(26px) saturate(1.1)}
  50%{opacity:.24; filter:blur(18px) saturate(1.28)}
}

@media (max-width: 900px){
  .home-hero .hero-bg::after{opacity:.34; filter:blur(7px) saturate(1.14)}
  .home-hero .hero-bg::before{opacity:.12; filter:blur(18px) saturate(1.18)}
  .home-hero .hero-bg img{filter:saturate(1.24) contrast(1.08) brightness(1.12) !important;}
}


/* =========================================================
   HERO LIGHTING BOOST — make the 4 big hero images feel alive
   No page movement, only lighting / strobe / glow pulses.
   ========================================================= */
.home-hero,
.agenda-hero,
.about-hero,
.work-hero{
  overflow:hidden;
}

.home-hero::after,
.agenda-hero::after,
.about-hero::after,
.work-hero::after{
  background:
    linear-gradient(90deg, rgba(5,3,10,.46), rgba(5,3,10,.12) 42%, rgba(5,3,10,.44)),
    linear-gradient(180deg, rgba(5,3,10,.03), rgba(5,3,10,.10) 62%, rgba(5,3,10,.24) 100%) !important;
}

.home-hero .hero-bg img{
  animation: homeHeroAlivePulse 6.8s ease-in-out infinite alternate !important;
  filter:saturate(1.34) contrast(1.12) brightness(1.18) !important;
}

.agenda-hero > img,
.about-hero > img,
.work-hero > img{
  animation: pageHeroAlivePulse 7.2s ease-in-out infinite alternate !important;
  filter:saturate(1.30) contrast(1.12) brightness(1.16) !important;
}

@keyframes homeHeroAlivePulse{
  0%{filter:saturate(1.30) contrast(1.10) brightness(1.14)}
  18%{filter:saturate(1.36) contrast(1.12) brightness(1.20)}
  36%{filter:saturate(1.34) contrast(1.11) brightness(1.17)}
  57%{filter:saturate(1.42) contrast(1.13) brightness(1.24)}
  78%{filter:saturate(1.33) contrast(1.11) brightness(1.16)}
  100%{filter:saturate(1.38) contrast(1.12) brightness(1.22)}
}

@keyframes pageHeroAlivePulse{
  0%{filter:saturate(1.26) contrast(1.10) brightness(1.12)}
  24%{filter:saturate(1.31) contrast(1.12) brightness(1.18)}
  48%{filter:saturate(1.35) contrast(1.14) brightness(1.21)}
  72%{filter:saturate(1.29) contrast(1.11) brightness(1.15)}
  100%{filter:saturate(1.33) contrast(1.13) brightness(1.19)}
}

/* HOME */
.home-hero::before{
  background:
    radial-gradient(circle at 13% 38%, rgba(255,255,255,.46), transparent 4.6%),
    radial-gradient(circle at 18% 36%, rgba(255,175,86,.22), transparent 9%),
    radial-gradient(circle at 39% 24%, rgba(255,88,208,.24), transparent 11%),
    radial-gradient(circle at 52% 24%, rgba(255,245,190,.22), transparent 10%),
    radial-gradient(circle at 74% 24%, rgba(255,255,255,.34), transparent 7%),
    radial-gradient(circle at 86% 52%, rgba(255,96,220,.20), transparent 11%),
    radial-gradient(circle at 57% 60%, rgba(255,255,255,.12), transparent 8%),
    linear-gradient(90deg, transparent 0%, rgba(255,120,220,.08) 50%, transparent 100%) !important;
  mix-blend-mode:screen;
  filter: blur(8px) saturate(1.24);
  opacity:.72;
  animation: heroStrobeHome 4.6s ease-in-out infinite !important;
}
.home-hero .hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  mix-blend-mode:screen;
  background:
    radial-gradient(circle at 13% 38%, rgba(255,255,255,.36), transparent 3%),
    radial-gradient(circle at 52% 24%, rgba(255,255,255,.20), transparent 4%),
    radial-gradient(circle at 74% 24%, rgba(255,210,120,.18), transparent 5%),
    radial-gradient(circle at 86% 52%, rgba(255,84,214,.14), transparent 7%);
  filter: blur(18px);
  opacity:.28;
  animation: heroSparkHome 2.8s ease-in-out infinite;
}
@keyframes heroStrobeHome{
  0%,100%{opacity:.52; filter:blur(9px) saturate(1.18) brightness(1)}
  12%{opacity:.68; filter:blur(7px) saturate(1.22) brightness(1.03)}
  30%{opacity:.94; filter:blur(5px) saturate(1.32) brightness(1.10)}
  45%{opacity:.60; filter:blur(8px) saturate(1.18) brightness(1.01)}
  62%{opacity:.88; filter:blur(5px) saturate(1.30) brightness(1.08)}
  78%{opacity:.58; filter:blur(8px) saturate(1.16) brightness(1.0)}
}
@keyframes heroSparkHome{
  0%,100%{opacity:.18; filter:blur(22px)}
  25%{opacity:.34; filter:blur(14px)}
  50%{opacity:.56; filter:blur(10px)}
  75%{opacity:.28; filter:blur(16px)}
}

/* AGENDA */
.agenda-hero::before{
  background:
    radial-gradient(circle at 60% 17%, rgba(255,255,255,.50), transparent 5.4%),
    radial-gradient(circle at 53% 20%, rgba(124,154,255,.28), transparent 12%),
    radial-gradient(circle at 69% 18%, rgba(220,124,255,.24), transparent 12%),
    radial-gradient(circle at 83% 26%, rgba(255,175,88,.20), transparent 10%),
    radial-gradient(circle at 78% 24%, rgba(255,255,255,.18), transparent 5%),
    radial-gradient(circle at 18% 18%, rgba(255,195,100,.16), transparent 16%),
    linear-gradient(90deg, transparent 0%, rgba(120,180,255,.06) 55%, transparent 100%) !important;
  mix-blend-mode:screen;
  filter: blur(8px) saturate(1.26);
  opacity:.74;
  animation: heroStrobeAgenda 4.2s ease-in-out infinite !important;
}
@keyframes heroStrobeAgenda{
  0%,100%{opacity:.54; filter:blur(9px) saturate(1.18)}
  18%{opacity:.72; filter:blur(7px) saturate(1.24)}
  36%{opacity:1; filter:blur(4px) saturate(1.36)}
  52%{opacity:.62; filter:blur(8px) saturate(1.18)}
  70%{opacity:.90; filter:blur(5px) saturate(1.30)}
}

/* ABOUT */
.about-hero::before{
  background:
    radial-gradient(circle at 11% 24%, rgba(255,188,100,.18), transparent 11%),
    radial-gradient(circle at 56% 24%, rgba(255,255,255,.42), transparent 5.4%),
    radial-gradient(circle at 44% 28%, rgba(255,120,220,.20), transparent 12%),
    radial-gradient(circle at 71% 20%, rgba(90,210,255,.20), transparent 12%),
    radial-gradient(circle at 84% 54%, rgba(255,165,90,.18), transparent 14%),
    radial-gradient(circle at 91% 36%, rgba(255,255,255,.14), transparent 7%) !important;
  mix-blend-mode:screen;
  filter: blur(8px) saturate(1.24);
  opacity:.70;
  animation: heroStrobeAbout 4.8s ease-in-out infinite !important;
}
@keyframes heroStrobeAbout{
  0%,100%{opacity:.50; filter:blur(10px) saturate(1.16)}
  22%{opacity:.68; filter:blur(8px) saturate(1.22)}
  46%{opacity:.92; filter:blur(5px) saturate(1.32)}
  64%{opacity:.58; filter:blur(9px) saturate(1.18)}
  82%{opacity:.82; filter:blur(6px) saturate(1.26)}
}

/* WORK */
.work-hero::before{
  background:
    radial-gradient(circle at 48% 40%, rgba(100,180,255,.28), transparent 18%),
    radial-gradient(circle at 38% 48%, rgba(255,255,255,.18), transparent 10%),
    radial-gradient(circle at 60% 42%, rgba(180,120,255,.18), transparent 14%),
    radial-gradient(circle at 74% 26%, rgba(90,210,255,.16), transparent 12%),
    radial-gradient(circle at 65% 20%, rgba(255,255,255,.24), transparent 6%),
    linear-gradient(90deg, rgba(90,190,255,.08), transparent 28%, rgba(120,210,255,.08) 55%, transparent 82%) !important;
  mix-blend-mode:screen;
  filter: blur(8px) saturate(1.26);
  opacity:.72;
  animation: heroStrobeWork 3.9s ease-in-out infinite !important;
}
@keyframes heroStrobeWork{
  0%,100%{opacity:.58; filter:blur(8px) saturate(1.18)}
  16%{opacity:.80; filter:blur(6px) saturate(1.26)}
  34%{opacity:1; filter:blur(3px) saturate(1.42)}
  52%{opacity:.66; filter:blur(7px) saturate(1.20)}
  74%{opacity:.92; filter:blur(4px) saturate(1.34)}
}

/* keep text crisp and vivid above the fold */
.home-hero .mega,
.page-hero .page-title{
  color:#fff;
  text-shadow:0 0 26px rgba(255,255,255,.12), 0 0 42px rgba(255,84,214,.12) !important;
}
.home-hero .hero-copy,
.page-hero .hero-copy,
.page-hero-copy .hero-copy{
  color:rgba(255,255,255,.98) !important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}

@media (max-width: 900px){
  .home-hero::before,
  .agenda-hero::before,
  .about-hero::before,
  .work-hero::before{
    opacity:.62;
    filter:blur(7px) saturate(1.18);
  }
  .home-hero .hero-bg img,
  .agenda-hero > img,
  .about-hero > img,
  .work-hero > img{
    filter:saturate(1.24) contrast(1.08) brightness(1.13) !important;
  }
}


/* =========================================================
   ACTUAL VISIBLE HERO STROBES
   Real overlay elements above the hero photos, below text.
   No page movement. Only opacity/filter pulses.
   ========================================================= */

.hero,
.page-hero{
  isolation:isolate;
}

.hero-content,
.page-hero-copy{
  position:relative;
  z-index:12 !important;
}

.hero-strobe{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  mix-blend-mode:screen;
  overflow:hidden;
  opacity:1;
}

.hero-strobe i{
  position:absolute;
  display:block;
  border-radius:999px;
  pointer-events:none;
  background:rgba(255,255,255,.5);
  filter:blur(20px) saturate(1.35);
  opacity:.12;
  animation:visibleLightPulse 3.6s ease-in-out infinite;
}

.hero-strobe i:nth-child(1){animation-delay:0s}
.hero-strobe i:nth-child(2){animation-delay:-.45s}
.hero-strobe i:nth-child(3){animation-delay:-.9s}
.hero-strobe i:nth-child(4){animation-delay:-1.35s}
.hero-strobe i:nth-child(5){animation-delay:-1.8s}
.hero-strobe i:nth-child(6){animation-delay:-2.25s}
.hero-strobe i:nth-child(7){animation-delay:-2.7s}
.hero-strobe i:nth-child(8){animation-delay:-3.15s}

@keyframes visibleLightPulse{
  0%,100%{
    opacity:.10;
    filter:blur(24px) saturate(1.05) brightness(1);
  }
  18%{
    opacity:.28;
    filter:blur(18px) saturate(1.20) brightness(1.08);
  }
  42%{
    opacity:.58;
    filter:blur(12px) saturate(1.42) brightness(1.22);
  }
  52%{
    opacity:.18;
    filter:blur(22px) saturate(1.10) brightness(1.02);
  }
  72%{
    opacity:.46;
    filter:blur(14px) saturate(1.34) brightness(1.16);
  }
}

/* HOME hero: smoke jets, stage lights and crowd flares */
.hero-strobe-home i:nth-child(1){
  left:3%; top:18%; width:28vw; height:42vh;
  background:radial-gradient(circle, rgba(255,255,255,.72), rgba(255,88,220,.38) 26%, transparent 68%);
}
.hero-strobe-home i:nth-child(2){
  left:41%; top:17%; width:18vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.60), rgba(255,120,230,.42) 30%, transparent 72%);
}
.hero-strobe-home i:nth-child(3){
  left:56%; top:17%; width:21vw; height:23vh;
  background:radial-gradient(circle, rgba(255,255,255,.62), rgba(255,150,80,.38) 28%, transparent 72%);
}
.hero-strobe-home i:nth-child(4){
  left:68%; top:31%; width:26vw; height:26vh;
  background:radial-gradient(circle, rgba(255,255,255,.46), rgba(255,45,214,.38) 30%, transparent 72%);
}
.hero-strobe-home i:nth-child(5){
  left:29%; top:48%; width:34vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,70,210,.32) 32%, transparent 74%);
}
.hero-strobe-home i:nth-child(6){
  left:50%; top:57%; width:34vw; height:24vh;
  background:radial-gradient(circle, rgba(255,255,255,.22), rgba(255,120,35,.34) 34%, transparent 76%);
}
.hero-strobe-home i:nth-child(7){
  left:10%; top:54%; width:20vw; height:23vh;
  background:radial-gradient(circle, rgba(255,255,255,.32), rgba(34,232,255,.26) 32%, transparent 72%);
}
.hero-strobe-home i:nth-child(8){
  left:78%; top:17%; width:18vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.38), rgba(34,232,255,.26) 32%, transparent 72%);
}

/* AGENDA hero: stage rig lights and sunset flares */
.hero-strobe-agenda i:nth-child(1){
  left:46%; top:10%; width:16vw; height:14vh;
  background:radial-gradient(circle, rgba(255,255,255,.70), rgba(255,185,80,.36) 30%, transparent 72%);
}
.hero-strobe-agenda i:nth-child(2){
  left:58%; top:14%; width:16vw; height:18vh;
  background:radial-gradient(circle, rgba(255,255,255,.64), rgba(110,145,255,.42) 30%, transparent 72%);
}
.hero-strobe-agenda i:nth-child(3){
  left:68%; top:18%; width:18vw; height:18vh;
  background:radial-gradient(circle, rgba(255,255,255,.62), rgba(190,90,255,.38) 28%, transparent 72%);
}
.hero-strobe-agenda i:nth-child(4){
  left:80%; top:24%; width:16vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.48), rgba(255,150,70,.32) 30%, transparent 72%);
}
.hero-strobe-agenda i:nth-child(5){
  left:5%; top:6%; width:34vw; height:36vh;
  background:radial-gradient(circle, rgba(255,230,140,.44), rgba(255,165,65,.30) 32%, transparent 72%);
}
.hero-strobe-agenda i:nth-child(6){
  left:39%; top:35%; width:28vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.22), rgba(34,232,255,.24) 32%, transparent 74%);
}
.hero-strobe-agenda i:nth-child(7){
  left:67%; top:37%; width:30vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.20), rgba(255,43,214,.24) 32%, transparent 74%);
}
.hero-strobe-agenda i:nth-child(8){
  left:18%; top:55%; width:34vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,122,45,.22) 32%, transparent 72%);
}

/* ABOUT hero: smoke, pyros, stage and crowd light */
.hero-strobe-about i:nth-child(1){
  left:0%; top:20%; width:26vw; height:36vh;
  background:radial-gradient(circle, rgba(255,255,255,.46), rgba(255,130,55,.38) 30%, transparent 72%);
}
.hero-strobe-about i:nth-child(2){
  left:23%; top:24%; width:22vw; height:24vh;
  background:radial-gradient(circle, rgba(255,255,255,.54), rgba(255,42,210,.34) 30%, transparent 72%);
}
.hero-strobe-about i:nth-child(3){
  left:48%; top:16%; width:22vw; height:24vh;
  background:radial-gradient(circle, rgba(255,255,255,.62), rgba(255,155,76,.34) 28%, transparent 72%);
}
.hero-strobe-about i:nth-child(4){
  left:69%; top:20%; width:22vw; height:23vh;
  background:radial-gradient(circle, rgba(255,255,255,.50), rgba(34,232,255,.32) 30%, transparent 72%);
}
.hero-strobe-about i:nth-child(5){
  left:78%; top:38%; width:20vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.36), rgba(255,43,214,.28) 30%, transparent 72%);
}
.hero-strobe-about i:nth-child(6){
  left:34%; top:45%; width:30vw; height:26vh;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,122,45,.30) 32%, transparent 74%);
}
.hero-strobe-about i:nth-child(7){
  left:58%; top:55%; width:28vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(34,232,255,.26) 32%, transparent 74%);
}
.hero-strobe-about i:nth-child(8){
  left:8%; top:64%; width:26vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(255,42,210,.24) 32%, transparent 74%);
}

/* WORK hero: laser beam hotspots and central blast */
.hero-strobe-work i:nth-child(1){
  left:38%; top:13%; width:25vw; height:24vh;
  background:radial-gradient(circle, rgba(255,255,255,.56), rgba(34,232,255,.40) 30%, transparent 72%);
}
.hero-strobe-work i:nth-child(2){
  left:49%; top:29%; width:28vw; height:26vh;
  background:radial-gradient(circle, rgba(255,255,255,.50), rgba(34,232,255,.34) 30%, transparent 74%);
}
.hero-strobe-work i:nth-child(3){
  left:25%; top:24%; width:24vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.30), rgba(80,185,255,.34) 30%, transparent 74%);
}
.hero-strobe-work i:nth-child(4){
  left:70%; top:18%; width:24vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.30), rgba(80,185,255,.34) 30%, transparent 74%);
}
.hero-strobe-work i:nth-child(5){
  left:5%; top:23%; width:28vw; height:18vh;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(34,232,255,.28) 32%, transparent 74%);
}
.hero-strobe-work i:nth-child(6){
  left:75%; top:38%; width:26vw; height:20vh;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(34,232,255,.26) 32%, transparent 74%);
}
.hero-strobe-work i:nth-child(7){
  left:32%; top:53%; width:34vw; height:21vh;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(122,80,255,.28) 32%, transparent 74%);
}
.hero-strobe-work i:nth-child(8){
  left:55%; top:9%; width:30vw; height:22vh;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(34,232,255,.26) 32%, transparent 74%);
}

@media (max-width:900px){
  .hero-strobe i{
    opacity:.10;
    filter:blur(18px) saturate(1.18);
  }
}


/* =========================================================
   CINEMATIC LOADER
   Animated KV loader that opens into the page.
   ========================================================= */

.loader{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(34,232,255,.10), transparent 18%),
    radial-gradient(circle at 38% 46%, rgba(255,43,214,.12), transparent 18%),
    radial-gradient(circle at 63% 55%, rgba(200,255,46,.10), transparent 16%),
    #05030a !important;
  transition:
    opacity .42s ease .72s,
    visibility .42s ease .72s,
    clip-path .92s cubic-bezier(.16,1,.3,1);
  clip-path:inset(0 0 0 0);
  isolation:isolate;
}

.loader::before,
.loader::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}

/* moving festival lasers behind the KV mark */
.loader::before{
  inset:-30%;
  background:
    linear-gradient(18deg, transparent 0 45%, rgba(34,232,255,.42) 49%, rgba(255,255,255,.34) 50%, transparent 55% 100%),
    linear-gradient(-24deg, transparent 0 44%, rgba(255,43,214,.36) 49%, rgba(255,255,255,.26) 50%, transparent 56% 100%),
    linear-gradient(78deg, transparent 0 46%, rgba(200,255,46,.24) 49%, rgba(255,255,255,.18) 50%, transparent 54% 100%);
  opacity:.36;
  filter:blur(.4px);
  animation:loaderLasers 3.2s ease-in-out infinite;
}

/* circular aperture glow */
.loader::after{
  width:min(70vw,720px);
  height:min(70vw,720px);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 90px rgba(34,232,255,.10),
    inset 0 0 120px rgba(255,43,214,.08);
  background:
    radial-gradient(circle at 50% 50%, transparent 0 25%, rgba(255,255,255,.035) 26% 26.5%, transparent 27% 100%),
    conic-gradient(from 90deg, transparent 0 18deg, rgba(34,232,255,.10) 24deg, transparent 34deg 92deg, rgba(255,43,214,.11) 108deg, transparent 124deg 188deg, rgba(200,255,46,.08) 206deg, transparent 220deg 360deg);
  animation:loaderAperture 4.8s linear infinite;
}

.loader div{
  position:relative;
  z-index:2;
  padding:42px 52px;
  border-radius:34px;
  background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.035), transparent 60%);
}

.loader span{
  position:relative;
  display:inline-block;
  color:rgba(255,255,255,.84) !important;
  text-shadow:0 0 18px rgba(34,232,255,.24);
  animation:loaderTextBlink 1.8s ease-in-out infinite;
}

.loader span::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-16px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--pink), var(--cyan), var(--acid), transparent);
  box-shadow:0 0 18px rgba(34,232,255,.52);
  animation:loaderScan 1.35s ease-in-out infinite;
}

.loader b{
  position:relative;
  animation:loaderLogoPulse 1.7s ease-in-out infinite;
  text-shadow:
    0 0 24px rgba(255,43,214,.28),
    0 0 46px rgba(34,232,255,.22),
    0 0 70px rgba(200,255,46,.14);
}

.loader b::before,
.loader b::after{
  content:"KV";
  position:absolute;
  inset:0;
  pointer-events:none;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  opacity:.55;
}

.loader b::before{
  transform:translate(-4px,0);
  background:linear-gradient(90deg,var(--pink),transparent);
  animation:loaderGlitchA 2.4s steps(2,end) infinite;
}

.loader b::after{
  transform:translate(4px,0);
  background:linear-gradient(90deg,transparent,var(--cyan),var(--acid));
  animation:loaderGlitchB 2.1s steps(2,end) infinite;
}

/* opening state: page reveals through a cinematic aperture */
.loader.opening{
  clip-path:inset(48% 0 48% 0 round 40px);
}

.loader.opening div{
  animation:loaderCenterPop .78s cubic-bezier(.16,1,.3,1) forwards;
}

.loader.hidden{
  opacity:0 !important;
  visibility:hidden !important;
  clip-path:inset(50% 0 50% 0 round 40px);
}

@keyframes loaderLasers{
  0%,100%{opacity:.22; transform:translateX(-2%) rotate(0deg)}
  40%{opacity:.46; transform:translateX(2%) rotate(.5deg)}
  68%{opacity:.32; transform:translateX(.5%) rotate(-.35deg)}
}

@keyframes loaderAperture{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

@keyframes loaderLogoPulse{
  0%,100%{filter:saturate(1.05) brightness(1); transform:scale(1)}
  45%{filter:saturate(1.45) brightness(1.16); transform:scale(1.025)}
  58%{filter:saturate(1.15) brightness(1.05); transform:scale(1.005)}
}

@keyframes loaderTextBlink{
  0%,100%{opacity:.72}
  48%{opacity:1}
  64%{opacity:.82}
}

@keyframes loaderScan{
  0%{transform:scaleX(.2); opacity:.15}
  45%{transform:scaleX(1); opacity:.95}
  100%{transform:scaleX(.25); opacity:.20}
}

@keyframes loaderGlitchA{
  0%,88%,100%{opacity:0; transform:translate(0,0)}
  90%{opacity:.55; transform:translate(-7px,-1px)}
  94%{opacity:.25; transform:translate(-3px,2px)}
}

@keyframes loaderGlitchB{
  0%,84%,100%{opacity:0; transform:translate(0,0)}
  86%{opacity:.50; transform:translate(7px,1px)}
  92%{opacity:.22; transform:translate(3px,-2px)}
}

@keyframes loaderCenterPop{
  0%{opacity:1; transform:scale(1)}
  42%{opacity:1; transform:scale(1.08)}
  100%{opacity:0; transform:scale(.86)}
}

@media (max-width:640px){
  .loader div{
    padding:32px 28px;
  }
  .loader b{
    font-size:clamp(74px,28vw,126px);
  }
}


/* =========================================================
   FINAL MOBILE OPTIMIZATION PASS
   Desktop is untouched. These rules only apply below 900px.
   ========================================================= */

@media (max-width: 900px){

  html,
  body{
    width:100%;
    overflow-x:hidden;
  }

  body{
    background:
      radial-gradient(circle at 12% 0%, rgba(255,43,214,.26), transparent 34%),
      radial-gradient(circle at 92% 8%, rgba(34,232,255,.22), transparent 34%),
      linear-gradient(180deg,#05030a,#090414 48%,#040207);
  }

  body::before{
    inset:-10%;
    opacity:.72;
  }

  .wrap{
    width:min(calc(100% - 28px), var(--max));
  }

  .grain{
    opacity:.09;
  }

  .scanlines{
    opacity:.035;
  }

  .progress{
    height:2px;
  }

  .cursor-dot,
  .cursor-ring{
    display:none !important;
  }

  .corner-rec{
    right:12px;
    bottom:12px;
    transform:scale(.86);
    transform-origin:right bottom;
    opacity:.88;
  }

  /* Header / menu */
  .site-header{
    top:10px;
    width:calc(100% - 20px);
    min-height:62px;
    padding:8px 9px 8px 10px;
    border-radius:24px;
    grid-template-columns:auto auto;
    justify-content:space-between;
    background:
      radial-gradient(circle at 12% 0%, rgba(255,43,214,.16), transparent 42%),
      radial-gradient(circle at 88% 20%, rgba(34,232,255,.14), transparent 46%),
      rgba(5,3,10,.82);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .brand{
    gap:9px;
    font-size:14px;
    min-width:0;
  }

  .brand-mark{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }

  .brand-mark span{
    width:16px;
    height:16px;
  }

  .brand small{
    font-size:9px;
    margin-top:3px;
    letter-spacing:.08em;
  }

  .menu-toggle{
    display:block;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.05);
  }

  .nav{
    position:fixed;
    left:10px;
    right:10px;
    top:78px;
    display:none;
    flex-direction:column;
    gap:7px;
    padding:10px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.16);
    background:
      radial-gradient(circle at 10% 0%, rgba(255,43,214,.18), transparent 40%),
      radial-gradient(circle at 90% 10%, rgba(34,232,255,.18), transparent 42%),
      rgba(5,3,10,.96);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    box-shadow:0 26px 80px rgba(0,0,0,.68);
    z-index:900;
  }

  .site-header.open .nav{
    display:flex;
  }

  .nav a{
    display:block;
    width:100%;
    text-align:left;
    padding:15px 16px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
    font-size:12px;
    letter-spacing:.12em;
  }

  .nav a.active,
  .nav a[aria-current="page"]{
    color:#05030a !important;
    background:linear-gradient(90deg,var(--acid),var(--cyan)) !important;
    border-color:transparent !important;
    box-shadow:0 0 28px rgba(34,232,255,.26) !important;
  }

  .nav a::after{
    left:16px;
    right:auto;
    bottom:7px;
    width:48px;
    height:2px;
  }

  .nav a.active::after,
  .nav a[aria-current="page"]::after{
    background:rgba(5,3,10,.72);
    box-shadow:none;
  }

  .nav-cta{
    display:none !important;
  }

  /* Loader */
  .loader div{
    padding:26px 22px;
  }

  .loader b{
    font-size:clamp(74px,30vw,132px);
    line-height:.82;
  }

  .loader span{
    font-size:10px;
    letter-spacing:.18em;
  }

  .loader::after{
    width:88vw;
    height:88vw;
  }

  .loader.opening{
    clip-path:inset(49% 0 49% 0 round 28px);
  }

  /* Hero sections */
  .hero,
  .page-hero{
    min-height:auto;
    padding:108px 0 54px;
    align-items:end;
  }

  .hero{
    min-height:92svh;
  }

  .page-hero{
    min-height:66svh;
  }

  .hero-bg img,
  .page-hero > img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(1.22) contrast(1.06) brightness(1.10) !important;
  }

  .home-hero .hero-bg img{
    object-position:center center;
  }

  .agenda-hero > img{
    object-position:center center;
  }

  .about-hero > img{
    object-position:center center;
  }

  .work-hero > img{
    object-position:center center;
  }

  .hero::after,
  .page-hero::after{
    background:
      linear-gradient(180deg, rgba(5,3,10,.10), rgba(5,3,10,.18) 42%, rgba(5,3,10,.38) 100%),
      linear-gradient(90deg, rgba(5,3,10,.28), rgba(5,3,10,.04) 45%, rgba(5,3,10,.22)) !important;
  }

  .hero-content,
  .page-hero-copy{
    position:relative;
    z-index:12 !important;
    max-width:100%;
  }

  .eyebrow,
  .kicker{
    font-size:10px;
    letter-spacing:.15em;
    margin-bottom:10px;
  }

  .mega{
    font-size:clamp(62px,22vw,112px);
    line-height:.76;
    letter-spacing:-.105em;
    margin-bottom:18px;
    max-width:100%;
  }

  .mega span{
    font-size:.31em;
    letter-spacing:.02em;
    line-height:1.12;
  }

  .page-title{
    font-size:clamp(68px,24vw,126px);
    line-height:.78;
  }

  .hero-copy,
  .lead{
    font-size:17px;
    line-height:1.42;
    max-width:100%;
    color:rgba(255,255,255,.96) !important;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:20px 0 0;
    max-width:360px;
  }

  .btn{
    width:100%;
    min-height:48px;
    padding:14px 16px;
    font-size:11px;
    letter-spacing:.11em;
  }

  .camera-frame{
    display:none;
  }

  .hero-shutter{
    opacity:.46;
  }

  .hero-strobe{
    opacity:.72;
  }

  .hero-strobe i{
    filter:blur(16px) saturate(1.15);
  }

  .hero-orbit{
    display:none !important;
  }

  .live-meter{
    margin-top:22px;
    transform:scale(.82);
    transform-origin:left bottom;
  }

  .live-meter span{
    width:9px;
  }

  .live-meter b{
    display:block;
    margin-left:8px;
    font-size:9px;
    letter-spacing:.12em;
    max-width:120px;
    line-height:1.2;
  }

  /* Background effects on mobile: visible but cheaper */
  .beamfield span{
    height:2px;
    width:180vw;
    opacity:.18;
    filter:blur(.15px);
  }

  .beamfield::before{
    opacity:.38;
    filter:blur(34px) saturate(1.12);
  }

  .beamfield::after{
    opacity:.24;
    filter:blur(24px) saturate(1.10);
  }

  .orb{
    filter:blur(34px) saturate(1.08);
    opacity:.16;
  }

  .orb-a{
    width:220px;
    height:220px;
    left:-90px;
    top:18%;
  }

  .orb-b{
    width:240px;
    height:240px;
    right:-110px;
    top:8%;
  }

  .orb-c{
    width:190px;
    height:190px;
    left:55%;
    bottom:-80px;
  }

  /* Ticker */
  .ticker span{
    padding:18px 12px;
    font-size:clamp(34px,15vw,68px);
    -webkit-text-stroke:.8px rgba(255,255,255,.42);
  }

  .ticker div{
    animation-duration:34s;
  }

  /* Sections */
  .section{
    padding:76px 0;
  }

  .section.compact{
    padding:58px 0;
  }

  .section.no-top{
    padding-top:0;
  }

  h2{
    font-size:clamp(40px,15vw,74px);
    line-height:.88;
    letter-spacing:-.075em;
  }

  .split,
  .agenda-layout,
  .about-grid,
  .contact-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .sticky-copy,
  .date-card{
    position:relative !important;
    top:auto !important;
  }

  .intro-copy > p:first-child{
    font-size:clamp(30px,11vw,54px);
    line-height:.94;
  }

  .intro-copy > p:not(:first-child){
    font-size:17px;
  }

  .output-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .output-card{
    border-radius:20px;
    padding:16px;
  }

  .output-preview{
    grid-template-columns:1fr;
    border-radius:24px;
  }

  .output-preview img{
    height:auto;
    aspect-ratio:16/10;
  }

  /* Image chaos becomes a clean premium mobile wall */
  .image-chaos{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .chaos-copy,
  .chaos-img{
    position:relative;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:auto !important;
    transform:none !important;
  }

  .chaos-copy{
    max-width:100%;
    margin-bottom:8px;
  }

  .chaos-img{
    aspect-ratio:4/5;
    border-radius:24px;
  }

  .chaos-img.c1,
  .chaos-img.c5{
    aspect-ratio:16/10;
  }

  .chaos-img img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* Services */
  .service-stack{
    gap:14px;
  }

  .service-panel,
  .service-panel:nth-child(2),
  .service-panel:nth-child(3){
    position:relative !important;
    top:auto !important;
    grid-template-columns:1fr;
    min-height:auto;
    padding:18px;
    border-radius:26px;
    gap:16px;
  }

  .service-panel h3{
    font-size:clamp(38px,13vw,62px);
    line-height:.86;
  }

  .service-panel p{
    font-size:16px;
  }

  .service-panel img{
    height:auto;
    aspect-ratio:16/10;
    border-radius:20px;
  }

  .mini-wall{
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    border:0;
    background:none;
  }

  .mini-wall img{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/5;
    border-radius:22px;
    animation:none !important;
  }

  .mini-wall img:nth-child(1),
  .mini-wall img:nth-child(3){
    aspect-ratio:16/10;
  }

  /* Work page */
  .work-toolbar{
    display:grid;
    gap:14px;
    align-items:start;
  }

  .filters{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding-bottom:5px;
    scrollbar-width:none;
  }

  .filters::-webkit-scrollbar{
    display:none;
  }

  .filter{
    flex:0 0 auto;
    padding:12px 14px;
  }

  .work-wall{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .work-card,
  .work-card.wide,
  .work-card.tall,
  .work-card.small{
    grid-column:auto;
    grid-row:auto;
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    border-radius:24px;
    margin:0;
  }

  .work-card.wide{
    aspect-ratio:16/10;
  }

  .work-card__hud{
    inset:auto 10px 10px 10px;
    padding:11px;
    border-radius:16px;
  }

  .case-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .case-tile{
    min-height:420px;
    border-radius:24px;
  }

  .case-tile div{
    left:16px;
    right:16px;
    bottom:16px;
  }

  .case-tile h3{
    font-size:clamp(34px,11vw,54px);
  }

  /* Agenda */
  .calendar-panel{
    overflow-x:auto;
    padding-bottom:8px;
  }

  .calendar-grid,
  .weekdays{
    min-width:640px;
  }

  .calendar-top{
    display:grid;
    gap:4px;
  }

  .calendar-top h2{
    margin-bottom:0;
  }

  .day{
    min-height:82px;
    border-radius:15px;
    padding:10px;
  }

  .day b{
    font-size:22px;
  }

  .date-card{
    border-radius:24px;
  }

  .date-card img{
    height:auto;
    aspect-ratio:16/10;
    border-radius:20px;
  }

  .gig-list{
    gap:10px;
  }

  .gig-row{
    grid-template-columns:1fr;
    gap:8px;
    border-radius:20px;
  }

  .gig-row i{
    text-align:left;
  }

  /* About */
  .about-collage{
    min-height:500px;
  }

  .ac-main{
    left:0;
    width:78%;
    height:380px;
    border-radius:24px;
  }

  .ac-a{
    width:52%;
    height:170px;
    border-radius:20px;
  }

  .ac-b{
    width:56%;
    height:200px;
    border-radius:20px;
  }

  .floating-tag{
    width:118px;
    height:118px;
    font-size:14px;
  }

  .gear-grid,
  .process-line{
    grid-template-columns:1fr;
    gap:12px;
  }

  .gear-grid div,
  .process-line article{
    border-radius:22px;
  }

  .process-line h3{
    font-size:clamp(34px,11vw,54px);
  }

  /* Contact */
  .contact-info,
  .booking-form{
    border-radius:24px;
  }

  .package{
    border-radius:19px;
  }

  .form-row{
    grid-template-columns:1fr;
    gap:12px;
  }

  .booking-form input,
  .booking-form textarea,
  .booking-form select{
    min-height:48px;
    border-radius:16px;
  }

  .booking-form textarea{
    min-height:150px;
  }

  .quote-card{
    border-radius:20px;
  }

  .quote-card strong{
    font-size:24px;
  }

  .contact-lines div{
    border-radius:16px;
  }

  /* Footer */
  .site-footer{
    padding-bottom:32px;
  }

  .footer-marquee{
    margin-bottom:38px;
  }

  .footer-marquee span{
    font-size:clamp(44px,18vw,86px);
  }

  .footer-grid{
    display:grid;
    gap:20px;
    align-items:start;
  }

  .footer-grid h2{
    font-size:clamp(48px,16vw,76px);
  }

  .footer-links{
    display:grid;
    grid-template-columns:1fr;
  }

  .footer-links a{
    text-align:center;
  }

  /* Lightbox */
  .lightbox{
    padding:12px;
  }

  .lightbox img{
    max-width:96vw;
    max-height:72svh;
    border-radius:20px;
  }

  .lightbox button{
    right:12px;
    top:12px;
    padding:11px 14px;
  }

  .lightbox p{
    left:14px;
    right:14px;
    bottom:12px;
    font-size:10px;
  }
}

/* Extra small phones */
@media (max-width: 430px){

  .wrap{
    width:calc(100% - 24px);
  }

  .brand{
    font-size:13px;
  }

  .brand-mark{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .site-header{
    width:calc(100% - 16px);
    top:8px;
  }

  .nav{
    left:8px;
    right:8px;
    top:74px;
  }

  .mega{
    font-size:clamp(58px,23vw,96px);
  }

  .page-title{
    font-size:clamp(60px,25vw,108px);
  }

  .hero-copy,
  .lead{
    font-size:16px;
  }

  .hero,
  .page-hero{
    padding-top:98px;
  }

  .hero-actions{
    max-width:none;
  }

  .live-meter{
    transform:scale(.74);
  }

  .calendar-grid,
  .weekdays{
    min-width:590px;
  }

  .day{
    min-height:76px;
  }

  .about-collage{
    min-height:450px;
  }

  .ac-main{
    height:340px;
  }

  .ac-a{
    height:150px;
  }

  .ac-b{
    height:175px;
  }

  .floating-tag{
    width:104px;
    height:104px;
    font-size:12px;
  }

  .corner-rec{
    display:none;
  }
}
