/* page-laser-hub.css — "Laser e procedimentos" hub (tm-laser-hub.php). Design V01 "Monólito" 2026-09-17 + the judge panel grafts.
   Keyed on body.jt-laser-hub; fonts come from fonts/fonts.css (site-wide). Tokens = the Átrio home skin (page-home-atrio.css). */

/* ---------- tokens (Átrio skin, dark-first) ---------- */
body.jt-laser-hub{
  --verde:#1e3a2f;
  --verde-2:#152b22;
  --black:#0b0d0c;
  --foot:#101110;
  --on-verde:#f1ece7;
  --on-verde-soft:#a9c2ad;
  --verde-rule:rgba(227,234,226,.28);
  --verde-rule-strong:rgba(227,234,226,.55);
  --paper:#f4eee8;
  --ink:#1f1f21;
  --muted:#6f6b67;
  --line:#c7bdb5;
  --surface:#fbf8f4;
  /* band tokens (critique round 2026-09-19) — every band re-tokens itself by setting these; defaults = the dark skin */
  --band-bg:var(--verde);--band-ink:#fff;--band-text:var(--on-verde);--band-soft:var(--on-verde-soft);
  --band-rule:var(--verde-rule);--band-rule-strong:var(--verde-rule-strong);--band-num:var(--on-verde-soft);
  --band-tint:rgba(255,255,255,.08);--band-focus:#fff;
  --band-chip-bg:transparent;--band-chip-border:var(--verde-rule-strong);--band-chip-hover-bg:#fff;--band-chip-hover-c:var(--verde);
  --serif:Butler,Georgia,"Times New Roman",serif;
  --sans:Roobert,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --r-pad:max(24px,calc(50% - 616px));
  --ease:cubic-bezier(.16,1,.3,1);
}
body.jt-laser-hub .jt-lh *,body.jt-laser-hub .jt-lh *::before,body.jt-laser-hub .jt-lh *::after{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){body.jt-laser-hub .jt-lh *,body.jt-laser-hub .jt-wabar{transition:none!important}}
body.jt-laser-hub .jt-lh{margin:0;background:var(--verde);color:var(--on-verde);font:400 17px/1.65 var(--sans);overflow-x:clip}
body.jt-laser-hub .jt-lh img{display:block;max-width:100%;height:auto}
body.jt-laser-hub .jt-lh a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}
body.jt-laser-hub .jt-lh a:focus-visible,body.jt-laser-hub .jt-lh button:focus-visible,body.jt-laser-hub .jt-lh summary:focus-visible,body.jt-laser-hub .jt-wabar a:focus-visible{outline:2px solid var(--band-focus)!important;outline-offset:3px}
body.jt-laser-hub .jt-lh h1,body.jt-laser-hub .jt-lh h2,body.jt-laser-hub .jt-lh h3{margin:0;padding:0;font-weight:300;font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;text-transform:none}
body.jt-laser-hub .jt-lh p{margin:0}
body.jt-laser-hub .jt-lh ul,body.jt-laser-hub .jt-lh ol,body.jt-laser-hub .jt-lh dl{margin:0;padding:0}
body.jt-laser-hub .jt-lh li{list-style:none;margin:0;padding:0}
body.jt-laser-hub .jt-lh li:before{content:none;display:none}
body.jt-laser-hub .jt-lh .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- kicker / marginalia ---------- */
body.jt-laser-hub .jt-lh .kick{font:400 13px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--on-verde-soft);border-top:1px solid var(--verde-rule);padding-top:8px;display:block}
@media (max-width:900px){body.jt-laser-hub .jt-lh .kick{border-top:0;padding-top:0;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em}body.jt-laser-hub .jt-lh .kick::before{content:"";width:28px;height:1px;background:var(--verde-rule)}}

