/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   ESCARGO V3 — shared visual foundation (2026-10-05)
   ONE namespaced layer. Nothing here applies until a surface opts in (a `v3-*` class or a
   `.v3-auth` wrapper), so loading this file changes no existing screen.
   Brand authority: Escargo deep green, lime and white. No external fonts: the stack below is the
   one the application already uses. Tokens are `--v3-*` and alias nothing global.
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */
:root {
  --v3-ink: #132A22;            /* deep Escargo green: text, navigation, strong anchors */
  --v3-lime: #BCF35A;           /* Escargo lime: primary action, active accent */
  --v3-lime-hover: #A9E349;
  --v3-paper: #FFFFFF;
  --v3-surface: #F5F7F3;        /* working background */
  --v3-raised: #E9EEE5;
  --v3-border: #D8E1D3;
  --v3-muted: #5C6962;
  --v3-danger: #A4161A;  --v3-danger-bg: #FDECEC;
  --v3-warn: #8A4B08;    --v3-warn-bg: #FFF4E0;
  --v3-ok: #1E6B3A;      --v3-ok-bg: #E7F6EC;
  --v3-info: #1F4E79;    --v3-info-bg: #E8F1FA;
  --v3-r-sm: 10px; --v3-r-md: 14px; --v3-r-lg: 24px; --v3-r-pill: 999px;
  --v3-s-1: 4px; --v3-s-2: 8px; --v3-s-3: 12px; --v3-s-4: 16px; --v3-s-5: 24px; --v3-s-6: 32px; --v3-s-7: 48px;
  --v3-shadow-1: 0 1px 2px rgba(19, 42, 34, .06), 0 8px 24px rgba(19, 42, 34, .06);
  --v3-shadow-2: 0 2px 4px rgba(19, 42, 34, .08), 0 18px 48px rgba(19, 42, 34, .14);
  --v3-focus: 0 0 0 3px #FFFFFF, 0 0 0 6px #132A22;      /* two-tone ring: visible on white, lime and green */
  --v3-font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ── primitives (opt-in by class) ─────────────────────────────────────────────────────────────── */
.v3-card { background: var(--v3-paper); border: 1px solid var(--v3-border); border-radius: var(--v3-r-lg); box-shadow: var(--v3-shadow-1); padding: var(--v3-s-6); }
.v3-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--v3-s-2); min-height: 46px; padding: 11px 22px; border-radius: var(--v3-r-pill);
  font: 800 15px/1.2 var(--v3-font); cursor: pointer; text-decoration: none; border: 1px solid transparent; transition: background-color .15s ease, border-color .15s ease, transform .05s ease; }
