/* post-header-system.css — page bundle 5ec5af7a39953ed8 (379/390 rules, manifest c620f8fb80e0b198) */
/* post-header-system.css — the post header system «Só título» (theme port 2026-09-24; approved mockups 2026-09-23).
   Three COMPOSITIONS × two TONES × six GROUNDS on every post, assigned per post by lib/article-header-system.php (seeded, deterministic; meta and
   the jt_ahs_assignment filter override; the kill switch add_filter( 'jt_ahs_active', '__return_false' ) restores today's header byte for byte and
   this sheet is then not enqueued). Contract: seo-fixes-output/20260923-post-header-theme/IMPLEMENTATION-BRIEF.md; the component API and every
   measured value come from design-previews/20260923-post-header-system/ (README.md, INVENTORY.md — the approved renders are frozen in saved/).

   Markup (PHP): template-parts/article-header-system.php (the header) + lib/article-header-system-body.php (the_content @18, render-time only):
     body    .jt-ahs + .jt-ah--c-{titulo|centrado|folio} + .jt-ah--t-{escuro|claro} + .jt-ah--g-{deep|preto|verde|paper-soft|blush|sage}
             + the theme's .jt-ah--ink (the architecture in both tones) + fg-wh (escuro) / fg-bk (claro)
             + .jt-eb-bold.jt-ahs--answer (answer path) or .jt-ahs--standfirst (fallback path)
     header  header.jt-ah.jt-ah--ink + the same .jt-ah--c-* / -t-* / -g-* + ONE size step .jt-ahs--s{S} (+ .jt-ahs--ph{N})
     nodes   span.jt-ahs-meta · div.jt-ah__rail.jt-ahs-folio (folio) · br.jt-ahs-br[--to767|--to479] · span.jt-ahs-hang
             answer path: section.jt-gsc-geo-module.jt-eb….jt-eb-open--answer > div.jt-eb__in > div.jt-ahs-marg (kicker + p.jt-ah__dek.jt-ahs-dek)
                          + section.….jt-eb-open--cards (the partner band) + details.jt-ahs-index
             fallback:    p.jt-ah__dek.jt-ahs-standfirst + details.jt-ahs-index at the top of .entry-content
             trust line:  p.jt-ah__trust.jt-ahs-trust inside the closing WhatsApp CTA (.jt-ahs-closer), or under the header action (5th element)
   Delivery: a MANAGED sheet (lib/css-delivery.php + harness p3-build-css-manifests.cjs / p3-verify.cjs SHEETS): enqueued as
   toma-post-header-system after toma-article-header, before whatsapp-cta.css (the WhatsApp identity, last). After editing: rebuild the manifests
   (harness/p3-rebuild-manifests.sh) and run harness/p3-verify.cjs.
   Specificity policy (measured in the mockups' parity contest; keep it): header parts (0,3,1) = body.jt-ahs.jt-ah--ink .jt-ah__x; the title (0,6,1)
   and a size step (0,7,1)/(0,8,1); band rules match the editorial rules they answer ((0,3,1)–(0,5,1)). Tone is data (ground tokens), not selectors.
   !important only to beat another sheet's !important (§E: article-base rail rules; §5/§6/§8/§9: the editorial rules of §E / card-spacing-rhythm).
   WhatsApp anchors: SHAPE only — never colour, font, case, tracking or motion (whatsapp-cta.css paints them; its dark-surface map keys on the
   ground classes). px only (the site root is 10px). No class contains cta|button|btn. No image in any header.
   Sections: 0 tokens · E editorial band base · 1 header · 2 grammar T (titulo + centrado) · 3 centrado · 4 folio · 5 answer band · 6 partner band ·
   7 collapsed index · 8 trust line, standfirst, fallback foot · 9 claro answer roles · 10 ground deltas · print. */
/* =============================================================================================================================================
   0. TOKENS
   ============================================================================================================================================= */
/* 0a. primitives. The theme's --jt-ah-* tokens (article-header.css, body.jt-ah) are reused where the meaning is identical; redefined only inside the sage header (D16):
   --jt-ah-deep #242329 · --jt-ah-sage #dae1da · --jt-ah-light #f1ece7 · --jt-ah-light-82 · --jt-ah-hair-ink rgba(241,236,231,.22) · --jt-ah-ink #1f1f21 ·
   --jt-ah-teal #075e54 · --jt-ah-line #c7bdb5 · --jt-ah-muted #565351 · --jt-ah-serif · --jt-ah-sans · --jt-ah-mast. New names live under --jt-ahs-*.
   Tint-safe inks, one ladder per tint: -ink2 (secondary ink) · -muted (tertiary) · -hair. Every -ink2 / -muted measures ≥ 4.5:1 on its own ground
   (DESIGN.md muted #6f6b67 fails on blush 4.04 and sálvia 3.97); -hair are decorative hairlines (≈ 1.7–1.9:1, the weight of the dark hairline on its
   ground). Colour only: no geometry lives in a token. */
body.jt-ahs{
  --jt-ahs-g-preto:#141a16;                 /* = --eb-preto (editorial blocks) */
  --jt-ahs-g-verde:#1e3a2f;                 /* = --eb-verde */
  --jt-ahs-g-paper-soft:var(--jt-brand-paper-soft);   /* #ebe2da — the site's brand tokens (style.css :root, DESIGN.md), never re-typed */
  --jt-ahs-g-blush:var(--jt-brand-blush);             /* #f8dbd3 */
  --jt-ahs-g-sage:var(--jt-brand-sage);               /* #dae1da «sálvia» (= --jt-ah-sage; the sage ground re-tokens --jt-ah-sage inside its header, D16) */
  --jt-ahs-verde-soft:#a9c2ad;              /* = --eb-on-verde-soft: soft text on verde (the shared sheet's value) */
  --jt-ahs-verde-rule:rgba(227,234,226,.28);/* = --eb-verde-rule: the rule on verde */
  --jt-ahs-light-62:rgba(241,236,231,.62);  /* «·» separators on the dark grounds */
  --jt-ahs-light-35:rgba(241,236,231,.35);  /* link underline on the dark grounds */
  --jt-ahs-light-28:rgba(241,236,231,.28);  /* text selection on the dark grounds */
  --jt-ahs-ink-45:rgba(31,31,33,.45);       /* link underline on the light grounds (= article-base post links) */
  --jt-ahs-paper-soft-ink2:#444242;         /* 7.81:1 on paper-soft */
  --jt-ahs-paper-soft-muted:#5d5751;        /* 5.57:1 */
  --jt-ahs-paper-soft-hair:#b7aca1;
  --jt-ahs-blush-ink2:#5b4237;              /* 7.05:1 on blush (= --eb-chip-num) */
  --jt-ahs-blush-muted:#6b5348;             /* 5.43:1 (= --eb-warm-label) */
  --jt-ahs-blush-hair:#bc9c94;
  --jt-ahs-sage-ink2:#31453c;               /* 7.70:1 on sage */
  --jt-ahs-sage-muted:#475c52;              /* 5.40:1 */
  --jt-ahs-sage-hair:#92a99e;
  --jt-ahs-teal-select:rgba(7,94,84,.18);
  --jt-ahs-panel:rgba(0,0,0,.95);           /* the theme's own open-menu panel (style.css .fullb .site-header) */
}
/* 0b. composition tokens — geometry that differs per composition, NO colour (ahs.composition_audit(): a rule keyed on .jt-ah--c-* declares no colour
   literal and only these tokens; its colour properties read ground tokens). foot = the header's own padding under its last element (room for the
   action's focus ring; the answer band gives it back); answer-top = the answer band's top padding; range/mark = the collapsed index's closed row
   (the marks draw in currentColor). Folio's range 22px and 1.5px mark are SNAPSHOT DRIFT (D4 / D5), not API: a new composition takes titulo's
   18px and crisp 1px mark (README §3, the v1.1 unification the owner may approve). */
.jt-ah--c-titulo,
.jt-ah--c-centrado{
  --jt-ahs-foot:0px;
  --jt-ahs-answer-top:40px;
  --jt-ahs-range-size:18px;
  --jt-ahs-mark:linear-gradient(currentColor,currentColor) 1px 7px/13px 1px no-repeat,linear-gradient(currentColor,currentColor) 7px 1px/1px 13px no-repeat;
  --jt-ahs-mark-open:linear-gradient(currentColor,currentColor) 1px 7px/13px 1px no-repeat;
}
.jt-ah--c-centrado{--jt-ahs-foot:8px;--jt-ahs-answer-top:56px}
.jt-ah--c-folio{
  --jt-ahs-foot:16px;
  --jt-ahs-answer-top:48px;
  --jt-ahs-range-size:22px;                                                         /* drift kept (INVENTORY D4): A/B moved to 18 in fix batch r4 */
  --jt-ahs-mark:linear-gradient(currentColor,currentColor) center/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 14px no-repeat;
  --jt-ahs-mark-open:linear-gradient(currentColor,currentColor) center/14px 1.5px no-repeat;   /* drift kept (D5): A/B draw 1px bars on whole pixels */
}
/* the focus-ring room is the LAYOUT's need, not the composition's: layouts 4 and 8 wrap the entry content in .k4-in / .k8-in (style.css:
   position:relative; z-index:999; #fff), which paints over whatever part of the action's focus ring / halo overflows the header's bottom edge
   (WCAG 2.4.11). Titulo's foot 0 holds on the other layouts (the approved A is layout 3); on k4 / k8 a titulo header — the default and every
   fallback — takes centrado's 8px and the answer band gives them back (32 · 16 on phones), so the band's text does not move. Centrado (8) and
   folio (16) clear the ring on every layout. Body and header both carry the composition class. (focus-room-probe.cjs) */
