/* ══════════════════════════════════════════════════════════════════════
   NOVEXA Business — stylesheet
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --color-bg:#161826;
  --color-surface:#232532;
  --color-text:#e9e9ed;
  --color-divider:color-mix(in srgb, #e9e9ed 16%, transparent);

  --color-accent:#01bd3c;
  --color-accent-100:#eafdf0; --color-accent-200:#c6f8d7; --color-accent-300:#8ff0b2;
  --color-accent-400:#46e17f; --color-accent-500:#01bd3c; --color-accent-600:#0a9c37;
  --color-accent-700:#0b762c; --color-accent-800:#0a5220; --color-accent-900:#0b3317;

  --color-accent-2:#31e168;
  --color-accent-2-100:#eafdf0; --color-accent-2-200:#c6f8d7; --color-accent-2-300:#8ff0b2;
  --color-accent-2-400:#5ceb8e; --color-accent-2-500:#31e168; --color-accent-2-600:#1eb551;
  --color-accent-2-700:#17883d; --color-accent-2-800:#125c2a; --color-accent-2-900:#0d3a1c;

  --color-neutral-100:#f3f5fe; --color-neutral-200:#e4e7f5; --color-neutral-300:#cfd3e5;
  --color-neutral-400:#b2b6ca; --color-neutral-500:#9397ab; --color-neutral-600:#75798c;
  --color-neutral-700:#595d6c; --color-neutral-800:#3f424d; --color-neutral-900:#292b31;

  --color-section:#0a3d1f; --color-section-glow:#12723a; --color-section-ghost:#2f7f4c;

  --font-heading:"Inter", system-ui, sans-serif;
  --font-heading-weight:500;
  --font-body:"Inter", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;

  --space-1:2.8px; --space-2:5.6px; --space-3:8.4px; --space-4:11.2px; --space-6:16.8px; --space-8:22.4px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px;

  --shadow-sm:0 0 0 1px #3f424d;
  --shadow-md:0 0 0 1px #595d6c, 0 6px 18px rgba(0,0,0,0.55);
  --shadow-lg:0 0 0 1px #9397ab, 0 16px 40px rgba(0,0,0,0.65);
}

/* — reset — */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-size:15px; line-height:1.55; font-weight:400;
  background:var(--color-bg); color:var(--color-text); font-family:var(--font-body);
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading); font-weight:var(--font-heading-weight);
  line-height:1.12; letter-spacing:-0.015em; margin:0 0 var(--space-2);
}
p{ margin:0 0 var(--space-3); }
a{ color:var(--color-accent-300); text-decoration:none; }
a:hover{ color:var(--color-accent-2); }
img{ display:block; max-width:100%; }
::selection{ background:color-mix(in srgb, var(--color-accent) 30%, transparent); }
::placeholder{ color:color-mix(in srgb, var(--color-text) 34%, transparent); }
:focus{ outline:none; }
:focus-visible{ outline:2px solid var(--color-accent); outline-offset:2px; }
.lighten{ mix-blend-mode:lighten; background-color:transparent; }

/* — buttons — */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  cursor:pointer; text-decoration:none;
  font-family:var(--font-heading); font-weight:var(--font-heading-weight);
  font-size:14px; line-height:1.2; color:var(--color-text);
  background:transparent; border:1px solid transparent;
  padding:var(--space-2) calc(var(--space-3) * 1.2);
  border-radius:var(--radius-md);
}
.btn:disabled{ opacity:0.45; cursor:not-allowed; }
.btn-primary{ color:var(--color-accent); border-color:var(--color-accent); }
.btn-primary:hover{ background:color-mix(in srgb, var(--color-accent) 12%, transparent); color:var(--color-accent); }
.btn-primary:active{ background:color-mix(in srgb, var(--color-accent) 22%, transparent); }
.btn-secondary{ border-color:var(--color-divider); color:var(--color-text); }
.btn-secondary:hover{ background:color-mix(in srgb, var(--color-text) 7%, transparent); color:var(--color-text); }
.btn-secondary:active{ background:color-mix(in srgb, var(--color-text) 14%, transparent); }

