/* Micro-site Neoo Forge — géométrie lovable.dev/fr/home, palette nuit Neoo (docs/design-forge-microsite.md).
   Les sélecteurs portent #main pour primer sur les replis génériques de neoo-fusion-families.css. */
.forge-site-page {
  --fs-bg: #10111b;
  --fs-deep: #090a13;
  --fs-surface: #151827;
  --fs-surface-2: #1c2136;
  --fs-text: #f2f4fb;
  --fs-text-2: #b7bfd6;
  --fs-text-3: #8f98b4;
  --fs-line: rgba(255, 255, 255, .1);
  --fs-line-strong: rgba(255, 255, 255, .18);
  --fs-accent: #6a58ff;
  --fs-accent-hover: #7f70ff;
  --fs-link: #b3a9ff;
  --fs-blue: #4d7dff;
  --fs-be-black: #0b0b0d;
  --fs-be-yellow: #fdda24;
  --fs-be-red: #ef3340;
  --fs-paper: #f6f7fd;
  --fs-paper-ink: #11152c;
  --fs-paper-muted: #5a6078;
  --fs-radius: 22px;
  --fs-ease: cubic-bezier(.22, 1, .36, 1);
  --fs-display: 300 clamp(38px, 4.4vw, 64px)/1.06 "Cerebri Sans", Inter, system-ui, sans-serif;
  background: var(--fs-bg);
}
.fs-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }

/* ---------- Belgian micro-mark ---------- */
.fs-flag { display: inline-flex; flex-shrink: 0; width: 15px; height: 11px; overflow: hidden; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); }
.fs-flag i { flex: 1; }
.fs-flag i:nth-child(1) { background: var(--fs-be-black); }
.fs-flag i:nth-child(2) { background: var(--fs-be-yellow); }
.fs-flag i:nth-child(3) { background: var(--fs-be-red); }
.fs-flag--large { width: 42px; height: 30px; border-radius: 5px; }

/* ---------- micro-site navigation ---------- */
.fs-nav { position: sticky; top: 64px; z-index: 180; border-bottom: 1px solid var(--fs-line); background: rgba(12, 14, 26, .86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.fs-nav__inner { display: flex; align-items: center; gap: 22px; width: min(1240px, calc(100% - 48px)); min-height: 54px; margin-inline: auto; }
.forge-site-page .fs-nav a { color: var(--fs-text-2); text-decoration: none; }
.forge-site-page .fs-nav .fs-nav__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--fs-text); font: 500 17px/1 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.01em; }
.fs-nav__links { display: flex; align-items: center; gap: 4px; min-width: 0; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.fs-nav__links::-webkit-scrollbar { display: none; }
.forge-site-page .fs-nav__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: 999px; font-size: 14.5px; white-space: nowrap; transition: color .18s ease, background .18s ease; }
.forge-site-page .fs-nav__links a:hover { color: var(--fs-text); background: rgba(255, 255, 255, .06); }
.forge-site-page .fs-nav__links a[aria-current="page"] { color: var(--fs-text); background: rgba(106, 88, 255, .18); }
.forge-site-page .fs-nav .fs-nav__cta { display: inline-flex; align-items: center; min-height: 38px; margin-left: auto; padding: 0 16px; border-radius: 999px; background: var(--fs-text); color: var(--fs-deep); font: 500 14px/1 "Cerebri Sans", Inter, sans-serif; white-space: nowrap; transition: transform .18s ease, background .18s ease; }
.forge-site-page .fs-nav .fs-nav__cta:hover { background: #fff; transform: translateY(-1px); }
.forge-site-page .fs-nav a:focus-visible { outline: 3px solid #b9c8ff; outline-offset: 2px; }

/* ---------- shared atoms ---------- */
.forge-site-page #main { position: relative; overflow-x: clip; background: var(--fs-bg); color: var(--fs-text); }
.forge-site-page #main :is(a, button, select, textarea, [tabindex="0"]):focus-visible { outline: 3px solid #b9c8ff; outline-offset: 3px; }
.forge-site-page #main .fs-pill { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; white-space: nowrap; margin: 0 0 26px; padding: 8px 14px 8px 12px; border: 1px solid var(--fs-line-strong); border-radius: 999px; background: rgba(255, 255, 255, .05); color: var(--fs-text-2); font-size: 14px; line-height: 1.2; }
.forge-site-page #main .fs-pill span[aria-hidden] { color: var(--fs-text-3); }
.forge-site-page #main .fs-tag { position: absolute; right: 14px; top: 14px; z-index: 3; padding: 4px 9px; border-radius: 999px; background: rgba(9, 10, 19, .72); color: var(--fs-text-2); font-size: 11.5px; letter-spacing: .02em; }
.forge-site-page #main .fs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; font: 500 15.5px/1.2 "Cerebri Sans", Inter, sans-serif; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.forge-site-page #main .fs-btn svg, .forge-site-page #main .fs-link svg, .forge-site-page #main .fs-link-forge svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.forge-site-page #main .fs-btn--primary { background: var(--fs-accent); color: #fff; }
.forge-site-page #main .fs-btn--primary span { color: #fff; }
.forge-site-page #main .fs-btn--primary:hover { background: var(--fs-accent-hover); transform: translateY(-2px); }
.forge-site-page #main .fs-btn--ghost { border-color: var(--fs-line-strong); background: rgba(255, 255, 255, .04); color: var(--fs-text); }
.forge-site-page #main .fs-btn--ghost span { color: var(--fs-text); }
.forge-site-page #main .fs-btn--ghost:hover { border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .08); transform: translateY(-2px); }
.forge-site-page #main .fs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; }
.forge-site-page #main .fs-actions--center { justify-content: center; }
.forge-site-page #main .fs-link, .forge-site-page #main .fs-link-forge { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--fs-link); font-size: 15px; font-weight: 500; text-decoration: none; }
.forge-site-page #main .fs-link-forge span { color: var(--fs-link); }
.forge-site-page #main :is(.fs-link, .fs-link-forge):hover { text-decoration: underline; text-underline-offset: 5px; }
.forge-site-page #main .fs-more { margin: 44px 0 0; }
.forge-site-page #main .fs-note { max-width: 70ch; margin: 28px 0 0; color: var(--fs-text-3); font-size: 14.5px; line-height: 1.6; }
.forge-site-page #main .fs-note--top { margin: 0 0 28px; }
.forge-site-page #main .fs-prompt { margin: 14px 0 0; padding-left: 12px; border-left: 2px solid rgba(106, 88, 255, .7); color: var(--fs-text-3); font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.forge-site-page #main .fs-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-chips li { padding: 4px 10px; border: 1px solid var(--fs-line-strong); border-radius: 999px; color: var(--fs-text-2); font-size: 12.5px; line-height: 1.3; }

/* Section heads */
.forge-site-page #main .fs-section { position: relative; padding: 128px 0 0; }
.forge-site-page #main .fs-head { max-width: 760px; margin-bottom: 56px; }
.forge-site-page #main .fs-head h2 { margin: 0; color: var(--fs-text); font: var(--fs-display); letter-spacing: -.052em; }
.forge-site-page #main .fs-head p { max-width: 560px; margin: 20px 0 0; color: var(--fs-text-2); font-size: clamp(17px, 1.25vw, 19px); line-height: 1.6; }
.forge-site-page #main .fs-head--split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: end; gap: 48px; max-width: none; }
.forge-site-page #main .fs-head--split p { margin: 0; }

/* ---------- gradient glows (Lovable mesh, Neoo palette + Belgian warmth) ---------- */
.forge-site-page #main .fs-glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; background:
  radial-gradient(42% 34% at 50% 104%, rgba(239, 51, 64, .52), transparent 72%),
  radial-gradient(34% 26% at 50% 90%, rgba(253, 218, 36, .2), transparent 70%),
  radial-gradient(58% 50% at 14% 100%, rgba(106, 88, 255, .62), transparent 72%),
  radial-gradient(58% 50% at 86% 100%, rgba(77, 125, 255, .56), transparent 72%);
}
.forge-site-page #main .fs-glow { -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 44%, #000 80%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 44%, #000 80%, transparent 100%); }
/* Hero de l'accueil Forge : maillage entièrement bleu (azur et reflet ciel au centre, cobalt à gauche, bleu Neoo à droite). */
.forge-site-page #main .fs-glow--hero { background:
  radial-gradient(46% 40% at 50% 96%, rgba(48, 164, 255, .66), transparent 72%),
  radial-gradient(30% 24% at 50% 80%, rgba(150, 226, 255, .24), transparent 70%),
  radial-gradient(62% 62% at 12% 92%, rgba(38, 76, 224, .82), transparent 72%),
  radial-gradient(62% 62% at 88% 92%, rgba(77, 125, 255, .74), transparent 72%);
}
.forge-site-page #main .fs-glow--hero { -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .8) 50%, #000 62%, #000 86%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .8) 50%, #000 62%, #000 86%, transparent 100%); }

