/* =========================================================
   NUTRICIÓN SOFÍA · DESIGN SYSTEM 2026
   Clinical Premium + Health-Tech Editorial
   Namespaced to .nso-theme / .nso-ui to avoid Elementor collisions.
========================================================= */
:root{
  --nso-ink:#24211f;
  --nso-ink-2:#3c3733;
  --nso-muted:#70675f;
  --nso-muted-2:#92887f;
  --nso-cream:#f7f2e9;
  --nso-cream-2:#fffaf4;
  --nso-surface:#fffdf9;
  --nso-surface-2:#ffffff;
  --nso-line:rgba(74,64,57,.12);
  --nso-line-strong:rgba(74,64,57,.20);
  --nso-pink:#e83d9b;
  --nso-pink-2:#cf2f85;
  --nso-pink-soft:rgba(232,61,155,.10);
  --nso-green:#95a56b;
  --nso-green-2:#738252;
  --nso-green-soft:rgba(149,165,107,.12);
  --nso-gold:#c69a6b;
  --nso-brown:#6f625d;
  --nso-dark:#191716;
  --nso-dark-2:#24211f;
  --nso-shadow-xs:0 5px 16px rgba(41,35,31,.05);
  --nso-shadow-sm:0 12px 30px rgba(41,35,31,.07);
  --nso-shadow-md:0 22px 54px rgba(41,35,31,.10);
  --nso-shadow-lg:0 32px 90px rgba(41,35,31,.14);
  --nso-radius-xs:12px;
  --nso-radius-sm:16px;
  --nso-radius-md:22px;
  --nso-radius-lg:30px;
  --nso-radius-xl:40px;
  --nso-radius-pill:999px;
  --nso-container:1180px;
  --nso-container-wide:1360px;
  --nso-ease:cubic-bezier(.2,.75,.2,1);
  --nso-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --nso-title:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;
}

body.nso-theme{
  color:var(--nso-ink);
  background:var(--nso-cream);
  font-family:var(--nso-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.nso-theme :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(232,61,155,.28);
  outline-offset:3px;
}

.nso-svg-sprite{position:absolute;overflow:hidden;pointer-events:none}
.nso-icon{width:1.15em;height:1.15em;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.nso-ui{font-family:var(--nso-font);color:var(--nso-ink)}
.nso-ui,.nso-ui *,.nso-ui *::before,.nso-ui *::after{box-sizing:border-box}
.nso-ui img{display:block;max-width:100%;height:auto}
.nso-ui a{text-decoration:none}
.nso-ui h1,.nso-ui h2,.nso-ui h3,.nso-ui h4{font-family:var(--nso-title);color:var(--nso-ink);margin:0;text-wrap:balance}
.nso-ui p{margin:0;color:var(--nso-muted);line-height:1.68}

.nso-shell{width:min(calc(100% - 36px),var(--nso-container));margin-inline:auto}
.nso-shell--wide{width:min(calc(100% - 36px),var(--nso-container-wide));margin-inline:auto}
.nso-section{padding:clamp(64px,7vw,112px) 0}
.nso-section--surface{background:var(--nso-surface)}
.nso-section--dark{background:var(--nso-dark);color:#fff}

.nso-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;min-height:34px;padding:8px 13px;border:1px solid var(--nso-line);border-radius:var(--nso-radius-pill);background:rgba(255,255,255,.62);color:var(--nso-brown);font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;backdrop-filter:blur(10px)}
.nso-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nso-pink);box-shadow:0 0 0 5px rgba(232,61,155,.09)}
.nso-kicker--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.84)}

