/*
 * Nutraeden Elementor — global tokens and shared component classes.
 * Scoped to .ntrd-el (each widget's root) so styles never leak into the page
 * and never depend on the classic .ntrd-lp wrapper. Values are copied verbatim
 * from the original design so the widgets match it pixel-for-pixel by default.
 */
.ntrd-el{
  --bg:#F5F4F1;
  --ink:#15181B;
  --blue:#CFE6EC;
  --blue-deep:#8FB4BE;
  --blue-ink:#3E5F68;
  --muted:#7B7F83;
  --line:#DEDCD6;
  --card:#14171A;
  --white:#FFFFFF;
  font-family:'Manrope',sans-serif;
  -webkit-font-smoothing:antialiased;
  color:var(--ink);
  position:relative;
}
.ntrd-el *{ box-sizing:border-box; }
.ntrd-el a{ color:inherit; }

.ntrd-el .eyebrow{
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--blue-ink);
}
.ntrd-el h1, .ntrd-el h2, .ntrd-el h3,
.ntrd-el .hero-heading, .ntrd-el .section-heading,
.ntrd-el .chart-heading, .ntrd-el .authority-heading, .ntrd-el .cta-heading{
  font-weight:800; margin:0; letter-spacing:-0.02em;
}

.ntrd-el .wrap-narrow{ max-width:740px; margin:0 auto; padding:0 28px; }

/* Shared section head (series / testimonials / faq) */
.ntrd-el .section-head{ text-align:center; max-width:640px; margin:0 auto 52px; }
.ntrd-el .section-head .eyebrow{ justify-content:center; display:flex; margin-bottom:14px; }
.ntrd-el .section-head h2, .ntrd-el .section-head .section-heading{ font-size:36px; line-height:1.18; margin-bottom:14px; }
.ntrd-el .section-head p{ color:var(--muted); font-size:16.5px; line-height:1.6; }

/* Scroll reveal */
.ntrd-el.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.ntrd-el.reveal.in{ opacity:1; transform:translateY(0); }

/* Logo text fallback */
.ntrd-el .logo-img{ height:52px; width:auto; display:block; }
.ntrd-el .logo-fallback{ display:flex; align-items:center; font-weight:800; font-size:22px; color:var(--ink); }
.ntrd-el .logo-fallback--light{ font-size:24px; color:#fff; }

/* Accessibility helpers */
.ntrd-el .screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; padding:0; overflow:hidden;
  position:absolute !important; word-wrap:normal !important;
}
.ntrd-el a:focus-visible, .ntrd-el button:focus-visible, .ntrd-el input:focus-visible{
  outline:2px solid var(--blue-ink); outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  .ntrd-el .pulse-dot, .ntrd-el .curve-natural, .ntrd-el .curve-supported{ animation:none !important; }
}