/* ---------- pills ---------- */
body.jt-laser-hub .jt-lh .pill{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;border-radius:999px;font:400 15px/1.2 var(--sans);text-decoration:none;text-transform:none;transition:background .25s var(--ease),color .25s var(--ease);white-space:nowrap}
body.jt-laser-hub .jt-lh .pill--w{background:#fff;color:var(--verde)}
body.jt-laser-hub .jt-lh .pill--w:hover{background:var(--on-verde)}
body.jt-laser-hub .jt-lh .pill--g{background:transparent;color:var(--on-verde);box-shadow:inset 0 0 0 1px var(--verde-rule-strong)}
body.jt-laser-hub .jt-lh .pill--g:hover{background:var(--band-tint)}

/* ---------- bands ---------- */
body.jt-laser-hub .jt-lh .band{padding:clamp(56px,7.5vw,96px) var(--r-pad);position:relative;background:var(--band-bg);color:var(--band-text)}
body.jt-laser-hub .jt-lh .band--2{--band-bg:var(--verde-2)}
body.jt-laser-hub .jt-lh .band--k{--band-bg:var(--black)}
body.jt-laser-hub .jt-lh .band+.band{border-top:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .rail{max-width:1232px;margin:0 auto}
body.jt-laser-hub .jt-lh .marg{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:clamp(32px,4.5vw,72px)}
body.jt-laser-hub .jt-lh .marg__side{position:sticky;top:24px;align-self:start}
body.jt-laser-hub .jt-lh .marg__side figure{margin-top:28px}
@media (max-width:900px){body.jt-laser-hub .jt-lh .marg{grid-template-columns:minmax(0,1fr);row-gap:20px}body.jt-laser-hub .jt-lh .marg__side{display:contents}body.jt-laser-hub .jt-lh .marg__side figure{order:3;margin-top:8px;max-width:320px}}
body.jt-laser-hub .jt-lh .h2{font-size:clamp(34px,4.6vw,60px);line-height:1.04;color:var(--band-ink);max-width:22ch}
body.jt-laser-hub .jt-lh .h2--xl{font-size:clamp(44px,5.2vw,68px);line-height:1;max-width:18ch}
body.jt-laser-hub .jt-lh .dek{font:300 clamp(18px,1.5vw,20px)/1.55 var(--sans);color:var(--on-verde);max-width:52ch;margin-top:22px}
body.jt-laser-hub .jt-lh .p{font:300 17px/1.65 var(--sans);color:var(--on-verde);max-width:62ch}
body.jt-laser-hub .jt-lh .cap{font:400 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-verde-soft);margin-top:10px}
body.jt-laser-hub .jt-lh figure{margin:0}
body.jt-laser-hub .jt-lh .ph{width:100%;height:auto;object-fit:cover}

/* ---------- hero ---------- */
body.jt-laser-hub .jt-lh .hero{position:relative;background:var(--verde-2);padding:110px var(--r-pad) 0;overflow:hidden}
body.jt-laser-hub .jt-lh .hero__rail{position:relative;z-index:1;max-width:1232px;margin:0 auto;width:100%}
body.jt-laser-hub .jt-lh .hero__media{position:relative;margin:calc(-1 * clamp(88px,9.4vw,120px)) calc(-1 * var(--r-pad)) 0;height:clamp(560px,64vw,860px)}
body.jt-laser-hub .jt-lh .hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
body.jt-laser-hub .jt-lh .hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,var(--verde-2) 0 15%,rgba(21,43,34,.5) 24%,rgba(21,43,34,.05) 42%,rgba(21,43,34,.5) 100%)}
body.jt-laser-hub .jt-lh .crumbs{display:flex;flex-wrap:wrap;gap:0 4px;font:400 13px/1 var(--sans);color:var(--on-verde-soft);margin-bottom:20px}
body.jt-laser-hub .jt-lh .crumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:var(--on-verde-soft);text-decoration:none}
body.jt-laser-hub .jt-lh .crumbs a:hover{text-decoration:underline}
body.jt-laser-hub .jt-lh .crumbs span[aria-hidden]{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
body.jt-laser-hub .jt-lh .crumbs [aria-current]{display:inline-flex;align-items:center;min-height:44px;color:var(--on-verde)}
body.jt-laser-hub .jt-lh .hero__kick{border-top:0;padding-top:0;margin-bottom:26px}
body.jt-laser-hub .jt-lh .h1{font-size:clamp(46px,7vw,96px);line-height:.98;color:#fff;max-width:13ch;hyphens:manual;letter-spacing:-.015em}
body.jt-laser-hub .jt-lh .hero__dek{max-width:46ch;margin-top:30px}
body.jt-laser-hub .jt-lh .hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
body.jt-laser-hub .jt-lh .facts{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:0 48px;margin-top:46px;padding:18px 0 34px;border-top:1px solid var(--verde-rule);max-width:900px}
body.jt-laser-hub .jt-lh .facts div{font:400 15px/1.45 var(--sans);color:var(--on-verde)}
body.jt-laser-hub .jt-lh .facts dd{margin:0}
body.jt-laser-hub .jt-lh .facts b{display:block;font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-verde-soft);margin-bottom:2px}
body.jt-laser-hub .jt-lh .facts a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:#fff}
body.jt-laser-hub .jt-lh .facts a:hover{text-decoration:underline}
@media (max-width:900px){
  body.jt-laser-hub .jt-lh .hero{padding-top:92px}
  body.jt-laser-hub .jt-lh .hero__media{margin-top:-44px;height:auto;aspect-ratio:4/5}
  body.jt-laser-hub .jt-lh .hero__img{object-position:32% 45%}
  body.jt-laser-hub .jt-lh .hero__scrim{background:linear-gradient(180deg,var(--verde-2) 0 9%,rgba(21,43,34,.45) 16%,rgba(21,43,34,.05) 30%,rgba(21,43,34,.45) 100%)}
  body.jt-laser-hub .jt-lh .h1{max-width:none}
  body.jt-laser-hub .jt-lh .facts{grid-template-columns:1fr;gap:6px;padding:12px 0 10px;margin-top:34px}
}

/* ---------- tecnologia ---------- */
body.jt-laser-hub .jt-lh .tec{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:start}
body.jt-laser-hub .jt-lh .ficha{margin-top:40px;border-top:1px solid var(--verde-rule-strong)}
body.jt-laser-hub .jt-lh .ficha div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 24px;padding:18px 0;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .ficha dt{font:400 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-verde-soft);padding-top:4px}
body.jt-laser-hub .jt-lh .ficha dd{margin:0;font:300 16.5px/1.55 var(--sans);color:var(--on-verde)}
body.jt-laser-hub .jt-lh .ficha dd a{color:var(--band-ink)}
body.jt-laser-hub .jt-lh .reads{margin-top:28px}
body.jt-laser-hub .jt-lh .reads li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--verde-rule);text-decoration:none;font:400 17px/1.3 var(--serif);color:var(--band-ink)}
body.jt-laser-hub .jt-lh .reads li a:hover span:first-child{text-decoration:underline}
body.jt-laser-hub .jt-lh .reads li a::after{content:"→";font-family:var(--sans);color:var(--on-verde-soft)}
@media (max-width:900px){body.jt-laser-hub .jt-lh .tec{grid-template-columns:minmax(0,1fr)}body.jt-laser-hub .jt-lh .tec figure{order:-1}body.jt-laser-hub .jt-lh .ficha div{grid-template-columns:minmax(0,1fr);gap:4px}}

/* ---------- laser index ---------- */
body.jt-laser-hub .jt-lh .idx{margin-top:48px}
body.jt-laser-hub .jt-lh .ledger{border-top:1px solid var(--verde-rule-strong)}
body.jt-laser-hub .jt-lh .ledger li a{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.6fr) 36px;column-gap:28px;align-items:start;padding:26px 0 30px;border-bottom:1px solid var(--verde-rule);text-decoration:none;color:var(--on-verde);transition:background .25s var(--ease)}
body.jt-laser-hub .jt-lh .ledger li a:hover{background:var(--band-tint)}
body.jt-laser-hub .jt-lh .ledger .n{font:300 clamp(56px,7vw,100px)/.82 var(--serif);letter-spacing:-.03em;color:var(--band-num);font-variant-numeric:tabular-nums;margin-top:2px}
body.jt-laser-hub .jt-lh .ledger .t{font:400 clamp(24px,2.4vw,32px)/1.15 var(--serif);color:var(--band-ink);margin-top:6px;min-width:0;overflow-wrap:break-word}
body.jt-laser-hub .jt-lh .ledger li a:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
body.jt-laser-hub .jt-lh .ledger .d{font:300 16.5px/1.55 var(--sans);color:var(--on-verde);margin-top:10px}
body.jt-laser-hub .jt-lh .ledger .a{font:300 28px/1 var(--serif);color:var(--on-verde-soft);margin-top:10px;text-align:right}
@media (max-width:760px){
  body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;padding:22px 0 24px}
  body.jt-laser-hub .jt-lh .ledger .n{grid-row:1/3;font-size:56px}
  body.jt-laser-hub .jt-lh .ledger .t{margin-top:0}
  body.jt-laser-hub .jt-lh .ledger .d{grid-column:2;margin-top:8px}
  body.jt-laser-hub .jt-lh .ledger .a{display:none}
}

