/* =========================================================================
   ICO VISUAL REFRESH (founder brief, 2026-10-05; docs/design-system.md)
   Quiet, warm and human. Navy ink, one green accent, hairline borders,
   Inter for text and headings, radii 6 / 10 / 14, a 4px spacing grid.

   SCOPE: every rule below starts with html:not(.ico-embed-avrei), so the
   American Valor REI embed (public/css/embed-av-rei.css) renders exactly as
   before. Visual only: no field, step, copy or behaviour changes here.
   ========================================================================= */

/* Inter under its own family name, so the AV REI embed (whose fallback stack
   names "Inter") never picks it up. A face only downloads when used. */
@font-face {
  font-family: 'ICO Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'ICO Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Tokens ------------------------------------------------------------- */
html:not(.ico-embed-avrei) {
  --ico-page: #f7f5f1;
  --ico-surface: #ffffff;
  --ico-sunken: #f1eee8;
  --ico-ink: #142235;
  --ico-muted: #4a5662;
  --ico-subtle: #6b7580;
  --ico-line: #e6e1d8;
  --ico-line-strong: #d4cec3;
  --ico-accent: #176b52;
  --ico-accent-hover: #0f513f;
  --ico-accent-soft: #eef5f1;
  --ico-danger: #a33a3a;
  --ico-r-sm: 6px;
  --ico-r-md: 10px;
  --ico-r-lg: 14px;
  --ico-font: 'ICO Inter', Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Re-point the legacy layer's tokens at the refresh palette. */
  --font-body: var(--ico-font);
  --font-display: var(--ico-font);
  --trust-navy: var(--ico-ink);
  --trust-green: var(--ico-accent);
  --trust-green-dark: var(--ico-accent-hover);
  --trust-warm: var(--ico-page);
  --trust-white: var(--ico-surface);
  --trust-panel: var(--ico-sunken);
  --trust-sage: var(--ico-sunken);
  --trust-muted: var(--ico-muted);
  --trust-border: var(--ico-line);
  --trust-radius-sm: var(--ico-r-sm);
  --trust-radius-md: var(--ico-r-md);
  --trust-radius-lg: var(--ico-r-lg);
  --trust-shadow: none;
  --ink: var(--ico-ink);
  --ink-dim: var(--ico-muted);
  --line: var(--ico-line);
  --accent: var(--ico-accent);
  --glow: transparent;
  scroll-padding-top: 80px;
}

html:not(.ico-embed-avrei),
html:not(.ico-embed-avrei) body {
  background: var(--ico-page) !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html:not(.ico-embed-avrei) body { line-height: 1.6; }

html:not(.ico-embed-avrei) ::selection { background: #d5e6dc; color: var(--ico-ink); }

/* One focus treatment everywhere: a 2px accent outline. */
html:not(.ico-embed-avrei) a:focus-visible,
html:not(.ico-embed-avrei) button:focus-visible,
html:not(.ico-embed-avrei) select:focus-visible,
html:not(.ico-embed-avrei) textarea:focus-visible,
html:not(.ico-embed-avrei) input[type="checkbox"]:focus-visible,
html:not(.ico-embed-avrei) input[type="radio"]:focus-visible,
html:not(.ico-embed-avrei) [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid var(--ico-accent) !important;
  outline-offset: 2px !important;
}
/* Step headings take focus programmatically (for screen readers); they are not
   controls, so no ring. */
html:not(.ico-embed-avrei) [tabindex="-1"]:focus,
html:not(.ico-embed-avrei) [tabindex="-1"]:focus-visible { outline: none !important; }

html:not(.ico-embed-avrei) .skip-link {
  background: var(--ico-ink) !important;
  border-radius: 0 0 var(--ico-r-md) var(--ico-r-md) !important;
}

html:not(.ico-embed-avrei) .container {
  width: min(100% - 48px, 1120px) !important;
  padding-inline: 0 !important;
}
html:not(.ico-embed-avrei) .hero-v3-inner { padding-left: 0 !important; }

/* ---- Type --------------------------------------------------------------- */
html:not(.ico-embed-avrei) h1,
html:not(.ico-embed-avrei) h2,
html:not(.ico-embed-avrei) h3,
html:not(.ico-embed-avrei) h4 { font-family: var(--ico-font) !important; }

html:not(.ico-embed-avrei) .section-kicker,
html:not(.ico-embed-avrei) .hero-v3-eyebrow {
  margin: 0 0 12px !important;
  color: var(--ico-accent) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}
html:not(.ico-embed-avrei) .section-kicker::before,
html:not(.ico-embed-avrei) .hero-v3-eyebrow::before { display: none !important; }

html:not(.ico-embed-avrei) .v2-heading,
html:not(.ico-embed-avrei) .form-section .v2-heading,
html:not(.ico-embed-avrei) .faq .v2-heading,
html:not(.ico-embed-avrei) .areas-v2 .v2-heading,
html:not(.ico-embed-avrei) .process-v2 .v2-heading {
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: clamp(30px, 3.2vw, 40px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
}

html:not(.ico-embed-avrei) .v2-sub,
html:not(.ico-embed-avrei) .form-section .v2-sub,
html:not(.ico-embed-avrei) .faq .v2-sub,
html:not(.ico-embed-avrei) .areas-v2 .v2-sub {
  margin-top: 12px !important;
  color: var(--ico-muted) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

/* ---- Header ------------------------------------------------------------- */
html:not(.ico-embed-avrei) .header,
html:not(.ico-embed-avrei) .header.header--v2,
html:not(.ico-embed-avrei) .header.header--v2.scrolled {
  background: var(--ico-page) !important;
  border-bottom: 1px solid var(--ico-line) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html:not(.ico-embed-avrei) .header-inner { min-height: 68px !important; padding-block: 12px !important; }

html:not(.ico-embed-avrei) .header .logo-mark,
html:not(.ico-embed-avrei) .logo-mark {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  filter: none !important;
}
html:not(.ico-embed-avrei) .logo { gap: 12px !important; }
html:not(.ico-embed-avrei) .header .logo-name,
html:not(.ico-embed-avrei) .logo-name,
html:not(.ico-embed-avrei) .footer-v2-wordmark {
  font-family: var(--ico-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}
html:not(.ico-embed-avrei) .header .logo-tagline,
html:not(.ico-embed-avrei) .header--v2 .logo-tagline,
html:not(.ico-embed-avrei) .logo-tagline,
html:not(.ico-embed-avrei) .footer-v2-brand .logo-tagline {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html:not(.ico-embed-avrei) .nav.nav--v2,
html:not(.ico-embed-avrei) .nav { gap: 28px !important; }
html:not(.ico-embed-avrei) .nav.nav--v2 a,
html:not(.ico-embed-avrei) .nav a {
  color: var(--ico-muted) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
html:not(.ico-embed-avrei) .nav.nav--v2 a:hover,
html:not(.ico-embed-avrei) .nav a:hover { color: var(--ico-ink) !important; }
html:not(.ico-embed-avrei) .nav.nav--v2 a::after,
html:not(.ico-embed-avrei) .nav a::after { display: none !important; }

/* Primary buttons: one accent, flat, 10px radius. */
html:not(.ico-embed-avrei) .nav.nav--v2 a.btn-nav,
html:not(.ico-embed-avrei) .mobile-nav a.btn-nav,
html:not(.ico-embed-avrei) .btn-v3-primary,
html:not(.ico-embed-avrei) .btn-primary,
html:not(.ico-embed-avrei) .form-wrapper .btn-primary,
html:not(.ico-embed-avrei) .form-wrapper .btn-step,
html:not(.ico-embed-avrei) .mobile-sticky-cta .msc-btn {
  background: var(--ico-accent) !important;
  background-image: none !important;
  border: 1px solid var(--ico-accent) !important;
  border-radius: var(--ico-r-md) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-family: var(--ico-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
html:not(.ico-embed-avrei) .nav.nav--v2 a.btn-nav:hover,
html:not(.ico-embed-avrei) .mobile-nav a.btn-nav:hover,
html:not(.ico-embed-avrei) .btn-v3-primary:hover,
html:not(.ico-embed-avrei) .btn-primary:hover,
html:not(.ico-embed-avrei) .form-wrapper .btn-primary:hover,
html:not(.ico-embed-avrei) .form-wrapper .btn-step:hover,
html:not(.ico-embed-avrei) .mobile-sticky-cta .msc-btn:hover {
  background: var(--ico-accent-hover) !important;
  border-color: var(--ico-accent-hover) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .nav.nav--v2 a.btn-nav,
html:not(.ico-embed-avrei) .nav a.btn-nav {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  font-size: 14px !important;
}

html:not(.ico-embed-avrei) .mobile-menu-btn {
  width: 44px !important;
  height: 44px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-md) !important;
  box-shadow: none !important;
  color: var(--ico-ink) !important;
}
html:not(.ico-embed-avrei) .mobile-nav {
  background: var(--ico-surface) !important;
  border-top: 1px solid var(--ico-line) !important;
  box-shadow: 0 8px 24px rgba(20, 34, 53, 0.08) !important;
}
html:not(.ico-embed-avrei) .mobile-nav a {
  min-height: 48px;
  color: var(--ico-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  border-bottom-color: var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .mobile-nav a.btn-nav {
  justify-content: center !important;
  margin-top: 12px;
}

/* ---- Hero --------------------------------------------------------------- */
html:not(.ico-embed-avrei) .hero-v3 {
  padding: clamp(64px, 9vw, 112px) 0 clamp(56px, 7vw, 88px) !important;
  background: var(--ico-page) !important;
  border-bottom: 0 !important;
}
html:not(.ico-embed-avrei) .hero-v3::before,
html:not(.ico-embed-avrei) .hero-v3::after,
html:not(.ico-embed-avrei) .hero-v3-mesh { display: none !important; }

html:not(.ico-embed-avrei) .hero-v3-inner {
  padding-right: 0 !important;
  max-width: 1120px !important;
}
html:not(.ico-embed-avrei) .hero-v3-title {
  max-width: 14em !important;
  margin: 0 0 20px !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: clamp(40px, 5.4vw, 68px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.04 !important;
}
html:not(.ico-embed-avrei) .hero-v3-title .h3-light,
html:not(.ico-embed-avrei) .hero-v3-title .h3-heavy {
  color: var(--ico-ink) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: inherit !important;
  font-style: normal !important;
}
html:not(.ico-embed-avrei) .hero-v3-title .h3-heavy { color: var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .hero-v3-sub {
  max-width: 36em !important;
  margin: 0 0 32px !important;
  color: var(--ico-muted) !important;
  font-size: clamp(17px, 1.4vw, 19px) !important;
  line-height: 1.6 !important;
}
html:not(.ico-embed-avrei) .hero-v3-cta { margin: 0 0 32px !important; }
html:not(.ico-embed-avrei) .btn-v3-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  font-size: 16px !important;
}
html:not(.ico-embed-avrei) .btn-v3-primary .btn-v3-arrow {
  font-family: var(--ico-font) !important;
  transform: none !important;
}

html:not(.ico-embed-avrei) .hero-v3-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ico-muted) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
html:not(.ico-embed-avrei) .hero-v3-stats li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html:not(.ico-embed-avrei) .hero-v3-stats li::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  margin-right: 6px !important;
  border-radius: 999px !important;
  background: var(--ico-accent) !important;
}
html:not(.ico-embed-avrei) .hero-v3-stats .num {
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ---- Process ------------------------------------------------------------ */
html:not(.ico-embed-avrei) .process-v2 {
  padding: clamp(64px, 8vw, 104px) 0 !important;
  background: var(--ico-surface) !important;
  border-top: 1px solid var(--ico-line) !important;
  border-bottom: 1px solid var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .process-v2 .process-steps { max-width: none !important; }
html:not(.ico-embed-avrei) .process-v2 .v2-steps {
  margin: 32px 0 0 !important;
  border-top: 1px solid var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .process-v2 .v2-steps > li {
  grid-template-columns: 48px 1fr !important;
  align-items: start !important;
  gap: 16px !important;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .process-v2 .v2-step-num {
  padding-top: 2px;
  color: var(--ico-subtle) !important;
  font-family: var(--ico-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}
html:not(.ico-embed-avrei) .process-v2 .v2-steps h3 {
  margin: 0 0 4px !important;
  color: var(--ico-ink) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}
html:not(.ico-embed-avrei) .process-v2 .v2-steps p {
  margin: 0 !important;
  color: var(--ico-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

@media (min-width: 960px) {
  html:not(.ico-embed-avrei) .process-v2 .process-steps {
    display: grid !important;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-rows: auto 1fr;
    column-gap: 64px;
  }
  html:not(.ico-embed-avrei) .process-v2 .process-steps > .section-kicker { grid-column: 1; grid-row: 1; }
  html:not(.ico-embed-avrei) .process-v2 .process-steps > .v2-heading { grid-column: 1; grid-row: 2; align-self: start; }
  html:not(.ico-embed-avrei) .process-v2 .process-steps > .v2-steps {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0 !important;
  }
  html:not(.ico-embed-avrei) .process-v2 .v2-steps > li:first-child { padding-top: 24px !important; }
}

/* ---- Form section ------------------------------------------------------- */
html:not(.ico-embed-avrei) .form-section {
  padding: clamp(64px, 8vw, 104px) 0 !important;
  background: var(--ico-sunken) !important;
  border: 0 !important;
}
html:not(.ico-embed-avrei) .form-section-header--v2 { margin: 0 auto 40px !important; max-width: 640px !important; }

html:not(.ico-embed-avrei) .form-wrapper {
  max-width: 800px !important;
  padding: 32px 40px 40px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-lg) !important;
  box-shadow: 0 1px 2px rgba(20, 34, 53, 0.04) !important;
}

/* Step track */
html:not(.ico-embed-avrei) .form-wrapper .step-track {
  margin: 0 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html:not(.ico-embed-avrei) .sti-dot {
  width: 28px !important;
  height: 28px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line-strong) !important;
  box-shadow: none !important;
  color: var(--ico-subtle) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
html:not(.ico-embed-avrei) .step-indicator.active .sti-dot,
html:not(.ico-embed-avrei) .step-indicator.completed .sti-dot {
  background: var(--ico-accent) !important;
  border-color: var(--ico-accent) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .sti-label {
  color: var(--ico-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html:not(.ico-embed-avrei) .step-indicator.active .sti-label { color: var(--ico-ink) !important; font-weight: 600 !important; }
html:not(.ico-embed-avrei) .sti-line { height: 1px !important; background: var(--ico-line) !important; }
html:not(.ico-embed-avrei) .step-indicator.completed + .sti-line { background: var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .progress-bar-wrap {
  height: 2px !important;
  margin: 0 !important;
  background: var(--ico-line) !important;
  border-radius: 0 !important;
}
html:not(.ico-embed-avrei) .progress-bar {
  background: var(--ico-accent) !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html:not(.ico-embed-avrei) .form-step {
  padding: 32px 0 0 !important;
  background: transparent !important;
}
html:not(.ico-embed-avrei) .step-header { margin-bottom: 24px !important; }
html:not(.ico-embed-avrei) .step-header h3,
html:not(.ico-embed-avrei) .v2-mid-heading {
  margin: 0 !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
}
html:not(.ico-embed-avrei) .v2-mid-heading { font-size: 18px !important; }
html:not(.ico-embed-avrei) .step-header p {
  margin: 4px 0 0 !important;
  color: var(--ico-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
html:not(.ico-embed-avrei) .step-header--mid {
  margin-top: 32px !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--ico-line) !important;
}

html:not(.ico-embed-avrei) .form-grid,
html:not(.ico-embed-avrei) .form-grid--step2 {
  gap: 20px 16px !important;
  margin-bottom: 20px !important;
}
html:not(.ico-embed-avrei) .form-group { gap: 6px !important; }
html:not(.ico-embed-avrei) .form-grid--slim.autofill-revealed .form-group--autofill {
  display: flex !important;
  flex-direction: column !important;
}

/* Labels read in sentence case ("First name *") without touching markup. */
html:not(.ico-embed-avrei) .form-wrapper .form-group > label:not(.consent-label):not(.condition-card) {
  display: block !important;
  color: var(--ico-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-transform: lowercase !important;
}
html:not(.ico-embed-avrei) .form-wrapper .form-group > label:not(.consent-label):not(.condition-card)::first-letter {
  text-transform: uppercase !important;
}

html:not(.ico-embed-avrei) .form-wrapper input[type="text"],
html:not(.ico-embed-avrei) .form-wrapper input[type="number"],
html:not(.ico-embed-avrei) .form-wrapper input[type="email"],
html:not(.ico-embed-avrei) .form-wrapper input[type="tel"],
html:not(.ico-embed-avrei) .form-wrapper select,
html:not(.ico-embed-avrei) .form-group input:not([type="checkbox"]):not([type="radio"]),
html:not(.ico-embed-avrei) .form-group select {
  min-height: 48px !important;
  height: 48px;
  padding: 0 14px !important;
  background-color: var(--ico-surface) !important;
  border: 1px solid var(--ico-line-strong) !important;
  border-radius: var(--ico-r-sm) !important;
  box-shadow: none !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
html:not(.ico-embed-avrei) .form-wrapper select,
html:not(.ico-embed-avrei) .form-group select {
  -webkit-appearance: none !important;
  appearance: none !important;
  padding-right: 40px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a5662' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
}
html:not(.ico-embed-avrei) .form-wrapper input::placeholder { color: #8a929a !important; opacity: 1; }
html:not(.ico-embed-avrei) .form-wrapper input:not([type="checkbox"]):not([type="radio"]):hover,
html:not(.ico-embed-avrei) .form-wrapper select:hover { border-color: #b9b2a6 !important; }
html:not(.ico-embed-avrei) .form-wrapper input:not([type="checkbox"]):not([type="radio"]):focus,
html:not(.ico-embed-avrei) .form-wrapper select:focus {
  outline: none !important;
  border-color: var(--ico-accent) !important;
  box-shadow: 0 0 0 1px var(--ico-accent) !important;
}
html:not(.ico-embed-avrei) .form-wrapper input.error:not([type="checkbox"]):not([type="radio"]),
html:not(.ico-embed-avrei) .form-wrapper input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]),
html:not(.ico-embed-avrei) .form-wrapper select.error,
html:not(.ico-embed-avrei) .form-wrapper select[aria-invalid="true"] {
  border-color: var(--ico-danger) !important;
  box-shadow: 0 0 0 1px var(--ico-danger) !important;
}
html:not(.ico-embed-avrei) .error-msg {
  min-height: 0 !important;
  color: var(--ico-danger) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
html:not(.ico-embed-avrei) .error-msg:empty { display: none !important; }

html:not(.ico-embed-avrei) .field-note,
html:not(.ico-embed-avrei) .address-helper {
  color: var(--ico-subtle) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
html:not(.ico-embed-avrei) .address-helper:empty { display: none !important; }
html:not(.ico-embed-avrei) .address-clear-btn {
  margin-top: 2px !important;
  padding: 4px 0 !important;
  color: var(--ico-subtle) !important;
  font-size: 13px !important;
  opacity: 1 !important;
  text-underline-offset: 3px;
}
html:not(.ico-embed-avrei) .address-clear-btn:hover { color: var(--ico-ink) !important; }
html:not(.ico-embed-avrei) .form-grid-note { margin: 0 !important; font-size: 14px !important; }
html:not(.ico-embed-avrei) .form-reveal-toggle {
  padding: 4px 0 !important;
  color: var(--ico-accent) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Address suggestions: the one place a soft shadow earns its keep. */
html:not(.ico-embed-avrei) .address-suggestions {
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-md) !important;
  box-shadow: 0 8px 24px rgba(20, 34, 53, 0.08) !important;
  background: var(--ico-surface) !important;
}
html:not(.ico-embed-avrei) .address-suggestion {
  color: var(--ico-ink) !important;
  border-color: var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .address-suggestion:hover,
html:not(.ico-embed-avrei) .address-suggestion.active,
html:not(.ico-embed-avrei) .address-suggestion[aria-selected="true"] { background: var(--ico-page) !important; }
html:not(.ico-embed-avrei) .address-suggestion-line2 { color: var(--ico-subtle) !important; }

html:not(.ico-embed-avrei) .address-confirm {
  padding: 12px 16px !important;
  background: #fbf6ec !important;
  border: 1px solid #e8d7b5 !important;
  border-radius: var(--ico-r-md) !important;
}
html:not(.ico-embed-avrei) .address-confirm-hint { color: var(--ico-muted) !important; opacity: 1 !important; font-size: 13px !important; }
html:not(.ico-embed-avrei) .address-confirm-label { font-weight: 500 !important; font-size: 14px !important; color: var(--ico-ink) !important; }
html:not(.ico-embed-avrei) .address-confirm-label input[type="checkbox"] { accent-color: var(--ico-accent) !important; }

/* Consent */
html:not(.ico-embed-avrei) .form-consent-group,
html:not(.ico-embed-avrei) .form-wrapper .form-consent-group {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .consent-label,
html:not(.ico-embed-avrei) .form-wrapper .consent-label {
  gap: 12px !important;
  padding: 16px !important;
  background: var(--ico-page) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-md) !important;
  color: var(--ico-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
  text-transform: none !important;
}
html:not(.ico-embed-avrei) .consent-checkbox,
html:not(.ico-embed-avrei) .consent-label input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 1px 0 0 !important;
  accent-color: var(--ico-accent) !important;
}
html:not(.ico-embed-avrei) .consent-label a,
html:not(.ico-embed-avrei) .form-privacy a {
  color: var(--ico-accent) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Actions */
html:not(.ico-embed-avrei) .form-actions {
  gap: 12px !important;
  margin-top: 24px !important;
  padding-top: 0 !important;
}
html:not(.ico-embed-avrei) .btn-primary,
html:not(.ico-embed-avrei) .btn-outline,
html:not(.ico-embed-avrei) .btn-ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: var(--ico-r-md) !important;
  font-family: var(--ico-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .btn-outline,
html:not(.ico-embed-avrei) .btn-ghost {
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line-strong) !important;
  color: var(--ico-ink) !important;
}
html:not(.ico-embed-avrei) .btn-outline:hover,
html:not(.ico-embed-avrei) .btn-ghost:hover {
  background: var(--ico-page) !important;
  border-color: #b9b2a6 !important;
  transform: none !important;
}
html:not(.ico-embed-avrei) .form-privacy {
  color: var(--ico-subtle) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
html:not(.ico-embed-avrei) #step2 .form-actions {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Condition cards: calm list, sentence case, one selected state. */
html:not(.ico-embed-avrei) .condition-cards { gap: 8px !important; }
html:not(.ico-embed-avrei) .condition-card,
html:not(.ico-embed-avrei) .condition-card * {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
html:not(.ico-embed-avrei) .condition-card-inner {
  padding: 16px 12px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-md) !important;
  box-shadow: none !important;
  color: var(--ico-ink) !important;
  font-weight: 400 !important;
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
}
html:not(.ico-embed-avrei) .condition-card:hover .condition-card-inner {
  border-color: var(--ico-line-strong) !important;
  transform: none !important;
}
html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner {
  background: var(--ico-accent-soft) !important;
  border-color: var(--ico-accent) !important;
  box-shadow: inset 0 0 0 1px var(--ico-accent) !important;
}
html:not(.ico-embed-avrei) .condition-card input:focus-visible + .condition-card-inner {
  outline: 2px solid var(--ico-accent) !important;
  outline-offset: 2px !important;
}
html:not(.ico-embed-avrei) .condition-card-inner .cond-icon {
  width: 32px !important;
  height: 32px !important;
  margin-bottom: 8px !important;
  background: none !important;
  color: var(--ico-subtle) !important;
}
html:not(.ico-embed-avrei) .condition-card-inner .cond-icon svg { width: 28px !important; height: 28px !important; }
html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner .cond-icon { color: var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .cond-stars {
  color: #9aa1a8 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
html:not(.ico-embed-avrei) .cond-stars span { color: var(--ico-subtle) !important; }
html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner .cond-stars { color: var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .condition-card-inner h4 {
  margin: 0 0 4px !important;
  color: var(--ico-ink) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
html:not(.ico-embed-avrei) .condition-card-inner p {
  color: var(--ico-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
html:not(.ico-embed-avrei) .cond-badge {
  padding: 2px 8px !important;
  background: var(--ico-sunken) !important;
  border: 0 !important;
  border-radius: var(--ico-r-sm) !important;
  color: var(--ico-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner .cond-badge {
  background: var(--ico-surface) !important;
  color: var(--ico-accent) !important;
}
html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner::after,
html:not(.ico-embed-avrei) .condition-card input:checked ~ .condition-card-inner::after {
  background: var(--ico-accent) !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .condition-more-btn {
  min-height: 48px !important;
  padding: 8px 16px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line-strong) !important;
  border-radius: var(--ico-r-md) !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
}
html:not(.ico-embed-avrei) .condition-more-btn .cmb-label { font-size: 15px !important; font-weight: 600 !important; }
html:not(.ico-embed-avrei) .condition-more-btn .cmb-hint { color: var(--ico-subtle) !important; font-size: 13px !important; }

html:not(.ico-embed-avrei) .step2-rescue {
  background: var(--ico-page) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-md) !important;
  box-shadow: none !important;
  color: var(--ico-muted) !important;
}

/* Step 3 shell around the chat (inline styles in index.html, hence !important). */
html:not(.ico-embed-avrei) #step3 .step3-head { padding: 0 0 4px !important; }
html:not(.ico-embed-avrei) #step3 .step3-back,
html:not(.ico-embed-avrei) #step3 .step3-restart {
  min-height: 40px !important;
  padding: 0 14px !important;
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line-strong) !important;
  border-radius: var(--ico-r-md) !important;
  color: var(--ico-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
html:not(.ico-embed-avrei) #step3 .step3-back:hover,
html:not(.ico-embed-avrei) #step3 .step3-restart:hover { background: var(--ico-page) !important; }
html:not(.ico-embed-avrei) #step3 .step3-title {
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}
html:not(.ico-embed-avrei) #step3 .step3-addr { color: var(--ico-subtle) !important; font-size: 14px !important; }
html:not(.ico-embed-avrei) #step3 .step3-iframe {
  border: 1px solid var(--ico-line-strong) !important;
  border-radius: var(--ico-r-lg) !important;
  box-shadow: none !important;
}

/* Legacy results markup (kept for safety; step 3 renders the chat). */
html:not(.ico-embed-avrei) .offer-card,
html:not(.ico-embed-avrei) .offer-decision,
html:not(.ico-embed-avrei) .market-breakdown,
html:not(.ico-embed-avrei) .offer-insights {
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-lg) !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .cash-card--featured { border-top: 1px solid var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .offer-range { font-variant-numeric: tabular-nums; }

/* ---- Dialogs and overlays ----------------------------------------------- */
html:not(.ico-embed-avrei) .loading-overlay,
html:not(.ico-embed-avrei) .modal-overlay,
html:not(.ico-embed-avrei) .legal-modal-overlay {
  background: rgba(20, 34, 53, 0.5) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html:not(.ico-embed-avrei) .loading-box,
html:not(.ico-embed-avrei) .modal,
html:not(.ico-embed-avrei) .legal-modal {
  background: var(--ico-surface) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-lg) !important;
  box-shadow: 0 16px 40px rgba(20, 34, 53, 0.14) !important;
  color: var(--ico-ink) !important;
}
html:not(.ico-embed-avrei) .legal-modal-head { border-bottom-color: var(--ico-line) !important; }
html:not(.ico-embed-avrei) .loading-title,
html:not(.ico-embed-avrei) .modal h3,
html:not(.ico-embed-avrei) .legal-modal h3 {
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}
html:not(.ico-embed-avrei) .modal p,
html:not(.ico-embed-avrei) .loading-steps,
html:not(.ico-embed-avrei) .legal-modal-body { color: var(--ico-muted) !important; }
html:not(.ico-embed-avrei) .modal-close,
html:not(.ico-embed-avrei) .legal-modal-close {
  min-width: 44px;
  min-height: 44px;
  border-radius: var(--ico-r-md) !important;
  color: var(--ico-ink) !important;
}

/* ---- FAQ ---------------------------------------------------------------- */
html:not(.ico-embed-avrei) .faq.faq--v2,
html:not(.ico-embed-avrei) .faq {
  padding: clamp(64px, 8vw, 104px) 0 !important;
  background: var(--ico-page) !important;
}
html:not(.ico-embed-avrei) .faq .faq-item {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ico-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html:not(.ico-embed-avrei) .faq .faq-item:first-child { border-top: 1px solid var(--ico-line) !important; }
html:not(.ico-embed-avrei) .faq .faq-item.open { background: transparent !important; }
html:not(.ico-embed-avrei) .faq .faq-q {
  min-height: 64px !important;
  padding: 20px 0 !important;
  color: var(--ico-ink) !important;
  font-family: var(--ico-font) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  text-align: left !important;
}
html:not(.ico-embed-avrei) .faq .faq-q:hover { color: var(--ico-accent) !important; }
html:not(.ico-embed-avrei) .faq .faq-icon {
  color: var(--ico-subtle) !important;
  font-weight: 400 !important;
  font-size: 20px !important;
}
html:not(.ico-embed-avrei) .faq .faq-a { padding: 0 32px 20px 0 !important; }
html:not(.ico-embed-avrei) .faq .faq-a,
html:not(.ico-embed-avrei) .faq .faq-a p {
  color: var(--ico-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* ---- Areas served ------------------------------------------------------- */
html:not(.ico-embed-avrei) .areas-v2 {
  padding: clamp(64px, 8vw, 96px) 0 !important;
  background: var(--ico-surface) !important;
  border-top: 1px solid var(--ico-line) !important;
}
html:not(.ico-embed-avrei) .areas-v2 .v2-heading { max-width: 22em; margin-inline: auto !important; }
html:not(.ico-embed-avrei) .areas-v2-list { gap: 8px !important; }
html:not(.ico-embed-avrei) .areas-v2-list li {
  padding: 6px 12px !important;
  background: var(--ico-page) !important;
  border: 1px solid var(--ico-line) !important;
  border-radius: var(--ico-r-sm) !important;
  box-shadow: none !important;
  color: var(--ico-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
html:not(.ico-embed-avrei) .areas-v2-note { color: var(--ico-muted) !important; font-size: 15px !important; }
html:not(.ico-embed-avrei) .areas-v2-note a { color: var(--ico-accent) !important; font-weight: 600 !important; }

/* ---- Footer ------------------------------------------------------------- */
html:not(.ico-embed-avrei) .footer.footer--v2,
html:not(.ico-embed-avrei) .footer {
  padding: 48px 0 !important;
  background: var(--ico-ink) !important;
  color: #c9d2da !important;
}
html:not(.ico-embed-avrei) .footer .logo-mark { border-radius: 8px !important; }
html:not(.ico-embed-avrei) .footer-v2-links a {
  color: #c9d2da !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
html:not(.ico-embed-avrei) .footer-v2-links a:hover { color: #ffffff !important; }
html:not(.ico-embed-avrei) .footer-v2-copy,
html:not(.ico-embed-avrei) .footer-v2-disclaimer { color: #a9b5c0 !important; font-size: 13px !important; }
html:not(.ico-embed-avrei) .footer a:focus-visible { outline-color: #ffffff !important; }

/* ---- Mobile sticky CTA -------------------------------------------------- */
html:not(.ico-embed-avrei) .mobile-sticky-cta {
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  background: var(--ico-page) !important;
  background-image: none !important;
  border-top: 1px solid var(--ico-line) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html:not(.ico-embed-avrei) .mobile-sticky-cta .msc-btn {
  min-height: 48px !important;
  font-size: 16px !important;
}
html:not(.ico-embed-avrei) .mobile-sticky-cta .msc-arrow { font-family: var(--ico-font) !important; font-size: 16px !important; }

/* ---- Tablet ------------------------------------------------------------- */
@media (max-width: 980px) {
  html:not(.ico-embed-avrei) .hero-v3-inner { padding-right: 0 !important; }
  html:not(.ico-embed-avrei) .condition-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* ---- Phone -------------------------------------------------------------- */
@media (max-width: 768px) {
  html:not(.ico-embed-avrei) .container { width: min(100% - 32px, 1120px) !important; }
  html:not(.ico-embed-avrei) .header-inner { min-height: 60px !important; padding-block: 8px !important; }
  html:not(.ico-embed-avrei) .header .logo-mark,
  html:not(.ico-embed-avrei) .logo-mark { width: 32px !important; height: 32px !important; }
  html:not(.ico-embed-avrei) .header .logo-name,
  html:not(.ico-embed-avrei) .logo-name { font-size: 14px !important; }

  html:not(.ico-embed-avrei) .hero-v3 { padding: 48px 0 48px !important; }
  html:not(.ico-embed-avrei) .hero-v3-title {
    font-size: clamp(36px, 10.4vw, 48px) !important;
    line-height: 1.06 !important;
    overflow-wrap: normal !important;
  }
  html:not(.ico-embed-avrei) .hero-v3-sub { font-size: 17px !important; margin-bottom: 24px !important; }
  html:not(.ico-embed-avrei) .hero-v3-cta { margin-bottom: 24px !important; }
  html:not(.ico-embed-avrei) .hero-v3-cta .btn-v3-primary {
    width: 100% !important;
    justify-content: center !important;
  }
  html:not(.ico-embed-avrei) .hero-v3-stats {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px 16px !important;
    font-size: 14px !important;
  }
  html:not(.ico-embed-avrei) .hero-v3-stats li {
    flex-direction: row !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    text-align: left !important;
  }
  html:not(.ico-embed-avrei) .hero-v3-stats .num { font-size: inherit !important; }

  html:not(.ico-embed-avrei) .process-v2,
  html:not(.ico-embed-avrei) .form-section,
  html:not(.ico-embed-avrei) .faq,
  html:not(.ico-embed-avrei) .faq.faq--v2,
  html:not(.ico-embed-avrei) .areas-v2 { padding: 56px 0 !important; }
  html:not(.ico-embed-avrei) .v2-heading,
  html:not(.ico-embed-avrei) .process-v2 .v2-heading,
  html:not(.ico-embed-avrei) .form-section .v2-heading,
  html:not(.ico-embed-avrei) .faq .v2-heading,
  html:not(.ico-embed-avrei) .areas-v2 .v2-heading { font-size: 30px !important; }
  html:not(.ico-embed-avrei) .v2-sub,
  html:not(.ico-embed-avrei) .form-section .v2-sub,
  html:not(.ico-embed-avrei) .faq .v2-sub,
  html:not(.ico-embed-avrei) .areas-v2 .v2-sub { font-size: 16px !important; }
  html:not(.ico-embed-avrei) .process-v2 .v2-steps > li { grid-template-columns: 36px 1fr !important; gap: 12px !important; padding: 20px 0 !important; }
  html:not(.ico-embed-avrei) .process-v2 .v2-steps h3 { font-size: 16px !important; }

  html:not(.ico-embed-avrei) .form-section-header--v2 { margin-bottom: 24px !important; }
  html:not(.ico-embed-avrei) .form-wrapper {
    padding: 20px 16px 24px !important;
    border-radius: var(--ico-r-lg) !important;
  }
  html:not(.ico-embed-avrei) .form-step { padding: 24px 0 0 !important; }
  html:not(.ico-embed-avrei) .step-header h3 { font-size: 20px !important; }
  html:not(.ico-embed-avrei) .form-grid,
  html:not(.ico-embed-avrei) .form-grid--step2 { gap: 16px !important; }
  html:not(.ico-embed-avrei) .step-track .sti-label {
    display: block !important;
    max-width: 96px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }
  html:not(.ico-embed-avrei) .form-actions .btn-primary,
  html:not(.ico-embed-avrei) .form-actions .btn-outline { width: 100% !important; }
  html:not(.ico-embed-avrei) #step2 .form-actions { flex-direction: column !important; align-items: stretch !important; }

  html:not(.ico-embed-avrei) .condition-cards { grid-template-columns: 1fr !important; }
  html:not(.ico-embed-avrei) .condition-card-inner {
    padding: 16px !important;
    column-gap: 12px !important;
  }
  html:not(.ico-embed-avrei) .condition-card-inner .cond-icon {
    margin: 0 !important;
    align-self: start !important;
    justify-content: center !important;
    align-items: center !important;
    background: var(--ico-page) !important;
    border-radius: var(--ico-r-sm) !important;
  }
  html:not(.ico-embed-avrei) .condition-card-inner .cond-icon svg { width: 20px !important; height: 20px !important; }
  html:not(.ico-embed-avrei) .condition-card input:checked + .condition-card-inner .cond-icon { background: var(--ico-surface) !important; }

  html:not(.ico-embed-avrei) #step3 .step3-back,
  html:not(.ico-embed-avrei) #step3 .step3-restart { min-height: 44px !important; font-size: 14px !important; padding: 0 12px !important; }
  html:not(.ico-embed-avrei) #step3 .step3-title { font-size: 17px !important; }
  html:not(.ico-embed-avrei) #step3 .step3-iframe { border-radius: var(--ico-r-md) !important; }

  html:not(.ico-embed-avrei) .faq .faq-q { font-size: 16px !important; }
  html:not(.ico-embed-avrei) .footer.footer--v2,
  html:not(.ico-embed-avrei) .footer { padding: 40px 0 calc(40px + env(safe-area-inset-bottom, 0px)) !important; }
}

@media (max-width: 430px) {
  html:not(.ico-embed-avrei) .container { width: min(100% - 32px, 1120px) !important; }
  html:not(.ico-embed-avrei) .hero-v3 { padding: 40px 0 40px !important; }
  html:not(.ico-embed-avrei) .hero-v3-stats { font-size: 13px !important; gap: 8px 14px !important; }
  html:not(.ico-embed-avrei) .form-wrapper { padding: 16px 16px 20px !important; }
  html:not(.ico-embed-avrei) .form-step { padding: 20px 0 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.ico-embed-avrei) *,
  html:not(.ico-embed-avrei) *::before,
  html:not(.ico-embed-avrei) *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
