/* JoyMotion — yhteinen tyyli
   =========================================================================
   Visuaalinen lähtökohta on Player Report, ei uusi identiteetti:
   musta pohja, neon-lime aksentti, valkoinen pääteksti, harmaa toissijainen.

   YKSI TIEDOSTO, EI KÄÄNNÖSVAIHETTA. Sivusto on staattista HTML/CSS:ää.
   Sen ainoa riippuvuus on selain — julkaisukelpoisuus ei saa riippua siitä
   että jokin työkaluketju kääntyy vielä vuoden päästä.

   ⚠️ FONTIT OVAT JÄRJESTELMÄFONTTEJA. Raportissa on Anton + Barlow, ja sama
   pari kannattaa myöhemmin tarjoilla OMALTA palvelimelta woff2:na. Ulkoinen
   fonttilataus siirtäisi jokaisen kävijän IP-osoitteen kolmannelle
   osapuolelle — kiusallinen yksityiskohta sivustolla, joka tarjoilee
   tietosuojaselosteen. Sisällön turvallisuuskäytäntö (CSP) estää sen
   muutenkin.
   ========================================================================= */

:root{
  --bg:#050505;
  --surface:#0e0e0e;
  --surface-2:#141414;
  --border:#1f1f1f;
  --lime:#c8f000;
  --text:#ffffff;
  --muted:#8a8a8a;
  --dim:#5a5a5a;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* ── Ylätunniste ─────────────────────────────────────────────────────────── */
header{padding:22px 0;border-bottom:1px solid var(--border);position:relative}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{
  font-size:1.25rem;font-weight:800;letter-spacing:.06em;
  text-decoration:none;white-space:nowrap;
}
.logo span{color:var(--lime)}
nav{display:flex;align-items:center;gap:22px}
nav a{
  text-decoration:none;font-size:.86rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
nav a:hover,nav a[aria-current="page"]{color:var(--text)}
.cta{
  display:inline-block;padding:10px 18px;border-radius:4px;
  background:var(--lime);color:#000;text-decoration:none;
  font-weight:800;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;
}
.cta:hover{filter:brightness(1.1)}
.cta.ghost{background:transparent;color:var(--lime);border:1px solid var(--lime)}
.cta.ghost:hover{background:var(--lime);color:#000;filter:none}

/* Mobiilissa navigaatio kääntyy riville logon alle. Ei hampurilaisvalikkoa:
   kolme linkkiä mahtuu näkyviin, ja piilotettu valikko olisi yksi painallus
   lisää ilman että mitään säästyy. */
@media(max-width:680px){
  .bar{flex-wrap:wrap;gap:12px}
  nav{order:3;width:100%;gap:16px;flex-wrap:wrap}
  nav a{font-size:.8rem}
}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero{padding:76px 0 60px;border-bottom:1px solid var(--border)}
.hero.tight{padding:56px 0 44px}
h1{
  font-size:clamp(2rem,6vw,4rem);line-height:1.03;font-weight:800;
  letter-spacing:-.02em;text-transform:uppercase;
}
h1.small{font-size:clamp(1.7rem,4.5vw,2.9rem)}
h1 .accent{color:var(--lime);display:block}
.kicker{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--lime);font-weight:800;margin-bottom:12px;
}
.lead{margin-top:22px;max-width:58ch;font-size:clamp(1rem,2.1vw,1.13rem);color:var(--muted)}
.actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}

/* ── Osiot ───────────────────────────────────────────────────────────────── */
section{padding:60px 0;border-bottom:1px solid var(--border)}
section:last-of-type{border-bottom:0}
h2{
  font-size:clamp(1.35rem,3.4vw,2rem);line-height:1.12;font-weight:800;
  letter-spacing:-.01em;text-transform:uppercase;
}
h3{font-size:1.12rem;font-weight:800;text-transform:uppercase;letter-spacing:-.005em}
p{color:var(--muted);max-width:66ch}
p + p{margin-top:14px}
h2 + p,h3 + p{margin-top:14px}
.section-lead{margin-top:16px;font-size:1.02rem}

/* ── Prosessi ────────────────────────────────────────────────────────────── */
.steps{margin-top:34px;display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.steps{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{border-top:2px solid var(--lime);padding-top:16px}
.step .num{font-size:.74rem;letter-spacing:.18em;color:var(--lime);font-weight:800}
.step h3{margin-top:6px;font-size:1rem}
.step p{margin-top:8px;font-size:.9rem}

/* ── Kortit ──────────────────────────────────────────────────────────────── */
.cards{margin-top:34px;display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.cards.two{grid-template-columns:1fr 1fr}}
@media(min-width:760px){.cards.four{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cards.four{grid-template-columns:repeat(4,1fr)}}
.card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:28px 24px;
}
.card.accent{border-color:#2e3a00}
.card h3{margin-top:10px}
.card p{margin-top:12px;font-size:.94rem}
.card .link{
  display:inline-block;margin-top:20px;color:var(--lime);text-decoration:none;
  font-weight:800;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;
}
.card .link:hover{text-decoration:underline}

ul.ticks{margin-top:18px;list-style:none;display:grid;gap:8px}
ul.ticks li{color:var(--muted);font-size:.92rem;padding-left:18px;position:relative}
ul.ticks li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:6px;height:6px;background:var(--lime);border-radius:1px;
}

/* ── Hinta ───────────────────────────────────────────────────────────────── */
.price{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:14px}
.price small{font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:.06em;display:block;margin-top:8px;text-transform:uppercase}

/* ── Taulukko ────────────────────────────────────────────────────────────── */
.table-scroll{overflow-x:auto;margin-top:24px;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}
th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--border)}
th{
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lime);font-weight:800;
}
td{color:var(--muted)}
td strong{color:var(--text);font-weight:700}

