/* Shared styles for the free facial-analysis tools (hub + flagship + per-tool). */
:root{
  --obsidian:#070708; --panel:#0f0f12; --panel2:#141418; --gold:#c0c0c0;
  --ink:#f4f1ea; --dim:#9b988f; --faint:#5c5a54; --line:rgba(255,255,255,0.10);
  --good:#7fae8e;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--obsidian);color:var(--ink);
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line)}
.nav__brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase}
.nav__brand b{font-weight:600}
.nav__cta{color:var(--gold);text-decoration:none;font-size:0.74rem;letter-spacing:0.06em}
.wrap{max-width:860px;margin:0 auto;padding:48px 22px 80px}
.wrap--hub{max-width:1040px}
.eyebrow{font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:2.8rem;line-height:1.1;margin:0 0 16px}
.sub{color:var(--dim);font-size:1.02rem;max-width:600px;margin:0 0 14px}
.privacy{display:inline-flex;align-items:center;gap:8px;font-size:0.8rem;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:8px 16px;margin:8px 0 34px}
.privacy b{color:var(--ink);font-weight:500}
.drop{border:1px dashed rgba(255,255,255,0.35);border-radius:16px;background:var(--panel);padding:44px 24px;text-align:center}
.drop p{color:var(--dim);margin:10px 0 0;font-size:0.9rem}
input[type=file]{display:none}
.btn{display:inline-block;cursor:pointer;border:none;font-family:inherit;font-weight:600;
  background:linear-gradient(135deg,var(--mc-silver-bright,#e8e8e8),var(--mc-silver-mid,#c0c0c0));color:var(--mc-black,#070708);padding:15px 30px;border-radius:999px;font-size:1rem;text-decoration:none}
.btn--ghost{background:none;border:1px solid var(--line);color:var(--ink);font-weight:400}
.stage{display:none;margin-top:28px}
.stage.show{display:block}
.canvas-wrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;max-width:460px;margin:0 auto}
canvas{display:block;width:100%;height:auto}
.loading{color:var(--gold);text-align:center;padding:30px;font-size:0.9rem;letter-spacing:0.04em}
.err{color:#d98b7d;text-align:center;padding:16px;font-size:0.9rem}
.hero-score{text-align:center;margin:34px 0 10px}
.hero-score__num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:5.2rem;line-height:1;color:var(--gold)}
.hero-score__label{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.hero-score__sub{color:var(--dim);font-size:0.95rem;margin-top:10px;max-width:520px;margin-left:auto;margin-right:auto}
.grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:26px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.card__k{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.card__v{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--ink);margin:0}
.card__sub{color:var(--dim);font-size:0.86rem;margin:6px 0 0}
.bar{height:6px;border-radius:3px;background:rgba(255,255,255,0.08);margin:10px 0 0;overflow:hidden}
.bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--mc-silver-bright,#e8e8e8),var(--mc-silver-mid,#c0c0c0))}
.rows{margin-top:6px}
.rows > div{display:flex;justify-content:space-between;font-size:0.86rem;color:var(--dim);padding:3px 0}
.rows b{color:var(--ink);font-weight:500}
.cta{margin-top:40px;text-align:center;background:var(--panel2);border:1px solid rgba(255,255,255,0.25);border-radius:16px;padding:34px 24px}
.cta h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.9rem;margin:0 0 10px}
.cta p{color:var(--dim);font-size:0.95rem;margin:0 0 22px;max-width:480px;margin-left:auto;margin-right:auto}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.foot{text-align:center;color:var(--gold);letter-spacing:0.18em;font-size:0.7rem;margin-top:50px}
.disclaimer{color:var(--faint);font-size:0.74rem;text-align:center;margin-top:14px;line-height:1.6}
.prose{margin-top:48px;border-top:1px solid var(--line);padding-top:34px}
.prose h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.6rem;margin:0 0 12px}
.prose p{color:var(--dim);font-size:0.95rem;margin:0 0 16px}
/* 9 tool cards lay out symmetrically: 1 col (mobile) → 2 (tablet) → 3×3 (desktop).
   The hub uses .wrap--hub (wider) so the 3-up grid has room to breathe. */
.tool-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px}
@media(min-width:560px){.tool-grid{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.tool-grid{grid-template-columns:repeat(3,1fr)}}
.tool-link{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;transition:border-color .2s}
.tool-link:hover{border-color:rgba(255,255,255,0.4)}
.tool-link h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.45rem;color:var(--ink);margin:0 0 6px}
.tool-link p{color:var(--dim);font-size:0.88rem;margin:0}
.tool-link .soon{color:var(--faint);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase}