/* ---------- procedures index ---------- */
body.jt-laser-hub .jt-lh .grp{margin-top:44px}
body.jt-laser-hub .jt-lh .grp+.grp{margin-top:36px}
body.jt-laser-hub .jt-lh .grp h3{font:400 clamp(22px,2.2vw,28px)/1.2 var(--serif);color:var(--band-ink);padding-bottom:12px;border-bottom:1px solid var(--verde-rule-strong);margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
body.jt-laser-hub .jt-lh .grp h3 small{font:400 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-verde-soft);white-space:nowrap}
body.jt-laser-hub .jt-lh .chips{display:flex;flex-wrap:wrap;gap:8px}
body.jt-laser-hub .jt-lh .chips a{display:inline-flex;align-items:center;min-height:48px;padding:6px 18px;background:var(--band-chip-bg);border:1px solid var(--band-chip-border);color:var(--band-text);font:400 15.5px/1.25 var(--sans);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}
body.jt-laser-hub .jt-lh .chips a:hover{background:var(--band-chip-hover-bg);color:var(--band-chip-hover-c);border-color:var(--band-chip-hover-bg)}
body.jt-laser-hub .jt-lh .arch{margin-top:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;border-top:1px solid var(--verde-rule-strong)}
body.jt-laser-hub .jt-lh .arch li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:10px 0;border-bottom:1px solid var(--verde-rule);text-decoration:none;font:400 19px/1.3 var(--serif);color:var(--band-ink)}
body.jt-laser-hub .jt-lh .arch li a::after{content:"→";font-family:var(--sans);color:var(--on-verde-soft)}
body.jt-laser-hub .jt-lh .arch li a:hover span{text-decoration:underline}
body.jt-laser-hub .jt-lh .arch li a small{font:400 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-verde-soft);margin-left:10px}
@media (max-width:900px){body.jt-laser-hub .jt-lh .arch{grid-template-columns:minmax(0,1fr)}}

/* ---------- safety (black) ---------- */
body.jt-laser-hub .jt-lh .safe{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:start}
body.jt-laser-hub .jt-lh .slist{border-top:1px solid var(--verde-rule-strong);margin-top:40px}
body.jt-laser-hub .jt-lh .slist div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 24px;padding:18px 0;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .slist dt{font:400 22px/1.15 var(--serif);color:var(--band-ink)}
body.jt-laser-hub .jt-lh .slist dd{margin:0;font:300 16.5px/1.55 var(--sans);color:var(--on-verde)}
body.jt-laser-hub .jt-lh .safe figure{position:sticky;top:24px}
@media (max-width:900px){body.jt-laser-hub .jt-lh .safe{grid-template-columns:minmax(0,1fr)}body.jt-laser-hub .jt-lh .safe figure{position:static}body.jt-laser-hub .jt-lh .slist div{grid-template-columns:minmax(0,1fr);gap:4px}}