:is(.k4,.k8).jt-ah--c-titulo,
:is(.k4,.k8) .jt-ah--c-titulo{--jt-ahs-foot:8px;--jt-ahs-answer-top:32px}
@media only screen and (max-width:767px){
.jt-ah--c-titulo,.jt-ah--c-folio{--jt-ahs-answer-top:24px}
.jt-ah--c-centrado{--jt-ahs-answer-top:16px}
:is(.k4,.k8).jt-ah--c-titulo,
  :is(.k4,.k8) .jt-ah--c-titulo{--jt-ahs-answer-top:16px}
}
/* 0c. the six GROUNDS — the palette unit. body.jt-ahs AND header.jt-ah carry ONE .jt-ah--g-* (lib/article-header-system.php picks it: by default the
   composition × tone cell below — README «Grounds»). The ground's lightness must match the tone (.jt-ah--t-escuro ↔ deep / preto / verde ·
   .jt-ah--t-claro ↔ paper-soft / blush / sage); the PHP port derives the tone from the ground (ahs.GROUNDS). Every ground declares EVERY ground token
   below, and every light ground the four masthead hooks (ahs.ground_audit()).
       default cell            escuro                 claro
       titulo   (A)            deep   #242329         paper-soft #ebe2da
       centrado (B)            preto  #141a16         blush      #f8dbd3
       folio    (C)            verde  #1e3a2f         sage       #dae1da  («sálvia»)
   Header: ground · title · text (byline, name, band text — the answer band's text too) · soft (dek) · muted («·») · kicker (header + answer kickers)
   · hair (the one header hairline) · link-line (name underline) · link-hover (header links, answer-band links) · focus (header link rings)
   · select-bg/-fg · smooth / smooth-moz (font smoothing).
   Answer band (it continues the header's ground; its text = text, its link hover = link-hover): a-soft (--eb-on-verde-soft) · a-rule (--eb-verde-rule,
   the kicker's rule) · a-heading (--eb-s-ink: h4/h5, note links) · a-hover (--eb-s-hover) · a-h2.
   Partner band (the dark band after the answer — verde after the warm / neutral grounds, deep after the green ones): partner-bg · partner-text ·
   partner-soft · partner-rule.
   (The mockups' «actions» tokens wa-halo-c / wa-ring fed the P1 parity shim only; the theme draws the WhatsApp focus ring through
   whatsapp-cta.css's --jt-wa-focus — white on the dark surfaces, from the identity's own dark-surface map.)
   Masthead hooks on the light grounds — THEME-OWNED names (--jt-ah-mast-*: article-header.css's ink skin reads them at the port, with its dark-band
   values as fallbacks — article-header.css §2): --jt-ah-mast-fg (inline menu + closed hamburger) · -fg-hover · -search · -search-hover.
   Every value is a theme token (--jt-ah-* / --jt-brand-*) or a §0a primitive, except the one-off paints (#fff selection text and answer heading on the
   dark grounds, the .06 / .04 hover washes, blush's mast #000 and search oklch values — each used by one ground only). */
.jt-ah--g-deep,
.jt-ah--g-preto,
.jt-ah--g-verde{
  --jt-ahs-title:var(--jt-ah-light);--jt-ahs-text:var(--jt-ah-light);--jt-ahs-soft:var(--jt-ah-light-82);--jt-ahs-muted:var(--jt-ahs-light-62);
  --jt-ahs-kicker:var(--jt-ah-sage);--jt-ahs-hair:var(--jt-ah-hair-ink);--jt-ahs-link-line:var(--jt-ahs-light-35);--jt-ahs-link-hover:var(--jt-ah-sage);
  --jt-ahs-focus:var(--jt-ah-sage);--jt-ahs-select-bg:var(--jt-ahs-light-28);--jt-ahs-select-fg:#fff;--jt-ahs-smooth:antialiased;--jt-ahs-smooth-moz:grayscale;
  --jt-ahs-a-soft:var(--jt-ah-light-82);--jt-ahs-a-rule:var(--jt-ah-hair-ink);--jt-ahs-a-heading:#fff;--jt-ahs-a-hover:rgba(255,255,255,.06);--jt-ahs-a-h2:var(--jt-ah-light);
}
.jt-ah--g-deep,
.jt-ah--g-preto,
.jt-ah--g-paper-soft,
.jt-ah--g-blush{                                                                         /* partner verde (the shared sheet's own set) */
  --jt-ahs-partner-bg:var(--jt-ahs-g-verde);--jt-ahs-partner-text:var(--jt-ah-light);--jt-ahs-partner-soft:var(--jt-ahs-verde-soft);--jt-ahs-partner-rule:var(--jt-ahs-verde-rule);
}
.jt-ah--g-verde,
.jt-ah--g-sage{                                                                          /* partner deep (no green band after a green opening) */
  --jt-ahs-partner-bg:var(--jt-ah-deep);--jt-ahs-partner-text:var(--jt-ah-light);--jt-ahs-partner-soft:var(--jt-ah-light-82);--jt-ahs-partner-rule:var(--jt-ah-hair-ink);
}
.jt-ah--g-deep{--jt-ahs-ground:var(--jt-ah-deep)}
/* A · deep #242329 */
.jt-ah--g-preto{--jt-ahs-ground:var(--jt-ahs-g-preto)}
/* B · preto #141a16 */
.jt-ah--g-verde{                                                                         /* C · verde #1e3a2f; its answer keeps the shared sheet's verde set */
  --jt-ahs-ground:var(--jt-ahs-g-verde);--jt-ahs-a-soft:var(--jt-ahs-verde-soft);--jt-ahs-a-rule:var(--jt-ahs-verde-rule);
}
.jt-ah--g-paper-soft{                                                                    /* A claro · paper-soft #ebe2da */
  --jt-ahs-ground:var(--jt-ahs-g-paper-soft);--jt-ahs-title:var(--jt-ah-ink);--jt-ahs-text:var(--jt-ah-ink);--jt-ahs-soft:var(--jt-ahs-paper-soft-ink2);
  --jt-ahs-muted:var(--jt-ahs-paper-soft-muted);--jt-ahs-kicker:var(--jt-ahs-g-verde);--jt-ahs-hair:var(--jt-ahs-paper-soft-hair);--jt-ahs-link-line:var(--jt-ahs-ink-45);
  --jt-ahs-link-hover:var(--jt-ah-teal);--jt-ahs-focus:var(--jt-ah-teal);--jt-ahs-select-bg:var(--jt-ahs-teal-select);--jt-ahs-select-fg:var(--jt-ah-ink);
  --jt-ahs-smooth:antialiased;--jt-ahs-smooth-moz:grayscale;
  --jt-ahs-a-soft:var(--jt-ahs-paper-soft-muted);--jt-ahs-a-rule:var(--jt-ahs-paper-soft-hair);--jt-ahs-a-heading:var(--jt-ah-ink);   /* ink (was #fff, D11: read by no node) */
  --jt-ahs-a-hover:rgba(31,31,33,.04);--jt-ahs-a-h2:var(--jt-ah-ink);
  --jt-ah-mast-fg:var(--jt-ah-ink);--jt-ah-mast-fg-hover:var(--jt-ah-teal);--jt-ah-mast-search:var(--jt-ah-ink);--jt-ah-mast-search-hover:var(--jt-ah-ink);
}
.jt-ah--g-blush{                                                                         /* B claro · blush #f8dbd3 */
  --jt-ahs-ground:var(--jt-ahs-g-blush);--jt-ahs-title:var(--jt-ah-deep);--jt-ahs-text:var(--jt-ah-ink);--jt-ahs-soft:var(--jt-ahs-blush-ink2);
  --jt-ahs-muted:var(--jt-ahs-blush-muted);--jt-ahs-kicker:var(--jt-ahs-blush-muted);--jt-ahs-hair:var(--jt-ahs-blush-hair);--jt-ahs-link-line:var(--jt-ahs-ink-45);
  --jt-ahs-link-hover:var(--jt-ahs-blush-muted);--jt-ahs-focus:var(--jt-ah-teal);--jt-ahs-select-bg:var(--jt-ah-deep);--jt-ahs-select-fg:var(--jt-ah-light);
  --jt-ahs-smooth:auto;--jt-ahs-smooth-moz:auto;                                                                               /* drift kept (D9) */
  --jt-ahs-a-soft:var(--jt-ahs-blush-muted);--jt-ahs-a-rule:var(--jt-ahs-blush-hair);--jt-ahs-a-heading:var(--jt-ah-ink);
  --jt-ahs-a-hover:rgba(31,31,33,.04);--jt-ahs-a-h2:var(--jt-ah-deep);
  --jt-ah-mast-fg:#000;--jt-ah-mast-fg-hover:var(--jt-ahs-blush-muted);--jt-ah-mast-search:oklch(23% .008 286);--jt-ah-mast-search-hover:oklch(18% .01 286);
}
.jt-ah--g-sage{                                                                          /* C claro · sage «sálvia» #dae1da */
  --jt-ahs-ground:var(--jt-ahs-g-sage);--jt-ahs-title:var(--jt-ahs-g-verde);--jt-ahs-text:var(--jt-ah-ink);--jt-ahs-soft:var(--jt-ahs-sage-ink2);
  --jt-ahs-muted:var(--jt-ahs-sage-muted);--jt-ahs-kicker:var(--jt-ahs-g-verde);--jt-ahs-hair:var(--jt-ahs-sage-hair);--jt-ahs-link-line:var(--jt-ahs-ink-45);
  --jt-ahs-link-hover:var(--jt-ahs-g-verde);--jt-ahs-focus:var(--jt-ahs-g-verde);--jt-ahs-select-bg:var(--jt-ahs-g-verde);--jt-ahs-select-fg:var(--jt-ahs-g-sage);
  --jt-ahs-smooth:antialiased;--jt-ahs-smooth-moz:grayscale;
  --jt-ahs-a-soft:var(--jt-ahs-sage-ink2);--jt-ahs-a-rule:var(--jt-ahs-sage-hair);--jt-ahs-a-heading:var(--jt-ah-ink);
  --jt-ahs-a-hover:rgba(30,58,47,.06);--jt-ahs-a-h2:var(--jt-ah-ink);
  --jt-ah-mast-fg:var(--jt-ah-ink);--jt-ah-mast-fg-hover:var(--jt-ahs-g-verde);--jt-ah-mast-search:var(--jt-ah-ink);--jt-ah-mast-search-hover:var(--jt-ah-ink);
}
/* =============================================================================================================================================
   E. EDITORIAL BAND BASE — the rules of the editorial-blocks «bold mode» (design-previews/20260919-editorial-blocks-posts, spec
   docs/editorial-escuro-blocks-spec.md) that the answer and partner bands stand on, verbatim, restricted to the markup the body stage prints
   (section.jt-eb.jt-typo-zone.jt-eb--bleed.jt-eb-band.jt-eb-band--verde.jt-eb-open[--answer|--cards] > div.jt-eb__in over the geo module's own
   children). Every rule is keyed on .jt-eb (printed only by the body stage) or body.jt-eb-bold (printed only with it). §5/§6 re-token the
   --eb-* set from the post's ground, so «verde» below means «the band surface». The WhatsApp colour tokens of the mockup sheet are not ported
   (the identity owns the colour). !important here = the rival article-base / card-spacing-rhythm !important on .jt-gsc-geo-module children.
   ============================================================================================================================================= */
