/* Reforma Tributária de forma simples · Júnior Moreira Contabilidade®
   Página em rascunho (noindex). Mobile first. */

@font-face { font-family: 'Century Gothic'; src: url('../fonts/CenturyGothic.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Century Gothic'; src: url('../fonts/CenturyGothic-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --deep: #0F2F38; --pet: #1B4D5C; --gold: #C8A96E; --ceu: #2E7D8A; --chumbo: #3A4A50;
  --gelo: #E8F0F2; --gmid: #D0DDE0; --bg: #F2F6F7; --meta: #5A6A72;
  --eo: cubic-bezier(0.16, 1, 0.3, 1);
  --ec: cubic-bezier(0.33, 1, 0.68, 1);
  --nav-h: 78px;
  --gut: 20px;
  --fio-x: 8px;
  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'Century Gothic', CenturyGothic, AppleGothic, 'Jost', 'Trebuchet MS', sans-serif;
}
@media (min-width: 768px) { :root { --gut: 40px; --fio-x: 18px; } }
@media (min-width: 901px) { :root { --nav-h: 94px; } }
@media (min-width: 1360px) { :root { --fio-x: calc(50% - 640px); } }

html { scroll-behavior: smooth; }
.rm { scroll-behavior: auto; }
body { margin: 0; background: var(--deep); overflow-x: clip; }
.rt-root { font-feature-settings: 'lnum' 1; font-family: var(--sans); color: var(--chumbo); background: var(--bg); position: relative; overflow-x: clip; -webkit-font-smoothing: antialiased; }
.rt-root *, .rt-root *::before, .rt-root *::after { box-sizing: border-box; }
img, svg, canvas { display: block; }
sup { font-size: 0.6em; line-height: 0; }
::selection { background: rgba(200,169,110,0.35); }

.skip { position: absolute; left: -9999px; top: 0; z-index: 200; background: var(--gold); color: var(--deep); padding: 14px 22px; border-radius: 0 0 10px 0; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; }
.skip:focus { left: 0; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* hovers do nav e rodapé reais */
.jx2:hover, .jx3:hover, .jx4:hover, .jx5:hover, .jxa:hover, .jxb:hover, .jxc:hover, .jxd:hover { color: #C8A96E !important; }
.jx6:hover { box-shadow: 0 8px 24px rgba(200,169,110,0.45); transform: translateY(-1px) !important; }
.jxe:hover { border-color: #C8A96E !important; }
.jxf:hover { filter: brightness(1.08) !important; }
@media (max-width: 1080px) {
  #ct-nav-inner { padding: 0 24px !important; }
  [data-m~="nav-links"] { display: none !important; }
  #ct-burger { display: flex !important; }
}
@media (max-width: 900px) {
  #ct-nav-inner { padding: 0 20px !important; height: 72px !important; }
  #ct-nav-inner > a > img { height: 36px !important; }
  [data-m~="foot-bar"] { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
}
#ct-mobile-menu.open { opacity: 1 !important; pointer-events: auto !important; visibility: visible !important; }

a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, [tabindex]:focus-visible, .s2-range:focus-visible {
  outline: 3px solid #0F2F38 !important; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(200,169,110,0.9) !important; border-radius: 6px;
}
.sc-dark a:focus-visible, .sc-dark button:focus-visible, .sc-dark summary:focus-visible, .sc-dark [tabindex]:focus-visible { outline-color: #C8A96E !important; box-shadow: 0 0 0 6px rgba(200,169,110,0.35) !important; }

/* ---------- base ---------- */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--gut); position: relative; }
.sc { position: relative; padding: 88px 0; }
@media (min-width: 768px) { .sc { padding: 120px 0; } }
.sc-dark { background: var(--deep); color: rgba(255,255,255,0.78); }
.sc-light { background: var(--bg); color: var(--chumbo); }

.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: var(--pet); }
.sc-dark .eyebrow, .s3-l1 .eyebrow { color: var(--gold); }
.eb-line { display: inline-block; width: 36px; height: 1px; background: currentColor; opacity: 0.8; }
.center .eyebrow { justify-content: center; }

.h1, .h2, h3 { font-family: var(--serif); font-weight: 300; letter-spacing: -0.01em; margin: 0; }
.h1 { font-size: clamp(44px, 12vw, 9rem); line-height: 0.98; color: #fff; }
.h2 { font-size: clamp(34px, 5.2vw, 64px); line-height: 1.06; color: var(--deep); margin-bottom: 18px; }
.sc-dark .h2, .s3-l1 .h2 { color: #fff; }
.h1 em, .h2 em { font-style: italic; color: var(--ceu); }
.sc-dark em, .s1 em, .s3-l1 em { color: var(--gold); }
.lead { font-size: 17px; line-height: 1.65; margin: 0 0 14px; max-width: 46ch; }
.sc-dark .lead { color: rgba(255,255,255,0.74); }
.note { font-size: 12.5px; line-height: 1.6; color: var(--meta); margin: 14px 0 0; }
.sc-dark .note { color: rgba(255,255,255,0.58); }
.sec-head { margin-bottom: 48px; }
.sec-head.center { text-align: center; }
.sec-head.center .lead { margin-left: auto; margin-right: auto; }

.lnk { color: var(--pet); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; border-bottom: 1px solid transparent; }
.sc-dark .lnk { color: var(--gold); }
.lnk:hover { border-bottom-color: currentColor; }

/* revelação por máscara (de baixo para cima) */
.js:not(.rm) .rv { clip-path: inset(112% -6% -12% -6%); transform: translateY(26px); transition: clip-path 1s var(--eo), transform 1s var(--eo); }
.js:not(.rm) .rv.in { clip-path: inset(-12% -6% -12% -6%); transform: none; }
.js:not(.rm) .rv.in + .rv.in { transition-delay: .08s; }

/* fio de ouro por seção */
.fio { position: absolute; top: 0; left: var(--fio-x); width: 2px; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.fio path { fill: none; stroke: var(--gold); stroke-opacity: .6; stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: var(--d, 1); }
.no-js .fio path, .rm .fio path { stroke-dashoffset: 0; }

/* ---------- 1 · hero ---------- */
.s1 { background: var(--deep); position: relative; }
.s1-track { height: 150vh; }
@media (min-width: 768px) { .s1-track { height: 185vh; } }
.s1-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.s1-cv { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: pan-y; }
.s1-copy { padding-top: calc(var(--nav-h) + 5vh); pointer-events: none; z-index: 2; }
.s1-h { margin: 0 0 22px; }
.s1-h .ln { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.s1-h .ln > span { display: inline-block; }
.js:not(.rm) .s1-h .ln > span { transform: translateY(105%); clip-path: inset(100% 0 0 0); animation: s1in 1.1s var(--eo) forwards; }
.js:not(.rm) .s1-h .ln + .ln > span { animation-delay: .14s; }
@keyframes s1in { to { transform: none; clip-path: inset(-10% 0 -20% 0); } }
.s1-sub { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,0.74); max-width: 38ch; margin: 0 0 10px; }
.s1-meta { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(200,169,110,0.9); margin: 0; }
.js:not(.rm) .s1-sub, .js:not(.rm) .s1-meta, .js:not(.rm) .s1 .eyebrow { opacity: 0; transform: translateY(14px); animation: s1fade 1s var(--eo) .35s forwards; }
.js:not(.rm) .s1-meta { animation-delay: .5s; }
@keyframes s1fade { to { opacity: 1; transform: none; } }
@media (min-width: 768px) { .s1-sub { font-size: 18px; } }

.s1-labels { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.s1-old { position: absolute; left: 0; top: 0; pointer-events: auto; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; background: rgba(15,47,56,0.78); border: 1px solid rgba(200,169,110,0.45); border-radius: 999px; padding: 0 14px; min-height: 36px; cursor: pointer; will-change: transform, opacity; transition: border-color .3s ease, background .3s ease; }
.s1-old.on, .s1-old:hover { border-color: var(--gold); background: rgba(27,77,92,0.95); }
.s1-old::after { content: ''; position: absolute; inset: -6px; }
.s1-new { position: absolute; left: 0; top: 0; display: flex; align-items: baseline; gap: 8px; opacity: 0; will-change: transform; transform-origin: 0 100%; transition: opacity .6s ease; }
.s1-new-is b { font-family: var(--serif); font-weight: 300; font-size: 22px; line-height: 1; color: rgba(255,255,255,0.7); }
.s1-new-is small { border: 1px dashed rgba(150,166,172,0.7); border-radius: 999px; padding: 4px 10px; }
.s1-bal { position: absolute; left: 0; top: 0; z-index: 4; max-width: 240px; padding: 10px 14px; border-radius: 12px; background: rgba(15,47,56,0.94); border: 1px solid rgba(200,169,110,0.55); box-shadow: 0 12px 30px rgba(0,0,0,0.3); font-size: 13px; line-height: 1.45; color: #fff; pointer-events: none; opacity: 0; transition: opacity .35s ease; }
.s1-new.on { opacity: 1; }
.s1-new svg { width: 84px; height: 31px; overflow: visible; }
.s1-new text { font-family: var(--serif); font-weight: 300; font-size: 40px; fill: transparent; stroke: var(--gold); stroke-width: .7; stroke-dasharray: 160; stroke-dashoffset: 160; transition: stroke-dashoffset 1.4s var(--ec), fill .8s ease .9s; }
.s1-new.on text { stroke-dashoffset: 0; fill: var(--gold); }
.s1-new-ibs text { stroke: #7DBAC4; }
.s1-new-ibs.on text { fill: #E8F0F2; }
.s1-new small { font-size: 11px; white-space: nowrap; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.72); }
.s1-new-is small { color: rgba(255,255,255,0.62); }
.s1-dest, .s1-cap { position: absolute; left: var(--gut); right: var(--gut); bottom: 82px; margin: 0; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.78); max-width: 46ch; z-index: 3; transition: opacity .5s ease; }
.s1-cap { opacity: 0; }
.s1.merged .s1-dest { opacity: 0; pointer-events: none; }
.s1.hov .s1-dest { opacity: 0; } /* a dica flutuante já mostra o destino; a legenda segue disponível para leitor de tela */
.s1-new-ibs small, .s1-new-cbs small { background: var(--deep); padding: 3px 8px; border-radius: 6px; box-shadow: 0 0 0 4px var(--deep); }
.s1.merged .s1-cap { opacity: 1; }
.js:not(.rm) .s1-cap.ancm { bottom: auto; }
.s1-go { transition: opacity .4s ease, visibility .4s; }
@media (max-width: 899px) { .js:not(.rm) .s1.merged .s1-go { opacity: 0; visibility: hidden; } }
.s1-go { position: absolute; left: var(--gut); bottom: 22px; z-index: 3; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--gold); text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
.s1-go i { font-size: 16px; }
@media (min-width: 1200px) { .s1-dest, .s1-cap, .s1-go { left: max(var(--gut), calc(50% - 600px + var(--gut))); } }
.s1-static { display: none; margin: 0; }
.no-js .s1-track, .rm .s1-track { height: auto; }
.no-js .s1-stage, .rm .s1-stage { position: relative; height: auto; padding-bottom: 56px; }
.no-js .s1-cv, .rm .s1-cv, .no-js .s1-labels, .rm .s1-labels, .no-js .s1-dest, .rm .s1-dest, .no-js .s1-go, .rm .s1-go { display: none; }
.no-js .s1-cap, .rm .s1-cap { position: static; opacity: 1; max-width: 1200px; margin: 18px auto 0; padding: 0 var(--gut); }
.no-js .s1-static, .rm .s1-static { display: block; max-width: 1200px; margin: 40px auto 0; padding: 0 var(--gut); }
.s1-static svg { width: 100%; height: auto; max-width: 760px; }
.s1-static .st-v { display: none; max-width: 420px; }
@media (max-width: 599px) {
  .s1-static .st-h { display: none; }
  .s1-static .st-v { display: block; }
  .no-js .s1-static, .rm .s1-static { margin-top: 28px; }
}
.s1-static .st-v .st-names text { font-size: 16px; font-weight: 700; letter-spacing: .1em; }
.s1-static .st-v .big { font-size: 42px; }
.s1-static .st-v .sm, .s1-static .st-v .xs { font-size: 13.5px; letter-spacing: .06em; }
.s1-static .st-v .xs { fill: rgba(255,255,255,.7); }
.s1-static text { font-family: var(--sans); font-size: 15px; fill: #E8F0F2; letter-spacing: .08em; }
.s1-static .big { font-family: var(--serif); font-size: 34px; fill: var(--gold); letter-spacing: 0; }
.s1-static .sm { font-family: var(--sans); font-size: 12px; fill: rgba(255,255,255,.72); letter-spacing: .1em; }
.s1-static .xs { font-size: 11px; fill: rgba(255,255,255,.6); }

/* ---------- 2 · cadeia de crédito ---------- */
.s2-hint { color: var(--gold); white-space: nowrap; }
.s2-grid { display: grid; gap: 28px; align-items: start; }
@media (min-width: 1000px) { .s2-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 56px; align-items: start; } .s2-chain { margin-top: 24px; position: sticky; top: calc(var(--nav-h) + 48px); } }
.s2-chain { position: relative; user-select: none; -webkit-user-select: none; }
.s2-svg { width: 100%; height: auto; overflow: visible; }
.s2-rail { fill: none; stroke: rgba(200,169,110,0.28); stroke-width: 1.5; }
.s2-rail-on { fill: none; stroke: var(--gold); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; }
.s2-st path { fill: none; stroke: rgba(232,240,242,0.72); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ec), stroke .5s ease; }
.s2.in .s2-st path { stroke-dashoffset: 0; }
.s2-st:nth-child(2) path { transition-delay: .15s; } .s2-st:nth-child(3) path { transition-delay: .3s; } .s2-st:nth-child(4) path { transition-delay: .45s; }
.s2-st.act path { stroke: var(--gold); }
.s2-st circle.dot { fill: var(--deep); stroke: rgba(200,169,110,.6); stroke-width: 1.5; }
.s2-st.act circle.dot { fill: var(--gold); }
.s2-tok { cursor: grab; touch-action: none; outline: none; }
.s2-tok.drag { cursor: grabbing; }
.s2-hit { fill: transparent; stroke: transparent; stroke-width: 1.5; stroke-dasharray: 3 4; }
.s2-chain.kf .s2-hit { stroke: var(--gold); }
.s2-shape { fill: rgba(200,169,110,0.16); stroke: var(--gold); stroke-width: 1.6; stroke-linejoin: round; }
.s2-core { fill: var(--gold); }
.s2-stack { transition: opacity .5s ease; }
.s2-lay { stroke-width: .8; transition: fill .5s ease; }
.s2-lay.c { fill: url(#s2-hatch); stroke: #5FA3AF; }
.s2-lay.g { fill: var(--gold); stroke: #E2C98F; }
.s2-lay.k1 { fill: #7DBAC4; stroke: #A9D3DA; } .s2-lay.k2 { fill: var(--gold); stroke: #E2C98F; } .s2-lay.k3 { fill: #E8F0F2; stroke: #fff; }
.s2.before .s2-stack { opacity: 0; }
.s2-tower rect { fill: rgba(232,240,242,0.06); stroke: rgba(232,240,242,0.55); stroke-width: 1; stroke-dasharray: 4 4; transform-box: fill-box; transition: transform .9s var(--eo), opacity .6s ease; opacity: 0; }
.s2-stbtns { position: absolute; inset: 0; pointer-events: none; }
.s2-stbtn { position: absolute; transform: translate(-50%, -50%); pointer-events: auto; background: none; border: 0; padding: 6px 8px; min-height: 44px; min-width: 64px; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.72); cursor: pointer; transition: color .3s ease; }
.s2-stbtn.act { color: var(--gold); }
.s2-coin { position: absolute; left: 0; top: 0; width: 26px; height: 26px; margin: -13px 0 0 -13px; border-radius: 50%; border: 1.5px solid #7DBAC4; background: radial-gradient(circle at 35% 35%, rgba(125,186,196,.55), rgba(46,125,138,.35)); opacity: 0; pointer-events: none; z-index: 5; }
.s2-side { display: grid; gap: 18px; }
.s2-panel { background: rgba(255,255,255,0.035); border: 1px solid rgba(200,169,110,0.22); border-radius: 16px; padding: 22px 22px 18px; }
.s2-stname { margin: 0 0 14px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.s2-stname strong { color: var(--gold); font-weight: 700; }
.s2-rows { margin: 0; display: grid; gap: 2px; }
.s2-rows > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.s2-rows dt { font-size: 13.5px; color: rgba(255,255,255,0.72); display: flex; align-items: center; gap: 8px; }
.s2-rows dd { margin: 0; font-family: var(--serif); font-weight: 300; font-size: 28px; color: #fff; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.r-cred dt::before, .r-pago dt::before, .sw { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.r-cred dt::before, .sw-c { background: repeating-linear-gradient(45deg, #2E7D8A 0 2px, rgba(46,125,138,.35) 2px 4px); border: 1px solid #5FA3AF; }
.r-pago dt::before, .sw-g { background: var(--gold); }
.sw-k1 { background: #7DBAC4; } .sw-k2 { background: var(--gold); } .sw-k3 { background: #E8F0F2; }
.s2-legend .lg { display: inline-flex; align-items: center; gap: 8px; }
.s2-legend .lg-c { display: none; }
.s2-legend.you .lg-c { display: inline-flex; }
.s2-cmp { display: none; }
.s2.before .s2-rows, .s2.before .s2-bar { display: none; }
.s2.before .s2-cmp { display: grid; gap: 14px; padding: 4px 0 2px; }
.s2-cmp > div { display: flex; flex-direction: column; gap: 2px; }
.s2-cmp .k { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.s2-cmp b { font-family: var(--serif); font-weight: 300; font-size: clamp(40px, 5vw, 56px); line-height: 1.05; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.cmp-old b { color: rgba(232,240,242,0.62); text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: rgba(232,240,242,0.45); }
.cmp-new b { color: var(--gold); }
.cmp-d { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,0.8); }
.s2-bar { width: 100%; height: auto; margin: 16px 0 4px; overflow: visible; }
.s2-bar .bg { fill: rgba(255,255,255,0.05); }
.s2-bar .b { transition: fill .5s ease; }
.s2-bar .c { fill: url(#s2-hatch); stroke: #5FA3AF; stroke-width: .8; }
.s2-bar .g { fill: var(--gold); }
.s2-bar .k1 { fill: #7DBAC4; } .s2-bar .k2 { fill: var(--gold); } .s2-bar .k3 { fill: #E8F0F2; }
.s2-rows.you > div:nth-child(n+2) dt::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 2px; border: 0; }
.s2-rows.you > div:nth-child(2) dt::before { background: #7DBAC4; }
.s2-rows.you > div:nth-child(3) dt::before { background: var(--gold); }
.s2-rows.you > div:nth-child(4) dt::before { background: #E8F0F2; }
.s2-ctrl { display: flex; gap: 10px; margin-top: 14px; }
.btn-line { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.28); background: transparent; color: #fff; font-family: var(--sans); font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: border-color .3s ease, color .3s ease; }
.btn-line:hover { border-color: var(--gold); color: var(--gold); }
.btn-line[disabled] { opacity: .35; cursor: default; border-color: rgba(255,255,255,0.2); color: #fff; }
.s2-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; font-size: 12.5px; color: rgba(255,255,255,0.72); }
.s2-legend { gap: 8px 18px; }
.s2-sum { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.86); min-height: 3.2em; }
.s2-before { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; background: none; border: 0; padding: 0; color: #fff; font-family: var(--sans); font-size: 13px; letter-spacing: .06em; cursor: pointer; justify-self: start; }
.s2-before .tg { position: relative; width: 40px; height: 22px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.4); transition: border-color .3s ease, background .3s ease; }
.s2-before .tg::after { content: ''; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .45s var(--eo), background .3s ease; }
.s2-before[aria-pressed="true"] .tg { border-color: var(--gold); background: rgba(200,169,110,0.18); }
.s2-before[aria-pressed="true"] .tg::after { transform: translateX(18px); background: var(--gold); }
.s2-before-txt { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.78); max-height: 0; overflow: hidden; opacity: 0; transition: max-height .6s var(--eo), opacity .4s ease; }
.s2.before .s2-before-txt { max-height: 12em; opacity: 1; }
.s2-extra { display: grid; gap: 12px; }
.s2-extra .note { margin: 0; }
.s2.before .s2-legend { display: none; }
@media (max-width: 999px) {
  .s2-panel { padding: 16px 16px 14px; }
  .s2-stname { margin-bottom: 8px; font-size: 11px; }
  .s2-rows { grid-template-columns: 1fr 1fr; column-gap: 14px; }
  .s2-rows > div { flex-direction: column; align-items: flex-start; gap: 0; padding: 4px 0; }
  .s2-rows dt { font-size: 11.5px; }
  .s2-rows dd { font-size: 21px; }
  .s2-bar { margin: 8px 0 0; }
  .s2-ctrl { margin-top: 8px; }
}
@media (max-width: 619px) {
  .s2-stbtn { font-size: 10px; letter-spacing: .06em; min-width: 0; padding: 6px 2px; }
  .s2-grid { gap: 12px; }
  .s2 .sec-head { margin-bottom: 18px; }
}
@media (max-width: 599px) {
  .btn-line span { display: none; }
  .btn-line { font-size: 0; }
  .btn-line i { font-size: 18px; }
}

/* ---------- 3 · destino e comitê ---------- */
.s3 { position: relative; background: var(--deep); }
.s3-track { height: 360vh; }
/* celular deitado: a tela é baixa, a faixa cresce para a máscara ter rolagem folgada */
@media (max-width: 899px) and (max-height: 500px) { .s3-track { height: 560vh; } }
@media (min-width: 900px) { .s3-track { height: 420vh; } }
.s3-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.s3-l1, .s3-l2 { position: absolute; inset: 0; }
.s3-l1 { background: var(--deep); }
.s3-l2 { clip-path: circle(0px at 50% 50%); }
/* anel de ouro na borda do círculo que revela o Comitê Gestor (mesma linguagem da troca de perfis) */
.s3-ring { position: absolute; left: 0; top: 0; width: 2px; height: 2px; border-radius: 50%; border: 1.2px solid var(--gold); box-sizing: border-box; pointer-events: none; visibility: hidden; opacity: 0; will-change: transform, opacity; }
.s3-in { height: 100%; display: grid; grid-template-rows: auto 1fr; gap: 6px; padding-top: calc(var(--nav-h) + 16px); padding-bottom: 18px; }
@media (min-width: 900px) { .s3-in { grid-template-rows: none; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: center; padding-bottom: 28px; } }
.s3 .h2 { font-size: clamp(30px, 4.6vw, 60px); }
.s3 .lead { font-size: 15.5px; margin-bottom: 8px; }
.s3 .hint { font-size: 13px; color: var(--gold); margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.s3-now { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.8); margin: 0; min-height: 3.1em; }
@media (max-width: 899px) and (min-height: 600px) { .s3-now { min-height: 4.65em; } }
.s3-map { position: relative; min-height: 0; height: 100%; }
.s3-cv, .s3-cv2 { position: absolute; inset: 0; width: 100%; height: 100%; }
.s3-cv { cursor: pointer; }
.s3-states { position: absolute; inset: 0; pointer-events: none; }
.s3-st { position: absolute; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: transparent; border: 0; padding: 0; color: transparent; font-size: 0; }
.s3-st::after { content: ''; position: absolute; inset: -7px; border-radius: 50%; }
.s3-st:focus-visible { font-size: 10px; color: var(--deep); background: var(--gold); font-weight: 700; }
.s3-tag { position: absolute; left: 0; top: 0; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; pointer-events: none; white-space: nowrap; will-change: transform; }
.s3-tag-o { color: var(--deep); background: var(--gold); }
.s3-tag-d { color: #fff; background: rgba(46,125,138,0.9); }
@media (max-width: 899px) {
  .s3 .lead { display: none; }
  .s3-l1 .s3-in { grid-template-rows: auto minmax(0, 1fr); }
}
/* celular deitado: texto à esquerda e mapa à direita na altura toda, para o contorno do país ter espaço para pinos e etiquetas */
@media (max-width: 899px) and (max-height: 500px) and (orientation: landscape) {
  .s3-l1 .s3-in { grid-template-rows: none; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 24px; align-items: center; }
  .s3-l1 .s3-map { align-self: stretch; }
}
.s3-l2 { background: var(--bg); color: var(--chumbo); }
.s3-l2 .s3-in2 { grid-template-rows: auto minmax(0, 1fr); }
@media (min-width: 900px) { .s3-l2 .s3-in2 { grid-template-rows: none; } }
.s3-field { position: relative; height: 100%; max-height: 46vh; touch-action: none; }
@media (min-width: 900px) { .s3-field { max-height: 62vh; height: 62vh; } }
.s3-nums { margin: 6px 0 14px; }
.s3-odo { height: 112px; overflow: hidden; }
.s3-odo-in { will-change: transform; }
.s3-row { height: 112px; display: flex; gap: 28px; align-items: center; }
.s3-row > span { display: flex; flex-direction: column; }
.s3-row b { font-family: var(--serif); font-weight: 300; font-size: 60px; line-height: 1; color: var(--deep); font-variant-numeric: lining-nums; }
.s3-row small { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--meta); margin-top: 4px; }
.s3-n1 { font-size: 84px !important; color: var(--pet) !important; }
.s3 .src { font-size: 12px; color: var(--meta); margin: 0; letter-spacing: .04em; }
.s3 .src a { display: inline-block; padding: 10px 0; color: var(--pet); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(27,77,92,.35); text-underline-offset: 3px; }
.s3 .src a:hover { text-decoration-color: currentColor; }
@media (min-width: 700px) and (max-width: 899px) {
  .s3-l2 .s3-in2 { grid-template-rows: none; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 28px; align-items: center; }
  .s3-l2 .s3-field { height: 58vh; max-height: 58vh; }
  .s3-l2 .h2 { font-size: 38px; }
}
@media (min-width: 900px) { .s3-l1 .s3-in { align-items: start; } .s3-l1 .s3-txt { padding-top: 7vh; } .s3-l1 .s3-map { align-self: stretch; } }
@media (max-width: 899px) { .s3-l2 .lead { display: block; font-size: 14.5px; } .s3-odo, .s3-row { height: 90px; } .s3-row b { font-size: 46px; } .s3-n1 { font-size: 64px !important; } }
.no-js .s3-track, .rm .s3-track { height: auto; }
.no-js .s3-stage, .rm .s3-stage { position: relative; height: auto; overflow: visible; }
.no-js .s3-l1, .rm .s3-l1, .no-js .s3-l2, .rm .s3-l2 { position: relative; inset: auto; clip-path: none; transform: none !important; opacity: 1 !important; }
.no-js .s3-ring, .rm .s3-ring { display: none; }
.no-js .s3-in, .rm .s3-in { height: auto; padding: 96px var(--gut) 64px; }
.no-js .s3-map, .rm .s3-map { height: 62vh; max-height: 560px; }
.no-js .s3-field, .rm .s3-field { height: 40vh; }
@media (max-width: 899px) { .no-js .s3-map, .rm .s3-map { height: auto; aspect-ratio: 1 / 1; } }
.no-js .s3-odo-in, .rm .s3-odo-in { transform: translateY(-112px); }
@media (max-width: 899px) { .no-js .s3-odo-in, .rm .s3-odo-in { transform: translateY(-90px); } }

/* ---------- 4 · a nota ---------- */
.s4 { position: relative; }
.s4-stage { padding: 44px 0 88px; }
@media (min-width: 900px) {
  .s4-track { height: 220vh; }
  .s4-stage { position: sticky; top: 0; height: 100vh; height: 100svh; padding: calc(var(--nav-h) + 12px) 0 20px; display: flex; align-items: center; }
  .rm .s4-track, .no-js .s4-track { height: auto; }
  .rm .s4-stage, .no-js .s4-stage { position: relative; height: auto; padding: 120px 0; }
}
.s4-grid { display: grid; gap: 36px; width: 100%; }
@media (min-width: 900px) { .s4-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; } }
.seg-ctl { display: flex; background: #fff; border: 1px solid var(--gmid); border-radius: 999px; padding: 4px; margin: 6px 0 22px; width: 100%; max-width: 420px; box-shadow: 0 1px 3px rgba(15,47,56,.06); }
.seg-ctl [role="tab"] { flex: 1; min-height: 48px; border: 0; border-radius: 999px; background: transparent; color: var(--chumbo); font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .4s var(--eo), color .3s ease; }
.seg-ctl [aria-selected="true"] { background: var(--deep); color: #fff; }
.s4-panel p { font-size: 16px; line-height: 1.65; margin: 0 0 12px; max-width: 44ch; }
.s4-big { font-family: var(--serif); font-weight: 300; font-size: 30px !important; line-height: 1.2 !important; color: var(--deep); }
.s4-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; font-family: var(--serif); font-size: 22px; color: var(--deep); background: #fff; border: 1px solid var(--gmid); cursor: default; }
.chip-g { border-color: #B8944A; box-shadow: inset 3px 0 0 var(--gold); }
.chip-c { border-color: var(--ceu); box-shadow: inset 3px 0 0 var(--ceu); }
.s4-tip { font-size: 13px; color: var(--pet); margin: 6px 0 0; min-height: 1.5em; }
.s4-nota-wrap { position: relative; perspective: 1400px; display: flex; justify-content: center; }
.s4-tilt { position: relative; transform-style: preserve-3d; will-change: transform; border-radius: 8px; }
.s4-nota { width: min(100%, 440px); height: auto; overflow: visible; }
@media (min-width: 900px) { .s4-nota { width: min(100%, calc((100svh - var(--nav-h) - 40px) * 0.70)); } }
.s4-shine { position: absolute; inset: 1.4% 2%; border-radius: 6px; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 66%); background-size: 260% 260%; background-position: var(--sx, 120%) var(--sy, 50%); mix-blend-mode: soft-light; opacity: .9; }
.s4-paper { fill: #fff; stroke: var(--gmid); }
.s4-nota .cell { fill: none; stroke: var(--gmid); }
.s4-nota .cell.tot { stroke: #B8944A; }
.s4-nota .ln { fill: none; stroke: var(--ceu); stroke-width: 1.4; }
.s4-nota .ln-r { fill: var(--gmid); }
.s4-nota .ln-r.f { fill: var(--gelo); }
.s4-nota .ln-r.g { fill: var(--gold); }
.s4-nota .sep { stroke: var(--gmid); }
.s4-nota .bars rect { fill: var(--chumbo); }
.s4-nota .t-k { font-family: var(--serif); font-size: 26px; fill: var(--deep); }
.s4-nota .t-s { font-family: var(--sans); font-size: 11px; fill: var(--meta); }
.s4-nota .t-xs { font-family: var(--sans); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; fill: var(--meta); }
.s4-nota .nb { stroke-width: 1.6; stroke-dasharray: 1; stroke-dashoffset: var(--dd, 0); }
.s4-nota .nb-g { fill: rgba(200,169,110,0.12); stroke: #B8944A; }
.s4-nota .nb-c { fill: rgba(46,125,138,0.08); stroke: var(--ceu); }
.s4-nota .t-n { font-family: var(--serif); font-size: 26px; fill: var(--deep); }
.s4-nota .t-ns { font-family: var(--sans); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; fill: var(--meta); }
.s4-nota .t-v { font-family: var(--serif); font-size: 30px; fill: var(--deep); }
.s4-stamp { opacity: var(--so, 1); }
.s4-stamp .st { fill: none; stroke: #B8944A; stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: var(--sd, 0); }
.s4-stamp .st2 { stroke-width: 1; }
.s4-stamp .t-st { font-family: var(--sans); font-size: 13px; font-weight: 700; letter-spacing: .18em; fill: #8A6D35; }
.s4-stamp .t-st2 { font-family: var(--sans); font-size: 8.5px; letter-spacing: .16em; text-transform: uppercase; fill: #8A6D35; }
.s4-same { position: absolute; top: 4%; right: 2%; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--pet); padding: 8px 14px; border-radius: 999px; opacity: 0; transform: translateY(8px); transition: opacity .5s ease, transform .6s var(--eo); }
.s4.simples .s4-same { opacity: 1; transform: none; }

/* ---------- 5 · calendário ---------- */
.s5 { position: relative; }
.s5-stage { padding: 88px 0; }
.s5-main { display: grid; gap: 20px; }
.s5-year, .s5-ruler { display: none; }
.s5-list { list-style: none; margin: 0; padding: 0 0 0 30px; position: relative; }
.s5-list::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 1px; background: rgba(200,169,110,0.45); }
.s5-list li { position: relative; padding: 18px 0 26px; }
.s5-list li::before { content: ''; position: absolute; left: -29px; top: 30px; width: 11px; height: 11px; border-radius: 50%; border: 1px solid var(--gold); background: var(--deep); transition: background .4s ease; }
.s5-list li.is-act::before { background: var(--gold); }
.s5-y { display: block; font-family: var(--serif); font-weight: 300; font-size: 40px; line-height: 1; color: #fff; margin-bottom: 6px; }
.s5-list p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.8); max-width: 40ch; }
.s5-list strong { color: #fff; font-weight: 700; }
.s5-here { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); position: relative; }
.s5-here::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(200,169,110,.6); }
.s5.in .s5-here::before { animation: pulse1 1.8s var(--eo) .6s 1; }
@keyframes pulse1 { 0% { box-shadow: 0 0 0 0 rgba(200,169,110,.7); } 100% { box-shadow: 0 0 0 14px rgba(200,169,110,0); } }
.s5-more { margin-top: 10px; min-height: 40px; padding: 0 14px; background: transparent; border: 1px solid rgba(200,169,110,0.5); color: var(--gold); border-radius: 999px; font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.s5-split { margin-top: 10px !important; padding-left: 14px; border-left: 1px solid var(--gold); color: #fff !important; }
.mini { display: none; gap: 4px; align-items: flex-end; height: 38px; margin-top: 12px; }
.mini i { width: 9px; border-radius: 1px; }
.mini i:nth-child(1) { height: calc(var(--a) * 36px + 1px); background: var(--pet); box-shadow: inset 0 0 0 1px rgba(200,169,110,.75); }
.mini i:nth-child(2) { height: calc(var(--b) * 36px + 1px); background: var(--gmid); }
.mini i:nth-child(3) { height: calc(var(--c) * 36px + 1px); background: var(--gold); }
.mini i:nth-child(4) { height: calc(var(--d) * 36px + 1px); background: #4A9AA7; }
.no-js .mini, .rm .mini { display: flex; }
.s5-bars { position: relative; display: flex; justify-content: space-between; gap: 10px; }
.s5-cv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; }
.bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.bar .val { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,0.86); white-space: nowrap; min-height: 1.3em; }
.bar .tube { position: relative; width: 100%; max-width: 64px; flex: 1; border: 1px solid rgba(255,255,255,0.14); border-radius: 3px; overflow: hidden; }
.bar .fill { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; transform-origin: 50% 100%; transform: scaleY(var(--v, 1)); transition: transform 1.1s var(--eo); }
.b-fed .fill { background: var(--pet); box-shadow: inset 0 0 0 1px rgba(200,169,110,.75); }
.b-icms .fill { background: rgba(208,221,224,.62); }
.b-cbs .fill { background: var(--gold); }
.b-ibs .fill { background: var(--ceu); box-shadow: inset 0 0 0 1px #4A9AA7; }
.bar .lab { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,0.7); text-align: center; white-space: nowrap; }
@media (max-width: 899px) {
  .s5-main { display: flex; flex-direction: column; }
  .s5-bars { order: -1; position: sticky; top: calc(var(--nav-h) + 6px); z-index: 3; height: 128px; background: #0F2F38; box-shadow: 0 -12px 0 #0F2F38; padding: 10px 6px 8px; border-bottom: 1px solid rgba(200,169,110,.25); margin: 0 calc(-1 * var(--gut)); padding-left: var(--gut); padding-right: var(--gut); }
  .bar .lab { font-size: 9px; letter-spacing: .04em; white-space: normal; line-height: 1.2; }
  .s5-list li { min-height: min(26vh, 230px); padding-bottom: 18px; scroll-margin-top: calc(var(--nav-h) + 190px); }
  .s5-bars::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 44px; background: linear-gradient(#0F2F38, rgba(15,47,56,0)); pointer-events: none; }
  .rm .s5-bars, .no-js .s5-bars { display: none; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .s5-bars { height: 210px; }
  .bar .lab { font-size: 10.5px; letter-spacing: .08em; }
  .s5-list li { scroll-margin-top: calc(var(--nav-h) + 270px); }
}
@media (min-width: 900px) {
  .s5-track { height: 320vh; }
  .s5-stage { position: sticky; top: 0; height: 100vh; height: 100svh; padding: calc(var(--nav-h) + 22px) 0 calc(18px + var(--ck-h, 0px)); transition: padding-bottom .5s var(--eo); }
  .s5-in { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; }
  .s5-head .h2 { margin-bottom: 0; }
  .s5-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: stretch; min-height: 0; padding: 12px 0; }
  .s5-left { display: flex; flex-direction: column; justify-content: center; min-height: 0; }
  .s5-year { display: flex; font-family: var(--serif); font-weight: 300; font-size: clamp(96px, 12vw, 190px); line-height: 1.15; color: #fff; height: 1.15em; overflow: hidden; margin-bottom: 18px; font-feature-settings: 'lnum' 1, 'tnum' 1; font-variant-numeric: lining-nums tabular-nums; }
  .s5-year .dg { display: block; width: .5em; height: 1.15em; overflow: hidden; text-align: center; }
  .s5-year .dc { display: flex; flex-direction: column; transform: translateY(calc(var(--n, 0) * -1.15em)); transition: transform .9s var(--eo); }
  .s5-year .dc > span { display: block; height: 1.15em; line-height: 1.15; }
  .s5-list { padding: 0; min-height: 8.5em; }
  .s5-list::before { display: none; }
  .s5-list li { position: absolute; inset: 0 0 auto 0; padding: 20px 0 0; opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .7s var(--eo); pointer-events: none; }
  .s5-list li::before { left: 0; top: 0; width: 56px; height: 1px; border: 0; border-radius: 0; background: var(--gold); transform: scaleX(0); transform-origin: 0 50%; transition: transform .9s var(--eo); }
  .s5-list li.show { opacity: 1; transform: none; pointer-events: auto; }
  .s5-list li.show::before { transform: scaleX(1); }
  .s5-list .s5-y { display: none; }
  .s5-list p { font-size: 18px; }
  .s5-bars { height: 100%; max-height: 440px; align-self: center; gap: 18px; padding-top: 10px; }
  .bar .tube { max-width: 74px; }
  .s5-ruler { display: block; position: relative; height: 62px; margin-top: 10px; cursor: pointer; touch-action: none; }
  .s5-rl { position: absolute; left: 0; right: 0; top: 16px; height: 1px; background: rgba(200,169,110,0.4); }
  .s5-cur { position: absolute; top: 9px; left: calc(var(--rp, 0) * 100%); width: 15px; height: 15px; margin-left: -7.5px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(200,169,110,0.15); }
  .s5-ticks { position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; }
  .s5-ticks i { font-style: normal; font-size: 12px; letter-spacing: .08em; color: rgba(255,255,255,0.72); padding-top: 32px; position: relative; width: 0; display: flex; justify-content: center; white-space: nowrap; }
  .s5-ticks i::before { content: ''; position: absolute; top: 12px; left: 0; width: 1px; height: 9px; background: rgba(200,169,110,0.7); }
  .s5-note { margin-top: 2px; }
  .rm .s5-track, .no-js .s5-track { height: auto; }
  .rm .s5-stage, .no-js .s5-stage { position: relative; height: auto; padding: 120px 0; }
  .rm .s5-year, .no-js .s5-year, .rm .s5-ruler, .no-js .s5-ruler, .rm .s5-bars, .no-js .s5-bars { display: none; }
  .rm .s5-main, .no-js .s5-main { grid-template-columns: 1fr; }
  .rm .s5-list, .no-js .s5-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
  .rm .s5-list li, .no-js .s5-list li { position: relative; opacity: 1; transform: none; pointer-events: auto; }
  .rm .s5-list li::before, .no-js .s5-list li::before { transform: scaleX(1); }
  .rm .s5-list .s5-y, .no-js .s5-list .s5-y { display: block; }
}

/* ---------- 6 · alíquotas ---------- */
.s6-grid { display: grid; gap: 36px; }
.s6-grid > *, .s2-grid > *, .s4-grid > *, .s3-in > *, .s10-grid > * { min-width: 0; }
@media (min-width: 900px) { .s6-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; } }
.s6-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 14px; padding: 4px 2px 8px; }
.s6-chips::-webkit-scrollbar { display: none; }
.s6-chips button { flex: 0 0 auto; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--gmid); background: transparent; color: var(--chumbo); font-family: var(--sans); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; cursor: pointer; transition: border-color .3s ease, background .3s ease, box-shadow .3s ease; }
.s6-chips button[aria-checked="true"] { border-color: var(--deep); background: #fff; box-shadow: 0 4px 16px rgba(15,47,56,0.1); color: var(--deep); }
.s6-chips .sw { width: 10px; height: 10px; border-radius: 50%; }
@media (min-width: 900px) { .s6-chips { gap: 6px; } .s6-chips button { padding: 0 13px; gap: 7px; letter-spacing: .04em; } }
.sw.g0 { background: var(--deep); } .sw.g1 { background: var(--pet); } .sw.g2 { background: var(--ceu); } .sw.g3 { background: var(--gold); border: 1px solid #B8944A; }
.s6-legend { font-size: 15.5px; line-height: 1.6; margin: 0 0 14px; min-height: 3.2em; max-width: 46ch; }
.s6-legend strong { color: var(--deep); }
.s6-cash { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.6; margin: 0; color: var(--chumbo); max-width: 46ch; }
.s6-cash i { color: var(--pet); font-size: 20px; flex: none; }
.s6-dial-wrap { position: relative; width: 100%; max-width: 540px; margin: 0 auto; aspect-ratio: 1; display: none; }
@media (min-width: 768px) { .s6-dial-wrap { display: block; } .s6-mbars { display: none !important; } }
.s6-dial { width: 100%; height: 100%; overflow: visible; touch-action: none; cursor: grab; }
.s6-dial.drag { cursor: grabbing; }
.s6-scale line { stroke: rgba(184,148,74,0.55); stroke-width: 1; }
.s6-scale line.l { stroke: #B8944A; stroke-width: 1.3; }
.s6-mark { fill: #B8944A; }
.s6-ring { fill: none; stroke: rgba(184,148,74,0.6); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: var(--rd, 0); }
.s6-arcs path { fill: none; stroke-linecap: round; transition: stroke-width .5s var(--eo), opacity .4s ease; }
.s6-arcs path.g0 { stroke: var(--deep); } .s6-arcs path.g1 { stroke: var(--pet); } .s6-arcs path.g2 { stroke: var(--ceu); }
.s6-arcs circle.g3 { fill: var(--gold); stroke: #B8944A; }
.s6-icons path { fill: none; stroke: var(--deep); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.2s var(--ec); }
.s6.icons .s6-icons path { stroke-dashoffset: 0; }
.s6-icons .ib { fill: var(--bg); stroke: rgba(15,47,56,0.18); stroke-width: 1; transition: stroke .5s ease, fill .5s ease; }
.s6-icons .ic { opacity: 0; transition: opacity .6s ease; }
.s6.icons .s6-icons .ic { opacity: .38; }
.s6.icons .s6-icons .ic.on { opacity: 1; }
.s6-icons .ic.on .ib { fill: #fff; stroke: #B8944A; }
.s6-icons .ic.on path { stroke-width: 1.5; }
.s6-cashp circle { fill: var(--gold); opacity: 0; }
.s6-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.s6-pre { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--meta); }
.s6-num { font-family: var(--serif); font-weight: 300; font-size: clamp(64px, 8vw, 104px); line-height: 1; color: var(--deep); font-variant-numeric: lining-nums; }
.s6-num::after { content: '%'; font-size: .45em; margin-left: .06em; }
.s6-seal { margin-top: 8px; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pet); border: 1px solid #B8944A; border-radius: 999px; padding: 4px 10px; }
.s6-drag { position: absolute; left: 0; right: 0; bottom: -8px; text-align: center; margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--meta); display: flex; gap: 6px; justify-content: center; align-items: center; }
.s6-mbars { display: grid; gap: 14px; }
.mb { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "l v" "t t"; gap: 6px 10px; opacity: .55; transition: opacity .3s ease; }
.mb.act { opacity: 1; }
.mb-l { grid-area: l; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--deep); }
.mb-v { grid-area: v; font-family: var(--serif); font-size: 20px; color: var(--deep); }
.mb-t { grid-area: t; position: relative; height: 10px; background: var(--gelo); border-radius: 2px; }
.mb-t::after { content: ''; position: absolute; right: 0; top: -4px; bottom: -4px; border-right: 1px dashed var(--meta); }
.mb-f { position: absolute; left: 0; top: 0; bottom: 0; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--w)); border-radius: 2px; transition: transform 1.2s var(--eo); }
.mb[data-g="0"] .mb-f { background: var(--deep); } .mb[data-g="1"] .mb-f { background: var(--pet); } .mb[data-g="2"] .mb-f { background: var(--ceu); }
.mb[data-g="3"] .mb-t::before { content: ''; position: absolute; left: -2px; top: 1px; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.js:not(.rm) .s6:not(.in) .mb-f { transform: scaleX(0); }

/* ---------- 7 · perfil ---------- */
.s7-arc { position: relative; padding: 70px 0 20px; }
.s7-globe { position: absolute; left: 50%; bottom: 0; width: 1000px; max-width: none; height: 260px; transform: translateX(-50%); opacity: .9; pointer-events: none; }
.s7-globe ellipse, .s7-globe line { fill: none; stroke: rgba(200,169,110,0.16); stroke-width: 1; }
.s7-tabs { position: relative; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 2px 10px; scrollbar-width: none; }
.s7-tabs::-webkit-scrollbar { display: none; }
.s7-tabs [role="tab"] { flex: 0 0 auto; scroll-snap-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 104px; padding: 4px 6px; background: none; border: 0; color: rgba(255,255,255,0.82); font-family: var(--sans); cursor: pointer; }
.s7-tabs .ic, .s7-head .ic { width: 60px; height: 60px; border-radius: 50%; border: 1px solid rgba(200,169,110,0.4); display: grid; place-items: center; background: rgba(15,47,56,0.9); transition: border-color .4s ease, background .4s ease, transform .6s var(--eo); }
.s7-tabs .ic i, .s7-head .ic i { font-size: 26px; color: #E8F0F2; transition: color .3s ease; }
.s7-tabs .tl { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-align: center; line-height: 1.35; max-width: 11ch; }
.s7-tabs [aria-selected="true"] .ic { border-color: var(--gold); background: rgba(200,169,110,0.14); }
.s7-tabs [aria-selected="true"] .ic i { color: var(--gold); }
.s7-tabs [aria-selected="true"] .tl { color: var(--gold); }
.s7-tabs [role="tab"]:hover .ic { border-color: var(--gold); }
@media (max-width: 767px) {
  .s7-arc { padding-top: 0; } .s7-globe { opacity: .15; }
  .s7-tabs { flex-wrap: wrap; justify-content: center; overflow: visible; gap: 14px 8px; }
  .s7-tabs [role="tab"] { flex: 0 0 calc(33.333% - 6px); min-width: 0; }
  .s7-tabs .ic { width: 54px; height: 54px; }
}
@media (min-width: 768px) {
  .s7-tabs { justify-content: center; overflow: visible; gap: 26px; }
  .s7-tabs [role="tab"]:nth-child(2), .s7-tabs [role="tab"]:nth-child(4) { transform: translateY(-36px); }
  .s7-tabs [role="tab"]:nth-child(3) { transform: translateY(-54px); }
}
.s7-stage { position: relative; margin-top: 30px; display: grid; gap: 22px; min-height: 300px; }
@media (min-width: 900px) { .s7-stage { grid-template-columns: minmax(0, 1fr) 400px; align-items: center; gap: 40px; } }
.s7-empty { grid-column: 1 / -1; text-align: center; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 26px; color: rgba(255,255,255,0.72); margin: 40px 0; }
.s7.has .s7-empty { display: none; }
.s7-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(200,169,110,0.28); border-radius: 20px; padding: 28px 24px; }
.s7-head { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.s7-head .ic { border-color: var(--gold); background: rgba(200,169,110,0.12); }
.s7-head .ic i { color: var(--gold); }
.s7-head h3 { font-size: 34px; color: #fff; line-height: 1.1; }
.s7-txt { font-size: 16.5px; line-height: 1.7; color: rgba(255,255,255,0.84); margin: 0 0 18px; max-width: 54ch; }
.s7-pts { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; max-width: 58ch; }
.s7-pts li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.86); }
.s7-pts li > i { font-size: 20px; color: var(--gold); margin-top: 2px; }
.s7-pts strong { color: #fff; }
.s7-def { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.64); margin: -6px 0 14px; font-style: italic; }
.s7-link { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 44px; color: rgba(255,255,255,0.8); font-size: 14.5px; text-decoration: none; }
.s7-link span { color: var(--gold); border-bottom: 1px solid rgba(200,169,110,0.5); }
.s7-link i { color: var(--gold); }
.s7-link:hover span { border-bottom-color: var(--gold); }
.s7-fork { margin: 4px 0 18px; max-width: 460px; }
.fk-root { margin: 0; display: flex; align-items: baseline; justify-content: center; gap: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,0.72); }
.fk-root span { font-family: var(--serif); font-weight: 300; font-size: 34px; letter-spacing: 0; color: #fff; }
.fk-lines { width: 100%; height: 30px; overflow: visible; }
.fk-lines path { fill: none; stroke: var(--gold); stroke-width: 1.4; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.fk-lines path + path { stroke: #7DBAC4; }
.js:not(.rm) .s7-card:not([hidden]) .fk-lines path { animation: fkdraw 1.2s var(--ec) .5s both; }
.js:not(.rm) .s7-card:not([hidden]) .fk-lines path + path { animation-delay: .7s; }
@keyframes fkdraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.fk-bs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fk-b { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1px solid rgba(200,169,110,0.5); border-radius: 12px; font-size: 13.5px; line-height: 1.45; color: rgba(255,255,255,0.8); }
.fk-b b { font-family: var(--serif); font-weight: 300; font-size: 24px; line-height: 1.1; color: var(--gold); }
.fk-r { border-color: rgba(125,186,196,0.6); }
.fk-r b { color: #A9D3DA; }
.js:not(.rm) .s7-card:not([hidden]) .fk-b { animation: fkin .9s var(--eo) .9s both; }
.js:not(.rm) .s7-card:not([hidden]) .fk-r { animation-delay: 1.05s; }
@keyframes fkin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.fk-date { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 0; font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,0.84); }
.fk-date i { color: var(--gold); font-size: 20px; margin-top: 1px; }
.fk-date b { display: inline-block; margin-right: 4px; padding: 1px 10px; border-radius: 999px; background: var(--gold); color: var(--deep); font-size: 12.5px; letter-spacing: .06em; }
.fk-next { margin-top: 8px; color: rgba(255,255,255,0.78); }
.fk-next b { background: transparent; color: var(--gold); border: 1px solid rgba(200,169,110,0.6); }
.s7-vis { position: relative; height: 290px; display: none; }
.s7.has .s7-vis { display: block; }
@media (min-width: 900px) { .s7-vis { height: 400px; } }
.s7-cv { position: absolute; inset: 0; width: 100%; height: 100%; }
.s7-gauge { position: absolute; right: 0; bottom: 0; width: 104px; height: 104px; opacity: 0; transition: opacity .5s ease, left .9s var(--eo), top .9s var(--eo), width .9s var(--eo), height .9s var(--eo); }
.rm .s7-gauge { transition: opacity .5s ease; }
.s7-vis.gauge .s7-gauge { opacity: 1; }
.s7-gauge .gt { fill: rgba(15,47,56,.85); stroke: rgba(255,255,255,0.12); stroke-width: 6; }
.s7-gauge .gf { fill: none; stroke: var(--gold); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: var(--gd, 1); transition: stroke-dashoffset 1.4s var(--eo); }
.s7-gauge .gv { font-family: var(--serif); font-size: 26px; fill: #fff; }
.s7-gauge .gl { font-family: var(--sans); font-size: 7.5px; letter-spacing: .14em; text-transform: uppercase; fill: rgba(255,255,255,.75); }
@media (max-width: 899px) { .s7-vis { order: -1; } }

/* ---------- 8 · checklist ---------- */
.s8-in { max-width: 880px; }
@media (min-width: 1100px) {
  .s8-in, .wrap.s9-in { max-width: 1200px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
  .s8-l, .s9-l { position: sticky; top: calc(var(--nav-h) + 40px); }
  .s8-top { margin-top: 0; }
  .s8-list { margin-top: 4px; }
}
.s8-top { display: flex; align-items: center; gap: 18px; margin: -18px 0 22px; }
@media (max-width: 767px) { .s8-top { position: sticky; top: var(--nav-h); z-index: 3; background: var(--bg); padding: 10px var(--gut); margin: -24px calc(-1 * var(--gut)) 14px; box-shadow: 0 10px 18px -12px rgba(15,47,56,0.35); border-bottom: 1px solid var(--gmid); } .s8-ring { width: 64px; height: 64px; } .s8-ct { font-size: 13px; } .s8-ct b { font-size: 19px; } }
.s8-ring { position: relative; width: 84px; height: 84px; flex: none; }
.s8-ring svg { width: 100%; height: 100%; overflow: visible; }
.s8-ring .rt { fill: none; stroke: var(--gmid); stroke-width: 2.5; transition: opacity .6s ease; }
.s8-ring .rf { fill: none; stroke: var(--gold); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--f, 0)); transition: stroke-dashoffset .9s var(--eo), opacity .6s ease; }
.s8-ring .rg * { fill: none; stroke: var(--pet); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.2s var(--ec); }
.s8-ring .rg ellipse:nth-child(2) { transition-delay: .2s; } .s8-ring .rg ellipse:nth-child(3) { transition-delay: .35s; } .s8-ring .rg line { transition-delay: .5s; }
.s8.done .s8-ring .rg * { stroke-dashoffset: 0; }
.s8.done .s8-ring .s8-ct { opacity: 0; }
.s8-ct { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 3px; font-family: var(--serif); font-size: 17px; color: var(--deep); transition: opacity .5s ease; }
.s8-ct b { font-weight: 300; font-size: 24px; }
.s8-prog { font-size: 14px; color: var(--pet); margin: 0; font-weight: 700; letter-spacing: .04em; }
.s8-list { list-style: none; margin: 0; padding: 0; counter-reset: s8; }
.s8-list li { position: relative; }
.s8-list li::before { content: ''; position: absolute; left: 23px; top: 52px; bottom: -14px; width: 1px; background: var(--gold); opacity: .45; transform-origin: 50% 0; transition: width .5s ease, opacity .5s ease, box-shadow .6s ease, transform 1s var(--eo); }
.s8-list li:last-child::before { display: none; }
.js:not(.rm) .s8-list li:not(.in)::before { transform: scaleY(0); }
.s8-list li.ck::before { width: 2px; left: 22.5px; opacity: 1; box-shadow: 0 0 10px rgba(200,169,110,0.7); }
.s8-item { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px 0; cursor: pointer; min-height: 48px; }
.s8-item input { position: absolute; left: 0; top: 10px; width: 48px; height: 48px; margin: 0; opacity: 0; cursor: pointer; }
.s8-box { width: 48px; height: 48px; padding: 10px; overflow: visible; background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(15,47,56,0.08); transition: background .4s ease; }
.s8-box rect { fill: none; stroke: var(--pet); stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--ec); }
.js:not(.rm) .s8-list li:not(.in) .s8-box rect { stroke-dashoffset: 1; }
.s8-box path { fill: none; stroke: var(--deep); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .55s var(--ec); }
.s8-item input:checked + .s8-box { background: rgba(200,169,110,0.28); }
.s8-item input:checked + .s8-box path { stroke-dashoffset: 0; }
.s8-item input:focus-visible + .s8-box { outline: 3px solid #0F2F38; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(200,169,110,0.9); }
.s8-t { font-size: 17px; line-height: 1.55; color: var(--deep); padding-top: 12px; }
.s8.touched .s8-list li:not(.ck) .s8-t::after { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-left: 10px; vertical-align: middle; box-shadow: 0 0 0 3px rgba(200,169,110,0.2); }
.s8-foot { margin: 26px 0 0; padding-left: 62px; font-size: 14.5px; line-height: 1.6; }
.s8-foot .lnk { margin-top: 4px; }
.s8-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--pet); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(27,77,92,0.35); text-underline-offset: 4px; }
.s8-more:hover { text-decoration-color: currentColor; }
.js:not(.rm) .s8-list li { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .9s var(--eo); }
.js:not(.rm) .s8-list li.in { opacity: 1; transform: none; }

/* ---------- 9 · FAQ ---------- */
.s9-in { max-width: 820px; }
.s9-globe { display: none; }
@media (min-width: 1100px) {
  .s9-globe { display: block; width: 240px; height: 240px; margin-top: 8px; overflow: visible; }
  .s9-globe * { fill: none; stroke: rgba(200,169,110,0.4); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 0; vector-effect: non-scaling-stroke; }
  .s9-globe circle { stroke: rgba(200,169,110,0.7); }
  .js:not(.rm) .s9-globe * { stroke-dashoffset: 1; transition: stroke-dashoffset 1.8s var(--ec); }
  .js:not(.rm) .s9-globe ellipse:nth-child(2) { transition-delay: .15s; } .js:not(.rm) .s9-globe ellipse:nth-child(3) { transition-delay: .3s; } .js:not(.rm) .s9-globe ellipse:nth-child(4) { transition-delay: .45s; } .js:not(.rm) .s9-globe ellipse:nth-child(5) { transition-delay: .6s; } .js:not(.rm) .s9-globe line { transition-delay: .75s; }
  .js:not(.rm) .s9-globe.in * { stroke-dashoffset: 0; }
  .s9-globe ellipse:nth-child(2), .s9-globe ellipse:nth-child(3) { transform-box: fill-box; transform-origin: center; animation: s9spin 16s linear infinite; }
  .s9-globe ellipse:nth-child(3) { animation-delay: -5.3s; }
  /* depois do desenho, o traço fica inteiro: o tracejado em escala de tela cortava as elipses que giram */
  .s9-globe.drawn * { stroke-dasharray: none; transition: none; }
  .s9.sc { padding-bottom: 88px; }
}
@keyframes s9spin { 0% { transform: scaleX(1); } 50% { transform: scaleX(-1); } 100% { transform: scaleX(1); } }
@media (max-width: 1099px) { .s8-l, .s8-r { display: contents; } }
.faq { position: relative; border-top: 1px solid transparent; }
.faq::before { content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: rgba(200,169,110,0.4); transform-origin: 0 50%; transition: transform 1.2s var(--ec); }
.js:not(.rm) .faq:not(.in)::before { transform: scaleX(0); }
.faq:last-child { border-bottom: 1px solid rgba(200,169,110,0.4); }
.faq summary, .s10-src summary { list-style: none; cursor: pointer; }
.faq summary::-webkit-details-marker, .s10-src summary::-webkit-details-marker { display: none; }
.faq summary { display: grid; grid-template-columns: 44px minmax(0, 1fr) 24px; gap: 12px; align-items: center; min-height: 56px; padding: 18px 0; }
.fn { font-family: var(--serif); font-weight: 300; font-size: 26px; color: var(--gold); line-height: 1; }
.fq { font-size: 17px; line-height: 1.45; color: #fff; }
.fi { width: 20px; height: 20px; overflow: visible; }
.fi line { stroke: var(--gold); stroke-width: 1.5; stroke-linecap: round; }
.fi .v { transform-box: fill-box; transform-origin: center; transition: transform .5s var(--eo); }
details[open] > summary .fi .v { transform: rotate(90deg); }
.fa { position: relative; padding: 0 0 24px 56px; }
.fa::before { content: ''; position: absolute; left: 20px; top: 2px; bottom: 26px; width: 1px; background: var(--gold); transform-origin: 50% 0; }
.fa-pts { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; max-width: 60ch; }
.fa-pts li { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.8); }
.fa-pts strong { color: #fff; }
.js:not(.rm) details[open] .fa-pts { animation: risep .7s var(--eo) both .05s; }
.fa p { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.8); max-width: 60ch; }
.js:not(.rm) details[open] .fa::before { animation: growy .8s var(--eo) both; }
.js:not(.rm) details[open] .fa p { animation: risep .7s var(--eo) both .05s; }
@keyframes growy { from { transform: scaleY(0); } }
@keyframes risep { from { clip-path: inset(100% 0 -10% 0); transform: translateY(14px); } to { clip-path: inset(-10% 0 -10% 0); transform: none; } }
@supports (interpolate-size: allow-keywords) {
  :root { interpolate-size: allow-keywords; }
  .js:not(.rm) .faq::details-content, .js:not(.rm) .s10-src::details-content { height: 0; overflow: clip; transition: height .55s var(--eo), content-visibility .55s allow-discrete; }
  .js:not(.rm) .faq[open]::details-content, .js:not(.rm) .s10-src[open]::details-content { height: auto; }
}

/* ---------- 10 · convite ---------- */
.s10 { padding-bottom: 40px; overflow: hidden; }
.s10-grid { display: grid; gap: 20px; align-items: center; }
@media (min-width: 900px) { .s10-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } }
.s10-globe { position: relative; width: 280px; height: 280px; margin: 0 auto; opacity: .55; }
@media (min-width: 900px) { .s10-grid { align-items: end; } .s10-globe { align-self: end; margin-bottom: 20px; } }
@media (min-width: 900px) { .s10-globe { width: 100%; height: auto; aspect-ratio: 1; max-width: 560px; opacity: 1; } }
.s10-cv { position: absolute; inset: 0; width: 100%; height: 100%; }
.s10-perfil { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 24px; color: var(--gold); margin: 0 0 16px; }
.s10-qs { margin: 22px 0 26px; }
.s10-qs-t { font-size: 11.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin: 0 0 12px; }
.s10-ql { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.s10-q { position: relative; display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px 12px 18px; border: 1px solid rgba(200,169,110,0.32); border-radius: 12px; color: #fff; text-decoration: none; font-size: 15px; line-height: 1.45; transition: border-color .3s ease, background .3s ease; }
.s10-q::after { content: ''; margin-left: auto; flex: none; width: 7px; height: 7px; border-top: 1.5px solid var(--gold); border-right: 1.5px solid var(--gold); transform: rotate(45deg); }
.s10-q:hover { border-color: var(--gold); background: rgba(200,169,110,0.06); }
@media (min-width: 900px) { .s10-q::before { content: ''; position: absolute; right: 100%; top: 50%; width: 40px; height: 1px; background: linear-gradient(90deg, transparent, rgba(200,169,110,0.5)); } }
.js:not(.rm) .s10-ql li { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .8s var(--eo); }
.js:not(.rm) .s10.in .s10-ql li { opacity: 1; transform: none; }
.js:not(.rm) .s10.in .s10-ql li:nth-child(2) { transition-delay: .12s; } .js:not(.rm) .s10.in .s10-ql li:nth-child(3) { transition-delay: .24s; } .js:not(.rm) .s10.in .s10-ql li:nth-child(4) { transition-delay: .36s; } .js:not(.rm) .s10.in .s10-ql li:nth-child(n+5) { transition-delay: .48s; }
.s10-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.s10-ctas .btn-gold { padding: 0 28px; }
.btn-gold { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 30px; border-radius: 999px; background: var(--gold); color: var(--deep); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: box-shadow .35s ease, transform .35s var(--eo); }
.btn-gold:hover { box-shadow: 0 12px 32px rgba(200,169,110,0.45); transform: translateY(-2px); }
.btn-trace { position: absolute; left: -5px; top: -5px; width: calc(100% + 10px); height: calc(100% + 10px); overflow: visible; pointer-events: none; }
.btn-trace rect { width: calc(100% - 2px); height: calc(100% - 2px); fill: none; stroke: var(--gold); stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .9; }
.js:not(.rm) .s10.in .btn-trace rect { animation: trace 1.8s var(--ec) .5s forwards, tracefade 1s ease 2.6s forwards; }
@keyframes trace { to { stroke-dashoffset: 0; } }
@keyframes tracefade { to { opacity: .35; } }
.rm .btn-trace, .no-js .btn-trace { display: none; }
.js:not(.rm) .s10 .btn-gold { clip-path: inset(100% 0 -20% 0); transform: translateY(16px); transition: clip-path 1s var(--eo) .2s, transform 1s var(--eo) .2s, box-shadow .35s ease; }
.js:not(.rm) .s10.in .btn-gold { clip-path: inset(-30% -10% -30% -10%); transform: none; }
.js:not(.rm) .s10.in .btn-gold:hover { transform: translateY(-2px); }
@media (max-width: 599px) {
  .s10-ctas { flex-direction: column; align-items: stretch; }
  .s10-ctas .btn-gold { width: 100%; }
  .s10-or { align-self: center; }
}
.s10-or { color: rgba(255,255,255,0.72); font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; }
.s10-ask { display: block; margin-bottom: 8px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 28px; line-height: 1.2; color: #fff; }
.s10-ag { display: inline-flex; align-items: center; min-height: 44px; color: rgba(255,255,255,0.88); font-size: 13.5px; text-decoration: underline; text-decoration-color: rgba(255,255,255,0.3); text-underline-offset: 4px; }
.s10-ag:hover { color: var(--gold); text-decoration-color: var(--gold); }
.s10-txt { position: relative; }
.s10-thread { position: absolute; left: -14px; top: 0; width: 1px; height: 0; pointer-events: none; display: none; }
.s10.touched .s10-thread { display: block; }
.s10-thread::before { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(200,169,110,0.15), var(--gold)); transform-origin: 50% 0; transform: scaleY(0); transition: transform 1.6s var(--ec) .5s; }
.s10.in .s10-thread::before, .rm .s10-thread::before { transform: none; }
.s10-thread i { position: absolute; left: -3px; top: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 10px rgba(200,169,110,0.8); opacity: 0; }
.js:not(.rm) .s10.in .s10-thread i { animation: threadDot 2.4s var(--ec) 1.2s 2; }
@keyframes threadDot { 0% { top: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
@media (max-width: 767px) { .s10-thread { left: -12px; } }
.s10-contact { margin: 22px 0 0; font-size: 14px; color: rgba(255,255,255,0.7); }
.s10-contact a { color: rgba(255,255,255,0.86); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.25); }
.s10-contact a:hover { color: var(--gold); border-color: var(--gold); }
.s10-foot { margin-top: 72px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,0.6); }
.s10-foot > p { margin: 0 0 8px; }
.s10-src summary { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.s10-src ul { margin: 6px 0 0; padding: 0 0 0 18px; columns: 2 240px; }
.s10-src li { margin: 0 0 6px; }
.s10-src a { display: inline-block; padding: 8px 0; }
.s10-src-n { margin: 10px 0 0; font-size: 12px; color: rgba(255,255,255,0.55); }
.s10-contact a { display: inline-block; padding: 12px 0 2px; }
@media (max-width: 900px) { [data-m~="foot-bar"] a { display: inline-block; padding: 12px 0; } }
.s10-src a { color: rgba(255,255,255,0.8); }
.s10-src a:hover { color: var(--gold); }

/* ---------- selo: item de confiança média, sujeito a atualização ---------- */
.upd { display: inline-block; vertical-align: 2px; margin-left: 4px; padding: 2px 8px; border: 1px dashed currentColor; border-radius: 999px; font-family: var(--sans); font-size: 10.5px; font-weight: 700; font-style: normal; letter-spacing: .1em; text-transform: uppercase; line-height: 1.5; white-space: nowrap; color: var(--meta); }
.sc-dark .upd, .s1 .upd, .s7 .upd { color: rgba(255,255,255,0.66); }
.s5 .upd { color: rgba(255,255,255,0.66); }

/* ---------- glossário ---------- */
.term { display: inline; font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: help; text-decoration: underline dotted; text-decoration-color: var(--gold); text-decoration-thickness: 1.5px; text-underline-offset: 3px; letter-spacing: inherit; text-transform: inherit; text-align: inherit; position: relative; }
.term::after { content: ''; position: absolute; left: -4px; right: -4px; top: -8px; bottom: -8px; }
@media (pointer: coarse) { .term::after { top: -12px; bottom: -12px; left: -6px; right: -6px; } }
.term:hover, .term[aria-expanded="true"] { color: var(--pet); }
.sc-dark .term:hover, .sc-dark .term[aria-expanded="true"], .s3-l1 .term:hover { color: var(--gold); }
.gl-tip { position: fixed; left: 0; top: 0; z-index: 150; max-width: 300px; padding: 12px 14px; border-radius: 12px; background: #0F2F38; color: rgba(255,255,255,0.9); border: 1px solid rgba(200,169,110,0.6); box-shadow: 0 16px 40px rgba(15,47,56,0.35); font-family: var(--sans); font-size: 13.5px; line-height: 1.5; letter-spacing: 0; text-transform: none; font-weight: 400; opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.gl-tip.on { opacity: 1; }
.gl-tip::before { content: ''; position: absolute; left: var(--ax, 50%); top: -6px; width: 10px; height: 10px; margin-left: -5px; background: #0F2F38; border-left: 1px solid rgba(200,169,110,0.6); border-top: 1px solid rgba(200,169,110,0.6); transform: rotate(45deg); }
.gl-tip.up::before { top: auto; bottom: -6px; transform: rotate(225deg); }

/* movimento reduzido: sem transições longas */
.rm *, .rm *::before, .rm *::after { animation-duration: 1ms !important; animation-delay: 0s !important; transition-duration: 150ms !important; transition-delay: 0s !important; }

/* ajustes finos */
.s2-rows > div { transition: background .6s ease; border-radius: 6px; }
.s2-rows > div.flash { animation: flashc 1.2s ease; }
@keyframes flashc { 0% { background: rgba(46,125,138,0.35); } 100% { background: transparent; } }
.s2-rows.you > div:first-child dt::before { display: none; }

.s1.fin .s1-cap { color: #fff; }
.s1-cap strong { color: #fff; font-weight: 700; }
@media (min-width: 900px) { .js:not(.rm) .s1-cap.anc { bottom: auto; right: auto; max-width: 300px; font-size: 13.5px; } }
.s1-bal.on { opacity: 1; }

/* rede de segurança: preferência de movimento reduzido mesmo sem o script do cabeçalho */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: 150ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
}

/* Hero em telas baixas (notebooks 1366x768, 1280x720, celular deitado): o título passa a respeitar a altura
   e a dica de destino sai da tela visualmente, mas continua no aria-live para leitor de tela. */
@media (min-width: 600px) and (max-height: 820px) {
  .s1 .s1-h { font-size: min(12vw, 9rem, 16.5vh); }
  .s1-copy { padding-top: calc(var(--nav-h) + 2vh); }
  .s1 .s1-h { margin-bottom: 14px; }
  .js:not(.rm) .s1-dest { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}
@media (min-width: 600px) and (max-height: 560px) {
  .s1-sub { font-size: 15px; line-height: 1.5; }
  .js:not(.rm) .s1-go { display: none; }
}
@media (max-width: 899px) and (max-height: 520px) and (orientation: landscape) {
  .s1-sub { max-width: 34ch; }
  .js:not(.rm) .s1-cap.anc { bottom: auto; right: auto; max-width: 260px; font-size: 12.5px; }
}

/* ===== 31/10/2026 · indexação: o eyebrow da abertura vive dentro do h1 (tema da página no título principal) ===== */
.s1-h .s1-k { font-family: var(--sans); font-weight: 700; font-size: 12px; line-height: 1.25; letter-spacing: 0.2em; }
