/* Shared styles for every Beep page. Was duplicated inline in index.html and
   thanks.html; extracted when the site went multi-page. */

:root {
  --bg:#08080c; --panel:#101018; --line:#ffffff1f;
  --text:#eceef2; --dim:#9aa0ac;
  --accent:#ffb84d; --accent2:#ff8a00;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  background:var(--bg); color:var(--text);
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif; line-height:1.6;
}
a { color:var(--accent); text-decoration:none; }
.wrap { max-width:1020px; margin:0 auto; padding:0 24px; }

/* ---- nav ---- */
nav { display:flex; align-items:center; justify-content:space-between; padding:22px 0; gap:16px; flex-wrap:wrap; }
.logo { font-weight:700; font-size:20px; letter-spacing:.5px; display:flex; align-items:center; gap:9px; color:var(--text); }
.logo::before { content:""; width:12px; height:12px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #fff3d9, var(--accent) 55%, var(--accent2)); box-shadow:0 0 14px #ffb84d88; }
nav .links a { color:var(--dim); margin-left:26px; font-size:15px; }
nav .links a:hover { color:var(--text); }
nav .links a.active { color:var(--text); }
@media (max-width:560px){ nav .links a { margin-left:0; margin-right:18px; } }

/* ---- hero ---- */
.hero { display:flex; align-items:center; gap:48px; padding:64px 0 72px; flex-wrap:wrap; }
.hero-copy { flex:1 1 400px; }
h1 { font-size:46px; line-height:1.12; font-weight:700; letter-spacing:-.5px; }
h1 em { font-style:normal; color:var(--accent); }
.sub { color:var(--dim); font-size:19px; margin:20px 0 30px; max-width:34em; }
.cta-row { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.cta-note { color:var(--dim); font-size:13.5px; }
.orb-box { flex:0 1 360px; display:flex; justify-content:center; }
canvas { border-radius:50%; max-width:100%; }

/* ---- buttons ---- */
.btn {
  display:inline-block; background:linear-gradient(180deg,var(--accent),var(--accent2));
  color:#1a1207; font-weight:700; font-size:17px; padding:13px 30px;
  border-radius:12px; box-shadow:0 6px 24px #ff8a0040; transition:transform .12s ease;
}
.btn:hover { transform:translateY(-1px); }
.btn.ghost { background:none; border:1px solid var(--line); color:var(--text); box-shadow:none; font-weight:600; }
.btn.ghost:hover { border-color:var(--accent); }

/* ---- badges / sections / cards ---- */
.badges { display:flex; gap:12px; flex-wrap:wrap; padding:0 0 56px; }
.badge { border:1px solid var(--line); border-radius:999px; padding:7px 16px; color:var(--dim); font-size:13.5px; background:var(--panel); }
section { padding:56px 0; border-top:1px solid var(--line); }
h2 { font-size:30px; margin-bottom:28px; letter-spacing:-.3px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:22px; }
.card h3 { font-size:16.5px; margin-bottom:8px; }
.card p { color:var(--dim); font-size:14.5px; }

.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; counter-reset:step; }
.step { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:22px; }
.step::before { counter-increment:step; content:counter(step); display:inline-flex; width:30px; height:30px; border-radius:50%; background:#ffb84d22; color:var(--accent); font-weight:700; align-items:center; justify-content:center; margin-bottom:12px; }

/* ---- pricing ---- */
.price-card { max-width:420px; margin:0 auto; text-align:center; background:var(--panel); border:1px solid #ffb84d44; border-radius:20px; padding:38px 32px; box-shadow:0 10px 50px #ff8a0015; }
.price { font-size:52px; font-weight:800; }
.price small { font-size:17px; color:var(--dim); font-weight:400; }
.price-card ul { list-style:none; margin:18px 0 26px; color:var(--dim); font-size:15px; }
.price-card li { padding:5px 0; }
.price-card li::before { content:"\2713  "; color:var(--accent); }

/* ---- faq / footer ---- */
details { border-bottom:1px solid var(--line); padding:16px 4px; }
summary { cursor:pointer; font-weight:600; font-size:16.5px; }
details p { color:var(--dim); margin-top:10px; font-size:15px; }
footer { padding:44px 0 60px; color:var(--dim); font-size:13.5px; border-top:1px solid var(--line); }

/* ---- platform chooser (index) ---- */
.platforms { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; padding:8px 0 56px; }
.platform { background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:30px; display:flex; flex-direction:column; }
.platform.live { border-color:#ffb84d44; }
.platform h3 { font-size:22px; margin-bottom:6px; display:flex; align-items:center; gap:10px; }
.platform .tag { font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:4px 10px; border-radius:999px; }
.tag.now { background:#ffb84d22; color:var(--accent); }
.tag.soon { background:#ffffff14; color:var(--dim); }
.platform p { color:var(--dim); font-size:14.5px; margin:10px 0 22px; flex:1; }
.platform .btn { align-self:flex-start; }

/* ---- honest callout, used on the iOS page ---- */
.note { background:#ffb84d10; border:1px solid #ffb84d33; border-left:3px solid var(--accent); border-radius:12px; padding:18px 20px; margin:22px 0; }
.note h4 { font-size:15px; margin-bottom:6px; }
.note p { color:var(--dim); font-size:14.5px; }

/* ---- thanks page ---- */
body.centered { display:flex; min-height:100vh; align-items:center; justify-content:center; padding:24px; }
.receipt { max-width:560px; width:100%; background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:40px; text-align:center; }
.receipt h1 { font-size:28px; margin-bottom:10px; }
.receipt p { color:var(--dim); }
.key { font-family:Consolas,monospace; font-size:22px; letter-spacing:1px; background:#08080c; border:1px dashed #ffb84d66; border-radius:12px; padding:18px 12px; margin:26px 0 10px; user-select:all; word-break:break-all; }
.copy { background:none; border:1px solid var(--line); color:var(--dim); border-radius:8px; padding:6px 14px; cursor:pointer; font-size:13px; }
.copy:hover { color:var(--text); }
.receipt ol { text-align:left; color:var(--dim); margin:26px 0 0 22px; font-size:15px; }
.spin { margin:30px auto; width:28px; height:28px; border:3px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:s 1s linear infinite; }
@keyframes s { to { transform:rotate(360deg); } }

@media (max-width:720px){ h1{font-size:34px;} .hero{padding:32px 0 40px;} }
