/* Self-hosted fonts */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 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: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../fonts/oswald-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* End self-hosted fonts */
:root {
      --bg: #061009;
      --bg-2: #0c1a11;
      --panel: rgba(150, 199, 150, .08);
      --panel-2: rgba(108, 154, 108, .05);
      --line: rgba(190, 226, 190, .12);
      --text: #f4f7f4;
      --muted: #b6c2b7;
      --green: #78cf59;
      --green-dark: #3f8e36;
      --shadow: 0 24px 60px rgba(0,0,0,.36);
      --radius: 24px;
      --wrap: 1200px;
      --header-height: 76px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-width: 320px;
      font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at top left, rgba(120,207,89,.13), transparent 24%),
        radial-gradient(circle at top right, rgba(209,240,209,.05), transparent 18%),
        linear-gradient(180deg, #061009 0%, #0a1710 40%, #07110a 100%);
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      padding-bottom: 72px;
    }
    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; text-decoration: none; }
    button, input, textarea, select { font: inherit; }
    :focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

    .skip-link {
      position: absolute;
      left: -9999px;
      top: 0;
      z-index: 1000;
    }
    .skip-link:focus {
      left: 16px;
      top: 16px;
      background: #fff;
      color: #000;
      padding: 12px 14px;
      border-radius: 12px;
    }

    .wrap {
      width: min(calc(100% - 24px), var(--wrap));
      margin: 0 auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 90;
      min-height: var(--header-height);
      background: rgba(7, 9, 8, .82);
      border-bottom: 1px solid rgba(255,255,255,.06);
      backdrop-filter: blur(14px);
    }
    .header-row {
      min-height: var(--header-height);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
      flex: 1 1 auto;
    }
    .brand-logo {
      width: 52px;
      height: 52px;
      object-fit: contain;
      flex: 0 0 52px;
      filter: drop-shadow(0 8px 18px rgba(0,0,0,.3));
    }
    .brand-copy {
      display: flex;
      flex-direction: column;
      min-width: 0;
    }
    .brand-copy strong {
      font-size: .98rem;
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: .08em;
      white-space: nowrap;
    }
    .brand-copy small {
      color: var(--muted);
      font-size: .78rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .desktop-nav,
    .btn-header-secondary { display: none; }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 48px;
      padding: 0 18px;
      border-radius: 999px;
      font-weight: 800;
      letter-spacing: -.01em;
      text-align: center;
      white-space: nowrap;
      border: 1px solid transparent;
      transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .btn:hover { transform: translateY(-1px); }
    .btn:active { transform: translateY(1px); }
    .btn-primary {
      color: #071004;
      background: linear-gradient(180deg, var(--green), var(--green-dark));
      box-shadow: 0 14px 34px rgba(140,255,47,.22);
    }
    .btn-secondary {
      color: var(--text);
      background: rgba(255,255,255,.04);
      border-color: rgba(201,210,204,.22);
    }
    .btn-secondary:hover {
      background: rgba(255,255,255,.08);
      border-color: rgba(201,210,204,.42);
    }
    .btn-header {
      min-height: 44px;
      padding-inline: 14px;
      font-size: .92rem;
    }

    .hero {
      position: relative;
      min-height: calc(100vh - var(--header-height));
      min-height: calc(100svh - var(--header-height));
      overflow: hidden;
      display: flex;
      align-items: flex-end;
    }
    .hero-media-wrap,
    .hero-overlay {
      position: absolute;
      inset: 0;
    }
    .hero-media-wrap { overflow: hidden; }
    .hero-media {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.04);
    }
    .hero-overlay {
      background:
        linear-gradient(180deg, rgba(7,9,8,.24) 0%, rgba(7,9,8,.58) 42%, rgba(7,9,8,.96) 100%),
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.12), transparent 16%),
        linear-gradient(140deg, transparent 52%, rgba(140,255,47,.10) 53%, transparent 54%);
    }
    .hero-shell {
      position: relative;
      z-index: 1;
      width: 100%;
      padding-top: 112px;
      padding-bottom: 34px;
    }
    .hero-grid {
      display: grid;
      gap: 18px;
    }
    .card {
      border: 1px solid rgba(255,255,255,.08);
      background: linear-gradient(180deg, rgba(11,14,12,.84), rgba(10,12,11,.72));
      backdrop-filter: blur(10px);
      box-shadow: var(--shadow);
      border-radius: 28px;
    }
    .hero-copy {
      padding: 24px;
    }
    .hero-side {
      display: none;
      padding: 20px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 16px;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(140,255,47,.26);
      background: rgba(140,255,47,.08);
      color: #d9ffba;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-size: .72rem;
      font-weight: 800;
    }
    .eyebrow::before {
      content: '';
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 18px rgba(140,255,47,.8);
    }

    h1, h2, h3, .side-panel strong {
      margin: 0;
      font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
      text-transform: uppercase;
      letter-spacing: -.03em;
    }
    h1 {
      max-width: 11ch;
      font-size: clamp(2.8rem, 10vw, 5rem);
      line-height: .92;
      margin-bottom: 16px;
    }
    h2 {
      font-size: clamp(2.15rem, 8vw, 4rem);
      line-height: .95;
      margin-bottom: 14px;
    }
    h3 {
      font-size: 1.8rem;
      line-height: .95;
      margin-bottom: 10px;
    }
    .hero-text,
    .section-intro,
    .compare-copy p,
    .service-card p,
    .mini-card p,
    .step-card p,
    .faq-card p,
    .proof-card span,
    .zone-copy p,
    .zone-copy li,
    .side-panel p,
    .side-stats span,
    .map-caption,
    .impact-card p,
    .contact-list a,
    .contact-list span {
      color: var(--muted);
    }
    .hero-text {
      max-width: 60ch;
      margin: 0 0 24px;
      font-size: 1rem;
    }
    .hero-actions {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 20px;
    }
    .hero-trust {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .hero-trust li {
      padding: 12px 14px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.04);
      color: #dde4df;
      font-size: .92rem;
    }

    .side-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 16px;
      color: #d7ffb5;
      font-size: .72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .1em;
    }
    .side-kicker::before {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 18px rgba(140,255,47,.8);
    }
    .side-panel,
    .side-stats article {
      padding: 18px;
      border-radius: 22px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
    }
    .side-panel {
      margin-bottom: 14px;
    }
    .side-label {
      display: block;
      margin-bottom: 10px;
      color: #d7ffb5;
      font-size: .76rem;
      text-transform: uppercase;
      letter-spacing: .1em;
    }
    .side-panel strong {
      display: block;
      margin-bottom: 10px;
      font-size: 2rem;
      line-height: .94;
    }
    .side-stats {
      display: grid;
      gap: 12px;
    }
    .side-stats strong {
      display: block;
      margin-bottom: 4px;
      font-size: 1rem;
    }

    .impact-bar {
      position: relative;
      z-index: 2;
      margin-top: -6px;
    }
    .impact-grid,
    .compare-grid,
    .services-grid,
    .value-grid,
    .process-grid,
    .proof-grid,
    .faq-grid,
    .zone-grid,
    .contact-grid {
      display: grid;
      gap: 16px;
    }
    .impact-card,
    .compare-card,
    .service-card,
    .mini-card,
    .step-card,
    .proof-card,
    .faq-card,
    .zone-panel,
    .contact-card,
    .cta-box {
      background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      border-radius: 24px;
    }
    .impact-card,
    .service-card,
    .mini-card,
    .step-card,
    .proof-card,
    .faq-card,
    .zone-panel,
    .contact-card {
      padding: 22px;
    }
    .impact-card strong {
      display: block;
      margin-bottom: 8px;
      font-size: 1.05rem;
    }

    .section {
      padding: 76px 0;
    }
    .section-head {
      display: grid;
      gap: 14px;
    }
    .section-intro {
      margin: 0;
      max-width: 64ch;
      font-size: 1rem;
    }

    .compare-card {
      position: relative;
      min-height: 360px;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      padding: 0;
    }
    .compare-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .compare-before .compare-image {
      filter: grayscale(.28) saturate(.72) contrast(.96);
    }
    .compare-after .compare-image {
      filter: saturate(1.18) contrast(1.06);
    }
    .compare-layer {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(8,10,9,.02) 6%, rgba(8,10,9,.86) 100%);
    }
    .compare-copy {
      position: relative;
      z-index: 1;
      padding: 22px;
    }
    .pill {
      display: inline-block;
      padding: 7px 11px;
      margin-bottom: 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.14);
      font-size: .72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .pill-green {
      color: #d7ffb5;
      background: rgba(140,255,47,.12);
      border-color: rgba(140,255,47,.22);
    }

    .service-card {
      position: relative;
      min-height: 280px;
      overflow: hidden;
    }
    .service-card::after {
      content: '';
      position: absolute;
      right: -16px;
      bottom: -24px;
      width: 140px;
      height: 140px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(140,255,47,.18), transparent 60%);
      pointer-events: none;
    }
    .service-index,
    .step-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      margin-bottom: 18px;
      border-radius: 16px;
      background: rgba(140,255,47,.08);
      color: var(--green);
      border: 1px solid rgba(140,255,47,.24);
      font-weight: 900;
    }
    .step-number {
      border-radius: 50%;
      width: 46px;
      height: 46px;
      margin-bottom: 16px;
      background: rgba(140,255,47,.12);
      border-color: rgba(140,255,47,.22);
    }
    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 14px;
      font-weight: 800;
      color: #d9ffba;
    }
    .text-link::after {
      content: '→';
      color: var(--green);
    }

    .zone-map {
      min-height: 300px;
      position: relative;
      overflow: hidden;
    }
    .map-shape {
      position: absolute;
      inset: 18px;
      border-radius: 26px;
      background: linear-gradient(145deg, rgba(140,255,47,.18), rgba(255,255,255,.04));
      clip-path: polygon(18% 10%, 42% 4%, 70% 11%, 88% 31%, 84% 62%, 64% 87%, 34% 95%, 11% 71%, 4% 40%);
      border: 1px solid rgba(255,255,255,.08);
    }
    .map-point {
      position: absolute;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 0 rgba(140,255,47,.4), 0 0 18px rgba(140,255,47,.35);
      animation: pulse 2.8s infinite;
    }
    .map-caption {
      position: absolute;
      left: 20px;
      bottom: 18px;
      z-index: 1;
      padding: 10px 12px;
      border-radius: 999px;
      background: rgba(8,10,9,.78);
      border: 1px solid rgba(255,255,255,.08);
      font-size: .84rem;
    }
    .point-a { top: 31%; left: 39%; }
    .point-b { top: 48%; left: 58%; }
    .point-c { top: 64%; left: 32%; }
    @keyframes pulse {
      0% { box-shadow: 0 0 0 0 rgba(140,255,47,.42), 0 0 18px rgba(140,255,47,.35); }
      70% { box-shadow: 0 0 0 16px rgba(140,255,47,0), 0 0 18px rgba(140,255,47,.15); }
      100% { box-shadow: 0 0 0 0 rgba(140,255,47,0), 0 0 18px rgba(140,255,47,.15); }
    }

    .check-list,
    .contact-list {
      list-style: none;
      padding: 0;
      margin: 22px 0 0;
      display: grid;
      gap: 12px;
    }
    .check-list li,
    .contact-list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }
    .check-list li::before,
    .contact-list li::before {
      content: '✓';
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 26px;
      width: 26px;
      height: 26px;
      border-radius: 50%;
      background: rgba(140,255,47,.12);
      color: var(--green);
      font-weight: 900;
    }

    .proof-card p {
      margin: 0 0 10px;
      font-size: 1.03rem;
    }

    .section-cta {
      padding-bottom: 94px;
    }
    .cta-box {
      padding: 28px;
      border-radius: 30px;
      background:
        radial-gradient(circle at 15% 18%, rgba(140,255,47,.16), transparent 28%),
        linear-gradient(140deg, transparent 54%, rgba(255,255,255,.06) 55%, transparent 56%),
        linear-gradient(180deg, rgba(15,20,18,.98), rgba(9,11,10,.98));
    }
    .cta-layout {
      display: grid;
      gap: 8px;
    }
    .cta-actions {
      margin-top: 24px;
      margin-bottom: 0;
    }

    .contact-card h3,
    .faq-card h3,
    .mini-card h3,
    .step-card h3 {
      font-size: 1.42rem;
    }

    .site-footer {
      border-top: 1px solid rgba(255,255,255,.08);
      padding: 22px 0 calc(96px + env(safe-area-inset-bottom));
      color: var(--muted);
    }
    .site-footer p {
      margin: 0;
      line-height: 1.65;
    }
    .footer-row {
      display: grid;
      gap: 10px;
    }
    .site-footer nav {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }

    .mobile-sticky-cta {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 95;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      min-height: 66px;
      padding-bottom: env(safe-area-inset-bottom);
      background: rgba(8,10,9,.92);
      border-top: 1px solid rgba(255,255,255,.08);
      backdrop-filter: blur(16px);
    }
    .mobile-sticky-cta a {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      text-align: center;
      font-size: .84rem;
      font-weight: 700;
      line-height: 1.1;
      color: #d7ddd9;
      padding: 8px 4px;
    }
    .mobile-cta-highlight {
      color: #071004 !important;
      background: linear-gradient(180deg, var(--green), var(--green-dark));
    }

    @media (max-width: 399px) {
      .brand-copy small { display: none; }
      .btn-header { padding-inline: 12px; font-size: .88rem; }
      .hero-trust { grid-template-columns: 1fr; }
      .mobile-sticky-cta a { font-size: .78rem; }
    }

    @media (min-width: 768px) {
      body { padding-bottom: 0; }
      .wrap { width: min(calc(100% - 40px), var(--wrap)); }
      .brand-logo { width: 58px; height: 58px; flex-basis: 58px; }
      .btn-header-secondary {
        display: inline-flex;
        min-height: 44px;
        padding-inline: 16px;
        font-size: .92rem;
      }
      .hero-shell { padding-top: 126px; padding-bottom: 42px; }
      .hero-copy { padding: 34px; }
      .hero-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
      }
      .impact-grid,
      .proof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .compare-grid,
      .services-grid,
      .value-grid,
      .process-grid,
      .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .zone-grid { grid-template-columns: .95fr 1.05fr; }
      .split-head {
        grid-template-columns: 1.1fr .9fr;
        align-items: end;
        gap: 22px;
      }
      .section { padding: 92px 0; }
      .mobile-sticky-cta { display: none; }
      .site-footer { padding-bottom: 28px; }
      .footer-row { grid-template-columns: 1fr auto; align-items: center; }
    }

    @media (min-width: 1024px) {
      :root { --header-height: 88px; }
      .site-header { background: rgba(8,10,9,.68); }
      .header-row { gap: 22px; }
      .desktop-nav {
        display: flex;
        align-items: center;
        gap: 24px;
        margin-left: auto;
        margin-right: 8px;
      }
      .desktop-nav a {
        color: #d8dfdb;
        font-size: .95rem;
        font-weight: 700;
      }
      .desktop-nav a:hover { color: var(--green); }
      .hero {
        min-height: 900px;
        align-items: center;
      }
      .hero-grid {
        grid-template-columns: minmax(0, 1.18fr) minmax(320px, .62fr);
        gap: 22px;
        align-items: end;
      }
      .hero-copy { padding: 40px; }
      .hero-side { display: block; align-self: stretch; }
      h1 {
        font-size: clamp(4.4rem, 7vw, 6.2rem);
        max-width: 10ch;
      }
      .hero-text { font-size: 1.08rem; }
      .hero-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .impact-bar { margin-top: -56px; }
      .impact-card,
      .compare-card,
      .service-card,
      .mini-card,
      .step-card,
      .proof-card,
      .faq-card,
      .zone-panel,
      .contact-card,
      .cta-box,
      .hero-copy,
      .hero-side { border-radius: 28px; }
      .services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .service-card { min-height: 315px; padding: 26px; }
      .compare-card { min-height: 520px; }
      .compare-copy { padding: 28px; }
      .compare-copy h3 { font-size: 2.3rem; }
      .value-grid,
      .process-grid,
      .faq-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .zone-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
      .zone-map { min-height: 420px; }
      .cta-box { padding: 40px; }
      .cta-layout {
        grid-template-columns: 1.04fr .96fr;
        gap: 26px;
        align-items: end;
      }
      .contact-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (min-width: 1280px) {
      .wrap { width: min(calc(100% - 56px), var(--wrap)); }
      .hero {
        min-height: 980px;
      }
      .hero-overlay {
        background:
          linear-gradient(90deg, rgba(7,9,8,.82) 0%, rgba(7,9,8,.48) 42%, rgba(7,9,8,.68) 100%),
          radial-gradient(circle at 78% 22%, rgba(255,255,255,.16), transparent 18%),
          linear-gradient(140deg, transparent 52%, rgba(140,255,47,.12) 53%, transparent 54%);
      }
      .hero-grid {
        grid-template-columns: minmax(0, 1.22fr) minmax(360px, .58fr);
        gap: 28px;
      }
      .hero-copy { padding: 48px; }
      h1 { font-size: 6.5rem; letter-spacing: -.05em; }
      h2 { font-size: 4.35rem; }
      .section { padding: 110px 0; }
      .section-intro { font-size: 1.08rem; }
      .services-grid,
      .proof-grid,
      .compare-grid,
      .zone-grid,
      .value-grid,
      .process-grid,
      .faq-grid,
      .contact-grid,
      .impact-grid { gap: 20px; }
      .service-card { min-height: 330px; }
      .side-panel strong { font-size: 2.3rem; }
      .value-grid,
      .process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }

.contact-grid{margin-top:20px;}


/* Legal pages */
.legal-main{padding:120px 0 96px; min-height:100vh;}
.legal-shell{display:grid; gap:22px;}
.legal-card{background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.10); box-shadow:0 24px 60px rgba(0,0,0,.28); border-radius:28px; padding:28px;}
.legal-meta{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:18px;}
.legal-meta article{padding:18px; border-radius:20px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);}
.legal-meta strong{display:block; margin-bottom:8px; color:var(--text);}
.legal-toc{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.legal-toc a{padding:10px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:#d8dfdb;}
.legal-section{padding-top:10px;}
.legal-section + .legal-section{margin-top:12px;}
.legal-section h2{font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:12px;}
.legal-section h3{font-size:1.2rem; margin:18px 0 8px; font-family:'Inter',system-ui,sans-serif; letter-spacing:-.01em; text-transform:none;}
.legal-section p,.legal-section li{color:var(--muted); max-width:78ch;}
.legal-section ul{padding-left:20px;}
.legal-note{padding:16px 18px; border-left:3px solid var(--green); background:rgba(140,255,47,.08); border-radius:16px; color:#dff2d2;}
.legal-footer-links{display:flex; flex-wrap:wrap; gap:14px; margin-top:14px;}

/* Cookie banner */
.cookie-banner{position:fixed; left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); z-index:120; display:none;}
.cookie-banner.is-visible{display:block;}
.cookie-banner__box{max-width:980px; margin:0 auto; background:rgba(7,9,8,.96); border:1px solid rgba(255,255,255,.1); box-shadow:0 24px 70px rgba(0,0,0,.45); border-radius:24px; padding:20px; backdrop-filter:blur(18px);}
.cookie-banner__title{font-family:'Oswald',Impact,sans-serif; text-transform:uppercase; letter-spacing:-.03em; font-size:1.8rem; margin:0 0 8px;}
.cookie-banner__text{margin:0; color:var(--muted); max-width:72ch;}
.cookie-banner__actions{display:flex; flex-direction:column; gap:10px; margin-top:16px;}
.cookie-banner__actions .btn{width:100%;}
.cookie-banner__links{display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; font-size:.95rem;}
.cookie-link{color:#d9ffba; text-decoration:underline; text-underline-offset:3px;}
.cookie-modal{position:fixed; inset:0; z-index:130; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.64);}
.cookie-modal.is-visible{display:flex;}
.cookie-modal__dialog{width:min(760px,100%); max-height:min(88vh,920px); overflow:auto; background:linear-gradient(180deg, rgba(10,12,11,.98), rgba(13,17,15,.98)); border:1px solid rgba(255,255,255,.1); border-radius:28px; box-shadow:0 28px 90px rgba(0,0,0,.48); padding:24px;}
.cookie-modal__top{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px;}
.cookie-modal__title{font-family:'Oswald',Impact,sans-serif; text-transform:uppercase; letter-spacing:-.03em; font-size:2rem; margin:0;}
.cookie-close{appearance:none; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:var(--text); width:42px; height:42px; border-radius:999px; cursor:pointer;}
.cookie-cats{display:grid; gap:14px; margin:18px 0;}
.cookie-cat{padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04);}
.cookie-cat__row{display:flex; align-items:center; justify-content:space-between; gap:14px;}
.cookie-cat h3{font-family:'Inter',system-ui,sans-serif; text-transform:none; letter-spacing:-.01em; font-size:1.1rem; margin:0 0 6px;}
.cookie-cat p{margin:0; color:var(--muted);}
.cookie-switch{position:relative; display:inline-flex; width:58px; height:32px;}
.cookie-switch input{position:absolute; opacity:0; inset:0;}
.cookie-switch span{display:block; width:100%; height:100%; border-radius:999px; background:#3b423d; border:1px solid rgba(255,255,255,.12); transition:all .18s ease;}
.cookie-switch span::after{content:''; position:absolute; top:4px; left:4px; width:22px; height:22px; border-radius:50%; background:#fff; transition:transform .18s ease;}
.cookie-switch input:checked + span{background:linear-gradient(180deg, var(--green), var(--green-dark));}
.cookie-switch input:checked + span::after{transform:translateX(26px);}
.cookie-switch input:disabled + span{opacity:.72; cursor:not-allowed;}
.cookie-modal__actions{display:flex; flex-direction:column; gap:10px; margin-top:18px;}
@media (max-width:767px){
  .cookie-banner{bottom:calc(86px + env(safe-area-inset-bottom));}
  .cookie-modal{padding:16px;}
  .cookie-modal__dialog{padding:20px; max-height:min(90vh,920px);}
  .cookie-cat__row{align-items:flex-start;}
}
@media (min-width:768px){
  .cookie-banner__box{padding:24px 26px;}
  .cookie-banner__actions{flex-direction:row; flex-wrap:wrap;}
  .cookie-banner__actions .btn{width:auto;}
  .cookie-modal__actions{flex-direction:row; flex-wrap:wrap;}
}


/* Legal accordions */
.legal-disclosure{display:grid; gap:12px; margin-top:18px;}
.legal-disclosure details{border:1px solid rgba(255,255,255,.1); border-radius:20px; background:rgba(255,255,255,.04); overflow:hidden;}
.legal-disclosure summary{list-style:none; cursor:pointer; padding:18px 20px; font-weight:700; color:var(--text); display:flex; align-items:center; justify-content:space-between; gap:16px;}
.legal-disclosure summary::-webkit-details-marker{display:none;}
.legal-disclosure summary::after{content:'+'; font-size:1.4rem; line-height:1; color:var(--green);}
.legal-disclosure details[open] summary::after{content:'−';}
.legal-disclosure__content{padding:0 20px 18px; color:var(--muted);}
.legal-disclosure__content p,.legal-disclosure__content ul{margin:0;}
.legal-disclosure__content ul{padding-left:18px;}


/* ===== Ultra final visual polish: home ===== */
.home-page{
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(140,255,47,.13), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.06), transparent 18%),
    radial-gradient(circle at 50% 100%, rgba(140,255,47,.05), transparent 28%),
    linear-gradient(180deg, #050706 0%, #0b0f0d 42%, #060807 100%);
}
.home-page::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%, transparent 82%, rgba(140,255,47,.03));
  z-index:0;
}
.home-page .site-header{
  background:rgba(6,8,7,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 34px rgba(0,0,0,.20);
}
.home-page .brand-logo{
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.34));
}
.home-page .desktop-nav a{
  position:relative;
  padding:10px 0;
  transition:color .2s ease, opacity .2s ease;
}
.home-page .desktop-nav a::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--green), transparent);
  transform:scaleX(.15);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
}
.home-page .desktop-nav a:hover::after,
.home-page .desktop-nav a:focus-visible::after{
  opacity:1;
  transform:scaleX(1);
}
.home-page .btn{
  position:relative;
  overflow:hidden;
}
.home-page .btn::before{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
  opacity:.45;
  pointer-events:none;
}
.home-page .btn-primary{
  box-shadow:0 18px 42px rgba(140,255,47,.18), inset 0 1px 0 rgba(255,255,255,.42);
}
.home-page .btn-secondary{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.home-page .hero{
  isolation:isolate;
}
.home-page .hero::after{
  content:'';
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:-1px;
  height:120px;
  background:linear-gradient(180deg, rgba(7,9,8,0), rgba(7,9,8,.85) 66%, #070908 100%);
  pointer-events:none;
}
.home-page .hero-overlay{
  background:
    linear-gradient(180deg, rgba(7,9,8,.16) 0%, rgba(7,9,8,.46) 36%, rgba(7,9,8,.92) 100%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.17), transparent 16%),
    linear-gradient(132deg, transparent 53%, rgba(140,255,47,.11) 54%, transparent 55%),
    linear-gradient(90deg, rgba(4,6,5,.54) 0%, rgba(4,6,5,.08) 40%, rgba(4,6,5,.58) 100%);
}
.home-page .hero-copy,
.home-page .hero-side{
  background:
    linear-gradient(180deg, rgba(14,18,16,.86), rgba(10,12,11,.74)),
    radial-gradient(circle at top right, rgba(140,255,47,.08), transparent 24%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 28px 76px rgba(0,0,0,.34);
}
.home-page .hero-copy{
  position:relative;
}
.home-page .hero-copy::after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  width:140px;
  height:140px;
  background:radial-gradient(circle, rgba(140,255,47,.16), transparent 68%);
  pointer-events:none;
}
.home-page h1{
  letter-spacing:-.055em;
  text-wrap:balance;
}
.home-page .hero-text{
  font-size:1.04rem;
  color:#cfd7d1;
}
.home-page .hero-trust li{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.home-page .impact-bar{
  margin-top:-18px;
}
.home-page .impact-card,
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .proof-card,
.home-page .faq-card,
.home-page .zone-panel,
.home-page .contact-card,
.home-page .cta-box,
.home-page .compare-card{
  border-color:rgba(255,255,255,.10);
  box-shadow:0 24px 68px rgba(0,0,0,.28);
}
.home-page .impact-card{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.home-page .section{
  position:relative;
}
.home-page .section::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
  opacity:.9;
}
.home-page .section h2{
  max-width:12ch;
  text-wrap:balance;
}
.home-page .compare-card{
  min-height:390px;
}
.home-page .compare-copy{
  max-width:34rem;
}
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .proof-card,
.home-page .faq-card,
.home-page .impact-card,
.home-page .contact-card{
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
@media (hover:hover){
  .home-page .service-card:hover,
  .home-page .mini-card:hover,
  .home-page .step-card:hover,
  .home-page .proof-card:hover,
  .home-page .faq-card:hover,
  .home-page .impact-card:hover,
  .home-page .contact-card:hover{
    transform:translateY(-6px);
    border-color:rgba(140,255,47,.24);
    box-shadow:0 30px 84px rgba(0,0,0,.34);
  }
  .home-page .compare-card:hover .compare-image{
    transform:scale(1.04);
    transition:transform .5s ease;
  }
}
.home-page .compare-image{
  transition:transform .5s ease, filter .3s ease;
}
.home-page .service-card{
  background:
    radial-gradient(circle at top right, rgba(140,255,47,.11), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}
.home-page .service-card h3{
  max-width:9.5ch;
}
.home-page .service-index{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.home-page .text-link{
  text-underline-offset:4px;
}
.home-page .zone-panel,
.home-page .cta-box{
  background:
    radial-gradient(circle at 10% 12%, rgba(140,255,47,.10), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.home-page .map-caption{
  color:#e7efe9;
}
.home-page .site-footer{
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.015));
}
.home-page .site-footer nav a,
.home-page .site-footer p a{
  color:#d8dfdb;
}
.home-page .site-footer nav a:hover,
.home-page .site-footer p a:hover{
  color:#d9ffba;
}
.home-page .mobile-sticky-cta{
  background:rgba(6,8,7,.94);
  box-shadow:0 -14px 34px rgba(0,0,0,.28);
}
.home-page .mobile-sticky-cta a{
  border-right:1px solid rgba(255,255,255,.06);
}
.home-page .mobile-sticky-cta a:last-child{
  border-right:none;
}
.home-page .cookie-banner__box,
.home-page .cookie-modal__dialog{
  border-color:rgba(255,255,255,.12);
  box-shadow:0 26px 80px rgba(0,0,0,.46);
}

@media (max-width:767px){
  .home-page .header-row{
    gap:10px;
  }
  .home-page .hero-shell{
    padding-top:98px;
    padding-bottom:26px;
  }
  .home-page .hero-copy{
    padding:22px 20px;
  }
  .home-page h1{
    font-size:clamp(2.6rem, 12vw, 4rem);
    max-width:9.5ch;
  }
  .home-page .hero-actions .btn{
    width:100%;
  }
  .home-page .impact-grid,
  .home-page .services-grid,
  .home-page .proof-grid,
  .home-page .faq-grid,
  .home-page .value-grid,
  .home-page .process-grid,
  .home-page .zone-grid,
  .home-page .contact-grid{
    gap:14px;
  }
  .home-page .section h2{
    max-width:10ch;
  }
}

@media (min-width:768px){
  .home-page .impact-bar{
    margin-top:-36px;
  }
  .home-page .hero-copy{
    padding:38px;
  }
  .home-page .hero-actions{
    gap:14px;
  }
}

@media (min-width:1024px){
  .home-page .hero{
    min-height:940px;
  }
  .home-page .hero-grid{
    grid-template-columns:minmax(0,1.14fr) minmax(330px,.62fr);
    gap:24px;
    align-items:stretch;
  }
  .home-page .hero-copy{
    padding:46px;
  }
  .home-page .hero-side{
    display:block;
    padding:22px;
  }
  .home-page h1{
    font-size:clamp(4.6rem, 6.8vw, 6.5rem);
    max-width:9ch;
  }
  .home-page .hero-text{
    font-size:1.08rem;
    max-width:56ch;
  }
  .home-page .impact-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .home-page .compare-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .home-page .compare-card{
    min-height:560px;
  }
  .home-page .services-grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
  .home-page .service-card{
    min-height:332px;
    padding:28px;
  }
  .home-page .value-grid,
  .home-page .process-grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
  .home-page .proof-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .home-page .faq-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .home-page .zone-grid{
    grid-template-columns:1.02fr .98fr;
  }
}

@media (min-width:1280px){
  .home-page .hero{
    min-height:980px;
  }
  .home-page .hero-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(360px,.56fr);
    gap:28px;
  }
  .home-page h1{
    font-size:6.9rem;
  }
  .home-page h2{
    font-size:4.55rem;
  }
  .home-page .section{
    padding:116px 0;
  }
  .home-page .hero-side .side-panel strong{
    font-size:2.5rem;
  }
}


/* WhatsApp CTA + transparent logo refinements */
.btn-whatsapp{
  color:#041109;
  background:linear-gradient(180deg, #4df58c 0%, #25D366 100%);
  box-shadow:0 16px 38px rgba(37,211,102,.28);
}
.btn-whatsapp:hover{
  box-shadow:0 20px 42px rgba(37,211,102,.34);
}
.btn-whatsapp:focus-visible{
  outline-color:#4df58c;
}
.header-actions .btn-whatsapp{
  min-width:132px;
}
.hero-actions .btn-whatsapp,
.cta-actions .btn-whatsapp{
  min-width:220px;
}
.brand-logo{
  background:transparent !important;
}
.contact-list a[href*="wa.me"]{
  color:#dfffd0;
}
.home-page .brand-logo{
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.34));
}
@media (max-width: 767px){
  .header-actions .btn-whatsapp{
    min-width:auto;
    padding-inline:14px;
    font-size:.88rem;
  }
  .hero-actions .btn-whatsapp,
  .cta-actions .btn-whatsapp{
    min-width:0;
  }
}


/* Final production polish */
:root{
  --wa:#25D366;
  --wa-dark:#128C7E;
}
.home-page .site-header{
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.home-page .desktop-nav a{
  position:relative;
}
.home-page .desktop-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--green), transparent);
  transform:scaleX(.2);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
}
.home-page .desktop-nav a:hover::after,
.home-page .desktop-nav a:focus-visible::after{
  transform:scaleX(1);
  opacity:1;
}
.btn-whatsapp{
  position:relative;
  overflow:hidden;
  color:#041109;
  background:linear-gradient(180deg, #53f592 0%, var(--wa) 70%, #1fb85a 100%);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 16px 38px rgba(37,211,102,.30), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-whatsapp::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 42%, transparent 62%);
  transform:translateX(-140%);
  transition:transform .7s ease;
}
.btn-whatsapp:hover::before,
.btn-whatsapp:focus-visible::before{
  transform:translateX(140%);
}
.btn-whatsapp:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 46px rgba(37,211,102,.34), inset 0 1px 0 rgba(255,255,255,.38);
}
.btn-whatsapp span,
.mobile-sticky-cta a span,
.contact-list a span{
  position:relative;
  z-index:1;
}
.wa-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.05rem;
  height:1.05rem;
  flex:0 0 1.05rem;
  position:relative;
  z-index:1;
}
.wa-icon svg{
  width:100%;
  height:100%;
  fill:currentColor;
}
.home-page .hero-copy,
.home-page .hero-side,
.home-page .cta-box{
  box-shadow:0 28px 80px rgba(0,0,0,.34);
}
.home-page .impact-card,
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .faq-card,
.home-page .contact-card,
.home-page .compare-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.home-page .impact-card:hover,
.home-page .service-card:hover,
.home-page .mini-card:hover,
.home-page .step-card:hover,
.home-page .faq-card:hover,
.home-page .contact-card:hover,
.home-page .compare-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 70px rgba(0,0,0,.30);
  border-color:rgba(140,255,47,.22);
}
.home-page .hero-copy::after{
  content:"";
  position:absolute;
  inset:auto -10% -30% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(140,255,47,.14) 0%, rgba(140,255,47,0) 68%);
  pointer-events:none;
}
.home-page .hero-copy,
.home-page .hero-side{
  position:relative;
  overflow:hidden;
}
.home-page .hero-trust li{
  backdrop-filter:blur(10px);
}
.home-page .contact-card:first-child{
  background:linear-gradient(180deg, rgba(37,211,102,.10), rgba(255,255,255,.04));
}
.home-page .contact-list a[href*="wa.me"]{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ecffe4;
  font-weight:700;
}
.home-page .mobile-sticky-cta{
  box-shadow:0 -14px 38px rgba(0,0,0,.34);
}
.home-page .mobile-cta-highlight{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#041109 !important;
  background:linear-gradient(180deg, #58f799 0%, var(--wa) 100%);
}
.home-page .site-footer{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
@media (max-width: 767px){
  .home-page .header-actions .btn-whatsapp{
    min-width:auto;
    padding-inline:13px;
    font-size:.88rem;
  }
  .home-page .header-actions .btn-whatsapp .wa-icon{
    width:.98rem;
    height:.98rem;
  }
  .home-page .hero-actions{
    gap:10px;
  }
  .home-page .hero-copy{
    padding:22px;
  }
  .home-page h1{
    max-width:9.7ch;
  }
  .home-page .mobile-sticky-cta a{
    gap:6px;
  }
  .home-page .mobile-sticky-cta .wa-icon{
    width:.94rem;
    height:.94rem;
  }
  .home-page .site-footer{
    padding-bottom:calc(104px + env(safe-area-inset-bottom));
  }
}
@media (min-width: 768px){
  .home-page .hero-actions .btn,
  .home-page .cta-actions .btn{
    min-width:fit-content;
  }
}
@keyframes softPulseWA{
  0%,100%{ box-shadow:0 16px 38px rgba(37,211,102,.28), inset 0 1px 0 rgba(255,255,255,.35); }
  50%{ box-shadow:0 18px 46px rgba(37,211,102,.38), inset 0 1px 0 rgba(255,255,255,.4); }
}
.btn-whatsapp{ animation:softPulseWA 2.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){
  .btn-whatsapp{ animation:none !important; }
  .btn-whatsapp::before,
  .home-page .desktop-nav a::after{ transition:none !important; }
}


/* Sin imágenes repetidas en bloque comparativo */
.compare-grid-textual .compare-card-textual{
  min-height: 0;
  overflow: hidden;
  position: relative;
}
.compare-card-textual{
  display: flex;
  align-items: stretch;
  background:
    radial-gradient(circle at top right, rgba(140,255,47,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.compare-card-textual::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 45%),
    linear-gradient(180deg, rgba(7,9,8,.02), rgba(7,9,8,.18));
  pointer-events: none;
}
.compare-copy-static{
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}
.compare-points{
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.compare-points li{
  position: relative;
  padding: 12px 14px 12px 40px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: #e0e7e2;
}
.compare-points li::before{
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, var(--green), var(--green-dark));
  box-shadow: 0 0 0 6px rgba(140,255,47,.08);
}
.compare-before.compare-card-textual .compare-copy-static{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.compare-after.compare-card-textual .compare-copy-static{
  background: linear-gradient(180deg, rgba(140,255,47,.06), rgba(255,255,255,.02));
}
@media (min-width: 1024px){
  .compare-grid-textual .compare-card-textual{
    min-height: 420px;
  }
  .compare-copy-static{
    padding: 34px;
  }
}

.hero-note{margin: -6px 0 22px; color:#dff2d2; font-size:.92rem; opacity:.92;}


/* ===== Scenic backgrounds update ===== */
.legal-page{
  background:
    linear-gradient(180deg, rgba(6,8,7,.90), rgba(7,9,8,.95)),
    url('../img/bg-cta-legal-dark-1600.webp') center top / cover fixed no-repeat;
}
.legal-page .legal-main{position:relative; isolation:isolate;}
.legal-page .legal-main::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,8,7,.52), rgba(6,8,7,.84));
  pointer-events:none;
  z-index:0;
}
.legal-page .legal-shell{position:relative; z-index:1;}
.home-page .section-services-scenic,
.home-page .section-process-scenic,
.home-page .section-proof-dark,
.home-page .section-cta-scenic{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-page .section-services-scenic::before,
.home-page .section-process-scenic::before,
.home-page .section-proof-dark::before,
.home-page .section-cta-scenic::before{
  content:'';
  position:absolute;
  inset:0;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.24;
  transform:scale(1.04);
  pointer-events:none;
  z-index:0;
}
.home-page .section-services-scenic::after,
.home-page .section-process-scenic::after,
.home-page .section-proof-dark::after,
.home-page .section-cta-scenic::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,8,7,.88), rgba(6,8,7,.72) 35%, rgba(6,8,7,.90));
  pointer-events:none;
  z-index:0;
}
.home-page .section-services-scenic::before{background-image:url('../img/bg-services-dark-1600.webp'); opacity:.22;}
.home-page .section-process-scenic::before{background-image:url('../img/bg-process-dark-1600.webp'); opacity:.20;}
.home-page .section-proof-dark::before{background-image:url('../img/bg-proof-dark-1600.webp'); opacity:.24; filter:saturate(.96) contrast(1.14) brightness(.78);}
.home-page .section-cta-scenic::before{background-image:url('../img/bg-cta-legal-dark-1600.webp'); opacity:.21;}
.home-page .section-services-scenic > .wrap,
.home-page .section-process-scenic > .wrap,
.home-page .section-proof-dark > .wrap,
.home-page .section-cta-scenic > .wrap{position:relative; z-index:1;}
.home-page .section-services-scenic .service-card,
.home-page .section-process-scenic .step-card,
.home-page .section-proof-dark .proof-card,
.home-page .section-cta-scenic .cta-box,
.home-page .section-cta-scenic .contact-card{
  background:linear-gradient(180deg, rgba(12,15,13,.82), rgba(8,10,9,.74));
  backdrop-filter:blur(8px);
}
.home-page .section-services-scenic .section-intro,
.home-page .section-process-scenic .section-intro,
.home-page .section-proof-dark .section-intro,
.home-page .section-cta-scenic .section-intro{color:#d7ddd9;}


/* ===== Aggressive visual v2 ===== */
.home-page {
  background:
    radial-gradient(circle at 10% 0%, rgba(120,207,89,.16), transparent 20%),
    radial-gradient(circle at 88% 6%, rgba(168,214,168,.06), transparent 16%),
    linear-gradient(180deg, #061009 0%, #0b1710 34%, #07110a 100%);
}
.home-page::before{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 14%, transparent 84%, rgba(140,255,47,.05)),
    repeating-linear-gradient(115deg, rgba(255,255,255,.012) 0 2px, transparent 2px 12px);
  opacity:.95;
}
.home-page .site-header{
  background:rgba(7,17,10,.90);
  border-bottom:1px solid rgba(190,226,190,.10);
  box-shadow:0 14px 40px rgba(0,0,0,.38);
}
.home-page .desktop-nav a{color:#edf3ef; text-shadow:0 1px 0 rgba(0,0,0,.25);}
.home-page .hero{min-height:940px;}
.home-page .hero-media{
  transform:scale(1.06);
  object-position:22% center;
  filter:contrast(1.14) saturate(.98) brightness(.9);
}
.home-page .hero-overlay{
  background:
    linear-gradient(180deg, rgba(5,11,7,.08) 0%, rgba(8,20,11,.34) 24%, rgba(6,15,9,.92) 100%),
    linear-gradient(90deg, rgba(5,14,8,.54) 0%, rgba(5,14,8,.12) 32%, rgba(4,11,7,.68) 100%),
    radial-gradient(circle at 80% 18%, rgba(220,250,220,.12), transparent 15%),
    linear-gradient(136deg, transparent 51%, rgba(120,207,89,.10) 52%, transparent 53%),
    repeating-linear-gradient(120deg, rgba(220,255,220,.018) 0 2px, transparent 2px 18px);
}
.home-page .hero-copy,
.home-page .hero-side{
  background:
    linear-gradient(180deg, rgba(8,19,11,.92), rgba(6,13,8,.88)),
    radial-gradient(circle at top right, rgba(120,207,89,.10), transparent 22%),
    repeating-linear-gradient(125deg, rgba(255,255,255,.012) 0 2px, transparent 2px 14px);
  border:1px solid rgba(190,226,190,.10);
  box-shadow:0 36px 96px rgba(0,0,0,.48);
}
.home-page h1,
.home-page h2{
  text-shadow:0 3px 22px rgba(0,0,0,.42);
}
.home-page .eyebrow{
  background:rgba(140,255,47,.10);
  border-color:rgba(140,255,47,.30);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.home-page .btn-primary{
  background:linear-gradient(180deg, #a6ff54, #66d91d);
  box-shadow:0 20px 44px rgba(140,255,47,.24), inset 0 1px 0 rgba(255,255,255,.44);
}
.home-page .btn-secondary{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.20);
}
.home-page .impact-card,
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .proof-card,
.home-page .faq-card,
.home-page .zone-panel,
.home-page .contact-card,
.home-page .cta-box,
.home-page .compare-card{
  background:
    linear-gradient(180deg, rgba(11,23,13,.88), rgba(7,14,9,.82)),
    repeating-linear-gradient(125deg, rgba(255,255,255,.012) 0 2px, transparent 2px 18px);
  border-color:rgba(190,226,190,.10);
  box-shadow:0 28px 80px rgba(0,0,0,.40);
}
.home-page .section-services-scenic::before{background-image:url('../img/bg-services-dark-1600.webp'); opacity:.26; filter:contrast(1.16) brightness(.74) saturate(.96);}
.home-page .section-process-scenic::before{background-image:url('../img/bg-process-dark-1600.webp'); opacity:.23; filter:contrast(1.14) brightness(.76) saturate(.94);}
.home-page .section-proof-dark::before{background-image:url('../img/bg-proof-dark-1600.webp'); opacity:.24; filter:contrast(1.16) brightness(.72) saturate(.92);}
.home-page .section-cta-scenic::before{background-image:url('../img/bg-cta-legal-dark-1600.webp'); opacity:.22; filter:contrast(1.10) brightness(.72) saturate(.94);}
.home-page .section-services-scenic::after,
.home-page .section-process-scenic::after,
.home-page .section-proof-dark::after,
.home-page .section-cta-scenic::after{
  background:
    linear-gradient(180deg, rgba(6,14,9,.90), rgba(8,18,11,.76) 35%, rgba(6,14,9,.92)),
    linear-gradient(90deg, rgba(6,14,9,.28), transparent 26%, transparent 74%, rgba(6,14,9,.24));
}
.home-page .service-card::after{
  width:170px;
  height:170px;
  background:radial-gradient(circle, rgba(140,255,47,.22), transparent 60%);
}
.home-page .hero-trust li{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.12);
}
.home-page .service-card:hover,
.home-page .mini-card:hover,
.home-page .step-card:hover,
.home-page .proof-card:hover,
.home-page .faq-card:hover,
.home-page .impact-card:hover,
.home-page .contact-card:hover{
  border-color:rgba(140,255,47,.28);
  box-shadow:0 34px 96px rgba(0,0,0,.46);
}
.legal-page{
  background:
    linear-gradient(180deg, rgba(3,4,4,.90), rgba(4,5,5,.95)),
    url('../img/bg-cta-legal-dark-1600.webp') center top / cover fixed no-repeat;
}
.legal-page .legal-main::before{
  background:
    linear-gradient(180deg, rgba(3,4,4,.62), rgba(3,4,4,.86)),
    repeating-linear-gradient(125deg, rgba(255,255,255,.012) 0 2px, transparent 2px 18px);
}
.legal-page .legal-card{
  background:
    linear-gradient(180deg, rgba(12,15,13,.84), rgba(7,8,8,.80)),
    repeating-linear-gradient(125deg, rgba(255,255,255,.012) 0 2px, transparent 2px 18px);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 30px 88px rgba(0,0,0,.40);
}
@media (min-width:1280px){
  .home-page .hero{min-height:1000px;}
  .home-page .hero-media{object-position:20% center;}
  .home-page h1{font-size:6.7rem;}
}
@media (max-width:767px){
  .home-page .hero-media{
    object-position:16% center;
    transform:scale(1.1);
    filter:contrast(1.06) saturate(1.01) brightness(.94);
  }
  .home-page .hero-overlay{
    background:
      linear-gradient(180deg, rgba(6,14,8,.05) 0%, rgba(8,18,10,.18) 22%, rgba(6,14,8,.86) 100%),
      linear-gradient(90deg, rgba(6,14,8,.26) 0%, rgba(6,14,8,.03) 28%, rgba(6,14,8,.66) 100%),
      radial-gradient(circle at 82% 18%, rgba(220,250,220,.12), transparent 14%),
      linear-gradient(136deg, transparent 51%, rgba(120,207,89,.08) 52%, transparent 53%);
  }
  .home-page .hero-copy, .home-page .hero-side{box-shadow:0 20px 60px rgba(0,0,0,.40);}
}

/* ===== Fixes finales: cabecera móvil + mapa real ===== */
@media (max-width: 767px){
  .header-row{
    gap:10px;
    align-items:center;
  }
  .brand{
    gap:10px;
    min-width:0;
  }
  .brand-logo{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
  .brand-copy{
    gap:3px;
  }
  .brand-copy strong{
    font-size:.86rem;
    line-height:1.08;
    letter-spacing:.045em;
    white-space:normal;
  }
  .brand-copy small{
    font-size:.72rem;
    line-height:1.2;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .header-actions .btn-header{
    min-height:42px;
    padding-inline:12px;
    font-size:.84rem;
  }
  .hero-shell{
    padding-top:102px;
  }
  h1{
    font-size:clamp(2.45rem, 11vw, 3.8rem);
    line-height:1.02;
    letter-spacing:-.015em;
    text-wrap:balance;
  }
  h2,
  h3{
    line-height:1.02;
    letter-spacing:-.02em;
    text-wrap:balance;
  }
  .eyebrow{
    line-height:1.25;
  }
  .hero-copy{
    padding:22px 18px;
  }
}

.zone-map-real{
  min-height:320px;
  margin:0;
  position:relative;
  isolation:isolate;
  background:#0a0d0c;
}
.zone-map-frame{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.zone-map-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:20px;
  background:#050706;
  box-shadow:0 18px 46px rgba(0,0,0,.30);
}
.zone-map-real::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(140,255,47,.08), transparent 26%),
    linear-gradient(180deg, rgba(7,9,8,.04), rgba(7,9,8,.18) 72%, rgba(7,9,8,.38));
  pointer-events:none;
  z-index:1;
}
.zone-map-overlay{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:2;
  display:grid;
  gap:10px;
  align-items:start;
}
.zone-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(8,10,9,.82);
  border:1px solid rgba(140,255,47,.24);
  color:#e8ffd5;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.zone-badge::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 16px rgba(140,255,47,.6);
}
.zone-map-real .map-caption{
  position:static;
  width:max-content;
  max-width:100%;
  background:rgba(8,10,9,.82);
  border-color:rgba(255,255,255,.1);
}
.zone-map-credit{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(8,10,9,.78);
  border:1px solid rgba(255,255,255,.1);
  color:#d7ddd9;
  font-size:.74rem;
  line-height:1.2;
  white-space:normal;
}
.zone-map-credit:hover,
.zone-map-credit:focus-visible{
  color:#f3f6f4;
  border-color:rgba(140,255,47,.28);
}
@media (min-width: 1024px){
  .zone-map-real{
    min-height:420px;
  }
}

/* ===== Ajuste cromático solicitado: fondo verde oscuro + tipografía optimizada ===== */
:root{
  --bg:#103626;
  --bg-2:#184632;
  --panel:rgba(181, 217, 187, .10);
  --panel-2:rgba(131, 176, 140, .07);
  --line:rgba(219, 237, 223, .12);
  --text:#eef6f0;
  --muted:#c7d7cb;
  --green:#88d96a;
  --green-dark:#4f9d49;
  --shadow:0 24px 60px rgba(5, 20, 12, .34);
}

body,
.home-page,
.legal-page{
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(136,217,106,.14), transparent 24%),
    radial-gradient(circle at top right, rgba(235,247,238,.05), transparent 18%),
    linear-gradient(180deg, #103626 0%, #184632 44%, #123a29 100%) !important;
}

.site-header,
.home-page .site-header{
  background:rgba(15, 49, 33, .90) !important;
  border-bottom:1px solid rgba(219,237,223,.10) !important;
}

.hero-overlay,
.home-page .hero-overlay{
  background:
    linear-gradient(180deg, rgba(12,40,27,.18) 0%, rgba(15,50,34,.48) 38%, rgba(10,34,23,.90) 100%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 16%),
    linear-gradient(136deg, transparent 52%, rgba(136,217,106,.10) 53%, transparent 54%) !important;
}

.home-page .hero::after{
  background:linear-gradient(180deg, rgba(16,54,38,0), rgba(16,54,38,.82) 66%, #103626 100%) !important;
}

.card,
.home-page .hero-copy,
.home-page .hero-side,
.home-page .impact-card,
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .proof-card,
.home-page .faq-card,
.home-page .zone-panel,
.home-page .contact-card,
.home-page .cta-box,
.home-page .compare-card,
.home-page .section-services-scenic .service-card,
.home-page .section-process-scenic .step-card,
.home-page .section-proof-dark .proof-card,
.home-page .section-cta-scenic .cta-box,
.home-page .section-cta-scenic .contact-card{
  background:
    linear-gradient(180deg, rgba(18,58,41,.88), rgba(14,44,31,.82)),
    radial-gradient(circle at top right, rgba(136,217,106,.08), transparent 24%) !important;
  border-color:rgba(219,237,223,.10) !important;
  box-shadow:0 28px 76px rgba(5,20,12,.28) !important;
}

.home-page .section-services-scenic::after,
.home-page .section-process-scenic::after,
.home-page .section-proof-dark::after,
.home-page .section-cta-scenic::after,
.legal-page .legal-main::before{
  background:linear-gradient(180deg, rgba(14,44,31,.84), rgba(16,54,38,.70) 35%, rgba(14,44,31,.86)) !important;
}

.home-page .hero-text,
.home-page .section-services-scenic .section-intro,
.home-page .section-process-scenic .section-intro,
.home-page .section-proof-dark .section-intro,
.home-page .section-cta-scenic .section-intro,
.zone-map-credit,
.compare-points li{
  color:#d8e7db !important;
}

h1, h2, h3,
.home-page .desktop-nav a,
.zone-badge,
.zone-map-credit:hover,
.zone-map-credit:focus-visible{
  color:#f4fbf5 !important;
}

.brand-copy small,
.legal-disclosure__content,
.home-page .hero-text,
.hero-note{
  color:var(--muted) !important;
}

.zone-map-real{
  background:#153a2a !important;
}

.zone-map-image,
.zone-badge,
.zone-map-real .map-caption,
.zone-map-credit{
  background:rgba(14,44,31,.82) !important;
}

/* ===== Refinado: verde premium elegante + hero más transparente ===== */
:root{
  --bg:#0f2f24;
  --bg-2:#173a2e;
  --panel:rgba(181,211,194,.09);
  --panel-2:rgba(123,155,136,.06);
  --line:rgba(220,232,224,.11);
  --text:#f1f5f2;
  --muted:#c5d0c8;
  --green:#7fb08f;
  --green-dark:#4e7d65;
  --shadow:0 24px 60px rgba(4,16,12,.30);
}

body,
.home-page,
.legal-page{
  background:
    radial-gradient(circle at top left, rgba(127,176,143,.14), transparent 24%),
    radial-gradient(circle at top right, rgba(235,243,238,.05), transparent 18%),
    linear-gradient(180deg, #0f2f24 0%, #173a2e 44%, #112f25 100%) !important;
}

.site-header,
.home-page .site-header{
  background:rgba(13,39,31,.82) !important;
  border-bottom:1px solid rgba(220,232,224,.10) !important;
}

.hero-overlay,
.home-page .hero-overlay{
  background:
    linear-gradient(180deg, rgba(11,33,26,.10) 0%, rgba(14,42,33,.34) 34%, rgba(10,28,22,.80) 100%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 16%),
    linear-gradient(136deg, transparent 52%, rgba(127,176,143,.10) 53%, transparent 54%) !important;
}

.home-page .hero::after{
  background:linear-gradient(180deg, rgba(15,47,36,0), rgba(15,47,36,.76) 66%, #0f2f24 100%) !important;
}

.home-page .hero-copy{
  background:
    linear-gradient(180deg, rgba(18,48,38,.58), rgba(12,32,25,.46)),
    radial-gradient(circle at top right, rgba(127,176,143,.08), transparent 24%) !important;
  border:1px solid rgba(226,236,229,.10) !important;
  box-shadow:0 24px 64px rgba(4,16,12,.18) !important;
  backdrop-filter:blur(10px);
}

.home-page .hero-side,
.card,
.home-page .impact-card,
.home-page .service-card,
.home-page .mini-card,
.home-page .step-card,
.home-page .proof-card,
.home-page .faq-card,
.home-page .zone-panel,
.home-page .contact-card,
.home-page .cta-box,
.home-page .compare-card,
.home-page .section-services-scenic .service-card,
.home-page .section-process-scenic .step-card,
.home-page .section-proof-dark .proof-card,
.home-page .section-cta-scenic .cta-box,
.home-page .section-cta-scenic .contact-card{
  background:
    linear-gradient(180deg, rgba(19,51,40,.78), rgba(14,37,30,.70)),
    radial-gradient(circle at top right, rgba(127,176,143,.07), transparent 24%) !important;
  border-color:rgba(220,232,224,.10) !important;
  box-shadow:0 28px 76px rgba(4,16,12,.24) !important;
}

.home-page .section-services-scenic::after,
.home-page .section-process-scenic::after,
.home-page .section-proof-dark::after,
.home-page .section-cta-scenic::after,
.legal-page .legal-main::before{
  background:linear-gradient(180deg, rgba(14,38,30,.80), rgba(15,47,36,.62) 35%, rgba(14,38,30,.84)) !important;
}

.home-page .hero-text,
.home-page .section-services-scenic .section-intro,
.home-page .section-process-scenic .section-intro,
.home-page .section-proof-dark .section-intro,
.home-page .section-cta-scenic .section-intro,
.zone-map-credit,
.compare-points li,
.brand-copy small,
.legal-disclosure__content,
.hero-note{
  color:#d6e1d9 !important;
}

h1, h2, h3,
.home-page .desktop-nav a,
.zone-badge,
.zone-map-credit:hover,
.zone-map-credit:focus-visible{
  color:#f3f7f4 !important;
}

.home-page .eyebrow{
  background:rgba(127,176,143,.10) !important;
  border-color:rgba(127,176,143,.26) !important;
  color:#e5efe7 !important;
}

.btn-primary,
.home-page .btn-primary{
  color:#f3f7f4 !important;
  background:linear-gradient(180deg, #6f9b82 0%, #4d735f 100%) !important;
  box-shadow:0 18px 38px rgba(32,73,56,.28) !important;
}

.zone-map-real{
  background:#143528 !important;
}

.zone-map-image,
.zone-badge,
.zone-map-real .map-caption,
.zone-map-credit{
  background:rgba(14,38,30,.74) !important;
}