/* — forms — */
.field{ display:grid; gap:7px; }
.field__label{ font-size:12.5px; color:color-mix(in srgb, var(--color-text) 74%, transparent); }
.field--full{ grid-column:1 / -1; }
.input{
  width:100%; min-height:36px; padding:6px 10px; font:inherit;
  font-size:14px; color:var(--color-text); caret-color:var(--color-accent);
  background:var(--color-surface);
  border:1px solid var(--color-divider); border-radius:var(--radius-md);
}
.input:hover{ border-color:color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible{ border-color:var(--color-accent); outline-offset:0; }
textarea.input{ min-height:90px; resize:vertical; }
select.input{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--color-accent) 50%),linear-gradient(135deg,var(--color-accent) 50%,transparent 50%);
  background-position:calc(100% - 15px) 16px,calc(100% - 11px) 16px;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:32px;
}
select.input option{ background:#232532; color:#e9e9ed; }

/* — cards — */
.card{ display:flex; flex-direction:column; gap:var(--space-2); padding:var(--space-3); border-radius:var(--radius-md); background:var(--color-surface); }
.card-kicker{ font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); }
.card-title{ font-family:var(--font-heading); font-weight:var(--font-heading-weight); font-size:17px; line-height:1.2; }
.card-body{ margin:0; font-size:13px; opacity:0.8; flex:1; }

/* — tags — */
.tag{ display:inline-flex; align-items:center; font-size:11px; letter-spacing:0.02em; padding:3px 10px; border-radius:calc(var(--radius-md) * 0.75); }
.tag-accent{ background:var(--color-accent-800); color:var(--color-accent-100); }
.tag-neutral{ background:var(--color-neutral-800); color:var(--color-neutral-100); }
.tag-outline{ border:1px solid var(--color-accent); color:var(--color-accent); }

/* — fading rule — */
.fade-rule{ height:1px; border:0; margin:0; background:linear-gradient(90deg, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent); }
.fade-rule--section{ margin:64px 0 40px; }

/* ══════════════════════════════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════════════════════════════ */
.site-header{ position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); background:color-mix(in srgb, #161826 88%, transparent); border-bottom:1px solid var(--color-divider); }
.site-header__inner{ position:relative; max-width:1240px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; gap:40px; }
.brand{ display:flex; align-items:baseline; gap:7px; flex-shrink:0; }
.brand__logo{ height:19px; width:auto; display:block; }
.brand__suffix{ font-family:var(--mono); font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 52%, transparent); }
.main-nav{ display:flex; gap:26px; align-items:center; margin-left:auto; }
.main-nav a{ font-size:13px; color:color-mix(in srgb, var(--color-text) 66%, transparent); }
.main-nav a:hover{ color:var(--color-accent-2); }
.main-nav .btn{ font-size:12.5px; letter-spacing:0.02em; }
.nav-toggle{ display:none; width:38px; height:38px; margin-left:auto; align-items:center; justify-content:center; border:1px solid var(--color-divider); border-radius:var(--radius-md); background:transparent; color:var(--color-text); cursor:pointer; }
.nav-toggle svg{ width:18px; height:18px; display:block; }
.header-logo{width:15% }

