/* ==========================================================================
   eqLend design system — ported from the approved Lovable build.
   Tokens kept in oklch to match the source exactly.
   ========================================================================== */

:root {
  --radius: 0.75rem;
  --background: oklch(0.21 0.05 255);            /* #0B1D3A deep navy */
  --surface: oklch(0.24 0.055 258);              /* #0E2242 alt surface */
  --foreground: oklch(0.96 0.012 80);            /* #F4F1EC cream */
  --card: oklch(0.27 0.06 258);
  --primary: oklch(0.7 0.09 192);                /* #2BA5A0 teal */
  --primary-foreground: oklch(0.21 0.05 255);
  --primary-hover: oklch(0.78 0.1 192);
  --muted-foreground: oklch(0.68 0.03 250);      /* #8899B2 slate */
  --gold: oklch(0.78 0.12 80);                   /* #D4A853 */
  --border: oklch(0.7 0.09 192 / 0.18);
  --teal-alt: #7fd6cb;
  --teal-alt-light: #8fe0d6;
  --teal-alt-deep: #5fc4b8;
  --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --font-serif: "Instrument Serif", ui-serif, Georgia, serif;
  --font-display: "Playfair Display", serif;
  --font-poppins: "Poppins", sans-serif;
}

* { box-sizing: border-box; }
* { border-color: var(--border); }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(ellipse 80% 50% at 20% 0%, oklch(0.7 0.09 192 / 0.08), transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 30%, oklch(0.78 0.12 80 / 0.04), transparent 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.035 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 0;
}
p { margin: 0; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }
ul { margin: 0; padding: 0; list-style: none; }

/* Hide the WP admin bar bump on staging */
html { margin-top: 0 !important; }

/* ------------------------------------------------------------------ layout */
.eq-container      { margin-inline: auto; max-width: 80rem; padding-inline: 1.5rem; }   /* max-w-7xl */
.eq-container-6xl  { margin-inline: auto; max-width: 72rem; padding-inline: 1.5rem; }
.eq-container-5xl  { margin-inline: auto; max-width: 64rem; padding-inline: 1.5rem; }
.eq-section        { padding-block: 6rem; position: relative; }
@media (min-width: 1024px) { .eq-section { padding-block: 8rem; } }
.surface-bg        { background-color: var(--surface); }
.eq-center         { text-align: center; }

/* --------------------------------------------------------------- utilities */
.eq-eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary);
  font-weight: 500;
}
.eq-eyebrow--poppins {
  font-family: var(--font-poppins);
  font-weight: 600;
  letter-spacing: 0.28em;
  color: var(--teal-alt);
}
.eq-h2 {
  margin-top: 1rem;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  line-height: 1.15;
  color: var(--foreground);
}
.eq-h2 em, .eq-italic-teal { font-style: italic; color: var(--primary); }
.eq-lead { margin-top: 1.25rem; font-size: 1.125rem; color: var(--muted-foreground); }
.eq-max-3xl { max-width: 48rem; }
.eq-max-2xl { max-width: 42rem; }
.eq-mx-auto { margin-inline: auto; }

.text-gradient-teal {
  background: linear-gradient(135deg, var(--primary), var(--primary-hover));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.glass-card {
  background: color-mix(in oklab, var(--card) 55%, transparent);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  border-radius: var(--radius);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}
.glass-card::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--primary), transparent);
  opacity: 0; transition: opacity 0.3s ease;
}
.glass-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in oklab, var(--primary) 45%, transparent);
  box-shadow: 0 20px 40px -20px oklch(0 0 0 / 0.5);
}
.glass-card:hover::before { opacity: 1; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.in-view { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

.pulse-dot {
  width: 0.5rem; height: 0.5rem; border-radius: 9999px; background: oklch(0.78 0.18 150);
  box-shadow: 0 0 0 0 oklch(0.78 0.18 150 / 0.6);
  animation: pulse-ring 2s infinite;
  display: inline-block;
}
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 oklch(0.78 0.18 150 / 0.5); }
  70% { box-shadow: 0 0 0 8px oklch(0.78 0.18 150 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.78 0.18 150 / 0); }
}

.glow-radial {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse 50% 50% at 50% 50%, oklch(0.7 0.09 192 / 0.18), transparent 70%);
  filter: blur(40px);
}

