/* ==========================================================================
   SUPLEMENTO SEM DÚVIDA — « A BULA QUE O SUPLEMENTO NÃO TEM »
   Site-locked to suplementosemduvida.com.br. Not a fleet template.

   THE DIRECTION
   What a Brazilian already reads before taking anything: the bula (numbered
   questions in capitals, a folded leaflet), the tarja on the box, the
   black-ruled Tabela Nutricional on every jar, a yellow marca-texto, and the
   line every medicine advert ends with — "ao persistirem os sintomas, o médico
   deverá ser consultado" — here for doubts and the nutritionist.

     Verde     "sem dúvida": links, the mark, the numbers of the bula
     Marca     the yellow highlighter: hover, the "?" stamp, the TV line
     Alerta    burnt orange: risks, pregnancy, children — read with care
     Papel     leaflet paper: page background
     Tinta     label black: text, rules, the tarja and the table

   Three voices of type:
     Barlow Semi Condensed  the label and the bula's capitals, headlines
     Source Sans 3          reading copy and the interface
     IBM Plex Mono          counts and doses
   ========================================================================== */
:root{
  --verde:  #0E7C5A;
  --marca:  #F7D046;
  --alerta: #C2410C;
  --papel:  #FAF9F5;
  --tinta:  #14171C;
  --linha:  #DDD8CC;

  --white:        #FFFFFF;
  --noite:        #0E1B16;
  --verde-deep:   color-mix(in srgb, var(--verde) 78%, #000000);
  --verde-tint:   color-mix(in srgb, var(--verde) 7%, #FFFFFF);
  --verde-soft:   color-mix(in srgb, var(--verde) 20%, #FFFFFF);
  --marca-soft:   color-mix(in srgb, var(--marca) 45%, #FFFFFF);
  --marca-ink:    color-mix(in srgb, var(--marca) 30%, #3A2E00);
  --alerta-deep:  color-mix(in srgb, var(--alerta) 82%, #000000);
  --alerta-tint:  color-mix(in srgb, var(--alerta) 8%, #FFFFFF);
  --papel-deep:   color-mix(in srgb, var(--papel) 86%, #BDB49E);
  --tinta-2:      color-mix(in srgb, var(--tinta) 86%, #FFFFFF);
  --tinta-3:      color-mix(in srgb, var(--tinta) 64%, #FFFFFF);
  --tinta-4:      color-mix(in srgb, var(--tinta) 46%, #FFFFFF);
  --linha-2:      color-mix(in srgb, var(--linha) 55%, #FFFFFF);
  --linha-strong: color-mix(in srgb, var(--linha) 55%, #7D7462);
  --foot-ink:     #DCE7E1;
  --foot-mute:    #97ADA4;
  --foot-rule:    rgba(255,255,255,.12);

  --font-display: "Barlow Semi Condensed", "Arial Narrow", Arial, sans-serif;
  --font-body:    "Source Sans 3", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --container:  1240px;
  --read:       720px;
  --measure:    66ch;
  --radius:     6px;
  --radius-lg:  12px;
  --base-size:  18px;
  --base-lh:    1.65;
  --ease:       cubic-bezier(.2,.6,.3,1);
  --t:          150ms;
}

html, body{ overflow-x:hidden; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0; background:var(--papel); color:var(--tinta);
  font-family:var(--font-body); font-size:var(--base-size); line-height:var(--base-lh);
  font-kerning:normal; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; height:auto; }
svg{ display:block; }
a{ color:var(--verde-deep); text-decoration:none; }
a:hover{ color:var(--tinta); }
:focus-visible{ outline:2px solid var(--verde); outline-offset:3px; }
::selection{ background:var(--marca-soft); color:var(--tinta); }
.container{ max-width:var(--container); margin-inline:auto; padding-inline:clamp(16px,4vw,48px); position:relative; }
.container .container{ max-width:none; padding-inline:0; }
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--verde); color:#fff; padding:.7rem 1.1rem; font-weight:700; }
.skip-link:focus{ left:0; }
.visually-hidden{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
[id]{ scroll-margin-top:96px; }

/* --- The label voice: condensed capitals, as a bula and a jar print them. -- */
.label, .kicker, .lk-desc, .finder-label, .finder-terms span, .foot-h, .foot-top-link, .toc-h, .breadcrumb, .post-card-meta,
.result-meta, .results-count, .pl-eyebrow, .eyebrow, .post-cat, .card-tag, .pc-tag, .post-links h2, .chip, .section-cap,
.stat .l, .article-body thead th, .article-body .pro-tip::before, .article-body .related-inline-link::before, .pagination,
.src-org, .bula-sub, .bc-n, .bc-part, .mini-n, .myth-go, .who-tag, .tb-serv, .tb thead th, .lb-head, .bula-cap, .sub-title{
  font-family:var(--font-display); font-weight:600; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; line-height:1.35;
}

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; letter-spacing:-.005em; margin:0; color:var(--tinta); }
p{ margin:0 0 1rem; }
.muted{ color:var(--tinta-3); }
.accent{ color:var(--verde); font-style:normal; }
.center{ text-align:center; }
.display{ font-family:var(--font-display); font-weight:700; letter-spacing:-.01em; }
.lead{ font-size:1.12rem; line-height:1.6; color:var(--tinta-2); max-width:var(--measure); }
.eyebrow{ display:inline-block; color:var(--verde); margin-bottom:.6rem; }

/* --- The mark: a magnifying glass over a tick ------------------------------- */
.mark{ width:42px; height:42px; flex:none; }
.mark-lg{ width:52px; height:52px; }
.mk-tile{ fill:var(--verde); }
.mk-lens{ fill:none; stroke:#FFFFFF; stroke-width:3.2; }
.mk-handle{ fill:none; stroke:var(--marca); stroke-width:4.2; stroke-linecap:round; }
.mk-tick{ fill:none; stroke:var(--marca); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.lk-text{ display:flex; flex-direction:column; gap:.18rem; min-width:0; margin-left:.15rem; }
.lk-word{ display:flex; align-items:baseline; gap:.24em; font-family:var(--font-display); font-size:1.5rem; line-height:1; letter-spacing:-.01em; }
.lk-w1{ font-weight:700; color:var(--tinta); }
.lk-w2{ font-weight:500; color:var(--verde); }
.lk-w3{ font-weight:700; color:var(--tinta); background:linear-gradient(transparent 58%, var(--marca) 58% 92%, transparent 92%); padding:0 .06em; }
.lk-name{ font-family:var(--font-display); font-weight:700; font-size:1.38rem; line-height:1; color:var(--tinta); white-space:nowrap; }
.lk-desc{ font-size:.66rem; letter-spacing:.07em; color:var(--tinta-3); }
.lk-img{ height:42px; width:auto; }
.mark-lg + .lk-text .lk-word{ font-size:1.8rem; }
.mark-lg + .lk-text .lk-w1, .mark-lg + .lk-text .lk-w3{ color:#FFFFFF; }
.mark-lg + .lk-text .lk-w2{ color:#8FD3B5; }
.mark-lg + .lk-text .lk-w3{ background:linear-gradient(transparent 58%, color-mix(in srgb, var(--marca) 55%, transparent) 58% 92%, transparent 92%); }
.mark-lg + .lk-text .lk-desc{ color:var(--foot-mute); }

/* --- The top line ------------------------------------------------------------ */
.topline{ background:var(--tinta); color:#E9ECEF; }
.topline-in{ display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:34px; }
.topline-what, .topline-asof{ font-family:var(--font-display); font-weight:600; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; line-height:1.3; }
.topline-asof{ white-space:nowrap; color:var(--marca); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{ position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--papel) 94%, #FFFFFF); border-bottom:1px solid var(--linha); transition:box-shadow var(--t) var(--ease); }
.site-header.is-scrolled{ box-shadow:0 10px 24px -20px rgba(20,23,28,.5); }
.nav{ display:flex; align-items:center; gap:1.3rem; min-height:76px; }
.nav-brand{ display:flex; align-items:center; gap:.6rem; color:var(--tinta); flex:none; }
.nav-brand:hover{ color:var(--tinta); }
.nav-links{ display:flex; align-items:center; gap:1.2rem; margin-left:auto; }
.nav-link{ position:relative; padding:.4rem 0; color:var(--tinta-2); font-weight:600; font-size:.95rem; white-space:nowrap; }
.nav-link::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--marca); transform:scaleX(0); transform-origin:left; transition:transform var(--t) var(--ease); }
.nav-link:hover{ color:var(--tinta); }
.nav-link:hover::after{ transform:scaleX(1); }
.nav-tail{ display:flex; align-items:center; gap:.6rem; }
.nav-search{ display:flex; align-items:center; height:40px; background:var(--white); border:1.5px solid var(--linha-strong); border-radius:8px; overflow:hidden; }
.nav-search input{ width:140px; border:0; outline:0; background:transparent; padding:0 .3rem 0 .9rem; font:inherit; font-size:.95rem; color:var(--tinta); }
.nav-search button{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; background:transparent; color:var(--verde); cursor:pointer; }
.nav-search button svg{ width:18px; height:18px; }
.nav-search:focus-within{ border-color:var(--verde); }
.nav-toggle{ display:none; align-items:center; justify-content:center; width:44px; height:44px; border:1.5px solid var(--linha-strong); border-radius:8px; background:var(--white); cursor:pointer; }
.nav-burger, .nav-burger::before, .nav-burger::after{ display:block; width:18px; height:2px; background:var(--tinta); border-radius:2px; position:relative; transition:transform var(--t) var(--ease); }
.nav-burger::before, .nav-burger::after{ content:""; position:absolute; left:0; }
.nav-burger::before{ top:-6px; }
.nav-burger::after{ top:6px; }
.site-header.is-open .nav-burger{ background:transparent; }
.site-header.is-open .nav-burger::before{ transform:translateY(6px) rotate(45deg); }
.site-header.is-open .nav-burger::after{ transform:translateY(-6px) rotate(-45deg); }

/* ==========================================================================
   HERO — the wordmark, the question, the bula
   ========================================================================== */
.hero{
  position:relative;
  background:
    radial-gradient(60% 80% at 100% 0%, color-mix(in srgb, var(--verde) 9%, transparent) 0%, transparent 62%),
    var(--papel);
  padding:clamp(40px,5.4vw,76px) 0 clamp(44px,5.4vw,80px);
  border-bottom:1px solid var(--linha);
}
.hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(28px,4.6vw,72px); align-items:center; }
.kicker{ color:var(--verde); margin:0 0 1rem; display:flex; align-items:center; gap:.7rem; }
.kicker::before{ content:""; width:26px; height:3px; background:var(--marca); flex:none; }
.hero-title{ font-family:var(--font-display); font-weight:700; font-size:clamp(2.5rem,6vw,4.7rem); line-height:.95; letter-spacing:-.02em; margin:0; color:var(--tinta); overflow-wrap:anywhere; }
.hero-title .wm{ display:inline; }
/* The title is the domain, letter for letter ("suplementosemduvida"), so it is set as a stacked lockup — suplemento / sem /
   dúvida — with the address it is: the three words never run into each other, and the H1's text stays the title. */
.hero-title.is-domain{ font-size:clamp(2.9rem,6.6vw,5.4rem); line-height:.9; }
.hero-title.is-domain .wm{ display:block; width:fit-content; }
.hero-title.is-domain wbr{ display:none; }
.hero-title.is-domain .wm-1{ color:var(--tinta); }
.hero-title.is-domain .wm-2{ color:var(--verde); font-weight:600; font-size:.46em; line-height:1.1; letter-spacing:.06em; text-transform:uppercase; margin:.12em 0 .06em .06em; }
.hero-title.is-domain .wm-3{ color:var(--tinta); background:linear-gradient(transparent 62%, var(--marca) 62% 92%, transparent 92%); padding:0 0 0 .04em; }
.hero-title.is-domain .wm-3::after{ content:".com.br"; font-weight:500; font-size:.3em; letter-spacing:.02em; color:var(--tinta-3); margin-left:.14em; white-space:nowrap; background:var(--papel); }
.hero-title.is-spaced .wm-2{ color:var(--verde); font-weight:500; }
.hero-title.is-spaced .wm-3{ background:linear-gradient(transparent 60%, var(--marca) 60% 90%, transparent 90%); }
.hero-tag{ margin:1.15rem 0 0; font-family:var(--font-display); font-weight:600; font-size:clamp(1.35rem,2.4vw,1.8rem); line-height:1.2; color:var(--tinta); max-width:30ch; text-wrap:balance; }
.hero-lead{ margin:.9rem 0 0; font-size:1.1rem; line-height:1.6; color:var(--tinta-2); max-width:54ch; }
.finder{ margin-top:1.6rem; max-width:620px; }
.finder-label{ display:block; color:var(--tinta-3); margin-bottom:.55rem; }
.finder-row{ display:flex; align-items:stretch; background:var(--white); border:2px solid var(--tinta); border-radius:10px; overflow:hidden; box-shadow:0 16px 30px -24px rgba(20,23,28,.55); }
.finder-input{ flex:1; min-width:0; border:0; outline:0; background:transparent; padding:.95rem 1.05rem; font:inherit; font-size:1.04rem; color:var(--tinta); }
.finder-go{ display:flex; align-items:center; gap:.6rem; padding:0 1.35rem; border:0; background:var(--verde); color:#FFFFFF; cursor:pointer;
  font-family:var(--font-display); font-weight:700; font-size:1rem; letter-spacing:.08em; text-transform:uppercase; transition:background var(--t) var(--ease); }
.finder-go svg{ width:22px; height:12px; }
.finder-go:hover{ background:var(--verde-deep); }
.finder-row:focus-within{ border-color:var(--verde); }
.finder-terms{ display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .5rem; margin:.95rem 0 0; }
.finder-terms span{ color:var(--tinta-3); margin-right:.2rem; }
.finder-terms a{ padding:.26rem .72rem; border:1px solid var(--linha-strong); border-radius:999px; background:var(--white); font-size:.95rem; color:var(--tinta-2); }
.finder-terms a:hover{ border-color:var(--tinta); background:var(--marca); color:var(--tinta); }

/* --- The bula: a folded leaflet, numbered questions, the tarja ------------------ */
.bula{ margin:0; justify-self:end; width:100%; max-width:500px; }
.bula-sheet{
  position:relative; padding:1.3rem 1.35rem 1.2rem; background:var(--white); border:1px solid var(--linha-strong); border-radius:4px;
  box-shadow:0 1px 0 var(--linha), 0 22px 40px -30px rgba(20,23,28,.55);
  background-image:
    linear-gradient(90deg, transparent calc(33.33% - 1px), rgba(20,23,28,.06) calc(33.33% - 1px) 33.33%, transparent 33.33%),
    linear-gradient(90deg, transparent calc(66.66% - 1px), rgba(20,23,28,.06) calc(66.66% - 1px) 66.66%, transparent 66.66%),
    linear-gradient(180deg, transparent calc(50% - 1px), rgba(20,23,28,.05) calc(50% - 1px) 50%, transparent 50%);
}
.bula-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin:0 0 .9rem; padding-bottom:.65rem; border-bottom:3px solid var(--tinta);
  font-family:var(--font-display); font-weight:700; font-size:1.15rem; letter-spacing:.06em; text-transform:uppercase; line-height:1.1; }
.bula-sub{ color:var(--alerta); font-size:.7rem; white-space:nowrap; }
.bula-qs{ list-style:none; margin:0; padding:0; }
.bula-qs li{ display:grid; grid-template-columns:2rem minmax(0,1fr) auto; gap:.2rem .75rem; align-items:start; padding:.72rem 0; border-bottom:1px solid var(--linha-2); }
.bula-qs li:last-child{ border-bottom:0; }
.bq-no{ display:flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; background:var(--tinta); color:#FFFFFF; border-radius:3px;
  font-family:var(--font-display); font-weight:700; font-size:1rem; line-height:1; font-variant-numeric:tabular-nums; }
.bq-txt{ display:flex; flex-direction:column; gap:.12rem; min-width:0; }
.bq-q{ font-family:var(--font-display); font-weight:700; font-size:1.06rem; letter-spacing:.03em; text-transform:uppercase; line-height:1.2; color:var(--tinta); }
.bq-a{ font-size:.95rem; line-height:1.42; color:var(--tinta-3); }
.bq-n{ font-family:var(--font-mono); font-size:.82rem; color:var(--verde-deep); font-variant-numeric:tabular-nums; padding-top:.18rem; white-space:nowrap; }
.bula-go{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-family:var(--font-display); font-weight:700; font-size:.95rem; letter-spacing:.07em; text-transform:uppercase; color:var(--verde-deep); }
.bula-go:hover{ color:var(--tinta); background:var(--marca); }
.tarja{ margin:0; padding:.62rem 1rem; background:var(--tinta); color:#FFFFFF; text-align:center; border-radius:0 0 4px 4px;
  font-family:var(--font-display); font-weight:700; font-size:.86rem; letter-spacing:.16em; text-transform:uppercase; line-height:1.25; }
.bula-cap{ margin-top:.75rem; color:var(--tinta-3); font-size:.7rem; letter-spacing:.06em; text-transform:none; font-family:var(--font-body); font-weight:400; font-size:.92rem; line-height:1.45; }

/* ==========================================================================
   BANDS
   ========================================================================== */
.band{ padding:clamp(52px,6.4vw,92px) 0; border-bottom:1px solid var(--linha); }
.band-head{ margin-bottom:clamp(22px,2.6vw,34px); max-width:72ch; }
.band-head .label{ color:var(--verde); margin:0 0 .55rem; display:flex; align-items:center; gap:.6rem; }
.band-head .label::before{ content:""; width:22px; height:3px; background:var(--marca); flex:none; }
.band-title{ font-size:clamp(1.85rem,3.4vw,2.7rem); line-height:1.05; letter-spacing:-.01em; color:var(--tinta); text-wrap:balance; }
.band-note{ margin:.85rem 0 0; font-size:1.04rem; line-height:1.6; color:var(--tinta-3); max-width:64ch; }
.sub-title{ margin:clamp(34px,4vw,52px) 0 1rem; color:var(--tinta-3); font-size:.86rem; padding-bottom:.6rem; border-bottom:2px solid var(--tinta); }

/* --- The shelf of bulas ---------------------------------------------------------- */
.bulas-band{ background:var(--white); }
.bula-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(14px,1.6vw,22px); }
.bcard{ display:flex; flex-direction:column; min-width:0; padding:1.1rem 1.15rem .6rem; background:var(--papel); border:1px solid var(--linha); border-top:4px solid var(--verde); border-radius:4px; }
.bc-head{ display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; column-gap:.75rem; align-items:center; }
.bc-ic{ grid-row:1 / 3; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--verde-tint); border:1px solid var(--verde-soft); color:var(--verde-deep); }
.bc-ic .ic{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bc-name{ font-family:var(--font-display); font-weight:700; font-size:1.32rem; line-height:1.08; letter-spacing:.01em; text-transform:uppercase; color:var(--tinta); }
.bc-n{ color:var(--tinta-3); font-size:.72rem; }
.bc-line{ margin:.75rem 0 .5rem; font-size:.97rem; line-height:1.45; color:var(--tinta-3); }
.bc-qs{ list-style:none; margin:auto 0 0; padding:0; border-top:2px solid var(--tinta); }
.bc-qs li{ display:flex; align-items:center; flex-wrap:wrap; gap:.1rem .5rem; border-bottom:1px solid var(--linha-2); }
.bc-qs li:last-child{ border-bottom:0; }
.bc-q{ flex:1 1 auto; display:grid; grid-template-columns:1.6rem minmax(0,1fr) auto; gap:.6rem; align-items:center; padding:.55rem 0; color:var(--tinta); min-width:0; }
.bc-q .bq-no{ width:1.5rem; height:1.5rem; font-size:.86rem; background:var(--white); color:var(--tinta); border:1.5px solid var(--tinta); }
.bc-qt{ font-weight:600; font-size:1rem; line-height:1.3; padding:0 .1em; }
.bc-qn{ font-family:var(--font-mono); font-size:.78rem; color:var(--tinta-4); font-variant-numeric:tabular-nums; }
.bc-q:hover{ color:var(--tinta); }
.bc-q:hover .bc-qt{ background:var(--marca); }
.bc-q:hover .bq-no{ background:var(--tinta); color:#FFFFFF; }
.bc-part{ margin:0 0 0 auto; padding:.12rem .45rem; border:1px solid var(--linha-strong); border-radius:3px; color:var(--tinta-3); font-size:.64rem; white-space:nowrap; }
.bc-part:hover{ border-color:var(--tinta); color:var(--tinta); background:var(--marca); }

.mini-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:0 clamp(16px,2vw,32px); }
.mini-grid li{ border-bottom:1px solid var(--linha-2); }
.mini{ display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:.75rem; align-items:center; padding:.75rem 0; color:var(--tinta); }
.mini-ic{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--papel); border:1px solid var(--linha); color:var(--verde-deep); }
.mini-ic .ic{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mini-txt{ display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.mini-name{ font-family:var(--font-display); font-weight:700; font-size:1.08rem; line-height:1.2; }
.mini-line{ font-size:.9rem; line-height:1.35; color:var(--tinta-3); }
.mini-n{ font-family:var(--font-mono); font-size:.76rem; color:var(--tinta-4); }
.mini:hover .mini-name{ background:var(--marca); }

/* --- Most asked --------------------------------------------------------------- */
.toplist{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(24px,3vw,48px); border-top:2px solid var(--tinta); }
.toplist li{ border-bottom:1px solid var(--linha); }
.toplist a{ display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto; gap:.8rem; align-items:baseline; padding:1rem 0; color:var(--tinta); }
.tl-no{ font-family:var(--font-mono); font-size:.92rem; color:var(--verde); font-variant-numeric:tabular-nums; }
.tl-q{ font-weight:600; font-size:1.12rem; line-height:1.38; }
.tl-go{ color:var(--tinta-4); transition:transform var(--t) var(--ease); }
.toplist a:hover .tl-q{ background:var(--marca); }
.toplist a:hover .tl-go{ color:var(--verde); transform:translateX(3px); }

/* --- Myth or truth: a yellow "?" stamp ----------------------------------------- */
.myths-band{ background:var(--white); }
.myth-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:clamp(14px,1.6vw,22px); }
.myth{ position:relative; display:flex; flex-direction:column; gap:.8rem; height:100%; padding:1.2rem 1.2rem 1.1rem; background:var(--papel); border:1px solid var(--linha); border-radius:var(--radius-lg); color:var(--tinta); transition:border-color var(--t) var(--ease), transform var(--t) var(--ease); }
.myth-stamp{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--marca); color:var(--tinta);
  font-family:var(--font-display); font-weight:700; font-size:1.7rem; line-height:1; transform:rotate(-8deg); box-shadow:inset 0 0 0 2px rgba(20,23,28,.85); }
.myth-q{ font-family:var(--font-display); font-weight:700; font-size:1.42rem; line-height:1.12; color:var(--tinta); }
.myth-go{ margin-top:auto; color:var(--verde-deep); font-size:.74rem; }
.myth:hover{ border-color:var(--tinta); transform:translateY(-2px); }
.myth:hover .myth-go{ color:var(--tinta); }

/* --- Who may take it ------------------------------------------------------------- */
.who-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(24px,4vw,64px); align-items:start; }
.who-list{ list-style:none; margin:0; padding:0; border-top:2px solid var(--tinta); }
.who-list li{ border-bottom:1px solid var(--linha); }
.who-list a{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.8rem; align-items:center; padding:.85rem 0; color:var(--tinta); }
.who-tag{ display:inline-block; min-width:7.4rem; padding:.22rem .55rem; border-radius:999px; text-align:center; font-size:.66rem; }
.who-tag.is-gestante, .who-tag.is-lactante{ background:var(--alerta-tint); color:var(--alerta-deep); border:1px solid color-mix(in srgb, var(--alerta) 30%, #FFFFFF); }
.who-tag.is-crianca{ background:var(--verde-tint); color:var(--verde-deep); border:1px solid var(--verde-soft); }
.who-q{ font-weight:600; font-size:1.08rem; line-height:1.36; }
.who-go{ color:var(--tinta-4); }
.who-list a:hover .who-q{ background:var(--marca); }

/* --- Goals ----------------------------------------------------------------------- */
.goals-band{ background:var(--white); }
.goal-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.6vw,22px); }
.goal{ padding:1.15rem 1.2rem 1.2rem; background:var(--papel); border:1px solid var(--linha); border-radius:var(--radius-lg); min-width:0; }
.goal-head{ display:flex; align-items:center; gap:.7rem; margin:0 0 .8rem; }
.goal-ic{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:none; border-radius:10px; background:var(--verde); color:#FFFFFF; }
.goal-ic .ic{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.goal-name{ font-family:var(--font-display); font-weight:700; font-size:1.3rem; line-height:1.12; color:var(--tinta); }
a.goal-name:hover{ background:var(--marca); color:var(--tinta); }
.goal-links{ display:flex; flex-wrap:wrap; gap:.4rem; margin:0; }
.goal-links a{ padding:.28rem .7rem; border:1px solid var(--linha-strong); border-radius:999px; background:var(--white); font-size:.92rem; color:var(--tinta-2); }
.goal-links a:hover{ border-color:var(--tinta); background:var(--marca); color:var(--tinta); }

/* --- The label: the Tabela Nutricional, and how to read one --------------------- */
.label-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,4.4vw,72px); align-items:start; }
.tabela{ padding:.8rem .95rem .9rem; background:var(--white); border:2px solid var(--tinta); max-width:440px; color:var(--tinta); }
.tb-head{ margin:0; padding-bottom:.35rem; border-bottom:1px solid var(--tinta); font-family:var(--font-display); font-weight:700; font-size:1.25rem; letter-spacing:.03em; text-transform:uppercase; line-height:1.1; }
.tb-serv{ margin:.35rem 0 0; padding-bottom:.4rem; border-bottom:6px solid var(--tinta); color:var(--tinta-2); font-size:.72rem; }
.tb{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.tb thead th{ padding:.35rem 0; text-align:right; border-bottom:2px solid var(--tinta); color:var(--tinta-2); font-size:.66rem; }
.tb tbody th{ padding:.45rem .5rem .45rem 0; text-align:left; font-weight:600; font-size:.98rem; border-bottom:1px solid var(--tinta); }
.tb tbody td{ padding:.45rem 0; text-align:right; font-family:var(--font-mono); font-size:.92rem; border-bottom:1px solid var(--tinta); white-space:nowrap; }
.tb tbody tr.tb-joke th{ font-weight:400; font-style:italic; padding-left:.9rem; }
.tb tbody tr:last-child th, .tb tbody tr:last-child td{ border-bottom:3px solid var(--tinta); }
.tb-foot{ margin:.55rem 0 0; font-size:.78rem; line-height:1.4; color:var(--tinta-2); }
.tips{ list-style:none; margin:0; padding:0; display:grid; gap:1.1rem; }
.tips li{ display:grid; grid-template-columns:2.2rem minmax(0,1fr); gap:.9rem; align-items:start; }
.tip-no{ display:flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:var(--verde); color:#FFFFFF; font-family:var(--font-display); font-weight:700; font-size:1.05rem; }
.tip-h{ font-size:1.22rem; line-height:1.18; margin:.2rem 0 .3rem; }
.tip-p{ margin:0; font-size:1rem; line-height:1.58; color:var(--tinta-2); }

/* --- Latest ------------------------------------------------------------------------ */
.latest .section{ padding:0; }
.latest .section-head{ margin-bottom:1.6rem; }
.latest .section-head h2, .latest h2.display{ font-size:clamp(1.85rem,3.4vw,2.7rem); line-height:1.05; color:var(--tinta); }

/* --- How we answer · official sources ------------------------------------------- */
.trust{ background:var(--white); }
.trust-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); gap:clamp(28px,4.4vw,72px); align-items:start; }
.pr-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 2rem; }
.pr-list li{ display:grid; grid-template-columns:2.4rem minmax(0,1fr); gap:.7rem; align-items:start; }
.pr-no{ font-family:var(--font-mono); font-size:.9rem; color:var(--verde); padding-top:.2rem; }
.pr-h{ font-size:1.22rem; line-height:1.18; margin:0 0 .35rem; }
.pr-p{ margin:0; font-size:.98rem; line-height:1.58; color:var(--tinta-2); }
.src{ padding:1.2rem 1.3rem 1.25rem; background:var(--papel); border:1px solid var(--linha); border-radius:var(--radius-lg); }
.src-h{ font-size:1.35rem; margin:0 0 .5rem; }
.src-lead{ margin:0 0 .9rem; font-size:.97rem; line-height:1.55; color:var(--tinta-2); }
.src-list{ list-style:none; margin:0; padding:0; border-top:2px solid var(--tinta); }
.src-list li{ border-bottom:1px solid var(--linha-2); }
.src-list a{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.15rem .8rem; padding:.75rem 0; color:var(--tinta); }
.src-name{ font-weight:600; line-height:1.35; }
.src-org{ grid-column:1; color:var(--tinta-3); font-size:.68rem; }
.src-go{ grid-row:1 / 3; grid-column:2; align-self:center; color:var(--verde); }
.src-list a:hover .src-name{ background:var(--marca); }
.src-note{ margin:.9rem 0 0; font-size:.88rem; line-height:1.55; color:var(--tinta-3); }

/* ==========================================================================
   CARDS — post grid, pillar grid, generic cards
   ========================================================================== */
.post-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:clamp(18px,2vw,26px); }
.post-card{ display:flex; flex-direction:column; min-width:0; background:var(--white); border:1px solid var(--linha); border-radius:var(--radius-lg); transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease); overflow:hidden; }
.post-card:hover{ border-color:var(--tinta); box-shadow:0 14px 30px -24px rgba(20,23,28,.45); }
.post-card-media{ display:none; }
.post-card-body{ padding:1.15rem 1.25rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.post-cat{ color:var(--verde); }
.post-card-title{ font-size:1.28rem; line-height:1.18; margin:0; }
.post-card-title a{ color:var(--tinta); }
.post-card-title a:hover{ background:var(--marca); }
.post-card-excerpt{ margin:0; font-size:.98rem; line-height:1.5; color:var(--tinta-3); }
.post-card-meta{ margin-top:auto; padding-top:.7rem; color:var(--tinta-3); font-size:.7rem; }
.card-grid, .pillar-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:clamp(18px,2vw,26px); }
.card, .pillar-card{ display:block; padding:1.3rem 1.35rem 1.4rem; background:var(--white); border:1px solid var(--linha); border-radius:var(--radius-lg); color:var(--tinta); transition:border-color var(--t) var(--ease); }
.card:hover, .pillar-card:hover{ border-color:var(--tinta); color:var(--tinta); }
.card-tag, .pc-tag{ display:block; color:var(--verde); margin-bottom:.6rem; }
.card h3, .pillar-card h3{ font-size:1.28rem; line-height:1.2; margin:0; }
.pc-arrow{ display:inline-block; margin-top:.8rem; color:var(--tinta-4); }
.card:hover .pc-arrow, .pillar-card:hover .pc-arrow{ color:var(--verde); }
.blk-more{ margin-top:1.8rem; }

/* ==========================================================================
   BUTTONS · CHIPS · PAGINATION
   ========================================================================== */
.btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.3rem; font-family:var(--font-display); font-size:.98rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border:1.5px solid transparent; border-radius:8px; cursor:pointer; transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease); }
.btn--accent{ background:var(--verde); color:#fff; }
.btn--accent:hover{ background:var(--verde-deep); color:#fff; }
.btn--ghost{ background:transparent; border-color:var(--tinta); color:var(--tinta); }
.btn--ghost:hover{ background:var(--marca); color:var(--tinta); }
.btn-row{ display:flex; flex-wrap:wrap; gap:.7rem; }
.chip-row{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.chip{ display:inline-block; padding:.4rem .8rem; border-radius:999px; border:1px solid var(--linha-strong); background:var(--white); color:var(--tinta-2); transition:border-color var(--t) var(--ease), color var(--t) var(--ease); }
.chip:hover{ color:var(--tinta); border-color:var(--tinta); background:var(--marca); }
.pagination{ display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:3rem; padding-top:1.6rem; border-top:1px solid var(--linha); color:var(--tinta-3); }
.pagination a{ padding:.65rem 1.15rem; border:1.5px solid var(--tinta); border-radius:8px; color:var(--tinta); }
.pagination a:hover{ background:var(--marca); }
.pagination span{ font-variant-numeric:tabular-nums; }

/* ==========================================================================
   PAGE SHELL — list, search, topic, legal, about/contact, 404
   ========================================================================== */
.page-shell{ padding:clamp(28px,4vw,52px) 0 clamp(60px,7vw,100px); background:var(--papel); }
.breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .5rem; margin-bottom:1.6rem; color:var(--tinta-3); font-size:.76rem; }
.breadcrumb a{ color:var(--tinta-3); }
.breadcrumb a:hover{ color:var(--tinta); background:var(--marca); }
.breadcrumb [aria-hidden="true"]{ color:var(--verde); }
.breadcrumb [aria-current="page"], .breadcrumb > span:last-child{ color:var(--tinta-4); max-width:46ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-shell h1.display{ font-size:clamp(2.2rem,4.4vw,3.4rem); line-height:1.02; letter-spacing:-.012em; margin:0; color:var(--tinta); text-wrap:balance; }
.page-shell h1.display::first-letter{ text-transform:uppercase; }
.page-shell .section{ padding:clamp(32px,4vw,52px) 0 0; }
.page-shell .section-head h2{ font-size:clamp(1.5rem,2.4vw,1.9rem); }
.results-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.6rem; padding-bottom:1.1rem; border-bottom:2px solid var(--tinta); }
.results-head h1{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin:0; color:var(--tinta); }
.results-count{ color:var(--tinta-3); }
.results-list{ display:flex; flex-direction:column; }
.result{ display:block; padding:1.3rem 0; border-bottom:1px solid var(--linha); color:var(--tinta); }
.result h2{ font-size:1.38rem; line-height:1.2; margin:0; color:var(--tinta); }
.result:hover h2{ background:var(--marca); display:inline; }
.result p{ margin:.45rem 0 0; font-size:1rem; line-height:1.55; color:var(--tinta-3); max-width:76ch; }
.result-meta{ display:flex; gap:.9rem; margin-top:.6rem; color:var(--tinta-4); font-size:.7rem; }
.topic-index{ margin-top:2.6rem; }
.topic-index-head{ margin-bottom:1.1rem; padding-bottom:.8rem; border-bottom:2px solid var(--tinta); }
.topic-index-head p{ margin:.35rem 0 0; color:var(--tinta-3); font-size:.97rem; }
.topic-index-list{ columns:2 320px; column-gap:2.5rem; }
.topic-index-list a{ display:block; break-inside:avoid; padding:.7rem 0; border-bottom:1px solid var(--linha-2); color:var(--tinta-2); font-size:1.02rem; line-height:1.4; }
.topic-index-list a:hover{ color:var(--tinta); background:var(--marca); }

/* ==========================================================================
   ARTICLE
   ========================================================================== */
.article{ padding-bottom:1rem; }
.article-hero{ margin-bottom:clamp(26px,4vw,44px); padding-bottom:clamp(20px,3vw,30px); border-bottom:3px solid var(--tinta); }
.article-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); gap:clamp(20px,3vw,44px); align-items:center; }
.article-hero-grid.solo{ grid-template-columns:minmax(0,1fr); }
.article-hero-copy h1{ font-size:clamp(2.25rem,4.4vw,3.5rem); line-height:1.02; letter-spacing:-.012em; margin:.2rem 0 0; max-width:24ch; color:var(--tinta); text-wrap:balance; }
.post-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:1.1rem; font-size:1rem; color:var(--tinta-3); }
.post-meta [aria-hidden="true"]{ color:var(--verde); }
.post-meta time{ font-variant-numeric:tabular-nums; }
.post-meta strong{ color:var(--tinta); font-weight:600; }
.article-lead{ margin:1.2rem 0 0; font-size:1.2rem; line-height:1.56; color:var(--tinta-2); max-width:60ch; }
.article-hero-media{ margin:0; }
.article-hero-media img{ display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; border-radius:var(--radius-lg); border:1px solid var(--linha); background:var(--white); }
.article-shell{ display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; }
.article-shell:has(.toc){ grid-template-columns:250px minmax(0,1fr); }
.article-shell:not(:has(.toc)){ justify-items:center; }
.article-main{ min-width:0; max-width:var(--read); width:100%; overflow-wrap:break-word; contain:inline-size; }
.toc{ position:sticky; top:100px; padding:1rem 1.1rem .5rem; border-radius:var(--radius-lg); background:var(--white); border:1px solid var(--linha); }
.toc-h{ margin:0 0 .4rem; padding-bottom:.6rem; color:var(--verde); border-bottom:2px solid var(--tinta); }
.toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.toc li{ counter-increment:toc; border-bottom:1px solid var(--linha-2); }
.toc li:last-child{ border-bottom:0; }
.toc a{ display:grid; grid-template-columns:1.8rem minmax(0,1fr); gap:.3rem; padding:.58rem 0; font-size:.95rem; line-height:1.4; color:var(--tinta-2); }
.toc a::before{ content:counter(toc); display:flex; align-items:center; justify-content:center; width:1.3rem; height:1.3rem; margin-top:.05rem; border:1.5px solid var(--tinta); border-radius:3px; font-family:var(--font-display); font-weight:700; font-size:.78rem; line-height:1; color:var(--tinta); font-variant-numeric:tabular-nums; }
.toc a:hover{ color:var(--tinta); }
.toc a:hover::before{ background:var(--tinta); color:#FFFFFF; }
.article-rail{ min-width:0; }
.article-body{ font-size:1.04rem; line-height:var(--base-lh); color:var(--tinta-2); hyphens:auto; -webkit-hyphens:auto; }
.article-body > *:first-child{ margin-top:0; }
.article-body p{ margin:0 0 1.15rem; }
.article-body h2{ margin:2.7rem 0 1rem; padding-top:1.3rem; border-top:1px solid var(--linha); font-size:clamp(1.7rem,2.7vw,2.15rem); line-height:1.1; color:var(--tinta); hyphens:manual; }
.article-body > h2:first-child{ margin-top:0; padding-top:0; border-top:0; }
.article-body h3{ margin:2rem 0 .6rem; font-size:1.38rem; line-height:1.2; hyphens:manual; }
.article-body h4{ margin:1.5rem 0 .45rem; font-family:var(--font-body); font-weight:700; font-size:1.06rem; letter-spacing:0; }
.article-body a{ color:var(--verde-deep); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:color-mix(in srgb, var(--verde) 45%, transparent); }
.article-body a:hover{ color:var(--tinta); background:var(--marca); text-decoration-color:currentColor; }
.article-body strong{ color:var(--tinta); font-weight:700; }
.article-body ul, .article-body ol{ list-style:none; margin:0 0 1.35rem; padding:0; }
.article-body ul > li{ position:relative; padding-left:1.45rem; margin-bottom:.5rem; }
.article-body ul > li::before{ content:""; position:absolute; left:.2rem; top:.62em; width:.5rem; height:.5rem; border-radius:50%; background:var(--verde); }
.article-body ol{ counter-reset:step; }
.article-body ol > li{ counter-increment:step; position:relative; padding-left:2.3rem; margin-bottom:.65rem; }
.article-body ol > li::before{ content:counter(step); position:absolute; left:0; top:.15em; display:flex; align-items:center; justify-content:center; width:1.55rem; height:1.55rem; border-radius:3px; background:var(--tinta); color:#FFFFFF; font-family:var(--font-display); font-weight:700; font-size:.86rem; line-height:1; font-variant-numeric:tabular-nums; }
.article-body .pro-tip{ margin:1.7rem 0; padding:1rem 1.2rem 1.05rem; background:var(--marca-soft); border-left:4px solid var(--marca); border-radius:0 var(--radius) var(--radius) 0; color:var(--tinta); }
.article-body .pro-tip::before{ content:"Dica"; display:block; margin-bottom:.35rem; color:var(--marca-ink); }
.article-body .related-inline-link{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .8rem; margin:1.5rem 0; padding:.8rem 1rem; font-size:0; background:var(--verde-tint); border:1px solid var(--linha); border-radius:var(--radius); }
.article-body .related-inline-link::before{ content:"Veja também"; font-size:.74rem; color:var(--tinta-3); }
.article-body .related-inline-link a{ font-size:1rem; font-weight:600; text-decoration:none; }
.article-body .related-inline-link a:hover{ text-decoration:underline; }
.article-body blockquote{ margin:1.8rem 0; padding:.2rem 0 .2rem 1.3rem; border-left:4px solid var(--verde); color:var(--tinta); font-size:1.18rem; line-height:1.55; }
.article-body blockquote p:last-child{ margin-bottom:0; }
.article-body img{ border:1px solid var(--linha); border-radius:var(--radius); }
.article-body hr{ border:0; border-top:1px solid var(--linha); margin:2.4rem 0; }
.article-body code{ font-family:var(--font-mono); font-size:.86em; padding:.12em .38em; border-radius:4px; background:var(--white); border:1px solid var(--linha); color:var(--verde-deep); }
.article-body pre{ margin:1.5rem 0; padding:1rem 1.2rem; overflow-x:auto; background:var(--white); border:1px solid var(--linha); border-radius:var(--radius); }
.article-body pre code{ padding:0; border:0; background:transparent; color:var(--tinta); }
.table-wrap{ margin:1.8rem 0; overflow-x:auto; border:2px solid var(--tinta); border-radius:2px; }
.article-body table{ width:100%; border-collapse:collapse; font-size:.98rem; font-variant-numeric:tabular-nums; background:var(--white); hyphens:manual; }
.article-body th, .article-body td{ padding:.7rem .95rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--tinta); }
.article-body thead th{ background:var(--white); color:var(--tinta); font-size:.76rem; white-space:nowrap; border-bottom:3px solid var(--tinta); }
.article-body tbody tr:last-child td{ border-bottom:0; }
.inline-cta{ display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin:2.2rem 0; padding:1.3rem 1.4rem; background:var(--white); border:1px solid var(--linha); border-left:4px solid var(--verde); border-radius:0 var(--radius) var(--radius) 0; }
.inline-cta-body{ display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.inline-cta-body strong{ font-family:var(--font-display); font-size:1.2rem; color:var(--tinta); }
.inline-cta-body span{ font-size:.98rem; color:var(--tinta-3); }
.faq{ margin-top:3rem; padding-top:1.3rem; border-top:3px solid var(--tinta); }
.faq h2{ font-size:1.9rem; margin:0 0 .8rem; color:var(--tinta); }
.faq-item{ border-bottom:1px solid var(--linha); }
.faq-item summary{ list-style:none; cursor:pointer; position:relative; padding:1rem 2.6rem 1rem 0; font-weight:600; font-size:1.08rem; line-height:1.42; color:var(--tinta); }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; position:absolute; right:.25rem; top:.5rem; font-family:var(--font-display); font-weight:600; font-size:1.7rem; line-height:1; color:var(--verde); }
.faq-item[open] summary::after{ content:"–"; }
.faq-item summary:hover{ color:var(--tinta); }
.faq-a{ padding:0 0 1.1rem; }
.faq-a p{ margin:0 0 .8rem; font-size:1.02rem; line-height:1.66; color:var(--tinta-2); }
.faq-a p:last-child{ margin-bottom:0; }
.post-links{ margin-top:3rem; padding-top:1.3rem; border-top:1px solid var(--linha); }
.post-links h2{ margin:0 0 1rem; color:var(--verde); }
.pillar-link{ display:flex; align-items:center; gap:1rem; padding:1.1rem 1.25rem; background:var(--white); border:1px solid var(--linha); border-radius:var(--radius-lg); color:var(--tinta); transition:background var(--t) var(--ease); }
.pillar-link:hover{ background:var(--verde-tint); color:var(--tinta); }
.pl-eyebrow{ display:block; margin-bottom:.25rem; color:var(--verde); }
.pl-title{ display:block; font-family:var(--font-display); font-weight:700; font-size:1.3rem; line-height:1.22; color:var(--tinta); }
.pl-arrow{ margin-left:auto; color:var(--verde); font-size:1.2rem; transition:transform var(--t) var(--ease); }
.pillar-link:hover .pl-arrow{ transform:translateX(4px); }

/* --- The reminder after an article: the bula's last word --------------------- */
.lembrete{ max-width:var(--read); margin:clamp(28px,3vw,40px) auto 0; padding:1rem 1.2rem 1.05rem; background:var(--verde-tint); border:1px solid var(--verde-soft); border-left:5px solid var(--verde); border-radius:0 var(--radius) var(--radius) 0; }
.lb-head{ display:flex; align-items:center; gap:.5rem; margin:0 0 .35rem; color:var(--verde-deep); }
.lb-mark .ic{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.lb-text{ margin:0; font-size:.98rem; line-height:1.55; color:var(--tinta-2); }

/* ==========================================================================
   BLOCKS — the Pages studio's own components
   ========================================================================== */
.blk{ padding:clamp(44px,6vw,80px) 0; }
.blk-space{ padding:0; }
.section{ padding:clamp(44px,6vw,80px) 0; }
.section-head{ margin-bottom:1.8rem; }
.section-cap{ color:var(--tinta-3); }
.blk-hero .hero{ padding:clamp(40px,6vw,88px) 0; }
.hero-inner{ display:grid; gap:clamp(24px,3vw,48px); align-items:center; }
.hero h1:not(.hero-title){ font-size:clamp(2.2rem,5vw,3.8rem); line-height:1.02; color:var(--tinta); text-wrap:balance; }
.hero .lead{ margin-top:1.1rem; color:var(--tinta-3); }
.hero-media img{ border:1px solid var(--linha); border-radius:var(--radius); }
.blk-prose, .blk-text{ font-size:1.04rem; line-height:1.7; color:var(--tinta-2); hyphens:auto; }
.blk-prose h2, .blk-text h2{ font-size:1.9rem; margin:2rem 0 .9rem; color:var(--tinta); }
.feat{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(26px,3.4vw,56px); align-items:center; }
.feat-copy h2{ font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:.9rem; }
.feat-media img{ border:1px solid var(--linha); border-radius:var(--radius); }
.blk-feat-title{ margin-bottom:.9rem; }
.cols{ display:grid; gap:clamp(20px,2.4vw,36px); }
.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.col{ padding:1.4rem 1.45rem; background:var(--white); border:1px solid var(--linha); border-radius:var(--radius-lg); min-width:0; }
.col h3{ font-size:1.25rem; margin-bottom:.5rem; }
.col p{ margin:0; font-size:.98rem; line-height:1.6; color:var(--tinta-3); }
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); border-top:2px solid var(--tinta); }
.stat{ padding:1.4rem 1.4rem 1.4rem 0; border-right:1px solid var(--linha); }
.stat:last-child{ border-right:0; }
.stat .n{ display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(2rem,3.4vw,2.7rem); line-height:1; font-variant-numeric:tabular-nums lining-nums; color:var(--tinta); }
.stat .l{ display:block; margin-top:.5rem; color:var(--tinta-3); }
.sec-stat-band{ border-top:0; }
.blk-quote blockquote, .sec-quote blockquote{ margin:0; padding:0 0 0 1.4rem; border-left:4px solid var(--verde); font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.38; color:var(--tinta); max-width:36ch; }
.cite{ display:block; margin-top:.9rem; font-size:.92rem; color:var(--tinta-3); }
.cta, .cta-band, .sec-cta-band{ padding:clamp(32px,4.4vw,60px) clamp(24px,4vw,54px); background:var(--white); border:1px solid var(--linha); border-radius:var(--radius-lg); text-align:center; }
.cta h2, .cta-band h2{ font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:.8rem; color:var(--tinta); }
.cta p, .cta-band p{ color:var(--tinta-3); max-width:56ch; margin-inline:auto; }
.cta .btn-row, .cta-band .btn-row{ justify-content:center; margin-top:1.5rem; }
.blk-divider hr, hr{ border:0; border-top:1px solid var(--linha); margin:0; }
.blk-figure figcaption{ margin-top:.7rem; font-size:.92rem; color:var(--tinta-3); }
.blk-notfound .lead{ margin-inline:auto; }

/* ==========================================================================
   FOOTER — label black-green, and the line every advert ends with
   ========================================================================== */
.site-footer{ position:relative; background:var(--noite); color:var(--foot-ink); padding:clamp(52px,6vw,84px) 0 clamp(28px,3vw,40px); }
.site-footer::before{ content:""; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg, var(--verde) 0 70%, var(--marca) 70% 100%); }
.site-footer :focus-visible{ outline-color:var(--marca); }
.foot-top{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); gap:clamp(32px,4vw,76px); padding-bottom:clamp(8px,1vw,16px); }
.foot-brand-col{ min-width:0; }
.foot-brand{ display:inline-flex; align-items:center; gap:.6rem; color:#FFFFFF; }
.foot-brand:hover{ color:#FFFFFF; }
.foot-tag{ margin:1.3rem 0 0; font-family:var(--font-display); font-weight:600; font-size:1.4rem; line-height:1.25; color:#FFFFFF; text-wrap:balance; }
.foot-about{ margin:.8rem 0 0; font-size:.98rem; line-height:1.6; color:var(--foot-mute); max-width:46ch; }
.foot-cols{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) minmax(0,1fr); gap:clamp(20px,2.4vw,40px); min-width:0; }
.foot-col{ min-width:0; }
.foot-h{ margin:0 0 .9rem; padding-bottom:.6rem; color:var(--marca); border-bottom:1px solid var(--foot-rule); font-size:.78rem; letter-spacing:.12em; }
.foot-col ul, .foot-col ol{ list-style:none; margin:0; padding:0; }
.foot-col li{ break-inside:avoid; }
.foot-col li a{ display:block; padding:.3rem 0; font-size:.97rem; line-height:1.45; color:var(--foot-ink); }
.foot-col li a span{ font-family:var(--font-mono); font-size:.76rem; color:#8FD3B5; font-variant-numeric:tabular-nums; margin-left:.25rem; white-space:nowrap; }
.foot-col li a:hover{ color:#FFFFFF; text-decoration:underline; text-decoration-color:var(--marca); text-underline-offset:3px; }
.foot-tv{ margin:clamp(26px,3vw,40px) 0 0; padding:.85rem 1rem; border-top:1px solid var(--foot-rule); border-bottom:1px solid var(--foot-rule); text-align:center; color:var(--marca);
  font-family:var(--font-display); font-weight:700; font-size:clamp(.95rem,1.8vw,1.2rem); letter-spacing:.12em; text-transform:uppercase; line-height:1.35; }
.foot-disclosure{ margin:clamp(22px,2.4vw,32px) 0 0; padding:1rem 1.2rem; border-radius:var(--radius); border:1px solid var(--foot-rule); font-size:.92rem; line-height:1.6; color:var(--foot-ink); max-width:100ch; }
.foot-disclosure a{ color:#FFFFFF; text-decoration:underline; text-underline-offset:3px; }
.foot-base{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:clamp(22px,2.4vw,32px); padding-top:1.2rem; border-top:1px solid var(--foot-rule); }
.foot-copy{ margin:0; font-size:.94rem; color:var(--foot-mute); font-variant-numeric:tabular-nums; }
.foot-top-link{ color:var(--foot-ink); }
.foot-top-link:hover{ color:var(--marca); }
.foot-note{ margin:1.1rem 0 0; font-size:.88rem; line-height:1.6; color:var(--foot-mute); max-width:104ch; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  .hero-grid{ grid-template-columns:minmax(0,1fr); }
  .bula{ justify-self:start; }
  .foot-top{ grid-template-columns:minmax(0,1fr); }
  .trust-grid, .label-grid{ grid-template-columns:minmax(0,1fr); }
  .goal-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1040px){
  .who-grid{ grid-template-columns:minmax(0,1fr); gap:1.2rem; }
  .toplist{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:1000px){
  .article-shell, .article-shell:has(.toc){ grid-template-columns:minmax(0,1fr); }
  .article-shell:not(:has(.toc)){ justify-items:stretch; }
  .article-main{ max-width:none; }
  .toc{ position:static; order:-1; margin-bottom:1.2rem; }
  .toc ol{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); column-gap:1.6rem; }
  .article-rail{ order:-2; }
  .foot-cols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-hero-grid{ grid-template-columns:minmax(0,1fr); }
  .article-hero-media{ display:none; }
}
@media (max-width:980px){
  .nav{ min-height:66px; }
  .nav-toggle{ display:inline-flex; }
  .nav-search input{ display:none; }
  .nav-search{ border-color:transparent; background:transparent; }
  .nav-links{ position:absolute; left:0; right:0; top:100%; display:none; flex-direction:column; align-items:stretch; gap:0; margin:0; padding:.4rem clamp(16px,4vw,48px) 1.1rem; background:var(--papel); border-bottom:1px solid var(--linha); }
  .site-header.is-open .nav-links{ display:flex; }
  .nav-link{ padding:.9rem 0; border-bottom:1px solid var(--linha-2); font-size:1.06rem; }
  .nav-link::after{ display:none; }
  .nav-tail{ margin-left:auto; }
  .feat, .cols-3, .cols-4, .cols-2{ grid-template-columns:minmax(0,1fr); }
  .lk-desc{ display:none; }
}
@media (max-width:760px){
  .results-head{ flex-direction:column; gap:.4rem; }
  .stats{ grid-template-columns:minmax(0,1fr); }
  .stat{ padding:1.1rem 0; border-right:0; border-bottom:1px solid var(--linha); }
  .pr-list{ grid-template-columns:minmax(0,1fr); }
  .goal-grid{ grid-template-columns:minmax(0,1fr); }
  .article-body table, .article-body thead, .article-body tbody, .article-body tr, .article-body td{ display:block; width:100%; }
  .article-body thead{ display:none; }
  .article-body tr{ border-bottom:1px solid var(--tinta); padding:.4rem 0; }
  .article-body tr:last-child{ border-bottom:0; }
  .article-body td{ border-bottom:0; padding:.4rem .95rem; }
  .article-body td[data-label]::before{ content:attr(data-label); display:block; margin-bottom:.15rem; font-family:var(--font-display); font-weight:700; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--tinta-3); }
}
@media (max-width:720px){
  .topline-asof{ display:none; }
  .topline-in{ min-height:30px; padding-block:.35rem; }
  .topline-what{ font-size:.68rem; letter-spacing:.07em; }
}
@media (max-width:600px){
  .mark{ width:36px; height:36px; }
  .lk-word{ font-size:1.22rem; gap:.2em; }
  .mark-lg + .lk-text .lk-word{ font-size:1.45rem; }
  .finder-row{ flex-wrap:wrap; }
  .finder-input{ flex:1 1 100%; }
  .finder-go{ flex:1 1 100%; justify-content:center; padding:.85rem 1rem; }
  .bula-sheet{ padding:1.05rem 1rem 1rem; }
  .bula-head{ flex-direction:column; gap:.3rem; align-items:flex-start; }
  .bula-qs li{ grid-template-columns:1.9rem minmax(0,1fr); }
  .bq-n{ grid-column:2; padding-top:0; }
  .bula-grid{ grid-template-columns:minmax(0,1fr); }
  .mini-grid{ grid-template-columns:minmax(0,1fr); }
  .myth-grid{ grid-template-columns:minmax(0,1fr); }
  .who-list a{ grid-template-columns:minmax(0,1fr) auto; }
  .who-tag{ grid-column:1 / -1; justify-self:start; }
  .post-grid, .card-grid, .pillar-grid{ grid-template-columns:minmax(0,1fr); }
  .foot-cols{ grid-template-columns:minmax(0,1fr); gap:1.8rem; }
  .inline-cta{ flex-direction:column; align-items:stretch; }
  .topic-index-list{ columns:1; }
  .tarja{ letter-spacing:.1em; font-size:.78rem; }
  .is-home .latest .post-grid > .post-card:nth-child(n+7){ display:none; }
}