/* ══════════════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════════════ */
.hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--color-divider); }
.hero__bg-grid{ position:absolute; inset:0; opacity:0.5; background-image:linear-gradient(color-mix(in srgb,#31e168 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb,#31e168 8%, transparent) 1px, transparent 1px); background-size:64px 64px; mask-image:radial-gradient(120% 90% at 18% 0%, #000 0%, transparent 72%); pointer-events:none; }
.hero__glow{ position:absolute; top:-320px; left:-180px; width:900px; height:760px; background:radial-gradient(closest-side, color-mix(in srgb,#01bd3c 20%, transparent), transparent); filter:blur(30px); pointer-events:none; }
.hero__inner{ position:relative; max-width:1240px; margin:0 auto; padding:104px 32px 88px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr); gap:64px; align-items:center; }
.hero__eyebrow{ display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.hero__eyebrow-line{ width:26px; height:1px; background:var(--color-accent-2); }
.hero__eyebrow-text{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.24em; text-transform:uppercase; color:var(--color-accent-2); }
.hero__title{ font-family:var(--font-heading); font-weight:500; font-size:clamp(32px,4.4vw,62px); line-height:1.04; letter-spacing:-0.028em; margin:0 0 26px; text-wrap:balance; }
.hero__title-accent{ color:var(--color-accent-2); }
.hero__desc{ font-size:17px; line-height:1.62; color:color-mix(in srgb, var(--color-text) 72%, transparent); max-width:56ch; margin:0 0 34px; text-wrap:pretty; }
.hero__cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:40px; }
.hero__cta-row .btn{ font-size:14px; padding:11px 22px; }
.hero__tags{ display:flex; flex-wrap:wrap; gap:10px; }
.hero__tags .tag{ font-family:var(--mono); }
.hero__panel{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); background:linear-gradient(160deg, color-mix(in srgb,#232532 92%, transparent), color-mix(in srgb,#161826 96%, transparent)); box-shadow:var(--shadow-lg); overflow:hidden; }
.hero__panel-head{ display:flex; align-items:center; gap:8px; padding:11px 16px; border-bottom:1px solid var(--color-divider); }
.hero__panel-dot{ width:7px; height:7px; border-radius:50%; background:var(--color-accent); }
.hero__panel-label{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 50%, transparent); }
.hero__panel-body{ padding:20px 22px 24px; font-family:var(--mono); font-size:12.5px; line-height:2.05; overflow-x:auto; }
.code-line{ white-space:nowrap; }
.code-line--a{ color:var(--color-accent-2); }
.code-line--b{ color:var(--color-accent-300); }
.code-line--c{ color:color-mix(in srgb, var(--color-text) 44%, transparent); }
.code-line__desc{ color:color-mix(in srgb, var(--color-text) 34%, transparent); }

/* ══════════════════════════════════════════════════════════════════════
   PROOF BAND
   ══════════════════════════════════════════════════════════════════════ */
.proof-band{ position:relative; background:var(--color-section); overflow:hidden; }
.proof-band__bg{ position:absolute; inset:0; background-image: url(assets/bar-bg.png); background-size: cover; pointer-events:none; }
.proof-band__grid{ position:relative; max-width:1240px; margin:0 auto; padding:52px 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:40px; }
.stat__value{ font-family:var(--font-heading); font-weight:500; font-size:42px; letter-spacing:-0.03em; line-height:1; color:#eafdf0; }
.stat__value-suffix{ font-size:24px; }
.stat__label{ font-size:13px; line-height:1.5; margin-top:10px; color:color-mix(in srgb,#fff 94%, transparent); font-weight:bold; }

/* ══════════════════════════════════════════════════════════════════════
   SECTION SHELL (shared)
   ══════════════════════════════════════════════════════════════════════ */
.section{ max-width:1240px; margin:0 auto; padding:96px 32px 0; }
.section-kicker{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--color-accent); margin-bottom:18px; }
.section-title{ font-family:var(--font-heading); font-weight:500; font-size:clamp(28px,4.2vw,38px); line-height:1.1; letter-spacing:-0.025em; margin:0 0 14px; }
.section-title--overview{ margin:0 0 20px; }
.section-title--wide{ margin:0 0 44px; }
.section-lead{ font-size:15px; line-height:1.7; color:color-mix(in srgb, var(--color-text) 66%, transparent); max-width:64ch; margin:0 0 44px; text-wrap:pretty; }
.section-lead--tight{ margin:0; max-width:none; }

/* ══════════════════════════════════════════════════════════════════════
   OVERVIEW
   ══════════════════════════════════════════════════════════════════════ */
.overview__grid{ display:grid; grid-template-columns:minmax(0,0.42fr) minmax(0,0.58fr); gap:64px; }
.overview__list{ display:grid; gap:22px; }
.overview__item h3{ font-family:var(--font-heading); font-weight:500; font-size:19px; margin:0 0 8px; }
.overview__item p{ font-size:15px; line-height:1.72; color:color-mix(in srgb, var(--color-text) 72%, transparent); margin:0; text-wrap:pretty; }

/* ══════════════════════════════════════════════════════════════════════
   ARCHITECTURE
   ══════════════════════════════════════════════════════════════════════ */
.arch-diagram{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); background:color-mix(in srgb,#232532 55%, transparent); padding:28px; display:grid; gap:14px; }
.arch-row{ display:grid; grid-template-columns:88px 1fr; gap:20px; }
.arch-row--stretch{ align-items:stretch; }
.arch-row__label-col{ display:flex; align-items:center; gap:10px; }
.arch-row__bar{ width:3px; align-self:stretch; border-radius:2px; background:var(--color-accent); }
.arch-row__bar--accent2{ background:var(--color-accent-2); }
.arch-row__label{ font-family:var(--mono); font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 58%, transparent); writing-mode:vertical-rl; transform:rotate(180deg); }
.arch-row__content{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.arch-row__content--center{ align-items:center; }
.arch-col{ display:grid; gap:8px; }
.arch-tiles-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.arch-tile{ border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:9px; text-align:center; font-size:12.5px; background:color-mix(in srgb,#232532 70%, transparent); }
.arch-module-badge{ border:1px solid var(--color-accent-700); border-radius:var(--radius-md); padding:10px; text-align:center; font-family:var(--mono); font-size:12px; color:var(--color-accent-2); background:color-mix(in srgb,#01bd3c 9%, transparent); }
.arch-orleans-box{ display:flex; align-items:center; justify-content:center; gap:12px; padding:10px; border:1px dashed var(--color-divider); border-radius:var(--radius-md); }
.arch-orleans-box span:first-child{ font-family:var(--mono); font-size:13px; color:var(--color-text); }
.arch-orleans-box span:last-child{ font-family:var(--mono); font-size:13px; color:var(--color-accent-2); }
.arch-backend-stack{ display:grid; gap:12px; }
.arch-backend-block{ border-radius:var(--radius-md); padding:16px; border:1px solid var(--color-divider); background:color-mix(in srgb,#232532 60%, transparent); }
.arch-backend-block--silo{ background:color-mix(in srgb,#01bd3c 7%, transparent); border-color:color-mix(in srgb,#01bd3c 22%, transparent); }
.arch-backend-block--infra{ background:color-mix(in srgb,#31e168 6%, transparent); border-color:color-mix(in srgb,#31e168 20%, transparent); }
.arch-backend-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.arch-backend-tile{ border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:8px; text-align:center; font-size:12px; background:color-mix(in srgb,#161826 55%, transparent); }
.arch-backend-caption{ text-align:center; font-family:var(--mono); font-size:11.5px; color:var(--color-accent-300); }
.arch-model-tags{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-bottom:12px; }
.arch-model-caption{ text-align:center; font-family:var(--mono); font-size:11.5px; color:color-mix(in srgb, var(--color-text) 52%, transparent); }
.arch-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }

/* ══════════════════════════════════════════════════════════════════════
   PLATFORM
   ══════════════════════════════════════════════════════════════════════ */
.platform__grid{ display:grid; grid-template-columns:minmax(0,0.44fr) minmax(0,0.56fr); gap:56px; align-items:start; }
.platform__subhead{ font-family:var(--font-heading); font-weight:500; font-size:20px; margin:0 0 20px; }
.stack-list{ display:grid; gap:0; }
.stack-row{ display:grid; grid-template-columns:104px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--color-divider); }
.stack-row:last-child{ border-bottom:1px solid var(--color-divider); }
.stack-row__label{ font-size:13px; color:var(--color-text); }
.stack-row__value{ font-family:var(--mono); font-size:12.5px; line-height:1.6; color:color-mix(in srgb, var(--color-text) 62%, transparent); }
.modules-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.module-card{ gap:10px; }
.module-card__index{ font-family:var(--mono); font-size:11px; color:var(--color-accent); }
.module-card .card-title{ font-size:16px; }
.module-card .card-body{ font-size:13px; }
.integrations__grid{ display:grid; grid-template-columns:minmax(0,0.34fr) minmax(0,0.66fr); gap:56px; }
.integrations__intro p{ font-size:14.5px; line-height:1.7; color:color-mix(in srgb, var(--color-text) 66%, transparent); margin:0; text-wrap:pretty; }
.integrations__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.integrations__col-label{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent); margin-bottom:10px; }
.integrations__col p{ font-size:14px; line-height:1.65; color:color-mix(in srgb, var(--color-text) 70%, transparent); margin:0; }

/* ══════════════════════════════════════════════════════════════════════
   ASSURANCE
   ══════════════════════════════════════════════════════════════════════ */
.assurance-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.assurance-card{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); padding:28px; background:color-mix(in srgb,#232532 45%, transparent); }
.assurance-card__head{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.assurance-card__bar{ width:18px; height:1px; background:var(--color-accent); }
.assurance-card__title{ font-family:var(--font-heading); font-weight:500; font-size:20px; margin:0; }
.assurance-card__body{ display:grid; gap:14px; }
.assurance-item__title{ font-size:14px; font-weight:500; margin-bottom:4px; }
.assurance-item__desc{ font-size:13.5px; line-height:1.6; color:color-mix(in srgb, var(--color-text) 66%, transparent); }

/* ══════════════════════════════════════════════════════════════════════
   SCENARIOS
   ══════════════════════════════════════════════════════════════════════ */
.scenarios-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.scenario__label{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent-2); margin-bottom:14px; }
.scenario h3{ font-family:var(--font-heading); font-weight:500; font-size:19px; margin:0 0 14px; }
.scenario ul{ margin:0; padding-left:18px; display:grid; gap:8px; font-size:14px; line-height:1.6; color:color-mix(in srgb, var(--color-text) 70%, transparent); }

/* ══════════════════════════════════════════════════════════════════════
   ROADMAP
   ══════════════════════════════════════════════════════════════════════ */
.roadmap-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.roadmap-col__head{ display:flex; align-items:baseline; gap:12px; margin-bottom:22px; }
.roadmap-col__head-label{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent-2); }
.roadmap-col__head-rule{ flex:1; height:1px; background:linear-gradient(90deg, var(--color-divider), transparent); }
.roadmap-items{ display:grid; gap:20px; }
.roadmap-item{ padding-left:18px; border-left:1px solid var(--color-divider); }
.roadmap-item--accent{ border-left-color:var(--color-accent-700); }
.roadmap-item__title{ font-size:15px; font-weight:500; margin-bottom:6px; }
.roadmap-item__desc{ font-size:14px; line-height:1.65; color:color-mix(in srgb, var(--color-text) 66%, transparent); }

/* ══════════════════════════════════════════════════════════════════════
   ENGAGEMENT
   ══════════════════════════════════════════════════════════════════════ */
.engagement-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.engagement-card{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; gap:16px; }
.engagement-card--highlight{ border-color:var(--color-accent); background:color-mix(in srgb,#01bd3c 6%, transparent); position:relative; }
.engagement-card--highlight::before{ content:""; position:absolute; top:-1px; left:28px; right:28px; height:1px; background:var(--color-accent-2); }
.engagement-card__kicker{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 52%, transparent); }
.engagement-card--highlight .engagement-card__kicker{ color:var(--color-accent-2); }
.engagement-card__title{ font-family:var(--font-heading); font-weight:500; font-size:22px; margin:0; }
.engagement-card__desc{ font-size:14px; line-height:1.65; color:color-mix(in srgb, var(--color-text) 68%, transparent); margin:0; flex:1; }
.engagement-card--highlight .engagement-card__desc{ color:color-mix(in srgb, var(--color-text) 72%, transparent); }
.engagement-card .btn{ font-size:13px; align-self:flex-start; }

/* ══════════════════════════════════════════════════════════════════════
   TEAM
   ══════════════════════════════════════════════════════════════════════ */
.team-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:100%; }
.team-card{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); padding:26px; display:flex; gap:22px; align-items:center; background:color-mix(in srgb,#232532 45%, transparent); }
.team-card__avatar{ width:104px; height:104px; flex-shrink:0; border-radius:50%; overflow:hidden; border:1px solid var(--color-accent-800); }
.team-card__avatar img{ width:100%; height:100%; object-fit:cover; }
.team-card__name{ font-family:var(--font-heading); font-weight:500; font-size:21px; margin:0 0 6px; }
.team-card__role{ font-size:13.5px; line-height:1.5; color:var(--color-accent-300); margin-bottom:12px; }
.team-card__email{ font-family:var(--mono); font-size:12px; color:color-mix(in srgb, var(--color-text) 58%, transparent); }
.team-card__email:hover{ color:var(--color-accent-2); }

/* ══════════════════════════════════════════════════════════════════════
   ACCESS / FORM
   ══════════════════════════════════════════════════════════════════════ */
.access{ position:relative; margin-top:96px; border-top:1px solid var(--color-divider); overflow:hidden; }
.access__bg{ position:absolute; inset:0; opacity:0.45; background-image:linear-gradient(color-mix(in srgb,#31e168 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb,#31e168 8%, transparent) 1px, transparent 1px); background-size:64px 64px; mask-image:radial-gradient(110% 100% at 88% 100%, #000 0%, transparent 68%); pointer-events:none; }
.access__inner{ position:relative; max-width:1240px; margin:0 auto; padding:88px 32px 96px; display:grid; grid-template-columns:minmax(0,0.38fr) minmax(0,0.62fr); gap:64px; align-items:start; }
.access__aside{ position:sticky; top:96px; }
.access__aside-desc{ font-size:15px; line-height:1.7; color:color-mix(in srgb, var(--color-text) 68%, transparent); margin:0 0 28px; text-wrap:pretty; }
.access__points{ display:grid; gap:10px; font-size:13.5px; color:color-mix(in srgb, var(--color-text) 58%, transparent); }
.access__point{ display:flex; gap:10px; align-items:baseline; }
.access__point-mark{ color:var(--color-accent-2); }
.access__card{ border:1px solid var(--color-divider); border-radius:var(--radius-lg); background:color-mix(in srgb,#232532 62%, transparent); box-shadow:var(--shadow-lg); padding:34px; }

.lead-form{ display:grid; gap:26px; }
.form-group__label{ font-family:var(--mono); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 48%, transparent); padding-bottom:12px; margin-bottom:18px; border-bottom:1px solid var(--color-divider); }
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-footer-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding-top:6px; }
.form-footer-row .btn{ font-size:14px; padding:12px 26px; }
.form-footer-note{ font-size:12.5px; line-height:1.5; color:color-mix(in srgb, var(--color-text) 46%, transparent); max-width:34ch; }
.form-status{ font-size:13.5px; margin-top:-8px; }
.form-status--error{ color:#ff8f8f; }

/* — success modal — */
.modal-overlay{ position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding:20px; background:color-mix(in srgb, #05070c 62%, transparent); backdrop-filter:blur(2px); }
.modal-overlay.is-open{ display:flex; }
.modal{ position:relative; width:min(460px,100%); background:var(--color-surface); border:1px solid var(--color-divider); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:38px 32px 32px; }
.modal__close{ position:absolute; top:14px; right:14px; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--color-divider); border-radius:50%; background:transparent; color:color-mix(in srgb, var(--color-text) 70%, transparent); cursor:pointer; }
.modal__close:hover{ color:var(--color-text); border-color:var(--color-accent); background:color-mix(in srgb, var(--color-accent) 10%, transparent); }
.modal__close svg{ width:15px; height:15px; display:block; }
.modal__eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--color-accent-2); margin-bottom:14px; }
.modal__title{ font-family:var(--font-heading); font-weight:500; font-size:23px; margin:0 0 12px; letter-spacing:-0.02em; }
.modal__body{ font-size:14.5px; line-height:1.65; color:color-mix(in srgb, var(--color-text) 74%, transparent); margin:0; }

/* ══════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════ */
.site-footer{ border-top:1px solid var(--color-divider); }
.site-footer__inner{ max-width:1240px; margin:0 auto; padding:36px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.site-footer__logo{ height:15px; width:auto; display:block; opacity:0.72; }
.site-footer__tagline{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:color-mix(in srgb, var(--color-text) 40%, transparent); }
.site-footer__copyright{ margin-left:auto; font-size:12.5px; color:color-mix(in srgb, var(--color-text) 40%, transparent); }
.footerLogo img{width:10%;}


/* ══════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width: 980px){
  .hero__inner{ grid-template-columns:1fr; padding:72px 24px 56px; gap:40px; }
  .overview__grid,
  .platform__grid,
  .integrations__grid,
  .access__inner{ grid-template-columns:1fr; gap:32px; }
  .access__aside{ position:static; }
  .assurance-grid,
  .scenarios-grid,
  .roadmap-grid,
  .engagement-grid,
  .team-grid,
  .arch-cards,
  .modules-grid,
  .integrations__cols{ grid-template-columns:1fr; }
  .proof-band__grid{ grid-template-columns:repeat(2,1fr); gap:28px; padding:40px 24px; }
  .arch-row__content,
  .arch-orleans-box + .arch-module-badge,
  .arch-tiles-3,
  .arch-backend-tiles{ grid-template-columns:1fr 1fr; }
  .section{ padding:72px 24px 0; }
  .fade-rule--section{ margin:48px 0 32px; }
}

@media (max-width: 860px){
  .site-header__inner{ padding:14px 20px; flex-wrap:wrap; }
  .nav-toggle{ display:inline-flex; }
  .main-nav{
    position:absolute; top:100%; left:0; right:0; margin-left:0;
    flex-direction:column; align-items:flex-start; gap:2px;
    padding:0 20px; background:#161826; border-bottom:1px solid var(--color-divider);
    max-height:0; overflow:hidden; transition:max-height .25s ease, padding .25s ease;
  }
  .main-nav.is-open{ max-height:420px; padding:8px 20px 20px; }
  .main-nav a{ width:100%; padding:10px 0; }
  .main-nav .btn{ margin:8px 0 4px; }
}

@media (max-width: 640px){
  .hero__inner{ padding:56px 20px 44px; }
  .hero__panel-body{ font-size:11.5px; }
  .proof-band__grid{ grid-template-columns:1fr 1fr; padding:32px 20px; gap:24px; }
  .stat__value{ font-size:34px; }
  .section{ padding:56px 20px 0; }
  .arch-diagram{ padding:18px; }
  .arch-row{ grid-template-columns:1fr; gap:8px; }
  .arch-row__label-col{ display:none; }
  .arch-row__content,
  .arch-tiles-3,
  .arch-backend-tiles{ grid-template-columns:1fr; }
  .arch-orleans-box{ order:2; }
  .stack-row{ grid-template-columns:1fr; gap:4px; }
  .form-row-2{ grid-template-columns:1fr; }
  .team-card{ flex-direction:column; text-align:center; }
  .access__card{ padding:22px; }
  .site-footer__inner{ text-align:center; }
  .site-footer__copyright{ margin-left:0; width:100%; }
  .modal{ padding:30px 22px 26px; }
}