/* ---------------------------------------------------------------- buttons */
.eq-btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border-radius: 0.375rem; padding: 0.75rem 1.25rem;
  font-weight: 500; font-size: 1rem; cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.eq-btn--primary {
  background: var(--primary); color: var(--primary-foreground);
  box-shadow: 0 10px 15px -3px oklch(0.7 0.09 192 / 0.2);
}
.eq-btn--primary:hover { background: var(--primary-hover); }
.eq-btn--ghost {
  border: 1px solid oklch(0.96 0.012 80 / 0.3);
  background: oklch(0.21 0.05 255 / 0.3);
  backdrop-filter: blur(4px);
  color: var(--foreground);
}
.eq-btn--ghost:hover { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }
.eq-btn--sm { padding: 0.5rem 1rem; font-size: 0.875rem; }
.eq-btn .eq-arrow { transition: transform 0.2s ease; }
.eq-btn:hover .eq-arrow { transform: translateX(2px); }

/* -------------------------------------------------------------------- nav */
.eq-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  transition: all 0.3s ease;
  backdrop-filter: blur(12px);
  background: oklch(0.21 0.05 255 / 0.4);
  padding-block: 1.25rem;
}
.eq-nav.scrolled {
  backdrop-filter: blur(24px);
  background: oklch(0.21 0.05 255 / 0.85);
  border-bottom: 1px solid var(--border);
  padding-block: 0.75rem;
}
.eq-nav__inner { display: flex; align-items: center; justify-content: space-between; }
.eq-nav__logo img { height: 2rem; width: auto; display: block; border-radius: 3px; }
.eq-nav__links { display: none; align-items: center; gap: 2rem; }
@media (min-width: 1024px) { .eq-nav__links { display: flex; } .eq-nav__burger { display: none; } }
.eq-nav__link {
  font-size: 0.875rem; color: var(--muted-foreground);
  transition: color 0.2s ease; background: none; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: 0.25rem; font-family: inherit;
}
.eq-nav__link:hover { color: var(--foreground); }
.eq-nav__dropdown { position: relative; }
.eq-nav__menu {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  padding-top: 0.5rem; display: none;
}
.eq-nav__dropdown:hover .eq-nav__menu, .eq-nav__dropdown:focus-within .eq-nav__menu { display: block; }
.eq-nav__menu-panel {
  border-radius: 0.5rem; border: 1px solid oklch(1 0 0 / 0.1);
  background: oklch(0.21 0.05 255 / 0.95); backdrop-filter: blur(24px);
  box-shadow: 0 20px 25px -5px oklch(0 0 0 / 0.3); padding-block: 0.5rem; min-width: 220px;
}
.eq-nav__menu-panel a {
  display: block; padding: 0.5rem 1rem; font-size: 0.875rem; color: var(--muted-foreground);
  transition: color 0.2s, background 0.2s;
}
.eq-nav__menu-panel a:hover { color: var(--foreground); background: oklch(1 0 0 / 0.05); }
.eq-nav__burger { background: none; border: 0; color: var(--foreground); cursor: pointer; padding: 0.25rem; }
.eq-nav__mobile { display: none; border-top: 1px solid var(--border); background: oklch(0.21 0.05 255 / 0.95); backdrop-filter: blur(24px); }
.eq-nav__mobile.open { display: block; }
.eq-nav__mobile-inner { padding: 1rem 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.eq-nav__mobile-inner a { font-size: 0.875rem; color: var(--muted-foreground); }
.eq-nav__mobile-inner a:hover { color: var(--foreground); }
.eq-nav__mobile-inner .eq-btn { justify-content: center; }

/* ------------------------------------------------------------------- hero */
.eq-hero {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: 100vh; display: flex; align-items: center;
  padding-top: 9rem; padding-bottom: 6rem;
}
@media (min-width: 1024px) { .eq-hero { padding-top: 11rem; padding-bottom: 10rem; } }
.eq-hero__bg { position: absolute; inset: 0; z-index: -10; }
.eq-hero__bg img { height: 100%; width: 100%; object-fit: cover; object-position: center; }
.eq-hero__overlay {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 70% at 50% 50%, oklch(0.21 0.05 255 / 0.85) 0%, oklch(0.21 0.05 255 / 0.92) 60%, oklch(0.21 0.05 255 / 0.98) 100%);
}
.eq-hero__fade {
  position: absolute; left: 0; right: 0; bottom: 0; height: 10rem;
  background: linear-gradient(to bottom, transparent, var(--background));
}
.eq-hero__content { position: relative; margin-inline: auto; max-width: 64rem; padding-inline: 1.5rem; text-align: center; width: 100%; }
.eq-hero__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border-radius: 9999px; padding: 0.375rem 0.75rem;
  font-size: 0.75rem; font-weight: 500;
  background: oklch(0.7 0.09 192 / 0.15); color: var(--primary);
  border: 1px solid oklch(0.7 0.09 192 / 0.3); backdrop-filter: blur(4px);
}
.eq-hero__title {
  margin-top: 2rem;
  font-size: clamp(3rem, 7vw, 5.5rem);
  line-height: 1.02;
  color: var(--foreground);
  text-shadow: 0 2px 30px oklch(0.15 0.04 255 / 0.7);
}
.eq-hero__title em { font-style: italic; color: var(--primary); }
.eq-hero__sub {
  margin-top: 2rem; margin-inline: auto; max-width: 48rem;
  font-size: clamp(1.125rem, 2vw, 1.25rem);
  color: oklch(0.96 0.012 80 / 0.85); line-height: 1.65;
  text-shadow: 0 1px 20px oklch(0.15 0.04 255 / 0.6);
}
.eq-hero__actions { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* --------------------------------------------------------------- proofbar */
.eq-proofbar { border-block: 1px solid var(--border); }
.eq-proofbar__inner { padding-block: 2.5rem; }
.eq-proofbar__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .eq-proofbar__grid { grid-template-columns: repeat(3, 1fr); } }
.eq-proofbar__value { font-family: var(--font-serif); font-size: 2.5rem; color: var(--primary); line-height: 1; }
.eq-proofbar__label { margin-top: 0.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted-foreground); }
.eq-proofbar__divider { margin-top: 2.5rem; border-top: 1px solid var(--border); }
.eq-proofbar__quote {
  margin-top: 1rem; font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2vw, 1.5rem); color: oklch(0.96 0.012 80 / 0.8);
  max-width: 48rem; margin-inline: auto; line-height: 1.6;
}

