/* ============================================
   Base Styles - Reset & Typography
   ============================================ */

   *,
   *::before,
   *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
   }
   
   html {
     -webkit-text-size-adjust: 100%;
     -webkit-tap-highlight-color: transparent;
     scroll-behavior: smooth;
   }

   /* Native touch scroll on phones/tablets (matches home + inner pages) */
   @media (max-width: 991px) {
     html {
       scroll-behavior: auto;
     }

     body {
       overscroll-behavior-y: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
   
   body {
     min-height: 100vh;
     overflow-x: hidden;
     font-family: var(--font-family);
     font-size: var(--font-size-base);
     line-height: var(--line-height-normal);
     color: var(--color-text);
     background-color: var(--color-bg);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
   }
   
   img,
   picture,
   svg,
   video {
     display: block;
     max-width: 100%;
     height: auto;
   }
   
   a {
     color: inherit;
     text-decoration: none;
     transition: color var(--transition-base);
   }
   
   button {
     font: inherit;
     color: inherit;
     background: none;
     border: none;
     cursor: pointer;
   }
   
   input,
   textarea,
   select {
     font: inherit;
     color: inherit;
   }
   
   ul,
   ol {
     list-style: none;
   }
   
   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
     line-height: var(--line-height-snug);
     font-weight: var(--font-weight-semibold);
     letter-spacing: -0.02em;
   }
   
   h1 {
     font-size: var(--font-size-h1);
     line-height: var(--line-height-tight);
     letter-spacing: -0.04em;
   }
   
   h2 {
     font-size: var(--font-size-h2);
     letter-spacing: -0.03em;
   }
   
   h3 {
     font-size: var(--font-size-h3);
   }
   
   p {
     line-height: var(--line-height-relaxed);
   }

   /* Anti-orphans: рівне обтікання тексту по всьому сайту */
   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
     text-wrap: balance;
   }

   p,
   li,
   dd,
   blockquote,
   figcaption {
     text-wrap: pretty;
   }

   .slider__subtitle,
   .section-header__subtitle,
   .ecopark-facilities__subtitle {
     text-wrap: balance;
   }

   pre,
   code {
     text-wrap: auto;
   }
   
   /* Focus States (Accessibility) */
   :focus {
     outline: none;
   }
   
   :focus-visible {
     outline: 2px solid var(--color-primary);
     outline-offset: 2px;
     border-radius: var(--radius-xs);
   }
   
   /* Reduced Motion */
   @media (prefers-reduced-motion: reduce) {
     html,
     body {
       scroll-behavior: auto;
     }
   
     *,
     *::before,
     *::after {
       animation-duration: 0.01ms !important;
       animation-iteration-count: 1 !important;
       transition-duration: 0.01ms !important;
     }
   }
   
   /* Selection */
   ::selection {
     color: #fff;
     background-color: var(--color-primary);
   }
   
   /* Scrollbar */
   ::-webkit-scrollbar {
     width: 6px;
     height: 6px;
   }
   
   ::-webkit-scrollbar-track {
     background: rgba(0, 156, 67, 0.08);
   }
   
   ::-webkit-scrollbar-thumb {
     background: var(--color-primary);
     border-radius: var(--radius-full);
   }
   
   ::-webkit-scrollbar-thumb:hover {
     background: var(--color-primary-dark);
   }
   
   * {
     scrollbar-width: thin;
     scrollbar-color: var(--color-primary) rgba(0, 156, 67, 0.08);
   }