/* ---------- home hero ---------- */
.forge-site-page #main .fs-hero { position: relative; isolation: isolate; overflow: clip; display: grid; align-items: center; min-height: calc(100svh - 118px); padding: 96px 0 120px; background: var(--fs-bg); color: var(--fs-text); text-align: center; }
.forge-site-page #main .fs-hero .fc-shell { position: relative; z-index: 1; width: min(1120px, calc(100% - 48px)); }
.forge-site-page #main .fs-hero h1 { max-width: 1000px; margin: 0 auto 22px; color: var(--fs-text); font: 300 clamp(48px, 6.6vw, 104px)/1.06 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.052em; }
.forge-site-page #main .fs-hero .fc-eyebrow { color: var(--fs-text-2); }
.forge-site-page #main .fs-hero .fc-lead { margin: 0 auto 40px; color: var(--fs-text-2); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.55; }
.forge-site-page #main .fs-hero .fc-composer { max-width: 800px; padding: 20px 20px 18px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 26px; background: var(--fs-paper); box-shadow: 0 30px 90px rgba(4, 6, 20, .55), 0 0 0 8px rgba(255, 255, 255, .05); }
.forge-site-page #main .fs-hero .fc-composer:focus-within { border-color: #fff; box-shadow: 0 30px 90px rgba(4, 6, 20, .55), 0 0 0 8px rgba(106, 88, 255, .28); }
.forge-site-page #main .fs-hero .fc-composer textarea { min-height: 104px; color: var(--fs-paper-ink); font-size: 19px; }
.forge-site-page #main .fs-hero .fc-composer textarea::placeholder { color: #666c84; }
.forge-site-page #main .fs-hero .fc-kind { background: #eceef8; color: var(--fs-paper-ink); border-color: #dcdfee; }
.forge-site-page #main .fs-hero .fc-kind :is(span, select) { color: var(--fs-paper-ink); }
.forge-site-page #main .fs-hero .fc-submit { background: var(--fs-accent); color: #fff; }
.forge-site-page #main .fs-hero .fc-submit span { color: #fff; }
.forge-site-page #main .fs-hero .fc-submit:hover { background: #5641ea; }
.forge-site-page #main .fs-hero .fc-error { color: #a52342; }
.forge-site-page #main .fs-hero .fc-suggestions button { border-color: rgba(255, 255, 255, .22); background: rgba(16, 17, 27, .45); color: var(--fs-text); backdrop-filter: blur(8px); }
.forge-site-page #main .fs-hero .fc-suggestions button:hover { border-color: rgba(255, 255, 255, .5); }
.forge-site-page #main .fs-hero :is(.fc-note, .fc-privacy) { color: rgba(242, 244, 251, .82); }
.forge-site-page #main .fs-hero .fc-privacy a { color: #fff; }