.v3-btn:active { transform: translateY(1px); }
.v3-btn-lime { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); }
.v3-btn-lime:hover { background: var(--v3-lime-hover); border-color: var(--v3-lime-hover); }
.v3-btn-solid { background: var(--v3-ink); color: #fff; border-color: var(--v3-ink); }
.v3-btn-solid:hover { background: #0C1D17; }
.v3-btn-ghost { background: var(--v3-paper); color: var(--v3-ink); border-color: var(--v3-border); }
.v3-btn-ghost:hover { border-color: var(--v3-ink); }
.v3-btn[disabled], .v3-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.v3-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 10px; border-radius: var(--v3-r-pill); font: 700 12px/1.4 var(--v3-font);
  background: var(--v3-raised); color: var(--v3-ink); white-space: normal; overflow-wrap: anywhere; }
.v3-chip-ok { background: var(--v3-ok-bg); color: var(--v3-ok); } .v3-chip-warn { background: var(--v3-warn-bg); color: var(--v3-warn); }
.v3-chip-danger { background: var(--v3-danger-bg); color: var(--v3-danger); } .v3-chip-info { background: var(--v3-info-bg); color: var(--v3-info); }
.v3-chip-lime { background: var(--v3-lime); color: var(--v3-ink); }
.v3-note { color: var(--v3-muted); font: 400 14px/1.6 var(--v3-font); }
.v3-btn:focus-visible, .v3-card a:focus-visible { outline: none; box-shadow: var(--v3-focus); }

/* ── AUTH FAMILY ──────────────────────────────────────────────────────────────────────────────────
   The auth views are inline-styled template strings whose ids, names and source order are pinned by
   suites. They are restyled from OUTSIDE: `.v3-auth` on the page wrapper, element and attribute
   selectors inside it, `!important` only where an inline style has to be beaten. No markup is removed. */
.v3-auth { background: var(--v3-surface) !important; color: var(--v3-ink) !important; font-family: var(--v3-font) !important; }
.v3-auth > header { background: var(--v3-ink) !important; padding: 16px 24px !important; border-bottom: 3px solid var(--v3-lime); }
.v3-auth > header strong { font-size: 16px !important; letter-spacing: 0 !important; }
.v3-auth main { padding: 40px 20px 56px !important; }
.v3-auth .v3-card { border-radius: var(--v3-r-lg) !important; border: 1px solid var(--v3-border) !important; box-shadow: var(--v3-shadow-1) !important; padding: 32px !important; }
.v3-auth h1 { color: var(--v3-ink) !important; font-size: 28px !important; line-height: 1.15 !important; letter-spacing: -.02em !important; font-weight: 800 !important; margin: 0 0 8px !important; }
.v3-auth h2 { color: var(--v3-ink); letter-spacing: -.01em; }
.v3-auth p { line-height: 1.6; }
.v3-auth label { color: var(--v3-ink) !important; }
.v3-auth input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .v3-auth select, .v3-auth textarea {
  border: 1px solid var(--v3-border) !important; border-radius: var(--v3-r-md) !important; min-height: 48px !important; background: var(--v3-paper) !important; color: var(--v3-ink) !important;
  font-family: var(--v3-font) !important; transition: border-color .15s ease, box-shadow .15s ease; }
.v3-auth input:not([type="checkbox"]):not([type="radio"]):hover, .v3-auth select:hover, .v3-auth textarea:hover { border-color: #9FB0A4 !important; }
.v3-auth input:not([type="checkbox"]):not([type="radio"]):focus, .v3-auth select:focus, .v3-auth textarea:focus { outline: none !important; border-color: var(--v3-ink) !important; box-shadow: 0 0 0 3px rgba(188, 243, 90, .7) !important; }
.v3-auth input[readonly] { background: var(--v3-surface) !important; color: var(--v3-muted) !important; }
.v3-auth input[aria-invalid="true"] { border-color: var(--v3-danger) !important; box-shadow: 0 0 0 3px rgba(164, 22, 26, .15) !important; }
.v3-auth input[type="checkbox"], .v3-auth input[type="radio"] { accent-color: var(--v3-ink); width: 18px !important; height: 18px !important; }
.v3-auth button[type="submit"] { background: var(--v3-lime) !important; color: var(--v3-ink) !important; border: 1px solid var(--v3-lime) !important; border-radius: var(--v3-r-pill) !important;
  min-height: 50px !important; font-weight: 800 !important; font-size: 16px !important; font-family: var(--v3-font) !important; transition: background-color .15s ease; }
.v3-auth button[type="submit"]:hover { background: var(--v3-lime-hover) !important; border-color: var(--v3-lime-hover) !important; }
.v3-auth button[type="submit"][disabled] { opacity: .5 !important; cursor: not-allowed !important; }
.v3-auth button[data-pact^="google"] { border-radius: var(--v3-r-pill) !important; border: 1px solid var(--v3-border) !important; min-height: 50px !important; font-family: var(--v3-font) !important; }
.v3-auth button[data-pact^="google"]:hover { border-color: var(--v3-ink) !important; }
.v3-auth .v3a-btn { border-radius: var(--v3-r-pill) !important; min-height: 46px !important; font-family: var(--v3-font) !important; }
.v3-auth .v3a-btn-lime { background: var(--v3-lime) !important; color: var(--v3-ink) !important; border-color: var(--v3-lime) !important; }
.v3-auth .v3a-btn-solid { background: var(--v3-ink) !important; color: #fff !important; border-color: var(--v3-ink) !important; }
.v3-auth .v3a-btn-ghost { background: var(--v3-paper) !important; color: var(--v3-ink) !important; border-color: var(--v3-border) !important; }
.v3-auth a { color: var(--v3-ink) !important; text-underline-offset: 3px; }
.v3-auth a:hover { text-decoration: underline !important; }
.v3-auth button[data-pact="toggle-pass"] { color: var(--v3-ink) !important; border-radius: var(--v3-r-sm); min-height: 36px; }
.v3-auth button:focus-visible, .v3-auth a:focus-visible, .v3-auth [tabindex]:focus-visible { outline: none !important; box-shadow: var(--v3-focus) !important; border-radius: var(--v3-r-sm); }
.v3-auth button[type="submit"]:focus-visible, .v3-auth .v3a-btn:focus-visible, .v3-auth button[data-pact^="google"]:focus-visible { border-radius: var(--v3-r-pill) !important; }
.v3-auth [role="alert"]:not(:empty) { background: var(--v3-danger-bg); color: var(--v3-danger) !important; border-radius: var(--v3-r-sm); padding: 10px 12px; font-weight: 600; }
.v3-auth [role="status"] { border-radius: var(--v3-r-md) !important; }

/* split sign-in: brand panel beside the form on wide screens, form only on phones and tablets */
.v3-auth-split { display: block; }
.v3-auth-brand { display: none; }
@media (min-width: 980px) {
  .v3-auth-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - 62px); }
  .v3-auth-split > main { max-width: 520px !important; width: 100%; align-self: center; justify-self: center; margin: 0 !important; }
  .v3-auth-brand { display: flex; flex-direction: column; justify-content: center; gap: var(--v3-s-5); position: relative; overflow: hidden; background: var(--v3-ink); color: #fff; padding: 56px clamp(32px, 5vw, 72px); }
  .v3-auth-brand::before { content: ""; position: absolute; right: -90px; top: -90px; width: 300px; height: 300px; border-radius: 50%; background: var(--v3-lime); opacity: .95; }
  .v3-auth-brand::after { content: ""; position: absolute; left: -60px; bottom: -120px; width: 260px; height: 260px; border-radius: 48px; background: rgba(188, 243, 90, .14); transform: rotate(18deg); }
  .v3-auth-brand > * { position: relative; z-index: 1; max-width: 460px; }
}
.v3-auth-brand h2 { color: #fff !important; font: 800 clamp(30px, 3.2vw, 44px)/1.08 var(--v3-font); letter-spacing: -.03em; margin: 0; }
.v3-auth-brand p { color: #D5E2DA; font-size: 16px; margin: 0; }
.v3-auth-brand ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.v3-auth-brand li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start; color: #EEF4F0; font-size: 15px; line-height: 1.5; }
.v3-auth-brand li::before { content: ""; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--v3-lime)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23132A22' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.v3-auth-brand li b { color: #fff; }

/* password guidance: an advisory meter and the rules that are actually enforced */
.v3-meter { height: 6px; border-radius: 999px; background: var(--v3-raised); overflow: hidden; margin: 12px 0 6px; }
.v3-meter > span { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--v3-danger); transition: width .2s ease, background-color .2s ease; }
.v3-meter[data-level="2"] > span { background: #C9820A; } .v3-meter[data-level="3"] > span { background: #6E9B1F; } .v3-meter[data-level="4"] > span { background: var(--v3-ok); }
.v3-rules { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; color: var(--v3-muted); }
.v3-rules li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: center; }
.v3-rules li::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--v3-border); box-sizing: border-box; }
.v3-rules li[data-ok="true"] { color: var(--v3-ok); font-weight: 600; }
.v3-rules li[data-ok="true"]::before { border-color: var(--v3-ok); background: var(--v3-ok)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }

/* invitation: who invited you → the business you are joining */
.v3-invite-rel { display: flex; align-items: center; justify-content: center; gap: 0; margin: 4px 0 18px; }
.v3-invite-rel .v3-av { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font: 800 20px/1 var(--v3-font); border: 3px solid var(--v3-paper); box-shadow: 0 0 0 1px var(--v3-border); }
.v3-invite-rel .v3-av-person { background: var(--v3-raised); color: var(--v3-ink); }
.v3-invite-rel .v3-av-biz { background: var(--v3-ink); color: var(--v3-lime); border-radius: 18px; }
.v3-invite-rel .v3-check { width: 26px; height: 26px; margin: 0 -8px; z-index: 1; border-radius: 50%; border: 3px solid var(--v3-paper); background: var(--v3-lime)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23132A22' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.v3-auth [data-staff-join-facts] { background: var(--v3-surface) !important; border-color: var(--v3-border) !important; border-radius: var(--v3-r-md) !important; }

@media (max-width: 560px) {
  .v3-auth main { padding: 20px 14px 40px !important; }
  .v3-auth .v3-card { padding: 22px 18px !important; border-radius: 20px !important; }
  .v3-auth h1 { font-size: 24px !important; }
}
@media (prefers-reduced-motion: reduce) { .v3-btn, .v3-auth input, .v3-auth button, .v3-meter > span { transition: none !important; } }

/* the header logo already carries the wordmark; the duplicate text beside it is hidden in the V3 family */
.v3-auth > header > strong { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v3-auth > header img { height: 30px !important; }

/* ═══ CONSUMER MARKETPLACE (opt-in: <body class="… v3-mkt">) ═══════════════════════════════════════
   Restyles the real homepage sections in place. Every id the page scripts target is untouched. The
   search form, its fields and its two intents are the existing contract (find.js is unchanged). */
.v3-mkt { background: var(--v3-surface); color: var(--v3-ink); }
.v3-mkt .eo-anno { background: var(--v3-ink); }
.v3-mkt .ec-hdr { background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--v3-border); backdrop-filter: saturate(1.2) blur(8px); }
.v3-mkt .ec-link { color: var(--v3-ink); font-weight: 700; border-radius: var(--v3-r-pill); }
.v3-mkt .ec-signup { background: var(--v3-lime); color: var(--v3-ink); border: 1px solid var(--v3-lime); border-radius: var(--v3-r-pill); font-weight: 800; }
.v3-mkt .ec-signup:hover { background: var(--v3-lime-hover); border-color: var(--v3-lime-hover); }
.v3-mkt .ec-bizbtn { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); color: var(--v3-ink); background: var(--v3-paper); font-weight: 700; }
.v3-mkt .ec-bizbtn:hover { border-color: var(--v3-ink); }
.v3-mkt a:focus-visible, .v3-mkt button:focus-visible, .v3-mkt select:focus-visible, .v3-mkt input:focus-visible { outline: none; box-shadow: var(--v3-focus); border-radius: var(--v3-r-sm); }

/* ── raised search hero ── */
.v3-mkt .v3-hero { background: var(--v3-surface) !important; color: var(--v3-ink); padding: 0 0 28px !important; position: relative; }
.v3-mkt .v3-hero::after { display: none !important; }                               /* the old full-section scrim */
.v3-mkt .v3-hero-band { position: relative; overflow: hidden; background: var(--v3-ink); padding: clamp(40px, 7vw, 84px) 0 clamp(120px, 13vw, 168px); }
.v3-mkt .v3-hero-band .find-hero-scene { position: absolute; inset: 0; z-index: 0; }
.v3-mkt .v3-hero-band .find-hero-scene img { opacity: .22 !important; filter: saturate(.6); object-position: 70% 35%; }
.v3-mkt .v3-hero-band::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(circle at 12% -10%, rgba(188, 243, 90, .22), transparent 42%), radial-gradient(circle at 96% 120%, rgba(188, 243, 90, .16), transparent 40%),
              linear-gradient(180deg, rgba(19, 42, 34, .78), rgba(19, 42, 34, .96)); }