/* ---------- consulta ---------- */
body.jt-laser-hub .jt-lh .cons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:start}
body.jt-laser-hub .jt-lh .steps{border-top:1px solid var(--verde-rule-strong);margin-top:40px}
body.jt-laser-hub .jt-lh .steps li{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:28px;padding:26px 0;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .steps .n{font:300 clamp(48px,5.5vw,74px)/.9 var(--serif);color:var(--band-num);letter-spacing:-.02em}
body.jt-laser-hub .jt-lh .steps h3{font:400 clamp(22px,2.2vw,28px)/1.2 var(--serif);color:var(--band-ink)}
body.jt-laser-hub .jt-lh .steps p{margin-top:8px;font:300 16.5px/1.55 var(--sans);color:var(--on-verde);max-width:52ch}
@media (max-width:900px){body.jt-laser-hub .jt-lh .cons{grid-template-columns:minmax(0,1fr)}body.jt-laser-hub .jt-lh .steps li{grid-template-columns:76px minmax(0,1fr);column-gap:16px}}

/* ---------- FAQ ---------- */
body.jt-laser-hub .jt-lh .faq{border-top:1px solid var(--verde-rule-strong);margin-top:40px}
body.jt-laser-hub .jt-lh .faq details{border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:16px;padding:20px 0;min-height:64px}
body.jt-laser-hub .jt-lh .faq summary::-webkit-details-marker{display:none}
body.jt-laser-hub .jt-lh .faq summary h3{font:400 clamp(20px,2vw,25px)/1.25 var(--serif);color:var(--band-ink)}
body.jt-laser-hub .jt-lh .faq summary::after{content:"+";font:300 34px/1 var(--serif);color:var(--on-verde-soft);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--verde-rule);border-radius:999px}
body.jt-laser-hub .jt-lh .faq details[open] summary::after{content:"–"}
body.jt-laser-hub .jt-lh .faq .ans{padding:0 0 26px;max-width:66ch}
body.jt-laser-hub .jt-lh .faq .ans p{font:300 16.5px/1.6 var(--sans);color:var(--on-verde)}
body.jt-laser-hub .jt-lh .faq .ans p+p{margin-top:10px}
body.jt-laser-hub .jt-lh .faq .ans a{color:var(--band-ink)}
body.jt-laser-hub .jt-lh .faq .src{display:inline-flex;align-items:center;min-height:44px;font:400 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--on-verde-soft);text-decoration:none;margin-top:6px}
body.jt-laser-hub .jt-lh .faq .src:hover{text-decoration:underline}
body.jt-laser-hub .jt-lh .more{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

/* ---------- closer ---------- */
body.jt-laser-hub .jt-lh .closer{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);--band-bg:var(--verde);background:var(--band-bg)}
body.jt-laser-hub .jt-lh .closer__txt{padding:clamp(56px,7.5vw,96px) clamp(32px,4vw,64px) clamp(56px,7.5vw,96px) var(--r-pad)}
body.jt-laser-hub .jt-lh .closer figure{position:relative;min-height:100%}
body.jt-laser-hub .jt-lh .closer .ph{height:100%;position:absolute;inset:0}
body.jt-laser-hub .jt-lh .big{border-top:1px solid var(--verde-rule-strong);margin-top:36px}
body.jt-laser-hub .jt-lh .big div{padding:14px 0;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .big dt{font:400 12px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-verde-soft)}
body.jt-laser-hub .jt-lh .big dd{margin:2px 0 0;font:300 clamp(26px,3vw,40px)/1.15 var(--serif);color:#fff}
body.jt-laser-hub .jt-lh .big dd a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
body.jt-laser-hub .jt-lh .big dd a:hover{text-decoration:underline}
body.jt-laser-hub .jt-lh .closer__h2{margin-top:22px}
body.jt-laser-hub .jt-lh .closer__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
@media (max-width:900px){body.jt-laser-hub .jt-lh .closer{grid-template-columns:minmax(0,1fr)}body.jt-laser-hub .jt-lh .closer__txt{padding-right:var(--r-pad)}body.jt-laser-hub .jt-lh .closer figure{aspect-ratio:3/2;min-height:0}}

/* ---------- sticky WhatsApp bar ---------- */
body.jt-laser-hub .jt-wabar{position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--verde-2);border-top:1px solid var(--verde-rule);padding:0 var(--r-pad);transition:transform .35s var(--ease)}
body.jt-laser-hub .jt-wabar.js{transform:translateY(102%)}
body.jt-laser-hub .jt-wabar.js.on{transform:none}
body.jt-laser-hub .jt-wabar__rail{max-width:1232px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:6px 0}
body.jt-laser-hub .jt-wabar__num{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:400 18.4px/1 var(--serif);color:#fff;text-decoration:none}
body.jt-laser-hub .jt-wabar__tel{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--verde-rule-strong);font:400 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none}
body.jt-laser-hub .jt-wabar__book{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;padding:0 24px;border-radius:999px;background:#fff;color:var(--verde);font:400 14px/1 var(--sans);text-decoration:none}
@media (max-width:560px){body.jt-laser-hub .jt-wabar__num{display:none}}
@media print{body.jt-laser-hub .jt-wabar{display:none}}

/* ============================================================
   Missing tokens from the Átrio skin (sálvia band, ink ladder)
   ============================================================ */
body.jt-laser-hub{--salvia:#dae1da;--body-c:#333b34;--mut:#4c5a4f;--rule:#c5cec5}

/* ============================================================
   Grafts from the judge panel (2026-09-17) — see IMPLEMENTATION.md
   ============================================================ */
/* G1 · split hero at ≥1000px: type left, the laser photo right, both inside the first fold */
body.jt-laser-hub .jt-lh .h1{font-size:clamp(44px,5.2vw,68px);max-width:none}
@media (min-width:1000px){
  body.jt-laser-hub .jt-lh .hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(32px,4vw,64px);align-items:stretch;padding-top:96px}
  body.jt-laser-hub .jt-lh .hero__rail{max-width:none;padding-bottom:clamp(40px,5vw,72px)}
  body.jt-laser-hub .jt-lh .hero__media{margin:-96px calc(-1 * var(--r-pad)) 0 0;height:auto;min-height:640px}
  body.jt-laser-hub .jt-lh .hero__img{object-position:50% 40%}
  body.jt-laser-hub .jt-lh .hero__scrim{background:linear-gradient(180deg,rgba(21,43,34,.82) 0,rgba(21,43,34,0) 120px),linear-gradient(90deg,var(--verde-2) 0,rgba(21,43,34,.35) 12%,rgba(21,43,34,0) 40%)}
  body.jt-laser-hub .jt-lh .facts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:10px 40px}
}
@media (min-width:600px) and (max-width:999px){ body.jt-laser-hub .jt-lh .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 40px} }

