/* =========================================================================
   AUGMAS — Premium stylesheet (v3 — light theme)
   Clean, premium white theme. Single vivid green accent.
   Brand foundation: AUGMAS-DESIGN-SYSTEM.md
   ========================================================================= */

/* ----------------------------- Tokens ----------------------------------- */
:root{ --cf-ink:#0b1521; --cf-ink-2:#111f30; --cf-ink-line:rgba(255,255,255,.09);
  --bg:#ffffff; --bg-2:#f6f8fb; --bg-3:#eef2f7;
  --surface:#ffffff; --surface-2:#f6f8fb; --surface-3:#eef2f7;
  --border:#e6e9f0; --border-soft:rgba(15,23,42,.08); --border-faint:rgba(15,23,42,.05);
  --green:#16a34a; --green-bright:#1bb757; --green-2:#15803d; --green-3:#16a34a;
  --green-soft:rgba(22,163,74,.10); --green-line:rgba(22,163,74,.26); --green-glow:rgba(22,163,74,.28);
  --text:#0b1521; --text-2:#33404f; --muted:#5a6573; --muted-2:#8b95a3;
  --on-green:#ffffff;
  --stat-from:#03bc6f; --stat-to:#00995a;

  --font:"Aeonik","General Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:24px; --r-pill:999px;

  --section-y:clamp(48px,5.2vw,72px);
  --container:1200px;
  --gutter:clamp(20px,5vw,40px);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.56,.64,1);

  --shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --shadow-card:0 1px 3px rgba(16,24,40,.05),0 16px 36px -16px rgba(16,24,40,.16);
  --shadow-glow:0 22px 60px -22px rgba(0,180,108,.30);

  --mx:50%; --my:50%; /* cursor position for spotlight */
}

/* Elementor's kit ships a default Global Color "Text" of #7A7A7A (Elementor
   adds a class like .elementor-kit-<id> to <body>, <id> being that kit post's
   auto-incremented ID — different on every WordPress install, so it must
   never be hardcoded here), and its own CSS sets every text-editor widget's
   wrapper to color:var(--e-global-color-text). Since most of our heading/title
   classes below never declare their own color, they inherit that gray instead
   of --text. This was supposed to be set correctly in Elementor Site Settings
   > Global Colors before building any page (see CLAUDE.md) but never was —
   override the variable directly on <body> (present on every page regardless
   of kit ID) so every widget resolves to the intended dark text color instead. */
body{ --e-global-color-text:#0b1521 !important; }

/* Hello Elementor's own reset.css ships a placeholder magenta (#cc3366) on
   bare <button>/[type="button"]/[type="submit"] elements, meant to be
   overridden by real theme styling. Its attribute-selector rules tie in CSS
   specificity with our single-class button selectors below (both count as
   one class-level selector), and since reset.css loads after this file, it
   wins that tie on source order — showing a pink border/background on
   Product/Industries nav triggers, the nav toggle, the hero chat-send icon,
   and modal submit buttons. Each affected rule below (.btn, .navitem__btn,
   .nav__toggle, .chat-box__send) has !important added to its
   border/background/color so it wins regardless of load order. */

/* ----------------------------- Reset / base ----------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:90px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0; font-family:var(--font); background:var(--bg); color:var(--text);
  font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden; position:relative;
}
/* ambient top wash */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 42% at 50% -6%, rgba(0,180,108,.07), transparent 70%),
    radial-gradient(42% 32% at 100% 6%, rgba(0,150,110,.05), transparent 70%);
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
.icon{ width:1.15em; height:1.15em; flex:0 0 auto; }
::selection{ background:rgba(0,180,108,.18); color:#04130c; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }

.skip-link{ position:absolute; left:-9999px; top:0; z-index:1000; background:var(--green); color:var(--on-green); padding:10px 16px; border-radius:0 0 var(--r-sm) 0; font-weight:600; }
.skip-link:focus{ left:0; }
:focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:6px; }

/* grain texture overlay — lightweight static dot-noise (no blend mode / no live filter) */
.grain{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.6;
  background-image:radial-gradient(rgba(15,23,42,.018) 0.5px, transparent 0.6px); background-size:3px 3px; }

/* scroll progress */
.scroll-progress{ position:fixed; top:0; left:0; height:2px; width:0; z-index:200;
  background:linear-gradient(90deg,var(--green-2),var(--green),var(--green-bright)); box-shadow:0 0 12px var(--green-glow); }

/* custom scrollbar */
*{ scrollbar-width:thin; scrollbar-color:#cbd5e1 transparent; }
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{ background:#cdd5e0; border-radius:10px; border:2px solid var(--bg); }
*::-webkit-scrollbar-thumb:hover{ background:#b4bdca; }

/* ----------------------------- Headings / highlight --------------------- */
.hl{ color:var(--green); }

/* ----------------------------- Buttons ---------------------------------- */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font); font-weight:700; font-size:16px; line-height:1;
  padding:14px 28px; border-radius:var(--r-md); border:1px solid transparent !important;
  cursor:pointer; white-space:nowrap; overflow:hidden; isolation:isolate;
  transition:transform .28s var(--spring), background .25s, border-color .25s, box-shadow .3s, color .2s;
  will-change:transform;
  -webkit-tap-highlight-color:transparent;
}
.btn:active{ transform:translateY(1px) scale(.985); box-shadow:var(--shadow-card); }
.btn--sm{ padding:9px 16px; font-size:15px; border-radius:11px; }
.btn--lg{ padding:17px 32px; font-size:17px; }
/* sheen sweep */
.btn::after{ content:""; position:absolute; inset:0; z-index:-1; transform:translateX(-120%);
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%); }
.btn:hover::after{ transform:translateX(120%); transition:transform .8s var(--ease-out); }

.btn--primary{ background:var(--green) !important; color:#ffffff !important;
  box-shadow:0 8px 24px -10px var(--green-glow); }
.btn--primary:hover{ background:var(--green-bright) !important; color:#ffffff !important; box-shadow:0 14px 34px -10px var(--green-glow); transform:translateY(-2px); }

.btn--secondary{ background:#ffffff !important; color:var(--text) !important; border-color:var(--border) !important; box-shadow:var(--shadow-sm); }
.btn--secondary:hover{ border-color:var(--green-2) !important; color:var(--text) !important; box-shadow:0 0 0 1px var(--green-line),var(--shadow-card); transform:translateY(-2px); }

.btn--ghost{ background:#ffffff !important; color:var(--text) !important; border-color:var(--border) !important; }
.btn--ghost:hover{ border-color:var(--green-2) !important; color:var(--text) !important; background:rgba(0,180,108,.06) !important; transform:translateY(-2px); }

.btn__badge{ font-size:12px; font-weight:600; color:var(--green-2); background:var(--green-soft); padding:2px 7px; border-radius:var(--r-pill); margin-left:2px; }

/* ----------------------------- Brand ------------------------------------ */
.brand{ display:inline-flex; align-items:center; }
.brand__logo{ height:30px; width:auto; display:block; transition:transform .4s var(--spring); }
.brand:hover .brand__logo{ transform:scale(1.04); }
.footer .brand__logo{ height:32px; }

/* ----------------------------- Nav -------------------------------------- */
.nav{ position:sticky; top:0; z-index:100; background:rgba(255,255,255,.72); backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px); border-bottom:1px solid transparent; transition:background .3s, border-color .3s; }
.nav.is-scrolled{ background:rgba(255,255,255,.88); border-bottom-color:var(--border-soft); }
.nav__inner{ position:relative; display:flex; align-items:center; justify-content:space-between; height:72px; gap:16px; }
.nav__links{ position:absolute; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:4px; }
.nav__actions{ display:flex; align-items:center; gap:12px; }

/* nav items + triggers */
.navitem{ position:relative; }
.navitem__btn, .navitem__link{ display:inline-flex !important; align-items:center; gap:6px; background:none !important; border:0 !important; cursor:pointer; font-family:var(--font); font-size:16px; font-weight:500; color:var(--muted) !important; padding:9px 14px; border-radius:10px; text-decoration:none; transition:color .2s, background .2s; }
.navitem__btn:hover, .navitem__link:hover, .navitem:hover .navitem__btn, .navitem:focus-within .navitem__btn{ color:var(--text) !important; }
.navitem:hover .navitem__btn, .navitem:focus-within .navitem__btn{ background:rgba(15,23,42,.05) !important; }
.navitem__chev{ width:14px; height:14px; opacity:.65; transition:transform .28s var(--ease); }
.navitem:hover .navitem__chev, .navitem:focus-within .navitem__chev{ transform:rotate(180deg); }

/* dropdown shell (hover/focus, with hover bridge) */
.dd{ position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(10px); padding-top:14px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .26s var(--ease-out), transform .26s var(--ease-out); z-index:130; }
.navitem:hover .dd, .navitem:focus-within .dd{ opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.dd__panel, .mega{ background:#ffffff; border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card); }
.dd__panel{ padding:10px; min-width:230px; }
.dd__list{ display:flex; flex-direction:column; }
.dd__grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px 6px; }
.dd__list a, .dd__grid a{ display:block; padding:10px 14px; border-radius:10px; font-size:14.5px; font-weight:500; color:var(--muted); white-space:nowrap; transition:background .2s, color .2s; }
.dd__list a:hover, .dd__grid a:hover{ background:rgba(15,23,42,.05); color:var(--text); }

/* product mega */
.mega{ display:grid; grid-template-columns:1fr 1fr; column-gap:14px; width:680px; padding:22px; }
.mega--single{ grid-template-columns:1fr; width:340px; }
.mega__head{ display:block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); font-weight:600; margin:2px 0 8px 12px; }
.mega__col--alt{ border-left:1px solid var(--border-soft); padding-left:14px; }
.megacard{ display:flex; gap:13px; align-items:flex-start; padding:11px 12px; border-radius:12px; transition:background .22s; }
.megacard:hover{ background:rgba(15,23,42,.04); }
.megacard__ic{ flex:0 0 auto; width:40px; height:40px; border-radius:11px; background:#f0f3f8; display:grid; place-items:center; color:#5a6573; transition:background .25s, color .25s, transform .25s var(--spring); }
.megacard:hover .megacard__ic{ background:var(--green-soft); color:var(--green); transform:translateY(-1px); }
.megacard__ic svg{ width:19px; height:19px; }
.megacard__txt{ display:flex; flex-direction:column; gap:3px; }
.megacard__txt strong{ font-size:15px; font-weight:600; color:var(--text); display:inline-flex; align-items:center; gap:8px; letter-spacing:-.01em; }
.megacard__txt > span{ font-size:13px; color:var(--muted); line-height:1.45; }
.nav-badge{ font-size:9.5px; font-weight:700; letter-spacing:.05em; color:#fff; background:#2f6bff; padding:2px 6px; border-radius:6px; line-height:1.25; }
.nav__toggle{ display:none !important; flex-direction:column; gap:5px; background:none !important; border:0 !important; cursor:pointer; padding:8px; }
.nav__toggle span{ width:22px; height:2px; background:var(--text); border-radius:2px; transition:.25s; }
.nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav__mobile{ display:none; flex-direction:column; padding:8px var(--gutter) 22px; border-bottom:1px solid var(--border-soft); background:rgba(255,255,255,.98); }
.m-acc{ border-bottom:1px solid var(--border-soft); }
.m-acc summary{ list-style:none; cursor:pointer; padding:14px 6px; font-weight:500; font-size:16px; color:var(--muted); display:flex; justify-content:space-between; align-items:center; }
.m-acc summary::-webkit-details-marker{ display:none; }
.m-acc summary::after{ content:"+"; font-size:18px; color:var(--muted-2); }
.m-acc[open] summary{ color:var(--text); }
.m-acc[open] summary::after{ content:"\2013"; }
.m-acc__body{ display:flex; flex-direction:column; padding:0 6px 12px; }
.m-acc__body a{ padding:9px 12px; color:var(--muted); font-size:15px; border-radius:8px; }
.m-acc__body a:hover{ color:var(--green-2); }
.m-top{ padding:15px 6px; color:var(--muted); font-weight:500; font-size:16px; border-bottom:1px solid var(--border-soft); }
.nav__mobile-actions{ display:flex; gap:10px; margin-top:16px; }
.nav__mobile-actions .btn{ flex:1; }

/* ----------------------------- Section heads ---------------------------- */
/* Every top-level Elementor section on this page has its own JSON padding:0
   setting, which Elementor dutifully turns into a per-element rule
   (.elementor-95 .elementor-element.elementor-element-<id>{padding:0px}) with
   higher specificity than a single class — silently zeroing this out on every
   section. !important is the only way to win against a per-element rule we
   don't control the id of. */
.section{ padding-block:var(--section-y) !important; position:relative; }
.section__head{ max-width:780px; margin:0 auto clamp(44px,5vw,68px); text-align:center; }
.section__head--split{ max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; text-align:left; }
.section__head--split > div{ max-width:640px; }

.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--green-2); margin-bottom:18px; padding:6px 14px 6px 12px; border:1px solid var(--green-line); border-radius:var(--r-pill); background:var(--green-soft); }
.eyebrow::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green-glow); }
.eyebrow__line{ display:none; }
.section__head:not(.section__head--split) .eyebrow{ margin-inline:auto; }

.section__title{ font-size:clamp(31px,4.8vw,55px); font-weight:700; line-height:1.05; letter-spacing:-.025em; margin:0; }
.section__body{ color:var(--muted); font-size:clamp(16px,1.6vw,19px); margin:18px auto 0; max-width:620px; line-height:1.6; }
.section__head--split .section__body{ margin-inline:0; }