.v3-mkt .v3-hero-band::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.4px); background-size: 22px 22px; }
.v3-mkt .v3-hero-band .wrap { position: relative; z-index: 2; }
.v3-mkt .v3-hero .find-head { max-width: 820px; }
.v3-mkt .v3-hero .find-head .os-kicker { color: var(--v3-lime) !important; letter-spacing: .12em; }
.v3-mkt .v3-hero .find-head h1 { color: #fff !important; font-size: clamp(2.1rem, 5.2vw, 3.6rem) !important; line-height: 1.04 !important; letter-spacing: -.03em; font-weight: 800; margin: 10px 0 14px; }
.v3-mkt .v3-hero .find-sub { color: #D5E2DA !important; font-size: clamp(1rem, 1.8vw, 1.15rem); margin: 0 auto !important; }
/* the When select collapsed to zero width on desktop (it was invisible on the live page); every control fills its cell */
.v3-mkt .v3-hero .find-grid .os-select, .v3-mkt .v3-hero .find-grid .os-input { width: 100%; min-width: 0; }
.v3-mkt .v3-hero-body { position: relative; z-index: 2; margin-top: calc(-1 * clamp(84px, 9vw, 116px)) !important; }
.v3-mkt .v3-hero .find-searchcard { background: var(--v3-paper) !important; border: 1px solid var(--v3-border); border-radius: 28px !important; box-shadow: var(--v3-shadow-2); padding: 14px; margin-top: 0 !important; max-width: 1120px; animation: none; }
.v3-mkt .v3-hero .find-searchcard .os-label { color: var(--v3-muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; }
.v3-mkt .v3-hero .find-searchcard .os-select, .v3-mkt .v3-hero .find-searchcard .os-input { color: var(--v3-ink); font-weight: 600; font-size: 1rem; }
.v3-mkt .v3-hero .find-actions .os-btn--lime { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); border-radius: var(--v3-r-pill); font-weight: 800; min-height: 52px; }
.v3-mkt .v3-hero .find-actions .os-btn--lime:hover { background: var(--v3-lime-hover); border-color: var(--v3-lime-hover); }
.v3-mkt .v3-hero .find-actions .os-btn--ghost { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); color: var(--v3-ink); background: var(--v3-paper); font-weight: 700; min-height: 52px; }
.v3-mkt .v3-hero .find-actions .os-btn--ghost:hover { border-color: var(--v3-ink); }
.v3-mkt .v3-hero .find-geo-btn { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); color: var(--v3-ink); background: var(--v3-surface); }
.v3-mkt .v3-hero .find-geo-note { color: var(--v3-muted); }
.v3-mkt .v3-hero .find-roadside-row { justify-content: center; margin-top: 22px; }
.v3-mkt .v3-hero .find-roadside-btn { background: var(--v3-ink); color: #fff; border-color: var(--v3-ink); border-radius: var(--v3-r-pill); }
.v3-mkt .v3-hero .find-roadside-note { color: var(--v3-muted); flex: 0 1 auto; }
.v3-mkt .v3-hero .find-trust { justify-content: center; margin-top: 18px; }
.v3-mkt .v3-hero .find-trust li { color: var(--v3-ink) !important; background: var(--v3-paper); border: 1px solid var(--v3-border); border-radius: var(--v3-r-pill); padding: 7px 14px; font-size: .84rem; }
.v3-mkt .v3-hero .find-trust svg { stroke: #4E8A12; }
@media (min-width: 1000px) {
  .v3-mkt .v3-hero .find-searchcard form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: stretch; }
  .v3-mkt .v3-hero .find-grid { grid-template-columns: 1.2fr 1.25fr .9fr 1fr; gap: 0; align-items: start; }
  .v3-mkt .v3-hero .find-grid .find-field, .v3-mkt .v3-hero .find-grid .find-field--full { grid-column: auto; padding: 10px 18px; }
  .v3-mkt .v3-hero .find-actions { flex-direction: column; justify-content: center; gap: 8px; margin: 0; padding-left: 6px; }
  .v3-mkt .v3-hero .find-actions .os-btn { flex: 0 0 auto; width: 100%; padding: 12px 26px; }
}
@media (max-width: 999px) {
  .v3-mkt .v3-hero .find-searchcard { border-radius: 22px !important; padding: 16px; }
  .v3-mkt .v3-hero .find-searchcard form { display: block; }
  .v3-mkt .v3-hero .find-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .v3-mkt .v3-hero .find-grid .find-field { padding: 0; }
  .v3-mkt .v3-hero .find-grid .find-field::before { display: none; }
  .v3-mkt .v3-hero .find-searchcard .os-select, .v3-mkt .v3-hero .find-searchcard .os-input { border: 1px solid var(--v3-border); border-radius: var(--v3-r-md); background: var(--v3-paper); padding: 12px 14px; min-height: 48px; width: 100%; }
  .v3-mkt .v3-hero .find-actions { margin-top: 14px; flex-wrap: wrap; }
  .v3-mkt .v3-hero .find-actions .os-btn { flex: 1 1 160px; }
}
@media (max-width: 560px) { .v3-mkt .v3-hero .find-grid { grid-template-columns: 1fr; } .v3-mkt .v3-hero .find-grid .find-field, .v3-mkt .v3-hero .find-grid .find-field--full { grid-column: 1 / -1 !important; } }

/* ── sections ── */
.v3-mkt .os-kicker { color: #3F7A10; letter-spacing: .12em; font-weight: 800; }
.v3-mkt .ec-sec-hd h2, .v3-mkt .ec-cats h2, .v3-mkt .find-how h2, .v3-mkt .find-app h2 { color: var(--v3-ink); letter-spacing: -.02em; font-weight: 800; }
.v3-mkt .ambient::before, .v3-mkt .ambient::after { opacity: .5; }
.v3-mkt .os-btn--lime { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); border-radius: var(--v3-r-pill); font-weight: 800; }
.v3-mkt .os-btn--lime:hover { background: var(--v3-lime-hover); border-color: var(--v3-lime-hover); }
.v3-mkt .os-btn--ghost, .v3-mkt .os-btn--dark { border-radius: var(--v3-r-pill); }
.v3-mkt .ec-card, .v3-mkt .dir-card { border-radius: 20px; border-color: var(--v3-border); box-shadow: var(--v3-shadow-1); }
.v3-mkt .ec-areas a, .v3-mkt .ec-area a, .v3-mkt .ec-chip { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); background: var(--v3-paper); color: var(--v3-ink); font-weight: 700; }
.v3-mkt .ec-areas a:hover, .v3-mkt .ec-area a:hover, .v3-mkt .ec-chip:hover { border-color: var(--v3-ink); background: var(--v3-lime); }
.v3-mkt .find-biz .find-biz-card, .v3-mkt .find-biz > .wrap > div:first-child { border-radius: 28px; }
.v3-mkt .eo-foot { background: var(--v3-ink); }
@media (prefers-reduced-motion: reduce) { .v3-mkt * { animation: none !important; transition: none !important; } }
/* the last cell was a two-column grid whose first column computed to 0px, hiding the When select on desktop */
.v3-mkt .v3-hero .find-grid .find-field--full { display: block !important; }
.v3-mkt .v3-hero #find-when-note { margin-top: 6px; font-size: .78rem; }
.v3-mkt .v3-hero .find-searchcard .os-select, .v3-mkt .v3-hero .find-searchcard .os-input { min-height: 44px; }