/* G4 · four-photo strip under the tecnologia ficha (replaces the marginalia thumbnails) */
body.jt-laser-hub .jt-lh .strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(40px,5vw,64px);background:var(--band-rule)}
body.jt-laser-hub .jt-lh .strip li{background:var(--band-bg)}
body.jt-laser-hub .jt-lh .strip .ph{aspect-ratio:3/2;height:auto;width:100%;object-fit:cover}
body.jt-laser-hub .jt-lh .strip .cap{padding:10px 12px 14px;margin:0}
body.jt-laser-hub .jt-lh .strip .cap span{color:var(--band-ink);margin-right:6px}
@media (max-width:700px){ body.jt-laser-hub .jt-lh .strip{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* the marginalia grid: kicker in column 1, everything else in column 2 */
@media (min-width:901px){
  body.jt-laser-hub .jt-lh .marg > .kick{grid-column:1}
  body.jt-laser-hub .jt-lh .marg > :not(.kick){grid-column:2}
  body.jt-laser-hub .jt-lh .marg > .strip{grid-column:1/-1}
}

/* G2 · safety board: Antes / Durante / Depois, under the heading + goggles photo row */
body.jt-laser-hub .jt-lh .safe{margin-bottom:clamp(36px,4vw,56px)}
body.jt-laser-hub .jt-lh .sboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid var(--verde-rule-strong)}
body.jt-laser-hub .jt-lh .scol h3{display:flex;align-items:baseline;gap:14px;font:400 clamp(24px,2.4vw,30px)/1.15 var(--serif);color:var(--band-ink);padding:22px 0 14px;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .scol h3 span{font:300 clamp(34px,3.6vw,48px)/.9 var(--serif);color:var(--band-num);letter-spacing:-.02em}
body.jt-laser-hub .jt-lh .scol dl div{padding:16px 0;border-bottom:1px solid var(--verde-rule)}
body.jt-laser-hub .jt-lh .scol dt{font:400 13px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-verde-soft)}
body.jt-laser-hub .jt-lh .scol dd{margin:6px 0 0;font:300 16px/1.55 var(--sans);color:var(--on-verde)}
@media (max-width:900px){ body.jt-laser-hub .jt-lh .sboard{grid-template-columns:minmax(0,1fr)} body.jt-laser-hub .jt-lh .scol h3{padding-top:30px} body.jt-laser-hub .jt-lh .scol-stack:first-child>.scol:first-child h3{padding-top:22px} body.jt-laser-hub .jt-lh .scol-stack{display:contents} body.jt-laser-hub .jt-lh .sboard .reads{order:4} }

/* G3 · consulta on sálvia with ink type — the home's "Como é o atendimento" pattern */
body.jt-laser-hub .jt-lh .band--salvia{--band-bg:var(--salvia);--band-ink:var(--ink);--band-text:var(--body-c);--band-soft:var(--mut);--band-rule:var(--rule);--band-rule-strong:var(--ink);--band-num:var(--mut);--band-tint:rgba(31,31,33,.08);--band-focus:var(--ink);--band-chip-bg:#fff;--band-chip-border:var(--rule);--band-chip-hover-bg:var(--ink);--band-chip-hover-c:var(--salvia);--on-verde:var(--body-c);--on-verde-soft:var(--mut);--verde-rule:var(--rule);--verde-rule-strong:var(--ink);background:var(--band-bg);color:var(--ink)}
body.jt-laser-hub .jt-lh .band--salvia .kick{color:var(--mut);border-top-color:var(--rule)}
body.jt-laser-hub .jt-lh .band--salvia .kick::before{background:var(--rule)}
body.jt-laser-hub .jt-lh .band--salvia .h2,body.jt-laser-hub .jt-lh .band--salvia .steps h3{color:var(--ink)}
body.jt-laser-hub .jt-lh .band--salvia .dek,body.jt-laser-hub .jt-lh .band--salvia .steps p{color:var(--body-c)}
body.jt-laser-hub .jt-lh .band--salvia .steps{border-top-color:var(--ink)}
body.jt-laser-hub .jt-lh .band--salvia .steps li{border-bottom-color:var(--rule)}
body.jt-laser-hub .jt-lh .band--salvia .steps .n{color:var(--mut)}
body.jt-laser-hub .jt-lh .band--salvia .cap{color:var(--mut)}
body.jt-laser-hub .jt-lh .band--salvia a:focus-visible{outline-color:var(--ink)!important}

/* G8 · labels one step larger on the dark ground */
body.jt-laser-hub .jt-lh .ficha dt,body.jt-laser-hub .jt-lh .facts b,body.jt-laser-hub .jt-lh .big dt{font-size:13px}

/* ============================================================
   Theme compatibility (Genesis header over the hero, footer, plugins)
   ============================================================ */
body.jt-laser-hub,body.jt-laser-hub .site-container{background:var(--verde)}
@media (max-width:999px){ body.jt-laser-hub .jt-lh .hero{padding-top:96px} }
body.jt-laser-hub .whatsapp-button__trigger,body.jt-laser-hub #jt-footer-whatsapp-form,body.jt-laser-hub .ht-ctc,body.jt-laser-hub .sidebar-form{display:none!important}
body.jt-laser-hub .jt-lh .pill,body.jt-laser-hub .jt-wabar__book{text-transform:none;letter-spacing:0;font-weight:400}
body.jt-laser-hub .jt-lh .cap,body.jt-laser-hub .jt-lh .kick,body.jt-laser-hub .jt-lh .ficha dt,body.jt-laser-hub .jt-lh .facts b,body.jt-laser-hub .jt-lh .big dt,body.jt-laser-hub .jt-lh .scol dt,body.jt-laser-hub .jt-lh .faq .src{font-weight:400}
body.jt-laser-hub .jt-lh figcaption{text-align:left}
body.jt-laser-hub .jt-lh details>summary{list-style:none}
body.jt-laser-hub .jt-lh .faq summary h3{margin:0}
html:not(.js) body.jt-laser-hub .jt-wabar{position:static;transform:none}
/* style.css:2834 (≤1299px) styles every <nav> as the mobile menu overlay (display:none; height:100vh; padding:0 35px) — the breadcrumb nav opts out. */
body.jt-laser-hub .jt-lh nav.crumbs{display:flex;height:auto;min-height:0;width:auto;padding:0;background:transparent;box-shadow:none}

/* ============================================================
   Review round 2026-09-18 (seo-fixes-output/20260917-laser-hub/REVIEW.md)
   ============================================================ */
/* P1-1 · ledger titles broke mid-word between 761 and 1160px (number column 150px + 28px gaps left ~170px for the title) */
@media (min-width:761px) and (max-width:1160px){
  body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:88px minmax(0,1.25fr) minmax(0,1.45fr) 36px;column-gap:20px}
}
body.jt-laser-hub .jt-lh .ledger .t{hyphens:auto;-webkit-hyphens:auto}
/* nit · numerals were larger than the H1 (89.6 vs 76.8px) */
body.jt-laser-hub .jt-lh .ledger .n{font-size:clamp(52px,5.6vw,72px)}
/* P1-2 · the sticky bar covered the CFM footer note at page end (the home pads its footer the same way) */
body.jt-laser-hub .site-footer{padding-bottom:72px!important;border-top:1px solid var(--verde-rule)}
/* P2-8 · header logo + hamburger focus ring was the theme's dark outline on the dark hero */
body.jt-laser-hub .site-header a:focus-visible,body.jt-laser-hub .site-header button:focus-visible,body.jt-laser-hub .site-header [tabindex]:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
/* P2 · sr-only word "WhatsApp" painted in the sticky bar (rendered outside .jt-lh) */
body.jt-laser-hub .jt-wabar .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* nit · "LIGAR" was the one uppercase button on the page */
body.jt-laser-hub .jt-wabar__tel{text-transform:none;letter-spacing:0;font-size:14px}
/* nit · style.css body{letter-spacing:.25px} leaked into every module (DESIGN.md: tracking 0 in modern modules) */
body.jt-laser-hub .jt-lh{letter-spacing:0}
/* P2-11 · print: the monolith printed white text on white with "background graphics" off */
@media print{
  body.jt-laser-hub,body.jt-laser-hub .site-container,body.jt-laser-hub .jt-lh,body.jt-laser-hub .jt-lh .band,body.jt-laser-hub .jt-lh .band--2,body.jt-laser-hub .jt-lh .band--k,body.jt-laser-hub .jt-lh .hero,body.jt-laser-hub .jt-lh .closer,body.jt-laser-hub .jt-lh .closer__txt{background:#fff!important;color:#111!important}
  body.jt-laser-hub .jt-lh :is(h1,h2,h3,p,dt,dd,li,a,span,figcaption,summary,b,small,th,td,caption){color:#111!important}
  body.jt-laser-hub .jt-lh .hero__scrim,body.jt-laser-hub .jt-wabar,body.jt-laser-hub .site-header .nav-header,body.jt-laser-hub .menu-toggle{display:none!important}
  body.jt-laser-hub .jt-lh .hero{display:block;padding-top:0}
  body.jt-laser-hub .jt-lh .hero__media{margin:16px 0 0;min-height:0;height:auto}
  body.jt-laser-hub .jt-lh .hero__img{position:static;height:auto;max-height:60vh;width:auto}
  body.jt-laser-hub .jt-lh .pill{border:1px solid #111;color:#111!important;background:#fff!important}
  body.jt-laser-hub .jt-lh details{break-inside:avoid}
  body.jt-laser-hub .jt-lh .strip{display:none}
}
/* re-verification 2026-09-18 · item 3: the portrait tattoo frame (41847) at <1000px — keep the doctor's goggles inside
   the crop (they sit in the top fifth of the frame) and out of the blend scrim. */
@media (max-width:999px){
  body.jt-laser-hub .jt-lh .hero__img{object-position:50% 12%}
  body.jt-laser-hub .jt-lh .hero__scrim{background:linear-gradient(180deg,var(--verde-2) 0 4%,rgba(21,43,34,.35) 9%,rgba(21,43,34,0) 18%,rgba(21,43,34,.45) 100%)}
}
@media (min-width:901px) and (max-width:999px){ body.jt-laser-hub .jt-lh .hero__media{height:auto;aspect-ratio:4/5;max-height:760px} }
/* item 11 residue: the absolute site header overprinted the kicker on page 1 of a print */
@media print{ body.jt-laser-hub .site-header{display:none!important} body.jt-laser-hub .jt-lh .hero{padding-top:12px} }

/* ============================================================
   Critique round 2026-09-19 (.impeccable/critique/2026-09-19T03-44-28Z…md · contract items a–k, STYLE half)
   Ground: hero verde-2 · tecnologia/laser/procedimentos/perguntas PAPER · consulta sálvia · segurança black · closer verde.
   Bands re-token themselves through the --band-* properties declared in :root above; the four legacy names
   (--on-verde, --on-verde-soft, --verde-rule, --verde-rule-strong) are aliased per band so every older rule follows.
   ============================================================ */
/* (d) paper bands — DESIGN.md paper #f4eee8 / ink #1f1f21 / muted #6f6b67 / line #c7bdb5; numerals in --verde (10.7:1),
   ink on paper 14.3:1, muted on paper 4.6:1 (AA at 12.5px uppercase labels), chips white with a hairline border. */
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas){
  --band-bg:var(--paper);--band-ink:var(--ink);--band-text:var(--ink);--band-soft:var(--muted);
  --band-rule:var(--line);--band-rule-strong:var(--ink);--band-num:var(--verde);
  --band-tint:rgba(31,31,33,.08);--band-focus:var(--ink);
  --band-chip-bg:#fff;--band-chip-border:var(--line);--band-chip-hover-bg:var(--ink);--band-chip-hover-c:var(--paper);
  --on-verde:var(--ink);--on-verde-soft:var(--muted);--verde-rule:var(--line);--verde-rule-strong:var(--ink);
  background:var(--band-bg);color:var(--band-text);
}
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) :is(a,button,summary):focus-visible{outline-color:var(--ink)!important}
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) .faq summary::after{border-color:var(--line);color:var(--muted)}
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) .reads li a::after,
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) .arch li a::after{color:var(--muted)}
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) .strip{background:var(--line)}
body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas) .strip li{background:var(--paper)}
body.jt-laser-hub .jt-lh #seguranca{--band-bg:var(--black)}

