/* Goodlucks Productions site. Layout: one dark column, max 1120px; brand hero, then a "featured release" band that is swapped for each new launch. */
:root{
  --ink:#0A0D0F; --bg:#0A0D0F; --panel:#11181A; --panel-2:#162022; --line:#22302F;
  --fg:#EEF3F1; --muted:#8FA3A0; --teal:#10C2AE; --teal-hi:#2AD6C2; --deep:#0A6E6A; --bone:#F2F5F1;
  --display:"Bungee",Impact,"Arial Black",sans-serif;
  --body:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mil:"Black Ops One",Impact,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:hover{color:var(--teal-hi)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(10,13,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.nav .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.brand svg{width:34px;height:34px;flex:none}
.brand span{font-family:var(--display);font-size:20px;letter-spacing:.01em;line-height:1}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 0 0 auto;padding:0;flex-wrap:wrap}
.nav ul a{color:var(--muted);text-decoration:none;font-weight:500;font-size:15px;padding:8px 12px;border-radius:8px}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--fg);background:var(--panel)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px/1 var(--body);text-decoration:none;padding:14px 22px;border-radius:12px;border:1px solid var(--line);color:var(--fg);background:var(--panel);transition:background .15s,border-color .15s,color .15s}
.btn:hover{border-color:var(--teal);color:var(--fg)}
.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--ink)}
.btn.primary:hover{background:var(--teal-hi);color:var(--ink)}
.btn.small{padding:9px 14px;font-size:14px;border-radius:10px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* type */
.eyebrow{font:600 13px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
h1,h2,h3{text-wrap:balance;margin:0}
.display{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:.005em;text-shadow:4px 4px 0 var(--deep)}
.lead{font-size:19px;color:var(--muted);max-width:56ch;margin:0}
section{padding-block:72px}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:28px}
.sec-head h2{font-size:clamp(28px,4vw,40px)}

/* hero */
.hero{padding-block:72px 56px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(40px,6.4vw,76px);margin:14px 0 20px}
.hero .mark{width:100%;max-width:340px;justify-self:center}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero .mark{max-width:200px;grid-row:1;justify-self:start}}

/* featured */
.featured{background:linear-gradient(180deg,var(--bg),#0C1413 30%,#0C1413 70%,var(--bg));border-block:1px solid var(--line)}
.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
@media (max-width:860px){.feat{grid-template-columns:1fr}}
.chip{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--teal);padding:7px 10px;border-radius:999px}
.feat h2{font-family:var(--mil);font-weight:400;font-size:clamp(48px,8vw,92px);line-height:.95;letter-spacing:.02em;color:#E8B547;margin:16px 0 14px;text-shadow:0 3px 0 #5a3f0a}
.feat p{margin:0 0 14px;color:#C9D6D3;max-width:52ch}
.feat .meta{font-size:14px;color:var(--muted);margin-top:16px}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.shots img{border-radius:16px;border:1px solid var(--line);aspect-ratio:760/820;object-fit:cover;width:100%;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.shots img:nth-child(2){transform:translateY(28px)}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card h3{font-size:22px}
.card p{margin:0;color:var(--muted)}
.card .tag{align-self:flex-start;font:600 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.card .tag.live{border-color:var(--teal);color:var(--teal)}
.card .art{border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:#0E1513}
.card .art img{width:100%;height:100%;object-fit:cover;object-position:top}
.card .art.empty{display:grid;place-items:center;color:var(--muted);font-family:var(--display);font-size:28px;opacity:.6}
.card .grow{flex:1}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
@media (max-width:820px){.about{grid-template-columns:1fr}}
.about p{margin:0 0 14px;color:#C9D6D3}

/* footer */
footer{border-top:1px solid var(--line);padding-block:36px calc(36px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center}
footer a{color:var(--muted)}
footer a:hover{color:var(--fg)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}

/* doc pages */
.doc{max-width:760px}
.doc h1{font-size:clamp(32px,5vw,48px);margin:10px 0 8px}
.doc h2{font-size:22px;margin:36px 0 10px}
.doc p,.doc li{color:#C9D6D3}
.doc .updated{color:var(--muted);font-size:15px}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;padding:14px 16px;color:var(--muted);font-size:15px}

/* warflip page */
.wf{--gold:#E8B547;--olive:#161c14}
.wf-hero{background:radial-gradient(1200px 500px at 70% 10%,#1d2617,transparent),var(--bg);border-bottom:1px solid var(--line)}
.wf-hero .feat h1{font-family:var(--mil);font-weight:400;font-size:clamp(56px,10vw,120px);line-height:.92;color:var(--gold);text-shadow:0 4px 0 #5a3f0a;margin:14px 0 16px}
.ranks{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ranks th,.ranks td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.ranks th{font:600 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ranks td:first-child{font-family:var(--mil);color:#E8B547;font-size:20px;width:70px}
.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;counter-reset:s}
.steps .card h3::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--teal);color:var(--ink);font:700 15px/1 var(--body);margin-right:10px;vertical-align:3px}