/* ── Results and provider pages carried BOTH the customer header and the business header; the customer shell shows one ── */
.v3-mkt .ec-hdr ~ .eo-hdr, .v3-mkt .ec-hdr ~ .eo-nav-scrim, .v3-mkt .ec-hdr ~ .eo-drawer { display: none !important; }
/* ── Explore: a "Development visual review" label was visible to customers on the cover; it is not customer content ── */
.v3-mkt .ex-cover-development { display: none !important; }
.v3-mkt .ex-publication { margin-top: 0; }
.v3-mkt .rf-head h1, .v3-mkt .rf-head .rf-count { color: var(--v3-ink); letter-spacing: -.02em; font-weight: 800; }
.v3-mkt .rf-card, .v3-mkt .rf-filter { border-radius: 20px; border-color: var(--v3-border); }

/* ── PROVIDER PROFILE (one renderer for garages, detailers, mobile and recovery; real data only) ── */
.v3-mkt .ec-hdr ~ .eo-pbanner { display: none !important; }                 /* a business-site page banner was stacked above the profile */
.v3-mkt .pp-page { color: var(--v3-ink); }
.v3-mkt .pp-hero { border-radius: 28px; overflow: hidden; box-shadow: var(--v3-shadow-1); }
.v3-mkt .pp-title { letter-spacing: -.03em; font-weight: 800; }
.v3-mkt .pp-eyebrow { color: var(--v3-lime); letter-spacing: .12em; font-weight: 800; }
.v3-mkt .pp-summary, .v3-mkt .pp-quick-card, .v3-mkt .pp-service, .v3-mkt .pp-side-card, .v3-mkt .pp-empty, .v3-mkt .pp-track, .v3-mkt .pp-gallery-item { border-radius: 20px; border-color: var(--v3-border); }
.v3-mkt .pp-summary, .v3-mkt .pp-side-card { box-shadow: var(--v3-shadow-1); background: var(--v3-paper); }
.v3-mkt .pp-section > h2, .v3-mkt .pp-section h2 { font-weight: 800; letter-spacing: -.02em; color: var(--v3-ink); }
.v3-mkt .pp-group > h3, .v3-mkt .pp-service-cat, .v3-mkt .pp-quick-sub { color: var(--v3-muted); }
.v3-mkt .pp-service-name, .v3-mkt .pp-quick-label { color: var(--v3-ink); font-weight: 800; }
.v3-mkt .dir-act-primary, .v3-mkt .pp-summary-primary, .v3-mkt .pp-mini-cta, .v3-mkt .pp-cta-primary, .v3-mkt .pp-side-call, .v3-mkt .pp-track button {
  background: var(--v3-lime) !important; color: var(--v3-ink) !important; border: 1px solid var(--v3-lime) !important; border-radius: var(--v3-r-pill) !important; font-weight: 800; }
