/* =========================================================
   ECO4 PRO — Premium Design Polish (v2)
   Safer, more surgical overrides on top of compiled Tailwind.
   Goals: mobile responsiveness, typography, premium polish
   without breaking carousels, grids, or icon layouts.
   ========================================================= */

:root {
  --brand-deep: #0f2b26;
  --brand-emerald: #059669;
  --brand-emerald-light: #10b981;
  --brand-teal: #0d9488;
  --brand-cyan: #06b6d4;
  --shadow-soft: 0 4px 14px -4px rgba(15, 43, 38, 0.08);
  --shadow-md: 0 14px 32px -12px rgba(15, 43, 38, 0.14);
  --transition: 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Global rendering & typography ---------- */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}
body {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: -0.005em;
}

/* Slight letter-spacing tightening on big headings, but DO NOT change color */
h1, h2 { letter-spacing: -0.02em; }
h3 { letter-spacing: -0.015em; }

/* ---------- Hero background warmth (only on .bg-hero) ---------- */
.bg-hero {
  background:
    radial-gradient(ellipse at top left, rgba(16, 185, 129, 0.07), transparent 55%),
    radial-gradient(ellipse at bottom right, rgba(6, 182, 212, 0.07), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

/* ---------- Premium button hover (only CTA-style gradient buttons) ---------- */
a[class*="from-emerald-600"][class*="to-cyan-600"],
button[class*="from-emerald-600"][class*="to-cyan-600"] {
  box-shadow: 0 10px 24px -10px rgba(5, 150, 105, 0.45);
}

/* ---------- Form inputs polish (focus ring only) ---------- */
input:focus,
select:focus,
textarea:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.18);
}

/* ---------- Focus visibility for accessibility ---------- */
*:focus-visible {
  outline: 3px solid rgba(16, 185, 129, 0.55);
  outline-offset: 3px;
  border-radius: 6px;
}

/* ---------- Image safety ---------- */
img { max-width: 100%; height: auto; }

/* ---------- Marquee certification strip: smoother pacing ---------- */
.animate-marquee { animation-duration: 38s !important; }

/* ---------- Responsive heading down-scaling on small screens ---------- */
@media (max-width: 640px) {
  /* Prevent oversize headings on phones */
  h1[class*="text-5xl"],
  h1[class*="text-6xl"],
  h1[class*="text-7xl"] {
    font-size: clamp(1.875rem, 7vw, 2.5rem) !important;
    line-height: 1.15 !important;
  }
  h2[class*="text-4xl"],
  h2[class*="text-5xl"],
  h2[class*="text-6xl"] {
    font-size: clamp(1.625rem, 6vw, 2.25rem) !important;
    line-height: 1.2 !important;
  }

  /* Section padding: tighter on mobile */
  section[class*="py-20"] { padding-top: 3.25rem !important; padding-bottom: 3.25rem !important; }
  section[class*="py-16"] { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }
  section[class*="py-12"] { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }

  /* Hero stack: don't crush horizontal padding */
  section [class*="px-6"] { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }

  /* Generous card padding on mobile is wasteful */
  [class*="rounded-2xl"][class*="p-8"],
  [class*="rounded-3xl"][class*="p-8"] {
    padding: 1.5rem !important;
  }

  /* Grids: tighter mobile gaps */
  [class*="md:grid-cols-3"],
  [class*="md:grid-cols-2"],
  [class*="grid-cols-3"][class*="gap-8"] {
    gap: 1rem;
  }

  /* Hero stat cards: 3 cols → keep but reduce padding */
  [class*="grid-cols-3"][class*="gap-4"] > div {
    padding: 0.75rem !important;
  }

  /* Hero image: cap height on phones */
  [class*="h-[500px]"],
  [class*="h-[600px]"] {
    height: 320px !important;
  }
}

/* ---------- Tablet refinements ---------- */
@media (min-width: 641px) and (max-width: 1024px) {
  h1[class*="text-7xl"] { font-size: 3rem !important; line-height: 1.1 !important; }
  h2[class*="text-5xl"] { font-size: 2.25rem !important; line-height: 1.15 !important; }
  [class*="h-[500px]"],
  [class*="h-[600px]"] { height: 460px !important; }
}

/* ---------- Long-word safety on prose paragraphs ---------- */
section p { overflow-wrap: break-word; }

/* ---------- Footer link hover only ---------- */
footer a:hover { color: #10b981; }

/* ---------- Small accessibility tweak: tap padding for nav/footer links on mobile ---------- */
@media (max-width: 768px) {
  nav a, footer a { padding-top: 4px; padding-bottom: 4px; }
}

/* ---------- Subtle gradient animation only on CTA strips ---------- */
section[class*="from-emerald-600"][class*="to-cyan-600"],
section[class*="from-emerald-500"][class*="to-cyan-500"] {
  background-size: 200% 200%;
  animation: ecoGradientShift 14s ease infinite;
}
@keyframes ecoGradientShift {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* ---------- End ---------- */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         