/* ---------- platform cards ---------- */
.forge-site-page #main .fs-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.forge-site-page #main .fs-card { overflow: hidden; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); }
.forge-site-page #main .fs-card h3 { margin: 26px 24px 10px; color: var(--fs-text); font: 500 19px/1.3 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.01em; }
.forge-site-page #main .fs-card > p { margin: 0 24px 28px; color: var(--fs-text-2); font-size: 15.5px; line-height: 1.6; }
.forge-site-page #main .fs-card__visual { position: relative; height: 290px; overflow: hidden; border-bottom: 1px solid var(--fs-line); background: radial-gradient(70% 70% at 30% 30%, rgba(106, 88, 255, .34), transparent 70%), radial-gradient(60% 60% at 85% 20%, rgba(239, 51, 64, .22), transparent 70%), var(--fs-deep); }
.forge-site-page #main .fs-card__visual--preview { background: radial-gradient(70% 70% at 70% 30%, rgba(77, 125, 255, .3), transparent 70%), var(--fs-deep); }
.forge-site-page #main .fs-card__visual--modules { background: radial-gradient(60% 70% at 0% 50%, rgba(253, 218, 36, .16), transparent 70%), radial-gradient(60% 70% at 10% 90%, rgba(239, 51, 64, .24), transparent 70%), var(--fs-deep); }
.forge-site-page #main .fs-mock-composer { position: absolute; left: 36px; right: -30px; top: 62px; bottom: 58px; padding: 22px 24px; border-radius: 20px; background: var(--fs-paper); box-shadow: 0 0 0 6px rgba(255, 255, 255, .06), 0 24px 60px rgba(4, 6, 20, .5); }
.forge-site-page #main .fs-mock-composer p { margin: 0; color: var(--fs-paper-ink); font: 300 22px/1.35 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.02em; }
.forge-site-page #main .fs-mock-composer p span { color: var(--fs-paper-ink); }
.forge-site-page #main .fs-caret { display: inline-block; width: 2px; height: 1.1em; margin-left: 2px; vertical-align: -3px; background: var(--fs-accent); }
.forge-site-page #main .fs-mock-composer__bar { position: absolute; left: 18px; right: 18px; bottom: 16px; display: flex; align-items: center; gap: 10px; }
.forge-site-page #main .fs-mock-composer__bar span { margin-left: auto; color: var(--fs-paper-muted); font-size: 13px; }
.forge-site-page #main .fs-mock-icon, .forge-site-page #main .fs-mock-send { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dcdfee; border-radius: 50%; }
.forge-site-page #main .fs-mock-send { border: 0; background: var(--fs-accent); color: #fff; }
.forge-site-page #main :is(.fs-mock-icon, .fs-mock-send) svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.forge-site-page #main .fs-mock-icon svg { stroke: #454b66; }
.forge-site-page #main .fs-mock-window { position: absolute; left: 34px; right: -24px; top: 40px; bottom: -24px; overflow: hidden; border-radius: 16px 0 0 0; background: var(--fs-paper); box-shadow: 0 24px 60px rgba(4, 6, 20, .5); }
.forge-site-page #main .fs-mock-window__tabs { display: flex; gap: 6px; padding: 12px; border-bottom: 1px solid #e3e5f0; }
.forge-site-page #main .fs-mock-window__tabs span { padding: 5px 11px; border-radius: 999px; color: var(--fs-paper-muted); font-size: 12.5px; }
.forge-site-page #main .fs-mock-window__tabs span.is-on { background: #e8e5ff; color: #3d2bb4; font-weight: 500; }
.forge-site-page #main .fs-mock-app { display: grid; gap: 8px; padding: 18px 20px; }
.forge-site-page #main .fs-mock-app strong { margin-bottom: 4px; color: var(--fs-paper-ink); font: 400 22px/1.2 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.02em; }
.forge-site-page #main .fs-mock-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #e3e5f0; border-radius: 10px; background: #fff; }
.forge-site-page #main .fs-mock-row > span { color: var(--fs-paper-ink); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.forge-site-page #main .fs-state { flex-shrink: 0; padding: 3px 8px; border-radius: 999px; font-size: 11.5px; font-style: normal; }
.forge-site-page #main .fs-state--0 { background: #e8e5ff; color: #3d2bb4; }
.forge-site-page #main .fs-state--1 { background: #fff3cc; color: #7a5600; }
.forge-site-page #main .fs-state--2 { background: #dcf5ea; color: #13663f; }
.forge-site-page #main .fs-mock-modules { position: absolute; left: 32px; right: 0; top: 34px; bottom: 0; display: grid; align-content: start; gap: 4px; margin: 0; padding: 18px 16px; border-radius: 16px 0 0 0; background: rgba(255, 255, 255, .04); border: 1px solid var(--fs-line); list-style: none; }
.forge-site-page #main .fs-mock-modules li { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 10px; color: var(--fs-text-2); font-size: 14.5px; }
.forge-site-page #main .fs-mock-modules li span { color: inherit; }
.forge-site-page #main .fs-mock-modules li.is-on { background: rgba(255, 255, 255, .09); color: var(--fs-text); }
.forge-site-page #main .fs-mock-modules svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- dark run panel ---------- */
.forge-site-page #main .fs-run__panel { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 72px; width: min(1520px, calc(100% - 48px)); margin-inline: auto; padding: 96px clamp(28px, 5.6vw, 88px); border: 1px solid var(--fs-line); border-radius: 30px; background: radial-gradient(60% 50% at 80% 0%, rgba(106, 88, 255, .12), transparent 70%), var(--fs-deep); }
.forge-site-page #main .fs-run h2 { margin: 0; color: var(--fs-text); font: var(--fs-display); letter-spacing: -.052em; }
.forge-site-page #main .fs-run__lead { margin: 22px 0 40px; color: var(--fs-text-2); font-size: 17.5px; line-height: 1.6; }
.forge-site-page #main .fs-run__item { position: relative; padding: 20px 0 22px; border-bottom: 1px solid var(--fs-line); }
.forge-site-page #main .fs-run__title { margin: 0; color: var(--fs-text); font: 500 17px/1.35 "Cerebri Sans", Inter, sans-serif; }
.forge-site-page #main .fs-run__title button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.forge-site-page #main .fs-run__title button::after { content: "+"; color: var(--fs-text-3); font-size: 20px; font-weight: 300; transition: transform .2s ease; }
.forge-site-page #main .fs-run__title button[aria-expanded="true"]::after { transform: rotate(45deg); }
.forge-site-page #main .fs-run__text { margin: 10px 0 0; color: var(--fs-text-2); font-size: 15px; line-height: 1.6; }
.forge-site-page #main .fs-run__bar { position: absolute; left: 0; bottom: -1px; width: 0; height: 2px; background: linear-gradient(90deg, var(--fs-accent), var(--fs-be-red)); transition: width .5s var(--fs-ease); }
.forge-site-page #main [data-fs-accordion].is-enhanced .fs-run__item:not([data-open]) .fs-run__text { display: none; }
.forge-site-page #main [data-fs-accordion].is-enhanced .fs-run__item[data-open] .fs-run__bar { width: 62%; }
.forge-site-page #main .fs-run__visuals { position: relative; display: grid; gap: 14px; align-content: start; }
.forge-site-page #main .fs-visual { position: relative; display: grid; min-height: 540px; margin: 0; overflow: hidden; place-items: center; border: 1px solid var(--fs-line); border-radius: 22px; background: radial-gradient(60% 55% at 50% 60%, rgba(106, 88, 255, .2), transparent 70%), radial-gradient(40% 35% at 50% 100%, rgba(239, 51, 64, .18), transparent 70%), #0d0f1c; }
.forge-site-page #main [data-fs-accordion].is-enhanced .fs-visual:not([data-open]) { display: none; }
.forge-site-page #main [data-fs-accordion]:not(.is-enhanced) .fs-visual { min-height: 320px; }
.forge-site-page #main [data-fs-accordion].is-enhanced .fs-visual[data-open] { position: sticky; top: 150px; }
.forge-site-page #main .fs-visual figcaption { position: absolute; left: 18px; bottom: 16px; color: var(--fs-text-3); font-size: 12.5px; }
.forge-site-page #main .fs-visual__stage { position: relative; display: grid; width: 100%; height: 100%; place-items: center; }
.forge-site-page #main .fs-visual__stage svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* hosting orbit */
.forge-site-page #main .fs-orbit { position: relative; width: min(520px, 92%); aspect-ratio: 520 / 380; }
.forge-site-page #main .fs-orbit::before { content: ""; position: absolute; inset: 22% 4% 22%; border: 1px dashed rgba(255, 255, 255, .22); border-radius: 50%; }
.forge-site-page #main .fs-orbit__window { position: absolute; inset: 16% 22%; display: grid; grid-template-rows: auto 1fr; gap: 10px; padding: 12px; border-radius: 18px; background: rgba(28, 33, 54, .9); box-shadow: 0 0 0 2px rgba(106, 88, 255, .7), 0 0 60px rgba(106, 88, 255, .45), 0 30px 50px rgba(239, 51, 64, .25); }
.forge-site-page #main .fs-orbit__url { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .07); color: var(--fs-text-2); font-size: 12px; }
.forge-site-page #main .fs-orbit__url svg { width: 12px; height: 12px; }
.forge-site-page #main .fs-orbit__screen { display: grid; align-content: center; gap: 10px; padding: 16px; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.forge-site-page #main .fs-orbit__screen i { height: 10px; border-radius: 6px; background: rgba(255, 255, 255, .12); }
.forge-site-page #main .fs-orbit__screen i:nth-child(1) { width: 70%; height: 14px; background: rgba(255, 255, 255, .2); }
.forge-site-page #main .fs-orbit__screen i:nth-child(3) { width: 45%; }
.forge-site-page #main .fs-orbit__node { position: absolute; display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: radial-gradient(circle at 30% 30%, #3a3f5c, #1a1d2e); color: var(--fs-text); box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.forge-site-page #main .fs-orbit__node svg { width: 24px; height: 24px; }
.forge-site-page #main .fs-orbit__node--0 { left: 0; top: 43%; }
.forge-site-page #main .fs-orbit__node--1 { left: 24%; bottom: 10%; }
.forge-site-page #main .fs-orbit__node--2 { left: calc(50% - 29px); bottom: 2%; box-shadow: 0 0 0 2px rgba(106, 88, 255, .8), 0 0 40px rgba(106, 88, 255, .6); }
.forge-site-page #main .fs-orbit__node--3 { right: 24%; bottom: 10%; }
.forge-site-page #main .fs-orbit__node--4 { right: 0; top: 43%; }

