/* FocusGrid site — palette lifted straight from the app's Midnight theme. */
:root{
  --bg:#0F0F14; --surface:#17171F; --surface-2:#1F1F29; --border:#2B2B37;
  --text:#ECEAF2; --text-2:#B7B2C6; --text-3:#8E88A1;
  --p:#7C3AED; --p-bright:#955FF0; --p-soft:#D2BBFF; --p-tint:rgba(124,58,237,.16);
  --disp:'Hanken Grotesk',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--body);
  -webkit-font-smoothing:antialiased;line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--p-soft)}

/* header */
header{padding:28px 0;position:sticky;top:0;background:rgba(15,15,20,.86);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:10}
.bar{display:flex;align-items:center;gap:12px}
.logo{width:34px;height:34px;border-radius:10px;background:var(--p-tint);
  display:grid;place-items:center}
.logo span{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.logo i{width:6px;height:6px;border-radius:2px;background:var(--p-soft);display:block}
.brand{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.01em}
.bar nav{margin-left:auto;display:flex;gap:22px;font-size:14px}
.bar nav a{color:var(--text-2);text-decoration:none}
.bar nav a:hover{color:var(--text)}

/* hero */
.hero{padding:76px 0 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-family:var(--disp);font-size:56px;line-height:1.05;letter-spacing:-.03em;font-weight:800}
.hero p.lede{color:var(--text-2);font-size:17px;margin-top:18px;max-width:46ch}
.badges{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--p);color:#fff;
  font-family:var(--disp);font-weight:700;font-size:15px;padding:13px 20px;border-radius:14px;text-decoration:none}
.badge.ghost{background:var(--surface-2);color:var(--text)}
.hero .shot{justify-self:center}
.shot img{width:100%;max-width:300px;border-radius:26px;border:1px solid var(--border);display:block}

/* grid strip */
.strip{display:grid;grid-template-columns:repeat(22,1fr);gap:4px;margin:8px 0 56px}
.strip i{aspect-ratio:1.7;border-radius:3px;background:#1A1A22;display:block}

/* features */
section{padding:56px 0}
h2{font-family:var(--disp);font-size:30px;letter-spacing:-.02em;font-weight:800}
.sub{color:var(--text-2);margin-top:10px;max-width:56ch}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px}
.card h3{font-family:var(--disp);font-size:17px;font-weight:700;margin-bottom:8px}
.card p{color:var(--text-2);font-size:14.5px}
.tile{width:34px;height:34px;border-radius:10px;background:var(--p-tint);color:var(--p-soft);
  display:grid;place-items:center;margin-bottom:14px;font-size:16px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
.gallery figure{margin:0}
.gallery img{width:100%;border-radius:18px;border:1px solid var(--border);display:block}
.gallery figcaption{color:var(--text-3);font-family:var(--mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;margin-top:10px;text-align:center}

/* legal pages */
.doc{padding:56px 0 96px;max-width:760px}
.doc h1{font-family:var(--disp);font-size:38px;letter-spacing:-.02em;font-weight:800}
.doc h2{font-size:21px;margin-top:38px}
.doc h3{font-family:var(--disp);font-size:17px;margin-top:26px}
.doc p,.doc li{color:var(--text-2);margin-top:12px}
.doc ul{margin-left:20px}
.doc .meta{color:var(--text-3);font-family:var(--mono);font-size:12px;margin-top:10px}
.doc table{width:100%;border-collapse:collapse;margin-top:18px;font-size:14.5px}
.doc th,.doc td{border:1px solid var(--border);padding:10px 12px;text-align:left;color:var(--text-2)}
.doc th{color:var(--text);font-family:var(--disp)}

footer{border-top:1px solid var(--border);padding:32px 0 56px;color:var(--text-3);font-size:14px}
footer a{color:var(--text-2);text-decoration:none;margin-right:18px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:48px;gap:36px}
  .hero h1{font-size:40px}
  .cards{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .strip{grid-template-columns:repeat(12,1fr)}
}
