/* ==========================================================================
   kaifitsyou.com — foglio di stile unico del sito.

   Due colori soli, e sono quelli dell'app: arancio HIIT (#FF6B4A) e blu GYM
   (#3478F6). Tutto il resto è carta e inchiostro. Il sito deve leggersi come
   l'app: calmo, senza urla, senza fitness da palestra urlata.
   ========================================================================== */

@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('/font/inter-latin.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:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('/font/inter-latin-ext.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;
}

:root{
  --hiit:#FF6B4A;
  --hiit-ink:#c9502a;              /* la stessa tinta, leggibile su bianco */
  --hiit-soft:rgba(255,107,74,.10);
  --gym:#3478F6;
  --gym-ink:#2b62dd;
  --gym-soft:rgba(52,120,246,.10);

  --bg:#fbfaf8;
  --card:#ffffff;
  --ink:#14161a;
  --ink-2:#4b5058;
  --tenue:#7c828c;
  --filo:#e6e3dd;
  --r:16px;
  --wrap:1080px;
}

@media (prefers-color-scheme:dark){
  :root{
    --bg:#0e1012;
    --card:#16191d;
    --ink:#f2f3f5;
    --ink-2:#b6bcc4;
    --tenue:#8b929b;
    --filo:#262b31;
    /* Su fondo scuro le versioni scurite di arancio e blu diventerebbero
       fango: tornano vivaci. */
    --hiit-ink:#ff8a6b;
    --gym-ink:#7aa5ff;
    --hiit-soft:rgba(255,107,74,.14);
    --gym-soft:rgba(52,120,246,.14);
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:16px;line-height:1.62;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.18;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(30px,5.2vw,46px);font-weight:800}
h2{font-size:clamp(23px,3.4vw,31px);font-weight:750}
h3{font-size:19px;font-weight:700}
p{margin:0}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.section{padding:64px 22px}
@media (max-width:640px){.section{padding:46px 20px}}

/* ── Testata ─────────────────────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--filo)}
.site-header .wrap{display:flex;align-items:center;gap:16px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.01em}
.brand img{width:28px;height:28px;border-radius:8px}
.head-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{display:flex;gap:2px;border:1px solid var(--filo);border-radius:999px;padding:3px}
.lang a,.lang span{font-size:12.5px;font-weight:650;padding:4px 10px;border-radius:999px;
  text-decoration:none;color:var(--tenue);line-height:1}
.lang a:hover{color:var(--ink)}
.lang [aria-current]{background:var(--ink);color:var(--bg)}

/* ── Apertura ────────────────────────────────────────────────────────── */
.hero{padding:70px 22px 26px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;
  letter-spacing:.10em;text-transform:uppercase;color:var(--hiit-ink);
  background:var(--hiit-soft);border-radius:999px;padding:6px 14px;margin-bottom:18px}
.hero .lead{color:var(--ink-2);max-width:52ch;margin:16px auto 0;font-size:17px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.store-btn{display:inline-flex;flex-direction:column;text-decoration:none;
  background:var(--ink);color:var(--bg);border-radius:12px;padding:9px 20px;
  line-height:1.25;transition:transform .15s ease}
.store-btn small{font-size:11px;opacity:.75}
.store-btn b{font-size:15.5px;font-weight:700}
.store-btn:hover{transform:translateY(-1px)}
.store-btn.soon{background:transparent;color:var(--tenue);border:1px solid var(--filo)}
.store-btn.soon:hover{transform:none}

/* ── Vetrina screenshot ──────────────────────────────────────────────── */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:760px;margin:44px auto 0}
@media (max-width:640px){.trio{grid-template-columns:1fr;max-width:280px;gap:22px}}
.shot{border-radius:20px;overflow:hidden;border:1px solid var(--filo);
  background:var(--card);box-shadow:0 12px 34px rgba(20,22,26,.09)}

/* ── Righe funzione ──────────────────────────────────────────────────── */
.section-head{text-align:center;max-width:56ch;margin:0 auto 46px}
.section-head p{color:var(--ink-2);margin-top:12px}
.label{font-size:12px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  color:var(--tenue);margin-bottom:10px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:64px}
.row:last-child{margin-bottom:0}
.row.flip .row-media{order:2}
@media (max-width:820px){
  .row{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
  .row.flip .row-media{order:0}
}
.row-media{display:flex;justify-content:center;padding:26px;border-radius:var(--r);
  background:var(--tint,var(--hiit-soft))}
.row-media .shot{max-width:250px}
.row-text p{color:var(--ink-2);margin-top:10px;max-width:46ch}
.row-text .label{color:var(--accent,var(--hiit-ink))}

/* ── Tabella gratis / PRO ────────────────────────────────────────────── */
.plans{max-width:720px;margin:0 auto;border:1px solid var(--filo);border-radius:var(--r);
  overflow:hidden;background:var(--card)}
.plans table{width:100%;border-collapse:collapse;font-size:15px}
.plans th,.plans td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--filo)}
.plans tr:last-child th,.plans tr:last-child td{border-bottom:0}
.plans thead th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);font-weight:700}
.plans td{text-align:center;width:22%;color:var(--ink-2)}
.plans th{font-weight:550;color:var(--ink)}
.plans .yes{color:var(--gym-ink);font-weight:700}
.note{max-width:720px;margin:18px auto 0;font-size:14.5px;color:var(--tenue);text-align:center}