/* integration wall */
.forge-site-page #main .fs-logos { display: grid; grid-template-columns: repeat(5, 76px); grid-auto-rows: 76px; gap: 10px; grid-auto-flow: dense; }
.forge-site-page #main .fs-logos__cell { display: grid; place-items: center; border: 1px solid var(--fs-line); border-radius: 16px; background: rgba(255, 255, 255, .92); }
.forge-site-page #main .fs-logos__cell img { width: 34px; height: 34px; object-fit: contain; }
.forge-site-page #main .fs-logos__cell:nth-child(5n + 2), .forge-site-page #main .fs-logos__cell:nth-child(5n + 1) { opacity: .55; }
.forge-site-page #main .fs-logos__core { grid-column: 3; grid-row: 2; display: flex; align-items: center; justify-content: center; border-radius: 18px; background: linear-gradient(145deg, var(--fs-accent), #c23cff 55%, var(--fs-be-red)); color: #fff; font: 500 34px/1 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.04em; box-shadow: 0 0 50px rgba(106, 88, 255, .6); }
.forge-site-page #main .fs-logos__core span { color: var(--fs-be-yellow); }

/* invoice */
.forge-site-page #main .fs-invoice { display: grid; gap: 14px; width: min(400px, 86%); padding: 26px; border-radius: 18px; background: var(--fs-paper); box-shadow: 0 30px 70px rgba(0, 0, 0, .5); transform: rotate(-2.5deg); }
.forge-site-page #main .fs-invoice__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.forge-site-page #main .fs-invoice__head strong { color: var(--fs-paper-ink); font: 500 18px/1.2 "Cerebri Sans", Inter, sans-serif; }
.forge-site-page #main .fs-invoice__head em { padding: 4px 10px; border-radius: 999px; background: #dcf5ea; color: #13663f; font-size: 12px; font-style: normal; }
.forge-site-page #main .fs-invoice__client { color: var(--fs-paper-muted); font-size: 14px; }
.forge-site-page #main .fs-invoice__lines { display: grid; gap: 8px; padding: 14px 0; border-block: 1px solid #e3e5f0; }
.forge-site-page #main .fs-invoice__lines i { height: 9px; border-radius: 5px; background: #e6e8f3; }
.forge-site-page #main .fs-invoice__lines i:nth-child(2) { width: 78%; }
.forge-site-page #main .fs-invoice__lines i:nth-child(3) { width: 56%; }
.forge-site-page #main .fs-invoice__total { justify-self: end; color: var(--fs-paper-ink); font: 300 30px/1 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.03em; }