.nso-display{font-size:clamp(2.7rem,6.4vw,6.7rem);line-height:.92;letter-spacing:-.065em;font-weight:900}
.nso-h1{font-size:clamp(2.45rem,5.3vw,5.2rem);line-height:.96;letter-spacing:-.055em;font-weight:900}
.nso-h2{font-size:clamp(2rem,4vw,3.85rem);line-height:1.01;letter-spacing:-.05em;font-weight:900}
.nso-h3{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.1;letter-spacing:-.035em;font-weight:850}
.nso-lead{font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.72;color:var(--nso-muted)}
.nso-gradient-text{background:linear-gradient(110deg,var(--nso-pink),#c47b9f 47%,var(--nso-green-2));-webkit-background-clip:text;background-clip:text;color:transparent}

.nso-btn-26{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 20px;border:1px solid transparent;border-radius:var(--nso-radius-pill);font-size:.9rem;font-weight:900;line-height:1.1;transition:transform .22s var(--nso-ease),box-shadow .22s var(--nso-ease),background .22s var(--nso-ease),border-color .22s var(--nso-ease),color .22s var(--nso-ease)}
.nso-btn-26:hover{transform:translateY(-2px)}
.nso-btn-26--primary{background:linear-gradient(135deg,var(--nso-pink),#dd3c91);color:#fff;box-shadow:0 14px 30px rgba(232,61,155,.22)}
.nso-btn-26--primary:hover{box-shadow:0 20px 40px rgba(232,61,155,.29)}
.nso-btn-26--ghost{background:rgba(255,255,255,.72);border-color:var(--nso-line);color:var(--nso-ink);backdrop-filter:blur(12px)}
.nso-btn-26--dark{background:var(--nso-dark);color:#fff}
.nso-btn-26 .nso-icon{transition:transform .22s var(--nso-ease)}
.nso-btn-26:hover .nso-icon{transform:translate(2px,-1px)}

.nso-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 11px;border:1px solid var(--nso-line);border-radius:var(--nso-radius-pill);background:rgba(255,255,255,.74);color:var(--nso-muted);font-size:.78rem;font-weight:800;backdrop-filter:blur(10px)}
.nso-chip .nso-icon{color:var(--nso-pink)}

.nso-iconbox{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,rgba(232,61,155,.12),rgba(149,165,107,.10));border:1px solid rgba(232,61,155,.08);color:var(--nso-pink)}
.nso-iconbox .nso-icon{width:24px;height:24px}

.nso-glass{background:rgba(255,253,249,.72);border:1px solid rgba(255,255,255,.70);box-shadow:var(--nso-shadow-md);backdrop-filter:blur(18px) saturate(130%)}
.nso-card-26{position:relative;overflow:hidden;border:1px solid var(--nso-line);border-radius:var(--nso-radius-lg);background:var(--nso-surface);box-shadow:var(--nso-shadow-sm);transition:transform .26s var(--nso-ease),box-shadow .26s var(--nso-ease),border-color .26s var(--nso-ease)}
.nso-card-26:hover{transform:translateY(-5px);border-color:rgba(232,61,155,.18);box-shadow:var(--nso-shadow-md)}
.nso-card-26::after{content:"";position:absolute;width:170px;height:170px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(232,61,155,.10),transparent 68%);pointer-events:none}

.nso-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.nso-bento>*{min-width:0}
.nso-bento--4{grid-column:span 4}
.nso-bento--5{grid-column:span 5}
.nso-bento--6{grid-column:span 6}
.nso-bento--7{grid-column:span 7}
.nso-bento--8{grid-column:span 8}
.nso-bento--12{grid-column:span 12}

.nso-noise{position:relative;isolation:isolate}
.nso-noise::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(80,70,62,.16) .55px,transparent .55px);background-size:8px 8px;mask-image:linear-gradient(to bottom,black,transparent 72%)}

@media(max-width:767px){
  .nso-shell,.nso-shell--wide{width:min(calc(100% - 28px),var(--nso-container))}
  .nso-section{padding:58px 0}
  .nso-display{font-size:clamp(2.6rem,14vw,4rem)}
  .nso-h1{font-size:clamp(2.25rem,11vw,3.5rem)}
  .nso-h2{font-size:clamp(1.9rem,9vw,2.7rem)}
  .nso-bento{grid-template-columns:1fr;gap:12px}
  .nso-bento>*{grid-column:1!important}
  .nso-btn-26{width:100%}
}
