/* ForgeByte Design System v1 — shared across all ForgeByte sites */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fb/space-grotesk.woff2) format("woff2")}
:root{
 --ember-1:#ff8a4c;--ember-2:#e24d12;--ember:#ff6b2c;--ember-ink:#b33a0b;
 --ink:#15110e;--ink-2:#231c17;--text:#1a1714;--muted:#5f554d;--cream:#faf5ee;--paper:#fffdfa;
 --line:rgba(26,23,20,.10);--line-dark:rgba(255,244,238,.12);
 --accent:var(--ember);--accent-soft:#fff0e7;
 --r-xl:28px;--r-lg:20px;--r-md:14px;
 --shadow:0 1px 2px rgba(40,25,10,.06),0 20px 50px -20px rgba(60,35,15,.25);
 --font:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 --w:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--cream);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}a{color:inherit}
:focus-visible{outline:3px solid var(--ember);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:99}.skip:focus{left:8px}
.wrap{width:min(var(--w),calc(100% - 40px));margin-inline:auto}
h1,h2,h3{line-height:1.05;letter-spacing:-.03em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.5rem,6.2vw,5rem)}h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em}.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);color:var(--muted);max-width:40ch}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,var(--ember-ink));margin-bottom:18px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.grad{background:linear-gradient(100deg,var(--ember-1),var(--ember-2) 60%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
/* top bar */
.fbbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--cream) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.fbbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.lockup{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;min-width:0}
.lockup img{width:34px;height:34px;border-radius:10px}
.lockup .sep{color:var(--muted);font-weight:400}.lockup .app{white-space:nowrap}
.nav{display:flex;gap:4px;align-items:center}
.nav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px}
.nav a:hover,.nav a[aria-current=page]{background:rgba(26,23,20,.06);color:var(--text)}
.nav .cta{background:var(--ink);color:#fff;white-space:nowrap}.nav .cta:hover{background:var(--ink-2);color:#fff}
@media(max-width:720px){.nav a:not(.cta){display:none}.nav .menu{display:inline-flex!important}}
.nav .menu{display:none}
details.mnav{position:relative}details.mnav summary{list-style:none;cursor:pointer;padding:8px 12px;border-radius:999px;font-weight:600;border:1px solid var(--line)}
details.mnav summary::-webkit-details-marker{display:none}
details.mnav div{position:absolute;right:0;top:44px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;min-width:200px;display:grid}
details.mnav div a{display:block!important;color:var(--text)}
@media(min-width:721px){details.mnav{display:none}}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:999px;border:1px solid var(--line);background:var(--paper);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.primary{background:linear-gradient(135deg,var(--ember-1),var(--ember-2));color:#fff;border:0;box-shadow:0 10px 30px -10px rgba(226,77,18,.7)}
.btn.dark{background:var(--ink);color:#fff;border:0}
.appstore{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;text-decoration:none;border-radius:14px;padding:10px 18px 10px 14px;line-height:1.1}
.appstore svg{width:26px;height:26px}.appstore small{display:block;font-size:.7rem;opacity:.85}.appstore b{font-size:1.15rem;letter-spacing:-.01em}
/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(48px,8vw,110px) 0 clamp(40px,6vw,80px)}
.hero::before{content:"";position:absolute;inset:-30% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 26%,transparent),transparent);z-index:-1}
.hero::after{content:"";position:absolute;inset:auto auto -40% -20%;width:60vw;height:60vw;background:radial-gradient(closest-side,rgba(255,138,76,.22),transparent);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.appicon{width:76px;height:76px;border-radius:18px;box-shadow:var(--shadow);margin-bottom:22px}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}
.facts li{font-size:.88rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
/* phones */
.phones{display:flex;justify-content:center;gap:18px;perspective:1200px}
.phone{width:min(250px,44vw);border-radius:34px;padding:8px;background:var(--ink);box-shadow:0 40px 80px -30px rgba(30,15,5,.55)}
.phone img{border-radius:27px;aspect-ratio:9/19.5;object-fit:cover;width:100%}
.phones .phone:nth-child(2){transform:translateY(40px) rotate(3deg)}.phones .phone:first-child{transform:rotate(-3deg)}
@media(max-width:560px){.phones .phone:nth-child(2){display:none}.phone{width:min(280px,72vw)}.phones .phone:first-child{transform:none}}
/* sections */
section.s{padding:clamp(56px,8vw,110px) 0}
.s-head{max-width:720px;margin-bottom:44px}.s-head p{color:var(--muted);font-size:1.1rem}
.dark{background:var(--ink);color:#fbefe6}.dark .s-head p,.dark .muted{color:#c9b8aa}
.dark .card{background:#1e1814;border-color:var(--line-dark)}.dark .card p{color:#cbbbae}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.g3,.g2,.g4{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.card p{color:var(--muted);margin:0}.card .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink,var(--ember-ink));font-weight:700;margin-bottom:16px}
.strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 26px}
.strip img{flex:0 0 auto;width:220px;border-radius:24px;scroll-snap-align:start;box-shadow:var(--shadow);border:1px solid var(--line)}
.band{border-radius:var(--r-xl);padding:clamp(32px,5vw,64px);background:linear-gradient(135deg,var(--ember-1),var(--ember-2));color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.band h2{margin:0}.band p{margin:.4em 0 0;opacity:.92}
.price{display:flex;gap:14px;flex-wrap:wrap}.price .card{flex:1 1 220px}.price strong{font-size:2rem;letter-spacing:-.03em;display:block}
/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--accent-ink,var(--ember-ink))}.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin:12px 0 0;max-width:70ch}
/* app cards (hub) */
.apps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:760px){.apps{grid-template-columns:1fr}}
.appcard{position:relative;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;text-decoration:none;transition:transform .2s,box-shadow .2s;overflow:hidden}
.appcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.appcard img{width:72px;height:72px;border-radius:17px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.appcard .k{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.appcard h3{font-size:1.6rem;margin:.15em 0 .3em}.appcard p{color:var(--muted);margin:0 0 14px}
.appcard .links{display:flex;flex-wrap:wrap;gap:8px}.appcard .links a{font-size:.88rem;font-weight:700;text-decoration:none;padding:7px 12px;border-radius:999px;border:1px solid var(--line)}
.appcard .links a.go{background:var(--ink);color:#fff;border-color:var(--ink)}
/* docs (legal/support) */
.doc-hero{padding:56px 0 24px}.doc-hero h1{font-size:clamp(2.2rem,5vw,3.6rem)}.doc-hero p{color:var(--muted)}
.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding-bottom:80px}
@media(max-width:900px){.doc{grid-template-columns:1fr}.toc{display:none}}
.toc{position:sticky;top:84px;align-self:start;font-size:.9rem;border-left:2px solid var(--line);padding-left:16px}
.toc b{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc a{display:block;text-decoration:none;color:var(--muted);padding:4px 0}.toc a:hover{color:var(--text)}
.prose{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,4vw,52px);max-width:820px}
.prose h1{display:none}.prose h2{font-size:1.55rem;margin:1.8em 0 .6em;scroll-margin-top:90px}.prose h2:first-child{margin-top:0}
.prose h3{margin:1.4em 0 .4em}.prose p,.prose li{color:#3b332d}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.3em 0}
.prose a{color:var(--ember-ink);text-underline-offset:3px}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose td,.prose th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.prose .button,.prose a.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:12px 20px;border-radius:999px;font-weight:700}
.contact{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--accent-soft);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:28px}
.contact a{font-weight:700}
/* footer */
footer.fb{background:var(--ink);color:#d8c8bb;padding:56px 0 36px;margin-top:40px}
footer.fb .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}@media(max-width:800px){footer.fb .cols{grid-template-columns:1fr 1fr}}
footer.fb b{display:block;color:#fff;margin-bottom:10px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
footer.fb a{display:block;text-decoration:none;color:#d8c8bb;padding:3px 0}footer.fb a:hover{color:#fff}
footer.fb .lockup{color:#fff;margin-bottom:12px}footer.fb small{display:block;margin-top:36px;padding-top:20px;border-top:1px solid var(--line-dark);color:#a08f82}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
