:root{
  --ink:#0a0a0d;
  --ink-2:#111116;
  --ink-3:#16161c;
  --bone:#f3ede1;
  --bone-dim:#c9c2b5;
  --halo-a:#38bdf8;
  --halo-b:#a855f7;
  --halo-c:#c026d3;
  --line:rgba(243,237,225,.12);
  --line-strong:rgba(243,237,225,.28);
  --grid:rgba(243,237,225,.045);
  --max: 1440px;
  --pad: clamp(20px, 3vw, 56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ink);color:var(--bone);font-family:"Fraunces",serif;font-optical-sizing:auto;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--halo-b);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{max-width:100%;display:block}

body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;opacity:.55;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:99;
  background:radial-gradient(120% 80% at 50% 40%, transparent 40%, rgba(0,0,0,.55) 100%);
}

/* ===== NAV ===== */
nav.top{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding: 22px var(--pad);
  display:flex;align-items:center;justify-content:space-between;
  mix-blend-mode:difference;color:#fff;
  font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
nav.top .brand{display:flex;align-items:center;gap:12px;font-family:"Bricolage Grotesque",sans-serif;font-weight:500;letter-spacing:-.012em;font-size:19px;text-transform:none;font-variation-settings:"opsz" 24}
nav.top .brand img{width:32px;height:auto;display:block;filter: drop-shadow(0 0 12px rgba(168,85,247,.5))}
nav.top ul{display:flex;gap:28px;list-style:none;align-items:center}
nav.top ul a{opacity:.85;transition:opacity .2s}
nav.top ul a:hover{opacity:1}
nav.top .nav-right{display:flex;align-items:center;gap:18px}
nav.top .lang{display:flex;gap:0;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:3px;font-size:11px}
nav.top .lang button{padding:4px 9px;border-radius:999px;transition: background .25s, color .25s;color:rgba(255,255,255,.7)}
nav.top .lang button.active{background:rgba(255,255,255,.95);color:#000}
nav.top .cta{padding:9px 14px;border:1px solid rgba(255,255,255,.4);border-radius:999px}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:100vh;padding: 140px var(--pad) 80px;
  display:grid;grid-template-columns: 1.15fr 1fr;gap: clamp(24px,4vw,80px);
  max-width:var(--max);margin:0 auto;
  background:
    radial-gradient(800px 600px at 85% 35%, rgba(168,85,247,.22), transparent 60%),
    radial-gradient(600px 500px at 20% 85%, rgba(56,189,248,.15), transparent 60%),
    linear-gradient(180deg,#0a0a0d 0%,#0b0b10 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 35%, transparent 75%);
}
.hero .left{position:relative;z-index:2;align-self:center;padding-top:20px}
.hero .right{position:relative;z-index:1;min-height:640px}

.eyebrow{
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bone-dim);display:flex;gap:14px;align-items:center;margin-bottom:28px;
}
.eyebrow .bar{width:28px;height:1px;background:var(--bone-dim);opacity:.6}
.eyebrow em{font-style:normal;color:var(--halo-a)}

h1.title{
  font-family:"Fraunces",serif;font-weight:300;
  font-size: clamp(52px, 7.5vw, 124px);
  line-height:.92;letter-spacing:-.035em;
  font-variation-settings:"opsz" 144;
  margin-bottom: 24px;
}
h1.title .row{display:block;overflow:hidden}
h1.title .row > span{display:inline-block;opacity:0;transform:translateY(40%);animation: rise 1s cubic-bezier(.2,.8,.2,1) forwards}
h1.title .row:nth-child(1) > span{animation-delay:.15s}
h1.title .row:nth-child(2) > span{animation-delay:.32s}
h1.title .accent{
  font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;
  background:linear-gradient(100deg,var(--halo-a) 0%,var(--halo-b) 50%,var(--halo-c) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding-right:.06em;
}
@keyframes rise{to{transform:translateY(0);opacity:1}}
@media (prefers-reduced-motion: reduce){h1.title .row > span{opacity:1;transform:none;animation:none}}

.lede{
  max-width:520px;font-size:19px;line-height:1.55;color:var(--bone);opacity:.78;
  font-weight:400;font-variation-settings:"opsz" 14;margin-bottom:40px;
}
.lede em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--bone);opacity:1}