.v3-mkt .dir-act-primary:hover, .v3-mkt .pp-summary-primary:hover, .v3-mkt .pp-mini-cta:hover, .v3-mkt .pp-cta-primary:hover, .v3-mkt .pp-side-call:hover, .v3-mkt .pp-track button:hover { background: var(--v3-lime-hover) !important; border-color: var(--v3-lime-hover) !important; }
.v3-mkt .pp-mini-cta { min-height: 44px; padding-left: 20px; padding-right: 20px; }
.v3-mkt .dir-act:not(.dir-act-primary), .v3-mkt .pp-cta-call { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); background: var(--v3-paper); color: var(--v3-ink); font-weight: 700; }
.v3-mkt .dir-act:not(.dir-act-primary):hover, .v3-mkt .pp-cta-call:hover { border-color: var(--v3-ink); }
.v3-mkt .pp-nav a { border-radius: var(--v3-r-pill); border: 1px solid var(--v3-border); background: var(--v3-paper); color: var(--v3-ink); font-weight: 700; min-height: 40px; }
.v3-mkt .pp-nav a:hover, .v3-mkt .pp-nav a[aria-current] { background: var(--v3-ink); color: #fff; border-color: var(--v3-ink); }
.v3-mkt .pp-empty { background: var(--v3-surface); border-left: 4px solid var(--v3-lime); }
.v3-mkt .pp-empty-title { color: var(--v3-ink); font-weight: 800; }
.v3-mkt .pp-hours-row { border-color: var(--v3-border); }
.v3-mkt .esc-status-green { background: var(--v3-lime); color: var(--v3-ink); }
.v3-mkt .pp-track input { border-radius: var(--v3-r-md); border: 1px solid var(--v3-border); min-height: 46px; }
.v3-mkt .pp-cta { border-top: 1px solid var(--v3-border); background: rgba(255, 255, 255, .96); }

.v3-mkt .pp-section { padding-top: 48px; }

/* Category-art hero (no owner photo yet): the generic Escargo illustration sat centred behind the business name and
   the kind-of-business badge. It now sits to the right and fades in, so the identity block is always legible; on a
   phone, where there is no room beside the text, it is dimmed instead. Owner photos are untouched. */
.v3-mkt .pp-hero--art { background: var(--v3-ink); }
.v3-mkt .pp-hero--art .pp-hero-img { left: auto; right: 0; top: 0; bottom: 0; height: 100%; width: auto; aspect-ratio: 16 / 9; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 46%); mask-image: linear-gradient(90deg, transparent 0, #000 46%); }
.v3-mkt .pp-hero--art .pp-hero-overlay { background: linear-gradient(90deg, rgba(19, 42, 34, .5), rgba(19, 42, 34, 0) 70%); }
@media (max-width: 720px) { .v3-mkt .pp-hero--art .pp-hero-img { opacity: .3; } }

/* ═══ BUSINESS COMMERCIAL SITE (opt-in: <body class="eo v3-biz">) ═══════════════════════════════════
   The business pages keep their real copy, real plans and real sign-up links. This layer aligns them with the V3
   system: deep green, lime primary pills, rounded cards, stronger display type, and a sticky comparison header. */
.v3-biz { color: var(--v3-ink); }
.v3-biz .eo-hdr { background: var(--v3-ink); }
.v3-biz .eo-btn { border-radius: var(--v3-r-pill); font-weight: 800; }
.v3-biz .eo-btn-primary { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); }
.v3-biz .eo-btn-primary:hover { background: var(--v3-lime-hover); border-color: var(--v3-lime-hover); color: var(--v3-ink); }
.v3-biz .eo-btn-outline, .v3-biz .eo-btn-ghost { border-radius: var(--v3-r-pill); }
.v3-biz a:focus-visible, .v3-biz button:focus-visible, .v3-biz summary:focus-visible { outline: none; box-shadow: var(--v3-focus); border-radius: var(--v3-r-sm); }
.v3-biz h1 { letter-spacing: -.03em; font-weight: 800; }
.v3-biz h2, .v3-biz .bz-h2 { letter-spacing: -.02em; font-weight: 800; color: var(--v3-ink); }
.v3-biz .bz-kicker, .v3-biz .eo-eyebrow { color: #3F7A10; letter-spacing: .12em; font-weight: 800; }
.v3-biz .bz-hero .bz-kicker, .v3-biz .eo-cta .eo-eyebrow { color: var(--v3-lime); }
.v3-biz .bz-grey { background: var(--v3-surface); }
.v3-biz .bz-card, .v3-biz .bz-seg, .v3-biz .bz-door, .v3-biz .bz-feat, .v3-biz .pr-card, .v3-biz .pr-enterprise, .v3-biz .pr-tablebox, .v3-biz .bz-dtable, .v3-biz .bz-step { border-radius: 24px; border-color: var(--v3-border); }
.v3-biz .bz-card, .v3-biz .bz-seg, .v3-biz .pr-card, .v3-biz .bz-feat { box-shadow: var(--v3-shadow-1); background: var(--v3-paper); }
.v3-biz .bz-chip { border-radius: var(--v3-r-pill); }
/* pricing */
.v3-biz .pr-card { padding-top: 26px; }
.v3-biz .pr-recommended { border: 2px solid var(--v3-ink); box-shadow: var(--v3-shadow-2); }
.v3-biz .pr-price { color: var(--v3-ink); letter-spacing: -.03em; font-weight: 800; }
.v3-biz .pr-badge { border-radius: var(--v3-r-pill); background: var(--v3-raised); color: var(--v3-ink); font-weight: 800; letter-spacing: .08em; }
.v3-biz .pr-badge-lime, .v3-biz .pr-trial { background: var(--v3-lime); color: var(--v3-ink); border-radius: var(--v3-r-pill); font-weight: 800; }
.v3-biz .pr-card .eo-btn { width: 100%; min-height: 50px; }
.v3-biz .pr-enterprise { background: var(--v3-ink) !important; color: #fff; border-color: var(--v3-ink) !important; }
.v3-biz .pr-enterprise h2, .v3-biz .pr-enterprise h3, .v3-biz .pr-enterprise strong, .v3-biz .pr-enterprise b { color: #fff; }
.v3-biz .pr-enterprise p, .v3-biz .pr-enterprise .pr-ent-body { color: #D5E2DA; }
.v3-biz .pr-enterprise .pr-badge { background: rgba(255, 255, 255, .12); color: var(--v3-lime); }
.v3-biz .pr-enterprise .eo-btn { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); }
/* comparison table: the header row stays in view while the plans are compared */
.v3-biz .pr-tablebox { background: var(--v3-paper); border: 1px solid var(--v3-border); }
.v3-biz .pr-table { border-collapse: separate; border-spacing: 0; }
.v3-biz .pr-table thead th { position: sticky; top: var(--v3-sticky-top, 0px); z-index: 4; background: var(--v3-ink); color: #fff; font-weight: 800; box-shadow: 0 1px 0 var(--v3-border); }
.v3-biz .pr-table thead th:first-child { border-top-left-radius: 22px; } .v3-biz .pr-table thead th:last-child { border-top-right-radius: 22px; }
.v3-biz .pr-table tbody th[scope="row"], .v3-biz .pr-table tbody td:first-child { background: var(--v3-paper); }
.v3-biz .pr-table .pr-group th, .v3-biz .pr-table tr.pr-group > * { background: var(--v3-surface); color: #3F7A10; letter-spacing: .1em; font-weight: 800; }
@media (min-width: 960px) { .v3-biz .pr-tablebox { overflow: visible; } }
@media (max-width: 959px) {
  /* on a narrow screen the table scrolls sideways inside its box; the box also scrolls vertically so the header can stay put */
  .v3-biz .pr-tablebox { overflow: auto; max-height: 78vh; -webkit-overflow-scrolling: touch; }
  .v3-biz .pr-table thead th { top: 0; }
  .v3-biz .pr-table tbody th[scope="row"], .v3-biz .pr-table tbody td:first-child, .v3-biz .pr-table thead th:first-child { position: sticky; left: 0; z-index: 3; box-shadow: 1px 0 0 var(--v3-border); }
  .v3-biz .pr-table thead th:first-child { z-index: 5; }
}
.v3-biz .bz-sticky .eo-btn { background: var(--v3-lime); color: var(--v3-ink); border-color: var(--v3-lime); }
.v3-biz .eo-cta { background: var(--v3-ink); }
.v3-biz .eo-foot { background: var(--v3-ink); }
.v3-biz details, .v3-biz .pr-details { border-radius: var(--v3-r-md); }
@media (prefers-reduced-motion: reduce) { .v3-biz * { animation: none !important; transition: none !important; } }
@media (min-width: 960px) { .v3-biz { --v3-sticky-top: 71px; } }
.v3-biz .bz-hero .y, .v3-biz .eo-cta .y { color: var(--v3-lime); }
/* ═══ BUSINESS REFERENCE ADAPTATION (opt-in: <body class="eo v3-biz">) ══════════════════════════════════════════
   Adapts the approved Business reference (package business/dist, measured values) onto the REAL Escargo business shell:
   a floating white pill header with the deep-green logo tile, white heroes with the large two-tone headline, a pill
   kicker, photography as the hero image, soft-green feature cards and white page rhythm. Real copy, real links, real
   mega menus, real plans: only presentation changes. Reference values (1440px): header pill 64px / radius 25 / shadow
   0 5px 24px rgba(23,59,23,.063); logo tile radius 15; h1 72/800/-.05em; h2 50/700/-.04em; kicker pill #E6EFDB on
   #27432E; buttons radius 25. */
.v3-biz { background: var(--v3-paper); --v3-accent: #4B7A22; }
/* ── header: floating white pill ── */
.v3-biz .eo-hdr { position: sticky; top: 0; z-index: 60; background: rgba(255, 255, 255, .93); border: 0; box-shadow: none; padding: 8px 16px 0; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.v3-biz .eo-hdr > .eo-wrap { background: #fff; border-radius: 25px; box-shadow: 0 5px 24px rgba(23, 59, 23, .063); min-height: 64px; max-width: 1200px; margin: 0 auto; padding: 6px 12px 6px 6px; display: flex; align-items: center; gap: 16px; }
.v3-biz .eo-logo { background: var(--v3-ink); border-radius: 15px; padding: 2px 12px; height: 52px; display: inline-flex; align-items: center; flex: 0 0 auto; }
.v3-biz .eo-logo img { height: 32px; width: auto; }
.v3-biz .eo-navwrap { flex: 1 1 auto; display: flex; justify-content: center; }
.v3-biz .eo-navbtn, .v3-biz .eo-nav > li > a { color: var(--v3-muted); font-size: 14px; font-weight: 600; background: transparent; }
.v3-biz .eo-navbtn:hover, .v3-biz .eo-nav > li > a:hover, .v3-biz .eo-navbtn[aria-expanded="true"] { color: var(--v3-ink); }
.v3-biz .eo-hdr .eo-btn { min-height: 44px; padding: 12px 24px; font-size: 14px; }
.v3-biz .eo-hdr .eo-signin, .v3-biz .eo-hdr a[href*="login"]:not(.eo-btn) { color: var(--v3-ink); font-size: 14px; font-weight: 600; }
/* ── hero: white page, large type, pill kicker, photography ── */
.v3-biz .bz-hero, .v3-biz .bz-hero-light, .v3-biz .sol-hero { background: var(--v3-paper); color: var(--v3-ink); padding: 56px 0 44px; }
.v3-biz .bz-hero > .eo-wrap, .v3-biz .sol-hero > .eo-wrap { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: 55px; align-items: center; }
.v3-biz .bz-hero > .eo-wrap.bz-hero-solo, .v3-biz .sol-hero > .eo-wrap:not(:has(.bz-stage, .sol-stage, .v3-hero-photo)) { grid-template-columns: minmax(0, 760px); }
.v3-biz .bz-hero h1, .v3-biz .sol-hero h1 { font-size: clamp(40px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.05em; font-weight: 800; color: var(--v3-ink); }
.v3-biz .bz-hero h1 em, .v3-biz .sol-hero h1 em, .v3-biz .bz-hero h1 .y { color: var(--v3-accent); font-style: normal; }
.v3-biz .bz-hero .eo-lead, .v3-biz .sol-lead, .v3-biz .bz-hero p.eo-lead { color: var(--v3-muted); font-size: 18px; line-height: 1.65; max-width: 470px; }
.v3-biz .bz-hero .bz-kicker, .v3-biz .sol-kicker { display: inline-flex; align-items: center; background: #E6EFDB; color: #27432E; font-size: 11px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; padding: 9px 16px; border-radius: 30px; margin: 0 0 17px; }
.v3-biz .bz-hero .bz-hero-note, .v3-biz .sol-note { color: var(--v3-muted); font-size: 13px; }
.v3-biz .bz-hero .eo-btn-ghost, .v3-biz .sol-hero .eo-btn-ghost, .v3-biz .bz-hero .eo-btn-outline { background: #fff; color: var(--v3-ink); border: 1px solid #C7D0C9; }
.v3-biz .bz-hero .bz-textlink { color: var(--v3-ink); }
/* ── hero image: the supplied photograph with the real product card floating over it ── */
.v3-biz .v3-hero-photo { position: relative; margin: 0; }
.v3-biz .v3-hero-photo > img { display: block; width: 100%; height: 440px; object-fit: cover; border-radius: 20px; }
.v3-biz .v3-hero-photo > figcaption { margin-top: 10px; font-size: 12px; color: var(--v3-muted); }
.v3-biz .v3-hero-photo .bz-stage { position: absolute; left: -28px; right: 36px; bottom: 34px; min-height: 0; padding: 0; background: transparent; box-shadow: none; }
/* ── sections: white rhythm, large h2, soft-green cards ── */
.v3-biz .bz-sec { background: var(--v3-paper); padding-top: 72px; padding-bottom: 72px; }
.v3-biz .bz-sec.bz-grey, .v3-biz .bz-grey, .v3-biz .sol-sec-grey { background: #F3F6F1; }
.v3-biz .bz-sec h2, .v3-biz .bz-head h2, .v3-biz .sol-sec h2, .v3-biz .bz-h2 { font-size: clamp(30px, 3.6vw, 50px); line-height: 1.08; letter-spacing: -.04em; font-weight: 700; color: var(--v3-ink); }
.v3-biz .bz-feat, .v3-biz .sol-out article, .v3-biz .bz-seg { background: #F3F6F1; border: 0; box-shadow: none; border-radius: 18px; }
.v3-biz .bz-grey .bz-feat, .v3-biz .sol-sec-grey .sol-out article { background: #fff; }
@media (max-width: 960px) {
  .v3-biz .bz-hero > .eo-wrap, .v3-biz .sol-hero > .eo-wrap { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .v3-biz .bz-hero, .v3-biz .sol-hero { padding: 36px 0 28px; }
  .v3-biz .v3-hero-photo > img { height: 300px; }
  .v3-biz .v3-hero-photo .bz-stage { position: static; margin-top: -48px; padding: 0 12px; }
  .v3-biz .eo-hdr { padding: 6px 8px 0; }
}
/* the product illustration that used to sit in the hero now has its own section directly below it */
.v3-biz .v3-stage-sec { background: #F3F6F1; padding: 40px 0 56px; }
.v3-biz .v3-stage-sec .bz-stage { margin: 0 auto; max-width: 980px; }
/* the older stylesheets paint these heroes with gradients; the approved reference is plain white */
.v3-biz .bz-hero, .v3-biz .bz-hero-light, .v3-biz .sol-hero { background: var(--v3-paper) !important; background-image: none !important; }
.v3-biz .v3-stage-sec .bz-stage { max-width: 560px; }
.v3-biz .sol-hero > .eo-wrap { max-width: 1200px; }
.v3-biz .sol-hero h1 { font-size: clamp(40px, 5.2vw, 72px); font-weight: 800; letter-spacing: -.05em; line-height: 1.04; max-width: 11ch; margin: 0 0 20px; }
.v3-biz .sol-hero h1 em { color: var(--v3-accent); }
.v3-biz .sol-hero .sol-lead { color: var(--v3-muted); font-size: 18px; max-width: 470px; }
.v3-biz .sol-hero .eo-btn-primary { background: var(--v3-lime); color: var(--v3-ink); }
/* specificity: the older shell stylesheets colour the header and heroes for a dark band; the approved reference is light */
body.v3-biz .eo-hdr .eo-navbtn, body.v3-biz .eo-hdr .eo-nav > li > a, body.v3-biz .eo-hdr .eo-navbtn[aria-current="page"] { color: #5C6962; }
body.v3-biz .eo-hdr .eo-navbtn:hover, body.v3-biz .eo-hdr .eo-nav > li > a:hover, body.v3-biz .eo-hdr .eo-nav > li[data-open="true"] .eo-navbtn, body.v3-biz .eo-hdr .eo-navbtn[aria-expanded="true"] { color: #132A22; }
body.v3-biz .eo-hdr .eo-hdr-cta .login { color: #132A22; font-weight: 600; }
body.v3-biz .sol-hero h1 { color: #132A22 !important; } body.v3-biz .sol-hero h1 em { color: #4B7A22 !important; }
body.v3-biz .sol-hero .sol-lead, body.v3-biz .sol-hero .sol-note, body.v3-biz .sol-hero p { color: #5C6962 !important; }
body.v3-biz .sol-hero .sol-kicker { color: #27432E !important; background: #E6EFDB !important; }
body.v3-biz .sol-hero .eo-btn-ghost { color: #132A22 !important; background: #fff !important; border: 1px solid #C7D0C9 !important; }
body.v3-biz .sol-hero .eo-btn-primary { background: #BCF35A !important; color: #132A22 !important; }
/* header band + button glow left by the older shell stylesheets */
body.v3-biz .eo-hdr { background: rgba(255, 255, 255, .93) !important; border-bottom: 0 !important; }
body.v3-biz .eo-btn-primary, body.v3-biz .eo-hdr .eo-btn { box-shadow: none !important; }
/* Business home: centred headline, photograph with the real booking card floating over it (reference composition) */
.v3-biz .v3-hero-center { padding-bottom: 72px; }
.v3-biz .v3-hero-center > .eo-wrap { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.v3-biz .v3-hero-center h1 { max-width: 20ch; font-size: clamp(44px, 6.4vw, 80px); margin-left: auto; margin-right: auto; }
.v3-biz .v3-hero-center .eo-lead, .v3-biz .v3-hero-center .bz-hero-note { margin-left: auto; margin-right: auto; }
.v3-biz .v3-hero-center .eo-hero-ctas { justify-content: center; }
.v3-biz .v3-hero-center .v3-hero-photo { width: min(900px, 100%); margin-top: 32px; text-align: left; }
.v3-biz .v3-hero-center .v3-hero-photo::before { content: ''; position: absolute; left: -44px; top: -36px; width: 160px; height: 220px; border: 36px solid var(--v3-lime); border-right-color: transparent; border-bottom-color: transparent; border-radius: 100px; z-index: 0; }
.v3-biz .v3-hero-center .v3-hero-photo > img { position: relative; z-index: 1; height: 480px; }
.v3-biz .v3-hero-center .bz-stage { position: absolute; left: -26px; bottom: -26px; width: min(340px, 78%); z-index: 2; }
.v3-biz .v3-hero-center .v3-hero-photo > figcaption { position: absolute; right: 12px; bottom: 8px; color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); margin: 0; z-index: 3; }
@media (max-width: 960px) { .v3-biz .v3-hero-center .v3-hero-photo::before { display: none; } .v3-biz .v3-hero-center .v3-hero-photo > img { height: 320px; } .v3-biz .v3-hero-center .bz-stage { position: static; width: 100%; margin-top: -40px; padding: 0 12px; } }
@media (max-width: 960px) { .v3-biz .v3-hero-center .v3-hero-photo > figcaption { position: static; color: var(--v3-muted); text-shadow: none; margin-top: 8px; } }
body.v3-biz .bz-hero h1, body.v3-biz .bz-hero h1 .y { color: #132A22 !important; } body.v3-biz .bz-hero h1 em { color: #4B7A22 !important; }
body.v3-biz .bz-hero .eo-lead, body.v3-biz .bz-hero p { color: #5C6962 !important; }
body.v3-biz .bz-hero::before, body.v3-biz .bz-hero::after { display: none !important; }
body.v3-biz .bz-hero .bz-kicker { color: #27432E !important; background: #E6EFDB !important; }
body.v3-biz .bz-hero .eo-btn-ghost { color: #132A22 !important; background: #fff !important; border: 1px solid #C7D0C9 !important; }
.v3-biz .v3-hero-center .bz-stage .bz-card:not(.bz-toast) { display: none; }
.v3-biz .v3-hero-center .bz-stage .bz-toast { position: static; width: 100%; max-width: none; transform: none; margin: 0; }
body.v3-biz .bz-hero h1, body.v3-biz .sol-hero h1 { font-size: clamp(40px, 5.2vw, 72px) !important; line-height: 1.04 !important; letter-spacing: -.05em !important; font-weight: 800 !important; }
body.v3-biz .v3-hero-center h1 { max-width: 22ch !important; font-size: clamp(44px, 6.2vw, 80px) !important; }
body.v3-biz .sol-hero .sol-kicker, body.v3-biz .bz-hero .bz-kicker { display: inline-flex !important; width: fit-content; justify-self: start; }
body.v3-biz .sol-hero h1 { max-width: 14ch !important; }
body.v3-biz .v3-hero-center .bz-kicker { justify-self: center; }
body.v3-biz .eo-burger { color: #132A22; border: 1px solid #D8E1D3; background: #fff; border-radius: 14px; }
body.v3-biz .eo-burger svg { stroke: #132A22; color: #132A22; }
body.v3-biz .eo-hdr.eo-open .eo-nav { background: #fff; border-radius: 18px; box-shadow: 0 12px 40px rgba(19, 42, 34, .16); }
/* phone header: logo tile, call to action and menu button must share 375px without overflow */
@media (max-width: 520px) {
  body.v3-biz .eo-hdr { padding: 6px 8px 0; }
  body.v3-biz .eo-hdr > .eo-wrap { padding: 4px 8px 4px 4px; gap: 6px; min-height: 56px; }
  body.v3-biz .eo-logo { height: 44px; padding: 2px 8px; border-radius: 13px; }
  body.v3-biz .eo-logo img { height: 26px; }
  body.v3-biz .eo-hdr-cta { gap: 4px; min-width: 0; }
  body.v3-biz .eo-hdr-cta .login { display: none; }
  body.v3-biz .eo-hdr-cta .eo-btn, body.v3-biz .eo-hdr .eo-btn { min-width: 0 !important; padding: 8px 12px !important; min-height: 40px; height: 40px; font-size: 13px !important; }
  body.v3-biz .eo-burger { min-width: 40px; min-height: 40px; }
}