/* E1. tokens (on the block root) */
.jt-eb{
  --eb-ink:#1b211c;--eb-body:#333b34;--eb-mut:#4c5a4f;--eb-rule:#c5cec5;
  --eb-verde:#1e3a2f;--eb-on-verde:#f1ece7;--eb-on-verde-soft:#a9c2ad;--eb-verde-rule:rgba(227,234,226,.28);
  --eb-serif:Butler,Georgia,"Times New Roman",serif;
  --eb-sans:Roobert,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --eb-ease:cubic-bezier(.16,1,.3,1);
  --eb-s-bg:transparent;--eb-s-ink:var(--eb-ink);--eb-s-body:var(--eb-body);--eb-s-soft:var(--eb-mut);
  --eb-s-rule:var(--eb-rule);--eb-s-hair:var(--eb-ink);--eb-s-num:var(--eb-verde);--eb-s-hover:#fff;
}
/* E2. root + bleed (gutter max(20px, 50vw − 590px) = the 1180 card rail: the band's content box starts where the header's h1 does) */
body .entry-content .jt-eb{box-sizing:border-box;width:auto;max-width:min(704px,calc(100vw - 40px));margin:clamp(32px,5vw,56px) auto;padding:0;font-family:var(--eb-sans);font-weight:400;font-size:17px;line-height:1.65;letter-spacing:0;color:var(--eb-s-body);text-align:left}
body .entry-content .jt-eb *,body .entry-content .jt-eb *::before,body .entry-content .jt-eb *::after{box-sizing:border-box}
body .entry-content .jt-eb--bleed{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-left:max(20px,calc(50vw - 590px));padding-right:max(20px,calc(50vw - 590px))}
body .entry-content .jt-eb__in{max-width:1180px;margin-left:auto;margin-right:auto}
/* E3. resets inside the block (the theme forces margins, widths and type on these tags) */
body .entry-content .jt-eb :is(h2,h3,h4,h5,p,ul,ol,dl,dt,dd,figure,figcaption){margin:0!important;text-align:left!important;width:auto!important;max-width:none!important}
body .entry-content .jt-eb :is(h2,h3,h4,h5,p,dl,dt,dd,figure,figcaption){padding:0!important}
body .entry-content .jt-eb :is(h2,h3,h4,h5){font-family:var(--eb-serif)!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--eb-s-ink)!important}
body .entry-content .jt-eb p{font-family:var(--eb-sans)!important;font-weight:400!important;font-size:15.5px!important;line-height:1.55!important;letter-spacing:0!important;color:var(--eb-s-body)!important}
body .entry-content .jt-eb :is(ul,ol):not(.jt-eb-chips):not(.jt-eb-rows):not(.jt-eb-steps){padding-left:0!important;display:grid;gap:6px}
/* prose lists keep the theme's own li::before bullets (li carries its 30px indent) */
body .entry-content .jt-eb :is(ul,ol):not([class]) > li::before{background:var(--eb-s-num)}
body .entry-content .jt-eb img{display:block;max-width:100%;height:auto;margin:0}
body .entry-content .jt-eb a:where(:not(.jt-next20-cta-primary)){color:inherit}
/* fix round 1 (2026-09-24): the partner band's «Próximo passo» pill paints its own cream fill — it keeps the theme's ink label (style.css .jt-next20-cta .jt-next20-cta-primary); :where() keeps (0,2,2) */
body .entry-content .jt-eb :is(a,summary):focus-visible{outline:2px solid var(--eb-s-num)!important;outline-offset:3px!important}
/* E4. band surface (bleed gutter on the 1180 rail) + the dark-band prose link rule */
body .entry-content .jt-eb-band{padding:clamp(40px,6vw,72px) 24px;background:var(--eb-s-bg);color:var(--eb-s-body)}
body .entry-content .jt-eb--bleed.jt-eb-band{padding-left:max(20px,calc(50vw - 590px));padding-right:max(20px,calc(50vw - 590px))}
/* 1180 rail, see §2 */
body .entry-content .jt-eb-band--verde{--eb-s-bg:var(--eb-verde);--eb-s-ink:#fff;--eb-s-body:var(--eb-on-verde);--eb-s-soft:var(--eb-on-verde-soft);--eb-s-rule:var(--eb-verde-rule);--eb-s-hair:var(--eb-verde-rule);--eb-s-num:var(--eb-on-verde-soft);--eb-s-hover:rgba(255,255,255,.06);--eb-chip-3n:var(--eb-f1)}
body .entry-content :is(.jt-eb-band--preto,.jt-eb-band--verde,.jt-eb-band--verde-2,.jt-eb-closer,.jt-eb-head--dark) :is(p,li,dd) a{color:var(--eb-s-ink)!important;text-decoration-color:var(--eb-s-soft)!important}
/* E5. print (bands keep their colour) + reduced motion */
@media print{
body .entry-content :is(.jt-eb-band,.jt-eb-closer,.jt-eb-chip,.jt-eb-compare__tile,.jt-eb-pill){print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
@media (prefers-reduced-motion:reduce){
body .entry-content .jt-eb *,body .entry-content .jt-eb *::after{transition:none!important}
}
/* E6. bold mode: bands bleed; the geo module as the opening band (its children in div.jt-eb__in); scale; one length for routes / notes */
body.jt-eb-bold .entry-content :is(.jt-eb-band,.jt-eb-closer).jt-eb{box-sizing:border-box!important;max-width:none!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;padding-left:max(20px,calc(50vw - 590px))!important;padding-right:max(20px,calc(50vw - 590px))!important}
body.jt-eb-bold .entry-content :is(.jt-eb-band,.jt-eb-closer) > .jt-eb__in{max-width:1180px;margin-left:auto;margin-right:auto}
body.jt-eb-bold .entry-content :is(.jt-eb-band,.jt-eb-closer) + :is(.jt-eb-band,.jt-eb-closer){margin-top:0}
body.jt-eb-bold .entry-content :is(.jt-eb-band--preto,.jt-eb-band--verde,.jt-eb-band--verde-2,.jt-eb-closer,.jt-eb-open) ::selection{background:rgba(241,236,231,.25)}
body.jt-eb-bold .entry-content :is(.jt-eb-band--preto,.jt-eb-band--verde,.jt-eb-band--verde-2,.jt-eb-closer,.jt-eb-open) :is(a,summary,button):focus-visible{outline:2px solid var(--eb-on-verde-soft)!important;outline-offset:3px!important}
body.jt-eb-bold .entry-content .jt-eb-open{--eb-s-bg:var(--eb-verde);--eb-s-ink:#fff;--eb-s-body:var(--eb-on-verde);--eb-s-soft:var(--eb-on-verde-soft);--eb-s-rule:var(--eb-verde-rule);--eb-s-hair:var(--eb-verde-rule);--eb-s-num:var(--eb-on-verde-soft);--eb-s-hover:rgba(255,255,255,.06);background:var(--eb-verde)!important;color:var(--eb-on-verde)!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding-top:clamp(40px,6vw,72px)!important;padding-bottom:clamp(44px,6vw,80px)!important}
body.jt-eb-bold .entry-content > .jt-eb-open:nth-child(1 of :not(style):not(script):not(link)){margin-top:0!important}
body.jt-eb-bold .entry-content .jt-eb-open > .jt-eb__in{display:grid;gap:18px;max-width:1180px;margin-left:auto;margin-right:auto;min-width:0}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open > :is(.jt-next20-kicker,h2,h3,h4,p,ul,ol,div,section,table),
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open :is(.jt-eb__in,.jt-ctr-bridge-supplement,.jt-mah-polish) > :is(h2,h3,h4,p,ul,ol,div,section,table){box-sizing:border-box!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
/* measure (fix batch v2, 2026-09-21): the un-centring rule above ((0,6,2) !important) also out-ranked this sheet's own 68ch rule on p/routes/sources/note
   ((0,4,1)) → 1180px lines at 1280 (148–186 cpl measured on pomada). Same prop, higher specificity ((0,7,2)/(0,8,2)) and later in the cascade → 68ch wins on
   paragraphs and lists; kickers keep the full-rail hairline; H2/H3, grids, boards and tables stay on the rail. Replaces urticaria's page-local copy. */
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open > .jt-eb__in > :is(p:not(.jt-next20-kicker),ul,ol),
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open > .jt-eb__in > :is(.jt-ctr-bridge-supplement,.jt-mah-polish) > :is(p:not(.jt-next20-kicker),ul,ol){max-width:68ch!important}
/* routes · sources · note nested in a sub-block: same «one hairline, one length» treatment as §20d-b gives their top-level twins — the border-box
   spans the rail (max-width none + padding-right = rail − 68ch, clamped to 0 on phones) while the text still wraps at 68ch. (0,9,2), after the cap above. */
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open > .jt-eb__in > :is(.jt-ctr-bridge-supplement,.jt-mah-polish) > p:is(.jt-next20-routes,.jt-next20-sources,.jt-next20-clinical-note){box-sizing:border-box!important;width:auto!important;max-width:none!important;padding-right:calc(100% - min(100%,68ch))!important}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-kicker{display:block;font-family:var(--eb-sans)!important;font-weight:400!important;font-size:13px!important;line-height:1.5!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--eb-on-verde-soft)!important;border-top:1px solid var(--eb-verde-rule)!important;padding:8px 0 0!important;margin:0!important;max-width:none!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb-open h2{font-family:var(--eb-serif)!important;font-weight:400!important;font-size:clamp(30px,3.4vw,44px)!important;line-height:1.08!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--eb-on-verde)!important;max-width:22ch!important;margin:0!important;text-wrap:balance}
body.jt-eb-bold .entry-content .jt-eb-open h3{font-family:var(--eb-serif)!important;font-weight:400!important;font-size:clamp(22px,2vw,26px)!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;color:var(--eb-on-verde)!important;max-width:32ch!important;margin:10px 0 0!important}
body.jt-eb-bold .entry-content .jt-eb-open h4{font-family:var(--eb-serif)!important;font-weight:400!important;font-size:20px!important;line-height:1.3!important;letter-spacing:0!important;color:var(--eb-on-verde)!important;margin:0!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(p,li){font-family:var(--eb-sans)!important;font-weight:400!important;font-size:17px!important;line-height:1.65!important;letter-spacing:0!important;color:var(--eb-on-verde)!important;max-width:68ch!important;margin:0!important}
body.jt-eb-bold .entry-content .jt-eb-open strong{font-weight:500!important;color:#fff!important}
/* Roobert ships 300/400: 500 resolves to Regular (no faux bold); #fff keeps the emphasis */
body.jt-eb-bold .entry-content .jt-eb-open :is(p,li,dd,td,span,h3,h4) a{color:var(--eb-on-verde)!important;font-weight:inherit!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-decoration-color:var(--eb-on-verde-soft)!important;text-underline-offset:3px!important;box-shadow:none!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(p,li,dd,td,span,h3,h4) a:is(:hover,:focus-visible){color:var(--eb-on-verde-soft)!important;text-decoration-color:currentColor!important;text-decoration-thickness:2px!important}
/* routes · sources · clinical note — 15px soft, hairline top; the note loses its paper box (style.css .jt-next20-clinical-note + pnb-posts border) */
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-routes,.jt-next20-sources,.jt-next20-clinical-note){font-family:var(--eb-sans)!important;font-size:15px!important;line-height:1.6!important;color:var(--eb-on-verde-soft)!important;max-width:68ch!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-routes,.jt-next20-clinical-note){border-top:1px solid var(--eb-verde-rule)!important;padding-top:14px!important;margin-top:6px!important}
/* Dark reading cards: article-reading-rhythm owns tracks and gaps. This owner retains the ruled surface and block spacing; no per-column side insets. */
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-card-grid{width:auto!important;max-width:none!important;margin:8px 0 4px!important;padding:0!important;border-top:1px solid var(--eb-verde-rule)}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-card-grid > article{display:grid;align-content:start;gap:8px;min-width:0;padding:22px 0!important;margin:0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--eb-verde-rule)!important;border-radius:0!important;box-shadow:none!important}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-card-grid :is(strong,h3,h4){display:block;font-family:var(--eb-serif)!important;font-weight:400!important;font-size:22px!important;line-height:1.2!important;letter-spacing:0!important;color:var(--eb-on-verde)!important;margin:0!important;max-width:none!important}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-card-grid span{display:block;font-family:var(--eb-sans)!important;font-size:15.5px!important;line-height:1.55!important;color:var(--eb-on-verde)!important;max-width:46ch}
/* FAQ, three shapes on the same dark pattern (§13): build-made <details> inside .jt-next20-faq, the JS board (jt-faq-enhance.js: h3 «Perguntas comuns» + h4/p run →
   .jt-faq-board > details.jt-faq-item > summary.jt-faq-q > h4 + .jt-faq-a; theme skin article-base.css:3061+ at (0,4,2)–(0,5,3)) and the static .jt-next20-faq-row (h4 + p). */
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board){width:auto!important;max-width:none!important;margin:6px 0 0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--eb-verde-rule)!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq > h3,h3:has(+ .jt-faq-board),h3:has(+ details)){font-family:var(--eb-sans)!important;font-weight:400!important;font-size:13px!important;line-height:1.5!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--eb-on-verde-soft)!important;max-width:none!important;margin:14px 0 0!important;padding:0 0 8px!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) details{border:0!important;border-top:1px solid var(--eb-verde-rule)!important;margin:0!important;padding:0!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary{position:relative;list-style:none;cursor:pointer;display:block!important;grid-template-columns:none!important;gap:0!important;min-height:44px;padding:18px 40px 18px 0!important;margin:0!important;font-family:var(--eb-serif)!important;font-weight:400!important;font-size:20px!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:var(--eb-on-verde)!important;background:transparent!important;transition:background-color .2s var(--eb-ease)}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary::-webkit-details-marker{display:none}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary::marker{content:none}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary::before{content:none!important;display:none!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary :is(h3,h4,h5,p,span){display:inline!important;font:inherit!important;color:inherit!important;margin:0!important;padding:0!important;letter-spacing:0!important;text-transform:none!important;max-width:none!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary::after{content:"+"!important;position:absolute;right:0;top:50%;width:28px!important;height:28px!important;margin-top:-14px;display:grid;place-items:center;align-self:auto;background:none!important;font-family:var(--eb-sans);font-size:26px;line-height:1;color:var(--eb-on-verde-soft);transform:none;transition:transform .25s var(--eb-ease)}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) details[open] > summary::after{transform:rotate(45deg)}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary:hover{background:rgba(255,255,255,.06)!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary:hover :is(h3,h4){color:inherit!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) details > :not(summary){display:grid;gap:12px;padding:0 44px 20px 0!important;margin:0!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) details :is(p,li){font-size:16px!important;line-height:1.6!important;color:var(--eb-on-verde)!important;max-width:62ch!important}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-faq-row{display:grid;gap:8px;padding:18px 0!important;margin:0!important;border:0!important;border-top:1px solid var(--eb-verde-rule)!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-faq-row p{font-size:16px!important;line-height:1.6!important;max-width:62ch!important}
/* pomada's sub-blocks (.jt-ctr-bridge-supplement, section.jt-mah-polish): same dark treatment, hairline top, own 16px rhythm; overflow is left to the
   theme (the post's inline patch scrolls the 680px table horizontally ≤767) */
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-ctr-bridge-supplement,.jt-mah-polish){display:grid;gap:16px;width:auto!important;max-width:none!important;margin:10px 0 0!important;padding:22px 0 0!important;border:0!important;border-top:1px solid var(--eb-verde-rule)!important;background:transparent!important;color:var(--eb-on-verde)!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-ctr-bridge-supplement,.jt-mah-polish) > :is(h3,h2):first-child{margin-top:0!important}
/* one rule, not two (fix batch v2): a FAQ board closes with a 1px hairline; a follower that opens with its own hairline 10px below reads as a construction
   error. Direct sibling (a .jt-next20-faq div before routes/note) and nested (pomada: the JS .jt-faq-board is the LAST child of .jt-ctr-bridge-supplement,
   then section.jt-mah-polish): the follower drops its top rule and margin and keeps 20px of air. Two rules so the `+` one survives where :has() is unsupported. */
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) + :is(.jt-next20-routes,.jt-next20-clinical-note,.jt-ctr-bridge-supplement,.jt-mah-polish){border-top:0!important;margin-top:0!important;padding-top:20px!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-ctr-bridge-supplement,.jt-mah-polish):has(> :is(.jt-next20-faq,.jt-faq-board):last-child) + :is(.jt-next20-routes,.jt-next20-clinical-note,.jt-ctr-bridge-supplement,.jt-mah-polish){border-top:0!important;margin-top:0!important;padding-top:20px!important}
/* …and a follower sub-block that opens with its own kicker (pomada: «Tratamento tópico») drops the kicker's hairline too — otherwise the board's
   closing rule and the kicker's opening rule still stand 36px apart with nothing between them. The kicker keeps its text and its 13px/.18em face. */
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) + :is(.jt-ctr-bridge-supplement,.jt-mah-polish) > .jt-next20-kicker:first-child{border-top:0!important;padding-top:0!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-ctr-bridge-supplement,.jt-mah-polish):has(> :is(.jt-next20-faq,.jt-faq-board):last-child) + :is(.jt-ctr-bridge-supplement,.jt-mah-polish) > .jt-next20-kicker:first-child{border-top:0!important;padding-top:0!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table{border-collapse:collapse!important;border-spacing:0!important;margin:0!important;border-top:1px solid var(--eb-verde-rule)!important;border-bottom:1px solid var(--eb-verde-rule)!important;color:var(--eb-on-verde)!important;background:transparent!important;font-size:15px;line-height:1.55}
@media (min-width:768px){
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table{width:100%!important;max-width:none!important}
}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table :is(th,td){background:transparent!important;color:var(--eb-on-verde)!important;border-color:var(--eb-verde-rule)!important;font-family:var(--eb-sans)!important;text-align:left!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table th{font-weight:400!important;font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--eb-on-verde-soft)!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table tbody tr:nth-child(even) td{background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table td::before{color:var(--eb-on-verde-soft)!important;font-weight:400!important;letter-spacing:.12em}
/* phones (fix batch v2): the theme's stacked-table skin (article-base, table.jt-auto-card-table ≤900: tr display:block + 1px box + 12px margin, td grid
   label|value with 14px 12px pads, label 12px 800 uppercase with hyphens:auto → «COSTU-MA») contradicted the ruled, box-free band. Rows become hairline-ruled
   rows on the rail (the table drops its own top rule so the first row's rule is the top), cells lose their box pads and inner rules, labels 11px/.12em
   unhyphenated; rail gap, sub-block pads, card pads and summaries tighten. ≈ −450px on the ≈3600px band at 390, 0 text loss; moving the supplement/mah
   sub-blocks out to paper stays an owner decision.
   Fix round 1 (2026-09-24): the row/cell rules follow the theme skin's OWN breakpoint (≤900, article-base.css) — they sat at ≤767, so from 768 to
   900 the skin's white rows (tr background:#fff!important) came back under the band's light cell ink (#f1ece7 on #fff, 1.17:1, 28 posts). */
@media (max-width:900px){
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table{border-top:0!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table tr{background:transparent!important;border:0!important;border-top:1px solid var(--eb-verde-rule)!important;border-radius:0!important;box-shadow:none!important;padding:10px 0!important;margin:0!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table td{padding:6px 0!important;border:0!important;background:transparent!important}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open table td::before{hyphens:none!important;-webkit-hyphens:none!important;overflow-wrap:normal!important;font-size:11px!important;line-height:1.3!important;letter-spacing:.12em!important}
}
@media (max-width:767px){
body.jt-eb-bold .entry-content .jt-eb-open > .jt-eb__in{gap:14px}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-ctr-bridge-supplement,.jt-mah-polish){padding-top:16px!important;gap:12px}
body.jt-eb-bold .entry-content .jt-eb-open .jt-next20-card-grid > article{padding:14px 0!important}
body.jt-eb-bold .entry-content .jt-eb-open :is(.jt-next20-faq,.jt-faq-board) summary{padding:14px 40px 14px 0!important}
}
@media print{
body.jt-eb-bold .entry-content .jt-eb-open{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
@media (max-width:767px){
body.jt-eb-bold .entry-content .jt-eb-open h2{font-size:clamp(24px,6.4vw,28px)!important}
body.jt-eb-bold .entry-content .jt-eb-open h3{font-size:clamp(20px,5.2vw,23px)!important}
}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band.jt-eb-open > .jt-eb__in > p:is(.jt-next20-routes,.jt-next20-sources,.jt-next20-clinical-note){box-sizing:border-box!important;width:auto!important;max-width:none!important;padding-right:calc(100% - min(100%,68ch))!important}
/* E7. ≥901: band content on the PROSE RAIL — label column = card-rail edge → prose-rail edge, content column 704 (the post's prose) */
@media (min-width:901px){
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in,
  body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in > .jt-eb-band__in{display:grid!important;grid-template-columns:clamp(150px,calc(50vw - 372px),238px) minmax(0,704px)!important;column-gap:0!important;justify-content:start!important;align-items:start}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in > *,
  body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in > .jt-eb-band__in > *{grid-column:2!important;min-width:0}
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in > :is(.jt-eb-head,.jt-next20-kicker,h3:first-child),
  body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-band > .jt-eb__in > .jt-eb-band__in > .jt-eb-head{grid-column:1!important;grid-row:1!important;align-self:start!important;box-sizing:border-box!important;padding-right:24px!important;margin:0!important}
/* the opening band's own paragraphs were capped at 68ch with the card rail as origin (§20b) — inside the 704 column the cap is the column */
body.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open > .jt-eb__in > :is(p,ul,ol,div,section,h2,h3,h4){max-width:100%!important}
}
/* =============================================================================================================================================
   1. HEADER — shared by the three compositions (registers: kicker 12/400 .16em · byline VALUE 15/300, name 15/400 underlined · action = the theme's
   WhatsApp identity, this sheet gives it SHAPE only). The header ends as rail(kicker) · head(h1) · ledger(byline · action) — folio moves the byline
   into the rail (§4).
   ============================================================================================================================================= */
body.jt-ahs.jt-ah--ink .jt-ah{padding-top:calc(var(--jt-ah-mast) + 40px);padding-bottom:var(--jt-ahs-foot);background:var(--jt-ahs-ground);color:var(--jt-ahs-text);-webkit-font-smoothing:var(--jt-ahs-smooth);-moz-osx-font-smoothing:var(--jt-ahs-smooth-moz)}
/* text selection in the tone — not on the deep ground (drift kept, D19: A escuro was approved with the theme's selection, #fff on #333) */
body.jt-ahs.jt-ah--ink:not(.jt-ah--g-deep) .jt-ah ::selection{background:var(--jt-ahs-select-bg);color:var(--jt-ahs-select-fg)}
/* header links' keyboard ring: the theme draws 2px +3px and colours it sage on ink headers (article-header.css, !important); here the tone's colour.
   Never on a WhatsApp anchor: the identity draws its own ring (whatsapp-cta.css, layered !important — it would win anyway; the exclusion says so). */
body.jt-ahs.jt-ah--ink .jt-ah :focus-visible:not([href*="wa.me/"]){outline-color:var(--jt-ahs-focus)!important}
body.jt-ahs.jt-ah--ink .jt-ah__kicker{font:400 12px/16px var(--jt-ah-sans);letter-spacing:.16em;color:var(--jt-ahs-kicker)}
/* the rail's «N min de leitura» never paints: the reading time is in the byline line (each fact once per width) */
body.jt-ahs.jt-ah--ink .jt-ah__railtime{display:none}
/* the byline: ONE line of value text (the theme's byline grid → a text line) */
body.jt-ahs.jt-ah--ink .jt-ah__byline{display:block;grid-template-columns:none;grid-column:auto;min-width:0;margin:0;padding:0;border:0;font:300 15px/24px var(--jt-ah-sans);letter-spacing:0;text-transform:none;color:var(--jt-ahs-text)}
/* «Artigo médico revisado por» stays in the DOM for AT, screen-reader only */
body.jt-ahs.jt-ah--ink .jt-ah__label{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* no avatar; the theme's inline duplicates (role · CRM), the «Atualizado em» prefix, the «de leitura» suffix and the «Leitura» label never paint */
body.jt-ahs.jt-ah--ink .jt-ah__avatar,
body.jt-ahs.jt-ah--ink .jt-ah__role-inline,
body.jt-ahs.jt-ah--ink .jt-ah__crm-inline,
body.jt-ahs.jt-ah--ink .jt-ah__datepre,
body.jt-ahs.jt-ah--ink .jt-ah__time-x,
body.jt-ahs.jt-ah--ink .jt-ah__fact--read .jt-ah__flabel{display:none}
/* everything painted in the line is VALUE text, inline: name · stamp · Atualizado date · «·» · time */
body.jt-ahs.jt-ah--ink .jt-ah__nameline,
body.jt-ahs.jt-ah--ink .jt-ah__stamp,
body.jt-ahs.jt-ah--ink .jt-ahs-meta,
body.jt-ahs.jt-ah--ink .jt-ahs-meta .jt-ah__fact,
body.jt-ahs.jt-ah--ink .jt-ahs-meta time,
body.jt-ahs.jt-ah--ink .jt-ahs-meta .jt-ah__time,
body.jt-ahs.jt-ah--ink .jt-ahs-meta .jt-ah__time-n,
body.jt-ahs.jt-ah--ink .jt-ah__fact--date .jt-ah__flabel{display:inline;position:static;width:auto;height:auto;overflow:visible;clip:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;font:inherit;letter-spacing:0;text-transform:none;color:inherit;white-space:normal}
body.jt-ahs.jt-ah--ink .jt-ah__stamp,
body.jt-ahs.jt-ah--ink .jt-ahs-meta time,
body.jt-ahs.jt-ah--ink .jt-ahs-meta .jt-ah__time{font-variant-numeric:tabular-nums;white-space:nowrap}
/* the name is the line's only link: 400 and a thin underline (affordance without colour) */
body.jt-ahs.jt-ah--ink .jt-ah__name{display:inline;margin:0;padding:0;font:400 15px/24px var(--jt-ah-sans);letter-spacing:0;color:var(--jt-ahs-text);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--jt-ahs-link-line);text-underline-offset:3px}
body.jt-ahs.jt-ah--ink .jt-ah__name:hover,
body.jt-ahs.jt-ah--ink .jt-ah__name:focus{color:var(--jt-ahs-link-hover);text-decoration-color:currentColor}
/* «·» separators: the theme's (aria-hidden, between the two facts) + two generated twins with empty alt text, always CLOSING their chunk (a break
   leaves the «·» at the end of a line, never opening the next). The first `content` is the fallback for engines without alt text (Safari < 17.4,
   Firefox < 128 drop the whole `"·" / ""` declaration): the twins still paint there; a screen reader may then read them. */
body.jt-ahs.jt-ah--ink .jt-ah__sep{display:inline;margin:0 8px;color:var(--jt-ahs-muted)}
body.jt-ahs.jt-ah--ink .jt-ah__nameline::after,
body.jt-ahs.jt-ah--ink .jt-ah__stamp::after{content:"·";content:"·" / "";margin:0 8px;color:var(--jt-ahs-muted);font-variant-numeric:normal;text-decoration:none}
/* the ONE action: the site's WhatsApp identity (theme whatsapp-cta.css, last sheet: #25D366, white system-UI 14/600 sentence case, glyph left — here the
   theme's own svg.jt-ah__wa, which suppresses the sheet's ::before). SHAPE only: a square 52px block, 0 24px, radius 0 — no colour, font, case,
   tracking or motion (the identity has no transition; this pill snaps on hover like every other WhatsApp button). The glyph = the sheet's ::before
   glyph (1.1em at .45em from a 14px label) in px; --jt-wa-glyph / --jt-wa-gap are the hooks for whatsapp-cta.css to expose its own (not there yet). */
body.jt-ahs.jt-ah--ink .jt-ah__pill{grid-area:auto;display:inline-flex;justify-content:center;align-items:center;gap:var(--jt-wa-gap,6.3px);width:auto;max-width:none;height:52px;margin:0;padding:0 24px;border:0;border-radius:0;box-shadow:none;white-space:nowrap}
body.jt-ahs.jt-ah--ink .jt-ah__pill .jt-ah__wa{width:var(--jt-wa-glyph,15.4px);height:var(--jt-wa-glyph,15.4px);flex:none}
/* «Ver índice» is not printed by the system partial (the index left the header) — safety rule */
/* forced title lines (the PHP writes <br> into the h1's own string — same characters): .jt-ahs-br always · --to767 only up to 767px (folio's
   third line) · --to479 only up to 479px (centrado's phone break); a clause dash that closes a centred line hangs half its advance past the axis */
@media only screen and (min-width:768px){
body.jt-ahs.jt-ah--ink .jt-ah__title br.jt-ahs-br--to767{display:none}
}
@media only screen and (min-width:480px){
body.jt-ahs.jt-ah--ink .jt-ah__title br.jt-ahs-br--to479{display:none}
}
body.jt-ahs.jt-ah--ink .jt-ahs-hang{margin-right:-.38em}
/* ≤767 (phone, over the theme's G4 board): byline 14/22 and «·» at 6px → two lines at 350px; the action full width (glyph + label centred) */
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--ink .jt-ah{padding:calc(var(--jt-ah-mast) + 24px) 0 var(--jt-ahs-foot)}
body.jt-ahs.jt-ah--ink .jt-ah__byline{font:300 14px/22px var(--jt-ah-sans)}
body.jt-ahs.jt-ah--ink .jt-ah__name{font:400 14px/22px var(--jt-ah-sans)}
body.jt-ahs.jt-ah--ink .jt-ah__sep,
  body.jt-ahs.jt-ah--ink .jt-ah__nameline::after,
  body.jt-ahs.jt-ah--ink .jt-ah__stamp::after{margin:0 6px}
body.jt-ahs.jt-ah--ink .jt-ah__pill{display:flex;width:100%;padding:0 16px}
}
/* the trust line stays under the header action only where the body has no closing WhatsApp CTA to receive it (69 posts: the header's 5th
   element, within the ≤ 5 rule; lib/article-header-system-body.php decides). 13/20 in the ground's soft ink, 16px under the action; each fact
   unbroken. Titulo ≥768: the action row wraps and the line takes its own row, right-aligned under the pill (the byline keeps the pill's axis);
   centrado: centred under the pill; folio and phones: under the pill, on the action's own edge. */
body.jt-ahs.jt-ah--ink .jt-ah__cta > p.jt-ah__trust{display:block;grid-area:auto;grid-column:auto;justify-self:auto;margin:16px 0 0;padding:0;border:0;background:transparent;font:400 13px/20px var(--jt-ah-sans);letter-spacing:0;text-transform:none;color:var(--jt-ahs-soft);text-align:left;white-space:normal;text-wrap:pretty}
body.jt-ahs.jt-ah--ink .jt-ah__cta > p.jt-ah__trust > span{white-space:nowrap}
/* =============================================================================================================================================
   2. GRAMMAR T — titulo (A) and centrado (B): 12-column rail; kicker 1–12 · title 1–9 (880px at 1280) · the byline ROW 1–12 under one hairline
   (value text left · action right, vertically centred). The theme's .jt-ah__rail is display:contents off-phone, so the kicker is itself a grid item.
   ============================================================================================================================================= */
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__kicker{margin:0 0 16px;grid-column:1 / -1;grid-row:1}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0 20px;align-items:start}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__head{display:block;grid-column:1 / 10;grid-row:2;margin:0;min-width:0}
/* the title = the architecture: Butler 300 /0.98 −.02em, forced balanced lines. (0,6,1): beats the theme's «sem dek» rules (0,4,1) —
   body.jt-ah--ink .jt-ah:not(.jt-ah--has-dek) .jt-ah__title{font-size:28px} on phones and max-width:980px on desktop. Size step s128 = this rule. */
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah.jt-ah--ink:is(.jt-ah--c-titulo,.jt-ah--c-centrado) .jt-ah__title{grid-column:auto;margin:0;max-width:none;font:300 clamp(64px,10vw,128px)/0.98 var(--jt-ah-serif);letter-spacing:-.02em;color:var(--jt-ahs-title);text-wrap:balance;overflow-wrap:normal;hyphens:manual}
/* titulo ladder for the 9-column box (880px at 1280), MEASURED by the PHP selector (jt_ahs_titulo() = ahs.titulo(): the widest forced line in em of Butler 300 × the cap
   ≤ 99 % of 880px — title-metrics.json): s128 · s112 · s96 · s80 · s64, the tail (fix batch). A title whose widest forced line does not fit even
   s64 is written as ONE string (no <br>) at s64 and balances (≥768 ≤ 4 lines). Ramps apply ≥768; ≤767 every step is 40px (36 ≤379) and only
   s128 / s112 keep their forced lines (their widest line fits the 320 phone); s96 / s80 / s64 balance there. The phone step ph32 (32px, 28 ≤379)
   goes to every s64 title and to any title with a word wider than 7.70em (it would overflow the 320 phone at 36px). */
@media only screen and (min-width:768px){
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--s112 .jt-ah__title{font-size:clamp(56px,8.75vw,112px)}
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--s96 .jt-ah__title{font-size:clamp(48px,7.5vw,96px)}
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--s80 .jt-ah__title{font-size:clamp(44px,6.25vw,80px)}
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--s64 .jt-ah__title{font-size:clamp(40px,5vw,64px)}
}
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo:is(.jt-ahs--s96,.jt-ahs--s80,.jt-ahs--s64) .jt-ah__title br.jt-ahs-br{display:none}
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--ph32 .jt-ah__title{font-size:32px}
}
@media only screen and (max-width:379px){
body.jt-ahs.jt-ah--c-titulo.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-titulo.jt-ahs--ph32 .jt-ah__title{font-size:28px}
}
/* the byline ROW: the theme's ledger (a 12-column grid) becomes the row; ONE hairline under the title (24 above, 24 below) */
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__ledger{grid-column:1 / -1;grid-row:3;min-width:0;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0 24px;margin:24px 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--jt-ahs-hair)}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__byline{flex:1 1 auto}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__cta{display:block;flex:0 0 auto;grid-column:auto;grid-template-columns:none;grid-template-areas:none;margin:0;padding:0;border:0}
/* 768–1179: the 9-column box gets narrow for three lines — the title takes all 12; the byline row stays a row */
@media only screen and (max-width:1179px){
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__in{column-gap:16px}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__head{grid-column:1 / -1}
}
/* ≤767: H1 40/1.0 in its forced lines · the hairline · the byline (2 lines) · the action full width 16px below */
@media only screen and (max-width:767px){
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__in{display:block}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__kicker{margin:0;font:400 11px/1.3 var(--jt-ah-sans);letter-spacing:.1em}
/* drift kept (D1): folio stays 12/.16em */
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__head{margin-top:16px}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah.jt-ah--ink:is(.jt-ah--c-titulo,.jt-ah--c-centrado) .jt-ah__title{font-size:40px;line-height:1}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__ledger{display:block}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__cta{margin:16px 0 0}
}
@media only screen and (max-width:379px){
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah.jt-ah--ink:is(.jt-ah--c-titulo,.jt-ah--c-centrado) .jt-ah__title{font-size:36px}
}
/* the header trust line (5th element, see §1): the action's wrapper steps aside ≥768 so the line can take its own row under the byline row */
@media only screen and (min-width:768px){
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__ledger:has(> .jt-ah__cta > .jt-ah__trust){flex-wrap:wrap}
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-ah--ink .jt-ah__cta:has(> .jt-ah__trust){display:contents}
body:where(.jt-ahs).jt-ah--c-titulo.jt-ah--ink .jt-ah__cta > p.jt-ah__trust{flex:1 0 100%;margin-top:0;text-align:right}
/* fix round 1: 768–~880 the pill wraps under the byline — it keeps the right edge the trust line qualifies (margin-left:auto), 16px under
     the byline (row-gap; the line's own 16px top margin moves into the same row-gap, so the ≥880 rhythm is unchanged) */
body:where(.jt-ahs).jt-ah--c-titulo.jt-ah--ink .jt-ah__ledger:has(> .jt-ah__cta > .jt-ah__trust){row-gap:16px}
body:where(.jt-ahs).jt-ah--c-titulo.jt-ah--ink .jt-ah__ledger:has(> .jt-ah__cta > .jt-ah__trust) .jt-ah__pill{margin-left:auto}
}
/* =============================================================================================================================================
   3. CENTRADO (B) — grammar T on ONE axis: kicker · title (forced lines, 10 columns 2–11, measured ladder §3c) · the hairline full rail width ·
   the byline on one line (≥640) · the action at label width. The answer band returns to the left (the axis is the header's only).
   ============================================================================================================================================= */
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__kicker{text-align:center}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado .jt-ah__title{text-align:center}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__byline{text-align:center}
@media (min-width:768px){
/* a 20px gutter across the whole ≥768 band: the 10-column box is always 83.333vw − 36.667px (the ladder counts on it) */
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__in{column-gap:20px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__kicker{margin:0 0 24px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__head{grid-column:2 / 12}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__ledger{flex-direction:column;justify-content:flex-start;align-items:center;gap:24px 0}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__byline{flex:none;width:100%}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__cta{flex:none}
}
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__rail{justify-content:center;text-align:center}
}
/* 480–767: the action at label width, centred (the ≥768 block), not a 440–727px green slab */
@media only screen and (min-width:480px) and (max-width:767px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__cta{display:flex;justify-content:center}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__pill{width:auto;padding:0 24px}
}
/* ≤639: the centred byline breaks in TWO lines by construction («name · stamp» / «Atualizado date · time»); the twin «·» after the stamp stops painting */
@media only screen and (max-width:639px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ahs-meta{display:block}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__stamp::after{content:none}
}
/* ≤389: value 13/20 and «·» at 4px → two lines at 360 */
@media only screen and (max-width:389px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__byline{font-size:13px;line-height:20px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__name{font-size:13px;line-height:20px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__sep,
  body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__nameline::after{margin:0 4px}
}
/* ≤359: name + stamp no longer fit 280px — the name takes its own line and its «·» stops painting: three clean lines */
@media only screen and (max-width:359px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__nameline{display:block}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__nameline::after{content:none}
}
/* 3b. hit areas ≥ 44px on the header's two links: vertical padding with an equal negative margin on the kicker link (inline-block: the line does not
   move) and vertical padding on the name (inline: padding does not enter the line box). Nothing paints. */
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__kicker a{display:inline-block;padding-top:14px;padding-bottom:14px;margin-top:-14px;margin-bottom:-14px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__name{padding-top:13px;padding-bottom:13px}
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__kicker a{padding-top:15px;padding-bottom:15px;margin-top:-15px;margin-bottom:-15px}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__name{padding-top:14px;padding-bottom:14px}
}
/* 3c. THE CENTRADO LADDER — GENERATED from ahs.py (ahs.centrado_ladder_section(); `python3 ahs.py ladder` rewrites it) and asserted equal, byte for
   byte, between the two markers by the two centrado builds (ahs.assert_centrado_ladder()). Width model (Chrome, Butler 300 −.02em): 0.4506 em per character of
   the widest forced line (characters = code points, spaces included — PHP mb_strlen); box = 10 columns of the 1180 rail = 980px, 12px slack.
   Steps by widest line: ≤19 chars s112 · ≤21 s102 · ≤23 s92 · ≤25 s84 (wider → the selector gives the post composition titulo).
   ≥768 min(S, S × box / 980), box = 83.333vw − 36.667px · 480–767 min(CAP767, (100vw − 40px) × S / 1000), CAP767 = floor(S × box(768) / 980) =
   68 / 62 / 56 / 51 · <480, when one more (phone-only) break shortens the widest line: phone step phN, N = the first bucket 13 / 15 / … / 25 ≥ the
   widest phone line, min(var(--jt-ahs-pcap, 40px), (100vw − 40px) / (N × 0.4506 × 1.02)); --jt-ahs-pcap = min(40, floor(0.44 × S, .1)) is written
   only where it is under 40 (s84: 36.9). */
/* <ladder:centrado> */
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s112 .jt-ah__title{font-size:min(112px,calc(9.5238vw - 4.1905px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s102 .jt-ah__title{font-size:min(102px,calc(8.6735vw - 3.8163px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s92 .jt-ah__title{font-size:min(92px,calc(7.8231vw - 3.4422px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s84 .jt-ah__title{font-size:min(84px,calc(7.1429vw - 3.1429px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ahs--s84{--jt-ahs-pcap:36.9px}
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s112 .jt-ah__title{font-size:min(68px,calc(11.2vw - 4.48px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s102 .jt-ah__title{font-size:min(62px,calc(10.2vw - 4.08px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s92 .jt-ah__title{font-size:min(56px,calc(9.2vw - 3.68px))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--s84 .jt-ah__title{font-size:min(51px,calc(8.4vw - 3.36px))}
}
@media only screen and (max-width:479px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--ph13 .jt-ah__title{font-size:min(var(--jt-ahs-pcap,40px),calc((100vw - 40px) / 5.98))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--ph15 .jt-ah__title{font-size:min(var(--jt-ahs-pcap,40px),calc((100vw - 40px) / 6.89))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--ph17 .jt-ah__title{font-size:min(var(--jt-ahs-pcap,40px),calc((100vw - 40px) / 7.81))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--ph19 .jt-ah__title{font-size:min(var(--jt-ahs-pcap,40px),calc((100vw - 40px) / 8.73))}
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-centrado.jt-ahs--ph23 .jt-ah__title{font-size:min(var(--jt-ahs-pcap,40px),calc((100vw - 40px) / 10.57))}
}
/* </ladder:centrado> */
/* the header trust line (5th element, see §1): centred under the action — at every width (fix round 1: the full-width box and the column
   used to start at 768, so ≤479 the line shrank to its text and 480–767 it sat BESIDE the label-width pill, off the header's axis) */
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__cta > p.jt-ah__trust{flex:none;width:100%;text-align:center}
@media (min-width:768px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__cta > p.jt-ah__trust{margin-top:-8px}
}
@media only screen and (max-width:767px){
body.jt-ahs.jt-ah--c-centrado.jt-ah--ink .jt-ah__cta:has(> .jt-ah__trust){flex-direction:column;align-items:center}
}
/* =============================================================================================================================================
   4. FOLIO (C) — the folio row ON TOP (kicker left · byline right on one baseline ≥1025; stacked left ≤1024), one hairline under it; the title in the
   site's Swiss voice (DESIGN.md «Display»: Roobert, optical bold, tracking 0, line-height .92, all 12 columns); the action ALONE under the title, 40px below.
   Roobert is served at 300/400 only: the weight is the Regular + a .03em stroke (owner decision 5; see the title rule).
   ============================================================================================================================================= */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__in{display:block}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__rail.jt-ahs-folio{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:8px 40px;margin:0;padding:0 0 16px;border:0;border-bottom:1px solid var(--jt-ahs-hair)}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__kicker{flex:0 1 auto;min-width:0;margin:0;padding:0;text-transform:uppercase}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__byline{flex:0 1 auto;text-align:right}
/* «Atualizado» never separates from its date (at 360 the break fell between them) — the whole fact is one piece */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ahs-meta .jt-ah__fact--date,
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ahs-meta .jt-ah__fact--date .jt-ah__flabel{white-space:nowrap}
/* padding-block 4px: a taller hit area without moving the line (inline padding stays out of the line box) */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__name{padding:4px 0}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__head{display:block;grid-column:auto;margin:40px 0 0;padding:0;min-width:0}
/* folio ladder (Roobert 400 advances, identical in Chrome and WebKit — lib/ahs-metrics.php), picked by the PHP selector: s120 = forced lines (2 ≥768 · 3 ≤767
   with br.jt-ahs-br--to767), widest 2-line line ≤21 chars and 3-line line ≤14 · s96 = no <br>, text-wrap:balance, titles ≤50 chars (README «Ladders») */
/* the folio title's weight (owner decision 5, 2026-09-23): the theme serves Roobert 300 / 400 only (no licence for the Bold), so the title is the
   licensed Regular emboldened OPTICALLY — -webkit-text-stroke .03em in the text's own colour, font-synthesis:none. The stroke adds no advance, so
   Chrome and WebKit lay the title out identically (the faux 700 ran ~6 % wider in WebKit); the folio ladder is measured on Roobert 400 with
   factor 1.0 (lib/ahs-metrics.php «roobert400»). Display sizes only (the title's floor is 34px). ::selection repaints the stroke in the
   selection ink (the stroke would otherwise keep the resting colour). */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-folio .jt-ah__title{grid-column:auto;margin:0;padding:0;max-width:none;font-family:var(--jt-ah-sans);font-weight:400;font-style:normal;font-synthesis:none;-webkit-text-stroke:.03em currentColor;paint-order:stroke fill;font-size:min(120px, calc((100vw - 40px) / 9.8));line-height:.92;letter-spacing:0;text-transform:none;color:var(--jt-ahs-title);text-wrap:wrap;overflow-wrap:normal;hyphens:manual}
body.jt-ahs.jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--c-folio .jt-ah__title::selection,
body.jt-ahs.jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--c-folio .jt-ah__title ::selection{-webkit-text-stroke-color:var(--jt-ahs-select-fg)}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-folio.jt-ahs--s96 .jt-ah__title{font-size:min(96px, calc((100vw - 40px) / 12.3));text-wrap:balance}
/* the action alone: the theme's ledger keeps only div.jt-ah__cta, 40px under the title, on column 1 */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__ledger{display:block;grid-column:auto;grid-template-columns:none;margin:40px 0 0;padding:0;border:0}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__cta{display:flex;width:fit-content;max-width:100%;flex:none;grid-column:auto;grid-template-columns:none;grid-template-areas:none;margin:0;padding:0;border:0}
/* ≤1024: the folio stacks (kicker, then byline, left; 8px apart). The title keeps 2 lines down to 768 (tablets keep the 12 columns). */
@media only screen and (max-width:1024px){
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__rail.jt-ahs-folio{flex-direction:column;justify-content:flex-start;align-items:flex-start;column-gap:0}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__byline{text-align:left}
}
/* ≤767: 12px kicker → byline · byline 14/22 · hairline · title in 3 lines (s120) / balanced (s96) · the action full width 24px below */
@media only screen and (max-width:767px){
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__rail.jt-ahs-folio{row-gap:12px}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__head{margin-top:24px}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-folio .jt-ah__title{font-size:clamp(34px, 11.28vw, 104px)}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah.jt-ah--ink.jt-ah--c-folio.jt-ahs--s96 .jt-ah__title{font-size:min(64px, calc((100vw - 40px) / 10.2))}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__ledger{margin-top:24px}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__cta{width:100%}
}
/* ≤389: value 13/20 and «·» at 4px → two lines at 360 (320 keeps three, each fact whole) */
@media only screen and (max-width:389px){
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__byline,
  body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__name{font-size:13px;line-height:20px}
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__sep,
  body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__nameline::after,
  body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__stamp::after{margin:0 4px}
}
/* the header trust line (5th element, see §1): under the action, on its left edge */
body:where(.jt-ahs).jt-ah--c-folio.jt-ah--ink .jt-ah__cta:has(> .jt-ah__trust){flex-direction:column;align-items:flex-start}
/* =============================================================================================================================================
   5. ANSWER BAND — the post's first answer module (section.jt-eb-open--answer, built by the body stage) continues the header's ground: one column from the
   masthead to the end of the answer. It re-tokens the shared sheet's --eb-* set from the ground (the sheet paints band text, h2, links and the
   kicker's rule from them — the band's background and text colour too: --eb-verde / --eb-on-verde are re-tokened, so this rule paints none of its
   own). The dek (moved out of the header) lives in the marginalia: div.jt-ahs-marg = the band's own kicker + the dek.
   !important (16): the shared sheet's .jt-eb-open padding, «.jt-eb p» type and colour, «.jt-eb :is(h2…)» colour / margin / max-width and the §21
   grid placement — each proven by the contest.
   ============================================================================================================================================= */
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--answer{--eb-verde:var(--jt-ahs-ground);--eb-on-verde:var(--jt-ahs-text);--eb-on-verde-soft:var(--jt-ahs-a-soft);--eb-verde-rule:var(--jt-ahs-a-rule);--eb-s-ink:var(--jt-ahs-a-heading);--eb-s-hover:var(--jt-ahs-a-hover);padding-top:var(--jt-ahs-answer-top)!important;padding-bottom:56px!important}
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open--answer .jt-next20-kicker{font-size:12px!important;line-height:16px!important;letter-spacing:.16em!important;color:var(--jt-ahs-kicker)!important}
body.jt-ahs.jt-eb-bold .entry-content .jt-eb.jt-eb-open.jt-eb-open--answer h2{color:var(--jt-ahs-a-h2)!important}
body.jt-ahs.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open--answer > .jt-eb__in > .jt-ahs-marg{--jt-ahs-dek-size:13px;--jt-ahs-dek-leading:20px;display:block;min-width:0;max-width:none!important;padding:0}
/* the dek: 13/20 in desktop marginalia, 17/26 in the stacked reading flow; the tone's soft ink, 16px under the kicker.
   Its type, colour, margin and measure beat «.jt-eb p» / «.jt-eb :is(…p…)» !important;
   display / border / transform need no weight (the theme's G4 .jt-ah--ink .jt-ah__dek{display:none} is (0,2,1), no !important) */
body.jt-ahs.jt-eb-bold .entry-content > .jt-eb.jt-typo-zone.jt-eb--bleed.jt-eb-band.jt-eb-open.jt-eb-open--answer{margin-bottom:0}
/* the marginalia takes column 1 of the sheet's §21 grid (238 | 704): titulo/centrado from 901, folio from 1180 (drift kept, D2: folio fixed the
   126–194px measure at 901–1179; below its breakpoint folio caps the stacked dek at 60ch) */
@media (min-width:901px){
body:where(.jt-ahs):is(.jt-ah--c-titulo,.jt-ah--c-centrado).jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open--answer > .jt-eb__in > .jt-ahs-marg{grid-column:1!important;grid-row:1 / span 3;align-self:start;padding-right:24px}
}
@media (min-width:1180px){
body:where(.jt-ahs).jt-ah--c-folio.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open--answer > .jt-eb__in > .jt-ahs-marg{grid-column:1!important;grid-row:1 / span 3;align-self:start;padding-right:24px}
}
@media (max-width:1179px){
body:where(.jt-ahs).jt-ah--c-folio.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open--answer > .jt-eb__in > .jt-ahs-marg{--jt-ahs-dek-size:17px;--jt-ahs-dek-leading:26px}
}
@media (max-width:900px){
body.jt-ahs.jt-eb-bold .entry-content .jt-eb.jt-typo-zone.jt-eb-open--answer > .jt-eb__in > .jt-ahs-marg{--jt-ahs-dek-size:17px;--jt-ahs-dek-leading:26px}
}
@media only screen and (max-width:767px){
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--answer{padding-bottom:40px!important}
}
/* =============================================================================================================================================
   6. PARTNER BAND — the cards step after the answer keeps the page's ONE dark anchor. Its palette is the GROUND's (§0c partner tokens): verde after
   the warm / neutral grounds (the shared sheet's own values), deep after the green ones (verde, sálvia — the opening's colours inverted); the shared
   sheet paints the band from the re-tokened --eb-* set. No hairline at the seam; the card grid's own rule opens the band 40px below it.
   !important (5): «.jt-eb-open» padding, «.jt-eb-open .jt-next20-card-grid» margin, the card-spacing-rhythm bundle's top margin.
   ============================================================================================================================================= */
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--cards{--eb-verde:var(--jt-ahs-partner-bg);--eb-on-verde:var(--jt-ahs-partner-text);--eb-on-verde-soft:var(--jt-ahs-partner-soft);--eb-verde-rule:var(--jt-ahs-partner-rule);padding-top:40px!important;padding-bottom:clamp(44px,6vw,72px)!important}
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open--cards .jt-next20-card-grid{margin-top:0!important}
body.jt-ahs.jt-eb-bold .entry-content > .jt-eb.jt-typo-zone.jt-eb--bleed.jt-eb-band.jt-eb-open.jt-eb-open--cards{margin-top:0!important;margin-bottom:0}
@media only screen and (max-width:767px){
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--cards{padding-top:24px!important}
}
/* =============================================================================================================================================
   7. COLLAPSED INDEX «Neste artigo» — details.jt-ahs-index on paper, on the 704 prose rail, after the answer and before its partner band; closed by default at
   every width, native, no JS. CLOSED = ONE ruled row (56px, 48 on phones): the theme's label 15/400 ink (the control's name) · the range
   «01–08» from data-jt-ahs-range via ::after (Butler 300, muted, tabular; alt "" — AT reads only «Neste artigo») · a +/− mark drawn in CSS (the
   theme FAQ board's convention). OPEN = the ruled Butler-numeral rows (numeral 22 + title 15/20, ≥48px). Hover/focus = teal; focus-visible = 2px
   teal outline. The theme's chip rules (.jt-ah--ink .jt-ah__index-list…) still reach the list through the body: (0,4,x)+ here.
   ============================================================================================================================================= */
body.jt-ahs details.jt-ahs-index{box-sizing:border-box;display:block;width:100%;max-width:var(--jt-ship-text-rail,704px);margin:40px auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--jt-ah-ink)}
/* Native index and persistent contact share the viewport, not a tap surface.
   Keep the outer centered prose rail; reserve only the missing part of the right
   gutter, sized from the contact owner's diameter, safe edge and focus gap.
   With no trigger or central sheet, the index keeps its ordinary full width. */
body.jt-ahs:has(.whatsapp-button__trigger) details.jt-ahs-index{padding-right:max(0px,calc(var(--jt-wa-float-clearance,0px) - (100vw - min(100%,var(--jt-ship-text-rail,704px))) / 2))}
/* the next body block brings its own spacing (a .bk carries 50px; the intro's section.section 28px): no bottom margin then */
body.jt-ahs details.jt-ahs-index:has(+ .bk),
body.jt-ahs details.jt-ahs-index:has(+ div > section.section:first-child){margin-bottom:0}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;column-gap:24px;align-items:baseline;align-content:center;min-height:56px;margin:0;padding:0;border:0;border-top:1px solid var(--jt-ah-line);border-bottom:1px solid var(--jt-ah-line);border-radius:0;background:transparent;list-style:none;cursor:pointer;color:var(--jt-ah-ink);-webkit-user-select:none;user-select:none;transition:color .15s ease}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum::-webkit-details-marker{display:none}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum::marker{content:none}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum > .jt-ah__index-label{grid-column:1;grid-row:1;display:block;position:static;width:auto;height:auto;min-width:0;overflow:visible;clip:auto;margin:0;padding:0;font:400 15px/24px var(--jt-ah-sans);text-transform:none;letter-spacing:0;color:inherit;white-space:normal}
/* the range, from the rows' own numerals (PHP: «01–08» · one row «01» · no rows → no attribute → nothing painted). The first `content` is the
   fallback for engines without alt text (Safari < 17.4, Firefox < 128): the range still paints; AT may then read «01–08» after the label. */
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum::after{content:attr(data-jt-ahs-range);content:attr(data-jt-ahs-range) / "";grid-column:2;grid-row:1;display:block;font:300 var(--jt-ahs-range-size)/var(--jt-ahs-range-size) var(--jt-ah-serif);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--jt-ah-muted);white-space:nowrap;transition:color .15s ease}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:not([data-jt-ahs-range])::after{content:none}
/* the mark: two bars in a 14px box (open = the horizontal only) — geometry per composition (§0b) */
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum::before{content:"";grid-column:3;grid-row:1;align-self:center;display:block;width:14px;height:14px;background:var(--jt-ahs-mark)}
body.jt-ahs details.jt-ahs-index[open] > summary.jt-ahs-index__sum::before{background:var(--jt-ahs-mark-open)}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:hover,
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:focus-visible{color:var(--jt-ah-teal)}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:hover::after,
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:focus-visible::after{color:var(--jt-ah-teal)}
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum:focus-visible{outline:2px solid var(--jt-ah-teal);outline-offset:4px}
body.jt-ahs .jt-ahs-index .jt-ah__index{display:block;position:static;height:auto;margin:0;padding:0;border:0;background:transparent}
/* height:auto (fix round 1): the index is a <nav>, and style.css ≤1299 gives every nav height:100vh (the mobile menu panel) */
body.jt-ahs .jt-ahs-index .jt-ah__index-list{display:block;width:100%;min-width:0;margin:0;padding:0;overflow:visible;scroll-snap-type:none;-webkit-mask-image:none;mask-image:none;list-style:none;gap:0;border-bottom:1px solid var(--jt-ah-line)}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li:first-child > a{border-top:0}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li{display:block;flex:none;scroll-snap-align:none;min-width:0;margin:0;padding:0}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a{display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;gap:0;width:auto;height:auto;min-height:48px;margin:0;padding:8px 0;border:0;border-top:1px solid var(--jt-ah-line);border-radius:0;box-shadow:none;background:transparent;font:300 15px/20px var(--jt-ah-sans);letter-spacing:0;text-transform:none;color:var(--jt-ah-ink);white-space:normal;text-decoration:none;transition:color .15s ease}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a:hover,
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a:focus{color:var(--jt-ah-teal);border-color:var(--jt-ah-line);background:transparent;text-decoration:none}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a .jt-ah__index-n{display:block;flex:0 0 40px;min-width:max-content;white-space:nowrap;font:300 22px/22px var(--jt-ah-serif);letter-spacing:0;color:var(--jt-ah-muted);font-variant-numeric:tabular-nums}
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a:hover .jt-ah__index-n,
body.jt-ahs .jt-ahs-index .jt-ah__index-list > li > a:focus .jt-ah__index-n{color:var(--jt-ah-teal)}
/* At enlarged text sizes, keep numerals whole and let the title use the complete row. */
body.jt-ahs .jt-ahs-index .jt-ahs-index__t{display:block;flex:1 1 12em;min-width:0;overflow:visible;text-overflow:clip;white-space:normal}
@media only screen and (max-width:767px){
body.jt-ahs details.jt-ahs-index > summary.jt-ahs-index__sum{min-height:48px;column-gap:16px}
}
/* =============================================================================================================================================
   8. THE NODES' HOMES OUTSIDE THE HEADER — trust line in the closer · the fallback standfirst · the fallback header foot · the safety line.
   The approved closer (editorial blocks) does not exist on the theme's posts; the trust line goes into the post's own closing WhatsApp CTA
   (.jt-ahs-closer: the «AGENDAMENTO ONLINE» group, the last jt-article-cta, jt-next20-cta, blog-cta or a modern-post-block — lib/article-header-
   system-body.php), right after its action row: 13/20/400 in the container's own ink (inherited, so it reads on every closer ground), each fact
   unbroken, 16px under the action, on the container's own axis. No rule, no box, no new colour. !important (1): the type, against the closers'
   own paragraph rules (style.css «.entry-content .jt-article-cta p» 16px/1.6 !important); the colour stays the container's (its dark variant
   paints its paragraphs oklch(88% …) !important — the line takes that ink too).
   ============================================================================================================================================= */
body.jt-ahs .entry-content .jt-ahs-closer p.jt-ah__trust{box-sizing:border-box;display:block;width:auto;max-width:none;margin:16px 0 0;padding:0;border:0;border-radius:0;background:transparent;font:400 13px/20px var(--jt-ah-sans)!important;letter-spacing:0;text-transform:none;color:inherit;text-wrap:pretty}
body.jt-ahs .entry-content .jt-ahs-closer p.jt-ah__trust > span{display:inline;margin:0;padding:0;font:inherit;color:inherit;white-space:nowrap}
body.jt-ahs .entry-content .jt-ahs-closer p.jt-ah__trust::before,
body.jt-ahs .entry-content .jt-ahs-closer p.jt-ah__trust::after{content:none}
/* the «AGENDAMENTO ONLINE» group centres every paragraph (has-text-align-center) around its centred button row: the line keeps that axis */
body.jt-ahs .entry-content .wp-block-group.jt-ahs-closer p.jt-ah__trust{text-align:center}
/* the modern CTA board (style.css .jt-modern-cta: copy | actions on a 2-column grid ≥768, the actions bottom-right): the line stays in the
   actions' column, right-aligned, 16px under them (the grid's own row gap, clamp(24px,4vw,50px), is given back) */
/* the fallback path (no usable answer module): the dek is the standfirst — the first line on paper under the header, on the prose rail,
   Roobert 300 20/30 in ink (17/26 on phones); the collapsed index follows it (§7). The header's ground closes 56px under the action (40 on
   phones) — the answer band's own bottom rhythm — since no band continues it. */
body.jt-ahs .entry-content > p.jt-ahs-standfirst + details.jt-ahs-index{margin-top:32px}
/* (k0 / single.php: the content box's own 50px top padding — 40 on phones — is the gap; article-header.css zeroes its first child's margin) */
@media only screen and (max-width:767px){
body.jt-ahs .entry-content > p.jt-ahs-standfirst + details.jt-ahs-index{margin-top:24px}
}
/* safety: a trust line promised to the body but without a closer in the real HTML is printed after the index (never lost) */
body.jt-ahs .entry-content > p.jt-ah__trust.jt-ahs-trust{box-sizing:border-box;width:100%;max-width:var(--jt-ship-text-rail,704px);margin:16px auto 0;padding:0;font:400 13px/20px var(--jt-ah-sans);letter-spacing:0;color:var(--jt-ah-muted)}
body.jt-ahs .entry-content > p.jt-ah__trust.jt-ahs-trust > span{white-space:nowrap}
/* =============================================================================================================================================
   9. CLARO — answer-band text roles that the shared sheet paints with !important for dark bands (<strong> #fff, link hover, focus) + selection.
   Tokens do the rest of the tone — a resting link already reads --eb-on-verde (= text) and the theme's post-link underline (ink .45 = link-line);
   nothing here moves a box. !important (4): «.jt-eb-open strong», the dark-band link hover, the global «a:focus-visible» ink ring.
   ============================================================================================================================================= */
body.jt-ahs.jt-ah--t-claro.jt-eb-bold .entry-content .jt-eb-open--answer strong{color:var(--jt-ahs-text)!important}
body.jt-ahs.jt-ah--t-claro.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--answer :is(p,li,dd,td,span,h3,h4) a:is(:hover,:focus-visible){color:var(--jt-ahs-link-hover)!important;text-decoration-color:currentColor!important}
body.jt-ahs.jt-ah--t-claro.jt-eb-bold .entry-content .jt-eb-open.jt-eb-open--answer :is(a,summary,button):focus-visible{outline-color:var(--jt-ahs-focus)!important}
body.jt-ahs.jt-ah--t-claro.jt-eb-bold .entry-content .jt-eb-open--answer ::selection{background:var(--jt-ahs-select-bg);color:var(--jt-ahs-select-fg)}
/* =============================================================================================================================================
   10. GROUND DELTAS — behaviour that exists on ONE approved page only (snapshot drift, kept so the six renders stay identical; INVENTORY §4 lists
   each with the unification it would take). Keyed on the ground that page uses; delete a line once the owner approves its unification.
   ============================================================================================================================================= */
/* D7 · paper-soft (A claro): the header's kicker link turns teal on hover/focus (blush and sálvia keep the kicker colour) */
body.jt-ahs.jt-ah--g-paper-soft.jt-ah--ink .jt-ah__kicker a:hover,
body.jt-ahs.jt-ah--g-paper-soft.jt-ah--ink .jt-ah__kicker a:focus{color:var(--jt-ahs-link-hover);text-decoration-color:currentColor}
/* D8 · sálvia (C claro): the header links' keyboard ring sits 2px out (the theme's 3px elsewhere) */
body.jt-ahs.jt-ah--g-sage.jt-ah--ink .jt-ah :is(.jt-ah__kicker a,.jt-ah__name):focus-visible{outline-offset:2px}
/* D16 · sálvia (C claro): the theme's ink-skin tokens are re-tokened INSIDE the header (every ink rule of article-header.css then paints in the tone — today only
   the screen-reader-only byline label reads them); paper-soft and blush leave the theme's light values there (the clipped label computes light-on-light) */
body.jt-ahs.jt-ah--g-sage.jt-ah--ink .jt-ah{--jt-ah-light:var(--jt-ahs-text);--jt-ah-light-82:var(--jt-ahs-soft);--jt-ah-sage:var(--jt-ahs-kicker);--jt-ah-hair-ink:var(--jt-ahs-hair)}
/* D12 · sálvia (C claro): the ≥1300 inline menu's dropdown is WHITE with the header hairline (the theme's warm white is the only warm surface over
   the cold sage), its hover / current row the ground (a ground decision, INVENTORY D12) */
@media only screen and (min-width:1300px){
body.jt-ahs.jt-ah--g-sage.jt-ah--ink .site-header .genesis-nav-menu .sub-menu{background:#fff;border-color:var(--jt-ahs-hair)}
body.jt-ahs.jt-ah--g-sage.jt-ah--ink .site-header .genesis-nav-menu .sub-menu a:hover,
  body.jt-ahs.jt-ah--g-sage.jt-ah--ink .site-header .genesis-nav-menu .sub-menu a:focus,
  body.jt-ahs.jt-ah--g-sage.jt-ah--ink .site-header .genesis-nav-menu .sub-menu .current-menu-item > a{background:var(--jt-ahs-ground)}
}
/* print: the opening bands keep their grounds on paper; the HEADER keeps its ground only under folio (drift kept, D26: A and B were approved printing
   the header plain — the browser's economy mode). The collapsed index is navigation: it does not print (the theme hides today's header index too). */
@media print{
body.jt-ahs.jt-eb-bold .entry-content .jt-eb-open,
  body.jt-ahs.jt-ah--c-folio.jt-ah--ink .jt-ah{print-color-adjust:exact;-webkit-print-color-adjust:exact}
body.jt-ahs details.jt-ahs-index{display:none}
}
