/* Foyer — foyer.nyrai.ai. Shared styles. House style adapted from the NYRAI product sites
   (see ~/developer/Electron/sift/public), with Foyer's own azure accent + a "trust" palette. */
:root {
  --bg:#0d0f14; --chrome:#090b0f; --panel:#151922; --raise:#1e2530;
  --line:#2a323f; --text:#d6dbe6; --dim:#98a1b3; --faint:#7a8296;
  --accent:#5b9df9; --accent-ink:#04182f;
  --ok:#57cd8c; --no:#f2685e; --amber:#e8b23d; --violet:#9d8df1;
  color-scheme: dark;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--text);
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
.wrap { max-width:1080px; margin:0 auto; padding:0 24px; }
.narrow { max-width:760px; }
.mono { font-family:ui-monospace,'JetBrains Mono',Menlo,monospace; }

/* nav */
nav { position:sticky; top:0; z-index:10; background:rgba(13,15,20,0.82); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
nav .row { display:flex; align-items:center; height:60px; gap:24px; }
.logo { font-weight:800; font-size:19px; letter-spacing:0.3px; color:var(--text); display:flex; align-items:center; gap:9px; }
.logo .mark { color:var(--accent); }
nav .links { display:flex; gap:22px; margin-left:auto; font-size:14px; color:var(--dim); }
nav .links a:hover { color:var(--text); }
.btn { display:inline-block; background:var(--accent); color:var(--accent-ink); font-weight:700; padding:10px 18px; border-radius:10px; font-size:14px; border:1px solid var(--accent); cursor:pointer; }
.btn:hover { filter:brightness(1.08); }
.btn.ghost { background:transparent; color:var(--text); border-color:var(--line); }

/* hero */
.hero { padding:96px 0 72px; background:radial-gradient(1200px 540px at 72% -12%, #16202e 0%, var(--bg) 62%); }
.hero .grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--accent); background:rgba(91,157,249,0.1); border:1px solid rgba(91,157,249,0.3); padding:5px 12px; border-radius:999px; font-weight:600; }
h1 { font-size:47px; line-height:1.08; margin:18px 0 16px; letter-spacing:-0.6px; }
h1 .hl { color:var(--accent); }
.lead { font-size:18px; color:var(--dim); max-width:520px; }
.cta { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; align-items:center; }
.cta .note { font-size:13px; color:var(--faint); }
.trustbar { margin-top:22px; font-size:13px; color:var(--faint); display:flex; gap:16px; flex-wrap:wrap; }
.trustbar b { color:var(--text); font-weight:600; }

/* menu-bar visual */
.macbar { background:linear-gradient(180deg,#232a36,#141922); border:1px solid var(--line); border-radius:16px; padding:0; box-shadow:0 30px 80px rgba(0,0,0,0.55); overflow:hidden; }
.macbar .bar { display:flex; align-items:center; gap:16px; height:30px; padding:0 14px; background:rgba(255,255,255,0.06); backdrop-filter:blur(8px); border-bottom:1px solid rgba(255,255,255,0.06); font-size:12.5px; color:#c9d0dc; }
.macbar .bar .apple { font-size:13px; }
.macbar .bar .spacer { margin-left:auto; }
.macbar .bar .ico { opacity:0.9; }
.macbar .bar .chev { color:var(--accent); font-weight:800; }
.macbar .hidden { opacity:0.32; }
.macbar .body { padding:26px 22px; color:var(--dim); font-size:13.5px; }
.macbar .body .cap { color:var(--faint); font-size:11.5px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; }

/* sections */
section { padding:74px 0; }
.center { text-align:center; }
h2 { font-size:32px; letter-spacing:-0.3px; }
.sub { color:var(--dim); font-size:16px; margin-top:10px; max-width:640px; }
.center .sub { margin-left:auto; margin-right:auto; }
.eyebrow-s { font-size:12.5px; color:var(--accent); font-weight:700; text-transform:uppercase; letter-spacing:0.7px; }

.features { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:40px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; }
.card .ico { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:14px; background:var(--raise); }
.card h3 { font-size:17px; margin-bottom:7px; }
.card p { color:var(--dim); font-size:14px; }

.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.step .n { width:30px; height:30px; border-radius:50%; border:1px solid var(--accent); color:var(--accent); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:ui-monospace,monospace; margin-bottom:12px; }
.step h3 { font-size:16px; margin-bottom:6px; }
.step p { color:var(--dim); font-size:14px; }

/* trust block */
.trustwrap { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:40px; }
.netmon { background:var(--chrome); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-top:8px; }
.netmon .h { display:flex; align-items:center; gap:8px; padding:11px 16px; border-bottom:1px solid var(--line); font-size:12px; color:var(--faint); }
.netmon .dot { width:10px; height:10px; border-radius:50%; }
.netmon .row { display:flex; align-items:center; gap:12px; padding:13px 16px; font-size:13.5px; border-bottom:1px solid rgba(255,255,255,0.04); }
.netmon .row:last-child { border-bottom:0; }
.netmon .row .tag { font-size:11px; font-weight:700; padding:3px 9px; border-radius:6px; }
.netmon .allow .tag { background:rgba(87,205,140,0.14); color:var(--ok); }
.netmon .block .tag { background:rgba(242,104,94,0.12); color:var(--no); }
.netmon .row .host { color:var(--text); }
.netmon .row .why { color:var(--dim); margin-left:auto; font-size:12.5px; }
.netmon .block .host { color:var(--faint); text-decoration:line-through; }

table.calls { width:100%; border-collapse:collapse; margin-top:8px; font-size:14px; }
table.calls th, table.calls td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
table.calls th { color:var(--faint); font-size:12px; text-transform:uppercase; letter-spacing:0.5px; }
table.calls td .h { color:var(--accent); }

/* pricing */
.price { max-width:440px; margin:40px auto 0; background:linear-gradient(180deg,#1a212c,#11151c); border:1px solid var(--accent); border-radius:18px; padding:34px; text-align:center; }
.price .tag { font-size:14px; color:var(--dim); }
.price .big { font-size:34px; font-weight:800; margin:8px 0; }
.price .once { font-size:14px; color:var(--faint); font-weight:500; }
.price ul { list-style:none; text-align:left; margin:22px 0; display:flex; flex-direction:column; gap:9px; }
.price li { font-size:14px; color:var(--dim); }
.price li::before { content:'✓ '; color:var(--accent); font-weight:800; }

/* prose (legal/pledge/support) */
.prose { padding:64px 0; }
.prose h1 { font-size:34px; margin-bottom:8px; }
.prose .updated { color:var(--faint); font-size:13px; margin-bottom:32px; }
.prose h2 { font-size:21px; margin:34px 0 10px; }
.prose h3 { font-size:16px; margin:22px 0 8px; color:var(--text); }
.prose p, .prose li { color:var(--dim); font-size:15px; margin-bottom:12px; }
.prose ul { padding-left:22px; }
.prose strong { color:var(--text); }
.prose a { color:var(--accent); }
.prose .lead { font-size:17px; color:var(--text); max-width:none; margin-bottom:20px; }

footer { border-top:1px solid var(--line); padding:40px 0; color:var(--faint); font-size:13.5px; }
footer .row { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
footer a:hover { color:var(--text); }
footer .links { display:flex; gap:18px; margin-left:auto; flex-wrap:wrap; }

@media (max-width:820px) {
  .hero .grid, .features, .steps { grid-template-columns:1fr; }
  h1 { font-size:36px; }
  nav .links { display:none; }
  .trustwrap, .prose { padding-left:0; padding-right:0; }
  footer .links { margin-left:0; }
}