/* (k) kicker link to /sobre/ (COPY wraps the CRM/RQE in a plain <a>) */
body.jt-laser-hub .jt-lh .hero__kick a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--verde-rule-strong);text-underline-offset:.22em;padding:13px 0}
body.jt-laser-hub .jt-lh .hero__kick a:hover{color:#fff;text-decoration-color:#fff}
/* ≤900px the .kick is a flex row (dash + text); with an <a> inside, the text would split into two flex items — the hero kicker flows as one block */
@media (max-width:900px){
  body.jt-laser-hub .jt-lh .hero__kick{display:block}
  body.jt-laser-hub .jt-lh .hero__kick::before{display:inline-block;vertical-align:middle;margin:-2px 12px 0 0}
}
/* (k) archive counts stay one unit (COPY wraps them; the small is already nowrap) */
body.jt-laser-hub .jt-lh .arch li a small,body.jt-laser-hub .jt-lh .arch li a .nowrap{white-space:nowrap}

/* (f) type ladder — H1 clamp(44px,5.2vw,68px) is the top; .h2--xl now shares it (see the token block).
   One numeral scale for the ledger and the consulta steps; the safety board a half-step under it. */
body.jt-laser-hub .jt-lh .ledger .n,body.jt-laser-hub .jt-lh .steps .n{font-size:clamp(44px,4.6vw,60px);line-height:.86}
body.jt-laser-hub .jt-lh .scol h3 span{font-size:clamp(32px,3.8vw,50px)}
body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:110px minmax(0,1fr) minmax(0,1.6fr) 36px}
@media (min-width:761px) and (max-width:1160px){ body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:88px minmax(0,1.25fr) minmax(0,1.45fr) 36px;column-gap:20px} } /* keeps the 2026-09-18 P1-1 proportions */
/* (f) FAQ measure: 56ch of Roobert 300 ≈ 72–73 characters per line, measured (the old 66ch ran 83) */
body.jt-laser-hub .jt-lh .faq .ans{max-width:56ch}
/* (f) strip + figure captions 12.5px / .1em (were 12px / .14em) */
body.jt-laser-hub .jt-lh .cap{font-size:12.5px;letter-spacing:.1em}

/* (b) ledger differentiator — <span class="q"> between the title and the description: one uppercase line,
   the description under it on desktop; on phones the row is title + .q only. */
body.jt-laser-hub .jt-lh .ledger li a{grid-template-rows:auto 1fr} /* row 1 = the .q line (0 when absent), so .d always starts at the top */
body.jt-laser-hub .jt-lh .ledger .n{grid-column:1;grid-row:1/3}
body.jt-laser-hub .jt-lh .ledger .t{grid-column:2;grid-row:1/3}
body.jt-laser-hub .jt-lh .ledger .q{grid-column:3;grid-row:1;display:block;font:400 12.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--band-soft);margin-top:12px}
body.jt-laser-hub .jt-lh .ledger .d{grid-column:3;grid-row:2}
body.jt-laser-hub .jt-lh .ledger .q+.d{margin-top:6px}
body.jt-laser-hub .jt-lh .ledger .a{grid-column:4;grid-row:1/3}
@media (max-width:760px){
  body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;padding:18px 0 20px;align-items:start}
  body.jt-laser-hub .jt-lh .ledger .n{grid-column:1;grid-row:1/3;font-size:44px;margin-top:0}
  body.jt-laser-hub .jt-lh .ledger .t{grid-column:2;grid-row:1;margin-top:0;font-size:22px}
  body.jt-laser-hub .jt-lh .ledger .q{grid-column:2;grid-row:2;margin-top:4px}
  body.jt-laser-hub .jt-lh .ledger .d{display:none}
}

