/* =========================================================
   Himesh Thokala — dark neon + liquid glass
   Performance rules used here:
   - moving things only change transform / opacity
   - real backdrop blur only on small, fixed things (nav, chips, player)
   - big glass panels use a painted glass look instead (no live blur while scrolling)
   ========================================================= */
@property --mx{syntax:"<length>";inherits:false;initial-value:-999px}
@property --my{syntax:"<length>";inherits:false;initial-value:-999px}
@property --dx{syntax:"<number>";inherits:true;initial-value:0}
@property --dy{syntax:"<number>";inherits:true;initial-value:0}

:root{
  --bg:#020106;
  --bg2:#07051000;
  --ink:#f2f1fb;
  --mute:#a19fbd;
  --dim:#7d7b98;
  --line:rgba(255,255,255,.08);
  --n1:#7b3cff;   /* violet */
  --n2:#00d4ff;   /* cyan */
  --n3:#ff4fd8;   /* pink */
  --gold:#f3c96b;
  --ok:#3dff9a;
  --r:26px;
  --pad:clamp(16px,4.4vw,56px);
  --max:1240px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --display:"Syne",system-ui,sans-serif;
  --head:"Space Grotesk",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
[hidden]{display:none!important}
ul,ol{list-style:none}
.mono{font-family:var(--mono);letter-spacing:.02em}
.small{font-size:12.5px}
.dim{color:var(--mute)}
.grad{background:linear-gradient(92deg,#b996ff 0%,var(--n2) 50%,var(--n3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sig{font-family:"Caveat",cursive;font-weight:700;font-size:1.75em;line-height:1;color:#fff;white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);display:inline-block;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4}}
:focus-visible{outline:2px solid var(--n2);outline-offset:3px;border-radius:8px}

/* ---------- background: soft light, no blur filters ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%,#0b0720 0%,var(--bg) 60%)}
.blob{position:absolute;border-radius:50%;will-change:transform;animation:drift 22s ease-in-out infinite alternate}
.b1{width:70vmax;height:70vmax;left:-28vmax;top:-34vmax;background:radial-gradient(closest-side,rgba(123,60,255,.34),rgba(123,60,255,0))}
.b2{width:55vmax;height:55vmax;right:-24vmax;top:16vh;background:radial-gradient(closest-side,rgba(0,212,255,.16),rgba(0,212,255,0));animation-delay:-7s}
.b3{width:50vmax;height:50vmax;left:24vw;bottom:-30vmax;background:radial-gradient(closest-side,rgba(255,79,216,.14),rgba(255,79,216,0));animation-delay:-12s}
.b4{width:36vmax;height:36vmax;right:8vw;bottom:6vh;background:radial-gradient(closest-side,rgba(123,60,255,.14),rgba(123,60,255,0));animation-delay:-3s}
@keyframes drift{to{transform:translate3d(5vmax,4vmax,0) scale(1.12)}}
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 80%)}
.grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------- LIQUID GLASS (painted, scroll-cheap) ---------- */
.lg{
  position:relative;isolation:isolate;overflow:clip;
  background:
    radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.13),transparent 46%),
    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.012) 55%,rgba(255,255,255,.035)),
    rgba(12,9,26,.72);
  border-radius:var(--r);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    inset 0 -1px 1px rgba(255,255,255,.05),
    0 24px 60px rgba(0,0,0,.55);
}
/* cursor spotlight: a fixed-size light that moves with transform only */
.lg::before{
  content:"";position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(255,255,255,.1),transparent);
  transform:translate3d(var(--mx),var(--my),0);
}
/* bright rim */
.lg::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,.55),rgba(255,255,255,.05) 34%,rgba(255,255,255,0) 60%,rgba(255,255,255,.28));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
}
/* the few places that get a real blur */
.blur{-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.02) 60%),rgba(10,8,22,.45)}