/* --------------------------------------------- loop sections (why + LOA) */
.eq-loop-label { max-width: 300px; }
.eq-loop-label--center { margin-inline: auto; text-align: center; max-width: 360px; }
.eq-loop-label--right { text-align: right; }
.eq-loop-label .eyebrow {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.22em; color: var(--teal-alt); font-family: var(--font-poppins);
}
.eq-loop-label h3 {
  margin-top: 0.5rem; line-height: 1.25; color: #f4f6f9;
  font-family: var(--font-display); font-size: 26px; font-weight: 600;
}
.eq-loop-label p {
  margin-top: 0.5rem; color: #aab4c8; font-family: var(--font-poppins);
  font-weight: 300; font-size: 15px; line-height: 1.55;
}
.eq-loop-label p strong { color: #e9edf4; font-weight: 500; }
.eq-loop-desktop { display: none; }
.eq-loop-mobile { display: flex; flex-direction: column; align-items: center; gap: 2.5rem; }
@media (min-width: 1024px) {
  .eq-loop-desktop { display: block; position: relative; margin-inline: auto; max-width: 1040px; }
  .eq-loop-mobile { display: none; }
  .eq-loop-desktop .pos-left { position: absolute; top: 0; left: 0; z-index: 10; }
  .eq-loop-desktop .pos-right { position: absolute; top: 0; right: 0; z-index: 10; }
  .eq-loop-desktop .loop-svg-wrap { padding-top: 12rem; }
  .eq-loop-desktop .pos-bottom { margin-top: 2rem; display: flex; justify-content: center; }
}
.eq-loop-svg { width: 100%; height: auto; max-width: 880px; margin-inline: auto; display: block; }
.eq-why-sub, .eq-why-outro {
  color: #aab4c8; font-family: var(--font-poppins); font-weight: 300; line-height: 1.65;
}
.eq-why-sub { margin-top: 1.5rem; font-size: 18px; max-width: 740px; margin-inline: auto; }
.eq-why-outro { margin-top: 4rem; font-size: 19.5px; line-height: 1.7; max-width: 880px; margin-inline: auto; }
.eq-why-sub strong, .eq-why-outro strong { color: #e9edf4; font-weight: 500; }
.eq-why-outro .teal { color: var(--teal-alt); font-weight: 500; }

.eq-loa { background-color: #131c33; padding-top: 96px; padding-bottom: 88px; font-family: var(--font-poppins); position: relative; overflow: hidden; }
.eq-loa__glow {
  pointer-events: none; position: absolute; inset: 0;
  background: radial-gradient(ellipse 55% 50% at 50% 50%, rgba(110,207,196,0.08), transparent 70%);
}
.eq-loa__title {
  margin: 1.25rem auto 0; max-width: 56rem; line-height: 1.08;
  font-family: var(--font-display); font-weight: 400; color: #f4f6f9;
  font-size: clamp(38px, 5vw, 50px);
}
.eq-loa__title em { color: var(--teal-alt); font-style: italic; }
.eq-loa__promise { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: 3.5rem; }
.eq-loa__promise-line { display: inline-block; width: 56px; height: 1px; background: var(--teal-alt); opacity: 0.45; }
.eq-loa__promise p { font-style: italic; font-family: var(--font-display); color: var(--teal-alt); font-size: 21px; }
.eq-loa__cta {
  display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 9999px;
  background: var(--teal-alt); color: #0e1729; font-family: var(--font-poppins);
  font-weight: 600; font-size: 15px; padding: 16px 34px;
  transition: all 0.2s ease;
}
.eq-loa__cta:hover { background: var(--teal-alt-light); transform: translateY(-1px); }

/* ---------------------------------------------------------------- modules */
.eq-cards-3 { margin-top: 4rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .eq-cards-3 { grid-template-columns: repeat(3, 1fr); } }
.eq-module { padding: 1.75rem; display: flex; flex-direction: column; }
.eq-module__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: 0.5rem;
  background: oklch(0.7 0.09 192 / 0.12); color: var(--primary);
  border: 1px solid oklch(0.7 0.09 192 / 0.2);
}
.eq-module__icon svg { width: 20px; height: 20px; }
.eq-module__eyebrow { margin-top: 1.25rem; font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: oklch(0.7 0.09 192 / 0.8); font-weight: 500; }
.eq-module h3 { margin-top: 0.25rem; font-size: 1.5rem; color: var(--foreground); }
.eq-module__body { margin-top: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); line-height: 1.6; }
.eq-module ul { margin-top: 1.25rem; border-top: 1px solid oklch(0.7 0.09 192 / 0.11); padding-top: 1.25rem; display: flex; flex-direction: column; gap: 0.625rem; }
.eq-module li { font-size: 0.875rem; color: oklch(0.96 0.012 80 / 0.85); line-height: 1.4; display: flex; gap: 0.75rem; }
.eq-module li::before {
  content: ""; margin-top: 0.375rem; flex-shrink: 0;
  width: 0.375rem; height: 0.375rem; border-radius: 9999px; background: var(--primary);
}

/* ------------------------------------------------------------- experience */
.eq-exp__header { display: grid; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .eq-exp__header { grid-template-columns: 7fr 5fr; } }
.eq-exp__modes { display: flex; flex-direction: column; gap: 0.75rem; }
.eq-exp__mode {
  display: flex; align-items: center; gap: 1rem; border-radius: 0.75rem;
  border: 1px solid var(--border); background: color-mix(in oklab, var(--card) 40%, transparent);
  padding: 0.75rem 1rem;
}
.eq-exp__mode-num {
  flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 0.5rem;
  background: oklch(0.7 0.09 192 / 0.15); color: var(--primary);
  border: 1px solid oklch(0.7 0.09 192 / 0.25);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.875rem; font-weight: 600;
}
.eq-exp__mode-t { color: var(--foreground); font-weight: 500; }
.eq-exp__mode-d { font-size: 0.875rem; color: var(--muted-foreground); }
.eq-tabs { margin-top: 4rem; }
.eq-tabs__bar { display: flex; gap: 0.5rem; border-bottom: 1px solid var(--border); overflow-x: auto; }
.eq-tabs__tab {
  padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 500; white-space: nowrap;
  border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
  background: none; color: var(--muted-foreground); cursor: pointer; font-family: inherit;
  transition: color 0.2s ease;
}
.eq-tabs__tab:hover { color: var(--foreground); }
.eq-tabs__tab.active { color: var(--foreground); border-bottom-color: var(--primary); }
.eq-tabs__panel { display: none; margin-top: 2.5rem; }
.eq-tabs__panel.active { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .eq-tabs__panel.active { grid-template-columns: 7fr 5fr; } }
.eq-tabs__panel h3 { font-size: clamp(1.875rem, 3vw, 2.25rem); color: var(--foreground); }
.eq-tabs__panel .sub { margin-top: 0.5rem; color: var(--primary); font-weight: 500; }
.eq-tabs__panel .desc { margin-top: 1rem; color: var(--muted-foreground); line-height: 1.65; }
.eq-tabs__panel ul.features { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.eq-tabs__panel ul.features li { display: flex; gap: 0.75rem; font-size: 0.875rem; color: oklch(0.96 0.012 80 / 0.9); }
.eq-tabs__panel ul.features li::before {
  content: "✓"; color: var(--primary); font-weight: 700; flex-shrink: 0;
}
.eq-browser { padding: 1rem; }
.eq-browser__chrome { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; }
.eq-browser__dot { width: 0.75rem; height: 0.75rem; border-radius: 9999px; }
.eq-browser__dot--r { background: rgba(248,113,113,0.8); }
.eq-browser__dot--y { background: rgba(250,204,21,0.8); }
.eq-browser__dot--g { background: rgba(74,222,128,0.8); }
.eq-browser__label { margin-left: 0.75rem; font-size: 0.75rem; color: var(--muted-foreground); }
.eq-browser__screen {
  aspect-ratio: 16 / 10; border-radius: 0.5rem;
  background: oklch(0.21 0.05 255 / 0.6); border: 1px solid var(--border);
  overflow: hidden;
}
.eq-browser__screen img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.eq-callout {
  margin-top: 4rem; border-radius: 1rem; border: 1px solid oklch(0.7 0.09 192 / 0.35);
  background: oklch(0.7 0.09 192 / 0.08); padding: 2rem;
}
.eq-callout .eq-eyebrow { font-weight: 600; }
.eq-callout p { margin-top: 0.75rem; color: oklch(0.96 0.012 80 / 0.9); line-height: 1.65; max-width: 56rem; }

/* ---------------------------------------------------------------- pricing */
.eq-tier { border-radius: 1rem; padding: 2rem; position: relative; }
.eq-tier--featured {
  border: 2px solid var(--primary);
  background: color-mix(in oklab, var(--card) 70%, transparent);
  box-shadow: 0 0 60px -15px oklch(0.7 0.09 192 / 0.45);
}
.eq-tier__badge {
  position: absolute; top: -0.75rem; left: 50%; transform: translateX(-50%);
  display: inline-flex; align-items: center; border-radius: 9999px;
  background: var(--primary); color: var(--primary-foreground);
  padding: 0.25rem 0.75rem; font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
}
.eq-tier__num { font-family: var(--font-serif); font-size: 3.75rem; color: oklch(0.96 0.012 80 / 0.1); line-height: 1; }
.eq-tier h3 { margin-top: 1rem; font-family: var(--font-sans); font-size: 1.25rem; font-weight: 600; color: var(--foreground); }
.eq-tier__price { margin-top: 1rem; font-family: var(--font-serif); font-size: 1.875rem; color: var(--primary); }
.eq-tier__note { font-size: 0.875rem; color: var(--muted-foreground); }
.eq-tier__desc { margin-top: 1.25rem; font-size: 0.875rem; color: var(--muted-foreground); line-height: 1.6; }
.eq-tier .eq-btn { margin-top: 1.75rem; width: 100%; justify-content: center; font-size: 0.875rem; padding: 0.625rem 1rem; }
.eq-btn--outline {
  border: 1px solid oklch(0.68 0.03 250 / 0.4); color: var(--foreground);
}
.eq-btn--outline:hover { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }

/* -------------------------------------------------------------- ownership */
.eq-ownership { padding-block: 7rem; overflow: hidden; }
@media (min-width: 1024px) { .eq-ownership { padding-block: 9rem; } }
.eq-ownership blockquote {
  margin: 1.5rem 0 0; font-family: var(--font-serif);
  font-size: clamp(1.875rem, 4vw, 2.8rem); line-height: 1.2; color: var(--foreground);
}
.eq-ownership blockquote em { font-style: italic; color: var(--primary); }
.eq-ownership .after { margin-top: 2rem; color: var(--muted-foreground); }

/* ----------------------------------------------------------- testimonials */
.eq-testimonial { padding: 1.75rem; display: flex; flex-direction: column; }
.eq-testimonial__stars { display: flex; gap: 2px; color: var(--gold); }
.eq-testimonial__stars svg { width: 16px; height: 16px; fill: currentColor; }
.eq-testimonial blockquote {
  margin: 1rem 0 0; font-style: italic; color: var(--muted-foreground);
  line-height: 1.65; font-size: 15px;
}
.eq-testimonial__who { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 0.75rem; }
.eq-testimonial__avatar {
  width: 2.5rem; height: 2.5rem; border-radius: 9999px;
  background: oklch(0.7 0.09 192 / 0.15); border: 1px solid oklch(0.7 0.09 192 / 0.25);
  color: var(--primary); display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.875rem; font-weight: 600;
}
.eq-testimonial__name { color: var(--foreground); font-weight: 500; font-size: 0.875rem; }
.eq-testimonial__title { font-size: 0.75rem; color: var(--muted-foreground); }

/* -------------------------------------------------------------------- cta */
.eq-cta__box {
  position: relative; overflow: hidden; border-radius: 1.5rem;
  border: 1px solid var(--border); padding: 2.5rem; text-align: center;
  background: linear-gradient(to bottom right, var(--background), var(--card));
}
@media (min-width: 768px) { .eq-cta__box { padding: 4rem; } }

/* ----------------------------------------------------------------- footer */
.eq-footer { border-top: 1px solid var(--border); background: var(--background); }
.eq-footer__inner { padding-block: 4rem; }
.eq-footer__grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .eq-footer__grid { grid-template-columns: 6fr 3fr 3fr; } }
.eq-footer__logo { font-family: var(--font-sans); font-weight: 700; font-size: 1.5rem; color: var(--foreground); }
.eq-footer__logo span { color: var(--primary); }
.eq-footer__blurb { margin-top: 1rem; max-width: 28rem; font-size: 0.875rem; color: var(--muted-foreground); line-height: 1.6; }
.eq-footer__head { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--foreground); font-weight: 600; }
.eq-footer ul { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.625rem; }
.eq-footer ul a { font-size: 0.875rem; color: var(--muted-foreground); transition: color 0.2s; }
.eq-footer ul a:hover { color: var(--primary); }
.eq-footer__bottom {
  margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; justify-content: space-between;
  font-size: 0.75rem; color: var(--muted-foreground);
}
@media (min-width: 768px) { .eq-footer__bottom { flex-direction: row; align-items: center; } }
.eq-footer__social { display: flex; align-items: center; gap: 1rem; }
.eq-footer__social a { color: var(--muted-foreground); transition: color 0.2s; }
.eq-footer__social a:hover { color: var(--primary); }
.eq-footer__social svg { width: 18px; height: 18px; }
.eq-footer__bottom a:hover { color: var(--primary); }

