/* ===== FONTS (self-hosted, без зависимости от Google Fonts) ===== */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/unbounded-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/unbounded-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/unbounded-cyrillic-700-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/unbounded-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/geologica-cyrillic-300-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/geologica-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/geologica-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/geologica-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/geologica-cyrillic-500-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/geologica-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/geologica-cyrillic-700-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/geologica-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== TOKENS ===== */
    :root {
      --green-50:  #E1F5EE;
      --green-100: #9FE1CB;
      --green-200: #5DCAA5;
      --green-400: #1D9E75;
      --green-600: #0F6E56;
      --green-800: #085041;
      --green-900: #04342C;

      --teal-400:  #5DCAA5;
      --teal-600:  #1D9E75;

      --gray-50:  #F1EFE8;
      --gray-100: #D3D1C7;
      --gray-200: #B4B2A9;
      --gray-400: #888780;
      --gray-600: #5F5E5A;
      --gray-800: #444441;
      --gray-900: #2C2C2A;

      /* Light theme */
      --bg:         #F4FAF7;
      --bg-card:    #ffffff;
      --bg-subtle:  #E1F5EE;
      --text:       #04342C;
      --text-muted: #0F6E56;
      --text-faint: #5F5E5A;
      --border:     rgba(15,110,86,.12);
      --accent:     #0F6E56;
      --accent-hover: #085041;
      --accent-text: #ffffff;
      --cta-bg:     #0F6E56;
      --cta-text:   #ffffff;
      --nav-bg:     rgba(244,250,247,.88);
      --shadow:     0 2px 24px rgba(15,110,86,.10);
      --shadow-lg:  0 8px 48px rgba(15,110,86,.14);
    }

    [data-theme="dark"] {
      --bg:         #0D1F19;
      --bg-card:    #142B22;
      --bg-subtle:  #1A3829;
      --text:       #E1F5EE;
      --text-muted: #9FE1CB;
      --text-faint: #5DCAA5;
      --border:     rgba(93,202,165,.12);
      --accent:     #5DCAA5;
      --accent-hover:#9FE1CB;
      --accent-text: #04342C;
      --cta-bg:     #1D9E75;
      --cta-text:   #ffffff;
      --nav-bg:     rgba(13,31,25,.90);
      --shadow:     0 2px 24px rgba(0,0,0,.35);
      --shadow-lg:  0 8px 48px rgba(0,0,0,.45);
    }

    /* ===== RESET ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Geologica', sans-serif;
      background: var(--bg);
      color: var(--text);
      transition: background .3s, color .3s;
      overflow-x: hidden;
    }

    /* ===== SCROLL ANIMATIONS ===== */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: none;
    }
    .reveal-delay-1 { transition-delay: .1s; }
    .reveal-delay-2 { transition-delay: .2s; }
    .reveal-delay-3 { transition-delay: .3s; }
    .reveal-delay-4 { transition-delay: .4s; }

    /* ===== NAV ===== */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      background: var(--nav-bg);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
      transition: background .3s, border-color .3s;
    }
    .nav-inner {
      max-width: 1100px; margin: 0 auto;
      padding: 0 24px;
      height: 64px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .logo {
      font-family: 'Unbounded', sans-serif;
      font-size: 15px; font-weight: 700;
      color: var(--text); text-decoration: none;
      letter-spacing: -.3px;
      display: flex; align-items: center; gap: 8px;
    }
    .logo-mark {
      width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
    }
    .logo-mark svg { width: 36px; height: 36px; }
    .nav-right { display: flex; align-items: center; gap: 16px; }
    .nav-phone {
      font-size: 15px; font-weight: 500;
      color: var(--text); text-decoration: none;
      transition: color .2s;
    }
    .nav-phone:hover { color: var(--accent); }
    .btn-call {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--cta-bg); color: var(--cta-text);
      padding: 9px 20px; border-radius: 10px;
      font-family: 'Geologica', sans-serif;
      font-size: 14px; font-weight: 500;
      text-decoration: none; border: none; cursor: pointer;
      transition: background .2s, transform .15s;
    }
    .btn-call:hover { background: var(--accent-hover); transform: translateY(-1px); }
    .btn-call:active { transform: translateY(0); }
    .theme-toggle {
      width: 36px; height: 36px; border-radius: 8px;
      background: transparent; border: 1px solid var(--border);
      cursor: pointer; display: flex; align-items: center; justify-content: center;
      transition: background .2s, border-color .2s;
      color: var(--text);
    }
    .theme-toggle:hover { background: var(--bg-subtle); }

    /* ===== HERO ===== */
    .hero {
      min-height: 100vh;
      display: flex; align-items: center;
      padding: 96px 24px 64px;
      position: relative; overflow: hidden;
    }
    .hero-bg {
      position: absolute; inset: 0; z-index: 0;
      background: radial-gradient(ellipse 70% 60% at 80% 40%, var(--bg-subtle) 0%, transparent 70%);
      pointer-events: none;
    }
    .hero-deco {
      position: absolute; right: -80px; top: 50%;
      transform: translateY(-50%);
      width: 560px; height: 560px;
      border-radius: 50%;
      border: 1px solid var(--border);
      pointer-events: none;
      animation: spin 40s linear infinite;
    }
    .hero-deco::before {
      content: '';
      position: absolute; inset: 40px;
      border-radius: 50%;
      border: 1px solid var(--border);
    }
    @keyframes spin { to { transform: translateY(-50%) rotate(360deg); } }

    .hero-inner {
      position: relative; z-index: 1;
      max-width: 1100px; margin: 0 auto; width: 100%;
    }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 6px;
      background: var(--bg-card); border: 1px solid var(--border);
      padding: 6px 14px; border-radius: 100px;
      font-size: 13px; color: var(--text-muted);
      margin-bottom: 28px;
    }
    .badge-dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--accent);
      animation: pulse 2s ease-in-out infinite;
    }
    @keyframes pulse {
      0%,100% { opacity: 1; transform: scale(1); }
      50% { opacity: .5; transform: scale(1.3); }
    }
    h1 {
      font-family: 'Unbounded', sans-serif;
      font-size: clamp(32px, 5vw, 62px);
      font-weight: 700; line-height: 1.1;
      letter-spacing: -1.5px;
      max-width: 760px;
      margin-bottom: 24px;
    }
    h1 span { color: var(--accent); }
    .hero-sub {
      font-size: clamp(15px, 2vw, 18px);
      color: var(--text-faint);
      max-width: 500px;
      line-height: 1.7;
      margin-bottom: 40px;
    }
    .hero-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
    .btn-primary {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--cta-bg); color: var(--cta-text);
      padding: 14px 28px; border-radius: 12px;
      font-family: 'Geologica', sans-serif;
      font-size: 16px; font-weight: 500;
      text-decoration: none; border: none; cursor: pointer;
      transition: background .2s, transform .15s, box-shadow .2s;
      box-shadow: var(--shadow);
    }
    .btn-primary:hover { background: var(--accent-hover); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
    .btn-primary:active { transform: translateY(0); }
    .btn-secondary {
      font-size: 15px; color: var(--text-muted);
      text-decoration: none;
      display: flex; align-items: center; gap: 6px;
      transition: color .2s;
    }
    .btn-secondary:hover { color: var(--accent); }
    .hero-stats {
      display: flex; gap: 40px; flex-wrap: wrap;
      margin-top: 64px; padding-top: 40px;
      border-top: 1px solid var(--border);
    }
    .stat-item { }
    .stat-num {
      font-family: 'Unbounded', sans-serif;
      font-size: 28px; font-weight: 700;
      color: var(--text); line-height: 1;
    }
    .stat-num span { color: var(--accent); }
    .stat-label {
      font-size: 13px; color: var(--text-faint);
      margin-top: 4px;
    }

    /* ===== SECTIONS ===== */
    section { padding: 96px 24px; }
    .container { max-width: 1100px; margin: 0 auto; }
    .section-label {
      font-size: 12px; font-weight: 500; letter-spacing: 2px;
      text-transform: uppercase; color: var(--accent);
      margin-bottom: 12px;
    }
    h2 {
      font-family: 'Unbounded', sans-serif;
      font-size: clamp(24px, 3.5vw, 40px);
      font-weight: 700; line-height: 1.2;
      letter-spacing: -1px;
      margin-bottom: 48px;
    }

    /* ===== SERVICES ===== */
    .services-bg { background: var(--bg-card); }
    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	  gap: 24px;
	  max-width: 1100px;
	  margin: 0 auto;
    }
    .service-card {
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 28px;
      transition: transform .2s, box-shadow .2s, border-color .2s;
    }
    .service-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
      border-color: var(--accent);
    }
    .service-icon {
      width: 48px; height: 48px; border-radius: 12px;
      background: var(--bg-subtle);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 16px;
    }
    .service-icon svg { width: 24px; height: 24px; stroke: var(--accent); color: var(--accent); }
    .service-title {
      font-size: 16px; font-weight: 500;
      margin-bottom: 8px;
    }
    .service-desc { font-size: 14px; color: var(--text-faint); line-height: 1.6; }

    /* ===== WHY ===== */
    .why-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 24px;
    }
    .why-item { }
    .why-num {
      font-family: 'Unbounded', sans-serif;
      font-size: 36px; font-weight: 700;
      color: var(--bg-subtle);
      -webkit-text-stroke: 2px var(--accent);
      line-height: 1; margin-bottom: 12px;
    }
    .why-title { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
    .why-desc { font-size: 14px; color: var(--text-faint); line-height: 1.6; }

    /* ===== HOW ===== */
    .how-bg { background: var(--bg-card); }
    .steps {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 0;
      position: relative;
    }
    .step {
      padding: 32px 24px;
      position: relative;
    }
    .step:not(:last-child)::after {
      content: '';
      position: absolute; top: 52px; right: 0;
      width: 1px; height: 2px;
      background: var(--border);
    }
    .step-num {
      font-family: 'Unbounded', sans-serif;
      font-size: 13px; font-weight: 700;
      color: var(--accent-text);
      background: var(--cta-bg);
      width: 36px; height: 36px; border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px;
    }
    .step-title { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
    .step-desc { font-size: 14px; color: var(--text-faint); line-height: 1.6; }
    .step-arrow {
      position: absolute; top: 44px; right: -16px; z-index: 2;
      color: var(--accent); font-size: 20px; display: none;
    }

    /* ===== PRICES ===== */
    .prices-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 16px;
    }
    .price-card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 32px;
      transition: transform .2s, box-shadow .2s;
    }
    .price-card.featured {
      border-color: var(--accent);
      box-shadow: var(--shadow-lg);
      position: relative;
    }
    .price-badge {
      position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
      background: var(--cta-bg); color: var(--cta-text);
      padding: 4px 14px; border-radius: 100px;
      font-size: 12px; font-weight: 500; white-space: nowrap;
    }
    .price-card:hover:not(.featured) { transform: translateY(-4px); box-shadow: var(--shadow); }
    .price-name { font-size: 18px; font-weight: 500; margin-bottom: 8px; }
    .price-desc { font-size: 14px; color: var(--text-faint); margin-bottom: 20px; line-height: 1.5; }
    .price-from { font-size: 12px; color: var(--text-faint); margin-bottom: 2px; }
    .price-num {
      font-family: 'Unbounded', sans-serif;
      font-size: 28px; font-weight: 700;
      margin-bottom: 4px;
    }
    .price-unit { font-size: 13px; color: var(--text-faint); margin-bottom: 24px; }
    .price-features { list-style: none; }
    .price-features li {
      display: flex; align-items: flex-start; gap: 10px;
      font-size: 14px; color: var(--text-faint);
      padding: 6px 0;
      border-bottom: 1px solid var(--border);
    }
    .price-features li:last-child { border-bottom: none; }
    .price-features li::before {
      content: '';
      width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px;
      background: var(--bg-subtle); border-radius: 50%;
      border: 2px solid var(--accent);
    }

    /* ===== REVIEWS ===== */
    .reviews-bg { background: var(--bg-card); }
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 16px;
    }
    .review-card {
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 28px;
    }
    .review-stars { color: var(--accent); font-size: 18px; letter-spacing: 2px; margin-bottom: 14px; }
    .review-text { font-size: 15px; line-height: 1.7; color: var(--text-faint); margin-bottom: 20px; }
    .review-author { display: flex; align-items: center; gap: 12px; }
    .review-avatar {
      width: 40px; height: 40px; border-radius: 50%;
      background: var(--bg-subtle);
      display: flex; align-items: center; justify-content: center;
      font-size: 14px; font-weight: 500; color: var(--accent);
      flex-shrink: 0;
    }
    .review-name { font-size: 14px; font-weight: 500; }
    .review-company { font-size: 13px; color: var(--text-faint); }

    /* ===== CONTACT ===== */
    .contact-wrap {
      background: var(--bg-subtle);
      border: 1px solid var(--border);
      border-radius: 24px;
      padding: 64px 48px;
      display: flex; align-items: center; justify-content: space-between;
      gap: 32px; flex-wrap: wrap;
    }
    .contact-left h2 { margin-bottom: 12px; }
    .contact-left p { font-size: 16px; color: var(--text-faint); max-width: 420px; line-height: 1.7; }
    .contact-right { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
    .contact-phone {
      font-family: 'Unbounded', sans-serif;
      font-size: 28px; font-weight: 700;
      color: var(--text); text-decoration: none;
      transition: color .2s;
    }
    .contact-phone:hover { color: var(--accent); }
    .contact-hours { font-size: 14px; color: var(--text-faint); }

    /* ===== FOOTER ===== */
    footer {
      padding: 32px 24px;
      border-top: 1px solid var(--border);
    }
    .footer-inner {
      max-width: 1100px; margin: 0 auto;
      display: flex; align-items: center; justify-content: space-between;
      gap: 16px; flex-wrap: wrap;
    }
    .footer-text { font-size: 13px; color: var(--text-faint); }

    /* ===== GALLERY ===== */
    .gallery-bg { background: var(--bg-card); }
    .carousel-wrap {
      position: relative;
      display: flex; align-items: center; gap: 16px;
    }
    .carousel-viewport {
      overflow: hidden; flex: 1;
      padding: 24px 0;
      mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    }
    .carousel-track {
      display: flex; gap: 20px; align-items: center;
      transition: transform .5s cubic-bezier(.4,0,.2,1);
      will-change: transform;
    }
    .carousel-slide {
      flex: 0 0 34%;
      min-width: 0;
      transition: transform .5s cubic-bezier(.4,0,.2,1), opacity .5s;
      transform: scale(0.82);
      opacity: 0.5;
    }
    .carousel-slide.active {
      transform: scale(1);
      opacity: 1;
    }
    .photo-placeholder {
      aspect-ratio: 3/4;
      background: var(--bg-subtle);
      border: 1px solid var(--border);
      border-radius: 12px;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 12px;
      color: var(--text-faint);
      transition: border-color .2s, transform .25s ease;
      overflow: hidden;
      cursor: pointer;
    }
    .photo-placeholder.square { aspect-ratio: 1/1; }
    .carousel-slide.active .photo-placeholder { border-color: var(--accent); }
    .photo-placeholder:hover {
      transform: scale(1.045);
      cursor: zoom-in;
    }
    .photo-placeholder svg { opacity: .4; }
    .photo-placeholder span { font-size: 13px; opacity: .5; }
    .photo-placeholder img {
      width: 100%; height: 100%;
      object-fit: contain; border-radius: 12px; display: block;
    }

    /* ===== LIGHTBOX ===== */
    .lightbox {
      display: none;
      position: fixed; inset: 0; z-index: 1000;
      background: rgba(4,52,44,.82);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      align-items: center; justify-content: center;
      padding: 40px;
      animation: lightboxFade .25s ease;
    }
    [data-theme="dark"] .lightbox { background: rgba(0,0,0,.85); }
    .lightbox.open { display: flex; }
    @keyframes lightboxFade { from { opacity: 0; } to { opacity: 1; } }
    .lightbox-content {
      max-width: min(900px, 90vw);
      max-height: 85vh;
      display: flex; align-items: center; justify-content: center;
      animation: lightboxZoom .3s cubic-bezier(.2,.8,.2,1);
    }
    @keyframes lightboxZoom { from { transform: scale(.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }
    .lightbox-content img {
      max-width: 100%; max-height: 85vh;
      border-radius: 12px;
      display: block;
      object-fit: contain;
      box-shadow: 0 20px 80px rgba(0,0,0,.4);
    }
    .lightbox-content .photo-placeholder {
      width: min(500px, 80vw);
      aspect-ratio: 3/4;
      cursor: default;
    }
    .lightbox-close {
      position: absolute; top: 24px; right: 24px;
      width: 44px; height: 44px; border-radius: 50%;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.25);
      color: #fff; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: background .2s, transform .15s;
    }
    .lightbox-close:hover { background: rgba(255,255,255,.2); transform: scale(1.05); }

    .carousel-dots {
      display: flex; justify-content: center; gap: 12px;
      margin-top: 20px;
    }
    .carousel-dot {
      width: 11px; height: 11px; border-radius: 50%;
      background: var(--border); border: none; cursor: pointer;
      padding: 0; transition: background .2s, transform .2s;
      position: relative;
    }
    .carousel-dot::before {
      content: '';
      position: absolute;
      top: 50%; left: 50%;
      width: 32px; height: 32px;
      transform: translate(-50%, -50%);
    }
    .carousel-dot.active { background: var(--accent); transform: scale(1.3); }
    @media (max-width: 768px) {
      .carousel-slide { flex: 0 0 54%; }
    }
    @media (max-width: 480px) {
      .carousel-slide { flex: 0 0 74%; }
    }

    /* ===== MOBILE ===== */
    @media (max-width: 640px) {
      .nav-phone { display: none; }
      h1 { letter-spacing: -.5px; }
      .hero-stats { gap: 24px; }
      .contact-wrap { padding: 36px 24px; }
      .contact-phone { font-size: 22px; }
      section { padding: 64px 20px; }
    }