.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;border-radius:999px;font-size:14px;letter-spacing:.02em;
  font-family:"Bricolage Grotesque",sans-serif;font-weight:500;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background .3s, color .3s;
  cursor:pointer;
}
.btn.primary{
  color:#0a0a0d;
  background:linear-gradient(100deg,var(--halo-a),var(--halo-b) 60%,var(--halo-c));
  box-shadow:0 10px 40px -10px rgba(168,85,247,.7), inset 0 0 0 1px rgba(255,255,255,.3);
}
.btn.primary:hover{transform:translateY(-2px) scale(1.01)}
.btn.ghost{border:1px solid var(--line-strong);color:var(--bone)}
.btn.ghost:hover{background:rgba(243,237,225,.06);border-color:var(--bone)}
.btn .arrow{transition:transform .3s}
.btn:hover .arrow{transform:translateX(4px)}

/* ===== Face stage (canvas + HUD + placeholder frame) ===== */
.stage{
  position:absolute;inset:20px 0 20px 20px;border-radius:2px;overflow:hidden;
  background:#05050a;
  box-shadow: 0 40px 120px -30px rgba(168,85,247,.45), inset 0 0 0 1px rgba(243,237,225,.06);
}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage::before,.stage::after{content:"";position:absolute;left:0;right:0;height:8%;background:#000;z-index:4;pointer-events:none}
.stage::before{top:0;border-bottom:1px solid rgba(243,237,225,.08)}
.stage::after{bottom:0;border-top:1px solid rgba(243,237,225,.08)}
.crops{position:absolute;inset:12%;pointer-events:none;z-index:5}
.crops::before,.crops::after,.crops > i,.crops > b{content:"";position:absolute;width:18px;height:18px;border-color:rgba(243,237,225,.55);border-style:solid;border-width:0}
.crops::before{top:0;left:0;border-top-width:1px;border-left-width:1px}
.crops::after{top:0;right:0;border-top-width:1px;border-right-width:1px}
.crops > i{bottom:0;left:0;border-bottom-width:1px;border-left-width:1px;display:block}
.crops > b{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px;display:block}
.play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;
  width:78px;height:78px;border-radius:50%;
  background:rgba(10,10,13,.45);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);
  border:1px solid rgba(243,237,225,.35);
  display:flex;align-items:center;justify-content:center;
  transition: transform .4s cubic-bezier(.2,.8,.2,1), background .3s;
}
.play::after{content:"";width:0;height:0;border-left:16px solid var(--bone);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px;opacity:.95}
.play::before{
  content:"";position:absolute;inset:-14px;border-radius:50%;
  border:1px solid rgba(243,237,225,.18);animation: ripple 2.6s ease-out infinite;
}
@keyframes ripple{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.stage:hover .play{transform:translate(-50%,-50%) scale(1.08);background:rgba(168,85,247,.25)}
.ph-tag{
  position:absolute;left:20px;top:14px;z-index:6;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bone);background:rgba(192,38,211,.22);border:1px solid rgba(192,38,211,.5);
  padding:5px 10px;border-radius:2px;
}
.ph-caption{
  position:absolute;left:20px;bottom:12px;z-index:6;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone-dim);
}
.ph-tc{
  position:absolute;right:20px;bottom:12px;z-index:6;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;color:var(--halo-a);
}
.hud{position:absolute;inset:0;pointer-events:none;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.08em;color:rgba(243,237,225,.68);text-transform:uppercase}
.hud .tl{position:absolute;top:18px;left:18px;display:flex;flex-direction:column;gap:4px}
.hud .tr{position:absolute;top:18px;right:18px;text-align:right;display:flex;flex-direction:column;gap:4px}
.hud .tag{display:inline-flex;align-items:center;gap:8px}
.hud .led{width:6px;height:6px;border-radius:50%;background:var(--halo-a);box-shadow:0 0 8px var(--halo-a);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,60%,100%{opacity:1}70%,85%{opacity:.25}}

.breath{
  position:absolute;right:var(--pad);bottom:44px;z-index:3;
  font-family:"Instrument Serif",serif;font-style:italic;font-size:15px;color:var(--bone-dim);
}
.breath::before{content:"—  ";opacity:.5}