/* ----------------------------- Card spotlight + gradient border --------- */
.spot{ position:relative; isolation:isolate; }
.spot::before{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx) var(--my), rgba(0,180,108,.10), transparent 45%); }
.spot::after{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; pointer-events:none; padding:1px; opacity:0; transition:opacity .4s;
  background:radial-gradient(340px circle at var(--mx) var(--my), var(--green-line), transparent 50%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.spot:hover::before, .spot:hover::after{ opacity:1; }

/* ----------------------------- Hero ------------------------------------- */
.hero{ position:relative; padding:clamp(44px,11vw,118px) 0 clamp(64px,8vw,100px) !important; overflow:hidden; }
.hero__grid{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(to right,rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.05) 1px,transparent 1px);
  background-size:56px 56px; mask-image:radial-gradient(120% 80% at 50% 0%,#000 28%,transparent 72%); -webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 28%,transparent 72%); }
.hero__glow{ position:absolute; left:50%; top:-200px; transform:translateX(-50%); width:1150px; height:660px; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 50% 30%, rgba(0,180,108,.18), rgba(0,180,108,.05) 38%, transparent 70%); filter:blur(10px); animation:breathe 9s ease-in-out infinite; }
@keyframes breathe{ 0%,100%{ opacity:.85; transform:translateX(-50%) scale(1); } 50%{ opacity:1; transform:translateX(-50%) scale(1.06); } }
.hero__inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
/* Elementor wraps the column's real children in its own .elementor-widget-wrap,
   so the flex/align-items above never reaches them — re-apply it one level down.
   Elementor's own widget wrapper divs force width:100% regardless, so max-width
   boxes (hero__sub) also need explicit auto margins to actually center; and
   Elementor's per-element CSS (post-95.css, loaded after this file) resets
   section margins, so hero__chat's bottom margin needs !important to survive. */
.hero__inner > .elementor-widget-wrap{ display:flex; flex-direction:column; align-items:center; }
.hero__sub{ margin-left:auto !important; margin-right:auto !important; }
.elementor-section.hero__chat{ margin-bottom:32px !important; }

.badge{ display:inline-flex; align-items:center; gap:9px; background:rgba(0,180,108,.08); border:1px solid var(--green-line); color:var(--green-2); font-size:13.5px; font-weight:600; padding:7px 16px; border-radius:var(--r-pill); margin-bottom:28px; }
.badge__dot{ width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(0,220,129,.6); animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(0,220,129,.55);} 70%{box-shadow:0 0 0 9px rgba(0,220,129,0);} 100%{box-shadow:0 0 0 0 rgba(0,220,129,0);} }

.hero__title{ font-size:clamp(40px,6.8vw,86px); font-weight:700; line-height:1.0; letter-spacing:-.035em; margin:0 0 22px; }
.hero__sub{ color:var(--muted); font-size:clamp(16px,2vw,21px); max-width:640px; margin:0 0 36px; line-height:1.55; }

.hero__chat{ width:100%; max-width:624px; margin:0 0 32px; perspective:1200px; }
.chat-box{ position:relative; background:#ffffff; border:1px solid var(--border); border-radius:var(--r-lg); padding:18px 18px 14px; text-align:left; box-shadow:var(--shadow-card); transition:transform .3s var(--ease); transform-style:preserve-3d; }
.chat-box::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none; background:linear-gradient(120deg,var(--green-glow),transparent 42%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.65; }
.chat-box__row{ display:flex; align-items:center; gap:11px; min-height:34px; color:var(--muted); }
.chat-box__spark{ color:var(--green); width:18px; height:18px; animation:spin 8s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.chat-box__text{ color:var(--text-2); font-size:16px; flex:1; white-space:nowrap; overflow:hidden; }
.chat-box__caret{ width:2px; height:18px; background:var(--green); display:inline-block; animation:blink 1s steps(2) infinite; margin-left:-6px; }
@keyframes blink{ 50%{opacity:0;} }
.chat-box__footer{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.chat-box__chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:500; color:var(--muted); border:1px solid var(--border); border-radius:var(--r-pill); padding:5px 11px; background:var(--surface-2); }
.chip--active{ color:var(--green-2); border-color:var(--green-line); background:var(--green-soft); }
.chip__dot{ width:6px; height:6px; border-radius:50%; background:var(--green); }
.chat-box__send{ width:34px; height:34px; border-radius:10px; border:0 !important; cursor:pointer; background:var(--green) !important; color:var(--on-green) !important; display:grid; place-items:center; transition:transform .2s,box-shadow .2s; }
.chat-box__send:hover{ transform:translateX(2px); box-shadow:0 6px 18px -6px var(--green-glow); }

.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:30px; }

.terminal{ display:inline-flex; align-items:center; gap:12px; font-family:var(--mono); font-size:14px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:11px 11px 11px 16px; color:var(--text-2); }
.terminal__prompt{ color:var(--green); }
.terminal__copy{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; background:#ffffff; border:1px solid var(--border); color:var(--muted); padding:6px 10px; border-radius:8px; font-family:var(--font); font-size:13px; font-weight:600; transition:color .2s,border-color .2s; }
.terminal__copy:hover{ color:var(--green-2); border-color:var(--green-line); }
.terminal__copy.is-copied{ color:var(--green); }

/* ----------------------------- Stats ------------------------------------ */
.stats{ padding-block:clamp(28px,4vw,46px) !important; background:#fff; position:relative; }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); background:linear-gradient(180deg,var(--stat-from),var(--stat-to)); border:1px solid var(--border); border-radius:var(--r-md); box-shadow:0 14px 30px -12px rgba(3,120,80,.35); overflow:hidden; }
/* Elementor wraps each of these grid classes' children in its own single .elementor-container,
   so our multi-track grid-template-columns only ever has one real item (stuck in track 1). Let
   Elementor's own column widths (already split 25/25/25/25 or 50/50) drive the layout instead,
   and re-apply the intended gap directly on Elementor's real flex container one level down.
   problem__grid/bento/industries__grid are split across multiple sibling inner-sections (one
   section = one row in classic Elementor), so the vertical row gap is re-applied via the
   adjacent-sibling rule below instead of a single grid's row-gap. */
.elementor-section.stats__grid,
.elementor-section.os__split,
.elementor-section.footer__grid,
.elementor-section.problem__grid,
.elementor-section.bento,
.elementor-section.industries__grid{ display:block; }
.os__split > .elementor-container{ gap:64px; }
.footer__grid > .elementor-container{ gap:80px; }
.problem__grid > .elementor-container{ gap:18px; }
.problem__grid + .problem__grid{ margin-top:18px; }
.bento > .elementor-container{ gap:18px; }
.bento + .bento{ margin-top:18px; }
.industries__grid > .elementor-container{ gap:24px; }
.industries__grid + .industries__grid{ margin-top:24px; }
.stat{ padding:clamp(26px,3vw,34px) 18px; text-align:center; position:relative; }
.stat:not(:first-child){ box-shadow:inset 1px 0 0 rgba(255,255,255,.14); }
.stat__num{ font-size:clamp(34px,4.4vw,50px); font-weight:700; line-height:1; letter-spacing:-1px; font-variant-numeric:tabular-nums; color:#ffffff; -webkit-text-fill-color:#ffffff; }
.stat__label{ color:rgba(255,255,255,.92); font-size:clamp(14px,1.4vw,17px); margin-top:10px; }

/* ----------------------------- Logo bar / marquee ----------------------- */
.logobar{ padding-block:clamp(44px,5vw,66px); }
.logobar__label{ text-align:center; color:var(--muted-2); font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; margin:0 0 32px; }
.marquee{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:14px; mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.marquee__track{ display:flex; gap:14px; width:max-content; animation:marquee 46s linear infinite; }
.marquee__track--rev{ animation:marquee 60s linear infinite reverse; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes marquee{ to{ transform:translateX(-50%); } }
.logo-pill{ display:inline-flex; align-items:center; gap:11px; border:1px solid var(--border); background:var(--surface); border-radius:var(--r-pill); padding:9px 20px 9px 9px; color:var(--text-2); font-weight:600; font-size:15px; white-space:nowrap; box-shadow:var(--shadow-sm); transition:color .25s,border-color .25s,background .25s,transform .25s var(--spring),box-shadow .25s; }
.logo-pill:hover{ color:var(--text); border-color:var(--green-line); box-shadow:var(--shadow-card); transform:translateY(-3px); }
.app-tile{ width:30px; height:30px; border-radius:8px; display:grid; place-items:center; background:#fff; box-shadow:inset 0 0 0 1px rgba(15,23,42,.07); flex:0 0 auto; }
.app-tile img{ width:18px; height:18px; object-fit:contain; }

/* ----------------------------- Problem grid ----------------------------- */
.problem__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pcard{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--surface),var(--bg-3)); border:1px solid var(--border); border-radius:var(--r-md); padding:30px 28px; transition:transform .4s var(--ease-out),border-color .3s,box-shadow .3s; }
.pcard:hover{ transform:translateY(-6px); border-color:var(--green-line); box-shadow:var(--shadow-card); }
.pcard__num{ position:absolute; top:14px; right:20px; font-size:50px; font-weight:700; line-height:1; color:rgba(15,23,42,.05); letter-spacing:-.04em; transition:color .35s; }
.pcard:hover .pcard__num{ color:rgba(0,180,108,.16); }
.pcard__icon{ display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--green-soft); color:var(--green); margin-bottom:18px; transition:transform .4s var(--spring),background .3s; box-shadow:inset 0 0 0 1px var(--green-line); }
.pcard:hover .pcard__icon{ transform:translateY(-2px) scale(1.06); background:rgba(0,220,129,.18); }
.pcard__icon svg{ width:22px; height:22px; }
.pcard__title{ font-size:20px; font-weight:700; margin:0 0 2px; letter-spacing:-.01em; }
.pcard__lead{ color:var(--green-2); font-size:14px; font-weight:600; margin:0 0 10px; }
.pcard__body{ color:var(--muted); font-size:15.5px; margin:0; line-height:1.55; }

/* ----------------------------- Features bento --------------------------- */
.bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.fcard{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--surface),var(--bg-3)); border:1px solid var(--border); border-radius:var(--r-lg); padding:30px; grid-column:span 3; min-height:267px; transition:transform .4s var(--ease-out),border-color .3s,box-shadow .3s; }
.fcard:hover{ transform:translateY(-6px); border-color:var(--green-line); box-shadow:var(--shadow-card); }
.fcard__icon{ display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:var(--green-soft); color:var(--green); margin-bottom:20px; box-shadow:inset 0 0 0 1px var(--green-line); transition:transform .4s var(--spring); }
.fcard:hover .fcard__icon{ transform:translateY(-2px) scale(1.06) rotate(-4deg); }
.fcard__icon svg{ width:24px; height:24px; }
.fcard__title{ font-size:21px; font-weight:700; margin:0 0 12px; letter-spacing:-.01em; }
.fcard__text{ color:var(--muted); font-size:15.5px; margin:0; line-height:1.55; }
.fcard--feature{ grid-column:span 6; display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center; padding:clamp(28px,3vw,34px); background:var(--green); color:var(--on-green); border-color:var(--green-2); }
.fcard--feature .kgraph{ max-width:440px; margin-inline:auto; }
.fcard--feature:hover{ border-color:rgba(255,255,255,.3); box-shadow:0 20px 60px -20px rgba(0,0,0,.3); }
.fcard--feature .fcard__title{ font-size:27px; color:#ffffff; }
.fcard--feature .fcard__text{ color:rgba(255,255,255,.82); }
.fcard--feature .fcard__icon{ background:rgba(255,255,255,.15); color:#ffffff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.25); }
.fcard--feature:hover .fcard__icon{ background:rgba(255,255,255,.22); transform:translateY(-2px) scale(1.06) rotate(-4deg); }
.fcard--feature .techchip{ color:rgba(255,255,255,.9); background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); }
.fcard--feature .kgraph__node{ background:#ffffff; color:var(--text); }
.fcard--feature:hover .kgraph__node{ border-color:rgba(255,255,255,.4); }
.fcard--feature .kgraph__core{ background:#ffffff; color:var(--green); box-shadow:0 0 50px -4px rgba(0,0,0,.2); }
.fcard--feature .kgraph__lines{ color:rgba(255,255,255,.3); opacity:1; }
.techchip{ display:inline-flex; align-items:center; gap:8px; margin-top:20px; font-family:var(--mono); font-size:12.5px; color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill); padding:7px 13px; }
.techchip .icon{ width:15px; height:15px; }

.kgraph{ position:relative; aspect-ratio:1/.86; min-height:300px; display:grid; place-items:center; --kgr:clamp(98px,15vw,132px); }
.kgraph__core{ position:relative; z-index:2; padding:12px 22px; border-radius:var(--r-pill); font-weight:700; font-size:15px; background:linear-gradient(180deg,var(--green-bright),var(--green)); color:var(--on-green); box-shadow:0 0 50px -4px var(--green-glow); animation:corepulse 4s ease-in-out infinite; }
@keyframes corepulse{ 0%,100%{ box-shadow:0 0 44px -6px var(--green-glow); } 50%{ box-shadow:0 0 66px 2px var(--green-glow); } }
.kgraph__node{ position:absolute; z-index:2; font-size:12.5px; font-weight:600; color:var(--text-2); background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-pill); padding:7px 13px; top:50%; left:50%;
  transform:translate(-50%,-50%) rotate(calc(var(--a) * 60deg)) translateY(calc(-1 * var(--kgr))) rotate(calc(var(--a) * -60deg));
  animation:floaty 6s ease-in-out infinite; animation-delay:calc(var(--a) * .4s); transition:border-color .3s,color .3s; }
.fcard--feature:hover .kgraph__node{ border-color:var(--green-line); }
@keyframes floaty{ 0%,100%{ margin-top:0; } 50%{ margin-top:-7px; } }
.kgraph__lines{ position:absolute; inset:0; width:100%; height:100%; z-index:1; color:var(--green-line); opacity:.65; }
.kgraph__lines line{ stroke-dasharray:4 6; animation:dash 24s linear infinite; }
@keyframes dash{ to{ stroke-dashoffset:-200; } }

/* ----------------------------- Use cases -------------------------------- */
.uc{ position:relative; background:var(--bg-2); border:1px solid var(--border); border-radius:var(--r-xl); padding:32px; }
.uc__tabs{ position:relative; display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--border-soft); padding-bottom:18px; margin-bottom:28px; }
.uc__tab{ position:relative; font-family:var(--font); font-size:15px; font-weight:600; color:var(--muted) !important; background:transparent !important; border:1px solid transparent !important; border-radius:var(--r-pill); padding:9px 18px; cursor:pointer; transition:color .25s,background .25s,border-color .25s; }
.uc__tab:hover{ color:var(--text) !important; background:transparent !important; }
.uc__tab.is-active{ color:var(--green) !important; background:var(--green-soft) !important; border-color:var(--green-line) !important; }
/* Elementor's native Tabs widget generates its own class names (elementor-tabs-wrapper,
   elementor-tab-title, elementor-active) instead of our uc__tabs/uc__tab/is-active, so
   the rules above never match real markup here — restyle Elementor's classes to match. */
.uc .elementor-tabs-wrapper{ display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--border-soft); padding-bottom:18px; margin-bottom:28px; }
.uc .elementor-tab-title{ font-family:var(--font); font-size:15px; font-weight:600 !important; color:var(--muted) !important; background:transparent !important; border:1px solid transparent !important; border-radius:var(--r-pill) !important; padding:9px 18px !important; line-height:1.2 !important; transition:color .25s,background .25s,border-color .25s; }
.uc .elementor-tab-title:hover{ color:var(--text); }
.uc .elementor-tab-title.elementor-active{ color:var(--green) !important; background:var(--green-soft) !important; border-color:var(--green-line) !important; }
.uc .elementor-tab-title.elementor-active:before,
.uc .elementor-tab-title.elementor-active:after{ display:none !important; }
.uc .elementor-tab-content{ padding:0 !important; border:none !important; }
.uc .elementor-tabs-content-wrapper{ border:none !important; }
.uc__panel{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }
.uc__panel[hidden]{ display:none; }
.uc__panel.is-enter{ animation:panelIn .5s var(--ease-out); }
@keyframes panelIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.tag{ display:inline-block; font-size:13px; font-weight:600; color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill); padding:5px 13px; margin-bottom:16px; }
.uc__h3{ font-size:clamp(22px,2.6vw,30px); font-weight:700; line-height:1.15; margin:0 0 14px; letter-spacing:-.015em; }
.uc__text{ color:var(--muted); font-size:16px; margin:0 0 22px; line-height:1.6; }
.uc__metrics{ display:flex; gap:30px; flex-wrap:wrap; }
.uc__metric strong{ display:block; font-size:23px; font-weight:700; color:var(--green); letter-spacing:-.01em; }
.uc__metric span{ color:var(--muted); font-size:13.5px; }
.demo{ background:var(--green); border-radius:var(--r-lg); padding:24px; color:#ffffff; font-size:15px; }
.demo__bar{ display:flex; gap:7px; margin-bottom:16px; }
.demo__bar span{ width:11px; height:11px; border-radius:50%; background:#dfe4ec; }
.demo__bar span:first-child{ background:#ff5f57; } .demo__bar span:nth-child(2){ background:#febc2e; } .demo__bar span:nth-child(3){ background:#28c840; }
.demo__prompt{ color:#ffffff; margin:0 0 16px; line-height:1.45; }
.demo__you{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#ffffff; background:rgba(255,255,255,.2); border-radius:6px; padding:2px 7px; margin-right:8px; }
.demo__steps{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:9px; }
.demo__steps li{ position:relative; padding-left:28px; color:#ffffff; font-size:14.5px; opacity:0; transform:translateY(6px); transition:opacity .4s,transform .4s; }
.demo__steps li.is-in{ opacity:1; transform:none; }
.demo__steps li::before{ content:""; position:absolute; left:0; top:1px; width:18px; height:18px; border-radius:50%; background:rgba(255,255,255,.22); border:1px solid rgba(255,255,255,.4); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; }
.demo__steps code,.uc__text code,.demo__time strong{ font-family:var(--mono); }
.demo__steps code{ font-size:12.5px; color:#ffffff; background:rgba(255,255,255,.18); padding:2px 6px; border-radius:4px; }
.demo__time{ border-top:1px solid rgba(255,255,255,.2); padding-top:14px; color:#ffffff; font-size:13.5px; }
.demo__time strong{ color:#ffffff; }

/* ----------------------------- Connectors chips ------------------------- */
.link-arrow{ display:inline-flex; align-items:center; gap:8px; color:var(--green-2); font-weight:600; font-size:15px; white-space:nowrap; transition:gap .25s,color .2s; }
.link-arrow:hover{ gap:13px; color:var(--green); }
.chipgrid{ display:flex; flex-wrap:wrap; gap:12px; }
.cchip{ position:relative; display:inline-flex; align-items:center; gap:11px; background:linear-gradient(180deg,var(--surface),var(--bg-3)); border:1px solid var(--border); border-radius:var(--r-md); padding:11px 18px 11px 11px; font-weight:600; font-size:15px; color:var(--text-2); transition:transform .3s var(--spring),border-color .3s,background .3s; overflow:hidden; }
.cchip:hover{ transform:translateY(-4px); border-color:var(--green-line); background:rgba(0,220,129,.06); }
.cchip .app-tile{ width:34px; height:34px; border-radius:9px; }
.cchip .app-tile img{ width:20px; height:20px; }
.cchip--more{ background:transparent; border-style:dashed; color:var(--muted); }
.cchip--more .app-tile{ background:var(--green-soft); box-shadow:inset 0 0 0 1px var(--green-line); color:var(--green); font-weight:700; }

/* ----------------------------- Comparison table ------------------------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); box-shadow:var(--shadow-card); -webkit-overflow-scrolling:touch; }
.ctable{ width:100%; border-collapse:collapse; min-width:760px; }
.ctable th,.ctable td{ padding:17px 18px; text-align:center; font-size:15px; border-bottom:1px solid var(--border-soft); }
.ctable thead th{ font-size:15px; font-weight:700; color:var(--muted); background:var(--bg-2); }
.ctable tbody th[scope="row"]{ text-align:left; font-weight:600; color:var(--text); font-size:15px; }
.ctable .ctable__cap{ text-align:left; color:var(--muted); }
.ctable td.txt{ color:var(--muted); font-size:13.5px; }
.ctable tbody tr{ transition:background .25s; }
.ctable tbody tr:hover{ background:rgba(15,23,42,.02); }
.ctable tr:last-child th,.ctable tr:last-child td{ border-bottom:0; }
.ctable__augmas{ position:relative; background:rgba(0,180,108,.07); }
.ctable thead th.ctable__augmas{ color:var(--green-2); background:rgba(0,180,108,.12); box-shadow:inset 0 2px 0 var(--green); }
.ctable td.ctable__augmas{ border-left:1px solid var(--green-line); border-right:1px solid var(--green-line); }
.ctable tbody tr:last-child td.ctable__augmas{ border-bottom:1px solid var(--green-line); }
.yes,.no{ display:inline-block; width:23px; height:23px; border-radius:50%; }
.yes{ background:var(--green-soft); position:relative; box-shadow:inset 0 0 0 1px var(--green-line); }
.yes::after{ content:""; position:absolute; inset:0; background:no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E"); }
.no{ background:rgba(15,23,42,.04); position:relative; }
.no::after{ content:""; position:absolute; inset:0; background:no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); }
.pricetag{ display:inline-block; font-weight:700; color:var(--green); background:var(--green-soft); border:1px solid var(--green-line); padding:4px 12px; border-radius:var(--r-pill); }
.ctable__price th,.ctable__price td{ font-weight:700; color:var(--text); }

/* ----------------------------- Industries ------------------------------- */
.ind__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.industries__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media(max-width:900px){ .industries__grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .industries__grid{ grid-template-columns:1fr; } }
.icard{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--surface),var(--bg-3)); border:1px solid var(--border); border-radius:var(--r-md); padding:28px 24px; height:100%; box-sizing:border-box; transition:transform .4s var(--ease-out),border-color .3s,box-shadow .3s; }
.icard:hover{ transform:translateY(-6px); border-color:var(--green-line); box-shadow:var(--shadow-card); }
.icard__icon{ display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--green-soft); color:var(--green); margin-bottom:24px; box-shadow:inset 0 0 0 1px var(--green-line); transition:transform .4s var(--spring); }
.icard:hover .icard__icon{ transform:translateY(-2px) scale(1.07); }
.icard__icon svg{ width:23px; height:23px; }
.icard__title{ font-size:18px; font-weight:700; margin:0 0 10px; }
.icard__body{ color:var(--muted); font-size:14.5px; margin:0; line-height:1.55; }

/* ----------------------------- Open Source ------------------------------ */
.opensource{ background:var(--bg-2); border-block:1px solid var(--border-soft); overflow:hidden; }
.opensource__glow{ position:absolute; right:-120px; top:50%; transform:translateY(-50%); width:620px; height:620px; background:radial-gradient(circle,rgba(22,163,74,.10),transparent 65%); pointer-events:none; animation:breathe 11s ease-in-out infinite; }
.opensource__inner{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px); align-items:center; }
.opensource .eyebrow{ margin-inline:0; }
.opensource .section__title{ text-align:left; }
.opensource .section__body{ margin-inline:0; }
.os__split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.os__title{ font-size:clamp(32px,4vw,52px); font-weight:700; line-height:1.1; color:var(--text); margin:0 0 20px; }
.os__text{ color:var(--muted); font-size:17px; line-height:1.6; margin:0 0 32px; }
.os__stats{ display:flex; gap:32px; margin-bottom:32px; }
.os__stat strong{ display:block; font-size:24px; font-weight:700; color:var(--green); }
.os__stat span{ font-size:14px; color:var(--muted); }
.os__actions{ display:flex; gap:16px; flex-wrap:wrap; }
@media(max-width:768px){ .os__split{ grid-template-columns:1fr; } }
.checklist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.checklist li{ display:flex; gap:14px; align-items:flex-start; background:linear-gradient(180deg,var(--surface),var(--bg-3)); border:1px solid var(--border); border-radius:var(--r-md); padding:18px 20px; color:var(--muted); font-size:15px; line-height:1.5; transition:border-color .3s,transform .3s var(--ease-out); }
.checklist li:hover{ border-color:var(--green-line); transform:translateX(5px); }
.checklist li strong{ color:var(--text); font-weight:700; }
.checklist__ic, .checklist__icon{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--green); color:#ffffff; display:grid; place-items:center; margin-top:1px; flex-shrink:0; }
.checklist__ic svg, .checklist__icon svg{ width:14px; height:14px; }

/* ----------------------------- Final CTA -------------------------------- */
.cta{ position:relative; padding-block:clamp(64px,8vw,100px) !important; overflow:hidden; text-align:center; }
.cta__grid{ position:absolute; inset:0; background-image:linear-gradient(to right,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.04) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent 75%); -webkit-mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent 75%); }
.cta__glow{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:920px; height:520px; background:radial-gradient(circle,rgba(22,163,74,.18),transparent 62%); pointer-events:none; animation:breathe 10s ease-in-out infinite; }
.cta__inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.cta__title{ font-size:clamp(38px,6.2vw,74px); font-weight:700; line-height:1.04; letter-spacing:-.035em; margin:0 0 20px; }
.cta__body{ color:var(--muted); font-size:clamp(16px,2vw,20px); max-width:560px; margin:0 auto 34px !important; }
.cta__actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* ----------------------------- Site Footer (front-page-new) ------------- */
.site-footer{ background:var(--bg); border-top:1px solid var(--border); padding:60px 0 0 !important; }
.footer__grid{ display:grid; grid-template-columns:1fr 2fr; gap:80px; align-items:start; }
.footer__logo{ height:32px; width:auto; margin-bottom:16px; }
.footer__tagline{ color:var(--muted); font-size:15px; line-height:1.6; margin:0 0 20px; max-width:280px; }
.footer__socials{ display:flex; gap:10px; margin-top:20px; }
.footer__social{ display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--border); border-radius:var(--r-sm); color:var(--muted); background:var(--surface); transition:border-color .2s,color .2s; }
.footer__social:hover{ border-color:var(--green); color:var(--green); }
.footer__social svg{ width:16px; height:16px; color:var(--muted); display:block; margin:auto; flex-shrink:0; }
.footer__social:hover svg{ color:var(--green); }
.footer__subscribe-title{ font-size:20px; font-weight:700; margin:0 0 8px; }
.footer__subscribe p{ color:var(--muted); font-size:15px; margin:0 0 16px; }
.footer__form-row{ display:flex; gap:10px; margin-bottom:32px; }
.footer__input{ flex:1; padding:12px 16px; border:1px solid var(--border); border-radius:var(--r-md); font-size:15px; background:var(--bg); color:var(--text); }
.footer__contacts{ display:flex; gap:32px; justify-content:space-between; }

/* ----------------------------- Plain WP pages (Terms & Condition, etc. — non-Elementor content) --- */
/* Some legacy/simple pages (e.g. Terms & Condition) render via the theme's default page.php
   template with plain Gutenberg blocks in .page-content, not an Elementor-boxed container. Elementor
   pages (e.g. Privacy Policy) already constrain their own content via their own boxed container, so
   we exclude the .elementor wrapper to avoid affecting those. */
.page-content > :not(.elementor){ max-width:1140px; margin-left:auto; margin-right:auto; }

/* Hello Elementor's own default theme footer (with its built-in "All rights reserved"
   copyright) still renders on pages using the default page template (Privacy Policy,
   Terms & Condition), duplicating the copyright line already inside the rich
   Elementor-embedded footer. Home uses the Elementor Canvas template, which fully
   suppresses this theme footer, so Home never had the duplicate. Selector is scoped
   to the classes unique to the theme footer (not shared with the Elementor .site-footer
   section) so the real footer is untouched. */
footer.dynamic-footer.footer-has-copyright{ display:none; }

/* Footer brand block links (e.g. "Privacy Policy") had no explicit color rule,
   so unstyled <a> tags fell back to the browser default link/visited color
   (shows reddish/pink once visited) instead of the brand green. */
.footer__brand a{ color:var(--green) !important; }
.footer__brand a:hover{ color:var(--green-2) !important; }
.footer__contact{ display:flex; align-items:center; gap:12px; }
.footer__contact-icon{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--green); color:#fff; flex-shrink:0; }
.footer__contact-icon svg{ width:20px; height:20px; }

/* ----------------------------- Footer redesign (nav columns + compact side) --- */
.footer__cols{ display:flex; gap:40px; }
.footer__navcol{ min-width:0; }
.footer__navcol-title{ font-size:13px; font-weight:700; color:var(--green); margin:0 0 18px; letter-spacing:.01em; }
.footer__navcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.footer__navcol a{ font-size:14.5px; font-weight:500; color:var(--text) !important; text-decoration:none; transition:color .2s; }
.footer__navcol a:hover{ color:var(--green); }

.footer__side{ display:flex; flex-direction:column; gap:24px; }
.footer__side-brand p{ color:var(--muted); font-size:14px; margin:10px 0 0; line-height:1.5; }
.footer__side .footer__subscribe-title{ font-size:16px; margin:0 0 6px; }
.footer__side .footer__subscribe > p{ font-size:13.5px; margin:0 0 14px; }
.footer__side .footer__form-row{ flex-direction:column; gap:10px; margin-bottom:10px; }
.footer__side .footer__form-row .btn{ width:100%; }
.footer__contacts--compact{ flex-direction:row; gap:8px; justify-content:flex-start; flex-wrap:wrap; }
.footer__contacts--compact .footer__contact{ gap:5px; }
.footer__contacts--compact .footer__contact-icon{ width:22px; height:22px; }
.footer__contacts--compact .footer__contact-icon svg{ width:10px; height:10px; }
.footer__contacts--compact .footer__contact-label{ display:none; }
.footer__contacts--compact .footer__contact-value{ font-size:11px; white-space:nowrap; }
.footer__side .footer__socials{ margin-top:0; flex-wrap:nowrap; }
.footer__side .footer__social{ width:32px; height:32px; }
.footer__side .footer__social svg{ width:14px; height:14px; }
.footer__flex-wrap{ display:flex; gap:48px; align-items:flex-start; }
.footer__flex-wrap .footer__cols{ flex:1 1 65%; }
.footer__flex-wrap .footer__side{ flex:0 1 320px; }

.footer__contact-label{ display:block; font-weight:700; font-size:14px; color:var(--text); }
.footer__contact-value{ color:var(--muted); font-size:14px; }
.footer__bottom{ border-top:1px solid var(--border); padding:20px 0; margin-top:40px; }
.footer__copy{ color:var(--muted); font-size:14px; margin:0; }
@media(max-width:768px){ .footer__grid{ grid-template-columns:1fr; } .footer__contacts{ flex-direction:column; } }
/* ----------------------------- Footer ----------------------------------- */
.footer{ background:var(--bg-2); border-top:1px solid var(--border-soft); padding-top:clamp(52px,6vw,84px); }
.footer__inner{ display:grid; grid-template-columns:1.4fr 2fr; gap:48px; padding-bottom:48px; }
.footer__tagline{ color:var(--muted); font-size:15px; max-width:360px; margin:18px 0 22px; line-height:1.6; }
.footer__social{ display:flex; gap:12px; }
.footer__social a{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; border:1px solid var(--border); color:var(--muted); transition:color .25s,border-color .25s,transform .25s var(--spring),background .25s; }
.footer__social a:hover{ color:var(--green); border-color:var(--green-line); background:rgba(0,220,129,.06); transform:translateY(-3px); }
.footer__social svg{ width:17px; height:17px; }
.footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.footer__col h4{ font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin:0 0 16px; font-weight:600; }
.footer__col a{ display:block; color:var(--muted); font-size:15px; padding:6px 0; transition:color .2s,transform .2s; }
.footer__col a:hover{ color:var(--green-2); transform:translateX(3px); }
.footer__bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-block:24px; border-top:1px solid var(--border-soft); color:var(--muted-2); font-size:13.5px; }

/* ----------------------------- Reveal animation ------------------------- */
[data-reveal]{ opacity:0; transform:translateY(26px); filter:blur(6px); transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),filter .8s var(--ease-out); will-change:opacity,transform; }
[data-reveal="down"]{ transform:translateY(-16px); filter:none; }
[data-reveal="left"]{ transform:translateX(-30px); }
[data-reveal="right"]{ transform:translateX(30px); }
[data-reveal="scale"]{ transform:scale(.94); }
[data-reveal].is-in{ opacity:1; transform:none; filter:none; }

/* ===== Figma sync: topographic line decorations + hero swoosh ===== */
.hero__grid{ display:none; }
.hero__glow{ display:none; }
.hero{ background:#ffffff url("../decor/hero-bg.png") center top/cover no-repeat; }
/* Was ".section > .container" (direct child) — on the Elementor rebuild the
   real DOM is .section > .elementor-container > .elementor-column.container,
   so the direct-child selector never matched and .container never got
   lifted above the section's decorative ::after line-art, letting it paint
   on top of content (e.g. bleeding across the comparison table). Descendant
   selector matches regardless of Elementor's wrapper depth. */
.section .container{ position:relative; z-index:1; }
.problem,.usecases,.compare,.industries{ overflow:hidden; }
/* right-edge topographic line fans (Problem / Use Cases / Comparison / Industries / CTA) */
.cta::after,.problem::after,.usecases::after,.compare::after,.industries::after{
  content:""; position:absolute; right:0; bottom:0; z-index:0; pointer-events:none;
  width:clamp(240px,30vw,420px); height:660px; max-height:108%;
  background:url("../decor/lines-hero-right.png") right bottom/contain no-repeat; opacity:.5;
}
.cta::after{ opacity:.7; }
.cta::before{
  content:""; position:absolute; left:0; top:0; z-index:0; pointer-events:none;
  width:clamp(220px,26vw,340px); height:625px; max-height:100%;
  background:url("../decor/lines-hero-left.png") left top/contain no-repeat; opacity:.7;
}
/* hero: real left + right line clusters from Figma */
.hero::before{
  content:""; position:absolute; left:0; top:0; z-index:0; pointer-events:none;
  width:clamp(220px,26vw,340px); height:625px; max-height:100%;
  background:url("../decor/lines-hero-left.png") left top/contain no-repeat; opacity:.9;
}
.hero::after{
  content:""; position:absolute; right:0; bottom:0; z-index:0; pointer-events:none;
  width:clamp(240px,28vw,376px); height:659px; max-height:100%;
  background:url("../decor/lines-hero-right.png") right bottom/contain no-repeat; opacity:.9;
}
/* PNG line-art has a white backing; multiply drops the white so only the green
   lines show and blend seamlessly into the section background. */
.hero::before,.hero::after,.cta::before,.cta::after,.problem::after,.usecases::after,.compare::after,.industries::after{
  mix-blend-mode:multiply;
}

/* ----------------------------- Responsive ------------------------------- */
@media (max-width:1024px){
  .bento{ grid-template-columns:repeat(2,1fr); }
  .fcard{ grid-column:span 1; }
  .fcard--feature{ grid-column:span 2; }
  .ind__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px){
  .nav__links,.nav__actions{ display:none; }
  /* Use-cases tabs on mobile: Elementor's default behavior at <=767px hides
     the desktop pill row entirely and swaps in a plain-text accordion (no
     background/border on inactive items, since they share the same
     .elementor-tab-title rule that keys the pill look off .elementor-active).
     That reads as broken/unstyled. Instead, keep the same pill-row visual
     language as desktop, just sized to fit 3 pills on one mobile line. */
  .uc{ padding:20px !important; }
  .uc .elementor-tabs-wrapper{ display:flex !important; flex-wrap:nowrap !important; gap:6px; padding-bottom:14px; margin-bottom:20px; }
  .uc .elementor-tab-mobile-title{ display:none !important; }
  .uc .elementor-tab-title{ font-size:12.5px !important; padding:7px 10px !important; white-space:nowrap; flex:1 1 auto; text-align:center; }
  .uc .elementor-tab-content{ padding:16px !important; }


  .nav__toggle{ display:flex !important; margin-left:auto; }
  .nav.is-open .nav__mobile{ display:flex; }
  .problem__grid{ grid-template-columns:1fr 1fr; }
  .fcard--feature{ grid-template-columns:1fr; gap:28px; }
  .uc__panel{ grid-template-columns:1fr; }
  .uc__demo{ order:-1; }
  .opensource__inner{ grid-template-columns:1fr; }
  .section__head--split{ flex-direction:column; align-items:flex-start; }
  .footer__inner{ grid-template-columns:1fr; gap:34px; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .stats__grid{ grid-template-columns:1fr 1fr; }
  .problem__grid,.bento,.ind__grid{ grid-template-columns:1fr; }
  .fcard--feature{ grid-column:span 1; } /* BUG FIX: span 2 in 1-col grid causes overflow */
  .uc__metrics{ gap:20px; }
  .hero__actions,.cta__actions{ width:100%; }
  .hero__actions .btn,.cta__actions .btn{ flex:1; }
  .terminal{ width:100%; font-size:12.5px; }
}

/* ----------------------------- Mobile Optimisation (front-page-new) ----- */

/* Fix: icard__text is used in HTML but CSS defines icard__body */
.icard__text{ color:var(--muted); font-size:14.5px; margin:0; line-height:1.55; }

/* Fix: footer form message display */
.footer__form-msg{ font-size:14px; margin-top:8px; min-height:20px; }

/* ---- Tablet (max 768px) ---- */
@media(max-width:768px){
  /* Footer form row stack */
  .footer__form-row{ flex-direction:column; }
  .footer__input{ width:100%; }
  /* Footer subscribe gap */
  .footer__subscribe{ margin-bottom:28px; }
  /* Footer right stack */
  .footer__right{ padding-top:0; }
  /* OS stats wrap */
  .os__stats{ gap:20px; flex-wrap:wrap; }
}

/* ---- Mobile (max 560px) ---- */
@media(max-width:560px){
  /* Hero */
  .hero{ padding-top:clamp(56px,12vw,90px); padding-bottom:clamp(36px,8vw,60px); }
  .hero__title{ font-size:clamp(34px,9vw,44px); }
  .hero__sub{ font-size:15px; margin-bottom:24px; }
  .hero__chat{ margin-bottom:22px; }
  .chat-box{ padding:14px 14px 12px; }
  .badge{ font-size:12px; padding:6px 12px; margin-bottom:20px; }

  /* Sections */
  .section{ padding-block:clamp(40px,8vw,56px); }
  .section__head{ margin-bottom:clamp(28px,5vw,40px); }
  .section__title{ font-size:clamp(26px,7.5vw,34px); }

  /* Stats */
  .stat{ padding:20px 10px; }
  .stat__num{ font-size:clamp(28px,7vw,38px); }

  /* Problem cards */
  .pcard{ padding:22px 18px; }
  .pcard__title{ font-size:18px; }

  /* Features bento */
  .fcard{ padding:22px 18px; }
  .fcard__title{ font-size:18px; }
  .fcard--feature{ padding:24px 18px; grid-template-columns:1fr; gap:0; }
  .fcard--feature .fcard__title{ font-size:22px; }
  /* Hide kgraph on mobile — too complex, not readable at small size */
  .kgraph{ display:none; }

  /* Use cases */
  .uc{ padding:18px 14px; }
  .uc__tabs{ gap:6px; padding-bottom:14px; margin-bottom:20px; }
  .uc__tab{ padding:8px 12px; font-size:14px; }
  .uc__h3{ font-size:20px; }
  .demo{ padding:16px 14px; font-size:14px; }
  .demo__steps li{ font-size:13.5px; }

  /* Comparison table — ensure scroll hint visible */
  .table-wrap{ border-radius:var(--r-md); }
  .ctable th,.ctable td{ padding:13px 12px; font-size:13.5px; }

  /* Industries */
  .industries__grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .icard{ padding:20px 16px; }
  .icard__title{ font-size:16px; }
  .icard__icon{ width:40px; height:40px; margin-bottom:12px; }

  /* Open Source */
  .os__title{ font-size:clamp(26px,7vw,34px); }
  .os__text{ font-size:15px; }
  .os__stat strong{ font-size:20px; }
  .checklist li{ padding:14px 16px; font-size:14px; }

  /* Footer */
  .footer__subscribe-title{ font-size:18px; }
  .footer__contact-icon{ width:36px; height:36px; }
  .site-footer{ padding-top:40px; }

  /* Connector chips */
  .cchip{ padding:8px 14px 8px 8px; font-size:13.5px; }
  .cchip .app-tile{ width:28px; height:28px; }
}

/* ---- Small phones (max 400px) ---- */
@media(max-width:400px){
  .industries__grid{ grid-template-columns:1fr; }
  .stats__grid{ grid-template-columns:1fr 1fr; }
  .uc__metrics{ flex-direction:column; gap:12px; }
  .fcard--feature .fcard__title{ font-size:20px; }
  .hero__title{ font-size:clamp(30px,9vw,38px); }
  .section__title{ font-size:clamp(24px,7vw,30px); }
}

/* ----------------------------- Reduced motion --------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; filter:none !important; }
  .marquee__track{ animation:none !important; }
  .hl{ animation:none !important; background-position:0 0 !important; }
  .spot::before,.spot::after{ display:none !important; }
}

/* ---- Comparison table — horizontal scroll on mobile, every column intact ----
   table-layout:fixed + width:100% used to force all 5 columns into one
   viewport-width table, squeezing "Capability" text into wrapped, cramped
   cells. Instead: let the table size to its content and scroll horizontally,
   with the Capability column pinned via sticky so context never scrolls out
   of view — no column is ever hidden or truncated. */
@media(max-width:760px){
  .table-wrap{ overflow-x:auto; border-radius:var(--r-md); -webkit-overflow-scrolling:touch; }
  .ctable{ min-width:640px; width:auto; }

  /* Capability text carries manual <span class="cap-line"> word-group markers so
     each capability breaks into short, fixed 2-word lines on mobile instead of
     wrapping wherever the column happens to be narrow. On desktop these spans
     stay inline (no rule sets them block there) so the sentence reads normally. */
  .ctable tbody th[scope="row"] .cap-line{ display:block; }

  /* All cells compact */
  .ctable th,.ctable td{ padding:12px 10px; font-size:13px; text-align:center; }
  .ctable tbody th[scope="row"]{ text-align:left; font-size:12.5px; font-weight:600; padding:12px 10px; line-height:1.4; }
  /* Capability text ranges from one line ("Starting price") to three ("Agentic
     actions..."), leaving rows an uneven height and the yes/no icons off-grid
     between rows. Give every row the same two-line-equivalent minimum height
     so short entries sit centered at the same rhythm as wrapped ones. */
  .ctable tbody tr{ height:62px; }

  /* Shorten header names via font-size + wrapping */
  .ctable thead th{ font-size:12px; font-weight:700; padding:12px 8px; word-break:break-word; line-height:1.2; }

  /* Pin the Capability column so it stays visible while scrolling horizontally */
  .ctable thead th.ctable__cap{ position:sticky; left:0; z-index:2; background:var(--bg-2); box-shadow:2px 0 6px -2px rgba(15,23,42,.08); }
  .ctable tbody th[scope="row"]{ position:sticky; left:0; z-index:2; background:var(--surface); box-shadow:2px 0 6px -2px rgba(15,23,42,.08); }

  /* Yes/No icons smaller */
  .yes,.no{ width:18px; height:18px; }

  /* Price tag smaller */
  .pricetag{ font-size:11px; padding:3px 8px; }
  .ctable__price td{ font-size:11px; }

  /* Keep Augmas highlight */
  .ctable td.ctable__augmas{ border-left:1px solid var(--green-line); border-right:1px solid var(--green-line); }
}
/* ----------------------------- Demo Modal -------------------------------- */
.demo-modal__panel{ position:relative; width:100%; max-width:440px; max-height:calc(100dvh - 2rem); overflow-y:auto; background:#ffffff; border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card); padding:28px; }
.demo-modal__close{ position:absolute; top:14px; right:14px; width:32px; height:32px; padding:0; display:grid; place-items:center; border-radius:999px; background:transparent; border:0; color:var(--muted); cursor:pointer; transition:background .2s,color .2s; }
.demo-modal__close:hover{ background:var(--border-soft); color:var(--text); }
.demo-modal__close svg{ width:17px !important; height:17px !important; max-width:none !important; flex-shrink:0; }
.demo-modal__title{ font-size:24px; font-weight:700; letter-spacing:-.01em; color:var(--text); margin:0 0 6px; padding-right:28px; }
.demo-modal__subtitle{ font-size:13.5px; line-height:1.5; color:var(--muted); margin:0 0 20px; }
.demo-modal__form{ display:flex; flex-direction:column; gap:14px; }
.demo-modal__field{ display:flex; flex-direction:column; gap:6px; }
.demo-modal__field label{ font-size:13px; font-weight:600; color:var(--text); }
.demo-modal__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.demo-modal__input{ width:100%; padding:10px 13px; font-size:14.5px; font-family:var(--font); color:var(--text); background:#ffffff; border:1px solid var(--border); border-radius:var(--r-md); transition:border-color .2s,box-shadow .2s; }
.demo-modal__input::placeholder{ color:var(--muted-2); }
.demo-modal__input:focus{ outline:none; border-color:var(--green-2); box-shadow:0 0 0 3px var(--green-soft); }
.demo-modal__actions{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:2px; }
.demo-modal__submit{ width:100%; }
.demo-modal__message{ font-size:13px; text-align:center; color:var(--muted); margin:0; }
@media (max-width:480px){
  .demo-modal__panel{ padding:22px; max-width:calc(100% - 24px); }
  .demo-modal__row{ grid-template-columns:1fr; }
}

/* ----------------------------- Sign Up Modal ----------------------------- */
.signup__google{ width:100%; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:11px 16px; margin:0 0 16px; font-family:var(--font); font-size:15px; font-weight:600; color:var(--text) !important; background:#ffffff !important; border:1px solid var(--border) !important; border-radius:var(--r-md); cursor:pointer; transition:border-color .2s,box-shadow .2s; }
.signup__google:hover{ border-color:var(--green-2) !important; color:var(--text) !important; background:#ffffff !important; box-shadow:0 0 0 3px var(--green-soft); }
.signup__google svg{ flex:0 0 auto; }
.signup__divider{ display:flex; align-items:center; gap:12px; color:var(--muted-2); font-size:13px; margin:0 0 16px; }
.signup__divider::before,.signup__divider::after{ content:""; flex:1; height:1px; background:var(--border); }
.signup__select{ appearance:none; -webkit-appearance:none; padding-right:38px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6573' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; }
.signup__hint{ font-size:12px; color:var(--muted-2); margin-top:2px; }
.signup__foot{ text-align:center; font-size:13.5px; color:var(--muted); margin:18px 0 0; }
.signup__foot a{ color:var(--green-2); font-weight:600; text-decoration:underline; }
/* Thank-you popup */
.signup-thanks__panel{ max-width:400px; text-align:center; }
.signup-thanks__icon{ width:64px; height:64px; margin:6px auto 18px; border-radius:50%; background:var(--green-soft); color:var(--green); display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--green-line); }
.signup-thanks__icon svg{ width:30px; height:30px; }
.signup-thanks__title{ text-align:center; padding-right:0; }
.signup-thanks__text{ font-size:14.5px; line-height:1.55; color:var(--muted); margin:8px 0 22px; }

/* ---- Modal overlay utility classes (originally from Tailwind via style.css,
   which is no longer enqueued now that Hello Elementor is the active theme —
   these are the exact compiled values for the specific classes the demo/signup
   modal markup uses, kept minimal rather than loading the full Tailwind build). ---- */
.fixed{ position:fixed; }
.inset-0{ inset:0; }
.z-\[999\]{ z-index:999; }
.hidden{ display:none; }
.flex{ display:flex; }
.items-center{ align-items:center; }
.justify-center{ justify-content:center; }
.bg-black\/70{ background-color:rgba(0,0,0,.7); }
.backdrop-blur-sm{ backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.overflow-hidden{ overflow:hidden; }


/* =========================================================================
   AUGMAS — Chat feature page  ·  premium unique layout
   Depends on augmas.css for tokens (:root), reset, .btn, .hl, .container,
   .eyebrow (branded pill + dot — reused for consistency), and the connector
   marquee (.marquee/.logo-pill, auto-filled by augmas.js).
   All page classes are prefixed .cf- and scoped under .chatpg.
   ========================================================================= */

.chatpg{ background:#fff; color:var(--text); --cf-ink:#0b1521; --cf-ink-2:#111f30; --cf-ink-line:rgba(255,255,255,.09); }
.chatpg ::selection{ background:rgba(22,163,74,.18); color:#04130c; }

.cf-sec{ padding:clamp(68px,8.5vw,124px) 0; position:relative; }
.cf-sec--tint{ background:var(--bg-2); border-block:1px solid var(--border-soft); }
.cf-sec--ink{ background:radial-gradient(120% 120% at 50% -10%, #12233a 0%, var(--cf-ink) 55%); color:#e6ebf2; }
.cf-head{ max-width:680px; margin:0 0 clamp(40px,5vw,64px); }
.cf-head--center{ margin-inline:auto; text-align:center; }
.cf-head--center .eyebrow{ margin-inline:auto; }
.cf-h2{ font-size:clamp(28px,3.7vw,46px); font-weight:700; line-height:1.06; letter-spacing:-.028em; margin:0; }
.cf-lede{ color:var(--muted); font-size:clamp(16px,1.5vw,19px); line-height:1.62; margin:16px 0 0; }
.cf-sec--ink .cf-lede{ color:rgba(230,235,242,.66); }
.cf-sec--ink .eyebrow{ color:#7ee2a6; border-color:rgba(27,183,87,.4); background:rgba(27,183,87,.12); }
.cf-sec--ink .eyebrow::before{ background:var(--green-bright); }

.cf-hero{ position:relative; padding:clamp(24px,4vw,84px) 0 clamp(44px,6vw,76px); }
.cf-hero__bg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.cf-hero__bg::before{ content:""; position:absolute; top:-220px; right:-120px; width:720px; height:720px;
  background:radial-gradient(circle, rgba(27,183,87,.16), transparent 62%); }
.cf-hero__bg::after{ content:""; position:absolute; inset:0;
  background-image:linear-gradient(to right,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.04) 1px,transparent 1px);
  background-size:64px 64px; -webkit-mask-image:radial-gradient(90% 70% at 30% 0%,#000,transparent 72%); mask-image:radial-gradient(90% 70% at 30% 0%,#000,transparent 72%); }
.cf-hero__inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(36px,5vw,72px); align-items:center; }
@media (min-width:981px){ .cf-hero__inner{ align-items:start; } }
.cf-hero__title{ font-size:clamp(38px,5.2vw,66px); font-weight:700; line-height:1.03; letter-spacing:-.034em; margin:0 0 22px; max-width:15ch; }
.cf-hero__sub{ color:var(--muted); font-size:clamp(16px,1.55vw,20px); line-height:1.6; margin:0 0 32px; max-width:530px; }
.cf-hero__actions{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.cf-hero__trust{ margin-top:26px; display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12.5px; color:var(--muted-2); letter-spacing:.01em; }
.cf-hero__trust svg{ width:15px; height:15px; color:var(--green); flex:0 0 auto; }

.cf-stage{ position:relative; margin-top:30px; }
.cf-stage::before{ content:""; position:absolute; inset:-6% -4% -8% -4%; z-index:0; border-radius:32px;
  background:radial-gradient(58% 58% at 70% 22%, rgba(27,183,87,.26), transparent 70%); filter:blur(16px); }
.cf-win{ position:relative; z-index:1; background:linear-gradient(180deg,#0e1c2e,var(--cf-ink)); border:1px solid var(--cf-ink-line);
  border-radius:20px; overflow:hidden; color:#e6ebf2;
  box-shadow:0 40px 90px -40px rgba(6,14,24,.6), 0 2px 0 rgba(255,255,255,.04) inset; }
.cf-win__bar{ display:flex; align-items:center; gap:10px; padding:13px 16px; border-bottom:1px solid var(--cf-ink-line); background:rgba(255,255,255,.02); }
.cf-win__dots{ display:flex; gap:6px; }
.cf-win__dots span{ width:11px; height:11px; border-radius:50%; background:#2b3a4d; }
.cf-win__dots span:nth-child(1){ background:#ff5f57; } .cf-win__dots span:nth-child(2){ background:#febc2e; } .cf-win__dots span:nth-child(3){ background:#28c840; }
.cf-win__title{ font-family:var(--mono); font-size:12px; color:#8aa0b6; letter-spacing:.04em; }
.cf-win__body{ padding:20px 18px; display:flex; flex-direction:column; gap:13px; }
.cf-msg{ max-width:88%; font-size:14.5px; line-height:1.5; }
.cf-msg--you{ align-self:flex-end; background:linear-gradient(180deg,var(--green-bright),var(--green)); color:#fff; padding:11px 15px; border-radius:15px 15px 5px 15px; box-shadow:0 10px 24px -12px rgba(27,183,87,.6); }
.cf-msg--ai{ align-self:flex-start; background:var(--cf-ink-2); border:1px solid var(--cf-ink-line); padding:13px 15px; border-radius:15px 15px 15px 5px; color:#c9d5e2; }
.cf-msg--ai strong{ color:#fff; }
.cf-cites{ display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.cf-cite{ display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:10.5px; font-weight:600; letter-spacing:.02em;
  color:#7ee2a6; background:rgba(27,183,87,.14); border:1px solid rgba(27,183,87,.32); border-radius:var(--r-pill); padding:2px 9px; }
.cf-cite::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--green-bright); }
.cf-did{ display:flex; align-items:center; gap:9px; margin-top:12px; padding:10px 12px; border:1px dashed rgba(27,183,87,.4); border-radius:11px;
  background:rgba(27,183,87,.10); color:#8ee9b0; font-family:var(--mono); font-size:12px; letter-spacing:.01em; }
.cf-did svg{ width:15px; height:15px; flex:0 0 auto; }
.cf-win__input{ display:flex; align-items:center; gap:10px; margin:4px 14px 16px; padding:11px 12px 11px 15px; border:1px solid var(--cf-ink-line); border-radius:13px; background:rgba(255,255,255,.03); }
.cf-win__ph{ flex:1; font-size:13.5px; color:#6f849a; }
.cf-win__send{ width:32px; height:32px; border-radius:9px; background:var(--green); color:#fff; display:grid; place-items:center; flex:0 0 auto; }
.cf-win__send svg{ width:15px; height:15px; }
.cf-stage__cap{ position:relative; z-index:1; margin:16px auto 0; text-align:center; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--muted-2); }

.cf-connectors{ padding:clamp(40px,5vw,64px) 0; border-bottom:1px solid var(--border-soft); }
.cf-connectors__label{ text-align:center; color:var(--muted-2); font-family:var(--mono); font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; margin:0 0 26px; }

.cf-hiw{ position:relative; }
.cf-hiw2{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(26px,3.5vw,52px); align-items:stretch; margin-top:clamp(36px,4.5vw,60px); }
.cf-hiw2__steps{ display:flex; flex-direction:column; gap:14px; }
.cf-hiw2__step{ position:relative; display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; text-align:left;
  padding:20px 22px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); cursor:pointer; overflow:hidden;
  font-family:inherit; color:inherit; transition:border-color .3s, box-shadow .35s, transform .35s var(--ease-out); }
.cf-hiw2__step:hover{ border-color:var(--green-line); transform:translateX(3px); }
.cf-hiw2__step.is-active{ border-color:var(--green-line); box-shadow:var(--shadow-card); background:linear-gradient(180deg,#fff,var(--green-soft)); }
.cf-hiw2__n{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-family:var(--mono); font-weight:700; font-size:15px;
  background:var(--bg-2); color:var(--muted); border:1px solid var(--border); transition:.35s; }
.cf-hiw2__step.is-active .cf-hiw2__n{ background:linear-gradient(180deg,var(--green-bright),var(--green)); color:#fff; border-color:transparent; box-shadow:0 12px 26px -12px var(--green-glow); }
.cf-hiw2__st h3{ font-size:17.5px; font-weight:700; letter-spacing:-.01em; margin:3px 0 5px; }
.cf-hiw2__st p{ color:var(--muted); font-size:14px; line-height:1.5; margin:0; }
.cf-hiw2__bar{ position:absolute; left:0; bottom:0; height:3px; width:0; background:linear-gradient(90deg,var(--green),var(--green-bright)); }
.cf-hiw2__step.is-active .cf-hiw2__bar{ animation:cf-fill 4s linear forwards; }
@keyframes cf-fill{ from{ width:0; } to{ width:100%; } }

.cf-hiw2__stage{ position:relative; min-height:360px; border:1px solid var(--cf-ink-line); border-radius:var(--r-xl); overflow:hidden;
  background:radial-gradient(120% 90% at 80% 0%, #12233a, var(--cf-ink) 60%); box-shadow:0 44px 100px -48px rgba(6,14,24,.6); }
.cf-hiw2__panel{ position:absolute; inset:0; padding:clamp(24px,3vw,36px); display:flex; flex-direction:column; justify-content:center; gap:16px;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .55s var(--ease-out), transform .55s var(--ease-out); }
.cf-hiw2__panel.is-active{ opacity:1; visibility:visible; transform:none; }
.cf-vlabel{ font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#8aa0b6; margin:0; }
.cf-vhint{ font-family:var(--mono); font-size:12.5px; color:#6f849a; margin:0; }
.cf-vinput{ display:flex; align-items:center; padding:16px 18px; border:1px solid var(--cf-ink-line); border-radius:14px; background:rgba(255,255,255,.03); color:#e6ebf2; font-size:15.5px; line-height:1.4; }
.cf-vcaret{ width:2px; height:19px; background:var(--green-bright); display:inline-block; margin-left:4px; animation:cf-blink 1s steps(2) infinite; }
@keyframes cf-blink{ 50%{ opacity:0; } }
.cf-vchips{ display:flex; flex-wrap:wrap; gap:9px; }
.cf-vchip{ font-family:var(--mono); font-size:12.5px; color:#c9d5e2; background:rgba(255,255,255,.04); border:1px solid var(--cf-ink-line); border-radius:999px; padding:7px 14px; animation:cf-scan 2.6s ease-in-out infinite; }
.cf-vchip:nth-child(2){ animation-delay:.25s; } .cf-vchip:nth-child(3){ animation-delay:.5s; } .cf-vchip:nth-child(4){ animation-delay:.75s; } .cf-vchip:nth-child(5){ animation-delay:1s; } .cf-vchip:nth-child(6){ animation-delay:1.25s; }
@keyframes cf-scan{ 0%,100%{ border-color:var(--cf-ink-line); color:#c9d5e2; } 50%{ border-color:rgba(27,183,87,.55); color:#8ee9b0; box-shadow:0 0 0 3px rgba(27,183,87,.08); } }
.cf-vans{ color:#eef3f8; font-size:16.5px; line-height:1.55; margin:0; }
.cf-vans strong{ color:#fff; }
.cf-hiw2__stage .cf-cites{ margin-top:2px; }
.cf-hiw2__stage .cf-did{ margin-top:0; }

.cf-cap{ position:relative; overflow:hidden; padding-bottom:clamp(100px,11vw,172px); }
.cf-cap::before{ content:""; position:absolute; top:-120px; left:-140px; width:560px; height:560px; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(22,163,74,.08), transparent 65%); }
.cf-cap__inner{ position:relative; z-index:1; }
.cf-capmap{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:clamp(36px,4vw,52px) 0 clamp(52px,6vw,84px); }
.cf-capmap__item{ display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); box-shadow:var(--shadow-sm); }
.cf-capmap__ic{ width:40px; height:40px; border-radius:11px; background:var(--green-soft); color:var(--green); display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--green-line); flex:0 0 auto; }
.cf-capmap__ic svg{ width:19px; height:19px; }
.cf-capmap__label{ font-weight:600; font-size:14.5px; letter-spacing:-.01em; }

.cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,80px); align-items:center; }
.cf-row + .cf-row{ margin-top:clamp(48px,6vw,88px); padding-top:clamp(48px,6vw,88px); border-top:1px solid var(--border-soft); }
.cf-row--flip .cf-row__media{ order:-1; }
.cf-row__title{ font-size:clamp(24px,2.9vw,36px); font-weight:700; letter-spacing:-.022em; line-height:1.1; margin:0 0 16px; }
.cf-row__body{ color:var(--muted); font-size:16px; line-height:1.62; margin:0 0 22px; }
.cf-row__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.cf-row__list li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--text-2); }
.cf-row__list svg{ width:21px; height:21px; flex:0 0 auto; color:var(--green); margin-top:1px; }

.cf-card{ position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  box-shadow:var(--shadow-card); padding:24px; transition:transform .4s var(--ease-out), box-shadow .4s; }
.cf-card::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120% 80% at 100% 0%, rgba(22,163,74,.05), transparent 55%); }
.cf-row:hover .cf-card{ transform:translateY(-4px); box-shadow:0 30px 60px -30px rgba(16,24,40,.28); }

.cf-modes{ display:flex; flex-direction:column; gap:12px; }
.cf-mode{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--bg-2); }
.cf-mode--on{ border-color:var(--green-line); background:var(--green-soft); }
.cf-mode__name{ display:flex; align-items:center; gap:11px; font-weight:600; font-size:15px; }
.cf-mode__ic{ width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:#fff; box-shadow:inset 0 0 0 1px var(--border); color:var(--muted); }
.cf-mode--on .cf-mode__ic{ background:var(--green); color:#fff; box-shadow:none; }
.cf-mode__ic svg{ width:17px; height:17px; }
.cf-switch{ width:40px; height:23px; border-radius:999px; background:#d7dce4; position:relative; flex:0 0 auto; }
.cf-switch::after{ content:""; position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:#fff; transition:transform .2s; }
.cf-mode--on .cf-switch{ background:var(--green); } .cf-mode--on .cf-switch::after{ transform:translateX(17px); }

.cf-src{ display:flex; align-items:center; gap:12px; padding:13px 6px; border-bottom:1px solid var(--border-soft); }
.cf-src:last-child{ border-bottom:0; }
.cf-src__ic{ width:34px; height:34px; border-radius:9px; background:var(--green-soft); color:var(--green); display:grid; place-items:center; flex:0 0 auto; box-shadow:inset 0 0 0 1px var(--green-line); }
.cf-src__ic svg{ width:17px; height:17px; }
.cf-src__meta{ flex:1; min-width:0; }
.cf-src__name{ font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cf-src__where{ font-family:var(--mono); font-size:11.5px; color:var(--muted-2); }
.cf-src__tag{ font-family:var(--mono); font-size:10.5px; font-weight:700; color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill); padding:3px 9px; flex:0 0 auto; letter-spacing:.04em; }

.cf-acts{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cf-act{ display:flex; align-items:center; gap:11px; padding:15px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--bg-2); font-weight:600; font-size:14px; transition:border-color .25s, background .25s; }
.cf-act:hover{ border-color:var(--green-line); background:var(--green-soft); }
.cf-act__ic{ width:32px; height:32px; border-radius:9px; background:var(--green); color:#fff; display:grid; place-items:center; flex:0 0 auto; }
.cf-act__ic svg{ width:16px; height:16px; }

.cf-acct{ display:flex; align-items:center; gap:12px; padding:14px 6px; border-bottom:1px solid var(--border-soft); }
.cf-acct:last-child{ border-bottom:0; }
.cf-acct__ic{ width:34px; height:34px; border-radius:9px; background:var(--bg-3); display:grid; place-items:center; color:var(--text-2); flex:0 0 auto; font-family:var(--mono); font-weight:700; font-size:13px; }
.cf-acct__name{ flex:1; font-weight:600; font-size:14.5px; }
.cf-acct__state{ font-family:var(--mono); font-size:11.5px; font-weight:700; color:var(--green-2); display:inline-flex; align-items:center; gap:6px; letter-spacing:.03em; }
.cf-acct__state svg{ width:14px; height:14px; }
.cf-acct__btn{ font-family:var(--mono); font-size:11.5px; font-weight:700; color:var(--muted); border:1px solid var(--border); border-radius:var(--r-pill); padding:6px 13px; letter-spacing:.03em; }

.cf-trace__card{ max-width:780px; margin:clamp(36px,4vw,52px) auto 0; background:linear-gradient(180deg,#0e1c2e,var(--cf-ink));
  border:1px solid var(--cf-ink-line); border-radius:22px; overflow:hidden; box-shadow:0 44px 100px -46px rgba(0,0,0,.6); }
.cf-trace__ask{ display:flex; gap:12px; align-items:flex-start; padding:22px 24px; border-bottom:1px solid var(--cf-ink-line); background:rgba(255,255,255,.02); }
.cf-trace__you{ font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--green); border-radius:6px; padding:4px 9px; flex:0 0 auto; margin-top:2px; }
.cf-trace__q{ font-size:16px; font-weight:600; color:#eef3f8; line-height:1.5; margin:0; }
.cf-trace__steps{ list-style:none; margin:0; padding:16px 26px 10px; }
.cf-trace__step{ display:flex; gap:15px; align-items:flex-start; padding:12px 0; position:relative; }
.cf-trace__step:not(:last-child)::before{ content:""; position:absolute; left:13px; top:32px; bottom:-12px; width:2px; background:rgba(27,183,87,.35); }
.cf-trace__tick{ width:28px; height:28px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; flex:0 0 auto; z-index:1; box-shadow:0 0 0 4px rgba(27,183,87,.14); }
.cf-trace__tick svg{ width:15px; height:15px; }
.cf-trace__txt{ font-size:14.5px; color:#c9d5e2; line-height:1.5; padding-top:4px; }
.cf-trace__txt strong{ color:#fff; }
.cf-trace__txt code{ font-family:var(--mono); font-size:12.5px; background:rgba(27,183,87,.14); padding:2px 7px; border-radius:5px; color:#8ee9b0; }
.cf-trace__done{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:18px 26px; border-top:1px solid var(--cf-ink-line); background:rgba(27,183,87,.10); }
.cf-trace__done strong{ color:#8ee9b0; font-size:14.5px; }
.cf-trace__time{ font-family:var(--mono); font-size:12.5px; color:#8aa0b6; letter-spacing:.02em; }

.cf-models__row{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:clamp(28px,3vw,40px); }
.cf-model{ display:inline-flex; align-items:center; gap:10px; border:1px solid var(--border); background:var(--surface); border-radius:var(--r-pill);
  padding:13px 24px; font-weight:600; font-size:15px; box-shadow:var(--shadow-sm); transition:transform .25s var(--spring),border-color .25s,box-shadow .25s; }
.cf-model:hover{ transform:translateY(-3px); border-color:var(--green-line); box-shadow:var(--shadow-card); }
.cf-model__dot{ width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green-glow); }
.cf-model__tag{ font-family:var(--mono); font-size:10.5px; color:var(--muted-2); letter-spacing:.06em; }

.cf-spec__grid{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; background:var(--surface); }
.cf-spec__item{ padding:26px 24px; border-right:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); transition:background .25s; }
.cf-spec__item:hover{ background:var(--bg-2); }
.cf-spec__k{ display:flex; align-items:center; gap:12px; font-weight:700; font-size:16px; letter-spacing:-.01em; margin:0; }
.cf-spec__ic{ width:36px; height:36px; border-radius:10px; background:var(--green-soft); color:var(--green); display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--green-line); flex:0 0 auto; }
.cf-spec__ic svg{ width:18px; height:18px; }
.cf-spec__v{ color:var(--muted); font-size:14.5px; line-height:1.55; margin:13px 0 0; }

.cf-ctawrap{ padding:clamp(44px,6vw,88px) 0 clamp(72px,9vw,120px); }
.cf-cta{ position:relative; overflow:hidden; background:linear-gradient(135deg,#0e7a38 0%,var(--green) 55%,var(--green-bright) 100%);
  color:#fff; border-radius:clamp(22px,3vw,36px); padding:clamp(38px,5.5vw,76px); display:grid; grid-template-columns:1.5fr auto; gap:34px; align-items:center;
  box-shadow:0 40px 90px -40px var(--green-glow); }
.cf-cta::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:44px 44px; -webkit-mask-image:radial-gradient(80% 90% at 100% 0%,#000,transparent 70%); mask-image:radial-gradient(80% 90% at 100% 0%,#000,transparent 70%); }
.cf-cta__title{ position:relative; font-size:clamp(28px,3.7vw,48px); font-weight:700; letter-spacing:-.028em; line-height:1.06; margin:0 0 12px; }
.cf-cta__sub{ position:relative; color:rgba(255,255,255,.9); font-size:clamp(15px,1.5vw,18px); line-height:1.5; margin:0; max-width:520px; }
.cf-cta__btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px; background:#fff; color:var(--green-2);
  font-weight:700; font-size:17px; padding:18px 36px; border-radius:var(--r-md); white-space:nowrap;
  box-shadow:0 14px 34px -12px rgba(0,0,0,.35); transition:transform .25s var(--spring),box-shadow .25s; }
.cf-cta__btn:hover{ transform:translateY(-2px); box-shadow:0 22px 46px -14px rgba(0,0,0,.4); }
.cf-cta__btn svg{ width:18px; height:18px; }

@media (max-width:980px){
  .cf-hero__inner{ grid-template-columns:1fr; gap:36px; }
  .cf-hero__title{ max-width:none; }
  .cf-stage{ max-width:540px; }
  .cf-hiw2{ grid-template-columns:1fr; }
  .cf-hiw2__stage{ min-height:280px; }
  .cf-capmap{ grid-template-columns:1fr 1fr; }
  .cf-row{ grid-template-columns:1fr; gap:32px; }
  .cf-row--flip .cf-row__media{ order:0; }
  .cf-spec__grid{ grid-template-columns:1fr 1fr; }
  .cf-cta{ grid-template-columns:1fr; gap:26px; }
}
@media (max-width:560px){
  .cf-capmap{ grid-template-columns:1fr; }
  .cf-acts{ grid-template-columns:1fr; }
  .cf-spec__grid{ grid-template-columns:1fr; }
  .cf-trace__done{ flex-direction:column; align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce){
  .cf-hiw2__step.is-active .cf-hiw2__bar{ animation:none !important; width:100%; }
  .cf-vcaret, .cf-vchip{ animation:none !important; }
  .cf-hiw2__panel{ transition:none !important; }
  .cf-card, .cf-model, .cf-cta__btn, .cf-act, .cf-hiw2__step{ transition:none !important; }
}


/* fix: Hello Elementor reset.css [type="button"] ties specificity with .cf-hiw2__step and wins on source order */
.cf-hiw2__steps button.cf-hiw2__step{ color:inherit; }


/* Elementor editor preview fix: the scroll-reveal IntersectionObserver in augmas.js does not fire
   inside the editor's preview iframe, so [data-reveal] elements stay at opacity:0/blur and the page
   looks blank while editing. Force them to their revealed state ONLY inside the editor
   (body.elementor-editor-active is present in the preview iframe, never on the live front end),
   so the front-end scroll animations are completely unaffected. */
body.elementor-editor-active [data-reveal]{ opacity:1 !important; transform:none !important; filter:none !important; }


/* HIW stepper: reset.css [type="button"] (0,1,0) beats .cf-hiw2__step base border and paints it crimson.
   button.cf-hiw2__step is (0,1,1) — beats reset for the inactive base, but stays below the
   .is-active / :hover green rules (0,2,0) so active + hover borders remain green. */
button.cf-hiw2__step{ border-color:var(--border); }

/* Onyx footer as a self-contained block (used on pages without Home's nested Elementor columns):
   the base .footer__grid is 1fr 2fr (tuned for the simple footer); the Onyx layout needs the nav
   columns wide on the left and the logo/subscribe rail narrow on the right (~65/35, matching Home). */
.footer__grid--onyx{ grid-template-columns:1.85fr 1fr; }
@media(max-width:768px){ .footer__grid--onyx{ grid-template-columns:1fr; } }


/* HIW stepper: something (unidentified, ties/beats .cf-hiw2__step at equal specificity) forces
   display:block + text-align:center on the <button>, collapsing the auto/1fr grid into a tall
   stacked layout (badge above heading, centered). Force the intended grid layout explicitly. */
.cf-hiw2__step{ display:grid !important; text-align:left !important; }


/* HIW stepper: .cf-hiw2__step never got appearance:none (unlike .btn elsewhere on the site),
   so browsers render native OS button chrome on top of the CSS - including native hover/active
   states driven by the OS theme, which can show as a colored fill unrelated to any authored CSS.
   Strip native appearance entirely and reinforce background/outline so only our CSS applies. */
.cf-hiw2__step{ appearance:none; -webkit-appearance:none; -moz-appearance:none; background-color:var(--surface); outline:none; }
.cf-hiw2__step:hover{ background-color:var(--surface); }
.cf-hiw2__step:focus{ background-color:var(--surface); outline:none; }
.cf-hiw2__step.is-active{ background-color:transparent; }


/* Reinforced with !important - the previous appearance/background reset for .cf-hiw2__step
   lost the cascade tie against reset.css's button rule (separate stylesheet, tied specificity,
   loads later in document order). Force it. */
.cf-hiw2__step{ appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important; }
.cf-hiw2__step:not(.is-active){ background-color:var(--surface) !important; }
.cf-hiw2__step.is-active{ background-color:transparent !important; }


/* Footer compact contact items (Phone / Email / Location): slightly larger icon + glyph + value
   text for readability. Scoped to .footer__contacts--compact so ONLY these three items change;
   layout, gap, alignment, and everything else stay exactly as-is. Shared CSS → applies to the
   footer on every page (Home / Privacy / Terms / Chat). */
.footer__contacts--compact .footer__contact-icon{ width:24px; height:24px; }
.footer__contacts--compact .footer__contact-icon svg{ width:12px; height:12px; }
.footer__contacts--compact .footer__contact-value{ font-size:12px; }


/* =========================================================================
   AUGMAS — SEARCH feature page · "Signal" design system  (all .sx- scoped)
   Enterprise search-console aesthetic: light instrument surfaces, monospace
   metadata, source glyphs, relevance meters, a green flow thread. Distinct
   from the Chat page's .cf- conversational system. Tokens from :root above.
   ========================================================================= */

/* section shells + heads */
.sx-sec{ padding:clamp(56px,7vw,104px) 0; position:relative; }
.sx-sec--tint{ background:var(--bg-2); border-block:1px solid var(--border-soft); }
.sx-sec--ink{ background:radial-gradient(120% 130% at 50% -10%, #12233a 0%, var(--cf-ink) 58%); color:#e6ebf2; }
.sx-head{ max-width:700px; margin:0 0 clamp(30px,3.6vw,48px); }
.sx-head--center{ margin-inline:auto; text-align:center; }
.sx-head--center .eyebrow{ margin-inline:auto; }
.sx-h2{ font-size:clamp(26px,3.4vw,43px); font-weight:700; line-height:1.06; letter-spacing:-.03em; margin:0; }
.sx-lede{ color:var(--muted); font-size:clamp(15px,1.45vw,18.5px); line-height:1.6; margin:14px 0 0; }
.sx-sec--ink .sx-lede{ color:rgba(230,235,242,.68); }
.sx-sec--ink .eyebrow{ color:#7ee2a6; border-color:rgba(27,183,87,.42); background:rgba(27,183,87,.12); }
.sx-sec--ink .eyebrow::before{ background:var(--green-bright); }
.sx-mono{ font-family:var(--mono); }

/* source glyph (brand tint set inline per source) */
.sx-glyph{ width:26px; height:26px; border-radius:7px; display:grid; place-items:center; font-family:var(--mono);
  font-weight:700; font-size:10.5px; color:#fff; flex:0 0 auto; letter-spacing:-.02em; box-shadow:0 1px 2px rgba(16,24,40,.18); }

/* highlighted match */
.sx-mark{ background:var(--green-soft); color:var(--green-2); border-radius:3px; padding:0 3px; font-weight:600; }

/* citation chip */
.sx-cite{ display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:10.5px; font-weight:600;
  color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill);
  padding:2px 8px; letter-spacing:.01em; white-space:nowrap; }
.sx-cite svg{ width:11px; height:11px; }
.sx-sec--ink .sx-cite{ color:#8ee9b0; background:rgba(27,183,87,.14); border-color:rgba(27,183,87,.32); }

/* relevance meter */
.sx-meter{ width:56px; height:4px; border-radius:2px; background:var(--bg-3); overflow:hidden; flex:0 0 auto; }
.sx-meter > i{ display:block; height:100%; border-radius:2px; background:linear-gradient(90deg,var(--green),var(--green-bright)); width:var(--rel,70%); transition:width 1s var(--ease-out); }
.sx-sec--ink .sx-meter{ background:rgba(255,255,255,.10); }

/* mono stat/latency pill */
.sx-stat{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11px; font-weight:600;
  color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill); padding:4px 10px; letter-spacing:.02em; }
.sx-stat b{ color:var(--green-2); font-weight:700; }
.sx-stat--live::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px var(--green-soft); }

/* =====================================================================
   HERO — command palette + live results panel
   ===================================================================== */
.sx-hero{ position:relative; padding:clamp(30px,5vw,74px) 0 clamp(40px,5vw,72px); overflow:hidden; }
.sx-hero__bg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.sx-hero__bg::before{ content:""; position:absolute; top:-240px; left:50%; transform:translateX(-50%); width:900px; height:640px;
  background:radial-gradient(circle at 50% 40%, rgba(22,163,74,.14), transparent 62%); }
.sx-hero__bg::after{ content:""; position:absolute; inset:0;
  background-image:linear-gradient(to right,rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.045) 1px,transparent 1px);
  background-size:56px 56px; -webkit-mask-image:radial-gradient(78% 62% at 50% 6%,#000,transparent 74%); mask-image:radial-gradient(78% 62% at 50% 6%,#000,transparent 74%); }
.sx-hero__inner{ position:relative; z-index:1; max-width:860px; margin-inline:auto; text-align:center; }
.sx-hero__title{ font-size:clamp(34px,5.1vw,62px); font-weight:700; line-height:1.03; letter-spacing:-.036em; margin:16px 0 16px; }
.sx-hero__sub{ color:var(--muted); font-size:clamp(16px,1.55vw,20px); line-height:1.55; margin:0 auto 28px; max-width:640px; }

/* command bar */
.sx-omni{ max-width:660px; margin:0 auto; display:flex; align-items:center; gap:13px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px; padding:15px 16px 15px 18px; box-shadow:var(--shadow-card); text-align:left; }
.sx-omni__ic{ width:20px; height:20px; color:var(--green); flex:0 0 auto; }
.sx-omni__q{ flex:1; min-width:0; font-size:16.5px; color:var(--text); font-weight:500; white-space:nowrap; overflow:hidden; }
.sx-omni__caret{ display:inline-block; width:2px; height:19px; background:var(--green); margin-left:1px; vertical-align:-3px; animation:sx-blink 1.05s steps(2) infinite; }
.sx-omni__k{ font-family:var(--mono); font-size:11px; font-weight:600; color:var(--muted); background:var(--bg-2); border:1px solid var(--border); border-radius:7px; padding:3px 8px; flex:0 0 auto; }
@keyframes sx-blink{ 50%{ opacity:0; } }

/* results panel */
.sx-panel{ max-width:700px; margin:18px auto 0; background:var(--surface); border:1px solid var(--border); border-radius:18px;
  box-shadow:var(--shadow-card); overflow:hidden; text-align:left; }
.sx-panel__bar{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 16px;
  border-bottom:1px solid var(--border-soft); background:var(--bg-2); }
.sx-panel__meta{ font-family:var(--mono); font-size:11.5px; color:var(--muted-2); letter-spacing:.02em; }
.sx-panel__meta b{ color:var(--green-2); }

/* a search hit row */
.sx-hit{ display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; padding:13px 16px; border-top:1px solid var(--border-soft); transition:background .2s; }
.sx-hit:first-child{ border-top:0; }
.sx-hit:hover{ background:var(--bg-2); }
.sx-hit__body{ min-width:0; }
.sx-hit__title{ font-weight:600; font-size:14px; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sx-hit__snip{ font-size:12.5px; color:var(--muted); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sx-hit__meta{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }

/* hero trust strip */
.sx-hero__trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; margin:22px auto 0; }
.sx-hero__trust span{ display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11.5px; color:var(--muted-2); letter-spacing:.02em; }
.sx-hero__trust svg{ width:13px; height:13px; color:var(--green); }

/* generic feature panel (reused by several sections) */
.sx-card{ position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); box-shadow:var(--shadow-card); }
.sx-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.4vw,56px); align-items:center; }
.sx-copy .sx-eyebrow{ margin-bottom:0; }
.sx-copy h3{ font-size:clamp(23px,2.7vw,33px); font-weight:700; letter-spacing:-.022em; line-height:1.1; margin:14px 0 14px; }
.sx-copy p{ color:var(--muted); font-size:16px; line-height:1.62; margin:0; }
.sx-list{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; }
.sx-list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:var(--text-2); }
.sx-list svg{ width:19px; height:19px; flex:0 0 auto; color:var(--green); margin-top:1px; }

/* =====================================================================
   STAKES — before -> after
   ===================================================================== */
.sx-ba{ display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(16px,2.4vw,34px); align-items:center; margin-top:clamp(28px,3.4vw,44px); }
.sx-ba__panel{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:20px; min-height:210px; display:flex; flex-direction:column; }
.sx-ba__panel--before{ background:var(--bg-2); }
.sx-ba__tag{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin:0 0 14px; }
.sx-ba__panel--after .sx-ba__tag{ color:var(--green-2); }
.sx-tabs{ display:flex; flex-wrap:wrap; gap:7px; }
.sx-tab{ display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:6px 10px; opacity:.75; }
.sx-tab .sx-glyph{ width:16px; height:16px; border-radius:4px; font-size:8px; }
.sx-timer{ margin-top:auto; font-family:var(--mono); font-weight:700; font-size:clamp(28px,4vw,40px); letter-spacing:-.02em; color:var(--text-2); }
.sx-timer small{ display:block; font-size:12px; font-weight:500; color:var(--muted-2); letter-spacing:0; margin-top:4px; }
.sx-ba__after .sx-omni, .sx-ba__panel--after .sx-omni{ box-shadow:none; }
.sx-ba__result{ margin-top:14px; display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text); }
.sx-ba__result .sx-glyph{ width:20px; height:20px; }
.sx-ba__timer-ok{ margin-top:auto; font-family:var(--mono); font-weight:700; font-size:clamp(28px,4vw,40px); color:var(--green-2); }
.sx-ba__timer-ok small{ display:block; font-size:12px; font-weight:500; color:var(--muted-2); margin-top:4px; }
.sx-ba__arrow{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-sm); color:var(--green); }
.sx-ba__arrow svg{ width:20px; height:20px; }

/* =====================================================================
   CROSS-APPLICATION — fan-in
   ===================================================================== */
.sx-fan{ position:relative; margin-top:clamp(28px,3.4vw,46px); max-width:960px; margin-inline:auto; }
.sx-fan__stage{ display:grid; grid-template-columns:1fr; gap:22px; align-items:center; }
.sx-fan__sources{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:720px; margin-inline:auto; }
.sx-src{ display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill);
  padding:8px 14px 8px 9px; font-size:13px; font-weight:600; color:var(--text-2); box-shadow:var(--shadow-sm);
  opacity:0; transform:translateY(8px); }
.sx-fan.is-in .sx-src{ animation:sx-pop .5s var(--ease-out) forwards; }
@keyframes sx-pop{ to{ opacity:1; transform:none; } }
.sx-conv{ position:relative; display:flex; justify-content:center; }
.sx-conv svg{ width:100%; max-width:520px; height:70px; }
.sx-conv__path{ fill:none; stroke:var(--green-line); stroke-width:1.5; }
.sx-conv__flow{ fill:none; stroke:var(--green); stroke-width:2; stroke-dasharray:5 9; animation:sx-dash 1.1s linear infinite; }
@keyframes sx-dash{ to{ stroke-dashoffset:-14; } }
.sx-fan__out{ max-width:460px; margin:0 auto; }
.sx-seal{ display:inline-flex; align-items:center; gap:8px; margin:20px auto 0; font-family:var(--mono); font-size:12px; font-weight:600;
  color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill); padding:7px 16px; }
.sx-seal svg{ width:14px; height:14px; }
.sx-center{ text-align:center; }

/* =====================================================================
   PIPELINE (dark showcase) — horizontal stations on a flow thread
   ===================================================================== */
.sx-pipe{ position:relative; margin-top:clamp(34px,4vw,56px); }
.sx-pipe__track{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; position:relative; }
.sx-pipe__thread{ position:absolute; left:6%; right:6%; top:32px; height:2px; background:repeating-linear-gradient(90deg,rgba(126,226,166,.5) 0 8px,transparent 8px 16px); z-index:0; }
.sx-pipe.is-in .sx-pipe__thread{ animation:sx-thread 1.2s linear infinite; }
@keyframes sx-thread{ to{ background-position:16px 0; } }
.sx-stage{ position:relative; z-index:1; text-align:center; }
.sx-stage__node{ width:64px; height:64px; margin:0 auto 14px; border-radius:16px; display:grid; place-items:center;
  background:linear-gradient(180deg,#12233a,#0e1c2e); border:1px solid var(--cf-ink-line); color:#8ee9b0; box-shadow:0 16px 34px -18px rgba(0,0,0,.6); }
.sx-stage__node svg{ width:26px; height:26px; }
.sx-stage--gate .sx-stage__node{ border-color:rgba(27,183,87,.55); box-shadow:0 0 0 4px rgba(27,183,87,.12), 0 16px 34px -18px rgba(0,0,0,.6); color:#7ee2a6; }
.sx-stage__n{ font-family:var(--mono); font-size:10.5px; color:#6f849a; letter-spacing:.14em; }
.sx-stage__t{ font-size:14px; font-weight:700; color:#eef3f8; margin:4px 0 4px; letter-spacing:-.01em; }
.sx-stage__d{ font-size:12px; color:rgba(230,235,242,.6); line-height:1.4; }

/* =====================================================================
   PERMISSION GATE — 5-clause vertical
   ===================================================================== */
.sx-gatewrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,64px); align-items:center; margin-top:clamp(24px,3vw,40px); }
.sx-gate{ position:relative; max-width:420px; }
.sx-gate__q{ display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:11px 14px; box-shadow:var(--shadow-sm); font-size:13.5px; color:var(--text); font-weight:500; }
.sx-gate__q .sx-glyph{ width:22px; height:22px; background:var(--green); }
.sx-gate__stack{ display:flex; flex-direction:column; gap:9px; margin:12px 0; position:relative; }
.sx-plate{ display:flex; align-items:center; gap:12px; padding:13px 15px; background:var(--surface); border:1px solid var(--border);
  border-radius:12px; box-shadow:var(--shadow-sm); transition:border-color .4s, box-shadow .4s, background .4s; }
.sx-plate__n{ width:24px; height:24px; border-radius:7px; display:grid; place-items:center; font-family:var(--mono); font-size:11px; font-weight:700; color:var(--muted); background:var(--bg-2); border:1px solid var(--border); flex:0 0 auto; transition:.4s; }
.sx-plate__t{ flex:1; }
.sx-plate__t b{ display:block; font-size:14px; font-weight:600; letter-spacing:-.01em; }
.sx-plate__t span{ font-family:var(--mono); font-size:10.5px; color:var(--muted-2); }
.sx-plate__tick{ width:20px; height:20px; color:var(--border); flex:0 0 auto; transition:color .4s; }
.sx-gate.is-in .sx-plate{ animation:sx-clear .5s var(--ease-out) forwards; animation-delay:calc(var(--i,0) * .28s + .2s); border-color:var(--green-line); }
@keyframes sx-clear{ from{ opacity:.5; transform:translateX(-6px);} to{ opacity:1; transform:none; } }
.sx-gate.is-in .sx-plate{ background:linear-gradient(180deg,#fff,var(--green-soft)); box-shadow:var(--shadow-card); }
.sx-gate.is-in .sx-plate__n{ background:linear-gradient(180deg,var(--green-bright),var(--green)); color:#fff; border-color:transparent; }
.sx-gate.is-in .sx-plate__tick{ color:var(--green); }
.sx-gate__seal{ display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:12.5px; font-weight:700; color:var(--green-2);
  background:var(--green-soft); border:1px dashed var(--green-line); border-radius:12px; padding:11px 16px; margin-top:4px; }
.sx-gate__seal svg{ width:16px; height:16px; }
/* two-user toggle */
.sx-users{ display:flex; flex-direction:column; gap:14px; }
.sx-user{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:16px; }
.sx-user__h{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:14px; margin-bottom:10px; }
.sx-user__av{ width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-family:var(--mono); font-size:11px; font-weight:700; color:#fff; }
.sx-user__rows{ display:flex; flex-direction:column; gap:6px; }
.sx-urow{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--text-2); }
.sx-urow--deny{ color:var(--muted-2); text-decoration:line-through; opacity:.6; }
.sx-urow .sx-glyph{ width:18px; height:18px; border-radius:5px; font-size:8px; }
.sx-user__n{ margin-top:10px; font-family:var(--mono); font-size:11px; color:var(--muted-2); }

/* =====================================================================
   CITE — result-card gallery + empty state
   ===================================================================== */
.sx-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:clamp(26px,3vw,42px); }
.sx-rc{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card); padding:18px; display:flex; flex-direction:column; gap:11px; transition:transform .35s var(--ease-out), box-shadow .35s; }
.sx-rc:hover{ transform:translateY(-3px); box-shadow:var(--shadow-glow); }
.sx-rc__top{ display:flex; align-items:center; gap:9px; }
.sx-rc__title{ font-weight:700; font-size:14.5px; letter-spacing:-.01em; }
.sx-rc__snip{ font-size:13px; color:var(--muted); line-height:1.5; flex:1; }
.sx-rc__foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sx-rc--empty{ background:var(--bg-2); border-style:dashed; align-items:flex-start; justify-content:center; }
.sx-rc--empty .sx-rc__snip{ color:var(--muted-2); font-style:italic; }
.sx-rc__badge{ font-family:var(--mono); font-size:10px; color:var(--muted-2); letter-spacing:.1em; text-transform:uppercase; }

/* =====================================================================
   SEMANTIC — noisy vs clean
   ===================================================================== */
.sx-vs{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.2vw,28px); margin-top:clamp(26px,3vw,42px); align-items:start; }
.sx-vs__col{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); overflow:hidden; }
.sx-vs__h{ display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid var(--border-soft); font-size:12.5px; font-weight:600; }
.sx-vs__h .sx-mono{ font-size:10.5px; color:var(--muted-2); font-weight:500; }
.sx-vs__col--bad .sx-vs__h{ color:var(--muted); }
.sx-vs__col--good .sx-vs__h{ color:var(--green-2); background:var(--green-soft); }
.sx-vrow{ display:flex; align-items:center; gap:9px; padding:9px 15px; border-top:1px solid var(--border-faint); font-size:12.5px; color:var(--text-2); }
.sx-vrow:first-child{ border-top:0; }
.sx-vrow--dup{ color:var(--muted-2); opacity:.5; }
.sx-vrow .sx-glyph{ width:18px; height:18px; border-radius:5px; font-size:8px; }
.sx-vrow .sx-meter{ margin-left:auto; }
.sx-fold{ text-align:center; padding:8px; font-family:var(--mono); font-size:10.5px; color:var(--muted-2); background:var(--bg-2); border-top:1px solid var(--border-faint); }

/* =====================================================================
   CONTROL — 3-panel console
   ===================================================================== */
.sx-console{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:clamp(26px,3vw,42px); }
.sx-cpanel{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card); padding:20px; }
.sx-cpanel__h{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin:0 0 14px; }
.sx-seg{ display:flex; background:var(--bg-2); border:1px solid var(--border); border-radius:10px; padding:3px; gap:3px; }
.sx-seg__o{ flex:1; text-align:center; font-size:12.5px; font-weight:600; color:var(--muted); padding:8px 6px; border-radius:8px; cursor:default; }
.sx-seg__o.is-on{ background:var(--surface); color:var(--green-2); box-shadow:var(--shadow-sm); }
.sx-note{ font-size:12px; color:var(--muted); margin:12px 0 0; line-height:1.5; }
.sx-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.sx-chip{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:var(--text-2); background:var(--bg-2); border:1px solid var(--border); border-radius:10px; padding:8px 11px; }
.sx-chip .sx-glyph{ width:18px; height:18px; border-radius:5px; font-size:8px; }
.sx-chip--sec{ font-family:var(--mono); font-size:11px; font-weight:600; color:var(--green-2); background:var(--green-soft); border-color:var(--green-line); }
.sx-tagline{ display:inline-block; margin-top:12px; font-family:var(--mono); font-size:10.5px; color:var(--muted-2); }

/* =====================================================================
   INDEX — documents browser
   ===================================================================== */
.sx-browser{ display:grid; grid-template-columns:230px 1fr; margin-top:clamp(26px,3vw,42px); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); box-shadow:var(--shadow-card); overflow:hidden; }
.sx-rail{ border-right:1px solid var(--border-soft); background:var(--bg-2); padding:14px; }
.sx-rail__h{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin:2px 0 10px; }
.sx-railrow{ display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:8px; font-size:12.5px; color:var(--text-2); }
.sx-railrow.is-on{ background:var(--surface); box-shadow:var(--shadow-sm); font-weight:600; }
.sx-railrow .sx-glyph{ width:18px; height:18px; border-radius:5px; font-size:8px; }
.sx-railrow .sx-count{ margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--muted-2); }
.sx-docs{ padding:8px 0; }
.sx-doc{ display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:11px 18px; border-top:1px solid var(--border-faint); }
.sx-doc:first-child{ border-top:0; }
.sx-doc__t{ font-size:13.5px; font-weight:500; }
.sx-doc__m{ font-family:var(--mono); font-size:10.5px; color:var(--muted-2); }
.sx-doc__badge{ font-family:var(--mono); font-size:10px; font-weight:700; color:var(--green-2); background:var(--green-soft); border:1px solid var(--green-line); border-radius:var(--r-pill); padding:3px 9px; white-space:nowrap; }
.sx-doc--fresh{ background:var(--green-soft); }
.sx-doc--fresh.is-in{ animation:sx-fresh 2.2s var(--ease-out); }
@keyframes sx-fresh{ 0%{ background:rgba(22,163,74,.22);} 100%{ background:var(--green-soft);} }

/* =====================================================================
   DEEP RESEARCH — branch and merge
   ===================================================================== */
.sx-branch{ margin-top:clamp(26px,3vw,42px); max-width:820px; margin-inline:auto; text-align:center; }
.sx-branch__q{ display:inline-flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-sm); padding:12px 18px; font-size:14px; font-weight:600; max-width:560px; }
.sx-branch__subs{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0; }
.sx-sub{ background:var(--bg-2); border:1px solid var(--border); border-radius:12px; padding:13px; text-align:left; }
.sx-sub__h{ display:flex; align-items:center; gap:7px; font-family:var(--mono); font-size:10.5px; color:var(--muted-2); margin-bottom:7px; letter-spacing:.04em; }
.sx-sub__dot{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px var(--green-soft); }
.sx-sub p{ font-size:12.5px; color:var(--text-2); line-height:1.45; margin:0; }
.sx-report{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-card); padding:20px; text-align:left; max-width:600px; margin:0 auto; }
.sx-report__h{ display:flex; align-items:center; gap:9px; font-weight:700; font-size:15px; margin-bottom:10px; }
.sx-report__h svg{ width:18px; height:18px; color:var(--green); }
.sx-report p{ font-size:13px; color:var(--muted); line-height:1.55; margin:0 0 8px; }
.sx-report .sx-cite{ margin:2px 4px 2px 0; }

/* =====================================================================
   CTA — dark command-bar echo
   ===================================================================== */
.sx-ctawrap{ padding:clamp(44px,6vw,88px) 0 clamp(64px,8vw,110px); }
.sx-cta{ position:relative; overflow:hidden; border-radius:clamp(22px,3vw,34px); padding:clamp(40px,5.5vw,72px) clamp(24px,4vw,64px);
  background:radial-gradient(120% 140% at 50% -20%,#12233a 0%,#0b1521 60%);
  border:1px solid var(--cf-ink-line); text-align:center; box-shadow:0 40px 90px -40px rgba(6,14,24,.55); }
.sx-cta::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(126,226,166,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(126,226,166,.06) 1px,transparent 1px);
  background-size:42px 42px; -webkit-mask-image:radial-gradient(70% 80% at 50% 0,#000,transparent 72%); mask-image:radial-gradient(70% 80% at 50% 0,#000,transparent 72%); }
.sx-cta__inner{ position:relative; z-index:1; max-width:680px; margin-inline:auto; }
.sx-cta__title{ font-size:clamp(28px,3.7vw,46px); font-weight:700; letter-spacing:-.03em; line-height:1.06; color:#fff; margin:0 0 14px; }
.sx-cta__title .hl{ color:#7ee2a6; -webkit-text-fill-color:#7ee2a6; background:none; }
.sx-cta__sub{ color:rgba(230,235,242,.72); font-size:clamp(15px,1.5vw,18px); line-height:1.55; margin:0 auto 28px; max-width:520px; }
.sx-cta .sx-omni{ background:rgba(255,255,255,.05); border-color:var(--cf-ink-line); box-shadow:none; margin-bottom:26px; }
.sx-cta .sx-omni__q{ color:#c9d5e2; }
.sx-cta .sx-omni__k{ background:rgba(255,255,255,.06); border-color:var(--cf-ink-line); color:#8aa0b6; }
.sx-cta__actions{ display:flex; flex-wrap:wrap; gap:13px; justify-content:center; align-items:center; }
.sx-cta__ghost{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:#e6ebf2; background:rgba(255,255,255,.05); border:1px solid var(--cf-ink-line); border-radius:var(--r-md); padding:14px 24px; transition:background .2s; }
.sx-cta__ghost:hover{ background:rgba(255,255,255,.1); }
.sx-cta__trust{ display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center; margin-top:26px; font-family:var(--mono); font-size:11.5px; color:#7d8da0; letter-spacing:.02em; }
.sx-cta__trust span{ display:inline-flex; align-items:center; gap:7px; }
.sx-cta__trust b{ color:#7ee2a6; font-weight:600; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:900px){
  .sx-grid2{ grid-template-columns:1fr; }
  .sx-gatewrap{ grid-template-columns:1fr; }
  .sx-pipe__track{ grid-template-columns:1fr 1fr; gap:24px 14px; }
  .sx-pipe__thread{ display:none; }
  .sx-cards{ grid-template-columns:1fr 1fr; }
  .sx-console{ grid-template-columns:1fr; }
  .sx-branch__subs{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .sx-ba{ grid-template-columns:1fr; }
  .sx-ba__arrow{ transform:rotate(90deg); justify-self:center; }
  .sx-vs{ grid-template-columns:1fr; }
  .sx-cards{ grid-template-columns:1fr; }
  .sx-pipe__track{ grid-template-columns:1fr; }
  .sx-browser{ grid-template-columns:1fr; }
  .sx-rail{ border-right:0; border-bottom:1px solid var(--border-soft); }
  .sx-hit{ grid-template-columns:auto 1fr; }
  .sx-hit__meta{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .sx-omni__caret, .sx-conv__flow, .sx-pipe__thread, .sx-doc--fresh.is-in, .sx-fan .sx-src{ animation:none !important; }
  .sx-fan .sx-src{ opacity:1 !important; transform:none !important; }
  .sx-gate.is-in .sx-plate{ animation:none !important; }
  .sx-meter > i{ transition:none !important; }
}


/* =========================================================================
   SEARCH "Signal" v2 — premium polish layer (depth, motion, storytelling)
   ========================================================================= */

/* --- typography & rhythm --- */
.sx-hero__title, .sx-h2, .sx-cta__title{ text-wrap:balance; }
.sx-head--center .sx-lede{ max-width:620px; margin-inline:auto; }

/* --- decorative orbs (hero) --- */
.sx-orb{ position:absolute; border-radius:50%; pointer-events:none; filter:blur(70px); }
.sx-orb--a{ width:340px; height:340px; left:-120px; top:90px; background:rgba(22,163,74,.15); }
.sx-orb--b{ width:280px; height:280px; right:-90px; top:300px; background:rgba(27,183,87,.11); }

/* --- command bar: glow ring + keycap --- */
.sx-omni{ border-color:#dee6ef; box-shadow:0 0 0 5px var(--green-soft), 0 1px 2px rgba(16,24,40,.05), 0 18px 44px -18px rgba(22,163,74,.32); transition:box-shadow .3s, transform .3s; }
.sx-omni:hover{ box-shadow:0 0 0 6px rgba(22,163,74,.14), 0 1px 2px rgba(16,24,40,.05), 0 24px 54px -20px rgba(22,163,74,.4); }
.sx-omni__k{ border-bottom-width:2px; box-shadow:inset 0 -1px 0 rgba(15,23,42,.04); }

/* --- glyph depth --- */
.sx-glyph{ box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 1px 2px rgba(16,24,40,.22); }

/* --- hero results panel: layered depth + staggered entrance + hover accent --- */
.sx-hero .sx-panel{ border-color:#dfe5ee; box-shadow:0 1px 2px rgba(16,24,40,.05), 0 34px 90px -34px rgba(16,24,40,.3); }
.sx-hit{ position:relative; }
.sx-hit::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--green-bright),var(--green)); transform:scaleY(0); transform-origin:center; transition:transform .25s var(--ease-out); }
.sx-hit:hover::after{ transform:scaleY(1); }
.sx-hit:hover .sx-hit__title{ color:var(--green-2); }
.sx-hit__title{ transition:color .2s; }
.sx-hero__inner.is-in .sx-panel .sx-hit{ opacity:0; animation:sx-rise .55s var(--ease-out) forwards; }
.sx-hero__inner.is-in .sx-panel .sx-hit:nth-of-type(1){ animation-delay:.1s; }
.sx-hero__inner.is-in .sx-panel .sx-hit:nth-of-type(2){ animation-delay:.19s; }
.sx-hero__inner.is-in .sx-panel .sx-hit:nth-of-type(3){ animation-delay:.28s; }
.sx-hero__inner.is-in .sx-panel .sx-hit:nth-of-type(4){ animation-delay:.37s; }
.sx-hero__inner.is-in .sx-panel .sx-hit:nth-of-type(5){ animation-delay:.46s; }
@keyframes sx-rise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* --- facet chips (hero panel) --- */
.sx-facets{ display:flex; flex-wrap:wrap; gap:7px; padding:10px 14px; border-bottom:1px solid var(--border-soft); background:var(--bg-2); }
.sx-facet{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10.5px; font-weight:600; color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill); padding:4px 10px; transition:border-color .2s, transform .2s; }
.sx-facet .sx-glyph{ width:14px; height:14px; border-radius:4px; font-size:7px; box-shadow:none; }
.sx-facet.is-on{ color:var(--green-2); border-color:var(--green-line); background:var(--green-soft); }
.sx-facet:hover{ border-color:var(--green-line); transform:translateY(-1px); }

/* --- card depth system (subtle white->cool gradient) --- */
.sx-rc, .sx-cpanel, .sx-user, .sx-vs__col, .sx-browser, .sx-report, .sx-ba__panel--after{ background:linear-gradient(180deg,#ffffff,#fafbfd); }
.sx-user, .sx-ba__panel{ transition:transform .3s var(--ease-out), box-shadow .3s, border-color .25s; }
.sx-user:hover, .sx-ba__panel:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card); border-color:#dee6ef; }

/* --- stakes: after-panel emphasis + arrow nudge --- */
.sx-ba__panel--after{ border-color:var(--green-line); box-shadow:0 0 0 4px var(--green-soft), var(--shadow-sm); }
.sx-ba__arrow{ animation:sx-nudge 2.2s ease-in-out infinite; }
@keyframes sx-nudge{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(4px); } }

/* --- fan-in: convergence node + chip hover + stagger --- */
.sx-conv{ position:relative; }
.sx-conv::after{ content:""; position:absolute; left:50%; bottom:-3px; width:10px; height:10px; border-radius:50%; background:var(--green); transform:translateX(-50%); box-shadow:0 0 0 6px var(--green-soft), 0 0 18px var(--green-glow); }
.sx-src{ transition:transform .25s var(--ease-out), border-color .25s, box-shadow .25s; }
.sx-src:hover{ transform:translateY(-3px); border-color:var(--green-line); box-shadow:var(--shadow-card); }
.sx-fan.is-in .sx-src:nth-child(2){ animation-delay:.05s; } .sx-fan.is-in .sx-src:nth-child(3){ animation-delay:.1s; }
.sx-fan.is-in .sx-src:nth-child(4){ animation-delay:.15s; } .sx-fan.is-in .sx-src:nth-child(5){ animation-delay:.2s; }
.sx-fan.is-in .sx-src:nth-child(6){ animation-delay:.25s; } .sx-fan.is-in .sx-src:nth-child(7){ animation-delay:.3s; }
.sx-fan.is-in .sx-src:nth-child(8){ animation-delay:.35s; } .sx-fan.is-in .sx-src:nth-child(9){ animation-delay:.4s; }
.sx-fan.is-in .sx-src:nth-child(10){ animation-delay:.45s; } .sx-fan.is-in .sx-src:nth-child(11){ animation-delay:.5s; }
.sx-fan.is-in .sx-src:nth-child(12){ animation-delay:.55s; }

/* fix stagger targets: panel children = bar, facets, then hits (div 3..7) */
.sx-hero__inner.is-in .sx-panel .sx-hit{ animation-delay:.46s; }
.sx-hero__inner.is-in .sx-panel div:nth-child(3).sx-hit{ animation-delay:.1s; }
.sx-hero__inner.is-in .sx-panel div:nth-child(4).sx-hit{ animation-delay:.19s; }
.sx-hero__inner.is-in .sx-panel div:nth-child(5).sx-hit{ animation-delay:.28s; }
.sx-hero__inner.is-in .sx-panel div:nth-child(6).sx-hit{ animation-delay:.37s; }

/* --- pipeline (dark): grid backdrop, node depth, traveling packet, gate pulse --- */
.sx-sec--ink{ overflow:hidden; }
.sx-sec--ink::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(126,226,166,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(126,226,166,.05) 1px,transparent 1px);
  background-size:44px 44px; -webkit-mask-image:radial-gradient(70% 75% at 50% 15%,#000,transparent 78%); mask-image:radial-gradient(70% 75% at 50% 15%,#000,transparent 78%); }
.sx-sec--ink .container{ position:relative; z-index:1; }
.sx-stage__node{ background:linear-gradient(165deg,#16283f,#0d1a2b); border-color:rgba(126,226,166,.16); transition:transform .3s var(--ease-out); }
.sx-stage:hover .sx-stage__node{ transform:translateY(-4px); }
.sx-stage--gate .sx-stage__node{ animation:sx-gatepulse 2.8s ease-in-out infinite; }
@keyframes sx-gatepulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(27,183,87,.12),0 16px 34px -18px rgba(0,0,0,.6);} 50%{ box-shadow:0 0 0 9px rgba(27,183,87,.07),0 16px 34px -18px rgba(0,0,0,.6);} }
.sx-pipe__thread{ overflow:visible; }
.sx-pipe.is-in .sx-pipe__thread::after{ content:""; position:absolute; top:50%; left:0; width:8px; height:8px; margin-top:-4px; border-radius:50%;
  background:var(--green-bright); box-shadow:0 0 12px var(--green-bright), 0 0 0 4px rgba(27,183,87,.16); animation:sx-travel 3.4s linear infinite; }
@keyframes sx-travel{ from{ left:0; } to{ left:100%; } }

/* --- permission gate: icon boxes, dashed spine, descending token, deny tag --- */
.sx-plate__ic{ width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:var(--bg-2); border:1px solid var(--border); color:var(--muted); flex:0 0 auto; transition:.4s; }
.sx-plate__ic svg{ width:15px; height:15px; }
.sx-gate.is-in .sx-plate__ic{ background:linear-gradient(180deg,var(--green-bright),var(--green)); color:#fff; border-color:transparent; box-shadow:0 8px 18px -8px var(--green-glow); }
.sx-gate__stack{ position:relative; }
.sx-gate__stack::before{ content:""; position:absolute; left:29px; top:-8px; bottom:-8px; width:2px; z-index:0;
  background:repeating-linear-gradient(180deg,var(--green-line) 0 6px,transparent 6px 12px); }
.sx-plate{ position:relative; z-index:1; }
.sx-gate.is-in .sx-gate__stack::after{ content:""; position:absolute; left:26px; top:-8px; width:8px; height:8px; border-radius:50%; z-index:2;
  background:var(--green-bright); box-shadow:0 0 10px var(--green-bright); animation:sx-drop 3s var(--ease-out) infinite; }
@keyframes sx-drop{ 0%{ top:-8px; opacity:0; } 12%{ opacity:1; } 86%{ opacity:1; } 100%{ top:calc(100% + 2px); opacity:0; } }
.sx-urow--deny::after{ content:"filtered"; display:inline-block; margin-left:auto; font-family:var(--mono); font-size:9px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:var(--muted-2); border:1px solid var(--border); border-radius:999px; padding:1px 7px; }

/* --- cite cards: brand accent bar + arrow slide --- */
.sx-rc{ overflow:hidden; }
.sx-rc::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--rc,transparent); }
.sx-cards .sx-rc:nth-child(1){ --rc:#2684FF; } .sx-cards .sx-rc:nth-child(2){ --rc:#4A154B; } .sx-cards .sx-rc:nth-child(3){ --rc:#1a73e8; }
.sx-rc--empty::before{ display:none; }
.sx-cite svg{ transition:transform .2s; }
.sx-rc:hover .sx-cite svg{ transform:translate(2px,-2px); }

/* --- semantic: mute the noisy column, row hovers --- */
.sx-vs__col--bad{ filter:grayscale(.15); }
.sx-vrow{ transition:background .2s; }
.sx-vrow:hover{ background:var(--bg-2); }

/* --- control console: accent line, dot headers, lifts --- */
.sx-cpanel{ position:relative; overflow:hidden; transition:transform .3s var(--ease-out), box-shadow .3s, border-color .25s; }
.sx-cpanel::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green),var(--green-bright)); }
.sx-cpanel:hover{ transform:translateY(-3px); box-shadow:var(--shadow-glow); border-color:var(--green-line); }
.sx-cpanel__h{ display:flex; align-items:center; gap:7px; }
.sx-cpanel__h::before{ content:""; width:7px; height:7px; border-radius:2px; background:var(--green); }
.sx-chip{ transition:transform .2s, border-color .2s, box-shadow .2s, background .2s; }
.sx-chip:hover{ transform:translateY(-2px); border-color:var(--green-line); background:#fff; box-shadow:var(--shadow-sm); }
.sx-seg__o{ cursor:pointer; }

/* --- index browser: window chrome, row hovers, badge pulse --- */
.sx-browser__bar{ grid-column:1 / -1; display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--border-soft); background:var(--bg-2); }
.sx-dots{ display:flex; gap:5px; }
.sx-dots i{ width:9px; height:9px; border-radius:50%; }
.sx-dots i:nth-child(1){ background:#ff5f57; } .sx-dots i:nth-child(2){ background:#febc2e; } .sx-dots i:nth-child(3){ background:#28c840; }
.sx-browser__t{ font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.03em; }
.sx-browser__bar .sx-stat{ margin-left:auto; }
.sx-doc, .sx-railrow{ transition:background .2s; }
.sx-doc:hover{ background:var(--bg-2); }
.sx-doc--fresh .sx-doc__badge{ animation:sx-badgepulse 2.4s ease-in-out infinite; }
@keyframes sx-badgepulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(22,163,74,.25); } 50%{ box-shadow:0 0 0 6px rgba(22,163,74,0); } }

/* --- deep research: connector spine + hovers + report accent --- */
.sx-branch__subs{ position:relative; }
.sx-branch__subs::before{ content:""; position:absolute; top:-21px; left:50%; width:2px; height:20px; background:var(--green-line); }
.sx-report{ position:relative; margin-top:21px; border-left:3px solid var(--green); }
.sx-report::before{ content:""; position:absolute; top:-21px; left:50%; width:2px; height:20px; background:var(--green-line); }
.sx-sub{ transition:transform .25s var(--ease-out), border-color .25s, box-shadow .25s; }
.sx-sub:hover{ transform:translateY(-2px); border-color:var(--green-line); box-shadow:var(--shadow-sm); }
.sx-sub__dot{ animation:sx-subpulse 2.4s ease-in-out infinite; }
@keyframes sx-subpulse{ 0%,100%{ box-shadow:0 0 0 3px var(--green-soft); } 50%{ box-shadow:0 0 0 6px rgba(22,163,74,.05); } }

/* --- CTA: bottom glow + omni ring on dark --- */
.sx-cta::after{ content:""; position:absolute; left:-15%; right:-15%; bottom:-55%; height:85%; pointer-events:none;
  background:radial-gradient(50% 60% at 50% 100%, rgba(27,183,87,.16), transparent 72%); }
.sx-cta .sx-omni{ box-shadow:0 0 0 1px rgba(126,226,166,.14), 0 22px 54px -22px rgba(0,0,0,.55); }

/* --- per-section tint storytelling (progressive enhancement via :has) --- */
.sx-sec--tint:has(.sx-ba){ background:radial-gradient(rgba(15,23,42,.03) 1px, transparent 1.4px) 0 0/22px 22px, var(--bg-2); }
.sx-sec--tint:has(.sx-gate){ background:radial-gradient(55% 65% at 88% 8%, rgba(22,163,74,.07), transparent 62%), var(--bg-2); }
.sx-sec--tint:has(.sx-vs){ background:linear-gradient(180deg, var(--bg-2), #ffffff 130%); }
.sx-sec--tint:has(.sx-browser){ background:radial-gradient(50% 60% at 8% 0%, rgba(22,163,74,.06), transparent 60%), var(--bg-2); }

/* --- responsive touch-ups for v2 --- */
@media (max-width:680px){
  .sx-ba__arrow{ animation:none; transform:rotate(90deg); }
  .sx-facets{ padding:8px 10px; }
  .sx-browser__bar .sx-stat{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .sx-pipe.is-in .sx-pipe__thread::after, .sx-stage--gate .sx-stage__node, .sx-gate.is-in .sx-gate__stack::after,
  .sx-doc--fresh .sx-doc__badge, .sx-sub__dot, .sx-ba__arrow{ animation:none !important; }
  .sx-hero__inner.is-in .sx-panel .sx-hit{ animation:none !important; opacity:1 !important; }
}
