
/* Precompiled Tailwind CSS utilities used by the React bento. No runtime/build needed. */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.inline-flex {
  display: inline-flex;
}
.w-full {
  width: 100%;
}
.flex-col {
  flex-direction: column;
}
.place-items-center {
  place-items: center;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-center {
  justify-content: center;
}
.gap-0 {
  gap: 0px;
}
.object-cover {
  object-fit: cover;
}


/* ── Base ──────────────────────────────────────────────────── */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  background: #f4f4f2; /* matches opening mode: "light" in script.js */
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.intro-running {
  overflow: hidden; /* no scrolling during the opening */
}

/* ── OPENING (SemanticBloom, 5s) ───────────────────────────── */

.opening {
  position: fixed;
  inset: 0;
  z-index: 30;
  background: #f4f4f2;
  /* smooth exit */
  transition:
    opacity 0.7s ease,
    visibility 0.7s ease;
}

.opening.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.opening__root {
  position: absolute;
  inset: 0;
}

.shader-frame {
  width: 100%;
  height: 100%;
}

/* Loading bar — fills 0% → 100% across the 5s opening */
.loader {
  position: absolute;
  left: 50%;
  bottom: clamp(2rem, 7vh, 4rem);
  z-index: 2;
  width: min(420px, 72vw);
  transform: translateX(-50%);
}

.loader__meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.55rem;
  color: rgba(21, 21, 21, 0.62);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.loader__track {
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(21, 21, 21, 0.14);
}

.loader__fill {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #151515;
  transform: scaleX(0);
  transform-origin: left;
}

/* ── MAIN WEBSITE ──────────────────────────────────────────── */

.site {
  min-height: 100svh;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  /* smooth entrance, cross-fading with the opening */
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

.site.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

/* ── HERO · calm Fibre Arc / clear typography hierarchy ── */
.hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  background: #01030a;
}
.hero__bg {
  position: absolute;
  inset: -10% 0 0;
  opacity: .72;
  filter: brightness(1.05);
}
/* Keep the upper arc visible; shade the reading area without obscuring it. */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 48% at 50% 65%, rgba(1, 3, 10, .72), transparent 100%),
    linear-gradient(180deg, rgba(1, 3, 10, .06) 15%, rgba(1, 3, 10, .16) 35%, rgba(1, 3, 10, .8) 78%, #01030a);
}
.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  max-width: 1160px;
  margin-inline: auto;
  padding: clamp(160px, 27svh, 280px) 32px clamp(48px, 8svh, 88px);
  text-align: center;
  font-family: "DM Sans", sans-serif;
  pointer-events: none;
}
.hero__eyebrow {
  margin: 0 0 22px;
  color: #8bb9ec;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero__headline {
  margin: 0;
  color: #f7f9fc;
  font-family: "Poppins", sans-serif;
  font-size: clamp(40px, 4.25vw, 64px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.hero__headline span { display: block; }
.hero__headline span + span { margin-top: 5px; }
.hero__description {
  max-width: 560px;
  margin: 24px 0 0;
  color: #aab5c7;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(16px, 1.3vw, 18px);
  font-weight: 400;
  line-height: 1.75;
  text-wrap: pretty;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
  pointer-events: auto;
}
.hero .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 50px;
  padding: 0 25px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.hero .btn--primary {
  color: #fff;
  background: #1677ff;
  border-color: #338aff;
  box-shadow: 0 8px 30px -12px rgba(22, 119, 255, .65);
}
.hero .btn--primary:hover { background: #2d85ff; transform: translateY(-2px); }
.hero .btn--ghost {
  color: #dce4ef;
  background: rgba(4, 9, 19, .5);
  border-color: rgba(183, 201, 226, .23);
}
.hero .btn--ghost:hover { background: #0e1727; border-color: #6b7f9d; transform: translateY(-2px); }
.hero .btn:focus-visible { outline: 2px solid #9ecbff; outline-offset: 5px; }
@media (max-width: 700px) {
  .hero__bg { inset: -4% -22% 0; opacity: .6; }
  .hero__content {
    padding: clamp(150px, 25svh, 220px) 22px 48px;
  }
  .hero__eyebrow { font-size: 10px; letter-spacing: .11em; margin-bottom: 20px; }
  .hero__headline { font-size: clamp(30px, 6.4vw, 44px); line-height: 1.18; letter-spacing: -.045em; }
  .hero__description { max-width: 400px; font-size: 16px; margin-top: 22px; }
  .hero__actions { margin-top: 28px; gap: 10px; }
  .hero .btn { min-height: 48px; padding-inline: 20px; font-size: 13px; }
}
@media (max-width: 380px) {
  .hero__headline { font-size: 28px; }
  .hero__actions { width: min(280px, 100%); flex-direction: column; }
}
@media (max-height: 650px) and (min-width: 701px) {
  .hero__content { padding-top: 126px; padding-bottom: 32px; }
  .hero__headline { font-size: clamp(38px, 4vw, 52px); }
  .hero__eyebrow { margin-bottom: 16px; }
  .hero__description { margin-top: 18px; }
  .hero__actions { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero .btn { transition: none; }
  .hero .btn:hover { transform: none; }
}

/* ── SECOND SECTION · fixed Topo Contour / scrolling bento ── */
.audience {
  position: relative;
  isolation: isolate;
  background: #000;
  border-top: 1px solid rgba(229, 231, 235, .42);
}
.audience__intro {
  position: relative;
  z-index: 1;
  padding: clamp(80px, 9vw, 128px) 24px clamp(64px, 7vw, 96px);
  background: #000;
}
.audience__intro .section-head { margin-bottom: 0; }
.audience__body {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: #040D19;
}
/* clip-path confines the fixed child to this section without moving it. */
.audience__bg {
  position: absolute;
  inset: 0;
  clip-path: inset(0);
  pointer-events: none;
  z-index: -1;
}
.topo-stage {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
}
.topo-stage canvas { display: block; width: 100%; height: 100%; filter: brightness(.7); }
.audience__content {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin-inline: auto;
  padding: clamp(48px, 6vw, 80px) clamp(20px, 5vw, 64px) 120px;
  font-family: "DM Sans", sans-serif;
}
.section-head { max-width: 760px; margin: 0 auto 72px; text-align: center; }
.section-kicker {
  margin: 0 0 18px;
  color: #6ee7b7;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.section-title {
  margin: 0;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: clamp(36px, 4.5vw, 60px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.15;
}
.section-subtitle {
  margin: 24px auto 0;
  max-width: 630px;
  color: #b4bdce;
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.75;
}
.bento-grid { border: 1px solid #1F2937; background: #000; }
.bento-row {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 0;
  background: #000;
}
.bento-row + .bento-row { border-top: 1px solid #1F2937; }
/* Alternate image/text on desktop without changing the accessible reading order. */
@media (min-width: 701px) {
  .bento-row:nth-child(even) { grid-template-columns: 1fr 1.08fr; }
  .bento-row:nth-child(even) .bento-visual {
    order: -1;
    border-left: 0;
    border-right: 1px solid #1F2937;
  }
}
.bento-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 380px;
  padding: clamp(28px, 4.5vw, 64px);
  background: #000;
}
.bento-number {
  color: #6ee7b7;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  letter-spacing: .12em;
  margin-bottom: 32px;
}
.bento-copy h3 {
  margin: 0;
  color: #f3f4f6;
  font-family: "Poppins", sans-serif;
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.3;
}
.bento-copy p {
  margin: 20px 0 28px;
  max-width: 395px;
  font-size: 16px;
  line-height: 1.8;
  color: #9ca7b8;
}
.bento-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0 0 5px;
  border-bottom: 1px solid #334155;
  color: #f3f4f6;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.bento-link:hover { color: #6ee7b7; border-color: #6ee7b7; }
.bento-link:focus-visible { outline: 2px solid #6ee7b7; outline-offset: 7px; }
.bento-visual {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: 380px;
  padding: clamp(28px, 3.5vw, 48px);
  border-left: 1px solid #1F2937;
  background: #000;
}
/* Static mockups, no background animation, parallax, bobbing, or scroll transforms. */
.bento-preview {
  position: relative;
  width: 100%;
  max-width: 410px;
  border: 1px solid #283241;
  border-radius: 10px;
  background: #0c111a;
  box-shadow: 0 24px 55px #0009;
  overflow: hidden;
}
.bento-browser {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 34px;
  padding: 0 13px;
  border-bottom: 1px solid #1f2937;
  background: #0b1019;
}
.bento-browser i { display: block; width: 5px; height: 5px; border-radius: 50%; background: #374151; }
.bento-browser span { margin: 0 auto; padding-right: 24px; font: 9px "DM Sans", sans-serif; color: #8490a3; letter-spacing: .04em; }
.bento-image { display: block; width: 100%; height: auto; object-fit: contain; filter: saturate(.75); }
.bento-preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px; }
.bento-preview-footer strong { display: block; color: #e5e7eb; font-size: 12px; font-weight: 500; }
.bento-preview-footer small { display: block; color: #7c899d; font-size: 10px; margin-top: 5px; }
.bento-status { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; color: #6ee7b7; font-size: 9px; }
.bento-status::before { content: ""; width: 5px; height: 5px; background: #6ee7b7; border-radius: 50%; }
@media (max-width: 700px) {
  .bento-row { grid-template-columns: 1fr; }
  .bento-copy { min-height: 0; padding: 32px 26px; }
  .bento-number { margin-bottom: 24px; }
  .bento-visual { min-height: 0; border-left: 0; border-top: 1px solid #1F2937; padding: 28px 24px; }
  .bento-image { height: auto; }
  .section-head { margin-bottom: 44px; }
  .audience__content { padding-bottom: 64px; }
}

/* ── NAVIGATION (AnimatedTopDock) ──────────────────────────── */

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 10;
}

.nav-frame {
  width: 100%;
  height: clamp(96px, 11vw, 128px);
}

/* Adapt the dock from a full-screen demo stage into a top nav bar:
   keep only its bar — hide the stage headline, caption and aurora,
   and drop the component's own dark stage background. */
.nav-frame .animated-top-dock-component.atd-modern {
  --atd-top: 16px;
  background: transparent;
  overflow: visible;
}

.nav-frame .animated-top-dock-component::after,
.nav-frame .atd-modern__aurora,
.nav-frame .atd-modern__stage,
.nav-frame .animated-top-dock-component__caption {
  display: none;
}

/* Brand: our logo + name replace the dock's built-in "Lumina" brand.
   (The logo is embedded below so the site stays just 3 files.) */
.nav-frame .atd-modern__mark {
  background:
    url("data:image/png;base64,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")
    center / cover no-repeat;
}

.nav-frame .atd-modern__mark svg {
  display: none; /* hide the built-in logo */
}

.nav-frame .atd-modern__word {
  font-size: 0; /* hide the built-in "Lumina" text */
  line-height: 1;
}

.nav-frame .atd-modern__word::after {
  content: var(--brand-name, "SiteFactoryWeb");
  color: #f2f3f7;
  font-size: var(--atd-brand);
  font-weight: 600;
  letter-spacing: -0.018em;
  white-space: nowrap;
}

/* ── Reduced motion ────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .opening,
  .site {
    transition-duration: 0.01s;
  }
}

/* ── THIRD SECTION · lightweight pinned process / dealing cards ── */
.process {
  position: relative;
  height: 220svh;
  background: #05070c;
  border-top: 1px solid #263043;
}
.process__pin {
  position: sticky;
  top: 0;
  height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 100px clamp(20px, 5vw, 72px) 28px;
}
#process-root { width: 100%; }
.process-deck { max-width: 1220px; margin: 0 auto; font-family: "DM Sans", sans-serif; }
.process-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.process-kicker { color: #84b8ff; font-size: 10px; font-weight: 600; letter-spacing: .2em; margin: 0 0 14px; }
.process-heading h2 { font-family: "Poppins", sans-serif; font-size: clamp(32px, 3.8vw, 52px); letter-spacing: -.045em; line-height: 1.15; font-weight: 500; color: #f3f5f9; margin: 0; }
.process-heading h2 span { color: #76aaff; }
.process-intro { max-width: 255px; margin: 0 0 3px; color: #8593aa; font-size: 14px; line-height: 1.7; }
.process-stage { position: relative; padding: 0 0 30px 166px; }
.process-panel { position: relative; z-index: 2; overflow: visible; border-radius: 18px; border: 1px solid #303b4d; background: #0d121d; box-shadow: 0 32px 72px #0005; }
.process-card { position: relative; z-index: 1; padding: 34px 36px 24px; min-height: 338px; transform-origin: bottom left; }
.process-card.is-forward { animation: process-deal .55s cubic-bezier(.22, 1, .36, 1) both; }
.process-card.is-reverse { animation: process-return .4s cubic-bezier(.22, 1, .36, 1) both; }
.process-card-meta { display: flex; justify-content: space-between; align-items: center; gap: 15px; color: #83b5ff; font-size: 10px; font-weight: 600; letter-spacing: .15em; margin-bottom: 29px; }
.process-card-count { color: #5e6b82; font-variant-numeric: tabular-nums; }
.process-card-body { display: grid; grid-template-columns: 1.25fr 1fr; gap: 35px; }
.process-card-copy h3 { margin: 0; font-family: "Poppins", sans-serif; font-weight: 500; font-size: clamp(23px, 2.6vw, 36px); line-height: 1.25; color: #f4f6fb; letter-spacing: -.04em; max-width: 360px; }
.process-card-copy > p { color: #94a1b7; font-size: 14px; line-height: 1.8; margin: 20px 0 0; }
.process-card-copy .process-card-note { color: #b5c9e7; font-size: 11px; margin-top: 22px; }
.process-preview { align-self: center; border: 1px solid #253146; border-radius: 12px; background: #090e17; padding: 23px 24px; }
.process-preview-icon { color: #8cbcff; width: 38px; height: 38px; margin-bottom: 14px; }
.process-preview-icon svg { display: block; width: 100%; height: 100%; }
.process-preview-title { color: #dee8f7; margin: 0; font-size: 13px; font-weight: 600; }
.process-preview-label { color: #667891; margin: 6px 0 20px; font-size: 10px; }
.process-preview ul { padding: 0; margin: 0; list-style: none; }
.process-preview li { display: flex; align-items: center; gap: 8px; color: #a8b6ca; font-size: 11px; line-height: 1.6; }
.process-preview li + li { margin-top: 9px; }
.process-preview li span { color: #6ee7b7; }
.process-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 28px; border-top: 1px solid #253043; background: #0a0f19; border-radius: 0 0 18px 18px; position: relative; z-index: 3; }
.process-dots { display: flex; gap: 2px; }
.process-dots button { width: 26px; height: 32px; border: 0; padding: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.process-dots button span { width: 5px; height: 5px; border-radius: 50%; background: #3c485b; transition: background .2s, width .2s; }
.process-dots button.is-active span { width: 18px; border-radius: 8px; background: #87b6ff; }
.process-buttons { display: flex; align-items: center; gap: 10px; }
.process-buttons button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid #2c3b51; cursor: pointer; font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 500; transition: background .18s; }
.process-prev { background: transparent; color: #b2bfd3; }
.process-next { background: #b3d1ff; color: #071324; }
.process-buttons .process-next:hover:not(:disabled) { background: #d0e2ff; }
.process-buttons .process-prev:hover:not(:disabled) { background: #182235; }
.process-buttons button:disabled { cursor: default; opacity: .3; }
.process-deck button:focus-visible { outline: 2px solid #8bbaff; outline-offset: 4px; }
.process-stack { position: absolute; left: 0; bottom: 57px; width: 184px; height: 228px; z-index: 3; pointer-events: none; }
.process-stack-card { position: absolute; inset: 0; padding: 22px 19px; border-radius: 12px; border: 1px solid #2f4564; color: #9fc3fc; background: #101e34; box-shadow: 0 12px 32px #0005; transform: translate(calc(var(--layer) * -7px), calc(var(--layer) * -9px)) rotate(calc(-9deg + var(--layer) * -5deg)); }
.process-stack-brand { display: block; font-size: 7px; letter-spacing: .14em; color: #7290b6; }
.process-stack-number { display: block; font: 500 64px/1 "Poppins", sans-serif; letter-spacing: -.06em; margin-top: 31px; }
.process-stack-label { display: block; margin-top: 15px; font-size: 8px; letter-spacing: .2em; }
.process-stack-spark { position: absolute; right: 18px; bottom: 17px; font-size: 22px; color: #5a92e9; }
.process-stack-caption { position: absolute; left: 6px; bottom: -35px; white-space: nowrap; color: #516481; font-size: 8px; letter-spacing: .16em; }
.process-bottom { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 0 166px; color: #5e6e86; font-size: 10px; }
.process-bottom p { margin: 0; display: flex; align-items: center; gap: 10px; }
.process-scroll-icon { color: #90a6c6; font-size: 16px; }
.process-bottom > span { font-variant-numeric: tabular-nums; letter-spacing: .12em; }
@keyframes process-deal {
  from { opacity: 0; transform: translate(-100px, 65px) rotate(-7deg) scale(.9); }
  to { opacity: 1; transform: none; }
}
@keyframes process-return {
  from { opacity: 0; transform: translate(30px, -16px) rotate(2deg) scale(1.02); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .process__pin { padding-inline: 28px; }
  .process-stage { padding-left: 115px; }
  .process-stack { width: 132px; height: 190px; }
  .process-stack-card { padding: 19px 14px; }
  .process-stack-number { font-size: 52px; }
  .process-stack-brand { font-size: 6px; }
  .process-card { padding: 26px; }
  .process-card-body { gap: 20px; grid-template-columns: 1.15fr 1fr; }
  .process-preview { padding: 20px 16px; }
  .process-bottom { margin-left: 115px; }
}
@media (max-width: 650px) {
  .process { height: 220svh; }
  .process__pin { padding: 88px 20px 24px; }
  .process-heading { gap: 18px; margin-bottom: 24px; align-items: flex-start; }
  .process-heading h2 { font-size: 32px; }
  .process-kicker { font-size: 8px; margin-bottom: 12px; }
  .process-intro { display: none; }
  .process-stage { padding: 0 0 32px; }
  .process-card { min-height: 340px; padding: 25px 23px 30px; }
  .process-card-meta { font-size: 8px; margin-bottom: 23px; }
  .process-card-body { grid-template-columns: 1fr; gap: 20px; }
  .process-card-copy h3 { font-size: 27px; }
  .process-card-copy > p { font-size: 13px; line-height: 1.7; margin-top: 17px; }
  .process-card-copy .process-card-note { display: none; }
  .process-preview { padding: 0; border: 0; background: none; }
  .process-preview-icon, .process-preview-title, .process-preview-label { display: none; }
  .process-preview ul { display: flex; flex-wrap: wrap; gap: 7px 12px; }
  .process-preview li { font-size: 10px; }
  .process-preview li + li { margin-top: 0; }
  .process-controls { padding: 15px 16px 15px 62px; gap: 8px; }
  .process-dots { gap: 0; }
  .process-dots button { width: 17px; }
  .process-dots button.is-active span { width: 13px; }
  .process-buttons { gap: 7px; }
  .process-buttons button { height: 38px; padding: 0 11px; gap: 7px; font-size: 10px; }
  .process-stack { width: 61px; height: 84px; bottom: 22px; left: -2px; z-index: 4; }
  .process-stack-card { padding: 9px 7px; border-radius: 6px; transform: translate(calc(var(--layer) * -3px), calc(var(--layer) * -3px)) rotate(calc(-9deg + var(--layer) * -5deg)); }
  .process-stack-brand, .process-stack-label, .process-stack-caption { display: none; }
  .process-stack-number { margin-top: 14px; font-size: 26px; }
  .process-stack-spark { font-size: 11px; bottom: 6px; right: 7px; }
  .process-bottom { margin: 0 0 0 65px; font-size: 9px; }
}
@media (max-height: 720px) and (min-width: 651px) {
  .process__pin { padding-top: 88px; padding-bottom: 20px; }
  .process-heading { margin-bottom: 24px; }
  .process-heading h2 { font-size: 36px; }
  .process-card { min-height: 295px; padding: 25px 30px 22px; }
  .process-card-meta { margin-bottom: 20px; }
  .process-card-copy h3 { font-size: 28px; }
  .process-card-copy > p { font-size: 13px; }
  .process-preview { padding: 18px; }
  .process-preview-icon { width: 28px; height: 28px; margin-bottom: 10px; }
}
@media (max-height: 700px) and (max-width: 650px) {
  .process-heading { margin-bottom: 18px; }
  .process-heading h2 { font-size: 28px; }
  .process-card { min-height: 280px; padding: 20px; }
  .process-card-copy h3 { font-size: 24px; }
  .process-card-copy > p { font-size: 12px; margin-top: 13px; }
  .process-card-meta { margin-bottom: 18px; }
  .process-preview ul { gap: 5px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .process-card.is-forward, .process-card.is-reverse { animation: none; }
  .process-dots button span, .process-buttons button { transition: none; }
}

/* Flow Field is confined to deck faces; Halftone Bloom to the controls footer. */
.process-stack-card { overflow: hidden; isolation: isolate; }
.process-flow-source { display: none; }
.process-flow-face { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.process-stack-card::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, #020b2020, #020b204d); }
.process-stack-brand { color: #d5e4fc; }
.process-stack-number { color: #edf5ff; text-shadow: 0 2px 16px #00112a88; }
.process-stack-label, .process-stack-spark { color: #d2e5ff; }
.process-controls { isolation: isolate; }
.process-footer-bg { position: absolute; inset: 0; z-index: -1; border-radius: 0 0 18px 18px; overflow: hidden; pointer-events: none; background: #000; }
.process-footer-bg canvas { display: block; width: 100%; height: 100%; }
.process-footer-bg::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: #0008; }
.process-prev { background: #08101caa; }
.process-dots button span { background: #798aaa; }
.process-dots button.is-active span { background: #d5e7ff; }

/* Refined third-section composition and geometry-aware card transitions. */
.process-stage { padding-left: 200px; }
.process-stack { left: -2px; bottom: 44px; width: 152px; height: 200px; }
.process-stack-card { padding: 20px 16px; }
.process-stack-number { font-size: 58px; margin-top: 29px; }
.process-stack-caption { bottom: -30px; font-size: 7px; }
.process-card { min-height: 338px; background: #0d121d; border-radius: 18px 18px 0 0; transform-origin: 0 0; }
.process-card.is-forward, .process-card.is-reverse { animation: none; }
.process-card-ghost { position: absolute; left: 0; top: 0; z-index: 6; pointer-events: none; transform-origin: 0 0; box-sizing: border-box; }
.process-card-body { grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); gap: 28px; align-items: center; }
.process-card-copy h3 { max-width: 520px; font-size: clamp(26px, 2.45vw, 35px); line-height: 1.3; }
.process-card-copy > p { max-width: 535px; color: #b4bfd0; font-size: 15px; line-height: 1.8; margin-top: 22px; }
.process-card-meta { margin-bottom: 24px; }
.process-preview { padding: 24px; }
.process-preview-label { color: #8a9bb4; line-height: 1.6; }
.process-preview li { font-size: 12px; color: #bbc7d8; }
.process-controls { padding: 18px 28px; min-height: 82px; }
.process-progress { display: flex; align-items: center; gap: 16px; }
.process-progress-label { color: #c4d3e9; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
.process-dots { gap: 0; }
.process-dots button { width: 30px; height: 44px; }
.process-dots button span { width: 6px; height: 6px; }
.process-dots button.is-active span { width: 20px; height: 6px; }
.process-buttons button { height: 44px; font-size: 12px; padding-inline: 17px; }
.process-buttons button:disabled { opacity: .45; }
.process-bottom { margin-left: 200px; margin-top: 12px; }
.process-bottom-note { font-size: 8px; }
@media (max-width: 1050px) and (min-width: 651px) {
  .process-stage { padding-left: 145px; }
  .process-stack { width: 112px; height: 165px; bottom: 47px; }
  .process-stack-brand { font-size: 5px; }
  .process-stack-number { font-size: 45px; margin-top: 25px; }
  .process-card { padding: 28px; }
  .process-card-body { grid-template-columns: minmax(0, 1.4fr) minmax(190px, 1fr); gap: 20px; }
  .process-card-copy h3 { font-size: 27px; }
  .process-card-copy > p { font-size: 13px; }
  .process-preview { padding: 19px; }
  .process-preview li { font-size: 10px; }
  .process-progress { flex-direction: column; gap: 0; align-items: flex-start; }
  .process-progress-label { font-size: 10px; }
  .process-dots button { height: 28px; width: 25px; }
  .process-buttons button { font-size: 11px; padding-inline: 12px; }
  .process-controls { padding: 16px 22px; }
  .process-bottom { margin-left: 145px; }
}
@media (max-width: 650px) {
  .process-stage { padding-left: 0; padding-bottom: 82px; }
  .process-card { padding: 24px; min-height: 320px; }
  .process-card-body { grid-template-columns: 1fr; gap: 21px; }
  .process-card-copy h3 { font-size: 27px; }
  .process-card-copy > p { font-size: 14px; line-height: 1.75; margin-top: 18px; }
  .process-preview { padding: 0; }
  .process-preview li { font-size: 10px; }
  .process-controls { padding: 14px 16px; min-height: 103px; align-items: center; gap: 8px; }
  .process-progress { flex-direction: column; align-items: flex-start; gap: 1px; }
  .process-progress-label { font-size: 9px; }
  .process-dots button { width: 22px; height: 34px; }
  .process-dots button span { width: 5px; height: 5px; }
  .process-dots button.is-active span { width: 16px; }
  .process-buttons { gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 175px; }
  .process-buttons button { min-height: 40px; height: 40px; padding: 0 12px; font-size: 10px; gap: 8px; }
  .process-buttons .process-cta { font-size: 9px; padding: 0 10px; }
  .process-stack { left: 10px; bottom: 0; width: 51px; height: 68px; }
  .process-stack-card { padding: 7px; }
  .process-stack-number { margin-top: 10px; font-size: 25px; }
  .process-stack-caption { display: none; }
  .process-stack-spark { font-size: 9px; }
  .process-bottom { margin-left: 76px; margin-top: -40px; min-height: 34px; font-size: 8px; }
  .process-bottom-note { display: none; }
}
@media (max-height: 760px) and (min-width: 651px) {
  .process-card { min-height: 295px; padding-top: 26px; padding-bottom: 25px; }
  .process-card-copy h3 { font-size: 28px; }
  .process-card-copy > p { font-size: 13px; margin-top: 18px; }
  .process-preview { padding: 18px; }
  .process-preview li { font-size: 11px; }
  .process-heading { margin-bottom: 26px; }
}
@media (max-height: 720px) and (max-width: 650px) {
  .process-heading { margin-bottom: 18px; }
  .process-card { min-height: 260px; padding: 20px; }
  .process-card-copy h3 { font-size: 24px; }
  .process-card-copy > p { font-size: 12px; line-height: 1.65; margin-top: 14px; }
  .process-card-meta { margin-bottom: 18px; }
  .process-controls { min-height: 90px; padding-top: 10px; padding-bottom: 10px; }
  .process-stage { padding-bottom: 68px; }
}

/* ── QUOTE SECTION · white rectangle surrounded by Cloud Sky ── */
.quote-sky {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: 86svh;
  padding: clamp(90px, 11vw, 160px) clamp(22px, 6vw, 88px);
  background: linear-gradient(180deg, #0075ff, #b4d2f0);
}
.quote-sky__background { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.cloud-sky-canvas { display: block; width: 100%; height: 100%; }
.quote-card {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0;
  padding: clamp(40px, 6vw, 82px) clamp(28px, 7vw, 92px);
  border: 1px solid #fff;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 24px 70px #12385c26, 0 3px 12px #12385c12;
  color: #14243a;
  text-align: center;
}
.quote-card__kicker { margin: 0 0 18px; color: #68798d; font: 600 10px/1.6 "DM Sans", sans-serif; letter-spacing: .22em; }
.quote-card__mark { display: block; height: 55px; color: #6e98ca; font: 500 88px/1 "Cormorant Garamond", serif; margin: 0 0 18px; }
.quote-card blockquote { margin: 0; }
.quote-card blockquote p { max-width: 790px; margin: 0 auto; font: 500 clamp(29px, 3.5vw, 48px)/1.27 "Cormorant Garamond", Georgia, serif; letter-spacing: -.02em; text-wrap: pretty; }
.quote-card blockquote em { color: #235f9d; font-weight: 500; }
.quote-card figcaption { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 34px; color: #77879b; font: 500 10px/1.6 "DM Sans", sans-serif; letter-spacing: .13em; }
.quote-card figcaption span { width: 28px; height: 1px; background: #c8d7e6; }
@media (max-width: 650px) {
  .quote-sky { min-height: 78svh; padding: 86px 22px; }
  .quote-card { border-radius: 24px; padding: 38px 27px; }
  .quote-card__kicker { font-size: 8px; letter-spacing: .16em; }
  .quote-card__mark { height: 43px; font-size: 72px; margin-bottom: 17px; }
  .quote-card blockquote p { font-size: clamp(29px, 7.8vw, 36px); line-height: 1.3; }
  .quote-card figcaption { margin-top: 27px; font-size: 9px; }
}

/* ── PRICING · simple, transparent INR plan grid ── */
.pricing { position: relative; background: #05070c; border-top: 1px solid #202a3b; padding: clamp(85px, 10vw, 140px) clamp(22px, 5vw, 72px) clamp(80px, 9vw, 130px); font-family: "DM Sans", sans-serif; }
.pricing__inner { max-width: 1220px; margin: 0 auto; }
.pricing__heading { text-align: center; margin: 0 auto 58px; max-width: 830px; }
.pricing__kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 24px; padding: 8px 13px; color: #9bc2ff; border: 1px solid #294063; border-radius: 999px; background: #0d1728; font-size: 10px; font-weight: 500; letter-spacing: .03em; }
.pricing__kicker span { color: #c3d9ff; }
.pricing__heading h2 { margin: 0; color: #f3f5fa; font-family: "Poppins", sans-serif; font-size: clamp(30px, 3.5vw, 48px); font-weight: 500; letter-spacing: -.04em; line-height: 1.2; }
.pricing__heading h2 span { color: #a9c9fa; }
.pricing__description { margin: 22px auto 0; max-width: 570px; color: #9caabe; font-size: 15px; line-height: 1.8; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.pricing-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #273143; border-radius: 16px; background: #0c111b; overflow: hidden; }
.pricing-card--popular { border-color: #6399ef; background: #0e1727; box-shadow: 0 12px 40px #143b7820; }
.pricing-card-ribbon { height: 32px; flex: 0 0 32px; }
.pricing-card-ribbon.is-popular { display: flex; align-items: center; justify-content: center; gap: 8px; background: #a9caff; color: #0a1b34; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.pricing-card-content { display: flex; flex-direction: column; flex: 1; padding: 4px 27px 26px; }
.pricing-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #8598b3; font-size: 9px; line-height: 1.5; margin-bottom: 26px; }
.pricing-badge { flex-shrink: 0; padding: 5px 8px; background: #162032; color: #b7cae5; border-radius: 5px; font-size: 8px; }
.pricing-card--popular .pricing-badge { background: #1e3453; color: #bfd9ff; }
.pricing-card-icon { width: 35px; height: 35px; color: #8cb7f3; margin-bottom: 18px; }
.pricing-card-icon svg { display: block; width: 100%; height: 100%; }
.pricing-card h3 { color: #edf2fa; font-family: "Poppins", sans-serif; font-size: 21px; font-weight: 500; letter-spacing: -.035em; line-height: 1.3; margin: 0; }
.pricing-card-description { color: #8e9db3; font-size: 12px; line-height: 1.8; margin: 14px 0 24px; min-height: 44px; }
.pricing-rate { display: flex; align-items: baseline; gap: 11px; flex-wrap: wrap; }
.pricing-rate strong { color: #f3f6fc; font-size: 43px; font-weight: 600; letter-spacing: -.05em; line-height: 1.1; font-variant-numeric: lining-nums; }
.pricing-rate strong.pricing-rate-range { font-size: 32px; letter-spacing: -.045em; }
.pricing-rate s { color: #63718a; font-size: 16px; font-weight: 400; }
.pricing-rate-suffix { color: #9ba9be; font-size: 12px; margin-left: -5px; }
.pricing-rate-note { color: #7eb6a8; font-size: 10px; line-height: 1.8; margin: 12px 0 0; min-height: 36px; }
.pricing-card-rule { margin: 20px 0; height: 1px; background: #233044; }
.pricing-features { padding: 0; margin: 0 0 27px; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.pricing-features li { display: flex; align-items: flex-start; gap: 10px; color: #b6c2d4; font-size: 11px; line-height: 1.8; }
.pricing-features svg { width: 16px; height: 16px; flex: 0 0 16px; color: #78bba8; margin-top: 2px; }
.pricing-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 12px 16px; margin-top: auto; border: 1px solid #334561; border-radius: 8px; background: #121c2b; color: #dce8f8; text-decoration: none; font-size: 11px; font-weight: 600; line-height: 1.5; transition: background .18s, border-color .18s; }
.pricing-action:hover { background: #1b2b43; border-color: #6595d8; }
.pricing-action--primary { background: #a9caff; color: #0a1b34; border-color: #a9caff; }
.pricing-action--primary:hover { background: #d0e2ff; border-color: #d0e2ff; }
.pricing-action:focus-visible { outline: 2px solid #9ac5ff; outline-offset: 4px; }
.pricing-card--soon { background: #090d15; }
.pricing-card--soon .pricing-card-icon { color: #657a98; }
.pricing-card--soon .pricing-badge { color: #a4b4cc; background: #17202d; }
.pricing-coming { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; min-height: 290px; padding: 24px 0 10px; }
.pricing-coming-label { font-size: 8px; letter-spacing: .2em; color: #768eae; }
.pricing-coming-orbit { display: grid; place-items: center; width: 93px; height: 93px; border-radius: 50%; border: 1px solid #27354a; outline: 1px solid #1a2433; outline-offset: 12px; background: #0e1624; margin: 34px 0 28px; }
.pricing-coming-orbit svg { width: 32px; height: 32px; color: #839bbd; }
.pricing-coming p { margin: 0; color: #b0bdd0; font-size: 14px; text-align: center; line-height: 1.8; }
.pricing-coming-footer { color: #5e718e; font-size: 7px; letter-spacing: .12em; margin-top: 30px; }
@media (max-width: 1000px) and (min-width: 651px) {
  .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pricing-card-content { padding: 4px 25px 25px; }
}
@media (max-width: 650px) {
  .pricing-grid { grid-template-columns: 1fr; gap: 22px; max-width: 410px; margin: 0 auto; }
  .pricing__heading { margin-bottom: 40px; }
  .pricing__heading h2 { font-size: clamp(28px,7.1vw,36px); }
  .pricing__description { font-size: 14px; }
  .pricing-card-content { padding: 4px 27px 27px; }
  .pricing-card h3 { font-size: 23px; }
  .pricing-card-description { font-size: 13px; }
  .pricing-card-meta { font-size: 10px; }
  .pricing-features li { font-size: 12px; }
  .pricing-rate-note { font-size: 11px; min-height: 0; }
  .pricing-action { font-size: 12px; min-height: 48px; }
  .pricing-coming { min-height: 250px; }
}
@media (prefers-reduced-motion: reduce) { .pricing-action { transition: none; } }

/* Complimentary maintenance: no paid monthly/subdomain tier. */
.pricing-card--free .pricing-rate strong { color: #a3e6c9; }
.pricing-card--free .pricing-badge { color: #a3e6c9; background: #152c25; }
.pricing-card--free .pricing-rate-note { color: #a3e6c9; }

/* Dependency-independent fallbacks: CDN failures never keep the page hidden. */
.opening-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: #151515; font: 600 clamp(30px, 6vw, 70px)/1.2 "Poppins", system-ui, sans-serif; letter-spacing: -.05em; }
.fallback-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 980px; margin: 16px auto; padding: 15px 22px; border: 1px solid #2a3447; border-radius: 999px; background: #0d111eeF; color: #f2f5fa; font: 500 12px/1.5 "DM Sans", system-ui, sans-serif; }
.fallback-nav a { color: inherit; text-decoration: none; }
.fallback-nav a:hover { color: #a9caff; }
.fallback-nav__brand { font-weight: 700; }
.fallback-nav > div { display: flex; gap: 22px; align-items: center; }
.js-unavailable .process { height: auto; }
.js-unavailable .process__pin { position: relative; height: auto; padding-top: 100px; padding-bottom: 65px; }
.js-unavailable .process-controls, .js-unavailable .process-bottom { display: none; }
@media (max-width: 650px) { .fallback-nav { margin: 12px 16px; padding: 12px 16px; gap: 12px; font-size: 10px; }.fallback-nav > div { gap: 12px; }.fallback-nav > div a:first-child, .fallback-nav > div a:nth-child(2) { display: none; } }

/* Pricing refresh: two sliding categories, refined glass surfaces and metal CTAs. */
.pricing { isolation: isolate; overflow: hidden; background: #0a0710; }
.pricing__background { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: #0a0710; }
.pricing__background canvas { position: relative; display: block; width: 100%; height: 100%; opacity: .75; }
/* Mosaic Lens fallback while loading, without WebGL2, or after context loss. */
.pricing__background::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 36% 58%, #3d5aff88, transparent 56%), radial-gradient(ellipse at 72% 34%, #2c1bc366, transparent 54%), #0a0710; }
.pricing__background[data-renderer="webgl2"]::before { opacity: 0; }
.pricing__background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0009, transparent 25%, #0002 75%, #000b); }
.pricing__inner { position: relative; z-index: 1; }
.pricing-browser { width: 100%; }
.pricing-viewport { overflow: hidden; width: 100%; transition: height .5s cubic-bezier(.22,1,.36,1); padding: 0 2px; }
.pricing-rail { display: flex; width: 200%; align-items: flex-start; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.pricing-group { flex: 0 0 50%; width: 50%; padding: 2px; box-sizing: border-box; }
.pricing-group.pricing-grid { gap: 22px; }
.pricing-card {
  min-height: 654px;
  background: linear-gradient(135deg, #ffffff1f, #ffffff06 46%, #ffffff0d), #0810201a;
  border: 1px solid #d9e5ff52;
  border-radius: 22px;
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  box-shadow: inset 0 1px 0 #ffffff40, inset 1px 0 0 #ffffff14, inset 0 -1px 0 #ffffff0b, 0 16px 36px #0002;
}
.pricing-card--popular { background: linear-gradient(135deg, #c1dcff27, #dce9ff09 55%, #ffffff0d), #0b183b1a; border-color: #c1d7ff8c; box-shadow: inset 0 1px 0 #ffffff66, inset 1px 0 0 #ffffff1a, 0 16px 36px #0002; }
.pricing-card--soon { background: linear-gradient(135deg, #ffffff1f, #ffffff06 46%, #ffffff0d), #0810201a; }
.pricing-card--free { border-color: #8fe0bd44; }
.pricing-card-ribbon { height: 32px; flex-basis: 32px; }
.pricing-card-ribbon.is-popular { background: #c6ddff18; border-bottom: 1px solid #c6ddff26; color: #dbe9ff; }
.pricing-card-content { padding: 8px 28px 24px; }
.pricing-card-meta { font-size: 10px; color: #a3b2c8; }
.pricing-badge { background: #d4e4ff12; color: #c1d1e9; }
.pricing-card-description { font-size: 13px; color: #a8b6ca; line-height: 1.75; min-height: 48px; }
.pricing-features { gap: 12px; }
.pricing-features li { font-size: 12px; line-height: 1.7; color: #c4cede; }
.pricing-features li span { min-width: 0; overflow-wrap: anywhere; }
.pricing-rate-note { font-size: 10px; }
/* One permanently visible glass pill. The shader is light, not a replacement UI. */
.pricing-metal-action {
  position: relative; width: 100%; height: 52px; min-height: 52px; margin-top: auto;
  border-radius: 999px; border: 1px solid #e2edff5c;
  background: linear-gradient(175deg, #f3f7ff29, #ddeaff0a 50%, #f3f7ff12);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 #ffffff40, inset 0 -1px 0 #ffffff0d, 0 5px 14px #0002;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.pricing-metal-action:hover {
  border-color: #e2edff99;
  background: linear-gradient(175deg, #f3f7ff38, #ddeaff12 50%, #f3f7ff1a);
  box-shadow: inset 0 1px 0 #ffffff66, 0 5px 16px #0003;
}
.pricing-metal-action .pricing-action,
.pricing-metal-action .pricing-action:hover {
  position: absolute; inset: 0; z-index: 3; height: 50px; min-height: 50px;
  padding: 0 16px; margin: 0; border: 0; border-radius: 999px;
  justify-content: center; gap: 10px; background: transparent; box-shadow: none;
  color: #f0f5ff; font-size: 13px; font-weight: 500; white-space: nowrap;
}
.pricing-action-label { position: relative; }
.pricing-action-arrow { font-size: 16px; line-height: 1; color: #d7e5fb; }
.pricing-metal-renderer {
  position: absolute; inset: 0; z-index: 1; width: auto; border-radius: inherit;
  overflow: hidden; opacity: 0; pointer-events: none; transform: none;
  transition: opacity .45s ease;
}
.pricing-metal-renderer.is-ready { opacity: 1; }
.pricing-metal-renderer canvas {
  display: block; width: 100%; height: 100%; border: 0;
  border-radius: inherit; background: transparent; pointer-events: none;
  filter: saturate(.7); opacity: .82;
}
.pricing-switch-wrap { display: flex; flex-direction: column; align-items: center; margin-top: 38px; }
.pricing-switch { position: relative; width: min(354px, 100%); display: grid; grid-template-columns: 1fr 1fr; padding: 5px; border: 1px solid #829aba50; border-radius: 999px; background: #0b1425b3; backdrop-filter: blur(12px); }
.pricing-switch-thumb { position: absolute; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: 999px; background: #d1e2f9; box-shadow: 0 2px 10px #0003; transition: transform .45s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.pricing-switch button { position: relative; z-index: 1; height: 44px; display: grid; place-items: center; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: #a4b7d1; font: 600 12px/1.5 "DM Sans", sans-serif; cursor: pointer; transition: color .3s; }
.pricing-switch button.is-selected { color: #0b1930; }
.pricing-switch button:focus-visible { outline: 2px solid #92beff; outline-offset: 4px; }
.pricing-switch-caption { color: #7388a5; margin: 14px 0 0; font-size: 10px; text-align: center; line-height: 1.6; }
@media (max-width: 1000px) and (min-width: 651px) {
  .pricing-group.pricing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  .pricing-card-content { padding: 8px 18px 20px; }
  .pricing-card-meta { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pricing-card h3 { font-size: 18px; }
  .pricing-card-description, .pricing-features li { font-size: 11px; }
  .pricing-rate strong { font-size: 36px; }
  .pricing-rate strong.pricing-rate-range { font-size: 26px; }
  .pricing-metal-action .pricing-action { font-size: 12px; padding: 0 10px; gap: 8px; }
}
@media (max-width: 650px) {
  .pricing-viewport { padding: 0; }
  .pricing-group.pricing-grid { grid-template-columns: 1fr; max-width: none; margin: 0; gap: 18px; }
  .pricing-card { min-height: 0; border-radius: 20px; }
  .pricing-card-content { padding: 8px 25px 22px; }
  .pricing-card-description { font-size: 13px; }
  .pricing-features li { font-size: 12px; }
  .pricing-coming { min-height: 220px; }
  .pricing-switch-wrap { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) { .pricing-viewport, .pricing-rail, .pricing-switch-thumb, .pricing-switch button { transition: none; } }
/* The static HTML backup shows all plans if core libraries fail. */
.js-unavailable #pricing-root > .pricing-grid .pricing-card { min-height: 0; }

/* Tablet plans keep readable text and the same 52px controls, not scaled iframes. */
@media (min-width: 651px) and (max-width: 900px) {
  .pricing-group.pricing-grid { grid-template-columns: 1fr; gap: 22px; }
  .pricing-card { min-height: 0; width: min(520px, 100%); margin-inline: auto; }
  .pricing-card-content { padding: 8px 28px 26px; }
  .pricing-card-meta { flex-direction: row; align-items: center; }
  .pricing-card h3 { font-size: 23px; }
  .pricing-card-description, .pricing-features li { font-size: 13px; }
  .pricing-metal-action .pricing-action { font-size: 13px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-metal-renderer, .pricing-metal-action { transition: none; }
}

/* Immediate hover light: always local, never dependent on a CDN/WebGL handshake.
   ThreeUI adds its metal/refraction layer underneath this restrained glass sheen. */
.pricing-metal-action::before {
  content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit;
  pointer-events: none; opacity: 0;
  background-image:
    radial-gradient(ellipse at var(--glass-x,50%) var(--glass-y,50%), #dceeff5c, transparent 68%),
    linear-gradient(110deg, transparent 25%, #eef8ff05 38%, #eef8ff5c 49%, #eef8ff0a 59%, transparent 72%);
  background-size: 100% 100%, 240% 100%;
  background-position: center, 100% 50%;
  transition: opacity .16s ease;
}
.pricing-metal-action:hover::before,
.pricing-metal-action:focus-within::before,
.pricing-metal-action:active::before {
  opacity: 1; animation: pricing-glass-light 2.8s ease-in-out infinite alternate;
}
.pricing-metal-action:hover,
.pricing-metal-action:focus-within {
  border-color: #e6f3ffcc;
  box-shadow: inset 0 1px 0 #ffffff80, inset 0 -1px 0 #c9e5ff33, 0 0 18px #b8d8ff26, 0 5px 16px #0003;
}
@keyframes pricing-glass-light {
  from { background-position: center, 100% 50%; }
  to { background-position: center, 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-metal-action::before { transition: none; }
  .pricing-metal-action:hover::before,
  .pricing-metal-action:focus-within::before,
  .pricing-metal-action:active::before { animation: none; background-position: center, 50% 50%; }
}

/* The SiteFactory Advantage — static, accessible and independent of animation CDNs. */
.advantage {
  position: relative; overflow: hidden; padding: clamp(80px, 9vw, 132px) clamp(22px, 5vw, 72px) 64px;
  color: #edf2fb; background: #0b0a08; border-top: 1px solid #202939;
  font-family: "DM Sans", system-ui, sans-serif;
}
.advantage__background { position: absolute; inset: 0; overflow: hidden; pointer-events: none; background: #0b0a08; }
.advantage__background::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 120%, #0060ff40, transparent 55%), #0b0a08; }
.advantage__background[data-renderer="webgl2"]::before { opacity: 0; }
.advantage__background canvas { position: relative; display: block; width: 100%; height: 100%; }
.advantage__inner { position: relative; max-width: 1220px; margin: 0 auto; }
.advantage__heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 42px; }
.advantage__kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: #a9bfdc; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.advantage__kicker > span { width: 6px; height: 6px; border-radius: 50%; background: #a9caff; box-shadow: 0 0 13px #a9caff40; }
.advantage__heading h2 { margin: 0; font: 500 clamp(34px, 3.8vw, 50px)/1.17 "Poppins", system-ui, sans-serif; letter-spacing: -.045em; color: #f2f5fc; }
.advantage__heading h2 > span { color: #a9caff; }
.advantage__intro { max-width: 335px; margin: 0 0 3px; color: #9cabc1; font-size: 15px; line-height: 1.8; }
.advantage__layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 20px; align-items: stretch; }
.advantage__benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.advantage-card { display: flex; flex-direction: column; min-width: 0; padding: 28px 26px 24px; border: 1px solid #253044; border-radius: 18px; background: linear-gradient(140deg,#ffffff04,transparent 70%), #0b101a; transition: border-color .2s, transform .2s; }
.advantage-card:hover { border-color: #526e94; transform: translateY(-3px); }
.advantage-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 25px; }
.advantage-icon { display: grid; place-items: center; width: 43px; height: 43px; flex-shrink: 0; border: 1px solid #30435e; border-radius: 12px; background: #a9caff08; color: #adcfff; }
.advantage-icon svg { width: 26px; height: 26px; }
.advantage-card__number { font-size: 8px; letter-spacing: .09em; color: #768ba8; white-space: nowrap; }
.advantage-card h3 { margin: 0 0 13px; color: #edf2fb; font: 500 19px/1.4 "Poppins", system-ui, sans-serif; letter-spacing: -.025em; }
.advantage-card > p { margin: 0 0 23px; color: #9faec3; font-size: 13px; line-height: 1.85; }
.advantage-card__tag { display: block; margin-top: auto; padding-top: 17px; border-top: 1px solid #202c3c; color: #c0cfe3; font-size: 10px; line-height: 1.7; }
.advantage-mobile { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; padding: 30px 30px 23px; border: 1px solid #405a83; border-radius: 20px; background: radial-gradient(ellipse at 90% 68%, #4c77c51a, transparent 65%), linear-gradient(150deg,#152138,#0b1220 65%); }
.advantage-mobile__eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 23px; color: #9dbbea; font-size: 8px; letter-spacing: .11em; line-height: 1.6; }
.advantage-mobile__eyebrow svg { width: 19px; height: 24px; flex-shrink: 0; }
.advantage-mobile h3 { margin: 0 0 17px; color: #f0f5ff; font: 500 clamp(22px,2vw,27px)/1.4 "Poppins", system-ui, sans-serif; letter-spacing: -.035em; }
.advantage-mobile h3 > span { color: #aecdfd; }
.advantage-mobile__description { color: #aabbd2; font-size: 13px; line-height: 1.85; margin: 0 0 22px; }
.advantage-mobile__features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 10px; margin: 0; padding: 0; list-style: none; }
.advantage-mobile__features li { display: flex; align-items: flex-start; gap: 7px; font-size: 10px; line-height: 1.6; color: #d1def0; }
.advantage-mobile__features li > span { color: #91c8b4; }
.advantage-mobile__visual { position: relative; height: 248px; min-height: 248px; margin-top: auto; padding-top: 28px; overflow: hidden; isolation: isolate; }
.advantage-mobile__visual::before { content: ""; position: absolute; inset: 45px 0 0; z-index: -1; background-image: linear-gradient(#aecaff08 1px,transparent 1px),linear-gradient(90deg,#aecaff08 1px,transparent 1px); background-size: 24px 24px; mask-image: radial-gradient(ellipse,#000,transparent 72%); }
.advantage-phone { position: relative; width: 166px; height: 285px; margin-left: auto; margin-right: 22px; padding: 24px 12px 12px; border: 4px solid #344767; border-radius: 27px; background: #f2f5fb; box-shadow: inset 0 0 0 1px #ffffffa6, 0 15px 35px #0006; transform: rotate(8deg); }
.advantage-phone__camera { position: absolute; top: 7px; left: 50%; width: 43px; height: 9px; border-radius: 20px; background: #23344f; transform: translateX(-50%); }
.advantage-phone__bar { display: flex; align-items: center; gap: 5px; color: #30415d; font-size: 5px; font-weight: 700; }
.advantage-phone__bar > span:last-child { margin-left: auto; font-size: 10px; }
.advantage-phone__logo { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 5px; background: #172d50; color: #fff; font: 700 13px/1 "DM Sans",sans-serif; }
.advantage-phone__hero { padding: 19px 0 13px; }
.advantage-phone__hero small { display: block; font-size: 4px; letter-spacing: .14em; color: #617693; }
.advantage-phone__hero strong { display: block; font: 600 17px/1.25 "Poppins",sans-serif; letter-spacing: -.05em; color: #182a48; margin: 7px 0; }
.advantage-phone__hero > span { display: block; font-size: 5px; color: #687995; }
.advantage-phone__hero i { display: inline-block; margin-top: 12px; padding: 6px 9px; border-radius: 5px; background: #244475; color: #fff; font: 500 5px/1.3 "DM Sans",sans-serif; }
.advantage-phone__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.advantage-phone__tiles span { padding: 8px 6px; background: #e4eaf4; border-radius: 5px; font-size: 5px; color: #506483; }
.advantage-phone__tiles b { display: block; color: #8397b8; margin-bottom: 5px; font-size: 10px; }
.advantage-phone__contact { display: flex; gap: 5px; margin-top: 7px; color: #324e77; font-size: 5px; }
.advantage-phone__contact span { padding: 5px; border: 1px solid #c6d2e4; border-radius: 4px; }
.advantage-speed { position: absolute; left: 1px; top: 78px; width: 120px; padding: 13px 12px 10px; border: 1px solid #7197b25e; border-radius: 15px; background: #112333eF; box-shadow: 0 12px 28px #0003; text-align: center; transform: rotate(-6deg); }
.advantage-speed svg { width: 70px; height: 70px; fill: none; stroke-width: 3; }
.advantage-speed__track { stroke: #324d54; }
.advantage-speed__ring { stroke: #a1e2c5; stroke-linecap: round; stroke-dasharray: 185 189; transform: rotate(-90deg); transform-origin: center; }
.advantage-speed strong { position: absolute; top: 32px; left: 0; width: 100%; color: #b5efd6; font: 600 24px/1.3 "DM Sans",sans-serif; letter-spacing: -.04em; }
.advantage-speed strong > span { font-size: 12px; vertical-align: top; line-height: 2; }
.advantage-speed small { display: block; color: #a2c2c6; font-size: 6px; letter-spacing: .1em; margin-top: 5px; }
.advantage-mobile__visual-note { position: absolute; bottom: 4px; left: 0; color: #859dbe; font-size: 8px; letter-spacing: .02em; }
.advantage-mobile__disclaimer { position: relative; margin: 12px 0 0; padding-top: 13px; border-top: 1px solid #adc9f51c; color: #7e94b1; font-size: 9px; line-height: 1.7; }
.advantage__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 27px; padding-top: 24px; border-top: 1px solid #222e41; }
.advantage__footer p { display: flex; gap: 10px; margin: 0; color: #8e9fb7; font-size: 11px; line-height: 1.7; }
.advantage__footer p > span { color: #a8c7f6; }
.advantage__footer a { display: inline-flex; gap: 16px; align-items: center; padding: 8px 0; color: #c6dbfa; font-size: 12px; text-decoration: none; }
.advantage__footer a:hover { color: #fff; }
.advantage__footer a:focus-visible { outline: 2px solid #a9caff; outline-offset: 5px; border-radius: 3px; }
@media (max-width: 1050px) {
  .advantage__layout { grid-template-columns: 1fr; }
  .advantage-mobile { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 0 30px; padding: 30px; }
  .advantage-mobile__visual { height: 100%; min-height: 290px; grid-column: 2; grid-row: 1; }
  .advantage-mobile__disclaimer { grid-column: 1 / -1; }
  .advantage-card { padding: 27px; }
}
@media (max-width: 650px) {
  .advantage { padding: 78px 22px 40px; }
  .advantage__heading { display: block; margin-bottom: 30px; }
  .advantage__heading h2 { font-size: 34px; }
  .advantage__intro { font-size: 14px; margin-top: 20px; max-width: 330px; }
  .advantage__benefits { grid-template-columns: 1fr; gap: 16px; }
  .advantage-card { padding: 25px; }
  .advantage-card__top { margin-bottom: 21px; }
  .advantage-card h3 { font-size: 20px; }
  .advantage-card > p { font-size: 13px; }
  .advantage-card__number { font-size: 8px; }
  .advantage-mobile { display: flex; gap: 0; padding: 27px 24px 22px; }
  .advantage-mobile h3 { font-size: 25px; }
  .advantage-mobile__features { gap: 12px 8px; }
  .advantage-mobile__features li { font-size: 10px; }
  .advantage-mobile__visual { width: 100%; max-width: 320px; align-self: center; min-height: 250px; height: 250px; margin-top: 4px; }
  .advantage-speed { left: 0; width: 110px; }
  .advantage-phone { margin-right: 8px; }
  .advantage__footer { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 25px; }
  .advantage__footer p { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .advantage-card { transition: none; }.advantage-card:hover { transform: none; } }

/* A genuine shared-background cross-fade, not a solid-color dividing strip.
   The same live Cloud Sky canvas extends behind the fading stipple. Cards and
   quote retain their original geometry, spacing, styling and DOM content. */
.advantage-quote-transition {
  --scene-blend: clamp(170px, 19vw, 280px);
  position: relative; isolation: isolate; background: #0075ff;
}
.advantage-quote-transition .advantage { z-index: 1; background: transparent; }
.advantage-quote-transition .advantage__background {
  -webkit-mask-image: linear-gradient(to bottom,
    #000 0, #000 calc(100% - var(--scene-blend)),
    #000000e0 calc(100% - var(--scene-blend) * .75),
    #00000099 calc(100% - var(--scene-blend) * .5),
    #00000038 calc(100% - var(--scene-blend) * .24), transparent 100%);
  mask-image: linear-gradient(to bottom,
    #000 0, #000 calc(100% - var(--scene-blend)),
    #000000e0 calc(100% - var(--scene-blend) * .75),
    #00000099 calc(100% - var(--scene-blend) * .5),
    #00000038 calc(100% - var(--scene-blend) * .24), transparent 100%);
}
.advantage-quote-transition .quote-sky {
  z-index: 0; overflow: visible; background: transparent;
}
.advantage-quote-transition .quote-sky__background {
  top: calc(-1 * var(--scene-blend));
  background: linear-gradient(180deg, #0075ff, #b4d2f0);
}
/* Keep the small footer legible while the clouds pass underneath it. */
.advantage-quote-transition .advantage__footer { border-top-color: transparent; }
.advantage-quote-transition .advantage__footer p,
.advantage-quote-transition .advantage__footer a { color: #f0f6ff; text-shadow: 0 1px 5px #102c5670; }

/* Content-only 18% reduction. Full-width section/shader roots stay unscaled.
   Layout-aware zoom also reduces the space occupied by text, cards and images. */
:root { --site-content-scale: .82; }
.hero__content,
.audience__intro .section-head,
.audience__content,
.process-deck,
.advantage__inner,
.quote-card,
.pricing__inner { zoom: var(--site-content-scale); }
.hero__content,
.audience__intro .section-head,
.audience__content,
.process-deck,
.advantage__inner,
.quote-card,
.pricing__inner { width: 82%; }
/* Keep the hero and its animated backdrop at the original viewport height. */
.hero { min-height: 100svh; }
.hero__content { min-height: calc(100svh / var(--site-content-scale)); }
/* Retain comfortable pointer/touch hit areas despite the smaller visual UI. */
.hero .btn,
.process-buttons button,
.pricing-switch button { min-height: 54px; }
.pricing-metal-action { height: 54px; min-height: 54px; }
.pricing-metal-action .pricing-action,
.pricing-metal-action .pricing-action:hover { height: 52px; min-height: 52px; }
@media (max-width: 650px) {
  .hero__content { min-height: calc(100svh / var(--site-content-scale)); }
}

/* The dock measures its own indicator: use native size tokens, not zoom, so
   its active pill stays aligned with its labels and never overlaps the brand. */
.nav-frame .animated-top-dock-component.atd-modern {
  --atd-gap: clamp(4.1px, .3608cqw, 7.38px);
  --atd-icon: clamp(10.66px, .7544cqw, 15.58px);
  --atd-item-pad: clamp(8.2px, .7052cqw, 14.76px);
  --atd-item-height: clamp(24.6px, 1.804cqw, 36.08px);
  --atd-bar-height: clamp(44px, 2.788cqw, 55.76px);
  --atd-mark: clamp(18.04px, 1.271cqw, 27.06px);
  --atd-bar-lead: clamp(11.48px, .943cqw, 20.5px);
  --atd-brand: clamp(10.66px, .7708cqw, 16.4px);
  --atd-action-height: clamp(30px, 2.05cqw, 41px);
  --atd-label: clamp(9.84px, .6396cqw, 13.94px);
  --atd-bar-width: min(1016.8px, calc(82% - clamp(19.68px, 4.1cqw, 98.4px)));
  --atd-bar-pad: clamp(4.1px, .3444cqw, 7.38px);
}
.fallback-nav { max-width: 804px; padding: 12px 18px; font-size: 10px; }

/* Targeted refinements: everything outside these four sections stays as before. */
/* Wider audience boxes; typography, images and the Topo animation keep their scale. */
.audience__content { width: 100%; max-width: 2240px; padding-inline: clamp(16px, 3vw, 40px); }

/* Restore the original process composition, not the global compact size. */
.process-deck { zoom: 1; width: 100%; }
.process-buttons button { min-height: 44px; }
@media (max-width: 650px) { .process-buttons button { min-height: 40px; } }

/* 4.5% larger than the compact 82% version: .82 × 1.045 = .8569. */
.advantage__inner { zoom: .8569; width: 85.69%; }

/* Pricing remains at 82%: keep three cards at their existing desktop dimensions,
   and use the extra horizontal room for copy + the same category switch. */
.pricing { padding-inline: clamp(22px, 2.5vw, 48px); }
.pricing__inner {
  display: grid; grid-template-columns: minmax(280px,1fr) minmax(0,1220px);
  column-gap: 44px; row-gap: 26px;
  width: 100%; max-width: 1800px;
  align-items: center;
}
.pricing__heading { grid-column: 1; grid-row: 1; align-self: end; text-align: left; width: 100%; max-width: none; margin: 0; }
.pricing__description { max-width: none; margin-inline: 0; }
.pricing__context { color: #a8b6cc; margin: 22px 0 0; font-size: 13px; line-height: 1.9; }
/* Flatten presentation wrappers only; React state, tab IDs and slider stay intact. */
#pricing-root, #pricing-root > .pricing-browser { display: contents; }
.pricing-viewport { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-width: 0; }
.pricing-switch-wrap { grid-column: 1; grid-row: 2; align-self: start; align-items: flex-start; margin: 0; }
.pricing-switch-caption { text-align: left; }

/* On narrower screens stack rather than shrink the cards to squeeze in a sidebar.
   Text and switch remain together, followed by the plans. */
@media (max-width: 1399px) {
  .pricing { padding-inline: clamp(22px, 5vw, 72px); }
  .pricing__inner { grid-template-columns: minmax(0,1fr); max-width: 1220px; width: 82%; row-gap: 28px; }
  .pricing__heading { grid-column: 1; grid-row: 1; max-width: 830px; }
  .pricing-switch-wrap { grid-column: 1; grid-row: 2; }
  .pricing-viewport { grid-column: 1; grid-row: 3; }
  .pricing__context { max-width: 720px; }
}


/* Reworked sky → pricing: a chromatic dusk bridge, not sky mixed with black.
   The static, embedded mist mask feathers the incoming live field organically.
   It adds no source files, animation loops, spacers or foreground transformations. */
.quote-pricing-blend {
  --pricing-blend-before: clamp(80px, 13vw, 190px);
  --pricing-blend-after: clamp(80px, 9vw, 140px);
  --pricing-blend-length: calc(var(--pricing-blend-before) + var(--pricing-blend-after));
}
.quote-pricing-blend .quote-sky__background { bottom: calc(-1 * var(--pricing-blend-after)); }
.quote-pricing-blend .quote-sky::after {
  content: ""; position: absolute; pointer-events: none; z-index: -1;
  left: 0; right: 0; bottom: calc(-1 * var(--pricing-blend-after));
  height: var(--pricing-blend-length);
  background: linear-gradient(180deg,
    #668fed00 0%, #6389e514 14%, #617edc40 29%,
    #5b6dce80 46%, #514fbaa8 61%, #403897d6 76%,
    #292166ed 89%, #171037 100%);
}
.quote-pricing-blend .pricing { overflow: visible; background: transparent; border-top-color: transparent; }
.quote-pricing-blend .pricing__background {
  top: calc(-1 * var(--pricing-blend-before));
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221440%22%20height%3D%22400%22%20viewBox%3D%220%200%201440%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22fade%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22400%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.2%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.045%22%2F%3E%3Cstop%20offset%3D%22.48%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.16%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.38%22%2F%3E%3Cstop%20offset%3D%22.72%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.68%22%2F%3E%3Cstop%20offset%3D%22.83%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.92%22%2F%3E%3Cstop%20offset%3D%22.93%22%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%2F%3E%3C%2FlinearGradient%3E%3Cfilter%20id%3D%22mist%22%20x%3D%22-10%25%22%20y%3D%22-30%25%22%20width%3D%22120%25%22%20height%3D%22160%25%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.0018%20.004%22%20numOctaves%3D%222%22%20seed%3D%2217%22%20result%3D%22noise%22%2F%3E%3CfeGaussianBlur%20in%3D%22noise%22%20stdDeviation%3D%2218%22%20result%3D%22soft%22%2F%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22soft%22%20scale%3D%2285%22%20xChannelSelector%3D%22R%22%20yChannelSelector%3D%22G%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-100%22%20y%3D%22-150%22%20width%3D%221640%22%20height%3D%22700%22%20fill%3D%22url%28%23fade%29%22%20filter%3D%22url%28%23mist%29%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000);
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221440%22%20height%3D%22400%22%20viewBox%3D%220%200%201440%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22fade%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22400%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.2%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.045%22%2F%3E%3Cstop%20offset%3D%22.48%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.16%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.38%22%2F%3E%3Cstop%20offset%3D%22.72%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.68%22%2F%3E%3Cstop%20offset%3D%22.83%22%20stop-color%3D%22white%22%20stop-opacity%3D%22.92%22%2F%3E%3Cstop%20offset%3D%22.93%22%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%2F%3E%3C%2FlinearGradient%3E%3Cfilter%20id%3D%22mist%22%20x%3D%22-10%25%22%20y%3D%22-30%25%22%20width%3D%22120%25%22%20height%3D%22160%25%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.0018%20.004%22%20numOctaves%3D%222%22%20seed%3D%2217%22%20result%3D%22noise%22%2F%3E%3CfeGaussianBlur%20in%3D%22noise%22%20stdDeviation%3D%2218%22%20result%3D%22soft%22%2F%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22soft%22%20scale%3D%2285%22%20xChannelSelector%3D%22R%22%20yChannelSelector%3D%22G%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%22-100%22%20y%3D%22-150%22%20width%3D%221640%22%20height%3D%22700%22%20fill%3D%22url%28%23fade%29%22%20filter%3D%22url%28%23mist%29%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000);
  -webkit-mask-size: 100% var(--pricing-blend-length), 100% calc(100% - var(--pricing-blend-length) + 1px);
  mask-size: 100% var(--pricing-blend-length), 100% calc(100% - var(--pricing-blend-length) + 1px);
  -webkit-mask-position: center top, center bottom;
  mask-position: center top, center bottom;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
/* Do not bring the old black top vignette into the light sky. Below the blend,
   preserve the existing vignette at the card area and bottom of the section. */
.quote-pricing-blend .pricing__background::after {
  background: linear-gradient(180deg, transparent 0%, transparent 25%, #0002 75%, #000b);
}

/* FAQ — quiet, editorial close after the animated pricing composition. */
.pricing::after {
  content: ""; position: absolute; z-index: 0; pointer-events: none;
  left: 0; right: 0; bottom: -1px; height: clamp(72px, 8vw, 110px);
  background: linear-gradient(180deg, #080c1700, #080c17);
}
.faq {
  position: relative; background: #080c17; color: #eef3fb;
  padding: clamp(80px, 8vw, 120px) clamp(22px, 5vw, 72px) clamp(90px, 9vw, 140px);
  font-family: "DM Sans", sans-serif; scroll-margin-top: 90px;
}
.faq__inner { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.6fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.faq__intro { padding-top: 10px; }
.faq__eyebrow { margin: 0 0 22px; display: flex; align-items: center; gap: 9px; color: #95afd4; font-size: 10px; font-weight: 600; letter-spacing: .18em; line-height: 1.6; }
.faq__eyebrow > span { width: 5px; height: 5px; border-radius: 50%; background: #97bfff; }
.faq__intro h2 { margin: 0; font-family: "Poppins", sans-serif; font-size: clamp(30px, 2.7vw, 40px); font-weight: 500; line-height: 1.24; letter-spacing: -.045em; }
.faq__intro h2 > span { color: #adc9f3; }
.faq__description { margin: 22px 0 0; max-width: 300px; color: #9aa9bf; font-size: 14px; line-height: 1.85; }
.faq__contact { display: inline-flex; margin-top: 36px; color: #94a5be; text-decoration: none; font-size: 12px; line-height: 1.8; }
.faq__contact strong { display: block; color: #dce9ff; font-size: 13px; font-weight: 500; }
.faq__contact strong > span { display: inline-block; margin-left: 8px; transition: transform .2s ease; }
.faq__contact:hover strong { color: #a9caff; }
.faq__contact:hover strong > span { transform: translate(2px,-2px); }
.faq__panel { min-width: 0; border: 1px solid #263246; border-radius: 22px; overflow: hidden; background: #0c1320; }
.faq__item { margin: 0; background: transparent; transition: background .25s ease; }
.faq__item + .faq__item { border-top: 1px solid #253043; }
.faq__item[open] { background: #111e31; }
.faq__item summary { display: flex; align-items: center; gap: 18px; padding: 25px 26px; min-height: 76px; list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::marker { content: ""; }
.faq__number { flex: 0 0 18px; color: #748ba9; font-size: 10px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.faq__question { flex: 1; min-width: 0; color: #e4ebf7; font-size: 15px; font-weight: 500; line-height: 1.55; letter-spacing: -.015em; }
.faq__item summary:hover .faq__question { color: #b7d2ff; }
.faq__item summary:focus-visible { outline: 2px solid #a1c6ff; outline-offset: -5px; border-radius: 12px; }
.faq__icon { position: relative; flex: 0 0 24px; height: 24px; border: 1px solid #344862; border-radius: 50%; color: #b9cce7; }
.faq__icon::before, .faq__icon::after { content: ""; position: absolute; left: 6px; right: 6px; top: 10px; height: 1px; background: currentColor; }
.faq__icon::after { transform: rotate(90deg); transition: transform .24s ease, opacity .24s ease; }
.faq__item[open] .faq__icon::after { transform: rotate(0); opacity: 0; }
.faq__item.is-closing .faq__icon::after { transform: rotate(90deg); opacity: 1; }
.faq__answer { padding: 0 64px 27px 62px; color: #a7b5cb; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.faq__answer p { margin: 0; }
.faq__answer p + p { margin-top: 12px; }
.faq__answer strong { color: #dce8fa; font-weight: 500; }
.faq__answer a { color: #b4d0ff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #557bb4; }
.faq__answer a:hover { color: #e1ecff; }
.faq__contact:focus-visible, .faq__answer a:focus-visible { outline: 2px solid #a1c6ff; outline-offset: 5px; border-radius: 2px; }
@media (max-width: 900px) {
  .faq__inner { grid-template-columns: minmax(0,1fr); gap: 34px; max-width: 720px; }
  .faq__intro { padding-top: 0; }
  .faq__description { max-width: 420px; }
  .faq__contact { margin-top: 22px; }
}
@media (max-width: 480px) {
  .faq__eyebrow { font-size: 9px; letter-spacing: .14em; margin-bottom: 18px; }
  .faq__panel { border-radius: 18px; }
  .faq__item summary { padding: 21px 18px; gap: 11px; min-height: 74px; }
  .faq__number { flex-basis: 16px; font-size: 9px; }
  .faq__question { font-size: 14px; }
  .faq__icon { flex-basis: 22px; height: 22px; }
  .faq__icon::before, .faq__icon::after { top: 9px; left: 5px; right: 5px; }
  .faq__answer { padding: 0 24px 24px 45px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq__item, .faq__icon::after, .faq__contact strong > span { transition: none; }
}

/* FAQ-only Dither Reveal. Foreground layout, typography and accordion are intact. */
.faq { isolation: isolate; }
.faq__inner { position: relative; z-index: 1; }
.faq__background {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  overflow: hidden; background-size: cover; background-position: center 27%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 110px, #000 calc(100% - 70px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 110px, #000 calc(100% - 70px), transparent 100%);
}
.faq__background::before {
  content: ""; position: absolute; inset: 0; background-image: inherit;
  background-size: cover; background-position: center 27%; filter: grayscale(1); background-color: #080c17;
}
.faq__background[data-renderer="webgl"]::before { opacity: 0; }
.faq-dither-reveal { position: relative; display: block; width: 100%; height: 100%; opacity: 0; }
.faq__background[data-renderer="webgl"] .faq-dither-reveal { opacity: 1; }
.faq__background::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #080c17d9 0%, #080c17bf 33%, #080c1766 66%, #080c1733 100%);
}

/* User-supplied Renaissance hands: clearly visible, diagonally reaching in
   from opposite corners. Give the art real corner space rather than hiding
   both hands behind the accordion. Card sizes and text remain untouched. */
.faq {
  padding-top: clamp(160px, 15vw, 220px);
  padding-bottom: clamp(190px, 18vw, 270px);
}
.faq__background {
  background-image: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 28px, #000 calc(100% - 24px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 28px, #000 calc(100% - 24px), transparent 100%);
}
/* Low-cost static fallback uses the same atlas; no remote images required. */
.faq__background::before {
  inset: auto; left: 0; top: -58px;
  width: min(40vw, 590px); aspect-ratio: 580 / 356;
  background-image: var(--faq-hands-atlas);
  background-size: 206.8966% 112.3596%; background-position: left top;
  background-color: transparent; filter: grayscale(1); opacity: .9;
}
.faq__background::after {
  inset: 0;
  background: linear-gradient(120deg, #080c171a 0%, #080c1740 38%, #080c171a 100%);
}
.faq__background[data-renderer="fallback"]::after {
  inset: auto; right: -4vw; bottom: -35px;
  width: min(38vw, 560px); aspect-ratio: 580 / 311;
  background-image: var(--faq-hands-atlas);
  background-size: 206.8966% 128.6174%; background-position: 96.7742% top;
  background-color: transparent; filter: grayscale(1); opacity: .9;
}
@media (max-width: 900px) {
  .faq { padding-top: 180px; padding-bottom: 210px; }
  .faq__background::before { width: min(72vw, 430px); top: -28px; }
  .faq__background[data-renderer="fallback"]::after { width: min(88vw, 410px); bottom: -30px; }
}


/* Box-only hands effect. The section is pure black; the native disclosure
   markup, row spacing and opening animation are deliberately unchanged. */
.faq { background: #000; }
.faq__panel { position: relative; isolation: isolate; background: #000; }
.faq__panel > .faq__background {
  inset: 0; z-index: -1;
  -webkit-mask-image: none; mask-image: none;
}
/* Let the art show through the rows, while keeping a legible navy scrim. */
.faq__panel .faq__item { background: rgb(12 19 32 / .66); }
.faq__panel .faq__item[open] { background: rgb(17 30 49 / .84); }
/* Static fallback is panel-relative too, rather than viewport-relative. */
.faq__panel .faq__background::before {
  width: min(72%, 430px); left: -6%; top: -40px;
}
.faq__panel .faq__background[data-renderer="fallback"]::after {
  width: min(88%, 410px); right: -7%; bottom: -30px;
}
@media (max-width: 480px) {
  .faq__panel .faq__background::before { top: -24px; }
}

/* Longer, eased pricing → FAQ fade. Paint only: no spacers, no layout changes.
   A zero-opacity start and fully black finish remove both visible endpoints. */
.pricing::after {
  height: clamp(240px, 25vw, 390px);
  background: linear-gradient(180deg,
    #00000000 0%, #00000006 12%, #00000016 24%, #0000003b 38%,
    #0000007a 54%, #000000bd 69%, #000000e8 82%, #000000fc 94%, #000 100%);
}
/* Neutral black, not a navy wash: lift the hands against the dark empty space
   while retaining enough scrim behind both question and answer text. */
.faq__panel { background: #000; border-color: #27292f; }
.faq__panel .faq__item { background: rgb(0 0 0 / .60); }
.faq__panel .faq__item[open] { background: rgb(0 0 0 / .72); }
.faq__panel .faq__item + .faq__item { border-top-color: #25272d; }
.faq__panel .faq__background[data-renderer="webgl"]::after {
  background: linear-gradient(110deg, #00000033, #0000000a 70%, #0000001a);
}
.faq__panel .faq-dither-reveal { filter: brightness(1.12) contrast(1.06); }

/* CONTACT · native enquiry fields and responsive presentation. */
.contact { padding: clamp(40px, 5vw, 72px) clamp(22px, 5vw, 72px) clamp(90px, 10vw, 150px); background: #000; color: #e9eff9; font-family: "DM Sans", sans-serif; scroll-margin-top: 95px; }
.contact__inner { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.6fr); gap: clamp(40px, 6vw, 88px); max-width: 1220px; margin: 0 auto; align-items: start; }
.contact__intro { padding-top: 9px; }
.contact__eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 22px; color: #9bb6dd; font-size: 10px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.contact__eyebrow > span { width: 5px; height: 5px; border-radius: 50%; background: #9bc3ff; }
.contact__intro h2 { margin: 0; font-family: "Poppins", sans-serif; font-size: clamp(32px, 3vw, 43px); font-weight: 500; line-height: 1.24; letter-spacing: -.045em; }
.contact__intro h2 > span { color: #adc9f3; }
.contact__description { max-width: 345px; margin: 24px 0 0; color: #a0adc2; font-size: 14px; line-height: 1.9; }
.contact__email-group { margin-top: 32px; }
.contact__gmail { display: flex; align-items: center; gap: 13px; max-width: 345px; padding: 16px; border: 1px solid #293447; border-radius: 14px; background: linear-gradient(125deg, #142139, #090d15); color: #e6efff; font-size: 14px; font-weight: 500; text-decoration: none; transition: border-color .2s, background .2s; }
.contact__gmail:hover { border-color: #6f94c7; background: linear-gradient(125deg, #1b2c48, #101824); }
.contact__mail-icon { display: grid; place-items: center; flex: 0 0 37px; height: 37px; border: 1px solid #3a5275; border-radius: 10px; color: #accbf8; }
.contact__mail-icon svg { width: 21px; height: 21px; }
.contact__gmail small { display: block; margin-top: 4px; color: #8c9db7; font-size: 10px; font-weight: 400; letter-spacing: .02em; }
.contact__external { margin-left: auto; color: #9cb7df; font-size: 19px; }
.contact__email-address { display: inline-block; margin-top: 16px; color: #c0cfe6; font-size: 13px; line-height: 1.7; text-decoration: none; overflow-wrap: anywhere; }
.contact__email-address:hover { color: #e3edff; text-decoration: underline; text-underline-offset: 4px; }
.contact__reply { display: flex; align-items: center; gap: 7px; width: fit-content; margin-top: 10px; color: #99cdb8; font-size: 11px; text-decoration: none; line-height: 1.6; }
.contact__reply svg { width: 15px; height: 15px; }
.contact__reply:hover { color: #c0eedb; }
.contact__promise { max-width: 345px; margin-top: 36px; padding: 24px; border: 1px solid #252e3b; border-radius: 18px; background: linear-gradient(145deg, #0e1522, #070a10); }
.contact__promise-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 14px; color: #b3c9e9; }
.contact__promise-icon svg { width: 28px; height: 28px; }
.contact__promise h3 { margin: 0 0 11px; font-size: 15px; font-weight: 500; letter-spacing: -.015em; }
.contact__promise p { margin: 0; color: #98a7be; font-size: 12px; line-height: 1.9; }
.contact__panel { min-width: 0; padding: clamp(24px, 2.3vw, 34px); background: #0b0e15; border: 1px solid #29313f; border-radius: 24px; }
.contact__form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 28px; }
.contact__form-heading h3 { margin: 0; color: #e8eef9; font-size: 18px; line-height: 1.4; font-weight: 500; letter-spacing: -.025em; }
.contact__form-heading p { margin: 7px 0 0; color: #899ab3; font-size: 11px; line-height: 1.6; }
.contact__form-heading p > span { color: #a8c9f7; }
.contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 21px 18px; }
.contact__field { min-width: 0; }
.contact__field--full { grid-column: 1 / -1; }
.contact__field label { display: inline-block; margin: 0 0 9px; color: #c9d4e6; font-size: 12px; font-weight: 500; line-height: 1.6; }
.contact__required { margin-left: 2px; color: #a9c9fa; }
.contact__optional { color: #7e90aa; font-size: 10px; font-weight: 400; }
.contact__field input, .contact__field select, .contact__field textarea { display: block; width: 100%; min-width: 0; margin: 0; border: 1px solid #2b3546; border-radius: 9px; outline: none; background: #070a10; color: #e1e9f6; font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.6; transition: border-color .2s, box-shadow .2s; color-scheme: dark; }
.contact__field input, .contact__field select { min-height: 47px; padding: 12px 13px; }
.contact__field textarea { min-height: 142px; padding: 13px; resize: vertical; }
.contact__field input::placeholder, .contact__field textarea::placeholder { color: #788aa6; opacity: 1; }
.contact__field input:hover, .contact__field select:hover, .contact__field textarea:hover { border-color: #43516a; }
.contact__field input:focus, .contact__field select:focus, .contact__field textarea:focus { border-color: #9bbef1; box-shadow: 0 0 0 3px #779bd41f; }
.contact__select { position: relative; }
.contact__select::after { content: ""; position: absolute; top: 18px; right: 16px; width: 6px; height: 6px; border-right: 1px solid #93a9c9; border-bottom: 1px solid #93a9c9; transform: rotate(45deg); pointer-events: none; }
.contact__select select { appearance: none; -webkit-appearance: none; padding-right: 34px; }
.contact__select select:has(option:checked[value=""]) { color: #788aa6; }
.contact__select option { background: #0d131f; color: #e1e9f6; }
.contact__message-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.contact__message-label > span { flex-shrink: 0; color: #7f91ad; font-size: 9px; line-height: 1.6; }
.contact__honeypot { display: none; }
.contact__consent { display: flex; align-items: flex-start; gap: 11px; margin: 23px 0 24px; color: #9eacc2; font-size: 11px; line-height: 1.9; cursor: pointer; }
.contact__consent > input { appearance: auto; flex: 0 0 16px; width: 16px; height: 16px; margin: 3px 0 0; accent-color: #b0cffb; color-scheme: dark; cursor: pointer; }
.contact__consent > input:focus-visible { outline: 2px solid #a3c8ff; outline-offset: 4px; }
.contact__policy { color: #b9cae5; text-decoration: underline; text-decoration-color: #4b5c75; text-underline-offset: 3px; }
.contact__submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 51px; padding: 13px 22px; border: 1px solid #74839b; border-radius: 999px; background: linear-gradient(180deg, #dce8fc2e 0, #c5d5ef17 48%, #c5d5ef0c 51%, #839ac52e 100%); color: #d5dff0; box-shadow: inset 0 1px 1px #ffffff4d, inset 0 -1px 1px #748bb55c; font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.6; }
.contact__submit:disabled { opacity: .74; cursor: not-allowed; }
.contact__submit svg { width: 17px; height: 17px; }
.contact__submit > span { margin-left: 3px; font-size: 16px; }
.contact__privacy { display: flex; align-items: flex-start; justify-content: center; gap: 7px; margin: 17px 0 0; color: #7f91ab; font-size: 9px; line-height: 1.8; text-align: center; }
.contact__privacy svg { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 1px; }
.contact__intro a:focus-visible { outline: 2px solid #a3c8ff; outline-offset: 5px; border-radius: 5px; }
@media (max-width: 900px) {
  .contact__inner { grid-template-columns: minmax(0,1fr); gap: 36px; max-width: 720px; }
  .contact__intro { padding-top: 0; }
  .contact__description { max-width: 520px; }
  .contact__email-group { max-width: 400px; }
  .contact__gmail { max-width: 400px; }
  .contact__promise { max-width: 520px; margin-top: 26px; }
}
@media (max-width: 560px) {
  .contact__fields { grid-template-columns: minmax(0,1fr); gap: 19px; }
  .contact__panel { padding: 22px 18px; border-radius: 20px; }
  .contact__form-heading { margin-bottom: 25px; }
  .contact__form-heading h3 { font-size: 17px; }
  /* 16px prevents iOS from zooming into inputs while the visitor types. */
  .contact__field input, .contact__field select, .contact__field textarea { font-size: 16px; }
  .contact__field input, .contact__field select { min-height: 49px; padding-block: 11px; }
  .contact__field label { font-size: 12px; }
  .contact__message-label { gap: 7px; }
  .contact__message-label > span { font-size: 8px; }
  .contact__consent { font-size: 10px; }
  .contact__gmail { font-size: 13px; }
  .contact__privacy { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact__gmail, .contact__field input, .contact__field select, .contact__field textarea { transition: none; }
}

/* Compact contact composition: essentials first, optional details on demand. */
.contact { padding-block: clamp(35px, 5svh, 60px); }
.contact__intro { padding-top: 5px; }
.contact__eyebrow { margin-bottom: 18px; }
.contact__intro h2 { font-size: clamp(32px, 2.8vw, 40px); }
.contact__description { margin-top: 18px; font-size: 13px; line-height: 1.85; }
.contact__email-group { margin-top: 24px; }
.contact__gmail { padding: 13px 15px; }
.contact__email-address { margin-top: 12px; }
.contact__reply { margin-top: 7px; }
.contact__promise { margin-top: 25px; padding: 20px; }
.contact__promise-icon { margin-bottom: 9px; }
.contact__promise h3 { font-size: 14px; margin-bottom: 8px; }
.contact__promise p { font-size: 11px; line-height: 1.8; }
.contact__panel { padding: 24px 28px; border-radius: 22px; background: linear-gradient(150deg, #101621, #090c12 70%); box-shadow: inset 0 1px 0 #ffffff06; }
.contact__form-heading { margin-bottom: 19px; }
.contact__form-heading h3 { font-size: 17px; }
.contact__form-heading p { margin-top: 4px; font-size: 10px; }
.contact__fields { gap: 14px 16px; }
.contact__field label { margin-bottom: 6px; font-size: 11px; }
.contact__field input, .contact__field select { min-height: 43px; padding: 10px 12px; }
.contact__field textarea { min-height: 94px; padding: 11px 12px; }
.contact__select::after { top: 16px; }
.contact__message-label > span { font-size: 8px; }
.contact__project-details { min-width: 0; border: 1px solid #263043; border-radius: 10px; background: #080c13; }
.contact__project-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 10px 13px; list-style: none; cursor: pointer; color: #bdcce3; font-size: 11px; font-weight: 500; line-height: 1.5; }
.contact__project-details > summary::-webkit-details-marker { display: none; }
.contact__project-details > summary::marker { content: ""; }
.contact__project-details > summary:hover { color: #e0ecff; }
.contact__project-details > summary:focus-visible { outline: 2px solid #9bbef1; outline-offset: 3px; border-radius: 8px; }
.contact__details-optional { margin-left: 4px; color: #7e91b0; font-size: 10px; font-weight: 400; }
.contact__details-plus { color: #a9c5ed; font-size: 19px; font-weight: 400; transition: transform .2s ease; }
.contact__project-details[open] .contact__details-plus { transform: rotate(45deg); }
.contact__optional-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; padding: 2px 13px 14px; }
.contact__consent { margin: 16px 0 18px; font-size: 10px; line-height: 1.8; }
.contact__privacy { margin-top: 12px; font-size: 9px; }
/* The exact same locally bundled ThreeUI renderer and glass-pill shell used
   for pricing. A native type=button keeps delivery unconnected. */
.contact__metal { margin-top: 0; }
.contact__metal .contact__submit, .contact__metal .contact__submit:hover { cursor: pointer; opacity: 1; font-family: inherit; font-size: 12px; line-height: 1.6; }
.contact__metal .contact__submit:focus-visible { outline: 2px solid #b1d0ff; outline-offset: 5px; }
.contact__submit > .pricing-action-label { margin: 0; font-size: inherit; }
@media (max-width: 900px) {
  .contact__inner { gap: 30px; }
  .contact__intro { padding-top: 0; }
}
@media (max-width: 560px) {
  .contact__panel { padding: 21px 18px; border-radius: 18px; }
  .contact__fields { gap: 13px; }
  .contact__optional-fields { grid-template-columns: minmax(0,1fr); }
  .contact__field input, .contact__field select, .contact__field textarea { font-size: 16px; }
  .contact__field input, .contact__field select { min-height: 45px; padding-block: 9px; }
  .contact__field textarea { min-height: 100px; }
  .contact__field label { font-size: 11px; }
  .contact__consent { font-size: 10px; }
  .contact__privacy { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) { .contact__details-plus { transition: none; } }


/* Quiet section bridges sit in the existing gaps: no added height or movement. */
.faq { --faq-bridge-inset: clamp(160px, 15vw, 220px); --faq-bridge-outset: clamp(190px, 18vw, 270px); }
.section-bridge {
  position: absolute; left: 50%; z-index: 0;
  display: flex; align-items: center; justify-content: center; gap: 18px;
  width: min(590px, calc(100% - 44px)); margin: 0;
  color: #c3d1e5; font-family: "DM Sans", sans-serif;
  font-size: clamp(18px, 1.6vw, 22px); font-weight: 700; line-height: 1.5; letter-spacing: -.015em;
  text-align: center;
}
.section-bridge::before, .section-bridge::after {
  content: ""; flex: 1 1 0; min-width: 24px; height: 1px;
  background: linear-gradient(90deg, transparent, #39435580);
}
.section-bridge::after { background: linear-gradient(90deg, #39435580, transparent); }
.section-bridge > span { flex: 0 1 auto; }
.section-bridge--faq {
  top: calc((var(--faq-bridge-inset) - clamp(80px, 9vw, 130px)) / 2);
  transform: translate(-50%, -50%);
}
.section-bridge--contact {
  bottom: calc((var(--faq-bridge-outset) - clamp(35px, 5svh, 60px)) / 2);
  transform: translate(-50%, 50%);
}
@media (max-width: 900px) { .faq { --faq-bridge-inset: 180px; --faq-bridge-outset: 210px; } }
@media (max-width: 560px) {
  .section-bridge { gap: 11px; font-size: 16px; width: calc(100% - 44px); letter-spacing: -.01em; }
  .section-bridge::before, .section-bridge::after { min-width: 18px; }
}

/* Simple site footer. The supplied Bloom canvas is not dimmed, masked, filtered
   or recoloured; its minimum 1200 × 800 surface is clipped safely on mobile. */
.site-footer { position: relative; isolation: isolate; overflow: hidden; min-height: 800px; padding: 74px clamp(22px, 5vw, 72px) 28px; background: #000; color: #e8effa; font-family: "DM Sans", sans-serif; }
.site-footer__background { position: absolute; top: 0; left: 50%; z-index: -1; width: 100%; height: 100%; min-width: 1200px; min-height: 800px; transform: translateX(-50%); overflow: hidden; pointer-events: none; background: #000; }
.site-footer__background canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.site-footer__inner { max-width: 1220px; min-height: 698px; margin: 0 auto; display: flex; flex-direction: column; justify-content: center; gap: 26px; }
.site-footer__body { padding: 32px; border: 1px solid #d0dfff24; border-radius: 23px; background: #02050cc9; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.site-footer__columns { display: grid; grid-template-columns: 1.45fr .85fr .95fr 1.1fr; gap: 30px; }
.site-footer__brand { display: inline-flex; align-items: center; color: #f0f5ff; text-decoration: none; font-family: "Poppins", sans-serif; font-size: 21px; font-weight: 600; letter-spacing: -.045em; line-height: 1.5; }
.site-footer__mark { position: relative; display: grid; place-items: center; width: 32px; height: 32px; margin-right: 10px; border: 1px solid #bfd7ff66; border-radius: 10px; background: #adcaff12; color: #d5e6ff; font-size: 20px; font-weight: 600; font-style: italic; }
.site-footer__mark { flex-shrink: 0; overflow: hidden; }
.site-footer__mark > img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.site-footer__brand-web { color: #accbff; }
.site-footer__about > p { max-width: 300px; margin: 18px 0 20px; color: #aebdd3; font-size: 12px; line-height: 1.9; }
.site-footer__badges { display: flex; flex-wrap: wrap; gap: 8px 12px; color: #b5cae7; }
.site-footer__badges > span { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; line-height: 1.7; }
.site-footer__badges svg { width: 16px; height: 16px; }
.site-footer__badges b { font-size: 14px; font-weight: 500; }
.site-footer h2 { margin: 5px 0 18px; color: #e5efff; font-size: 12px; font-weight: 600; letter-spacing: .015em; line-height: 1.6; }
.site-footer__nav { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.site-footer__nav h2 { margin-bottom: 5px; }
.site-footer__nav > a, .site-footer__email { color: #b0c0d9; font-size: 11px; line-height: 1.75; text-decoration: none; }
.site-footer__nav > a:hover, .site-footer__email:hover { color: #eff6ff; }
.site-footer__soon { display: block; width: fit-content; margin-top: 4px; padding: 2px 6px; border: 1px solid #bbd2ff29; border-radius: 4px; color: #94a9c9; font-size: 8px; letter-spacing: .02em; }
.site-footer__connect { min-width: 0; }
.site-footer__connect > p { margin: 0 0 14px; color: #aebdd3; font-size: 11px; line-height: 1.85; }
.site-footer__gmail { display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid #bad5ff4d; border-radius: 9px; background: #8fb9ff12; color: #dfeeff; font-size: 10px; line-height: 1.7; text-decoration: none; }
.site-footer__gmail svg { flex: 0 0 16px; width: 16px; height: 16px; }
.site-footer__gmail > span { margin-left: 3px; }
.site-footer__gmail:hover { border-color: #c8dfff99; background: #8fb9ff26; }
.site-footer__email { display: block; margin-top: 12px; font-size: 10px; overflow-wrap: anywhere; }
.site-footer__specialties { margin-top: 30px; padding-top: 24px; border-top: 1px solid #c6daff26; }
.site-footer__specialties h2 { margin: 0 0 13px; color: #9fb6d6; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .15em; }
.site-footer__specialties > div { display: flex; flex-wrap: wrap; gap: 8px; }
.site-footer__specialties a { padding: 6px 9px; border: 1px solid #bed6ff26; border-radius: 6px; background: #a9c8ff08; color: #b6c7df; font-size: 9px; line-height: 1.7; text-decoration: none; }
.site-footer__specialties a:hover { border-color: #bed6ff66; color: #e7f2ff; background: #a9c8ff14; }
.site-footer__trending { margin: 22px 0 0; color: #90a5c3; font-size: 9px; line-height: 2; }
.site-footer__trending strong { color: #b5c7e0; font-weight: 500; }
.site-footer__trending > span { margin-inline: 5px; color: #6a84aa; }
.site-footer__bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; padding: 18px 4px 0; border-top: 1px solid #c8dcff26; color: #b2c4df; font-size: 9px; line-height: 1.8; text-shadow: 0 1px 5px #000; }
.site-footer__bottom > p { margin: 0; }
.site-footer__bottom > p > span { display: block; color: #90a7c8; }
.site-footer__legal { display: flex; gap: 16px; margin-left: auto; }
.site-footer__legal button { padding: 0; border: 0; background: none; color: #b2c4df; font-family: inherit; font-size: 9px; line-height: 1.8; opacity: 1; }
.site-footer__status { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; color: #c3d7e5; }
.site-footer__status > span { width: 5px; height: 5px; border-radius: 50%; background: #90d8b4; }
.site-footer a:focus-visible { outline: 2px solid #b4d2ff; outline-offset: 5px; border-radius: 4px; }
@media (max-width: 1050px) { .site-footer__columns { grid-template-columns: 1.25fr 1fr; gap: 30px 40px; }.site-footer__about > p { max-width: 360px; } }
@media (max-width: 560px) {
  .site-footer { padding-top: 50px; padding-bottom: 25px; }
  .site-footer__inner { min-height: 725px; gap: 20px; }
  .site-footer__body { padding: 24px 20px; border-radius: 18px; }
  .site-footer__columns { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 27px 18px; }
  .site-footer__about, .site-footer__connect { grid-column: 1 / -1; }
  .site-footer__brand { font-size: 21px; }
  .site-footer__nav > a { font-size: 10px; }
  .site-footer__specialties a { font-size: 9px; }
  .site-footer__specialties { margin-top: 25px; }
  .site-footer__bottom { align-items: flex-start; gap: 14px 20px; padding-inline: 0; }
  .site-footer__bottom > p { width: 100%; }
  .site-footer__legal { margin-left: 0; }
  .site-footer__status { margin-left: auto; font-size: 8px; }
}

/* Site-specific glass navigation: native links and menu work without React/CDNs. */
.site-header { pointer-events: none; }
.site-nav-frame { height: auto; padding: 15px 18px 0; }
.site-nav { position: relative; display: flex; align-items: center; justify-content: center; gap: 14px; width: fit-content; max-width: 100%; margin: 0 auto; padding: 6px 7px 6px 14px; isolation: isolate; border: 1px solid #c5d5f042; border-radius: 999px; background: transparent; box-shadow: 0 8px 28px #0003, inset 0 1px 0 #ffffff07; backdrop-filter: none; -webkit-backdrop-filter: none; color: #a7b0c0; font-family: "DM Sans", sans-serif; pointer-events: auto; }
/* Blur lives on its own layer: the dropdown must not be trapped inside a
   parent backdrop-filter root. The translucent tint reveals the real page. */
.site-nav::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(180deg, #20324d80, #091222a6); backdrop-filter: blur(28.6px) saturate(150%); -webkit-backdrop-filter: blur(28.6px) saturate(150%); pointer-events: none; }
.site-nav a { -webkit-tap-highlight-color: transparent; text-decoration: none; }
.site-nav__brand { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; padding-right: 8px; color: #edf3fd; font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: -.025em; white-space: nowrap; }
.site-nav .site-nav__logo { display: block; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; }
.site-nav__links { display: flex; align-items: center; gap: 3px; }
.site-nav__link { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 37px; padding: 9px 11px; border: 1px solid transparent; border-radius: 999px; color: #d8e4f5; font-size: 12px; line-height: 1.4; font-weight: 400; white-space: nowrap; transform: translateY(calc(var(--nav-near, 0) * -2px)) scale(calc(1 + var(--nav-near, 0) * .045)); transition: color .2s, background .2s, border-color .2s, box-shadow .2s; }
.site-nav__link svg { flex: 0 0 13px; width: 13px; height: 13px; opacity: .8; }
.site-nav__link:hover { color: #eff5ff; background: #dce9ff0a; }
.site-nav__link[aria-current="location"] { color: #111621; border-color: #f0f5ff70; background: linear-gradient(180deg, #ffffff, #dfe7f5); box-shadow: inset 0 -2px 3px #6b84b323, 0 3px 10px #cadbff18; }
.site-nav__contact { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-shrink: 0; min-height: 37px; padding: 6px 6px 6px 15px; border: 1px solid #f3f7ff99; border-radius: 999px; background: linear-gradient(180deg, #fff, #e2e8f4); color: #151b26; font-size: 12px; font-weight: 500; line-height: 1.4; white-space: nowrap; box-shadow: 0 2px 12px #bfd3ff20; }
.site-nav__contact:hover { background: #fff; box-shadow: 0 2px 16px #bfd3ff40; }
.site-nav__arrow { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #0e1a3610; font-size: 16px; }
.site-nav a:focus-visible, .site-nav__menu > summary:focus-visible { outline: 2px solid #afcfff; outline-offset: 4px; }
.site-nav__menu { display: none; }
#next, #process, #why-choose-us, #pricing, #faq, #contact { scroll-margin-top: 88px; }
@media (max-width: 850px) {
  .site-nav-frame { padding: 12px 16px 0; }
  .site-nav { width: min(480px, 100%); justify-content: space-between; gap: 10px; padding: 6px 7px 6px 11px; }
  .site-nav__brand { font-size: 12px; padding-right: 0; }
  .site-nav__links { display: none; }
  .site-nav__contact { margin-left: auto; min-height: 36px; padding-left: 12px; font-size: 11px; gap: 7px; }
  .site-nav__menu { display: block; flex-shrink: 0; }
  .site-nav__menu > summary { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #bcd3ff26; border-radius: 50%; list-style: none; color: #d0def5; cursor: pointer; }
  .site-nav__menu > summary::-webkit-details-marker { display: none; }
  .site-nav__menu > summary::marker { content: ""; }
  .site-nav__menu > summary svg { width: 19px; height: 19px; }
  .site-nav__menu[open] > summary { background: #c5daff17; border-color: #bcd3ff59; }
  .site-nav__mobile { position: absolute; top: calc(100% + 11px); right: 0; display: grid; gap: 5px; width: min(330px, calc(100vw - 32px)); max-height: 70svh; overflow-y: auto; padding: 10px; border: 1px solid #bcd3ff2b; border-radius: 18px; background: #0b1629a6; box-shadow: 0 20px 45px #0009; backdrop-filter: blur(31.2px) saturate(150%); -webkit-backdrop-filter: blur(31.2px) saturate(150%); }
  .site-nav__mobile .site-nav__link { justify-content: flex-start; min-height: 45px; padding: 11px 14px; border-radius: 10px; font-size: 13px; transform: none; }
  .site-nav__mobile .site-nav__link svg { width: 17px; height: 17px; flex-basis: 17px; margin-right: 4px; }
  .site-nav__mobile-contact { justify-content: space-between !important; border-top: 1px solid #bcd3ff26; margin-top: 3px; color: #c5dcff; }
}
@media (max-width: 370px) {
  .site-nav-frame { padding-inline: 10px; }
  .site-nav { gap: 7px; }
  .site-nav__brand { gap: 6px; font-size: 11px; }
  .site-nav .site-nav__logo { width: 22px; height: 22px; flex-basis: 22px; }
  .site-nav__contact { padding-left: 10px; gap: 5px; font-size: 10px; }
  .site-nav__arrow { width: 21px; height: 21px; }
}
@media (prefers-reduced-motion: reduce) { .site-nav__link { transform: none; transition: none; } }

/* HERO 28 — a local-business story and a tangible desktop/mobile concept.
   Navigation, Fibre Arc settings, canvas styling and backdrop are untouched. */
.hero .hero__content { zoom: 1; width: calc(100% - 112px); max-width: 1280px; min-height: 100svh; padding: clamp(150px, 19svh, 195px) 0 48px; align-items: stretch; justify-content: center; gap: 56px; text-align: left; }
.hero__layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: clamp(40px, 5vw, 76px); }
.hero__copy { min-width: 0; }
.hero .hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 25px; padding: 7px 12px; border: 1px solid #a9ceff26; border-radius: 999px; background: #152c554d; color: #c0d6f6; font-size: 10px; line-height: 1.5; font-weight: 500; letter-spacing: .055em; text-transform: uppercase; }
.hero__status { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #92e6c1; box-shadow: 0 0 10px #92e6c144; }
.hero__eyebrow-separator { color: #6683a7; margin-inline: 2px; }
.hero .hero__headline { font-size: clamp(42px, 4.25vw, 62px); line-height: 1.12; font-weight: 600; letter-spacing: -.057em; text-wrap: initial; }
.hero .hero__headline span + span { margin-top: 3px; }
.hero__headline .hero__accent { padding-bottom: 5px; color: #9ac7ff; background: linear-gradient(100deg, #b0d7ff 3%, #6bafff 64%, #b2c9ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero .hero__description { max-width: 510px; margin: 24px 0 0; font-size: 16px; line-height: 1.8; color: #aebbd0; }
.hero__benefits { display: flex; flex-wrap: wrap; gap: 10px 17px; margin: 23px 0 0; padding: 0; list-style: none; color: #c7d3e5; font-size: 11px; line-height: 1.6; }
.hero__benefits li { display: inline-flex; align-items: center; gap: 6px; }
.hero__benefits li > span { display: grid; place-items: center; width: 13px; height: 13px; border: 1px solid #6fc7a066; border-radius: 50%; color: #8cdec0; font-size: 8px; }
.hero .hero__actions { width: auto; flex-direction: row; justify-content: flex-start; gap: 11px; margin-top: 30px; }
.hero .btn { min-height: 52px; padding: 0 23px; border-radius: 12px; font-size: 13px; gap: 13px; }
.hero .btn--primary { background: linear-gradient(180deg, #328bff, #1665e5); border-color: #72adff80; box-shadow: inset 0 1px 0 #c9e4ff33, 0 6px 24px #1269ed33; }
.hero .btn--primary:hover { background: linear-gradient(180deg, #4c9bff, #2174f3); }
.hero .btn--primary > span { font-size: 19px; font-weight: 400; }
.hero .btn--ghost { background: #0d18247d; border-color: #b2d1ff33; color: #d6e4f7; }
.hero .btn--ghost svg { width: 16px; height: 16px; }
.hero__price-note { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 17px 0 0; color: #7f90a8; font-size: 11px; line-height: 1.7; }
.hero__price-note a { color: #b9c8dc; text-decoration: none; pointer-events: auto; }
.hero__price-note a:hover { color: #e5f0ff; text-decoration: underline; text-underline-offset: 4px; }
.hero__price-note strong { color: #e2edfc; font-weight: 600; }
.hero__showcase { position: relative; width: 100%; max-width: 540px; min-width: 0; margin: 0 0 0 auto; padding: 0 0 47px; }
.hero__concept-label { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 0 5px 15px 0; color: #96aac9; font-size: 8px; line-height: 1.7; letter-spacing: .08em; }
.hero__concept-label svg { width: 37px; height: 19px; color: #98bde8; }
.hero-browser { padding: 11px; border: 1px solid #e8f0ffb3; border-radius: 19px; background: linear-gradient(145deg, #f5f8ff, #dce5f5); box-shadow: 0 22px 60px #0005, 0 0 50px -28px #5598ff8c, inset 0 1px 0 #fff; color: #122044; transform: rotate(-1.5deg); }
.hero-browser__chrome { display: flex; align-items: center; gap: 12px; min-height: 31px; padding: 0 3px 10px; }
.hero-browser__dots { display: flex; gap: 4px; }
.hero-browser__dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #9aacc6; }
.hero-browser__dots i:first-child { background: #ea948c; }.hero-browser__dots i:last-child { background: #7fc3a2; }
.hero-browser__address { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 21px; width: 60%; margin: 0 auto; border: 1px solid #d1dcedb3; border-radius: 6px; background: #ffffffb3; color: #6b7b94; font-size: 9px; letter-spacing: .02em; }
.hero-browser__address svg { width: 11px; height: 11px; color: #4f987f; }
.hero-browser__expand { width: 12px; height: 12px; color: #6a7c9b; }
.hero-browser__page { padding: 15px; border: 1px solid #d9e0ec; border-radius: 10px; background: #fbfcfa; }
.hero-demo__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 15px; }
.hero-demo__brand { position: relative; display: flex; align-items: center; gap: 5px; padding-bottom: 9px; color: #112b57; font-size: 21px; font-weight: 700; line-height: 1; letter-spacing: -.06em; }
.hero-demo__brand-icon { position: relative; display: grid; place-items: center; width: 26px; height: 26px; margin-right: 2px; border-radius: 8px; background: #173b76; color: #e0f3b3; font-size: 24px; font-weight: 500; }
.hero-demo__brand-icon > span { position: absolute; top: 1px; right: 3px; color: #e0f3b3; font-size: 12px; }
.hero-demo__brand-sub { position: absolute; left: 33px; bottom: 3px; color: #74809a; font-size: 5px; font-weight: 500; letter-spacing: .17em; }
.hero-demo__nav-items { display: flex; align-items: center; gap: 13px; font-size: 7px; color: #5b6a82; }
.hero-demo__nav-items > span { padding: 6px 9px; border: 1px solid #bfcbe0; border-radius: 5px; color: #20395f; }
.hero-demo__intro { position: relative; display: flex; align-items: center; min-height: 202px; overflow: hidden; padding: 24px 20px; border-radius: 8px; background: #173e7a; color: #f0f5ff; }
.hero-demo__intro-copy { position: relative; z-index: 1; width: 68%; }
.hero-demo__eyebrow { display: block; color: #d3ebac; font-size: 5.5px; line-height: 1.6; letter-spacing: .08em; }
.hero-demo__intro h2 { margin: 10px 0; font-family: "DM Sans", sans-serif; font-size: clamp(22px, 2.1vw, 31px); font-weight: 500; line-height: 1.14; letter-spacing: -.055em; }
.hero-demo__intro p { margin: 0; color: #b7c9e7; font-size: 8px; line-height: 1.75; }
.hero-demo__button { display: inline-flex; align-items: center; gap: 16px; margin-top: 14px; padding: 8px 11px; border-radius: 4px; background: #dbf3a8; color: #24422b; font-size: 7px; font-weight: 600; }
.hero-demo__art { position: absolute; top: 28px; right: -2px; width: 43%; height: 82%; }
.hero-demo__classes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.hero-demo__classes > div { min-width: 0; padding: 11px 8px; border: 1px solid #dce4ed; border-radius: 6px; background: #f0f4f4; }
.hero-demo__classes span { display: block; color: #758395; font-size: 4.7px; letter-spacing: .04em; }
.hero-demo__classes strong { display: block; margin: 6px 0 4px; color: #19335b; font-size: 8px; font-weight: 600; }
.hero-demo__classes small { display: block; color: #7b879a; font-size: 6px; }
.hero-demo__contact { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 15px; font-size: 6px; color: #65788b; }
.hero-demo__contact > div { display: flex; align-items: center; gap: 4px; }
.hero-demo__contact-dot { width: 4px; height: 4px; border-radius: 50%; background: #589880; }
.hero-demo__contact > span { color: #315b47; font-weight: 500; }
.hero-phone { position: absolute; z-index: 2; right: -17px; bottom: 22px; width: 115px; padding: 17px 6px 12px; border: 4px solid #253549; border-radius: 21px; background: #fcfdfb; box-shadow: 0 13px 30px #0007, inset 0 0 0 1px #ffffff70; color: #152e50; transform: rotate(6deg); }
.hero-phone__speaker { position: absolute; top: 5px; left: calc(50% - 13px); width: 26px; height: 4px; border-radius: 8px; background: #253549; }
.hero-phone__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; padding: 0 3px; }
.hero-phone__top > span { font-size: 15px; font-weight: 700; line-height: 1; }.hero-phone__top > span > span { color: #4b7c5c; font-size: 9px; }
.hero-phone__top i { width: 9px; height: 5px; border-block: 1px solid #65809c; }
.hero-phone__intro { position: relative; min-height: 129px; overflow: hidden; padding: 10px 7px; border-radius: 5px; background: #173e7a; color: #f2f7ff; }
.hero-phone__intro small { font-size: 3.5px; letter-spacing: .09em; color: #d9efb5; }
.hero-phone__intro strong { position: relative; z-index: 1; display: block; margin-top: 7px; font-size: 14px; line-height: 1.12; font-weight: 500; letter-spacing: -.04em; }
.hero-phone__intro > span { position: relative; z-index: 1; display: inline-block; margin-top: 9px; padding: 5px; border-radius: 2px; background: #dbf3a8; color: #29482e; font-size: 4px; font-weight: 600; }
.hero-phone__orbit { position: absolute; right: -11px; bottom: -14px; width: 63px; height: 63px; border: 1px solid #afc6f24d; border-radius: 50%; color: #bdd8f74d; font-size: 50px; text-align: center; }.hero-phone__orbit > span { font-size: 20px; }
.hero-phone__tiles { display: grid; gap: 4px; margin-top: 6px; }.hero-phone__tiles > span { display: flex; justify-content: space-between; padding: 6px; border: 1px solid #dae2ec; border-radius: 3px; background: #f0f4f4; font-size: 5px; }.hero-phone__tiles i { font-style: normal; }
.hero-phone__bottom { margin-top: 6px; padding: 5px; border-radius: 3px; background: #e4efd4; text-align: center; font-size: 4px; }
.hero-phone__home { position: absolute; bottom: 4px; left: 34px; width: 33px; height: 3px; border-radius: 5px; background: #b2bdc9; }
.hero__delivery { position: absolute; z-index: 2; left: -18px; bottom: 27px; display: flex; align-items: center; gap: 10px; padding: 11px 18px 11px 10px; border: 1px solid #d2e9dc; border-radius: 12px; background: #edf9f0; color: #204d3a; box-shadow: 0 8px 24px #0004; transform: rotate(-1deg); }
.hero__delivery-icon { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: #d5eedb; }.hero__delivery-icon svg { width: 18px; height: 18px; }
.hero__delivery strong { display: block; font-size: 10px; font-weight: 600; line-height: 1.5; }.hero__delivery small { display: block; font-size: 8px; line-height: 1.6; color: #648170; }
.hero__showcase figcaption { position: absolute; bottom: -6px; left: 4px; right: 0; display: flex; justify-content: space-between; gap: 12px; color: #788ba9; font-size: 8px; line-height: 1.6; letter-spacing: .02em; }
.hero__showcase figcaption > span:last-child { text-align: right; }
.hero__closing { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid #afcfff21; color: #8295b1; font-size: 11px; line-height: 1.6; }
.hero__closing p { margin: 0; letter-spacing: .015em; }.hero__closing p > span { color: #c3d1e7; }
.hero__closing a { display: inline-flex; align-items: center; gap: 20px; color: #a6bcda; text-decoration: none; pointer-events: auto; }.hero__closing a:hover { color: #e5f0ff; }.hero__closing a > span { color: #c7e0ff; font-size: 18px; }
.hero__price-note a:focus-visible, .hero__closing a:focus-visible { outline: 2px solid #9ecbff; outline-offset: 5px; border-radius: 2px; }
@media (min-width: 901px) and (max-width: 1150px) {
  .hero .hero__content { width: calc(100% - 80px); }
  .hero__layout { gap: 32px; }.hero .hero__headline { font-size: 43px; }.hero .hero__description { font-size: 15px; }
  .hero__benefits { gap: 8px 12px; font-size: 10px; }.hero .btn { font-size: 12px; padding-inline: 17px; }
  .hero-demo__intro { padding: 20px 15px; }.hero-demo__intro h2 { font-size: 24px; }.hero-demo__nav-items { gap: 8px; font-size: 6px; }
  .hero__showcase figcaption { font-size: 7px; }.hero__concept-label { font-size: 6.5px; }
}
@media (max-width: 900px) {
  .hero .hero__content { width: calc(100% - 72px); max-width: 620px; min-height: 100svh; padding: 135px 0 40px; gap: 55px; }
  .hero__layout { grid-template-columns: minmax(0, 1fr); gap: 60px; }
  .hero .hero__headline { font-size: clamp(40px, 6.7vw, 55px); }.hero .hero__description { max-width: 540px; }
  .hero__showcase { max-width: 520px; margin-inline: auto; }.hero-demo__intro h2 { font-size: 29px; }
  .hero__concept-label { font-size: 8px; }
}
@media (max-width: 600px) {
  .hero .hero__content { width: calc(100% - 44px); padding: 124px 0 32px; gap: 36px; }
  .hero .hero__eyebrow { gap: 7px; padding: 6px 10px; margin-bottom: 22px; font-size: 8px; letter-spacing: .035em; }
  .hero .hero__headline { font-size: clamp(34px, 9.4vw, 48px); line-height: 1.1; letter-spacing: -.06em; }
  .hero .hero__description { font-size: 14px; line-height: 1.8; margin-top: 20px; }
  .hero__benefits { margin-top: 20px; gap: 9px 13px; font-size: 10px; }
  .hero .hero__actions { margin-top: 25px; gap: 10px; }.hero .btn { min-height: 48px; padding-inline: 14px; font-size: 12px; gap: 10px; border-radius: 10px; }
  .hero .btn--ghost svg { width: 14px; height: 14px; }.hero__price-note { gap: 6px; font-size: 10px; margin-top: 15px; }
  .hero__layout { gap: 43px; }.hero__concept-label { gap: 8px; font-size: 6px; }.hero__concept-label svg { width: 28px; }
  .hero-browser { padding: 8px; border-radius: 15px; transform: rotate(-1deg); }.hero-browser__chrome { gap: 8px; padding-bottom: 8px; }.hero-browser__address { font-size: 7px; }.hero-browser__dots { gap: 3px; }.hero-browser__dots i { width: 5px; height: 5px; }
  .hero-browser__page { padding: 11px; border-radius: 8px; }.hero-demo__nav { padding-bottom: 12px; }.hero-demo__nav-items { gap: 8px; font-size: 5.5px; }.hero-demo__nav-items > span { padding: 5px 6px; }.hero-demo__brand { font-size: 19px; }
  .hero-demo__intro { min-height: 182px; padding: 19px 13px; }.hero-demo__intro h2 { font-size: 25px; }.hero-demo__eyebrow { font-size: 4.5px; }.hero-demo__intro p { font-size: 7px; }.hero-demo__intro-copy { width: 72%; }.hero-demo__art { right: -10px; top: 30px; width: 43%; }
  .hero-demo__classes { gap: 5px; }.hero-demo__classes > div { padding: 9px 5px; }.hero-demo__classes strong { font-size: 6.5px; }.hero-demo__classes span { font-size: 3.5px; }.hero-demo__classes small { font-size: 5px; }
  .hero-demo__contact { margin-top: 12px; font-size: 4.5px; }.hero-phone { right: -5px; bottom: 29px; width: 102px; transform: rotate(5deg); }.hero-phone__intro { min-height: 120px; }.hero-phone__intro strong { font-size: 12px; }.hero-phone__home { left: 28px; }
  .hero__delivery { left: -7px; bottom: 28px; padding: 9px 11px 9px 8px; gap: 7px; }.hero__delivery strong { font-size: 9px; }.hero__delivery small { font-size: 7px; }.hero__delivery-icon { width: 25px; height: 25px; }
  .hero__showcase figcaption { gap: 6px; font-size: 6.5px; left: 0; }.hero__closing { padding-top: 18px; font-size: 9px; gap: 15px; }.hero__closing a { gap: 8px; }.hero__closing a > span { font-size: 15px; }
}
@media (max-width: 360px) {
  .hero .hero__content { width: calc(100% - 36px); }.hero .hero__headline { font-size: 33px; }.hero .btn { font-size: 11px; padding-inline: 12px; gap: 8px; }
  .hero__price-note { font-size: 9px; }.hero-demo__intro h2 { font-size: 21px; }.hero-demo__nav-items { font-size: 4.5px; gap: 5px; }.hero-demo__nav-items > span { padding: 4px; }
  .hero__delivery { left: -3px; gap: 5px; padding-right: 8px; }.hero__delivery strong { font-size: 8px; }.hero__delivery small { font-size: 6px; }.hero-phone { right: -3px; width: 91px; padding-inline: 5px; }.hero-phone__intro strong { font-size: 11px; }.hero-phone__intro small { font-size: 3px; }.hero-phone__home { left: 24px; }.hero__closing { font-size: 8px; }
}
/* Keep type crisp where the unchanged light fibres travel behind the copy. */
.hero .hero__headline, .hero .hero__description, .hero__benefits { text-shadow: 0 2px 9px #01030abd; }
.hero-demo__brand-sub { white-space: nowrap; font-size: 4.5px; letter-spacing: .13em; }
.hero__price-note strong { font-size: 14px; }
@media (max-width: 600px) { .hero-demo__intro h2 { font-size: 23px; }.hero__price-note strong { font-size: 12px; } }
@media (max-width: 360px) { .hero-demo__intro h2 { font-size: 21px; } }

/* Footer legal documents — native modal top layer, with independent scrolling. */
.site-footer__legal button { cursor: pointer; text-underline-offset: 4px; }
.site-footer__legal button:hover { color: #e5efff; text-decoration: underline; }
.site-footer__legal button:focus-visible { outline: 2px solid #afcfff; outline-offset: 5px; border-radius: 2px; }
html.legal-modal-open { overflow: hidden; scrollbar-gutter: stable; background: #01050b; }
.legal-modal { width: min(800px, calc(100% - 40px)); max-width: none; max-height: min(86svh, 840px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #b8d2fc38; border-radius: 22px; background: #0d1626; color: #c1cee1; box-shadow: 0 30px 100px #0009, inset 0 1px 0 #ffffff08; font-family: "DM Sans", system-ui, sans-serif; }
.legal-modal[open] { display: flex; flex-direction: column; }
.legal-modal::backdrop { background: #01050bbf; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.legal-modal__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 26px; border-bottom: 1px solid #bfd7ff21; background: #121e31; }
.legal-modal__header h2 { margin: 0; color: #f1f6ff; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.035em; }
.legal-modal__close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 10px; min-height: 44px; padding: 9px 13px; border: 1px solid #bfd7ff38; border-radius: 10px; background: #c0d8ff0a; color: #deebff; font-family: inherit; font-size: 12px; cursor: pointer; }
.legal-modal__close svg { width: 17px; height: 17px; }.legal-modal__close:hover { background: #c0d8ff1a; border-color: #bfd7ff66; }
.legal-modal__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 27px 30px 34px; scrollbar-width: thin; scrollbar-color: #465d7e #0d1626; font-size: 14px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-modal__body .legal-modal__updated { margin: 0 0 27px; color: #8ca5c6; font-size: 12px; }
.legal-modal__body section + section { margin-top: 27px; }.legal-modal__body h3 { margin: 0 0 9px; color: #edf4ff; font-size: 17px; font-weight: 600; line-height: 1.5; letter-spacing: -.015em; }
.legal-modal__body p { margin: 0; }.legal-modal__body p + p { margin-top: 12px; }.legal-modal__body strong { color: #e4edfc; font-weight: 600; }
.legal-modal__body ul { padding-left: 21px; margin: 0 0 13px; }.legal-modal__body li + li { margin-top: 5px; }
.legal-modal__body a, .legal-modal__body a strong { color: #a9ceff; text-decoration: underline; text-underline-offset: 3px; }.legal-modal__body a:hover { color: #e2efff; }
.legal-modal button:focus-visible, .legal-modal a:focus-visible { outline: 2px solid #b4d5ff; outline-offset: 4px; }.legal-modal__body:focus-visible { outline: 2px solid #82aee766; outline-offset: -4px; }
@media (max-width: 600px) { .legal-modal { width: calc(100% - 24px); max-height: 90svh; border-radius: 17px; }.legal-modal__header { padding: 16px; gap: 12px; }.legal-modal__header h2 { font-size: 21px; }.legal-modal__close { padding-inline: 10px; gap: 7px; }.legal-modal__body { padding: 22px 19px 28px; font-size: 13px; line-height: 1.85; }.legal-modal__body h3 { font-size: 16px; } }

/* Keep legal actions inside the main footer details panel. */
.site-footer__body > .site-footer__legal { flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid #c6daff26; }
.site-footer__body > .site-footer__legal button { min-height: 38px; padding: 8px 13px; border: 1px solid #bed6ff38; border-radius: 8px; background: #a9c8ff0a; color: #cfdef3; font-size: 11px; line-height: 1.6; }
.site-footer__body > .site-footer__legal button:hover { background: #a9c8ff1a; border-color: #bed6ff70; text-decoration: none; color: #f1f6ff; }
.site-footer__bottom > .site-footer__status { margin-left: auto; }
@media (max-width: 560px) { .site-footer__body > .site-footer__legal { justify-content: flex-start; } }

/* Wider audience presentation panels; typography and background stay unchanged. */
.audience .bento-preview { max-width: 540px; }
.audience__demo-note { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 22px; padding: 14px 17px; border: 1px solid #739dce38; border-radius: 10px; background: #070d15; color: #aebfd4; font-size: 14px; line-height: 1.8; }
.audience__demo-note svg { flex: 0 0 19px; width: 19px; height: 19px; margin-top: 3px; color: #8cb9eb; }
.audience__demo-note strong { color: #dae8fa; font-weight: 500; }
@media (max-width: 700px) { .audience__content { padding-inline: 20px; }.audience__demo-note { padding: 13px 14px; font-size: 13px; gap: 9px; } }


/* ── Contact form status line (added in polish pass) ─────────── */
.contact__status { margin: 0 0 14px; min-height: 0; font-size: 15px; line-height: 1.5; }
.contact__status:empty { display: none; }
.contact__status[data-kind="ok"] { color: #9fe3b8; }
.contact__status[data-kind="error"] { color: #ffb4ab; }

/* Footer social buttons (added) */
.site-footer__social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.site-footer__social a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:inherit;text-decoration:none;font-size:14px;font-weight:600}
.site-footer__social a:hover,.site-footer__social a:focus-visible{border-color:currentColor;text-decoration:underline}
.site-footer__social svg{width:18px;height:18px;flex:0 0 18px}
