/* Free City RP - game page. Gold, black and white. */
:root{
  --black:#0a0a0a;--ink:#111111;--ink2:#171717;--line:rgba(255,255,255,.09);
  --white:#ffffff;--mut:#a3a3a3;--mut2:#737373;
  --gold:#d4a73a;--gold-hi:#f6dc8a;--gold-lo:#9a6f12;
  --goldgrad:linear-gradient(135deg,#fbe7a1 0%,#e2b553 38%,#b8862a 62%,#f3d27a 100%);
  --ease:cubic-bezier(.2,.7,.1,1);
  --disp:"Barlow Condensed","Arial Narrow",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{margin:0;background:var(--black);color:var(--white);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em{font-style:normal;background:var(--goldgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
::selection{background:var(--gold);color:#000}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(16px,4vw,56px);transition:padding .35s var(--ease),background .35s,border-color .35s;border-bottom:1px solid transparent}
.nav.solid{padding-top:12px;padding-bottom:12px;background:rgba(10,10,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.brand{display:flex;align-items:center;gap:10px;font:800 24px var(--disp);letter-spacing:.06em}
.brand img{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 1px rgba(212,167,58,.5)}
.brand b{color:var(--gold)}
.nav nav{display:flex;align-items:center;gap:6px}
.nav nav a{padding:8px 14px;font-weight:600;font-size:14px;color:#d4d4d4;position:relative;transition:color .2s}
.nav nav a:not(.nav-cta):after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav nav a:hover{color:#fff}
.nav nav a:hover:after{transform:scaleX(1)}
.nav-cta{border:1px solid rgba(212,167,58,.6);border-radius:999px;color:var(--gold-hi)!important;margin-left:6px;transition:background .25s,color .25s!important}
.nav-cta:hover{background:var(--gold);color:#000!important}
@media(max-width:720px){.nav nav a:not(.nav-cta){display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:-4%;background:center/cover no-repeat;transform:scale(1.08);animation:kb 22s ease-in-out infinite alternate;z-index:-3;filter:saturate(.85)}
@keyframes kb{to{transform:scale(1.18) translate3d(-1.5%,-1%,0)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse at 50% 42%,rgba(10,10,10,.35) 0%,rgba(10,10,10,.82) 62%,#0a0a0a 100%),
  linear-gradient(180deg,rgba(10,10,10,.55),rgba(10,10,10,0) 30%,rgba(10,10,10,0) 70%,#0a0a0a)}
.sparks{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.hero-in{padding:120px 20px 110px;max-width:900px}
.hero-logo{width:clamp(96px,12vw,132px);margin:0 auto 22px;border-radius:50%;box-shadow:0 0 0 2px rgba(212,167,58,.55),0 0 60px rgba(212,167,58,.25),0 24px 60px rgba(0,0,0,.7);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.eyebrow{font:700 13px Inter,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.title{font:900 clamp(78px,17vw,210px)/.82 var(--disp);letter-spacing:.01em;margin:0 0 22px;display:flex;justify-content:center;gap:.18em;flex-wrap:wrap}
.title .w{display:inline-block}
.title .gold{background:linear-gradient(110deg,#a8791d 0%,#f6dc8a 22%,#d4a73a 40%,#fff3c4 50%,#d4a73a 60%,#b8862a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 30px rgba(212,167,58,.25))}
.title .gold.r{animation:rise .9s var(--ease) var(--d,0s) forwards,sheen 6s linear 1.2s infinite}
@keyframes sheen{from{background-position:100% 0}to{background-position:-150% 0}}
.lead{font-size:clamp(16px,2vw,19px);color:#d6d6d6;max-width:600px;margin:0 auto 34px}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* buttons */
.btn-gold{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:17px 34px;border-radius:999px;background:var(--goldgrad);color:#120d02;font:800 19px var(--disp);letter-spacing:.12em;text-transform:uppercase;overflow:hidden;box-shadow:0 10px 40px rgba(212,167,58,.32),inset 0 1px 0 rgba(255,255,255,.6);transition:box-shadow .3s,transform .2s var(--ease)}
.btn-gold span{position:relative;z-index:1}
.btn-gold i{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);transform:translateX(-120%);animation:shine 3.4s ease-in-out infinite}
@keyframes shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-gold:hover{box-shadow:0 16px 60px rgba(212,167,58,.5),inset 0 1px 0 rgba(255,255,255,.6)}
.btn-line{display:inline-flex;align-items:center;padding:16px 30px;border-radius:999px;border:1px solid rgba(255,255,255,.35);font:700 18px var(--disp);letter-spacing:.12em;text-transform:uppercase;transition:border-color .25s,background .25s,color .25s}
.btn-line:hover{border-color:var(--white);background:var(--white);color:#000}

.scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:26px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:14px}
.scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--gold);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* entrance (hero) */
.r{opacity:0;transform:translateY(24px);animation:rise .9s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes rise{to{opacity:1;transform:none}}
.title .w.r{transform:translateY(60px) rotateX(-40deg);transform-origin:bottom}

/* ---------- marquee ---------- */
.marquee{background:var(--goldgrad);color:#100b01;overflow:hidden;border-block:1px solid var(--gold-lo);transform:rotate(-1.2deg) scale(1.02);margin:-10px 0 0;position:relative;z-index:2;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.track{display:flex;width:max-content;animation:mq 34s linear infinite}
.marquee span{font:800 22px var(--disp);letter-spacing:.18em;text-transform:uppercase;padding:14px 22px;white-space:nowrap}
.marquee b{display:flex;align-items:center;font-size:14px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding:clamp(80px,11vw,140px) clamp(16px,5vw,64px);max-width:1320px;margin:0 auto}
.head{text-align:center;margin-bottom:48px}
h2{font:800 clamp(42px,6.5vw,82px)/.95 var(--disp);text-transform:uppercase;margin:0;letter-spacing:.01em}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}

/* ---------- panels ---------- */
.panels{display:flex;gap:12px;height:clamp(440px,62vh,580px)}
.panel{position:relative;flex:1;min-width:0;border-radius:22px;overflow:hidden;cursor:pointer;background:#000 var(--img) center/cover no-repeat;border:1px solid var(--line);transition:flex .7s var(--ease),border-color .4s;outline:none}
.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.95) 10%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.25));transition:background .5s}
.panel:after{content:"";position:absolute;inset:0;background:inherit;background-size:cover;filter:grayscale(1) brightness(.55);transition:opacity .6s;z-index:0;opacity:1}
.panel>*{position:relative;z-index:2}
.panel.active{flex:4.2;border-color:rgba(212,167,58,.55)}
.panel.active:after{opacity:0}
.panel:focus-visible{border-color:var(--gold)}
.p-num{position:absolute;top:22px;left:24px;font:800 18px var(--disp);color:var(--gold);letter-spacing:.1em}
.p-label{position:absolute;left:50%;bottom:34px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font:800 22px var(--disp);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:opacity .3s}
.panel.active .p-label{opacity:0}
.p-body{position:absolute;left:0;right:0;bottom:0;padding:34px;max-width:560px;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}
.panel.active .p-body{opacity:1;transform:none;transition-delay:.25s}
.p-body h3{font:800 clamp(38px,4vw,56px)/1 var(--disp);text-transform:uppercase;margin:0 0 10px}
.p-body p{color:#d4d4d4;margin:0 0 16px}
.p-body ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.p-body li{font:600 12px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid rgba(212,167,58,.5);border-radius:999px;color:var(--gold-hi);background:rgba(0,0,0,.35)}
@media(max-width:820px){
  .panels{flex-direction:column;height:auto}
  .panel{flex:none;height:96px;transition:height .7s var(--ease),border-color .4s}
  .panel.active{flex:none;height:440px}
  .p-label{writing-mode:horizontal-tb;transform:translate(-50%,0);left:50%;bottom:auto;top:34px}
  .p-body{padding:24px}
}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:linear-gradient(180deg,#0d0d0d,#0a0a0a)}
.stat{padding:48px 24px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .n{font:900 clamp(56px,7vw,92px)/1 var(--disp);background:var(--goldgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .l{color:var(--mut);font-size:14px;margin-top:8px;letter-spacing:.04em}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ---------- split / tilt ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.tilt{position:relative;border-radius:26px;transform-style:preserve-3d;transition:transform .2s ease-out;perspective:1000px}
.tilt img{width:100%;border-radius:26px;border:1px solid rgba(212,167,58,.35);box-shadow:0 40px 100px rgba(0,0,0,.7)}
.tilt-glare{position:absolute;inset:0;border-radius:26px;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,236,170,.22),transparent 45%);opacity:0;transition:opacity .3s}
.tilt:hover .tilt-glare{opacity:1}
.badge-float{position:absolute;right:-18px;bottom:28px;padding:14px 20px;border-radius:16px;background:rgba(10,10,10,.85);backdrop-filter:blur(10px);border:1px solid rgba(212,167,58,.5);transform:translateZ(60px);animation:float 5s ease-in-out infinite}
.badge-float b{display:block;font:800 22px var(--disp);color:var(--gold-hi);letter-spacing:.06em;text-transform:uppercase}
.badge-float span{font-size:13px;color:var(--mut)}
.copy h2{margin-bottom:34px}
.feats{display:grid;gap:12px}
.feat{display:flex;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:var(--ink);transition:border-color .3s,transform .3s var(--ease),background .3s}
.feat:hover{border-color:rgba(212,167,58,.5);transform:translateX(6px);background:#141414}
.feat svg{flex:none;width:42px;height:42px;padding:9px;border-radius:12px;background:rgba(212,167,58,.1);fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.feat h4{margin:0 0 3px;font:700 20px var(--disp);letter-spacing:.06em;text-transform:uppercase}
.feat p{margin:0;color:var(--mut);font-size:15px}
@media(max-width:900px){.split{grid-template-columns:1fr}.badge-float{right:12px}}

/* ---------- steps ---------- */
.start{padding-top:20px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.steps li{position:relative;padding:34px 28px 30px;border-radius:22px;background:linear-gradient(180deg,#141414,#0e0e0e);border:1px solid var(--line);overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.steps li:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--goldgrad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.steps li:hover{transform:translateY(-6px);border-color:rgba(212,167,58,.4)}
.steps li:hover:before{transform:scaleX(1)}
.steps span{display:block;font:900 64px/1 var(--disp);color:transparent;-webkit-text-stroke:1px rgba(212,167,58,.7);margin-bottom:14px}
.steps h4{font:800 26px var(--disp);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.steps p{margin:0;color:var(--mut)}
@media(max-width:900px){.steps{grid-template-columns:1fr}}

/* ---------- final ---------- */
.final{position:relative;margin:40px clamp(16px,5vw,64px) 0;border-radius:30px;overflow:hidden;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;background:#000 var(--img) center 30%/cover no-repeat;border:1px solid rgba(212,167,58,.35)}
.final:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,10,10,.55),rgba(10,10,10,.92))}
.final-in{position:relative;padding:60px 20px}
.final h2{font-size:clamp(48px,8vw,104px);margin-bottom:14px}
.final p{color:var(--mut);margin:0 0 30px;letter-spacing:.06em}

/* ---------- footer ---------- */
.foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:46px clamp(16px,5vw,64px);margin-top:90px;border-top:1px solid var(--line);color:var(--mut2);font-size:14px}
.foot p{margin:0}
.foot .brand{font-size:20px;color:#fff}
.foot .brand img{width:30px;height:30px}
.staff{color:var(--mut2);transition:color .2s}
.staff:hover{color:var(--gold)}

@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
  .r,.rv{opacity:1!important;transform:none!important}
}