/* ===== WHISPER ===== */
.whisper{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;
  font-family:"Instrument Serif",serif;font-style:italic;
  font-size: clamp(28px, 4.5vw, 64px);
  padding:22px 0;color:var(--bone);background:var(--ink-2);
}
.whisper .track{display:inline-block;padding-left:100%;animation: slide 38s linear infinite}
.whisper span{opacity:.7}
.whisper .glow{
  background:linear-gradient(100deg,var(--halo-a),var(--halo-b) 50%,var(--halo-c));
  -webkit-background-clip:text;background-clip:text;color:transparent;opacity:1;
}
.whisper .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bone-dim);margin:0 22px;vertical-align:middle}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ===== PRODUCTS ===== */
.products{
  max-width:var(--max);margin:0 auto;padding: 140px var(--pad) 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.section-label{
  grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;
  margin-bottom:40px;gap:40px;flex-wrap:wrap;
}
.section-label .kicker{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim)}
.section-label h2{
  font-family:"Fraunces",serif;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:.95;
  letter-spacing:-.03em;max-width:760px;font-variation-settings:"opsz" 144;
}
.section-label h2 em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--bone-dim);font-weight:400}

.card{
  position:relative;border:1px solid var(--line);border-radius:6px;
  padding:0;min-height:640px;
  display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(180deg, rgba(243,237,225,.02), transparent 60%);
  overflow:hidden;transition: border-color .4s, transform .4s cubic-bezier(.2,.8,.2,1);
}
.card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.card::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(600px 400px at var(--mx,50%) var(--my,30%), rgba(168,85,247,.18), transparent 55%);
}
.card:hover::after{opacity:1}
.card .inner{padding:36px 36px 32px;display:flex;flex-direction:column;justify-content:space-between;flex:1}
.card .num{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.2em;color:var(--bone-dim);text-transform:uppercase}
.card h3{font-family:"Fraunces",serif;font-weight:400;font-size:44px;line-height:1.02;letter-spacing:-.025em;margin-top:14px;font-variation-settings:"opsz" 144}
.card h3 em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--bone-dim);display:block;font-size:28px;margin-top:6px}
.card .tagline{margin-top:20px;font-size:18px;line-height:1.55;max-width:440px;opacity:.82}
.card .bullets{list-style:none;margin-top:32px;display:flex;flex-direction:column;gap:10px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--bone-dim)}
.card .bullets li{display:flex;gap:12px;align-items:center}
.card .bullets li::before{content:"";width:14px;height:1px;background:var(--bone-dim);flex-shrink:0}
.card .foot{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.card .link{display:inline-flex;align-items:center;gap:10px;font-size:14px;padding-bottom:4px;border-bottom:1px solid var(--line-strong)}
.card .link:hover{border-color:var(--bone)}
.card .host{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--bone-dim);letter-spacing:.1em}

.card .media{position:relative;height:300px;margin:0;overflow:hidden;border-bottom:1px solid var(--line);background:#07070b}
.card .media .ph-tag{position:absolute;left:14px;top:14px;z-index:6;padding:4px 9px;border-radius:2px}
.card .media .ph-caption{position:absolute;left:14px;bottom:10px;right:14px;z-index:6}
.card .media .ph-badge{position:absolute;right:14px;top:14px;z-index:6;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.15em;color:var(--halo-a);text-transform:uppercase;border:1px solid rgba(56,189,248,.45);padding:4px 9px;border-radius:2px;background:rgba(56,189,248,.08)}

.media.characters{background:#000;cursor:pointer}
.media.characters .thumb{position:absolute;inset:0;background:url("https://img.youtube.com/vi/Hy-OFJzJxKE/maxresdefault.jpg") center/cover no-repeat, #0a0a0d;transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .4s;filter: saturate(1.05) contrast(1.02)}
.media.characters:hover .thumb{transform:scale(1.04);filter:saturate(1.15) contrast(1.05)}
.media.characters .grade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.75) 100%),radial-gradient(closest-side at 30% 50%, transparent 55%, rgba(0,0,0,.45) 100%)}
.media.characters .scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(56,189,248,.10) 50%,transparent);height:80px;animation: scanY 5s ease-in-out infinite}
@keyframes scanY{0%{transform:translateY(-80px)}100%{transform:translateY(300px)}}
.media.characters .playC{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:76px;height:76px;border-radius:50%;background:rgba(10,10,13,.55);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border:1px solid rgba(243,237,225,.4);display:flex;align-items:center;justify-content:center;transition: transform .4s cubic-bezier(.2,.8,.2,1), background .3s, border-color .3s}
.media.characters .playC::after{content:"";width:0;height:0;border-left:15px solid var(--bone);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px}
.media.characters .playC::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(243,237,225,.2);animation: ripple 2.6s ease-out infinite}
.media.characters:hover .playC{transform:translate(-50%,-50%) scale(1.1);background:rgba(168,85,247,.3);border-color:rgba(243,237,225,.6)}
.media.characters .dur{position:absolute;right:14px;bottom:14px;z-index:6;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;color:var(--bone);background:rgba(0,0,0,.6);padding:3px 7px;border-radius:2px}