/* ---------- buttons ---------- */
.btn-glow{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:99px;font:600 15px var(--body);color:#fff;white-space:nowrap;
  background:linear-gradient(90deg,var(--n1),#4a6bff 55%,var(--n2));background-size:160% 100%;
  box-shadow:0 10px 36px rgba(123,60,255,.45),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 6px rgba(0,0,0,.2);
  transition:transform .35s var(--ease),background-position .5s var(--ease)}
.btn-glow:hover{transform:translateY(-2px);background-position:100% 0}
.btn-glow.sm{padding:10px 18px;font-size:14px}
.btn-glass{--r:99px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;font:600 15px var(--body);color:#fff;white-space:nowrap;transition:transform .35s var(--ease)}
.btn-glass:hover{transform:translateY(-2px)}
.tri{width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}

/* ---------- NAV ---------- */
.nav-wrap{position:fixed;top:16px;left:0;right:0;z-index:50;display:flex;flex-direction:column;align-items:center;padding:0 12px;pointer-events:none}
.nav{--r:99px;pointer-events:auto;display:flex;align-items:center;gap:clamp(14px,2.6vw,32px);padding:8px 8px 8px 22px;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.nav.hide{transform:translate3d(0,-130%,0);opacity:0}
.logo{font:800 17px var(--display);letter-spacing:.03em;color:#fff}
.logo span{font-size:.7em;vertical-align:super;color:var(--n2)}
.nav-links{display:flex;gap:clamp(14px,2.2vw,28px);font:500 14px var(--body);color:#d6d4ec}
.nav-links a{position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--n1),var(--n2));transform:scaleX(0);transition:transform .4s var(--ease)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1)}
.burger{display:none;width:42px;height:42px;border-radius:50%;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:#fff;transition:transform .3s,top .3s}
.burger i:first-child{top:16px}.burger i:last-child{top:24px}
.burger[aria-expanded="true"] i:first-child{top:20px;transform:rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{top:20px;transform:rotate(-45deg)}
.sheet{pointer-events:auto;margin-top:10px;width:min(92vw,380px);padding:10px;display:grid;gap:2px}
.sheet a{padding:13px 16px;border-radius:16px;font:600 17px var(--head)}
.sheet a:hover{background:rgba(255,255,255,.08)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;max-width:1400px;margin:0 auto;padding:130px var(--pad) 90px;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:20px;overflow:visible}
.hero-text{position:relative;z-index:4;will-change:transform}
.eyebrow{display:flex;align-items:center;gap:10px;font:600 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#cfcde6}
.title{font:800 min(112px,9.2vw)/.92 var(--display);letter-spacing:-.03em;text-transform:uppercase;margin:24px 0 26px;perspective:900px}
.title .line{display:block;white-space:nowrap;overflow:hidden;padding-bottom:.04em}
.title .line>span{display:inline-block;transform-origin:50% 100%;animation:rise 1.1s var(--ease) both}
.title .line:nth-child(2)>span{animation-delay:.12s}
@keyframes rise{from{transform:translate3d(0,105%,0) rotateX(-70deg);opacity:0}}
.title .outline{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.9)}
.title .outline:hover{-webkit-text-stroke-color:transparent;background:linear-gradient(90deg,#b996ff,var(--n2),var(--n3));-webkit-background-clip:text;background-clip:text}
.lede{max-width:500px;color:var(--mute);font-size:17px;margin-bottom:30px}
.lede .sig{display:block;margin-top:12px;font-size:32px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:flex;gap:clamp(18px,3vw,40px);margin-top:44px;flex-wrap:wrap}
.hero-stats div{border-left:1px solid var(--line);padding-left:16px}
.hero-stats div:first-child{border-left:0;padding-left:0}
.hero-stats dt{font:700 28px var(--head);letter-spacing:-.02em}
.hero-stats dd{font-size:13px;color:var(--dim)}
.hero-text>*{animation:fadeup 1s var(--ease) both}
.hero-text>.lede{animation-delay:.25s}.hero-text>.ctas{animation-delay:.35s}.hero-text>.hero-stats{animation-delay:.45s}
@keyframes fadeup{from{opacity:0;transform:translate3d(0,24px,0)}}

.hero-visual{position:relative;aspect-ratio:1/1.02;width:100%;max-width:640px;justify-self:end;perspective:1300px}
.stage{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.blob3d{position:absolute;inset:-2% -4% 8% 2%;width:102%;aspect-ratio:1;height:auto;opacity:0;transition:opacity 1.2s;pointer-events:none}
.gl .blob3d{opacity:1}
.gl .orb{background:radial-gradient(circle,rgba(123,60,255,.45),rgba(0,212,255,.14) 45%,transparent 68%);box-shadow:none;animation:none;transform:scale(1.25)}
.orb{position:absolute;inset:4% 0 10% 6%;border-radius:50%;
  background:
    radial-gradient(circle at 32% 26%,rgba(255,255,255,.9) 0,rgba(255,255,255,0) 13%),
    radial-gradient(circle at 72% 80%,rgba(0,0,0,.75),transparent 56%),
    conic-gradient(from 210deg,var(--n1),var(--n2),#fff,var(--n3),var(--n1));
  box-shadow:0 0 140px rgba(123,60,255,.45),inset -30px -40px 80px rgba(0,0,0,.45);
  animation:float 9s ease-in-out infinite alternate}
@keyframes float{to{transform:translate3d(0,-14px,0) scale(1.02)}}
.orb-ring{position:absolute;inset:-2% -6% 4% 0;border-radius:50%;border:1px solid rgba(255,255,255,.1);transform:rotate(-18deg) scaleY(.32);animation:ring 22s linear infinite}
.orb-ring::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--n2);box-shadow:0 0 14px var(--n2)}
@keyframes ring{to{transform:rotate(342deg) scaleY(.32)}}
/* glass lens: painted, so it costs nothing while the blob animates under it */
.lens{position:absolute;width:44%;aspect-ratio:1;left:-4%;top:4%;z-index:2;border-radius:50%;transform:translateZ(50px);animation:lensf 11s ease-in-out infinite alternate;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),rgba(255,255,255,0) 32%),radial-gradient(circle at 70% 80%,rgba(0,212,255,.18),transparent 55%),radial-gradient(circle,rgba(255,255,255,.04) 60%,rgba(255,255,255,.14) 70%,rgba(255,255,255,0) 71%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -12px 30px rgba(123,60,255,.2),0 30px 60px rgba(0,0,0,.4)}
@keyframes lensf{to{transform:translateZ(50px) translate3d(18px,26px,0)}}
.fan{position:absolute;left:8%;right:-2%;bottom:0;height:48%;z-index:3;transform-style:preserve-3d}
.fcard{--r:20px;position:absolute;width:56%;padding:8px;text-align:left;transition:transform .7s var(--ease)}
.fcard .poster{aspect-ratio:16/10;border-radius:13px}
.fcard small{display:block;padding:9px 4px 3px;font:600 13px var(--body)}
.f1{left:0;top:16%;transform:translateZ(70px) rotateY(20deg) rotate(-8deg)}
.f2{left:22%;top:0;transform:translateZ(100px) rotateY(4deg) rotate(2deg);z-index:2}
.f3{left:44%;top:22%;transform:translateZ(140px) rotateY(-20deg) rotate(9deg);z-index:3}
.fan:hover .f1{transform:translateZ(70px) rotateY(24deg) rotate(-11deg) translate(-24px,-6px)}
.fan:hover .f3{transform:translateZ(140px) rotateY(-24deg) rotate(12deg) translate(24px,-4px)}
.fcard:hover{z-index:5}
.fan .fcard:hover{transform:translateZ(190px) rotate(0) translateY(-10px)}

.cursor-lens{position:fixed;left:0;top:0;width:120px;height:120px;margin:-60px 0 0 -60px;z-index:3;pointer-events:none;opacity:0;border-radius:50%;transition:opacity .4s,scale .4s var(--ease);will-change:transform;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.3),rgba(255,255,255,0) 35%),radial-gradient(circle,rgba(255,255,255,0) 62%,rgba(255,255,255,.16) 70%,rgba(255,255,255,0) 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 30px rgba(0,0,0,.25)}
.cursor-lens.on{opacity:1}
.cursor-lens.big{scale:.6}

/* ---------- 3D TAPES (marquee) ---------- */
.tapes{position:relative;height:clamp(150px,16vw,210px);perspective:900px;overflow:clip;margin-top:-20px}
.tape{position:absolute;left:-10%;right:-10%;top:50%;white-space:nowrap;padding:16px 0;font:800 clamp(16px,2vw,22px) var(--display);letter-spacing:.06em;
  background:linear-gradient(90deg,rgba(14,10,30,.95),rgba(24,16,52,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.06),0 20px 40px rgba(0,0,0,.6)}
.tape.t1{transform:translate3d(0,-50%,0) rotateX(14deg) rotateZ(-4deg)}
.tape.t2{transform:translate3d(0,-50%,-80px) rotateX(-12deg) rotateZ(3.5deg);background:linear-gradient(90deg,var(--n1),#3b47ff 50%,#0098d6);color:#fff;opacity:.92}
.tape .track{display:inline-block;will-change:transform}
.tape span{margin:0 24px}
.tape em{font-style:normal;background:linear-gradient(90deg,var(--n1),var(--n2));-webkit-background-clip:text;background-clip:text;color:transparent}
.tape.t2 em{background:none;color:rgba(255,255,255,.7)}

/* ---------- SECTIONS ---------- */
.section{max-width:var(--max);margin:0 auto;padding:clamp(80px,11vw,140px) var(--pad) 0}
.sec-head{max-width:760px;margin-bottom:clamp(30px,4vw,50px)}
.kicker{font-size:13px;color:var(--n2);margin-bottom:14px}
.sec-head h2,.cta h2,.yt h2{font:700 clamp(38px,5.6vw,68px)/1 var(--head);letter-spacing:-.04em}
.sec-sub{color:var(--mute);font-size:17px;margin-top:16px;max-width:620px}

/* ---------- WORK ---------- */
.works{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.work{--r:28px;padding:10px;display:flex;flex-direction:column}
[data-tilt]{will-change:transform}
/* layers slide by different amounts while the card tilts, which reads as depth */
.work .play{translate:calc(var(--dx)*34px) calc(var(--dy)*34px)}
.work .cat,.work .len{translate:calc(var(--dx)*20px) calc(var(--dy)*20px)}
.work .body h3{translate:calc(var(--dx)*12px) calc(var(--dy)*12px)}
.work .poster-btn{position:relative;display:block;width:100%;border-radius:19px;overflow:hidden;aspect-ratio:16/9;text-align:left;transform:translateZ(0)}
.work .body{padding:18px 12px 12px;display:flex;flex-direction:column;gap:10px;flex:1}
.work .meta{display:flex;gap:10px;align-items:center;font:500 12px var(--mono);color:var(--mute);flex-wrap:wrap}
.work .meta .idx{color:var(--n2)}
.work h3{font:700 26px/1.1 var(--head);letter-spacing:-.02em}
.work p{color:#c4c2dc;font-size:15px}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.chips li{font:500 12px var(--mono);padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e4e2f6}
.work.feature{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:10px}
.work.feature .poster-btn{aspect-ratio:16/10}
.work.feature .body{padding:22px 26px}
.work.feature h3{font-size:clamp(28px,3.4vw,40px)}
.work.feature p{font-size:16px}
.work.feature.rev{grid-template-columns:1fr 1.35fr}
.work.feature.rev .poster-btn{order:2}
.fstats{display:flex;gap:22px;flex-wrap:wrap;padding:6px 0 4px}
.fstats div b{display:block;font:700 24px var(--head);letter-spacing:-.02em}
.fstats div span{font-size:12.5px;color:var(--dim)}
.watch{display:inline-flex;align-items:center;gap:10px;font:600 14px var(--body);color:#fff;margin-top:4px}
.watch .tri{border-left-width:9px;border-top-width:6px;border-bottom-width:6px}
.watch:hover{color:var(--n2)}

/* posters */
.poster{position:relative;overflow:hidden;background:#0c0918;width:100%;height:100%}
.poster-btn .poster{position:absolute;inset:0}
.poster img{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.work:hover .poster img{transform:scale(1.08)}
.hover-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s;background:transparent;z-index:4}
.hover-vid.v{object-fit:contain}
.hover-vid.on{opacity:1}
.len{position:absolute;right:14px;bottom:12px;z-index:6;padding:4px 9px;border-radius:8px;font-size:12px;color:#fff;background:rgba(2,1,6,.7)}
.poster::after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(0deg,rgba(2,1,6,.6),transparent 45%);pointer-events:none}
.play{--r:50%;position:absolute;left:50%;top:50%;width:66px;height:66px;margin:-33px 0 0 -33px;z-index:6;display:grid;place-items:center;transition:transform .5s var(--ease)}
.play .tri{border-left-width:18px;border-top-width:12px;border-bottom-width:12px;margin-left:5px}
.poster-btn:hover .play{transform:scale(1.12)}
.cat{--r:99px;position:absolute;left:14px;top:14px;z-index:6;padding:6px 12px;font:600 12px var(--body)}
.poster{container-type:inline-size}
.art{position:absolute;inset:0}
.art .t{position:absolute;left:7%;right:7%;bottom:12%;font:800 7.4cqw/.92 var(--display);letter-spacing:-.01em;text-transform:uppercase;z-index:2}
.art .t small{display:block;font:500 max(9px,2.2cqw) var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.7);margin-bottom:8px}
.art-ai{background:radial-gradient(40% 55% at 70% 40%,rgba(255,79,216,.45),transparent 70%),radial-gradient(60% 70% at 30% 60%,rgba(123,60,255,.7),transparent 70%),linear-gradient(160deg,#100822,#020106)}
.art-tracer{background:radial-gradient(90% 70% at 70% 0%,rgba(0,212,255,.2),transparent 60%),linear-gradient(180deg,#0b1a2b 0%,#0d2b1e 55%,#06150d 100%)}
.art-tracer svg{position:absolute;inset:0;width:100%;height:100%}
.art-ugc{background:radial-gradient(50% 60% at 75% 40%,rgba(255,79,216,.4),transparent 70%),linear-gradient(140deg,#160c28,#24123a 50%,#0a0815)}
.art-ugc .phone{position:absolute;right:12%;top:10%;bottom:10%;aspect-ratio:9/18;border-radius:18px;border:2px solid rgba(255,255,255,.5)}
.art-golf{background:linear-gradient(180deg,#7fb2e0 0%,#bfd8ea 42%,#7fb05a 43%,#4f8a34 65%,#2a5a1d 100%)}

/* ---------- EXPERIENCE: sticky 3D stack ---------- */
.jobs{position:relative;display:grid;gap:22px;perspective:1400px}
.job{position:sticky;top:calc(92px + var(--i) * 16px)}
.job-card{--r:30px;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(16px,2.6vw,30px);padding:clamp(20px,3vw,34px);transform-origin:50% 0;will-change:transform;
  background:
    radial-gradient(90% 120% at 0% 0%,hsla(var(--h),90%,60%,.16),transparent 55%),
    radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.1),transparent 46%),
    linear-gradient(180deg,#120e24,#0a0817)}
.job-shade{position:absolute;inset:0;border-radius:inherit;background:#020106;opacity:0;pointer-events:none;z-index:3;will-change:opacity}
.mark{width:clamp(58px,6vw,74px);aspect-ratio:1;border-radius:20px;display:grid;place-items:center;font:800 clamp(17px,1.8vw,21px) var(--display);letter-spacing:-.02em;color:#fff;
  background:linear-gradient(135deg,hsl(var(--h),85%,58%),hsl(calc(var(--h) + 50),85%,42%));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -6px 14px rgba(0,0,0,.25),0 14px 30px hsla(var(--h),90%,50%,.3)}
.job-main h3{font:700 clamp(22px,2.6vw,30px)/1.1 var(--head);letter-spacing:-.02em}
.job-role{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 14px;font-size:14.5px;color:#d9d7ee}
.job-role span{color:var(--dim)}
.job-main .pts{display:grid;gap:8px}
.job-main .pts li{position:relative;padding-left:18px;color:#c4c2dc;font-size:15px}
.job-main .pts li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:hsl(var(--h),90%,62%);box-shadow:0 0 10px hsl(var(--h),90%,60%)}
.job .chips{margin-top:14px}
.job-when{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.job-when b{font:600 14px var(--mono);color:#e9e7fb}
.now{display:inline-flex;align-items:center;gap:7px;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ok);padding:5px 10px;border-radius:99px;background:rgba(61,255,154,.08);border:1px solid rgba(61,255,154,.25)}

/* ---------- REVIEWS ---------- */
.overall{display:flex;align-items:center;gap:clamp(20px,4vw,48px);flex-wrap:wrap;margin-bottom:clamp(20px,3vw,34px)}
.score{display:flex;align-items:flex-end;gap:16px}
.score b{font:700 clamp(80px,10vw,128px)/.8 var(--head);letter-spacing:-.06em;background:linear-gradient(180deg,#fff 20%,#f3c96b 120%);-webkit-background-clip:text;background-clip:text;color:transparent}
.score-side{display:flex;flex-direction:column;gap:6px;padding-bottom:4px}
.gstars{position:relative;display:inline-block;font-size:22px;letter-spacing:.12em;line-height:1;color:rgba(255,255,255,.14)}
.gstars i{position:absolute;inset:0;overflow:hidden;width:var(--fill,100%);color:var(--gold);text-shadow:0 0 14px rgba(243,201,107,.55);font-style:normal;white-space:nowrap;transition:width 1.6s var(--ease)}
.overall:not(.in) .gstars i{width:0}
.score-side small{font-size:13.5px;color:#d6d4ec}
.score-side small span{color:var(--dim)}
.faces{display:flex;align-items:center}
.faces .av{--s:46px;margin-left:-12px;box-shadow:0 0 0 3px var(--bg)}
.faces .av:first-child{margin-left:0}
.overall .note{flex-basis:100%;font-size:12.5px;color:var(--dim)}
.overall .note a{color:var(--mute);border-bottom:1px solid rgba(255,255,255,.18)}
.overall .note a:hover{color:#fff}

/* animated avatar: spinning colour ring, soft orbiting light, initial in the middle */
.av{--s:52px;--h:270;position:relative;width:var(--s);height:var(--s);flex:none;border-radius:50%;display:grid;place-items:center;isolation:isolate}
.av::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-2;background:conic-gradient(from 0deg,hsl(var(--h),95%,62%),hsl(calc(var(--h) + 70),95%,60%),hsl(calc(var(--h) + 160),90%,62%),hsl(var(--h),95%,62%));animation:spin 4s linear infinite;will-change:transform}
.av::after{content:"";position:absolute;inset:2.5px;border-radius:50%;z-index:-1;background:radial-gradient(circle at 30% 25%,hsla(var(--h),90%,70%,.55),transparent 55%),radial-gradient(circle at 75% 80%,hsla(calc(var(--h) + 120),90%,60%,.4),transparent 60%),#0d0a1c}
.av b{font:700 calc(var(--s)*.42)/1 var(--head);color:#fff;text-transform:uppercase;text-shadow:0 2px 10px hsla(var(--h),90%,50%,.8)}
.av img{position:absolute;inset:2.5px;width:calc(100% - 5px);height:calc(100% - 5px);border-radius:50%;object-fit:cover}
.av .orbit{position:absolute;inset:0;border-radius:50%;animation:spin 2.6s linear infinite reverse;will-change:transform}
.av .orbit::before{content:"";position:absolute;left:50%;top:-1px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 16px hsl(var(--h),95%,65%)}
@keyframes spin{to{transform:rotate(360deg)}}

/* 3D ring carousel */
.ring-stage{position:relative;height:var(--ch);perspective:1500px;perspective-origin:50% 40%;margin:0 calc(var(--pad)*-1);overflow-x:clip;touch-action:pan-y;user-select:none;cursor:grab;--cw:min(470px,80vw);--ch:390px}
.ring-stage:active{cursor:grabbing}
.ring{position:absolute;left:50%;top:0;width:0;height:100%;transform-style:preserve-3d;will-change:transform}
.ring.snap{transition:transform 1s var(--ease)}
.rev-card{--r:30px;position:absolute;left:calc(var(--cw)/-2);top:0;width:var(--cw);height:var(--ch);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px;backface-visibility:hidden;
  background:
    radial-gradient(80% 60% at 100% 0%,hsla(var(--h),90%,60%,.14),transparent 60%),
    radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.1),transparent 46%),
    linear-gradient(160deg,#141029,#09071a 70%);
  transition:opacity .8s var(--ease),filter .8s var(--ease)}
.rev-card{overflow:visible;isolation:auto}
.rev-card::before{display:none}
.rev-card::after{background:linear-gradient(140deg,rgba(243,201,107,.6),rgba(255,255,255,.05) 34%,rgba(255,255,255,0) 60%,rgba(243,201,107,.3))}
.rev-card:not(.on){opacity:.4}
.rev-card .av::before,.rev-card .av .orbit{animation-play-state:paused}
.rev-card.on .av::before,.rev-card.on .av .orbit{animation-play-state:running}
.rev-top{display:flex;align-items:center;gap:14px}
.rev-who{display:flex;flex-direction:column;min-width:0}
.rev-who b{font:600 16px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rev-who span{font-size:12.5px;color:var(--dim)}
.rev-stars{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.rev-stars .gstars{font-size:14px}
.rev-stars small{font:600 12px var(--mono);color:var(--gold)}
.rev-card blockquote{position:relative;font:500 clamp(28px,3.4vw,40px)/1.12 var(--head);letter-spacing:-.025em;margin:auto 0;padding-top:10px}
.rev-card blockquote::before{content:"“";position:absolute;left:-6px;top:-.55em;font:700 110px/1 Georgia,serif;color:var(--gold);opacity:.22}
.rev-card.long blockquote{font-size:clamp(15.5px,1.6vw,18px);line-height:1.5;letter-spacing:0}
.deck-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px}
.deck-btn{--r:50%;width:46px;height:46px;display:grid;place-items:center;font-size:18px;transition:transform .35s var(--ease)}
.deck-btn:hover{transform:scale(1.08)}
.deck-dots{display:flex}
.deck-dots button{width:24px;height:24px;display:grid;place-items:center}
.deck-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:background .4s,transform .4s var(--ease)}
.deck-dots button.on::before{background:var(--gold);transform:scale(1.35);box-shadow:0 0 10px rgba(243,201,107,.7)}

/* ---------- AI PIPELINE ---------- */
.pipe{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pipe::before{content:"";position:absolute;left:4%;right:4%;top:46px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--n1),var(--n2),var(--n3),var(--n1));opacity:.6;z-index:-1}
.node{padding:24px 22px;display:flex;flex-direction:column;gap:12px}
.node .n{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--n1),var(--n2));box-shadow:0 0 24px rgba(0,212,255,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.node h3{font:700 21px var(--head);letter-spacing:-.02em}
.node p{color:#c4c2dc;font-size:14.5px}
.tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.tools span{font:500 11.5px var(--mono);padding:5px 9px;border-radius:8px;background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.22);color:#bdf2ff}

/* rotating 3D cylinder of tools */
.tools-ring{position:relative;height:150px;margin-top:clamp(40px,6vw,70px);perspective:1100px;perspective-origin:50% 20%;overflow-x:clip;margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1);
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.cyl{position:absolute;left:50%;top:44px;width:0;height:0;transform-style:preserve-3d;animation:cyl 46s linear infinite;will-change:transform}
.tools-ring:hover .cyl{animation-play-state:paused}
@keyframes cyl{from{transform:translateZ(calc(var(--R)*-1)) rotateX(-8deg) rotateY(0)}to{transform:translateZ(calc(var(--R)*-1)) rotateX(-8deg) rotateY(-360deg)}}
.cyl span{position:absolute;left:-85px;top:-24px;width:170px;height:48px;display:grid;place-items:center;padding:0 10px 0 24px;white-space:nowrap;border-radius:14px;font:600 14px var(--body);color:#fff;backface-visibility:hidden;
  transform:rotateY(calc(var(--k)*1deg)) translateZ(var(--R));
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02)),rgba(16,12,34,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 24px rgba(0,0,0,.5)}
.cyl span i{font-style:normal;width:8px;height:8px;border-radius:50%;background:var(--c,var(--n2));box-shadow:0 0 10px var(--c,var(--n2));position:absolute;left:14px}

/* ---------- ABOUT BENTO ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(170px,auto);gap:16px}
.tile{--r:28px;padding:24px;overflow:hidden}
.me{grid-column:1/2;grid-row:1/3;padding:10px;display:flex;flex-direction:column}
.portrait{position:relative;flex:1;min-height:300px;perspective:1100px;cursor:pointer;outline:none;margin-top:14px}
.portrait .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;border-radius:20px;background:#0c0918;box-shadow:0 18px 40px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.1);backface-visibility:hidden;transition:transform .9s var(--ease),opacity .7s var(--ease),filter .9s var(--ease)}
.portrait .ph[data-pos="0"]{transform:translate3d(0,0,0);z-index:3}
.portrait .ph[data-pos="1"]{transform:translate3d(6px,-9px,-50px) rotate(2.4deg) scale(.96);z-index:2;filter:brightness(.5) saturate(.8)}
.portrait .ph[data-pos="2"]{transform:translate3d(-6px,-16px,-100px) rotate(-2.8deg) scale(.92);z-index:1;filter:brightness(.3) saturate(.6)}
.portrait .ph.out{transform:translate3d(-60%,24px,60px) rotate(-12deg) rotateY(28deg);opacity:0}
.portrait:focus-visible .ph[data-pos="0"]{box-shadow:0 0 0 2px var(--n2),0 18px 40px rgba(0,0,0,.55)}
.me-text{padding:14px 10px 6px}
.me-text .sig{font-size:34px}
.intro{grid-column:2/5;display:flex;flex-direction:column;gap:12px;justify-content:center}
.intro .big{font:500 clamp(19px,2vw,24px)/1.4 var(--head);letter-spacing:-.01em}
.num{display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.num b{font:700 clamp(40px,4.4vw,56px)/1 var(--head);letter-spacing:-.04em}
.num span:last-child{color:#cfcde6;font-size:14px}
.geo{grid-column:1/-1;display:grid;grid-template-columns:1fr minmax(240px,380px);align-items:center;gap:20px;padding-top:20px;padding-bottom:20px}
.geo ul{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 14px;margin-top:14px}
.geo li{font:700 24px var(--head);display:flex;flex-direction:column}
.geo li span{font:400 13px var(--body);color:var(--mute)}
.globe-wrap{position:relative;aspect-ratio:1;width:100%;margin:-30px 0}
.globe-wrap::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(123,60,255,.28),rgba(10,8,24,.9) 62%,rgba(0,212,255,.12) 72%,transparent 74%)}
.globe-wrap canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}

/* ---------- YOUTUBE ---------- */
.yt{--r:34px;padding:clamp(22px,3.4vw,40px);display:flex;flex-direction:column;gap:clamp(22px,3vw,32px);
  background:radial-gradient(70% 90% at 0% 0%,rgba(255,40,60,.16),transparent 60%),radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.1),transparent 46%),linear-gradient(160deg,#130c1e,#08061a)}
.yt-head{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.yt-head .kicker{color:#ff6b7d}
.yt-head .dim{margin-top:12px;max-width:520px}
.yt-logo{width:84px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(160deg,#ff3b4f,#c4001a);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 16px 36px rgba(255,0,40,.35);transform:perspective(500px) rotateY(-16deg) rotateX(8deg);animation:ytf 6s ease-in-out infinite alternate}
.yt-logo .tri{border-left-width:20px;border-top-width:13px;border-bottom-width:13px;margin-left:5px}
@keyframes ytf{to{transform:perspective(500px) rotateY(14deg) rotateX(-6deg) translate3d(0,-6px,0)}}
.btn-yt{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:99px;font:600 15px var(--body);color:#fff;white-space:nowrap;background:linear-gradient(90deg,#ff2d47,#d10024);box-shadow:0 10px 30px rgba(255,0,40,.35),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .35s var(--ease)}
.btn-yt:hover{transform:translateY(-2px)}
.yt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.yt-card{--r:22px;padding:8px;display:flex;flex-direction:column;gap:4px}
.yt-thumb{position:relative;aspect-ratio:16/9;border-radius:15px;overflow:hidden;background:#0c0918;transform:translateZ(0)}
.yt-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.yt-card:hover .yt-thumb img{transform:scale(1.06)}
.yt-thumb .len{z-index:2}
.yt-thumb .play{z-index:2;width:58px;height:42px;margin:-21px 0 0 -29px;border-radius:14px;background:rgba(255,0,40,.9);box-shadow:0 10px 30px rgba(255,0,40,.4);translate:calc(var(--dx)*24px) calc(var(--dy)*24px)}
.yt-thumb .play .tri{border-left-width:14px;border-top-width:9px;border-bottom-width:9px;margin-left:3px}
.socials{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1020px){.socials{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.socials{grid-template-columns:1fr}}
.soc{--r:26px;padding:10px;display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none}
.soc-top{display:flex;align-items:center;gap:10px;padding:4px 4px 0;min-width:0}
.soc-logo{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font:800 18px/1 var(--head);color:#fff;background:var(--c);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 24px var(--g);transform:perspective(400px) rotateY(-14deg) rotateX(8deg);transition:transform .5s var(--ease)}
.soc:hover .soc-logo{transform:perspective(400px) rotateY(0) rotateX(0) scale(1.06)}
.soc-name{font:600 16px var(--head)}
.soc-go{margin-left:auto;font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.soc-prev{position:relative;flex:1;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#110d1f,#0a0814);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);min-height:270px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 16px 18px;gap:4px;transform:translateZ(0)}
.soc-prev b{font:600 17px/1.2 var(--head);margin-top:8px}
.soc-prev p{font-size:13.5px;line-height:1.4}
.soc-prev .sav{width:76px;height:76px;border-radius:50%;object-fit:cover;display:block}
.soc-btn{margin-top:auto;padding:9px 20px;border-radius:99px;font:600 13.5px var(--body);color:#fff;background:var(--c);box-shadow:0 8px 22px var(--g),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .35s var(--ease)}
.soc:hover .soc-btn{transform:translateY(-2px)}
.soc-prev .soc-btn{margin-top:auto;translate:0 6px}
.li{padding-top:0}
.li-banner{align-self:stretch;margin:0 -16px;height:62px;background:radial-gradient(120% 140% at 0% 0%,#2a7be4,transparent 60%),linear-gradient(120deg,#0a3f7a,#4b2a9e);flex:none}
.li .sav{margin-top:-38px;box-shadow:0 0 0 4px #110d1f}
.ig-ring{position:relative;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;isolation:isolate}
.ig-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75);z-index:-1;animation:spin 6s linear infinite}
.ig-ring .sav{box-shadow:0 0 0 3px #110d1f}
.wa{padding:0 0 18px;background:linear-gradient(180deg,#0b1a14,#081210)}
.wa-head{align-self:stretch;display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(37,211,102,.1);text-align:left}
.wa-head .sav{width:36px;height:36px}
.wa-head b{display:block;font-size:14px;margin:0}
.wa-head span{font-size:11.5px;color:var(--dim)}
.wa-chat{align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:14px 12px;text-align:left}
.bub{max-width:88%;padding:8px 11px 16px;border-radius:4px 14px 14px 14px;background:#1f2c34;position:relative;font-size:13px}
.bub i{position:absolute;right:9px;bottom:3px;font:normal 9.5px var(--mono);color:var(--dim)}
.typing{display:flex;gap:4px;padding:10px 12px;border-radius:4px 14px 14px 14px;background:#1f2c34;width:max-content}
.typing span{width:6px;height:6px;border-radius:50%;background:#8aa;animation:dot 1.2s ease-in-out infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.fi .sav{box-shadow:0 0 0 3px rgba(29,191,115,.6)}
.fi-stars{color:#ffbe5b;font-weight:600;letter-spacing:.04em}
.fi-stars span{letter-spacing:1px}
.fi-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}
.fi-tags span{font:500 11.5px var(--mono);padding:4px 9px;border-radius:99px;background:rgba(29,191,115,.12);color:#7fe0b2}
.mark-in{font-size:19px;letter-spacing:-.04em}
.mark-fi{font-size:19px;letter-spacing:-.03em}
.yt-card h3{font:600 17px/1.3 var(--head);padding:12px 8px 8px}

/* ---------- SERVICES ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{padding:28px;display:flex;flex-direction:column;gap:12px}
.svc h3{font:700 23px var(--head);letter-spacing:-.02em}
.svc p{color:#c4c2dc;font-size:15px}
.svc ul{display:grid;gap:8px;margin-top:6px}
.svc li{font-size:14px;display:flex;gap:10px;align-items:center}
.svc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--n2);box-shadow:0 0 8px var(--n2)}
.ico{width:52px;height:52px;border-radius:16px;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 26px rgba(0,0,0,.35)}
.i-golf{background:linear-gradient(135deg,#3fbf5f,#127a3a)}
.i-golf::after{content:"";position:absolute;left:14px;top:30px;width:26px;height:14px;border:2.5px solid #fff;border-color:#fff transparent transparent;border-radius:50% 50% 0 0;transform:rotate(-20deg)}
.i-ai{background:linear-gradient(135deg,var(--n1),var(--n3))}
.i-ai::after{content:"AI";position:absolute;inset:0;display:grid;place-items:center;font:800 18px var(--display)}
.i-short{background:linear-gradient(135deg,var(--n2),#2f5bff)}
.i-short::after{content:"";position:absolute;left:18px;top:11px;width:16px;height:30px;border:2.5px solid #fff;border-radius:5px}

/* ---------- CONTACT ---------- */
.contact{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.cta{--r:32px;padding:clamp(26px,4vw,44px);display:flex;flex-direction:column;gap:18px;background:radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.12),transparent 46%),linear-gradient(135deg,rgba(123,60,255,.34),rgba(0,212,255,.12) 70%,rgba(255,79,216,.14)),#0b0818}
.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.links .btn-glass{padding:12px 20px;font-size:14px}
.brief{--r:32px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:14px}
.brief label{display:flex;flex-direction:column;gap:7px;font:600 13px var(--body);color:#dddbf2}
.brief input,.brief select,.brief textarea{font:400 15px var(--body);color:#fff;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical}
.brief select option{background:#14121f}
.brief input:focus,.brief select:focus,.brief textarea:focus{border-color:var(--n2);box-shadow:0 0 0 4px rgba(0,212,255,.15)}
.brief ::placeholder{color:#76748f}
.brief .btn-glow{margin-top:4px}

.foot{max-width:var(--max);margin:clamp(70px,9vw,110px) auto 0;padding:26px var(--pad) 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a:hover{color:var(--n2)}

/* ---------- PLAYER ---------- */
.player{margin:auto;padding:0;border:0;background:transparent;color:var(--ink);width:min(1180px,94vw);max-height:92vh;overflow:visible}
.player.vert{width:min(900px,94vw)}
.player::backdrop{background:rgba(2,1,6,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.player[open]{animation:pop .5s var(--ease)}
@keyframes pop{from{opacity:0;transform:perspective(1200px) rotateX(10deg) scale(.94) translateY(16px)}}
.player-in{--r:30px;padding:12px;display:grid;grid-template-columns:1.7fr 1fr;gap:6px;max-height:92vh;overflow:auto;background:radial-gradient(120% 70% at 18% -12%,rgba(255,255,255,.1),transparent 46%),#0c0a1a}
.vert .player-in{grid-template-columns:auto 1fr}
.frame{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;align-self:start}
.vert .frame{aspect-ratio:9/16;height:min(84vh,780px);max-width:100%}
.frame:fullscreen{border-radius:0;height:100%;width:100%;aspect-ratio:auto}
.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:block}
.bigplay{--r:50%;position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;display:grid;place-items:center;z-index:3}
.bigplay .tri{border-left-width:21px;border-top-width:14px;border-bottom-width:14px;margin-left:6px}
.spin{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--n2);animation:spin .8s linear infinite;z-index:3;pointer-events:none}
.v-err{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:rgba(2,1,6,.8);z-index:4}
.ctl{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:14px;background:rgba(8,6,18,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transition:opacity .3s,transform .3s;z-index:2}
.frame.idle .ctl{opacity:0;transform:translateY(8px);pointer-events:none}
.frame.idle{cursor:none}
.c-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;flex:none;color:#fff}
.c-btn:hover{background:rgba(255,255,255,.12)}
.c-btn svg{width:20px;height:20px;fill:currentColor}
.c-btn .i-z,.playing .c-btn .i-p{display:none}.playing .c-btn .i-z{display:block}
.c-btn .i-off,.muted .c-btn .i-on{display:none}.muted .c-btn .i-off{display:block}
.c-time{font-size:12px;color:#e4e2f6;white-space:nowrap;padding:0 4px}
.c-bar{position:relative;flex:1;height:30px;min-width:40px}
.c-bar::before,.c-buf,.c-fill{content:"";position:absolute;left:0;top:13px;height:4px;border-radius:4px}
.c-bar::before{right:0;background:rgba(255,255,255,.2)}
.c-buf{background:rgba(255,255,255,.3);width:0}
.c-fill{background:linear-gradient(90deg,var(--n1),var(--n2));box-shadow:0 0 10px rgba(0,212,255,.6);width:0}
.c-bar input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.player-text{padding:18px 56px 14px 18px;display:flex;flex-direction:column;gap:12px}
.player-text h3{font:700 28px/1.1 var(--head);letter-spacing:-.02em}
.player-text p{color:#c4c2dc;font-size:15px}
.close{--r:50%;position:absolute;right:16px;top:16px;width:40px;height:40px;z-index:5;font-size:15px;background:rgba(30,26,50,.85)}

/* ---------- reveal on scroll ---------- */
.js .reveal{opacity:0;transform:perspective(1100px) translate3d(0,44px,0) rotateX(10deg);transform-origin:50% 100%;transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.done{transition:none;transition-delay:0s!important}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1020px){
  .pipe{grid-template-columns:repeat(2,1fr)}
  .pipe::before{display:none}
  .bento{grid-template-columns:repeat(3,1fr)}
  .me{grid-column:1/2;grid-row:1/3}
  .intro{grid-column:2/4}
  .services{grid-template-columns:1fr 1fr}
  .services .svc:last-child{grid-column:1/-1}
    .player-in,.vert .player-in{grid-template-columns:1fr}
  .vert .frame{height:min(72vh,640px);justify-self:center}
  .yt-head{grid-template-columns:auto 1fr}
  .yt-head .btn-yt{grid-column:1/-1;justify-self:start}
}
@media (max-width:860px){
  .nav-links,.nav .btn-glow{display:none}
  .burger{display:block}
  .nav{padding:6px 6px 6px 20px;gap:18px}
  .hero{grid-template-columns:1fr;padding-top:110px;min-height:auto;gap:10px}
  .title{font-size:min(15vw,96px)}
  .hero-visual{justify-self:center;max-width:520px;margin-top:10px}
  .works{grid-template-columns:1fr}
  .work.feature,.work.feature.rev{grid-template-columns:1fr}
  .work.feature.rev .poster-btn{order:0}
  .work.feature .body{padding:18px 12px 12px}
  .contact{grid-template-columns:1fr}
  .cursor-lens{display:none}
  .job-card{grid-template-columns:auto 1fr}
  .job-when{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}
  .geo{grid-template-columns:1fr}
  .globe-wrap{max-width:340px;justify-self:center;margin:-10px 0 -20px}
  .ring-stage{--ch:400px}
}
@media (max-width:600px){
  body{font-size:15px}
  .pipe{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .me{grid-column:1/-1;grid-row:auto}
  .portrait{min-height:0;flex:none;aspect-ratio:4/5;margin:22px 8px 0}
  .intro{grid-column:1/-1}
  .num.n3,.geo{grid-column:1/-1}
  .services{grid-template-columns:1fr}
    .title{font-size:12.6vw}
  .hero-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px}
  .hero-stats div{padding-left:12px}
  .hero-stats dt{font-size:20px}
  .hero-stats dd{font-size:12px}
  .fan{left:0;right:4%}
  .fcard{width:54%}
  .lede{font-size:16px}
  .work h3{font-size:23px}
  .close{right:6px;top:6px}
  .c-time{font-size:11px}
  .fcard small{font-size:11px}
  .foot{flex-direction:column;align-items:flex-start}
  .job{top:calc(76px + var(--i) * 10px)}
  .job-card{grid-template-columns:1fr;gap:14px}
  .job-when{grid-column:auto;grid-row:auto}
  .mark{width:52px;border-radius:16px}
  .job-main .pts li{font-size:14.5px}
  .yt-head{grid-template-columns:1fr}
  .yt-logo{width:70px;height:50px}
  .yt-grid{grid-template-columns:1fr}
  .ring-stage{--cw:min(330px,84vw);--ch:420px}
  .rev-card blockquote{font-size:30px}
  .rev-card.long blockquote{font-size:15px}
  .score b{font-size:84px}
  .cyl span{width:140px;left:-70px;font-size:13px}
  .tapes{height:130px}
}
@media (hover:none){.cursor-lens{display:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  .job{position:relative;top:auto}
}

/* =========================================================
   CONVERSION LAYER: liquid glass, CTAs, dock
   ========================================================= */

/* liquid glass: chromatic rim + a specular sheen that follows the tilt */
.liquid{box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 1.5px 0 0 rgba(0,212,255,.2),
    inset -1.5px 0 0 rgba(255,79,216,.2),
    inset 0 -14px 34px rgba(123,60,255,.12),
    0 30px 70px rgba(0,0,0,.55)}
.liquid .sheen{position:absolute;inset:-35%;pointer-events:none;z-index:-1;
  background:radial-gradient(34% 26% at 32% 22%,rgba(255,255,255,.17),transparent 70%),
             linear-gradient(115deg,transparent 42%,rgba(255,255,255,.07) 49%,transparent 56%);
  transform:translate3d(calc(var(--dx,0) * -90px),calc(var(--dy,0) * -90px),0)}
.liquid:not([data-tilt]) .sheen{animation:sheen 11s ease-in-out infinite alternate}
@keyframes sheen{from{transform:translate3d(-14%,-6%,0)}to{transform:translate3d(14%,6%,0)}}

/* mid-page CTA band */
.band{--r:30px;margin-top:clamp(28px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:22px 30px;flex-wrap:wrap;padding:clamp(24px,3.4vw,40px);
  background:radial-gradient(120% 90% at 0% 0%,rgba(123,60,255,.32),transparent 55%),radial-gradient(90% 90% at 100% 100%,rgba(0,212,255,.16),transparent 60%),rgba(12,9,26,.72)}
.band h3{font:700 clamp(26px,3.4vw,42px)/1.05 var(--head);letter-spacing:-.035em;margin-bottom:8px}
.band .kicker{margin-bottom:10px}
.band-text{flex:1 1 380px}
.band-ctas{display:flex;gap:10px;flex-wrap:wrap;flex:none}

/* magnetic buttons: JS moves them, so no transform transition */
[data-magnet]{transition:background-position .5s var(--ease);will-change:transform}

/* final CTA: 3D type that folds up into place */
.bigcta{font:800 clamp(40px,9.1vw,124px)/.88 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 clamp(30px,4vw,56px);perspective:1100px;perspective-origin:50% 0}
.bc-l{display:block;transform-origin:50% 100%;white-space:nowrap}
.bc-out{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.88)}
.cta .badge{position:absolute;top:20px;right:20px;width:108px;height:108px;animation:spin 24s linear infinite;font:600 8.6px var(--mono);letter-spacing:.14em;fill:#fff;opacity:.9}
.cta .badge circle{fill:var(--ok);filter:drop-shadow(0 0 6px var(--ok))}
.cta h2{padding-right:110px}
.start3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.start3 li{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 14px 13px;border-radius:18px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.start3 li:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:50%;margin-top:-10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#1a1530;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);z-index:1}
.start3 span{color:var(--n2);font-size:11px}
.start3 b{font:700 15px var(--head)}
.start3 small{color:var(--mute);font-size:12.5px}
.btn-glow.big{align-self:flex-start;padding:19px 32px;font-size:17px;box-shadow:0 14px 48px rgba(123,60,255,.6),0 0 0 1px rgba(255,255,255,.12),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 6px rgba(0,0,0,.2)}

/* floating glass dock */
.dock{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:12px;padding:7px 7px 7px 8px;border-radius:99px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(255,255,255,.08),inset 1.5px 0 0 rgba(0,212,255,.18),inset -1.5px 0 0 rgba(255,79,216,.18),0 20px 50px rgba(0,0,0,.55);
  transform:translate3d(-50%,150%,0);opacity:0;pointer-events:none;transition:transform .8s var(--ease),opacity .5s var(--ease)}
.dock::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 55%)}
.dock.on{transform:translate3d(-50%,0,0);opacity:1;pointer-events:auto}
.dock-av{position:relative;width:38px;height:38px;flex:none}
.dock-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.dock-av i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px #0b0818,0 0 10px var(--ok)}
.dock-t{display:flex;flex-direction:column;line-height:1.2;padding-right:4px;white-space:nowrap}
.dock-t b{font:600 13.5px var(--body)}
.dock-t small{font-size:12px;color:var(--mute)}
.dock-wa{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 20px rgba(37,211,102,.35);transition:transform .3s var(--ease)}
.dock-wa:hover{transform:scale(1.08)}

/* footer wordmark */
.foot{position:relative}
.wordmark{flex:0 0 100%;text-align:center;font:800 clamp(40px,13vw,172px)/.8 var(--display);letter-spacing:-.05em;perspective:900px;overflow:hidden;padding-top:.06em;margin:0 0 26px;user-select:none}
.wordmark span{display:inline-block;transform-origin:50% 100%;background:linear-gradient(180deg,rgba(185,150,255,.5),rgba(0,212,255,.12) 55%,rgba(255,255,255,0) 92%);-webkit-background-clip:text;background-clip:text;color:transparent}

@media (max-width:1020px){
  .start3{grid-template-columns:1fr}
  .start3 li:not(:last-child)::after{right:auto;left:22px;top:auto;bottom:-10px;margin:0;content:"↓"}
}
@media (max-width:600px){
  .band-ctas,.band-ctas a{width:100%}
  .cta .badge{width:78px;height:78px;top:14px;right:14px}
  .cta h2{padding-right:70px}
  .btn-glow.big{align-self:stretch;padding:17px 20px;font-size:16px}
  .bigcta{font-size:9.6vw}
  .bc-out{-webkit-text-stroke-width:1.5px}
  .dock{left:16px;right:16px;transform:translate3d(0,150%,0);justify-content:space-between}
  .dock.on{transform:translate3d(0,0,0)}
  .foot{padding-bottom:110px}
}
@media (max-width:440px){.dock-t{display:none}.dock .btn-glow{flex:1}}
@media (prefers-reduced-motion:reduce){
  .bc-l,.wordmark span{transform:none!important}
}

/* =========================================================
   PAID TRIAL + FAQ (3D liquid glass)
   ========================================================= */
.trial{--r:28px;margin-top:18px;display:grid;grid-template-columns:1.5fr auto auto;grid-template-areas:"tag tag tag" "text pts btn";align-items:center;gap:16px 34px;padding:clamp(22px,3vw,32px);
  background:radial-gradient(90% 120% at 0% 0%,rgba(243,201,107,.16),transparent 55%),radial-gradient(80% 100% at 100% 100%,rgba(123,60,255,.22),transparent 60%),rgba(12,9,26,.72)}
.trial-tag{grid-area:tag;justify-self:start;display:inline-flex;align-items:center;gap:9px;padding:6px 13px;border-radius:99px;font-size:12px;color:var(--gold);background:rgba(243,201,107,.1);box-shadow:inset 0 0 0 1px rgba(243,201,107,.32)}
.trial-text{grid-area:text}
.trial h3{font:700 clamp(24px,2.8vw,36px)/1.08 var(--head);letter-spacing:-.03em;margin-bottom:8px}
.trial-pts{grid-area:pts;display:grid;gap:9px}
.trial-pts li{font-size:14px;display:flex;gap:10px;align-items:center;white-space:nowrap}
.trial-pts li::before{content:"✓";width:20px;height:20px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#0b0818;background:var(--gold);box-shadow:0 0 12px rgba(243,201,107,.5)}
.trial .btn-glow{grid-area:btn}
.trial-note{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#d6d4ec}
.trial-note .dot{flex:none}
.trial-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

.faq-wrap{display:grid;grid-template-columns:.9fr 1.3fr;gap:clamp(30px,5vw,70px);align-items:start}
.faq-side{position:sticky;top:96px;display:flex;flex-direction:column}
.faq-side .sec-head{margin-bottom:0}
.faq-ask{align-self:flex-start}

/* the 3D extruded question mark with a glass orbit ring and floating bubbles */
.qmark{position:relative;height:330px;perspective:1000px;margin:6px 0 18px}
.qm-3d{position:absolute;inset:0;transform-style:preserve-3d;animation:qsway 9s ease-in-out infinite alternate}
@keyframes qsway{from{transform:rotateY(-30deg) rotateX(10deg)}to{transform:rotateY(30deg) rotateX(-6deg)}}
.qm-type{position:absolute;inset:0;transform-style:preserve-3d}
.qm-type span{position:absolute;inset:0;display:grid;place-items:center;font:800 260px/1 var(--display);transform:translateZ(calc(var(--i) * -2.2px));color:hsl(calc(262 - var(--i) * 4) 70% calc(30% - var(--i) * 1.2%))}
.qm-type span:first-child{color:transparent;background:linear-gradient(160deg,#fff 0%,#c9b4ff 26%,var(--n2) 58%,var(--n3) 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 22px rgba(0,212,255,.35))}
.qm-ring{position:absolute;left:50%;top:50%;width:290px;height:290px;margin:-145px 0 0 -145px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.28);box-shadow:0 0 30px rgba(0,212,255,.25),inset 0 0 30px rgba(123,60,255,.35);animation:qring 12s linear infinite}
.qm-ring::before{content:"";position:absolute;left:50%;top:-7px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--n2) 60%);box-shadow:0 0 14px var(--n2)}
@keyframes qring{from{transform:rotateX(74deg) rotateZ(0)}to{transform:rotateX(74deg) rotateZ(360deg)}}
.bub3{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.95) 0 5%,rgba(255,255,255,.2) 16%,rgba(123,60,255,.16) 55%,rgba(0,212,255,.3) 100%);
  box-shadow:inset -6px -8px 16px rgba(0,212,255,.3),inset 5px 5px 12px rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.45);animation:bubf 6s ease-in-out infinite alternate}
.b-a{width:58px;height:58px;left:6%;top:16%}
.b-b{width:34px;height:34px;right:12%;top:8%;animation-delay:-2s;animation-duration:7s}
.b-c{width:44px;height:44px;right:6%;bottom:10%;animation-delay:-4s}
@keyframes bubf{to{transform:translate3d(10px,-18px,0) scale(1.06)}}

/* the questions: glass capsules that unfold in 3D */
.faqs{display:grid;gap:12px}
.faq{--r:22px}
.faq .sheen{opacity:.45;transition:opacity .5s var(--ease)}
.faq.open .sheen{opacity:1}
.faq.liquid.open{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 1.5px 0 0 rgba(0,212,255,.35),inset -1.5px 0 0 rgba(255,79,216,.35),inset 0 -18px 40px rgba(123,60,255,.2),0 0 0 1px rgba(0,212,255,.18),0 26px 70px rgba(123,60,255,.32)}
.faq-q{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:19px 18px 19px 22px;font:600 clamp(16.5px,1.5vw,19px)/1.3 var(--head);letter-spacing:-.01em}
.faq-n{color:var(--n2);font-size:12px;flex:none}
.faq-t{flex:1}
.bead{position:relative;flex:none;width:38px;height:38px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),rgba(255,255,255,.08) 38%,rgba(123,60,255,.25) 75%,rgba(0,212,255,.3));
  box-shadow:inset -3px -4px 8px rgba(0,212,255,.3),inset 2px 2px 5px rgba(255,255,255,.3),0 6px 16px rgba(0,0,0,.4);
  transition:transform .7s var(--ease),background .5s var(--ease)}
.bead::before,.bead::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:2px;background:#fff}
.bead::after{transform:rotate(90deg)}
.faq-q:hover .bead{transform:scale(1.1)}
.faq.open .bead{transform:rotate(135deg) scale(1.05);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.6),rgba(255,255,255,.1) 38%,var(--n1) 80%,var(--n3))}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.faq.open .faq-a{grid-template-rows:1fr}
.faq-in{min-height:0;overflow:hidden;perspective:800px}
.faq-in p{padding:0 22px 22px 58px;color:#cac8e2;font-size:15.5px;transform-origin:50% 0;transform:rotateX(-80deg) translate3d(0,-10px,0);opacity:0;transition:transform .75s var(--ease),opacity .45s var(--ease)}
.faq.open .faq-in p{transform:none;opacity:1;transition-delay:.06s}
.faq-in b{color:var(--gold)}
.faq-in a{color:var(--n2);text-decoration:underline;text-underline-offset:3px}

@media (max-width:1020px){
  .trial{grid-template-columns:1fr auto;grid-template-areas:"tag tag" "text text" "pts btn"}
}
@media (max-width:860px){
  .faq-wrap{grid-template-columns:1fr}
  .faq-side{position:relative;top:auto}
  .qmark{height:230px;margin:0 0 10px}
  .qm-type span{font-size:180px}
  .qm-ring{width:210px;height:210px;margin:-105px 0 0 -105px}
}
@media (max-width:600px){
  .trial{grid-template-columns:1fr;grid-template-areas:"tag" "text" "pts" "btn"}
  .trial .btn-glow{width:100%}
  .faq-q{padding:17px 14px 17px 16px;gap:12px}
  .faq-in p{padding:0 16px 18px 16px}
}
@media (prefers-reduced-motion:reduce){
  .faq-in p{transform:none}
}

/* =========================================================
   WHAT I EDIT: chips (the old niche tile grid was removed)
   ========================================================= */

/* more niches: compact glass chips */
.nchips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nchip{--r:20px;display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:radial-gradient(80% 140% at 0% 0%,hsla(var(--h),90%,58%,.18),transparent 60%),rgba(12,9,26,.72);transition:transform .45s var(--ease)}
.nchip:hover{transform:translateY(-3px)}
.norb{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;white-space:nowrap;
  font:800 13px var(--display);letter-spacing:-.02em;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35);
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.8) 0 4%,hsla(var(--h),95%,72%,.95) 22%,hsl(var(--h) 80% 42%) 62%,hsl(var(--h) 80% 22%));
  box-shadow:inset -4px -6px 10px rgba(0,0,0,.35),inset 3px 3px 7px rgba(255,255,255,.3),0 8px 20px hsla(var(--h),90%,50%,.35)}
.norb.sm{font-size:10.5px}
.nchip-t{min-width:0;display:flex;flex-direction:column;gap:2px}
.nchip-t b{font:600 16px/1.2 var(--head);letter-spacing:-.01em}
.nchip-t small{font-size:12.5px;line-height:1.35;color:var(--mute)}
@media (max-width:1020px){.nchips{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.nchips{grid-template-columns:1fr;gap:8px}.nchip{padding:12px 14px}}

/* AI agents panel with a 3D glass terminal */
.agent{--r:32px;margin-top:clamp(30px,5vw,56px);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(22px,4vw,48px);align-items:center;padding:clamp(22px,3.4vw,40px);
  background:radial-gradient(90% 120% at 0% 0%,rgba(217,119,87,.16),transparent 55%),radial-gradient(90% 100% at 100% 100%,rgba(16,163,127,.16),transparent 60%),rgba(12,9,26,.74)}
.agent h3{font:700 clamp(28px,3.4vw,44px)/1.05 var(--head);letter-spacing:-.035em;margin-bottom:12px}
.agent .dim{font-size:15.5px}
.agent-pts{display:grid;gap:8px;margin:16px 0 4px}
.agent-pts li{position:relative;padding-left:26px;font-size:14.5px;color:#dddbf2}
.agent-pts li::before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#0b0818;background:linear-gradient(135deg,#d97757,#10a37f)}
.agent .chips{margin-top:14px}
.term-wrap{perspective:1200px}
.term{position:relative;border-radius:18px;overflow:hidden;transform:rotateY(-10deg) rotateX(5deg);transform-origin:50% 50%;transition:transform .9s var(--ease);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),rgba(6,5,14,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 1.5px 0 0 rgba(217,119,87,.25),inset -1.5px 0 0 rgba(16,163,127,.25),0 40px 80px rgba(0,0,0,.6),0 0 60px rgba(217,119,87,.12)}
.agent:hover .term{transform:rotateY(-3deg) rotateX(2deg)}
.term-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.07)}
.term-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.term-bar i:nth-child(2){background:#febc2e}
.term-bar i:nth-child(3){background:#28c840}
.term-bar span{margin-left:8px;font-size:11.5px;color:var(--dim)}
.term-body{min-height:250px;margin:0;padding:16px 18px 8px;font-size:12.8px;line-height:1.75;color:#e9e7fb;white-space:pre-wrap;word-break:break-word}
.term-body .tp{color:#d97757;font-weight:600}
.term-body .to{color:#a19fbd}
.term-body .tk{color:var(--ok)}
.caret{display:inline-block;width:7px;height:1.05em;vertical-align:-2px;margin-left:2px;background:#e9e7fb;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.term-note{padding:0 18px 12px;font-size:10.5px;color:var(--dim);text-align:right}
@media (max-width:860px){.agent{grid-template-columns:1fr}.term{transform:rotateY(-4deg) rotateX(3deg)}}
@media (max-width:600px){.term-body{font-size:11.5px;min-height:270px;padding:14px 14px 6px}}

/* open to work */
.hire{--r:30px;margin-top:clamp(26px,4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:22px 34px;flex-wrap:wrap;padding:clamp(22px,3.4vw,38px);
  background:radial-gradient(100% 120% at 0% 0%,rgba(61,255,154,.13),transparent 55%),radial-gradient(90% 100% at 100% 100%,rgba(0,212,255,.16),transparent 60%),rgba(12,9,26,.74)}
.hire-text{flex:1 1 420px}
.hire .kicker{display:flex;align-items:center;gap:9px;color:var(--ok)}
.hire h3{font:700 clamp(26px,3.2vw,40px)/1.06 var(--head);letter-spacing:-.035em;margin-bottom:10px}
.hire-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hire-tags li{font:600 12.5px var(--body);padding:7px 13px;border-radius:99px;background:rgba(61,255,154,.08);box-shadow:inset 0 0 0 1px rgba(61,255,154,.28);color:#dffbe9}
.hire-ctas{display:flex;flex-direction:column;gap:10px;flex:none}
@media (max-width:600px){.hire-ctas{width:100%}.hire-ctas a{width:100%}}

/* =========================================================
   AI ASSISTANT: floating 3D liquid-glass orb + chat panel
   ========================================================= */
.cb{--cb-gap:clamp(16px,2.2vw,28px)}
.cb-anchor{position:fixed;right:var(--cb-gap);bottom:calc(var(--cb-gap) + env(safe-area-inset-bottom));z-index:60;transition:transform .55s var(--ease)}
.cb-fab{display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cb-label{font:600 14px var(--body);padding:11px 17px;border-radius:99px;white-space:nowrap;
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 60%),rgba(14,10,30,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 1.5px 0 0 rgba(0,212,255,.22),inset -1.5px 0 0 rgba(255,79,216,.22),0 12px 30px rgba(0,0,0,.45);
  transition:opacity .3s,transform .45s var(--ease)}
.cb-fab:hover .cb-label{transform:translateX(-4px)}
.cb.open .cb-label{opacity:0;transform:translateX(10px);pointer-events:none}

/* the orb: a glass sphere that floats, leans toward the cursor and has a liquid colour rim */
.cb-float{display:block;animation:cbFloat 6s ease-in-out infinite}
@keyframes cbFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
.cb-orb{--ox:0;--oy:0;position:relative;display:block;width:66px;height:66px;border-radius:50%;
  transform:perspective(420px) rotateX(calc(var(--oy) * -16deg)) rotateY(calc(var(--ox) * 16deg));transition:transform .5s var(--ease);
  background:radial-gradient(circle at 30% 80%,rgba(123,60,255,.65),transparent 60%),radial-gradient(circle at 75% 75%,rgba(0,212,255,.55),transparent 55%),rgba(16,11,34,.6);
  -webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 3px 4px 8px rgba(255,255,255,.3),inset -7px -10px 18px rgba(0,0,0,.5),0 18px 40px rgba(0,0,0,.5),0 0 44px rgba(123,60,255,.45)}
.cb-fab:hover .cb-orb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),inset 3px 4px 8px rgba(255,255,255,.34),inset -7px -10px 18px rgba(0,0,0,.5),0 22px 46px rgba(0,0,0,.55),0 0 60px rgba(0,212,255,.5)}
.cb-ring{position:absolute;inset:-3px;border-radius:50%;padding:3px;pointer-events:none;
  background:conic-gradient(from 0deg,var(--n1),var(--n2),var(--n3),#f3c96b,var(--n1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  filter:blur(.3px) saturate(130%);animation:cbSpin 5s linear infinite}
@keyframes cbSpin{to{transform:rotate(360deg)}}
.cb-orb img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:50%;object-fit:cover;transition:opacity .35s,transform .45s var(--ease)}
.cb-x{position:absolute;left:50%;top:50%;margin:-11px 0 0 -11px;opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity .3s,transform .45s var(--ease)}
.cb.open .cb-orb img{opacity:0;transform:scale(.7)}
.cb.open .cb-x{opacity:1;transform:none}
/* glass lens on top: specular highlight + bottom rim light */
.cb-lens{position:absolute;inset:6px;border-radius:50%;pointer-events:none;
  background:radial-gradient(38% 30% at 34% 24%,rgba(255,255,255,.75),rgba(255,255,255,.12) 60%,transparent 72%),
             radial-gradient(70% 40% at 50% 104%,rgba(0,212,255,.45),transparent 70%),
             linear-gradient(160deg,rgba(255,255,255,.18),transparent 45%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),inset 0 -6px 12px rgba(0,0,0,.35);mix-blend-mode:screen}
.cb-ai{position:absolute;top:-6px;right:-8px;font:800 10px/1 var(--body);letter-spacing:.06em;padding:5px 7px;border-radius:99px;color:#0b0818;
  background:linear-gradient(135deg,#fff,#c9b6ff 45%,#7ee8ff);box-shadow:0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 #fff;transform:translateZ(20px)}
.cb-on{position:absolute;right:3px;bottom:3px;width:13px;height:13px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2.5px #0b0818,0 0 12px var(--ok)}
.cb.open .cb-ai,.cb.open .cb-on{opacity:0;transition:opacity .2s}

/* "ask me" nudge */
.cb-nudge{position:absolute;right:0;bottom:calc(100% + 14px);width:236px;display:flex;gap:8px;align-items:flex-start;padding:12px 10px 12px 15px;border-radius:18px 18px 6px 18px;
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 60%),rgba(14,10,30,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 1.5px 0 0 rgba(0,212,255,.2),inset -1.5px 0 0 rgba(255,79,216,.2),0 18px 40px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transform:perspective(600px) rotateX(18deg) translate3d(0,14px,0) scale(.94);transform-origin:90% 100%;
  transition:opacity .35s,visibility .35s,transform .55s var(--ease)}
.cb-nudge.show{opacity:1;visibility:visible;transform:none}
.cb-nudge p{font-size:13.5px;line-height:1.4;color:#e6e4f7;cursor:pointer}
.cb-nudge b{color:#fff}
.cb-nx{flex:none;width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#cfcde6;font-size:16px;line-height:1;cursor:pointer}

/* the panel: real blurred glass that unfolds in 3D out of the orb */
.cb-panel{--tx:0;--ty:0;position:fixed;right:var(--cb-gap);bottom:calc(var(--cb-gap) + 88px + env(safe-area-inset-bottom));z-index:61;
  width:min(392px,calc(100vw - 32px));height:min(600px,calc(100vh - 140px));display:flex;flex-direction:column;border-radius:28px;overflow:hidden;overflow:clip;isolation:isolate;
  -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  background:radial-gradient(120% 55% at 0% 0%,rgba(123,60,255,.26),transparent 55%),radial-gradient(100% 50% at 100% 100%,rgba(0,212,255,.16),transparent 60%),
             linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02) 50%),rgba(12,9,26,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 1.5px 0 0 rgba(0,212,255,.24),inset -1.5px 0 0 rgba(255,79,216,.24),inset 0 -18px 40px rgba(123,60,255,.14),
             0 40px 90px rgba(0,0,0,.65),0 0 70px rgba(123,60,255,.2);
  transform-origin:88% 100%;
  transform:perspective(1400px) rotateX(calc(var(--ty) * 1deg)) rotateY(calc(var(--tx) * 1deg));
  transition:transform .6s var(--ease),opacity .35s,visibility .35s}
.cb-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;
  background:linear-gradient(140deg,rgba(255,255,255,.6),rgba(255,255,255,.06) 34%,rgba(255,255,255,0) 60%,rgba(255,255,255,.3));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.cb:not(.open) .cb-panel{opacity:0;visibility:hidden;pointer-events:none;transform:perspective(1400px) rotateX(16deg) rotateY(-20deg) translate3d(30px,50px,-160px) scale(.82)}
.cb-sheen{position:absolute;inset:-30%;z-index:-1;pointer-events:none;
  background:radial-gradient(30% 22% at 30% 18%,rgba(255,255,255,.14),transparent 70%),linear-gradient(115deg,transparent 42%,rgba(255,255,255,.06) 49%,transparent 56%);
  transform:translate3d(calc(var(--tx) * -12px),calc(var(--ty) * 12px),0);transition:transform .6s var(--ease)}

.cb-head{display:flex;align-items:center;gap:12px;padding:16px 14px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.cb-hav{position:relative;width:42px;height:42px;flex:none}
.cb-hav img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.cb-hav i{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2.5px #120d26,0 0 10px var(--ok)}
.cb-ht{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;line-height:1.2}
.cb-ht b{font:700 15.5px var(--head);letter-spacing:-.01em}
.cb-ht small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-ht .dot{width:6px;height:6px;flex:none}
.cb-close{flex:none;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;color:#d8d6ee;cursor:pointer;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:background .25s,transform .35s var(--ease)}
.cb-close:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}

.cb-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 8px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.cb-m{display:flex;align-items:flex-end;gap:8px;max-width:92%;animation:cbIn .55s var(--ease) both;transform-origin:0 100%}
.cb-m.me{align-self:flex-end;transform-origin:100% 100%}
@keyframes cbIn{from{opacity:0;transform:perspective(700px) rotateX(-28deg) translate3d(0,14px,-30px) scale(.96)}}
.cb-mav{width:24px;height:24px;flex:none;border-radius:50%;background:url(../assets/me-av.jpg) center/cover;box-shadow:0 0 0 1.5px rgba(255,255,255,.2)}
.cb-b{padding:11px 14px;border-radius:18px 18px 18px 6px;font-size:14px;line-height:1.5;color:#ecebfa;overflow-wrap:anywhere;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03)),rgba(20,15,40,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 1px 0 0 rgba(0,212,255,.14),inset -1px 0 0 rgba(255,79,216,.14),0 8px 22px rgba(0,0,0,.28)}
.cb-m.me .cb-b{border-radius:18px 18px 6px 18px;color:#fff;
  background:linear-gradient(135deg,rgba(123,60,255,.95),rgba(80,70,255,.85) 55%,rgba(0,170,230,.8));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -8px 16px rgba(0,0,0,.18),0 10px 26px rgba(123,60,255,.35)}
.cb-b a{color:#9fe9ff;text-decoration:underline;text-underline-offset:2px}
.cb-b b{color:#fff}
.cb-ul{margin:8px 0 2px;display:grid;gap:6px}
.cb-ul li{position:relative;padding-left:14px;font-size:13.5px}
.cb-ul li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--n2);box-shadow:0 0 6px var(--n2)}
.cb-hr{border:0;height:1px;margin:10px 0;background:rgba(255,255,255,.1)}
.cb-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cb-links a{display:inline-flex;align-items:center;padding:7px 12px;border-radius:99px;font:600 12.5px var(--body);color:#fff;text-decoration:none;
  background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 0 0 1px rgba(255,255,255,.1);transition:background .25s,transform .3s var(--ease)}
.cb-links a:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.cb-links a:first-child{background:linear-gradient(135deg,rgba(123,60,255,.7),rgba(0,212,255,.5))}
.cb-dots{display:inline-flex;gap:4px;padding:3px 0}
.cb-dots i{width:7px;height:7px;border-radius:50%;background:#cfc9ff;animation:cbDot 1.1s ease-in-out infinite}
.cb-dots i:nth-child(2){animation-delay:.15s}
.cb-dots i:nth-child(3){animation-delay:.3s}
@keyframes cbDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}

.cb-chips{display:flex;gap:7px;overflow-x:auto;padding:6px 14px 8px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.cb-chips::-webkit-scrollbar{display:none}
.cb-chips button{flex:none;padding:8px 13px;border:0;border-radius:99px;font:600 12.5px var(--body);color:#e9e7fb;cursor:pointer;
  background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.08);transition:background .25s,transform .3s var(--ease)}
.cb-chips button:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}

.cb-form{display:flex;gap:8px;padding:6px 12px 8px}
.cb-input{flex:1;min-width:0;height:46px;padding:0 16px;border:0;border-radius:99px;font:15px var(--body);color:#fff;outline:none;
  background:rgba(0,0,0,.28);box-shadow:inset 0 2px 6px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.08);transition:box-shadow .25s}
.cb-input::placeholder{color:#8e8cab}
.cb-input:focus{box-shadow:inset 0 2px 6px rgba(0,0,0,.35),inset 0 0 0 1.5px rgba(0,212,255,.55),0 0 18px rgba(0,212,255,.18)}
.cb-send{flex:none;width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:linear-gradient(135deg,var(--n1),#4d6bff 55%,var(--n2));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -6px 12px rgba(0,0,0,.2),0 8px 22px rgba(123,60,255,.45);transition:transform .35s var(--ease)}
.cb-send:hover{transform:scale(1.07) rotate(-8deg)}
.cb-note{padding:0 16px 12px;font-size:10px;color:var(--dim);text-align:center}

/* phones: full-width sheet; the orb sits above the contact dock when the dock shows */
@media (max-width:900px){.cb-label{display:none}}
@media (max-width:600px){
  .cb{--cb-gap:16px}
  .cb-orb{width:58px;height:58px}
  .dock.on ~ .cb:not(.open) .cb-anchor{transform:translate3d(0,-70px,0)}
  .cb-panel{left:12px;right:12px;width:auto;bottom:calc(86px + env(safe-area-inset-bottom));height:min(600px,calc(100dvh - 110px))}
  .cb-input{font-size:16px}
  body.chat-open .dock{opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
  .cb-float,.cb-ring,.cb-m,.cb-dots i{animation:none}
  .cb-panel,.cb-nudge,.cb-anchor{transition:opacity .2s,visibility .2s}
}

/* ON TV: Naagin S7 on JioHotstar */
.ontv{--r:32px;margin-top:clamp(26px,4vw,44px);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(22px,4vw,48px);align-items:center;padding:clamp(22px,3.4vw,40px);
  background:radial-gradient(90% 120% at 0% 0%,rgba(31,128,224,.2),transparent 55%),radial-gradient(80% 110% at 100% 100%,rgba(255,79,216,.16),transparent 60%),rgba(10,8,24,.78)}
.ontv-s7{position:absolute;right:clamp(10px,2vw,26px);top:clamp(-30px,-2vw,-10px);z-index:-1;font:800 clamp(130px,17vw,240px)/1 var(--display);letter-spacing:-.06em;color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.08);pointer-events:none}
.ontv .kicker{display:flex;align-items:center;gap:9px;color:#8fd0ff}
.ontv-live{width:8px;height:8px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 12px #ff3b5c;animation:pulse 2s ease-in-out infinite}
.ontv h3{font:700 clamp(28px,3.4vw,44px)/1.05 var(--head);letter-spacing:-.035em;margin-bottom:12px}
.ontv .dim{font-size:15.5px}
.ontv .dim b{color:#fff}
.ontv-stats{display:flex;gap:clamp(16px,3vw,32px);margin:18px 0 22px}
.ontv-stats dt{font:700 clamp(22px,2.4vw,30px) var(--head);letter-spacing:-.03em}
.ontv-stats dd{font-size:12.5px;color:var(--mute)}
.ontv-eps{perspective:1100px}
.ontv-eps>p:first-child{margin-bottom:12px}
.ontv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;transform:rotateY(-9deg) rotateX(6deg);transform-style:preserve-3d;transition:transform .9s var(--ease)}
.ontv:hover .ontv-grid{transform:rotateY(-3deg) rotateX(2deg)}
.ontv-grid a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16/10;border-radius:12px;font:700 clamp(17px,1.7vw,21px)/1 var(--head);color:#fff;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),rgba(20,16,44,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 1px 0 0 rgba(0,212,255,.18),inset -1px 0 0 rgba(255,79,216,.18),0 10px 22px rgba(0,0,0,.4);
  transition:transform .4s var(--ease),box-shadow .3s,background .3s}
.ontv-grid a small{font:600 9px var(--mono);letter-spacing:.14em;color:var(--mute);margin-bottom:3px}
.ontv-grid a:hover{transform:translateZ(26px) scale(1.05);background:linear-gradient(135deg,rgba(31,128,224,.75),rgba(123,60,255,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 18px 34px rgba(31,128,224,.35)}
.ontv-grid a:hover small{color:#e6f2ff}
.ontv-note{margin-top:12px;font-size:11px;color:var(--dim)}
@media (max-width:860px){.ontv{grid-template-columns:1fr}.ontv-grid{transform:none}.ontv:hover .ontv-grid{transform:none}}
@media (max-width:600px){.ontv-grid{gap:6px}.ontv-grid a{border-radius:10px;font-size:16px}.ontv .btn-glow{width:100%}.ontv-stats{gap:18px}}

/* Balaji credits: TV end-credits list */
.credits{--r:30px;margin-top:16px;padding:clamp(24px,3.6vw,44px) clamp(20px,3.4vw,44px);text-align:center;
  background:radial-gradient(80% 90% at 50% 0%,rgba(123,60,255,.16),transparent 60%),rgba(8,6,18,.82)}
.credits .kicker{justify-content:center}
.credits h3{font:700 clamp(24px,2.8vw,36px)/1.1 var(--head);letter-spacing:-.03em;margin-bottom:8px}
.credits-sub{max-width:560px;margin:0 auto;font-size:14.5px}
.roll{margin:clamp(20px,3vw,30px) auto 0;max-width:760px;perspective:900px}
.roll-list{display:grid;gap:clamp(12px,1.8vw,18px);transform:rotateX(14deg);transform-origin:50% 0}
.roll-list li{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3vw,34px);align-items:baseline;text-align:left}
.roll-role{text-align:right;font:500 11.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.roll-show b{display:block;font:600 clamp(17px,1.8vw,21px)/1.25 var(--head);letter-spacing:-.01em;color:#fff}
.roll-show small{display:block;margin-top:2px;font-size:12.5px;color:var(--dim)}
.credits.in .roll-list li{animation:rollUp .9s var(--ease) both;animation-delay:calc(var(--i) * 120ms + 200ms)}
@keyframes rollUp{from{opacity:0;transform:translate3d(0,26px,0)}}
.credits-note{margin-top:clamp(20px,3vw,28px);font-size:11px;color:var(--dim)}
@media (max-width:600px){
  .roll-list{transform:none}
  .roll-list li{grid-template-columns:1fr;gap:2px;text-align:center}
  .roll-role{text-align:center}
}
@media (prefers-reduced-motion:reduce){.credits.in .roll-list li{animation:none}}

/* ================= AI LAB ================= */
.ailab{position:relative;isolation:isolate}
.ailab-bg{position:absolute;inset:0 calc(var(--pad) * -1);z-index:-1;pointer-events:none;overflow:hidden;
  -webkit-mask:linear-gradient(180deg,transparent,#000 12%,#000 70%,transparent);mask:linear-gradient(180deg,transparent,#000 12%,#000 70%,transparent)}
.ailab-grid{position:absolute;inset:-60px 0 0;background-image:linear-gradient(rgba(0,212,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.07) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask:radial-gradient(70% 55% at 50% 30%,#000,transparent 75%);mask:radial-gradient(70% 55% at 50% 30%,#000,transparent 75%);animation:gridDrift 14s linear infinite}
@keyframes gridDrift{to{transform:translate3d(0,56px,0)}}
.ailab-glow{position:absolute;left:50%;top:8%;width:min(900px,120vw);aspect-ratio:2/1;margin-left:min(-450px,-60vw);border-radius:50%;
  background:radial-gradient(closest-side,rgba(123,60,255,.28),rgba(0,212,255,.12) 55%,transparent);filter:blur(30px);animation:glowBreath 7s ease-in-out infinite}
@keyframes glowBreath{50%{opacity:.6;transform:scale(1.08)}}
.ailab .kicker{display:flex;align-items:center;gap:9px}
.ai-dot{width:8px;height:8px;border-radius:50%;background:var(--n2);box-shadow:0 0 12px var(--n2);animation:pulse 2s ease-in-out infinite}

/* watch AI generate */
.gen{--r:30px;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(16px,2.4vw,28px);padding:clamp(12px,1.6vw,18px);
  background:radial-gradient(70% 90% at 0% 0%,rgba(123,60,255,.16),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgba(0,212,255,.1),transparent 60%),rgba(8,6,20,.82)}
.gen-screen{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#05040c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 20px 50px rgba(0,0,0,.45)}
.gen-cv,.gen-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gen-img{opacity:0;filter:saturate(.45) contrast(.82) brightness(1.06);transition:opacity .8s var(--ease),filter 1.1s var(--ease)}
.gen.up .gen-img{opacity:1}
.gen.graded .gen-img{filter:none}
.gen-scan{position:absolute;left:0;right:0;top:0;height:22%;z-index:2;opacity:0;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,212,255,.22) 80%,rgba(180,240,255,.9) 99%,transparent);transform:translate3d(0,-100%,0)}
.gen.up:not(.graded) .gen-scan{animation:genScan .9s var(--ease) forwards}
@keyframes genScan{0%{opacity:1;transform:translate3d(0,-100%,0)}100%{opacity:1;transform:translate3d(0,460%,0)}}
.gen-corners{position:absolute;inset:12px;z-index:2;pointer-events:none;
  background:linear-gradient(#fff,#fff) 0 0/18px 1.5px,linear-gradient(#fff,#fff) 0 0/1.5px 18px,linear-gradient(#fff,#fff) 100% 0/18px 1.5px,linear-gradient(#fff,#fff) 100% 0/1.5px 18px,
    linear-gradient(#fff,#fff) 0 100%/18px 1.5px,linear-gradient(#fff,#fff) 0 100%/1.5px 18px,linear-gradient(#fff,#fff) 100% 100%/18px 1.5px,linear-gradient(#fff,#fff) 100% 100%/1.5px 18px;
  background-repeat:no-repeat;opacity:.55}
.gen-badge,.gen-hud{position:absolute;z-index:3;font-size:11px;padding:6px 10px;border-radius:99px;background:rgba(4,3,12,.62);color:#e8e6ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gen-badge{left:22px;top:22px;color:#9fe6ff}
.gen.fin .gen-badge{color:#9dffc2}
.gen-hud{right:22px;bottom:22px;color:var(--mute)}
.gen-side{display:flex;flex-direction:column;gap:14px;min-width:0;padding:6px 6px 6px 0}
.gen-top{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--mute)}
.gen-live{display:flex;align-items:center;gap:8px;color:#ffd6de}
.gen-live i{width:7px;height:7px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 10px #ff3b5c;animation:pulse 1.6s ease-in-out infinite}
.gen-prompt{padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.gen-prompt small{display:block;font-size:11px;color:var(--n2);margin-bottom:6px}
.gen-prompt p{font-size:13.5px;line-height:1.55;color:#f1efff;min-height:6.2em}
.gen-prompt p::after{content:"";display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--n2);animation:blink 1s steps(1) infinite}
.gen.up .gen-prompt p::after{display:none}
@keyframes blink{50%{opacity:0}}
.gen-steps{display:grid;gap:7px;font-size:12.5px}
.gen-steps li{display:flex;align-items:center;gap:10px;color:var(--dim);transition:color .3s}
.gen-steps li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2);transition:background .3s,box-shadow .3s}
.gen-steps li.on{color:#fff}
.gen-steps li.on::before{box-shadow:inset 0 0 0 1.5px var(--n2),0 0 12px var(--n2);animation:pulse 1s ease-in-out infinite}
.gen-steps li.done{color:#cfcde6}
.gen-steps li.done::before{background:linear-gradient(135deg,var(--n1),var(--n2)) ;box-shadow:none}
.gen-steps b{margin-left:auto;font-weight:500;color:var(--n2);font-variant-numeric:tabular-nums}
.gen-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.gen-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--n1),var(--n2),var(--n3));transform-origin:0 50%;transform:scaleX(0)}
.gen-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.gen-play{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:99px;font:600 14px var(--body);color:#fff;cursor:pointer;
  background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.1);transition:background .3s,transform .3s var(--ease)}
.gen-play .tri{border-left-width:9px;border-top-width:6px;border-bottom-width:6px}
.gen-play:hover{background:linear-gradient(90deg,var(--n1),var(--n2));transform:translateY(-2px)}
.gen-thumbs{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.gen-thumb{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;cursor:pointer;opacity:.45;filter:saturate(.3);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:opacity .35s,filter .35s,transform .35s var(--ease)}
.gen-thumb img{width:100%;height:100%;object-fit:cover}
.gen-thumb span{position:absolute;left:8px;bottom:6px;font-size:10.5px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.gen-thumb:hover{opacity:.8;transform:translateY(-2px)}
.gen-thumb.on{opacity:1;filter:none;box-shadow:inset 0 0 0 2px var(--n2),0 0 18px rgba(0,212,255,.3)}
.gen-note{margin-top:12px;font-size:11px;color:var(--dim);text-align:center}
@media (max-width:900px){.gen{grid-template-columns:1fr}.gen-side{padding:4px}.gen-prompt p{min-height:4.7em}}
@media (max-width:600px){.gen-thumbs{gap:6px}.gen-thumb{border-radius:8px}.gen-thumb span{display:none}.gen-badge{left:12px;top:12px}.gen-hud{right:12px;bottom:12px}.gen-corners{inset:8px}}

.ailab-h{display:flex;flex-direction:column;gap:6px;margin:clamp(54px,7vw,90px) 0 clamp(22px,3vw,32px);font:700 clamp(26px,3.2vw,40px)/1.05 var(--head);letter-spacing:-.035em}
.ailab-h .mono{font:500 13px var(--mono);letter-spacing:0;color:var(--n2)}

@media (prefers-reduced-motion:reduce){
  .ailab-grid,.ailab-glow,.ai-dot,.gen-live i,.gen-steps li.on::before,.gen-prompt p::after{animation:none}
}

/* work filters: sticky liquid-glass bar with a sliding thumb */
.wf-wrap{position:relative}
.wfilter{--r:99px;position:sticky;top:12px;z-index:20;display:flex;gap:4px;width:max-content;max-width:100%;margin:0 auto clamp(20px,3vw,30px);padding:5px;
  overflow-x:auto;scrollbar-width:none;transition:top .5s var(--ease)}
.wfilter::-webkit-scrollbar{display:none}
body:has(.nav:not(.hide)) .wfilter{top:88px}
.wf-thumb{position:absolute;left:0;top:5px;bottom:5px;width:0;border-radius:99px;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,var(--n1),var(--n2));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 20px rgba(0,212,255,.3);
  transition:transform .55s cubic-bezier(.3,1.4,.4,1),width .55s cubic-bezier(.3,1.4,.4,1)}
.wf-btn{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:99px;
  font:600 14px var(--body);color:#c9c7e2;white-space:nowrap;cursor:pointer;transition:color .3s}
.wf-btn small{font-size:10.5px;padding:2px 6px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--mute);transition:background .3s,color .3s}
.wf-btn:hover{color:#fff}
.wf-btn.on{color:#fff}
.wf-btn.on small{background:rgba(0,0,0,.25);color:#fff}
.work[hidden]{display:none}
@media (max-width:600px){
  .wfilter{width:auto;margin-left:calc(var(--pad) * -.5);margin-right:calc(var(--pad) * -.5);
    -webkit-mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
  body:has(.nav:not(.hide)) .wfilter{top:76px}
  .wf-btn{padding:9px 13px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){.wf-thumb{transition:none}}

/* episode tiles: air date + tiles JioHotstar doesn't list */
.ontv-grid a i,.ep-off i{font:500 8.5px var(--mono);font-style:normal;letter-spacing:.04em;color:var(--mute);margin-top:4px;white-space:nowrap}
.ontv-grid a:hover i{color:#e6f2ff}
.ep-off{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16/10;border-radius:12px;font:700 clamp(17px,1.7vw,21px)/1 var(--head);
  color:rgba(255,255,255,.35);background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 6px,transparent 6px 12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);cursor:default}
.ep-off small{font:600 9px var(--mono);letter-spacing:.14em;margin-bottom:3px}
@media (max-width:600px){.ep-off{border-radius:10px;font-size:16px}.ontv-grid a i,.ep-off i{font-size:7.5px}}

/* text for search engines and screen readers only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Rate me on Google: liquid glass card with a 3D liquid drop around the G ---------- */
.grate{--r:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,3vw,38px);max-width:1000px;margin:clamp(36px,5vw,60px) auto 0;
  padding:clamp(22px,3.2vw,38px) clamp(22px,3.6vw,46px);color:#fff;text-decoration:none;
  background:radial-gradient(80% 140% at 0% 50%,rgba(66,133,244,.3),transparent 55%),radial-gradient(60% 90% at 100% 0%,rgba(251,188,5,.16),transparent 60%),
             radial-gradient(60% 90% at 75% 115%,rgba(52,168,83,.18),transparent 60%),radial-gradient(40% 70% at 45% -20%,rgba(234,67,53,.14),transparent 60%),rgba(12,9,26,.74)}
.grate .kicker{margin:0}
.grate-orb{position:relative;width:clamp(100px,11.5vw,138px);aspect-ratio:1;display:grid;place-items:center}
.grate-ring{position:absolute;inset:-3px;border-radius:50%;padding:2.5px;opacity:.85;
  background:conic-gradient(#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 10s linear infinite}
.grate-drop{position:absolute;inset:9%;border-radius:47% 53% 55% 45%/56% 44% 56% 44%;
  background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.95) 0 5%,rgba(255,255,255,.4) 11%,transparent 26%),
             radial-gradient(circle at 74% 76%,rgba(66,133,244,.6),transparent 52%),radial-gradient(circle at 22% 80%,rgba(52,168,83,.5),transparent 48%),
             radial-gradient(circle at 82% 24%,rgba(234,67,53,.48),transparent 46%),radial-gradient(circle at 50% 100%,rgba(251,188,5,.42),transparent 50%),
             radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,.05) 72%);
  box-shadow:inset -12px -16px 28px rgba(0,0,0,.38),inset 9px 11px 22px rgba(255,255,255,.24),0 20px 44px rgba(66,133,244,.35),0 0 60px rgba(251,188,5,.12);
  animation:grWob 7s ease-in-out infinite alternate}
.grate-drop.b{inset:2%;opacity:.35;background:radial-gradient(circle,transparent 58%,rgba(255,255,255,.35) 70%,transparent 74%);box-shadow:none;animation-duration:9s;animation-direction:alternate-reverse}
@keyframes grWob{0%{transform:rotate(0) scale(1,1)}50%{transform:rotate(22deg) scale(1.06,.95)}100%{transform:rotate(-14deg) scale(.96,1.05)}}
.grate-g{position:relative;z-index:2;width:42%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));animation:grFloat 4.5s ease-in-out infinite alternate}
@keyframes grFloat{to{transform:translate3d(0,-6px,0) rotate(-7deg)}}
.grate-body{display:flex;flex-direction:column;gap:10px;min-width:0}
.grate-h{font:700 clamp(24px,3.1vw,40px)/1.04 var(--head);letter-spacing:-.035em}
.grate-stars{display:flex;align-items:center;gap:5px;font-size:clamp(22px,2.4vw,28px);line-height:1}
.grate-stars i{display:inline-block;font-style:normal;background:linear-gradient(180deg,#fff0b3,#fbbc05 55%,#e89b00);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 8px rgba(251,188,5,.55));transform:scale(.3) rotate(-40deg);opacity:0;
  transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .4s;transition-delay:calc(var(--i) * 90ms + 300ms)}
.grate.in .grate-stars i{transform:none;opacity:1}
.grate-stars{flex-wrap:wrap}
.grate-stars em{font:600 14px var(--body);font-style:normal;color:#ffe08a;margin-left:8px;white-space:nowrap}
.grate small{color:var(--dim);font-size:13.5px;line-height:1.45}
.grate-cta{pointer-events:none}
.grate:hover .grate-cta{transform:translateY(-2px);background-position:100% 0}
@media (max-width:720px){
  .grate{grid-template-columns:auto 1fr;gap:16px 18px;text-align:left}
  .grate-orb{width:84px}
  .grate-stars{font-size:20px;gap:3px}
  .grate-stars em{margin-left:2px}
  .grate-cta{grid-column:1/-1;width:100%}
  .grate small{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.grate-ring,.grate-drop,.grate-g{animation:none}.grate-stars i{transform:none;opacity:1;transition:none}}

/* ---------- phones and tablets: same look, far less work per frame ----------
   Fixed glass (nav, dock, chat) is re-blurred on every scroll frame on phones, so it gets a
   solid tinted fill instead; the full-screen background stops drifting; off-screen sections pause. */
.paused,.paused *{animation-play-state:paused!important}
@media (hover:none),(pointer:coarse){
  .blur,.cb-orb,.cb-label,.cb-nudge,.ctl,.gen-badge,.gen-hud{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .blur{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 60%),rgba(12,9,28,.92)}
  .cb-label,.cb-nudge{background-color:rgba(14,11,32,.94)}
  .blob{animation:none;will-change:auto}
  .grain{display:none}
  .ailab-glow{filter:none;animation:none}
  .cb-ring{filter:none}
  .cb-orb{background-color:rgba(20,14,44,.9)}
}