/* (c) procedures index — chip groups as <details class="grp" open><summary><h3>…</h3></summary><ul class="chips">…
   un-collapsible from 761px (no marker, no pointer), an accordion on phones; the six-row <table class="rota"> above them. */
body.jt-laser-hub .jt-lh .grp summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;cursor:pointer;padding:0;margin:0}
body.jt-laser-hub .jt-lh .grp summary::-webkit-details-marker{display:none}
body.jt-laser-hub .jt-lh .grp summary::after{content:"+";font:300 28px/1 var(--serif);color:var(--band-soft);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--band-rule);border-radius:999px;margin-bottom:12px}
body.jt-laser-hub .jt-lh .grp[open] summary::after{content:"–"}
body.jt-laser-hub .jt-lh .grp summary h3{margin-bottom:16px}
@media (min-width:761px){
  body.jt-laser-hub .jt-lh .grp summary{pointer-events:none;cursor:default;display:block}
  body.jt-laser-hub .jt-lh .grp summary::after,body.jt-laser-hub .jt-lh .grp[open] summary::after{content:none;display:none}
}
@media (max-width:760px){
  body.jt-laser-hub .jt-lh .grp{margin-top:28px}
  body.jt-laser-hub .jt-lh .grp+.grp{margin-top:20px}
  body.jt-laser-hub .jt-lh .grp summary{border-bottom:1px solid var(--band-rule-strong);padding:6px 0 10px;min-height:52px}
  body.jt-laser-hub .jt-lh .grp summary h3{border-bottom:0;padding-bottom:0;margin-bottom:0}
  body.jt-laser-hub .jt-lh .grp summary::after{margin-bottom:0}
  body.jt-laser-hub .jt-lh .grp[open] summary{margin-bottom:14px}
}
body.jt-laser-hub .jt-lh .rota{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;margin:40px 0 0;border-top:1px solid var(--band-rule-strong);font:300 16px/1.45 var(--sans);color:var(--band-text);background:transparent}
body.jt-laser-hub .jt-lh .rota caption{caption-side:top;text-align:left;font:400 12.5px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--band-soft);padding:0 0 10px}
body.jt-laser-hub .jt-lh .rota :is(th,td){text-align:left;vertical-align:top;padding:14px 20px 14px 0;border:0;border-bottom:1px solid var(--band-rule);background:transparent;box-shadow:none;border-radius:0;font-family:var(--sans);color:inherit}
body.jt-laser-hub .jt-lh .rota :is(th,td)+:is(th,td){padding-left:20px;border-left:1px solid var(--band-rule)}
body.jt-laser-hub .jt-lh .rota thead th{font:400 12.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--band-soft);padding-top:12px;padding-bottom:10px}
body.jt-laser-hub .jt-lh .rota tbody th{font:400 clamp(18px,1.6vw,21px)/1.25 var(--serif);color:var(--band-ink);width:30%}
body.jt-laser-hub .jt-lh .rota td{font-weight:300}
body.jt-laser-hub .jt-lh .rota td a{display:inline-block;padding:2px 0;color:var(--band-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
body.jt-laser-hub .jt-lh .rota td a:hover{text-decoration-thickness:2px}
body.jt-laser-hub .jt-lh .rota td:empty::before,body.jt-laser-hub .jt-lh .rota td.na::before{content:"—";color:var(--band-soft)}
@media (max-width:560px){
  body.jt-laser-hub .jt-lh .rota{table-layout:auto}
  body.jt-laser-hub .jt-lh .rota thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.jt-laser-hub .jt-lh .rota,body.jt-laser-hub .jt-lh .rota tbody,body.jt-laser-hub .jt-lh .rota tr,body.jt-laser-hub .jt-lh .rota th,body.jt-laser-hub .jt-lh .rota td{display:block;width:auto}
  body.jt-laser-hub .jt-lh .rota tr{padding:14px 0 12px;border-bottom:1px solid var(--band-rule)}
  body.jt-laser-hub .jt-lh .rota :is(th,td){padding:0;border:0}
  body.jt-laser-hub .jt-lh .rota tbody th{width:auto;padding-bottom:6px}
  body.jt-laser-hub .jt-lh .rota td,body.jt-laser-hub .jt-lh .rota :is(th,td)+td{position:relative;padding:3px 0 3px 100px;min-height:28px} /* (0,3,3) to outrank the desktop column rule */
  body.jt-laser-hub .jt-lh .rota :is(th,td)+:is(th,td){border-left:0}
  body.jt-laser-hub .jt-lh .rota caption{display:block;padding-bottom:12px}
  /* stacked cells carry their column label: data-l when the markup has it, else the thead's own words by column */
  body.jt-laser-hub .jt-lh .rota td::before{position:absolute;left:0;top:8px;font:400 11.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--band-soft)}
  body.jt-laser-hub .jt-lh .rota td[data-l]::before{content:attr(data-l);content:attr(data-l) / ""}
  body.jt-laser-hub .jt-lh .rota td:not([data-l]):nth-child(2)::before{content:"Com laser";content:"Com laser" / ""}
  body.jt-laser-hub .jt-lh .rota td:not([data-l]):nth-child(3)::before{content:"Sem laser";content:"Sem laser" / ""}
}

/* (g) composition — the room photo as a column-height portrait that follows the ficha; the consulta figure follows its
   steps; the ficha in two columns at ≥1100px; the safety board balances 01 against 02+03 (no void under the short columns). */
body.jt-laser-hub .jt-lh .tec figure .ph{aspect-ratio:3/4;object-fit:cover;object-position:25% 50%;width:100%;height:auto}
@media (min-width:901px){
  body.jt-laser-hub .jt-lh .tec figure,body.jt-laser-hub .jt-lh .cons figure{position:sticky;top:24px;align-self:start}
}
@media (max-width:900px){ body.jt-laser-hub .jt-lh .tec figure .ph{aspect-ratio:4/3;object-position:30% 50%} }
@media (min-width:1100px){
  body.jt-laser-hub .jt-lh .ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
  body.jt-laser-hub .jt-lh .ficha div{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0;align-content:start}
  body.jt-laser-hub .jt-lh .ficha dt{padding-top:0}
}
body.jt-laser-hub .jt-lh .sboard{align-items:start}
/* fix round 2026-09-19: the board is two column STACKS (body.php .scol-stack): 01 Antes + the reading list | 02 Durante over
   03 Depois. Each stack is one grid item, so the two columns are independent and the list fills the end of the left one
   (the earlier 01-spans-two-rows grid left ~290px of black under 01 at 1280). */
@media (min-width:901px){
  body.jt-laser-hub .jt-lh .sboard{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);column-gap:clamp(32px,4vw,64px)} /* .94/1.06 measured: column ends within 71px of each other at 901/1024/1280/1440 (1fr/1fr: 103 at 1024) */
  body.jt-laser-hub .jt-lh .scol-stack .scol+.scol h3{padding-top:34px}
  body.jt-laser-hub .jt-lh .scol-stack .reads{margin-top:36px}
}
/* safety h3 "01 Antes": the number is its own inline box with a gap; COPY adds the separator for assistive tech */
body.jt-laser-hub .jt-lh .scol h3 .sr-only{position:absolute}