/* murphy */
.forge-site-page #main .fs-murphy { display: grid; gap: 16px; width: min(420px, 88%); padding: 24px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 18px; background: rgba(28, 33, 54, .88); box-shadow: 0 30px 70px rgba(0, 0, 0, .45), 0 0 50px rgba(106, 88, 255, .25); }
.forge-site-page #main .fs-murphy__head { display: flex; align-items: center; gap: 10px; color: var(--fs-link); }
.forge-site-page #main .fs-murphy__head svg { width: 20px; height: 20px; }
.forge-site-page #main .fs-murphy__head strong { color: var(--fs-link); font-weight: 500; }
.forge-site-page #main .fs-murphy p { margin: 0; color: var(--fs-text); font: 300 23px/1.3 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.02em; }
.forge-site-page #main .fs-murphy__actions { display: flex; gap: 10px; }
.forge-site-page #main .fs-murphy__actions > span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--fs-line-strong); border-radius: 999px; color: var(--fs-text); font-size: 14px; }
.forge-site-page #main .fs-murphy__actions .fs-murphy__approve { border-color: transparent; background: var(--fs-accent); color: #fff; }
.forge-site-page #main .fs-murphy__approve svg { width: 16px; height: 16px; }

/* roles */
.forge-site-page #main .fs-roles { display: grid; gap: 10px; width: min(430px, 88%); margin: 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-roles li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--fs-line); border-radius: 14px; background: rgba(28, 33, 54, .85); color: var(--fs-text-3); }
.forge-site-page #main .fs-roles li > svg { width: 18px; height: 18px; }
.forge-site-page #main .fs-roles strong { display: block; color: var(--fs-text); font-weight: 500; font-size: 15px; }
.forge-site-page #main .fs-roles small { color: var(--fs-text-3); font-size: 13px; }
.forge-site-page #main .fs-roles__avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, var(--fs-accent), var(--fs-blue)); color: #fff; font-weight: 500; }
.forge-site-page #main .fs-roles .fs-roles__sso { display: flex; justify-content: center; gap: 10px; border-style: dashed; background: transparent; }
.forge-site-page #main .fs-roles__sso span { padding: 5px 12px; border-radius: 999px; background: rgba(106, 88, 255, .2); color: var(--fs-text); font-size: 13px; }

/* ---------- life cycle ---------- */
.forge-site-page #main .fs-cycle__track { position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-cycle__track::before { content: ""; position: absolute; left: 22px; right: 22px; top: 22px; height: 2px; background: linear-gradient(90deg, var(--fs-accent), var(--fs-blue) 45%, var(--fs-be-yellow) 75%, var(--fs-be-red)); opacity: .7; }
.forge-site-page #main .fs-cycle__track li { position: relative; display: grid; gap: 8px; padding-right: 8px; }
.forge-site-page #main .fs-cycle__dot { display: grid; width: 46px; height: 46px; margin-bottom: 14px; place-items: center; border: 1px solid var(--fs-line-strong); border-radius: 50%; background: var(--fs-surface-2); color: var(--fs-text); font-size: 13px; }
.forge-site-page #main .fs-cycle__track strong { color: var(--fs-text); font: 500 17px/1.3 "Cerebri Sans", Inter, sans-serif; }
.forge-site-page #main .fs-cycle__track li > span:last-child { color: var(--fs-text-3); font-size: 14px; line-height: 1.45; }