.media.people{background:radial-gradient(600px 300px at 70% 30%, rgba(168,85,247,.2), transparent 60%),linear-gradient(135deg,#08080c,#0c0c12);display:flex;align-items:center;justify-content:center}
.device{position:relative;width:190px;height:340px;margin-top:20px;border-radius:32px;background:linear-gradient(160deg,#1a1a22,#0c0c12);box-shadow: 0 30px 80px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(243,237,225,.08);transform: rotate(-8deg);overflow:hidden}
.device::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:60px;height:16px;background:#000;border-radius:10px;z-index:3}
.device .screen{position:absolute;inset:6px;border-radius:26px;background:radial-gradient(circle at 50% 18%, rgba(56,189,248,.22), transparent 45%),linear-gradient(180deg,#0a0a10,#111118);overflow:hidden}
.device .avatar{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:74px;height:74px;border-radius:50%;background:conic-gradient(from 0deg, var(--halo-a), var(--halo-b), var(--halo-c), var(--halo-a));box-shadow: 0 0 30px rgba(168,85,247,.6);animation: breathe 2.6s ease-in-out infinite}
.device .avatar::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#0a0a10}
.device .avatar::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(56,189,248,.4);animation: ripple 2.6s ease-out infinite}
@keyframes breathe{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.05)}}
.device .name{position:absolute;top:128px;left:0;right:0;text-align:center;color:var(--bone);font-family:"Fraunces",serif;font-size:15px;font-weight:500;letter-spacing:-.01em}
.device .tag{position:absolute;top:148px;left:0;right:0;text-align:center;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--bone-dim);letter-spacing:.14em;text-transform:uppercase}
.device .bub{position:absolute;padding:7px 10px;border-radius:12px;font-family:"Instrument Serif",serif;font-style:italic;font-size:11.5px;color:var(--bone);background:rgba(243,237,225,.08);border:1px solid rgba(243,237,225,.1);max-width:130px}
.device .bub.r{right:14px;background:linear-gradient(135deg,rgba(56,189,248,.3),rgba(168,85,247,.25));border-color:rgba(168,85,247,.4)}
.device .bub.l{left:14px}
.device .b1{top:190px}.device .b2{top:228px}.device .b3{top:268px}
.device .wave{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:3px;align-items:end;height:18px}
.device .wave i{display:block;width:3px;background:linear-gradient(0deg,var(--halo-a),var(--halo-b));border-radius:2px;animation: wav 1.1s ease-in-out infinite}
.device .wave i:nth-child(1){height:40%;animation-delay:.05s}
.device .wave i:nth-child(2){height:80%;animation-delay:.15s}
.device .wave i:nth-child(3){height:55%;animation-delay:.25s}
.device .wave i:nth-child(4){height:100%;animation-delay:.35s}
.device .wave i:nth-child(5){height:70%;animation-delay:.45s}
.device .wave i:nth-child(6){height:45%;animation-delay:.55s}
.device .wave i:nth-child(7){height:85%;animation-delay:.65s}
@keyframes wav{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}

/* ===== MANIFESTO ===== */
.manifesto{
  position:relative;padding: 160px var(--pad) 180px;
  background:radial-gradient(900px 500px at 50% 0%, rgba(56,189,248,.14), transparent 60%),var(--ink-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:center;overflow:hidden;
}
.manifesto .watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,80vw);height:auto;opacity:.07;pointer-events:none;z-index:0;filter:blur(.5px)}
.manifesto > *{position:relative;z-index:1}
.manifesto .kicker{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:32px}
.manifesto p.big{max-width:1100px;margin:0 auto;font-family:"Fraunces",serif;font-weight:300;font-size: clamp(32px, 4.2vw, 62px);line-height:1.08;letter-spacing:-.022em;font-variation-settings:"opsz" 144}
.manifesto p.big em{font-family:"Instrument Serif",serif;font-style:italic;background:linear-gradient(100deg,var(--halo-a),var(--halo-b) 55%,var(--halo-c));-webkit-background-clip:text;background-clip:text;color:transparent}
.manifesto .sign{margin-top:48px;font-family:"Instrument Serif",serif;font-style:italic;color:var(--bone-dim);font-size:16px}

/* ===== CONTACT ===== */
.contact{
  position:relative;max-width:var(--max);margin:0 auto;padding:140px var(--pad);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);
}
.contact .intro h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.03em;margin-top:14px;font-variation-settings:"opsz" 144}
.contact .intro h2 em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--bone-dim)}
.contact .intro .kicker{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim)}
.contact .intro p{margin-top:24px;font-size:18px;line-height:1.55;opacity:.78;max-width:420px}
.contact .intro .direct{margin-top:36px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.1em;color:var(--bone-dim);text-transform:uppercase;display:flex;flex-direction:column;gap:10px}
.contact .intro .direct a{color:var(--halo-a);border-bottom:1px solid rgba(56,189,248,.4)}
.contact .intro .direct a:hover{color:var(--bone);border-color:var(--bone)}