/* ── Riquadri documenti ──────────────────────────────────────────────── */
.docs{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:0 auto}
@media (max-width:640px){.docs{grid-template-columns:1fr}}
.doc{display:block;text-decoration:none;border:1px solid var(--filo);border-radius:var(--r);
  padding:22px;background:var(--card);transition:border-color .15s ease,transform .15s ease}
.doc:hover{border-color:var(--ink);transform:translateY(-2px)}
.doc h3{margin-bottom:6px}
.doc p{font-size:14.5px;color:var(--ink-2)}

/* ── Avvertenza ──────────────────────────────────────────────────────── */
.caution{max-width:720px;margin:0 auto;border-left:3px solid var(--hiit);
  background:var(--hiit-soft);border-radius:0 var(--r) var(--r) 0;padding:20px 24px}
.caution p{font-size:15px;color:var(--ink-2)}
.caution .label{color:var(--hiit-ink)}

/* ── Pagine legali ───────────────────────────────────────────────────── */
.legal{max-width:74ch;margin:0 auto;padding:44px 22px 80px}
.legal h1{font-size:clamp(26px,4vw,36px);margin-bottom:6px}
.legal h2{font-size:20px;margin:38px 0 12px;padding-top:10px;border-top:1px solid var(--filo)}
.legal h3{font-size:16.5px;margin:24px 0 8px}
.legal p,.legal li{color:var(--ink-2);margin:0 0 12px}
.legal ul{padding-left:22px;margin:0 0 16px}
.legal li{margin-bottom:6px}
.legal a{color:var(--gym-ink)}
.legal strong{color:var(--ink);font-weight:650}
.legal .stamp{font-size:14px;color:var(--tenue);margin-bottom:30px}
.legal hr{border:0;border-top:1px solid var(--filo);margin:56px 0}
.back{display:inline-block;font-size:14px;color:var(--tenue);text-decoration:none;margin-bottom:26px}
.back:hover{color:var(--ink)}

/* ── Chiusura ────────────────────────────────────────────────────────── */
.site-footer{border-top:1px solid var(--filo);padding:32px 22px;margin-top:20px}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;
  font-size:14px;color:var(--tenue)}
.site-footer a{text-decoration:none;color:var(--ink-2)}
.site-footer a:hover{color:var(--ink)}
.site-footer .sep{margin-left:auto}

/* ── Comparsa graduale ───────────────────────────────────────────────────
   Nasconde solo sotto `html.js`, cioè solo se il JavaScript ha girato: senza,
   la classe non c'è e tutta la pagina resta visibile. Altrimenti un errore di
   script o il JavaScript disattivato lascerebbero il sito vuoto sotto il
   titolo — e non se ne accorgerebbe nessuno finché non capita a un utente. */
@media (prefers-reduced-motion:no-preference){
  html.js .fade{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  html.js .fade.on{opacity:1;transform:none}
}