/* (a) mobile hero ≤999px — the copy container flattens (display:contents) and the existing photo box paints between the
   kicker and the H1 as a full-bleed 4:3 frame (goggles in the top fifth of 41847 → object-position 50% 10%); no scrim. */
@media (max-width:999px){
  body.jt-laser-hub .jt-lh .hero{display:flex;flex-direction:column;padding-top:96px}
  body.jt-laser-hub .jt-lh .hero__rail,body.jt-laser-hub .jt-lh .hero__copy{display:contents}
  body.jt-laser-hub .jt-lh .hero .crumbs{order:1}
  body.jt-laser-hub .jt-lh .hero__kick{order:2;margin-bottom:20px}
  body.jt-laser-hub .jt-lh .hero__media{order:3;display:block;position:relative;margin:0 calc(-1 * var(--r-pad)) 24px;width:auto;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;overflow:hidden}
  body.jt-laser-hub .jt-lh .hero__media picture{display:block;position:absolute;inset:0}
  body.jt-laser-hub .jt-lh .hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 10%}
  body.jt-laser-hub .jt-lh .hero__scrim{display:none}
  body.jt-laser-hub .jt-lh .h1{order:4}
  body.jt-laser-hub .jt-lh .hero__dek{order:5;margin-top:20px}
  body.jt-laser-hub .jt-lh .hero__cta{order:6;margin-top:26px}
  body.jt-laser-hub .jt-lh .facts{order:7;margin-top:30px}
}
/* print: paper bands already print as paper; the hero photo box keeps its 4:3 crop */
@media print{ body.jt-laser-hub .jt-lh :is(#tecnologia,#laser,#procedimentos,#perguntas){background:#fff!important} }

/* ============================================================
   Fix round 2026-09-19 (critique-fixes/STYLE.md "Fix round") — ver 20260917-laser-hub-8
   ============================================================ */
/* (b) ≤560px the uppercase .q wrapped to two lines for rows 01/03/06/07 (12.5px + .1em ≈ 9.5px/char in a 264px column):
   sentence case, no tracking, 13px — 38 characters fit in ~250px. */
@media (max-width:560px){
  body.jt-laser-hub .jt-lh .ledger .q{text-transform:none;letter-spacing:0;font-size:13px;line-height:1.35}
}
/* (f) ledger hover: the 8% ink tint took the muted .q under 4.5:1 — the label turns ink on hover (the arrow stays ≥3:1) */
body.jt-laser-hub .jt-lh .ledger li a:hover .q{color:var(--band-ink)}
/* (a) tablets 600–999px: the full-width 4:3 photo box pushed the H1 to y 791–899; cap it so kicker + photo + H1 share the
   first screen (object-position 50% 10% keeps the goggles in frame). Phones keep the 4:3 box. */
@media (min-width:600px) and (max-width:999px){
  body.jt-laser-hub .jt-lh .hero__media{aspect-ratio:auto;height:min(50vh,500px)}
}
/* (j) visible heading over the tattoo reading list under the FAQ (body.php h3.reads__cap) */
body.jt-laser-hub .jt-lh .reads__cap{font:400 12.5px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--band-soft);margin-top:40px;padding:0;border:0}
body.jt-laser-hub .jt-lh .reads__cap+.reads{margin-top:6px}
/* (c) ≥761px the summary is inert and out of the tab order (template sets tabindex=-1 + aria-disabled); no focus ring residue */
@media (min-width:761px){ body.jt-laser-hub .jt-lh .grp summary[aria-disabled="true"]{outline:none!important} }

/* ============================================================
   Re-critique round 2 — 2026-09-19 (29/36): sticky root cause, mobile ledger, rota targets, safety board
   ============================================================ */
/* P1 · every position:sticky on this page was inert: style.css:374 .site-container{overflow:hidden} makes the wrapper the
   scroll container. overflow:clip keeps the horizontal clipping the theme relies on without creating a scroll container. */
body.jt-laser-hub .site-container{overflow:clip}
/* P2 · mobile ledger keeps its arrow so rows read as links; every row now carries a "Quando:" line */
@media (max-width:760px){
  body.jt-laser-hub .jt-lh .ledger .a{display:block;grid-column:3;grid-row:1/3;align-self:center;margin:0;font-size:22px}
  body.jt-laser-hub .jt-lh .ledger li a{grid-template-columns:auto minmax(0,1fr) 24px}
  body.jt-laser-hub .jt-lh .ledger .q{grid-column:2;grid-row:2}
}
/* P2 · rota table links were 27px targets on phones; the "·" pairs get their own lines */
@media (max-width:760px){
  body.jt-laser-hub .jt-lh .rota td a{display:inline-flex;align-items:center;min-height:44px;padding:0}
  body.jt-laser-hub .jt-lh .rota td a+a{margin-top:2px}
  body.jt-laser-hub .jt-lh .rota td .sep{display:none}
  body.jt-laser-hub .jt-lh .rota td{display:flex;flex-direction:column;align-items:flex-start}
}
/* P2 · safety board: three equal columns from 901px (01 was 1.5× the height of 02); 02/03 fold under a tap on phones */
@media (min-width:901px){
  body.jt-laser-hub .jt-lh .sboard{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  body.jt-laser-hub .jt-lh .scol-stack{display:contents}
}