/* ---------- templates ---------- */
.forge-site-page #main .fs-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.forge-site-page #main .fs-template-grid--preview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.forge-site-page #main .fs-template { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); transition: border-color .2s ease, transform .2s var(--fs-ease); }
.forge-site-page #main .fs-template:hover { border-color: rgba(255, 255, 255, .24); transform: translateY(-3px); }
.forge-site-page #main .fs-template[hidden] { display: none; }
.forge-site-page #main .fs-template__body { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 16px; }
.forge-site-page #main .fs-template__meta { margin: 0 0 8px; color: var(--fs-text-3); font-size: 12.5px; letter-spacing: .02em; }
.forge-site-page #main .fs-template h3, .forge-site-page #main .fs-use h3, .forge-site-page #main .fs-profile h3 { margin: 0; color: var(--fs-text); font: 500 19px/1.3 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.01em; }
.forge-site-page #main .fs-template__body > p:not(.fs-template__meta):not(.fs-prompt) { margin: 8px 0 0; color: var(--fs-text-2); font-size: 15px; line-height: 1.55; }
.forge-site-page #main .fs-template .fs-link-forge { margin-top: auto; padding-top: 12px; }
.forge-site-page #main .fs-thumb { position: relative; height: 158px; overflow: hidden; padding: 22px 26px 0; background: linear-gradient(140deg, #2a1d64, #122c56 60%, #3a1630); }
.forge-site-page #main .fs-thumb::before { content: ""; position: absolute; inset: 22px 26px -10px; border-radius: 12px 12px 0 0; background: var(--fs-paper); box-shadow: 0 16px 40px rgba(0, 0, 0, .35); }
.forge-site-page #main .fs-thumb > * { position: relative; z-index: 1; }
.forge-site-page #main .fs-thumb i { display: block; border-radius: 4px; background: #e2e5f1; }
.forge-site-page #main .fs-thumb__bar { height: 8px; margin: 12px 14px 10px; width: 40%; background: #cfd3e6 !important; }
.forge-site-page #main .fs-thumb__hero { height: 44px; margin: 0 14px 10px; background: linear-gradient(120deg, #c9c1ff, #ffd1d6) !important; }
.forge-site-page #main .fs-thumb__cols, .forge-site-page #main .fs-thumb__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 14px; }
.forge-site-page #main .fs-thumb__cols i { height: 40px; }
.forge-site-page #main .fs-thumb__grid { grid-template-columns: repeat(4, 1fr); }
.forge-site-page #main .fs-thumb__grid i { height: 70px; background: linear-gradient(180deg, #fbe7b1 55%, #e2e5f1 55%); }
.forge-site-page #main .fs-thumb--portal { display: grid; grid-template-columns: 30% 1fr; gap: 10px; padding-top: 34px; }
.forge-site-page #main .fs-thumb__side, .forge-site-page #main .fs-thumb__rows, .forge-site-page #main .fs-thumb__checks { display: grid; align-content: start; gap: 8px; padding: 0 0 0 14px; }
.forge-site-page #main .fs-thumb__side i { height: 10px; }
.forge-site-page #main .fs-thumb__side i:first-child { background: #c9c1ff; }
.forge-site-page #main .fs-thumb__rows { padding: 0 14px 0 0; }
.forge-site-page #main .fs-thumb__rows i { height: 26px; }
.forge-site-page #main .fs-thumb__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin: 0 14px; }
.forge-site-page #main .fs-thumb__days i { height: 22px; }
.forge-site-page #main .fs-thumb__days i.is-on { background: #b6abff; }
.forge-site-page #main .fs-thumb__checks { padding: 0 14px; }
.forge-site-page #main .fs-thumb__checks i { height: 20px; background: linear-gradient(90deg, #e2e5f1 12%, transparent 12%, transparent 16%, #e2e5f1 16%); }
.forge-site-page #main .fs-thumb__checks i.is-on { background: linear-gradient(90deg, #7fd9ae 12%, transparent 12%, transparent 16%, #e2e5f1 16%); }
.forge-site-page #main .fs-thumb__lanes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 14px; }
.forge-site-page #main .fs-thumb__lanes span { display: grid; align-content: start; gap: 6px; padding: 6px; border-radius: 6px; background: #eef0f7; }
.forge-site-page #main .fs-thumb__lanes i { height: 18px; background: #fff; }
.forge-site-page #main [data-fs-cat="portals"] .fs-thumb, .forge-site-page #main .fs-use:nth-child(1) .fs-thumb { background: linear-gradient(140deg, #122c56, #2a1d64); }
.forge-site-page #main [data-fs-cat="booking"] .fs-thumb { background: linear-gradient(140deg, #3a1630, #2a1d64 70%); }
.forge-site-page #main [data-fs-cat="commerce"] .fs-thumb { background: linear-gradient(140deg, #4a3a0c, #3a1630 70%); }
.forge-site-page #main [data-fs-cat="community"] .fs-thumb { background: linear-gradient(140deg, #0f3b33, #122c56 70%); }
.forge-site-page #main .fs-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.forge-site-page #main .fs-filters[hidden] { display: none; }
.forge-site-page #main .fs-filters button { min-height: 42px; padding: 0 16px; border: 1px solid var(--fs-line-strong); border-radius: 999px; background: transparent; color: var(--fs-text-2); font: 400 15px/1 "Cerebri Sans", Inter, sans-serif; cursor: pointer; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.forge-site-page #main .fs-filters button:hover { border-color: rgba(255, 255, 255, .34); color: var(--fs-text); }
.forge-site-page #main .fs-filters button[aria-pressed="true"] { border-color: transparent; background: var(--fs-text); color: var(--fs-deep); }
.forge-site-page #main .fs-count { margin: 0 0 22px; color: var(--fs-text-3); font-size: 14px; }