form.contact-form{display:flex;flex-direction:column;gap:18px;font-family:"Bricolage Grotesque",sans-serif}
form.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone-dim);font-family:"JetBrains Mono",monospace}
form.contact-form input,form.contact-form select,form.contact-form textarea{
  font:inherit;font-family:"Bricolage Grotesque",sans-serif;font-size:15px;
  background:rgba(243,237,225,.04);border:1px solid var(--line);border-radius:4px;
  padding:14px 16px;color:var(--bone);outline:none;transition: border-color .3s, background .3s;
}
form.contact-form select{appearance:none;-webkit-appearance:none;background-image: linear-gradient(45deg, transparent 50%, var(--bone-dim) 50%), linear-gradient(135deg, var(--bone-dim) 50%, transparent 50%);background-position: calc(100% - 20px) center, calc(100% - 14px) center;background-size: 6px 6px, 6px 6px;background-repeat: no-repeat;padding-right:44px}
form.contact-form select option{background:#0e0e14;color:var(--bone)}
form.contact-form textarea{min-height:140px;resize:vertical;font-family:"Bricolage Grotesque",sans-serif}
form.contact-form input:focus,form.contact-form select:focus,form.contact-form textarea:focus{border-color:var(--halo-a);background:rgba(56,189,248,.04)}
form.contact-form .submit-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:20px;flex-wrap:wrap}
form.contact-form .hint{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--bone-dim);text-transform:uppercase;opacity:.7}
form.contact-form .turnstile-container{min-height:0;margin-top:4px}
form.contact-form .turnstile-container:not(:empty){min-height:66px}
form.contact-form .form-status{min-height:18px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
form.contact-form .form-status[data-kind="ok"]{color:#34d399}
form.contact-form .form-status[data-kind="err"]{color:#f87171}
form.contact-form button[type="submit"][disabled]{opacity:.6;cursor:wait}

/* ===== FOOTER ===== */
footer{max-width:var(--max);margin:0 auto;padding: 80px var(--pad) 60px;display:grid;grid-template-columns: 1.5fr 1fr 1fr 1fr;gap: 40px}
footer .col h4{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:18px;font-weight:500}
footer .col ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px}
footer .col a{opacity:.85}footer .col a:hover{opacity:1;color:var(--halo-a)}
footer .col.brand p{max-width:320px;opacity:.7;font-size:15px;line-height:1.55;margin-top:14px}
footer .col.brand .mark{font-family:"Bricolage Grotesque",sans-serif;font-size:28px;font-weight:500;letter-spacing:-.022em;display:flex;align-items:center;gap:14px;font-variation-settings:"opsz" 48}
footer .col.brand .mark img{width:42px;height:auto;filter: drop-shadow(0 0 16px rgba(168,85,247,.55))}
.legal-line{max-width:var(--max);margin:0 auto;padding: 20px var(--pad) 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-dim)}
.legal-line em{font-family:"Instrument Serif",serif;font-style:italic;text-transform:none;letter-spacing:normal;font-size:14px;color:var(--bone-dim)}

.socials{display:flex;gap:10px;margin-top:22px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition: border-color .3s, background .3s, transform .3s;color:var(--bone-dim)}
.socials a:hover{border-color:var(--halo-a);color:var(--halo-a);background:rgba(56,189,248,.08);transform:translateY(-2px)}
.socials svg{width:15px;height:15px}

/* ===== LIGHTBOX ===== */
.lightbox{position:fixed;inset:0;z-index:300;display:none;background:rgba(0,0,0,.88);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);align-items:center;justify-content:center;padding:5vh 5vw;opacity:0;transition:opacity .35s ease}
.lightbox.open{display:flex;opacity:1}
.lightbox .frame{position:relative;width:min(1200px,100%);aspect-ratio:16/9;border-radius:6px;overflow:hidden;box-shadow: 0 60px 160px -20px rgba(168,85,247,.55), 0 0 0 1px rgba(243,237,225,.12);transform:scale(.96);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.lightbox.open .frame{transform:scale(1)}
.lightbox iframe{width:100%;height:100%;border:0;display:block;background:#000}
.lightbox .close{position:absolute;top:28px;right:28px;z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(243,237,225,.08);border:1px solid rgba(243,237,225,.25);color:var(--bone);display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:18px;transition: background .3s, transform .3s}
.lightbox .close:hover{background:rgba(243,237,225,.2);transform:rotate(90deg)}

/* ===== CUSTOM CURSOR ===== */
.cursor{position:fixed;top:0;left:0;width:26px;height:26px;border-radius:50%;border:1px solid rgba(243,237,225,.5);pointer-events:none;z-index:200;transform:translate(-50%,-50%);transition: width .25s, height .25s, border-color .25s, background .25s;mix-blend-mode:difference}
.cursor.grow{width:64px;height:64px;background:rgba(168,85,247,.15);border-color:transparent}

/* ===== LEGAL PAGE ===== */
.legal-page{max-width:920px;margin:0 auto;padding:180px var(--pad) 120px;font-size:16px;line-height:1.7}
.legal-page h1{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.03em;margin-bottom:12px;font-variation-settings:"opsz" 144}
.legal-page .kicker{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:24px}
.legal-page h2{font-family:"Fraunces",serif;font-weight:400;font-size:26px;margin:48px 0 16px;letter-spacing:-.015em}
.legal-page p{margin-bottom:14px;opacity:.88}
.legal-page a{color:var(--halo-a);border-bottom:1px solid rgba(56,189,248,.4)}
.legal-page a:hover{color:var(--bone);border-color:var(--bone)}
.legal-page dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:20px 0;font-family:"JetBrains Mono",monospace;font-size:13px}
.legal-page dt{color:var(--bone-dim);letter-spacing:.1em;text-transform:uppercase;font-size:11px;align-self:center}
.legal-page dd{color:var(--bone)}
.legal-page .back{display:inline-flex;align-items:center;gap:8px;margin-top:60px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone-dim);border-bottom:1px solid var(--line-strong);padding-bottom:4px}
.legal-page .back:hover{color:var(--bone)}

/* ===== RESPONSIVE ===== */
@media (max-width: 960px){
  .hero{grid-template-columns:1fr;padding-top:120px}
  .hero .right{min-height:520px;order:-1}
  .products{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr;gap:28px}
  nav.top ul{display:none}
  nav.top .nav-right .lang{display:flex}
  .cursor{display:none}
}