/* --------------------------------------------------- generic page content */
.eq-page { padding-top: 10rem; padding-bottom: 6rem; }
.eq-page__content { color: oklch(0.96 0.012 80 / 0.9); line-height: 1.7; }
.eq-page__content h1, .eq-page__content h2, .eq-page__content h3 { color: var(--foreground); margin-top: 2rem; margin-bottom: 0.75rem; }
.eq-page__content p { margin-bottom: 1rem; }
.eq-page__content a { color: var(--primary); }

/* ---------------------------------------------------------- product pages */
.eq-phero { position: relative; overflow: hidden; padding-top: 8rem; padding-bottom: 5rem; }
@media (min-width: 1024px) { .eq-phero { padding-top: 10rem; padding-bottom: 7rem; } }
.eq-phero__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .eq-phero__grid { grid-template-columns: 1fr 1fr; } }
.eq-phero h1 { margin-top: 1.25rem; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.05; color: var(--foreground); }
.eq-phero h1 em { font-style: italic; color: var(--primary); }
.eq-phero__img { border-radius: 0.75rem; overflow: hidden; border: 1px solid oklch(1 0 0 / 0.1); box-shadow: 0 25px 50px -12px oklch(0 0 0 / 0.5); }
.eq-phero__img img { width: 100%; height: auto; display: block; }
.eq-phero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.eq-btn--border { border: 1px solid oklch(1 0 0 / 0.15); color: var(--foreground); font-size: 0.875rem; }
.eq-btn--border:hover { background: oklch(1 0 0 / 0.05); }