/* ---------- sub pages ---------- */
.forge-site-page #main .fs-subhero { position: relative; isolation: isolate; overflow: clip; padding: 128px 0 150px; text-align: center; }
.forge-site-page #main .fs-subhero .fs-shell { position: relative; z-index: 1; }
.forge-site-page #main .fs-subhero h1 { max-width: 980px; margin: 0 auto 24px; color: var(--fs-text); font: 300 clamp(44px, 5.8vw, 88px)/1.06 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.052em; }
.forge-site-page #main .fs-subhero__lead { max-width: 720px; margin: 0 auto 34px; color: var(--fs-text-2); font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; }
.forge-site-page #main .fs-subhero + .fs-section { padding-top: 40px; }
.forge-site-page #main .fs-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.forge-site-page #main .fs-profile { display: flex; flex-direction: column; padding: 28px 26px 18px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); scroll-margin-top: 140px; }
.forge-site-page #main .fs-profile__index { margin-bottom: 20px; color: var(--fs-link); font-size: 14px; }
.forge-site-page #main .fs-profile > p:not(.fs-prompt) { margin: 10px 0 0; color: var(--fs-text-2); font-size: 15.5px; line-height: 1.6; }
.forge-site-page #main .fs-profile__links { display: flex; flex-wrap: wrap; gap: 0 22px; margin-top: auto; padding-top: 14px; }
.forge-site-page #main .fs-use-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.forge-site-page #main .fs-use { display: flex; flex-direction: column; overflow: hidden; padding-bottom: 12px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); }
.forge-site-page #main .fs-use > :not(.fs-thumb) { margin-inline: 22px; }
.forge-site-page #main .fs-use .fs-template__meta { margin-top: 20px; }
.forge-site-page #main .fs-use > p:not(.fs-template__meta) { margin-top: 8px; margin-bottom: 0; color: var(--fs-text-2); font-size: 15px; line-height: 1.55; }
.forge-site-page #main .fs-use .fs-link-forge { margin-top: auto; padding-top: 10px; }
.forge-site-page #main .fs-modes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.forge-site-page #main .fs-modes__grid article { padding: 32px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: linear-gradient(160deg, rgba(106, 88, 255, .14), transparent 55%), var(--fs-surface); }
.forge-site-page #main .fs-modes__grid article:nth-child(2) { background: linear-gradient(160deg, rgba(239, 51, 64, .12), transparent 55%), var(--fs-surface); }
.forge-site-page #main .fs-modes__grid h3 { margin: 0 0 18px; color: var(--fs-text); font: 300 30px/1.1 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.04em; }
.forge-site-page #main .fs-modes__grid ul, .forge-site-page #main .fs-checks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-modes__grid li, .forge-site-page #main .fs-checks li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; color: var(--fs-text-2); font-size: 16px; line-height: 1.55; }
.forge-site-page #main :is(.fs-modes__grid, .fs-checks) svg { width: 20px; height: 20px; margin-top: 2px; fill: none; stroke: var(--fs-link); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* building blocks */
.forge-site-page #main .fs-stages__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 56px; }
.forge-site-page #main .fs-stages__nav { position: sticky; top: 150px; }
.forge-site-page #main .fs-stages__nav h2 { margin: 0 0 16px; color: var(--fs-text-3); font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.forge-site-page #main .fs-stages__nav ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--fs-line); }
.forge-site-page #main .fs-stages__nav a { display: flex; gap: 12px; min-height: 40px; align-items: center; margin-left: -1px; padding: 6px 14px; border-left: 2px solid transparent; color: var(--fs-text-2); font-size: 15px; text-decoration: none; }
.forge-site-page #main .fs-stages__nav a span { color: var(--fs-text-3); font-size: 12.5px; }
.forge-site-page #main .fs-stages__nav a:hover, .forge-site-page #main .fs-stages__nav a[aria-current="true"] { border-left-color: var(--fs-accent); color: var(--fs-text); }
.forge-site-page #main .fs-stages__list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-stage { padding: 34px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); scroll-margin-top: 140px; }
.forge-site-page #main .fs-stage__head { display: flex; align-items: baseline; gap: 16px; }
.forge-site-page #main .fs-stage__index { color: var(--fs-link); font-size: 14px; }
.forge-site-page #main .fs-stage h3 { margin: 0; color: var(--fs-text); font: 300 clamp(28px, 2.6vw, 38px)/1.1 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.045em; }
.forge-site-page #main .fs-stage__forge { max-width: 70ch; margin: 18px 0 0; color: var(--fs-text-2); font-size: 16px; line-height: 1.6; }
.forge-site-page #main .fs-stage__forge strong { display: block; margin-bottom: 4px; color: var(--fs-text); font-weight: 500; }
.forge-site-page #main .fs-stage__label { margin: 26px 0 12px; color: var(--fs-text-3); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.forge-site-page #main .fs-bricks { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.forge-site-page #main .fs-bricks a { position: relative; display: grid; gap: 6px; height: 100%; padding: 18px 44px 18px 18px; border: 1px solid var(--fs-line); border-radius: 16px; background: var(--fs-surface-2); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.forge-site-page #main .fs-bricks a:hover { border-color: rgba(106, 88, 255, .6); transform: translateY(-2px); }
.forge-site-page #main .fs-bricks strong { color: var(--fs-text); font-size: 16px; font-weight: 500; }
.forge-site-page #main .fs-bricks span { color: var(--fs-text-2); font-size: 14.5px; line-height: 1.5; }
.forge-site-page #main .fs-bricks svg { position: absolute; right: 16px; top: 18px; width: 18px; height: 18px; fill: none; stroke: var(--fs-link); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* trust */
.forge-site-page #main .fs-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 64px; }
.forge-site-page #main .fs-split .fs-flag--large { margin-bottom: 26px; }
.forge-site-page #main .fs-facts { display: grid; margin: 0; border-top: 1px solid var(--fs-line); }
.forge-site-page #main .fs-facts div { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--fs-line); }
.forge-site-page #main .fs-facts dt { color: var(--fs-text); font-size: 17px; font-weight: 500; }
.forge-site-page #main .fs-facts dd { margin: 0; color: var(--fs-text-2); font-size: 15.5px; line-height: 1.6; }
.forge-site-page #main .fs-table-wrap { overflow-x: auto; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: var(--fs-surface); }
.forge-site-page #main .fs-table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.forge-site-page #main .fs-table :is(th, td) { padding: 16px 22px; border-bottom: 1px solid var(--fs-line); color: var(--fs-text-2); text-align: left; vertical-align: top; }
.forge-site-page #main .fs-table thead th { color: var(--fs-text-3); font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.forge-site-page #main .fs-table tbody th { width: 30%; color: var(--fs-text); font-weight: 500; }
.forge-site-page #main .fs-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.forge-site-page #main .fs-checks svg { stroke: var(--fs-be-yellow); }
.forge-site-page #main .fs-questions__panel { padding: 56px clamp(26px, 5vw, 72px); border: 1px solid var(--fs-line); border-radius: 28px; background: radial-gradient(50% 60% at 100% 0%, rgba(239, 51, 64, .14), transparent 70%), var(--fs-deep); }
.forge-site-page #main .fs-questions__panel .fs-head { margin-bottom: 30px; }
.forge-site-page #main .fs-question-list { display: grid; gap: 0; margin: 0 0 36px; padding: 0; counter-reset: fsq; list-style: none; }
.forge-site-page #main .fs-question-list li { display: grid; grid-template-columns: 44px 1fr; padding: 16px 0; border-bottom: 1px solid var(--fs-line); color: var(--fs-text); font-size: 17px; line-height: 1.5; counter-increment: fsq; }
.forge-site-page #main .fs-question-list li::before { content: counter(fsq, decimal-leading-zero); color: var(--fs-link); font-size: 14px; line-height: 1.9; }

