/* =========================================================================
   White Rabbit Games — site styles
   Palette, self-hosted fonts, animations and components for the landing page.
   Fonts are subset woff2 files served locally (no third-party font requests).
   ========================================================================= */

/* ------------------------------- Fonts ---------------------------------- */
/* Archivo (body) — one subset file per unicode range, all weights 400–900. */
@font-face { font-family:'Archivo'; font-style:normal; font-weight:400 900; font-stretch:100%; font-display:swap;
  src:url("assets/fonts/font-01.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:400 900; font-stretch:100%; font-display:swap;
  src:url("assets/fonts/font-02.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:400 900; font-stretch:100%; font-display:swap;
  src:url("assets/fonts/font-03.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Bungee (display) — weight 400 only. */
@font-face { font-family:'Bungee'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-04.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Bungee'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-05.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Bungee'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-06.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Space Mono (labels / mono) — italic 400 and normal 400/700. */
@font-face { font-family:'Space Mono'; font-style:italic; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-07.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Space Mono'; font-style:italic; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-08.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Space Mono'; font-style:italic; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-09.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-10.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-11.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/font-12.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url("assets/fonts/font-13.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url("assets/fonts/font-14.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url("assets/fonts/font-15.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ------------------------------ Tokens ---------------------------------- */
:root{
  --bg:#0b0610;
  --bg-deep:#070309;
  --ink:#f4f1ea;
  --magenta:#b821a0;
  --magenta-bright:#d62fbe;
  --cyan:#00f6e6;
  --cyan-bright:#5cfff0;
  --gold:#f4d300;
  --display:'Bungee',sans-serif;
  --body:'Archivo',sans-serif;
  --mono:'Space Mono',monospace;
}

/* ------------------------------- Base ----------------------------------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  overflow-x:hidden;
  position:relative;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;}
::selection{background:var(--magenta);color:#fff;}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}

/* ---------------------------- Animations -------------------------------- */
@keyframes wr-sheen{0%{background-position:-60% 0;}100%{background-position:160% 0;}}
@keyframes wr-float{0%,100%{transform:translateZ(80px) translateY(0) rotate(-2deg);}50%{transform:translateZ(80px) translateY(-16px) rotate(2deg);}}
@keyframes wr-spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes wr-glitch{0%,92%,100%{transform:translate(0,0);text-shadow:3px 0 #00f6e6,-3px 0 #ff2db5;}93%{transform:translate(-3px,1px);text-shadow:-5px 0 #00f6e6,5px 0 #ff2db5;}96%{transform:translate(3px,-1px);text-shadow:5px 0 #00f6e6,-5px 0 #ff2db5;}}
@keyframes wr-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes wr-blink{0%,100%{opacity:1;}50%{opacity:.2;}}
@keyframes wr-scan{0%{background-position:0 0;}100%{background-position:0 100%;}}
@keyframes wr-drift{0%,100%{transform:translateZ(140px) translate(0,0);}50%{transform:translateZ(140px) translate(8px,-12px);}}
@keyframes wr-orbit{from{transform:rotateY(0deg);}to{transform:rotateY(360deg);}}
@keyframes wr-float-soft{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-14px) rotate(2deg);}}

/* -------------------------------- Nav ----------------------------------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(18px,4vw,46px);
  background:rgba(8,4,12,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(184,33,160,.22);
}
.nav__brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.nav__brand img{height:34px;width:auto;filter:drop-shadow(0 0 8px rgba(184,33,160,.8));}
.nav__brand span{font-family:var(--display);font-size:15px;color:var(--ink);text-transform:uppercase;letter-spacing:.01em;}
.nav__links{display:flex;align-items:center;gap:clamp(14px,2.6vw,30px);}
.nav__link{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,241,234,.72);text-decoration:none;transition:color .2s;}
.nav__link:hover{color:#fff;}

/* Reusable pill buttons */
.btn{font-family:var(--mono);text-transform:uppercase;text-decoration:none;border-radius:999px;font-weight:700;cursor:pointer;border:none;display:inline-block;white-space:nowrap;transition:background .2s,transform .2s,border-color .2s,color .2s,box-shadow .2s;}
.btn--magenta{color:#0b0610;background:var(--magenta);box-shadow:0 8px 22px -8px rgba(184,33,160,.9);}
.btn--magenta:hover{background:var(--magenta-bright);}
.btn--nav{font-size:12px;letter-spacing:.16em;padding:10px 18px;}
.btn--hero{font-size:13px;letter-spacing:.14em;padding:15px 26px;box-shadow:0 12px 30px -8px rgba(184,33,160,.9);}
.btn--hero.btn--magenta:hover{background:var(--magenta-bright);transform:translateY(-2px);}
.btn--ghost{font-size:13px;letter-spacing:.14em;padding:15px 26px;color:var(--ink);background:transparent;border:1px solid rgba(244,241,234,.28);}
.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan);}

/* -------------------------------- Hero ---------------------------------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px clamp(18px,5vw,80px) 70px;overflow:hidden;}
.hero__bg{position:absolute;inset:0;background:radial-gradient(110% 80% at 12% 6%,#1d0a28 0%,#0c0612 46%,#070309 100%);}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(184,33,160,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(184,33,160,.07) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 40%,transparent 100%);}
.hero__scan{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 4px);background-size:100% 4px;animation:wr-scan 9s linear infinite;opacity:.5;mix-blend-mode:overlay;pointer-events:none;}
.hero__inner{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:40px;width:100%;max-width:1280px;margin:0 auto;}
.hero__text{flex:1 1 460px;min-width:300px;}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.26em;color:var(--magenta);text-transform:uppercase;border:1px solid rgba(184,33,160,.4);padding:7px 14px;border-radius:999px;margin-bottom:24px;}
.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:wr-blink 1.5s steps(1) infinite;}

.hero__title{margin:0;font-family:var(--display);font-size:clamp(42px,7.2vw,104px);line-height:.9;text-transform:uppercase;letter-spacing:-.01em;}
.hero__title-line{color:var(--ink);}
.hero__title-grad{position:relative;display:inline-block;background:linear-gradient(100deg,#b821a0,#ff5ad4 40%,#00f6e6 75%,#f4d300);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wr-sheen 5s ease-in-out infinite;}
.hero__title-dot{display:inline-block;animation:wr-glitch 5s steps(1) infinite;color:var(--magenta);}
.hero__lead{margin:26px 0 0;max-width:46ch;font-size:clamp(15px,1.7vw,18px);line-height:1.6;color:rgba(244,241,234,.74);text-wrap:pretty;}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}

.stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:42px;}
.stat{display:flex;flex-direction:column;gap:2px;}
.stat__num{font-family:var(--display);font-size:clamp(22px,3vw,30px);color:var(--ink);}
.stat__label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,234,.5);}

/* Hero 3D scene */
.hero__scene-wrap{flex:1 1 380px;min-width:280px;display:flex;align-items:center;justify-content:center;perspective:1100px;}
.scene{position:relative;width:min(440px,80vw);height:min(440px,80vw);transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .1s linear;}
.scene__glow{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%) translateZ(-60px);background:radial-gradient(circle,rgba(184,33,160,.42),transparent 62%);filter:blur(34px);}
.scene__ring{position:absolute;top:50%;left:50%;width:96%;height:96%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,#b821a0,#00f6e6,#f4d300,#b821a0);border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%,#000 66%,transparent 67%);mask:radial-gradient(circle,transparent 60%,#000 61%,#000 66%,transparent 67%);opacity:.85;animation:wr-spin 14s linear infinite;transform-origin:center;}
.scene__ring--dashed{width:70%;height:70%;background:none;border:1px dashed rgba(0,246,230,.4);-webkit-mask:none;mask:none;opacity:1;border-radius:50%;animation:wr-spin 22s linear infinite reverse;}
.scene__mascot{position:absolute;top:50%;left:50%;width:46%;height:auto;margin:-23% 0 0 -23%;filter:drop-shadow(0 0 30px rgba(184,33,160,.95));animation:wr-float 5.5s ease-in-out infinite;}
.badge{position:absolute;font-family:var(--mono);font-size:11px;letter-spacing:.18em;background:rgba(8,4,12,.7);padding:6px 11px;border-radius:8px;}
.badge--rtp{top:14%;right:8%;color:var(--cyan);border:1px solid rgba(0,246,230,.5);transform:translateZ(140px);animation:wr-drift 6s ease-in-out infinite;}
.badge--win{bottom:16%;left:4%;color:var(--gold);border:1px solid rgba(244,211,0,.5);transform:translateZ(120px);animation:wr-drift 7s ease-in-out infinite reverse;}
.badge--hot{bottom:8%;right:14%;font-family:var(--display);font-size:12px;color:var(--magenta);border:1px solid rgba(184,33,160,.5);transform:translateZ(160px);letter-spacing:normal;}

.orbit{position:absolute;top:50%;left:50%;width:0;height:0;transform-style:preserve-3d;animation:wr-orbit 15s linear infinite;}
.orbit__sym{position:absolute;top:-24px;left:-24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);}
.orbit__sym--1{font-size:19px;color:#3a2a00;background:radial-gradient(circle at 34% 30%,#fff2ad,#f4d300 46%,#a9760a);box-shadow:0 0 18px rgba(244,211,0,.75);transform:rotateY(0deg) translateZ(182px);}
.orbit__sym--2{font-size:17px;color:#2a0024;background:radial-gradient(circle at 34% 30%,#ffaee6,#b821a0 50%,#5e0d52);box-shadow:0 0 18px rgba(184,33,160,.8);transform:rotateY(90deg) translateZ(182px);}
.orbit__sym--3{font-size:18px;color:#3a2a00;background:radial-gradient(circle at 34% 30%,#fff2ad,#f4d300 46%,#a9760a);box-shadow:0 0 18px rgba(244,211,0,.75);transform:rotateY(180deg) translateZ(182px);}
.orbit__sym--4{font-size:16px;color:#00312e;background:radial-gradient(circle at 34% 30%,#b6fff7,#00f6e6 50%,#067a72);box-shadow:0 0 18px rgba(0,246,230,.7);transform:rotateY(270deg) translateZ(182px);}

.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(244,241,234,.4);text-decoration:none;}

/* ------------------------------ Marquee --------------------------------- */
.marquee{background:var(--magenta);border-top:2px solid #0b0610;border-bottom:2px solid #0b0610;padding:13px 0;overflow:hidden;white-space:nowrap;position:relative;}
.marquee__track{display:inline-flex;gap:0;animation:wr-marquee 26s linear infinite;will-change:transform;}
.marquee__group{font-family:var(--display);font-size:18px;color:#0b0610;text-transform:uppercase;}

/* ------------------------------ Careers --------------------------------- */
.careers{position:relative;padding:clamp(70px,10vw,130px) clamp(18px,5vw,80px);background:radial-gradient(120% 90% at 85% 0%,#160820 0%,#0b0610 55%);}
.careers__inner{max-width:1100px;margin:0 auto;}
.careers__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:46px;}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:14px;}
.kicker--cyan{color:var(--cyan);}
.kicker--ink{color:#0b0610;}
.section-title{margin:0;font-family:var(--display);line-height:.94;text-transform:uppercase;color:var(--ink);transform-origin:left center;transition:transform .12s linear;}
.careers__title{font-size:clamp(30px,5.4vw,62px);}
.careers__title span{color:var(--magenta);}
.careers__blurb{margin:0;max-width:36ch;font-size:15px;line-height:1.6;color:rgba(244,241,234,.66);text-wrap:pretty;}

.roles{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(244,241,234,.12);perspective:1200px;}
.role{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:24px 8px;border-bottom:1px solid rgba(244,241,234,.12);text-decoration:none;transform-style:preserve-3d;transition:background .25s,padding .25s,transform .25s,box-shadow .25s;}
.role:hover{background:rgba(184,33,160,.12);padding-left:20px;padding-right:20px;transform:translateZ(38px) rotateX(6deg);box-shadow:0 24px 40px -20px rgba(184,33,160,.7);}
.role__title{flex:1 1 280px;font-family:var(--body);font-weight:800;font-size:clamp(19px,2.4vw,27px);color:var(--ink);}
.role__team{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);border:1px solid rgba(184,33,160,.4);padding:5px 11px;border-radius:999px;}
.role__place{font-family:var(--mono);font-size:12px;color:rgba(244,241,234,.55);min-width:130px;}
.role__arrow{font-family:var(--display);font-size:18px;color:var(--cyan);}
.careers__foot{margin:30px 0 0;font-family:var(--mono);font-size:12.5px;color:rgba(244,241,234,.5);}
.careers__foot a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(0,246,230,.4);}

/* ------------------------------ Contact --------------------------------- */
.contact{position:relative;padding:clamp(70px,10vw,130px) clamp(18px,5vw,80px);overflow:hidden;}
.contact__bg{position:absolute;inset:0;background:linear-gradient(160deg,#b821a0 0%,#7a116a 50%,#2a0726 100%);}
.contact__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.18) 1px,transparent 1px);background-size:18px 18px;opacity:.6;}
.contact__inner{position:relative;z-index:2;max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:48px;}
.contact__intro{flex:1 1 320px;min-width:280px;perspective:900px;}
.contact__title{font-size:clamp(32px,5.6vw,66px);line-height:.92;color:#0b0610;}
.contact__lead{margin:22px 0 30px;max-width:34ch;font-size:15px;line-height:1.6;color:rgba(11,6,16,.78);text-wrap:pretty;}
.contact__meta{display:flex;flex-direction:column;gap:14px;font-family:var(--mono);font-size:14px;color:#0b0610;font-weight:700;}
.contact__meta-row{display:flex;gap:10px;align-items:center;text-decoration:none;color:#0b0610;transition:color .2s;}
.contact__meta-row a{color:inherit;text-decoration:none;}
.meta-link:hover{color:#fff;}
.contact__meta-key{font-size:10px;letter-spacing:.2em;width:60px;font-weight:400;opacity:.65;}

.form-wrap{flex:1 1 360px;min-width:280px;perspective:1100px;}
.form-tilt{transform-style:preserve-3d;transform:rotateX(var(--frx,0deg)) rotateY(var(--fry,0deg));transition:transform .18s ease;}
.form{background:rgba(11,6,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(11,6,16,.4);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:16px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field__label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,234,.6);}
.field__label .opt{opacity:.5;text-transform:none;letter-spacing:.05em;}
.field input,.field textarea{font-family:var(--mono);font-size:14px;color:var(--ink);background:#15101c;border:1px solid rgba(244,241,234,.14);border-radius:8px;padding:12px 13px;outline:none;width:100%;transition:border-color .18s,box-shadow .18s;}
.field textarea{resize:vertical;min-height:84px;}
.field input:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,246,230,.2);}
.field input::placeholder,.field textarea::placeholder{color:rgba(244,241,234,.38);}
.form__submit{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#0b0610;background:var(--cyan);border:none;padding:15px;border-radius:999px;cursor:pointer;box-shadow:0 10px 26px -8px rgba(0,246,230,.7);transition:background .2s;}
.form__submit:hover{background:var(--cyan-bright);}
.form__submit:disabled{opacity:.6;cursor:progress;}
.form__error{font-family:var(--mono);font-size:12px;color:#ffd7f2;margin:0;min-height:0;}

/* Success card (revealed after submit) */
.form-success{background:#0b0610;border-radius:16px;padding:40px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:340px;justify-content:center;}
.form-success img{width:60px;height:auto;filter:drop-shadow(0 0 20px rgba(184,33,160,.9));animation:wr-float-soft 5s ease-in-out infinite;}
.form-success h3{margin:6px 0 0;font-family:var(--display);font-size:26px;color:var(--ink);text-transform:uppercase;}
.form-success p{margin:0;font-family:var(--mono);font-size:13px;line-height:1.7;color:rgba(244,241,234,.7);}
.form-success p span{color:var(--cyan);}
.form-success button{margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#0b0610;background:var(--magenta);border:none;padding:11px 20px;border-radius:999px;cursor:pointer;font-weight:700;transition:background .2s;}
.form-success button:hover{background:var(--magenta-bright);}
.is-hidden{display:none !important;}

/* ------------------------------- Footer --------------------------------- */
.footer{background:var(--bg-deep);padding:50px clamp(18px,5vw,80px) 40px;border-top:1px solid rgba(184,33,160,.2);}
.footer__top{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;}
.footer__brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.footer__brand img{width:150px;height:auto;filter:drop-shadow(0 0 10px rgba(184,33,160,.8));}
.footer__brand span{font-family:var(--display);font-size:16px;color:var(--ink);text-transform:uppercase;}
.footer__links{display:flex;gap:22px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.footer__links a{color:rgba(244,241,234,.6);text-decoration:none;transition:color .2s;}
.footer__links a:hover{color:#fff;}
.footer__legal{max-width:1100px;margin:28px auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11px;color:rgba(244,241,234,.36);}

/* --------------------------- Responsive --------------------------------- */
@media (max-width:640px){
  .hero{padding-top:104px;}
  .hero__scene-wrap{order:2;}
  .stats{gap:20px;}
  .contact__inner{gap:32px;}
  .footer__top{flex-direction:column;align-items:flex-start;}
}

/* --------------------------- Reduced motion ----------------------------- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .hero__title-grad{color:var(--magenta);-webkit-text-fill-color:currentColor;}
  .marquee__track{animation:none;transform:translateX(0);}
}
