/* KeepIt marketing site — shared styles with SVG logo */
:root{
  --bg:#0D0D0D;
  --panel:#141414;
  --elev:#1B1B1B;
  --line:#2A2A2A;
  --text:#FFFFFF;
  --muted:#A9A9A9;
  --teal:#00D4AA;
  --red:#FF3B3B;
  --accent-red:#FF3B3B; /* for SVG logo usage */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:linear-gradient(to bottom, rgba(13,13,13,.95), rgba(13,13,13,.75) 70%, rgba(13,13,13,0));backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px}
.logo-mark{width:26px;height:26px;display:block}
.brand-title{font-weight:700;font-size:18px;letter-spacing:.2px}
.brand-sub{color:var(--muted);font-size:12px;margin-top:-4px}
.brand-wrap{display:flex;flex-direction:column}
.nav a{color:#d0d0d0;margin-left:26px;font-weight:500;opacity:.9}
.nav a:hover{color:var(--teal)}

/* Hero */
.hero{padding:84px 0 40px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.kicker{color:var(--teal);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
h1{font-size:54px;line-height:1.08;font-weight:800;letter-spacing:.2px;margin-bottom:16px}
.subtitle{color:#c9c9c9;font-size:18px;margin-bottom:8px}
.tagline{color:var(--muted);font-size:14px;margin-bottom:28px}
.cta-row{display:flex;align-items:center;gap:14px;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border-radius:14px;font-weight:700;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease}
.btn-primary{background:var(--red);color:#111;border:1px solid #ff6b6b22}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--line);background:var(--panel);color:#ddd}
.note{color:var(--muted);font-size:12px;margin-top:10px}

.ring{width:320px;height:320px;margin:0 auto;position:relative;display:grid;place-items:center;background:conic-gradient(var(--teal) 0 62%, #2b2b2b 0 100%);border-radius:50%}
.ring::before{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--elev);box-shadow:inset 0 0 0 1px #000}
.ring .pct{position:relative;font-size:56px;font-weight:800}
.ring .caption{position:relative;color:var(--muted);margin-top:6px}

/* Features */
.section{padding:72px 0}
.section h2{font-size:36px;text-align:center;margin-bottom:18px}
.section .sub{color:var(--muted);text-align:center;margin:0 auto 42px;max-width:740px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card h3{font-size:20px;margin-bottom:8px;color:var(--teal)}
.card p{color:#c4c4c4}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#0e2c28;color:var(--teal);font-size:12px;font-weight:700;margin-bottom:10px}

/* Footer */
footer{border-top:1px solid var(--line);padding:36px 0;text-align:center;color:var(--muted)}
.footer-links a{margin:0 12px;color:#bdbdbd}
.footer-links a:hover{color:var(--teal)}

/* Policy pages */
.hero-slim{padding:64px 0 32px;border-bottom:1px solid var(--line)}
.hero-slim h1{font-size:40px;margin-bottom:8px}
.meta{color:var(--muted);font-size:13px}
.policy{max-width:820px;margin:0 auto;padding:32px 20px 80px}
.policy h2{font-size:24px;margin:28px 0 8px}
.policy p, .policy li{color:#d2d2d2}
.policy ul{padding-left:20px;display:grid;gap:8px}
.policy a{color:var(--teal)}
.kicker-link{color:var(--teal)}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .ring{width:260px;height:260px}
  h1{font-size:42px}
  .grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .nav a{display:none}
  .grid{grid-template-columns:1fr}
  .btn{width:100%}
}