/* ---------- final call to action ---------- */
.forge-site-page #main .fs-final { position: relative; isolation: isolate; overflow: clip; margin-top: 140px; padding: 150px 0 170px; text-align: center; }
.forge-site-page #main .fs-final .fs-shell { position: relative; z-index: 1; }
.forge-site-page #main .fs-final h2 { max-width: 900px; margin: 0 auto 20px; color: var(--fs-text); font: 300 clamp(42px, 5.4vw, 80px)/1.04 "Cerebri Sans", Inter, sans-serif; letter-spacing: -.052em; }
.forge-site-page #main .fs-final > .fs-shell > p:not(.fs-final__links) { margin: 0 auto 34px; color: var(--fs-text-2); font-size: 18px; line-height: 1.6; }
.forge-site-page #main .fs-final .fs-actions { justify-content: center; }
.forge-site-page #main .fs-final__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 30px 0 0; }
.forge-site-page #main .fs-final__links a { display: inline-flex; min-height: 44px; align-items: center; color: rgba(242, 244, 251, .86); font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  .forge-site-page #main .fs-glow { animation: fs-breathe 16s ease-in-out infinite alternate; }
  .forge-site-page #main .fs-caret { animation: fs-blink 1.05s steps(1) infinite; }
  .forge-site-page #main .fs-hero .fc-shell, .forge-site-page #main .fs-subhero .fs-shell { animation: fs-rise .8s var(--fs-ease) both; }
  .forge-site-page #main [data-fs-accordion].is-enhanced .fs-visual[data-open] .fs-visual__stage { animation: fs-fade .5s var(--fs-ease) both; }
  @supports (animation-timeline: view()) {
    .forge-site-page #main :is(.fs-card, .fs-template, .fs-profile, .fs-stage, .fs-cycle__track li) { animation: fs-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
  }
}
@keyframes fs-breathe { from { transform: translateY(0) scale(1); } to { transform: translateY(-2%) scale(1.03); } }
@keyframes fs-blink { 50% { opacity: 0; } }
@keyframes fs-rise { from { transform: translateY(18px); opacity: .001; } to { transform: none; opacity: 1; } }
@keyframes fs-fade { from { opacity: .001; transform: scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fs-reveal { from { transform: translateY(26px); opacity: .35; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .forge-site-page #main *, .forge-site-page .fs-nav * { animation: none !important; transition: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .forge-site-page #main .fs-template-grid--preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forge-site-page #main .fs-use-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forge-site-page #main .fs-cycle__track { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 34px; }
  .forge-site-page #main .fs-cycle__track::before { display: none; }
  .forge-site-page #main .fs-run__panel { grid-template-columns: 1fr; gap: 28px; }
  .forge-site-page #main .fs-run__intro { display: contents; }
  .forge-site-page #main .fs-run h2 { order: 1; }
  .forge-site-page #main .fs-run__lead { order: 2; margin: 0; }
  .forge-site-page #main .fs-run__visuals { order: 3; }
  .forge-site-page #main .fs-run__list { order: 4; }
  .forge-site-page #main [data-fs-accordion].is-enhanced .fs-visual[data-open] { position: relative; top: auto; }
  .forge-site-page #main .fs-visual { min-height: 440px; }
}
@media (max-width: 960px) {
  .fs-nav { position: relative; top: auto; }
  .forge-site-page #main .fs-cards, .forge-site-page #main .fs-profile-grid, .forge-site-page #main .fs-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forge-site-page #main .fs-cards > :last-child { grid-column: 1 / -1; }
  .forge-site-page #main .fs-head--split, .forge-site-page #main .fs-split { grid-template-columns: 1fr; gap: 20px; }
  .forge-site-page #main .fs-stages__layout { grid-template-columns: 1fr; gap: 28px; }
  .forge-site-page #main .fs-stages__nav { position: static; }
  .forge-site-page #main .fs-stages__nav ol { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; }
  .forge-site-page #main .fs-stages__nav a { border-left: 0; padding-left: 0; }
}
@media (max-width: 720px) {
  .fs-nav__inner { width: calc(100% - 24px); gap: 12px; }
  .fs-nav__links { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); }
  .forge-site-page .fs-nav__links a { padding: 0 10px; font-size: 14px; }
  .forge-site-page .fs-nav .fs-nav__cta { padding: 0 13px; font-size: 13.5px; }
  .fs-shell { width: calc(100% - 32px); }
  .forge-site-page #main .fs-pill { gap: 8px; padding: 7px 12px 7px 10px; font-size: 13px; }
  .forge-site-page #main .fs-hero { min-height: 0; padding: 64px 0 84px; }
  .forge-site-page #main .fs-hero .fc-shell { width: calc(100% - 32px); }
  .forge-site-page #main .fs-hero .fc-composer { padding: 14px; border-radius: 22px; }
  .forge-site-page #main .fs-hero .fc-composer textarea { min-height: 116px; font-size: 17px; }
  .forge-site-page #main .fs-section { padding-top: 88px; }
  .forge-site-page #main .fs-head { margin-bottom: 36px; }
  .forge-site-page #main .fs-cards, .forge-site-page #main .fs-profile-grid, .forge-site-page #main .fs-template-grid, .forge-site-page #main .fs-template-grid--preview, .forge-site-page #main .fs-use-grid, .forge-site-page #main .fs-modes__grid { grid-template-columns: 1fr; }
  .forge-site-page #main .fs-card__visual { height: 240px; }
  .forge-site-page #main .fs-run__panel { width: calc(100% - 16px); padding: 56px 20px 24px; border-radius: 24px; }
  .forge-site-page #main .fs-visual { min-height: 360px; border-radius: 18px; }
  .forge-site-page #main .fs-logos { grid-template-columns: repeat(5, 52px); grid-auto-rows: 52px; gap: 7px; }
  .forge-site-page #main .fs-logos__cell { border-radius: 12px; }
  .forge-site-page #main .fs-logos__cell img { width: 24px; height: 24px; }
  .forge-site-page #main .fs-logos__core { border-radius: 13px; font-size: 24px; }
  .forge-site-page #main .fs-orbit__node { width: 44px; height: 44px; }
  .forge-site-page #main .fs-orbit__node svg { width: 19px; height: 19px; }
  .forge-site-page #main .fs-orbit__node--2 { left: calc(50% - 22px); }
  .forge-site-page #main .fs-orbit__window { inset: 14% 17%; }
  .forge-site-page #main .fs-cycle__track { grid-template-columns: 1fr; row-gap: 0; }
  .forge-site-page #main .fs-cycle__track li { grid-template-columns: 46px 1fr; column-gap: 16px; row-gap: 2px; padding: 0 0 22px; }
  .forge-site-page #main .fs-cycle__dot { grid-row: span 2; margin: 0; }
  .forge-site-page #main .fs-subhero { padding: 72px 0 96px; }
  .forge-site-page #main .fs-stage { padding: 24px 20px; }
  .forge-site-page #main .fs-stages__nav ol { grid-template-columns: 1fr; }
  .forge-site-page #main .fs-facts div { grid-template-columns: 1fr; gap: 6px; }
  .forge-site-page #main .fs-table :is(th, td) { padding: 14px 16px; }
  .forge-site-page #main .fs-final { margin-top: 96px; padding: 96px 0 110px; }
  .forge-site-page #main .fs-actions:not(.fs-actions--center) .fs-btn { width: 100%; }
  .forge-site-page #main .fs-final .fs-btn, .forge-site-page #main .fs-subhero .fs-btn { width: 100%; }
}