/* ── Raporttiesimerkki ───────────────────────────────────────────────────── */
/* Kuva saa PIENENTYÄ mutta sitä ei rajata: raportin idea on että kaikki
   mahtuu yhdelle sivulle, ja rajattu kuva kertoisi päinvastaista. */
.report-preview{margin-top:32px;max-width:620px}
.report-preview img{
  display:block;width:100%;height:auto;border-radius:8px;
  border:1px solid var(--border);
}
.report-preview .caption{
  margin-top:12px;font-size:.84rem;color:var(--dim);max-width:none;
}
.report-preview .caption a{color:var(--lime);text-decoration:none;font-weight:700}
.report-preview .caption a:hover{text-decoration:underline}

/* ── Huomiolaatikko ──────────────────────────────────────────────────────── */
.note{
  margin-top:26px;padding:20px 22px;border-radius:10px;
  background:var(--surface-2);border:1px solid var(--border);
}
.note.warn{border-color:#463200;background:#161200}
.note h3{font-size:.95rem}
.note p{margin-top:10px;font-size:.92rem}
.note p:first-child{margin-top:0}

.tag{
  display:inline-block;padding:3px 9px;border-radius:3px;
  background:var(--surface-2);border:1px solid var(--border);
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:800;color:var(--muted);vertical-align:middle;margin-left:8px;
}

/* ── Lakisivut ───────────────────────────────────────────────────────────── */
.legal-body h2{
  font-size:1.05rem;margin-top:40px;padding-top:22px;
  border-top:1px solid var(--border);
}
.legal-body h2:first-of-type{border-top:0;padding-top:0;margin-top:26px}
.legal-body p,.legal-body li{font-size:.96rem}
.legal-body ul{margin-top:14px;padding-left:20px}
.legal-body li{color:var(--muted);margin-top:6px}
.meta{color:var(--dim);font-size:.84rem;margin-top:10px}

/* ── Alatunniste ─────────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--border);padding:40px 0 56px}
.tagline{color:var(--muted);font-size:.9rem;margin-top:10px}
.foot-links{
  margin-top:26px;padding-top:22px;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.84rem;
}
.foot-links a{color:var(--muted);text-decoration:none}
.foot-links a:hover{color:var(--lime)}
.foot-meta{margin-top:18px;font-size:.82rem;color:var(--muted)}
.copy{margin-top:16px;font-size:.78rem;color:var(--dim)}