.eq-body { color: #aab4c8; font-family: var(--font-poppins); font-weight: 300; font-size: 18px; line-height: 1.65; }
.eq-body--bright { color: #e9edf4; font-weight: 500; }
.eq-body + .eq-body { margin-top: 1.25rem; }

.eq-band { border-block: 1px solid oklch(1 0 0 / 0.1); background: #0d213f; padding-block: 6rem; }
.eq-band--tight { padding-block: 4rem; }
.eq-band h2, .eq-plain h2 { margin-top: 1rem; font-size: clamp(1.875rem, 4vw, 3rem); line-height: 1.2; color: var(--foreground); }
.eq-band h2 em, .eq-plain h2 em { font-style: italic; color: var(--primary); }
.eq-plain { padding-block: 6rem; }
.eq-plain--tight { padding-block: 4rem; }
.eq-band .eq-body, .eq-plain .eq-body { margin-top: 1.5rem; }

.eq-close { font-family: var(--font-serif); font-style: italic; font-size: clamp(1.5rem, 3vw, 1.875rem); line-height: 1.4; color: var(--teal-alt); }

/* numbered step timeline (task page) */
.eq-steps { margin-top: 3.5rem; position: relative; list-style: none; padding: 0; }
.eq-steps__line { position: absolute; left: 22px; top: 0.5rem; bottom: 0.5rem; width: 1px; background: rgba(127,214,203,0.25); display: none; }
@media (min-width: 640px) { .eq-steps__line { display: block; } }
.eq-steps li { position: relative; padding-bottom: 2.5rem; }
@media (min-width: 640px) { .eq-steps li { padding-left: 4rem; } }
.eq-steps li:last-child { padding-bottom: 0; }
.eq-steps__num {
  display: flex; align-items: center; justify-content: center;
  height: 2.75rem; width: 2.75rem; border-radius: 9999px;
  font-family: var(--font-serif); font-size: 1.125rem;
  background: rgba(127,214,203,0.12); color: var(--teal-alt); border: 1px solid rgba(127,214,203,0.35);
}
@media (min-width: 640px) { .eq-steps__num { position: absolute; left: 0; top: 0; } }
.eq-steps__label { margin-top: 1rem; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.24em; color: var(--teal-alt); font-family: var(--font-poppins); }
@media (min-width: 640px) { .eq-steps__label { margin-top: 0; } }
.eq-steps h3 { margin-top: 0.5rem; font-size: clamp(1.5rem, 2.5vw, 1.875rem); color: var(--foreground); }
.eq-steps .eq-body { margin-top: 0.75rem; max-width: 48rem; font-size: 18px; }

/* big stat (AU page) */
.eq-stat { text-align: center; }
.eq-stat__n { font-family: var(--font-serif); font-style: italic; color: var(--teal-alt); font-size: 64px; line-height: 1; }
.eq-stat__l { margin-top: 0.75rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.28em; color: #aab4c8; font-family: var(--font-poppins); }
.eq-stats-2 { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 640px) { .eq-stats-2 { grid-template-columns: 1fr 1fr; } }

/* image cards (AU + POS) */
.eq-imgcards { margin-top: 4rem; display: grid; gap: 2rem; }
@media (min-width: 768px) { .eq-imgcards { grid-template-columns: repeat(3, 1fr); } }
.eq-imgcards figure { margin: 0; }
.eq-imgcards .frame { border-radius: 0.75rem; overflow: hidden; border: 1px solid oklch(1 0 0 / 0.1); background: oklch(1 0 0 / 0.02); }
.eq-imgcards img { width: 100%; height: auto; display: block; }
.eq-imgcards h3 { margin-top: 1.25rem; font-family: var(--font-serif); color: #f4f6f9; font-size: 22px; }
.eq-imgcards .eq-body { margin-top: 0.5rem; font-size: 15px; line-height: 1.6; }

/* automation modules grid */
.eq-autogrid { margin-top: 3rem; display: grid; gap: 1.25rem; list-style: none; padding: 0; }
@media (min-width: 640px) { .eq-autogrid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .eq-autogrid { grid-template-columns: repeat(3, 1fr); } }
.eq-autogrid li { border-radius: 0.5rem; border: 1px solid oklch(1 0 0 / 0.1); background: oklch(1 0 0 / 0.02); padding: 1.5rem; }
.eq-autogrid .tick { height: 2.25rem; width: 2.25rem; border-radius: 0.375rem; display: flex; align-items: center; justify-content: center; background: rgba(127,214,203,0.14); color: var(--teal-alt); }
.eq-autogrid h3 { margin-top: 1rem; color: #f4f6f9; font-family: var(--font-poppins); font-weight: 600; font-size: 17px; line-height: 1.3; }
.eq-autogrid p { margin-top: 0.75rem; color: #aab4c8; font-family: var(--font-poppins); font-weight: 300; font-size: 14.5px; line-height: 1.6; }

/* two-column prose */
.eq-2col { margin-top: 3rem; display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .eq-2col { grid-template-columns: 1fr 1fr; } }
.eq-2col h3 { font-size: clamp(1.5rem, 2.5vw, 1.875rem); color: var(--foreground); }
.eq-2col .eq-body { margin-top: 1rem; }

/* checkmark feature list (POS) */
.eq-checklist { margin-top: 2rem; display: grid; gap: 0.75rem; list-style: none; padding: 0; }
@media (min-width: 640px) { .eq-checklist { grid-template-columns: 1fr 1fr; } }
.eq-checklist li { display: flex; gap: 0.75rem; font-size: 0.9375rem; color: oklch(0.96 0.012 80 / 0.9); font-family: var(--font-poppins); font-weight: 300; line-height: 1.5; }
.eq-checklist li::before { content: "✓"; color: var(--primary); font-weight: 700; flex-shrink: 0; }

/* about timeline */
.eq-cred { margin-top: 3rem; display: grid; gap: 1.25rem; }
.eq-cred__item { display: flex; gap: 1.25rem; align-items: baseline; border-left: 2px solid rgba(127,214,203,0.35); padding-left: 1.25rem; }
.eq-cred__year { font-family: var(--font-serif); font-style: italic; color: var(--teal-alt); font-size: 1.5rem; white-space: nowrap; min-width: 5.5rem; }
.eq-cred__what { color: #e9edf4; font-family: var(--font-poppins); font-weight: 400; font-size: 1rem; line-height: 1.6; }
.eq-cred__what small { display: block; color: #aab4c8; font-weight: 300; margin-top: 0.25rem; }

/* ------------------------------------------------------------------ forms */
.eq-form { margin-top: 2.5rem; display: grid; gap: 1.25rem; text-align: left; }
.eq-form label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--muted-foreground); font-weight: 600; display: block; margin-bottom: 0.5rem; }
.eq-form input[type="text"], .eq-form input[type="email"], .eq-form input[type="tel"], .eq-form textarea {
  width: 100%; border-radius: 0.5rem;
  border: 1px solid oklch(0.7 0.09 192 / 0.25);
  background: oklch(0.21 0.05 255 / 0.6);
  color: var(--foreground); font-family: var(--font-sans); font-size: 1rem;
  padding: 0.875rem 1rem; outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.eq-form input:focus, .eq-form textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px oklch(0.7 0.09 192 / 0.15);
}
.eq-form input::placeholder, .eq-form textarea::placeholder { color: oklch(0.68 0.03 250 / 0.6); }
.eq-form textarea { min-height: 9rem; resize: vertical; }
.eq-form .eq-btn { justify-self: start; border: 0; font-family: var(--font-sans); }
.eq-form .hp-field { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.eq-form__card { border-radius: 1rem; border: 1px solid var(--border); background: color-mix(in oklab, var(--card) 55%, transparent); backdrop-filter: blur(10px); padding: 2.5rem; }
.eq-notice { border-radius: 0.75rem; padding: 1rem 1.25rem; font-size: 0.9375rem; margin-top: 2rem; }
.eq-notice--ok { background: oklch(0.7 0.09 192 / 0.12); border: 1px solid oklch(0.7 0.09 192 / 0.4); color: var(--foreground); }
.eq-notice--err { background: oklch(0.6 0.22 25 / 0.12); border: 1px solid oklch(0.6 0.22 25 / 0.4); color: var(--foreground); }

/* -------------------------------------------- self-editable content layer */
/* Single responsive loop layout (replaces desktop/mobile duplicate markup) */
.eq-loop-grid { display: grid; gap: 2.5rem; grid-template-areas: "l" "r" "svg" "b"; justify-items: center; margin-top: 4rem; }
.eq-loop-grid > .area-l { grid-area: l; }
.eq-loop-grid > .area-r { grid-area: r; }
.eq-loop-grid > .area-svg { grid-area: svg; width: 100%; }
.eq-loop-grid > .area-b { grid-area: b; }
.eq-loop-grid .eq-loop-label { text-align: center; max-width: 360px; }
@media (min-width: 1024px) {
  .eq-loop-grid { grid-template-columns: 1fr 1fr; grid-template-areas: "l r" "svg svg" "b b"; }
  .eq-loop-grid > .area-l { justify-self: start; }
  .eq-loop-grid > .area-l .eq-loop-label { text-align: left; max-width: 300px; }
  .eq-loop-grid > .area-r { justify-self: end; }
  .eq-loop-grid > .area-r .eq-loop-label { text-align: right; max-width: 300px; }
  .eq-loop-grid > .area-b { grid-column: 1 / -1; justify-self: center; }
}
.eq-loop-label p.eyebrow { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.22em; color: var(--teal-alt); font-family: var(--font-poppins); }

/* Native-block equivalents of element-styled pieces */
.eq-ownership__quote { margin-top: 1.5rem; font-family: var(--font-serif); font-size: clamp(1.875rem, 4vw, 2.8rem); line-height: 1.2; color: var(--foreground); }
.eq-ownership__quote em { font-style: italic; color: var(--primary); }
.eq-testimonial__quote { margin-top: 1rem; font-style: italic; color: var(--muted-foreground); line-height: 1.65; font-size: 15px; }
.eq-phero .eq-body { margin-top: 1rem; }
.eq-phero h1 + .eq-body, .eq-phero .eq-eyebrow + h1 { margin-top: 1.25rem; }
.eq-band .eq-close, .eq-plain .eq-close { margin-top: 2.5rem; }
.eq-hero__sub { display: block; }

/* Width / spacing utilities for editable blocks */
.eq-maxw-680 { max-width: 680px; }
.eq-maxw-720 { max-width: 720px; }
.eq-maxw-42r { max-width: 42rem; }
.eq-maxw-48r { max-width: 48rem; }
.eq-maxw-56r { max-width: 56rem; }
.eq-mt-1r { margin-top: 1rem; }
.eq-mt-2r { margin-top: 2rem; }
.eq-mt-25r { margin-top: 2.5rem; }
.eq-mt-3r { margin-top: 3rem; }
.eq-mt-35r { margin-top: 3.5rem; }
.eq-mt-4r { margin-top: 4rem; }
.eq-pb-4r { padding-bottom: 4rem; }
.eq-pt-0 { padding-top: 0; }

/* Neutralize core group layout spacing — our classes own all spacing */
:where(.wp-block-group.is-layout-flow) > * { margin-block-start: 0; margin-block-end: 0; }
