/* Promessômetro — folha de estilo compartilhada pelas telas (v2: reportagem).
   Tokens: sistema Maracá. Sem cartões: a página é uma sequência de capítulos de largura total,
   ligados por degradês, com um fio vertical de apuração e tipografia em grande escala.
   Responsivo por container query: 640 px (tablet) e 1024 px (notebook). */

.pm{
  --abissal:#061A24; --marinho:#0E3A4E; --mare:#17707E; --rasa:#5AA7AE; --sedimento:#9C6520; --varzea:#D9A24E;
  --surface:#F4F7F7; --elev:#FFFFFF; --line:#D6DFE1; --text:#061A24; --text2:#3C5460; --soft:#546E78;
  --accent:#17707E; --accent-s:#E6F0F1; --focus:#17707E;
  --paper:#F4F7F7; --mist:#E6F0F1; --deep:#0A2D3E; --deeper:#04131B;
  --date:color-mix(in srgb,var(--sedimento) 82%,var(--abissal));
  --r0:0; --r1:2px; --r2:4px;
  --sans:"Archivo","Helvetica Neue",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --lift-0:none;
  --lift-1:0 1px 2px rgba(6,26,36,.22);
  --lift-2:0 2px 4px rgba(6,26,36,.22),0 12px 28px rgba(6,26,36,.28);
  --k:1;
  container-type:inline-size; container-name:pm;
  font-family:var(--serif); font-size:calc(18px*var(--k)); line-height:1.6; color:var(--text);
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  background:var(--abissal);
}
:where(.pm) *,:where(.pm) *::before,:where(.pm) *::after{box-sizing:border-box}
:where(.pm) :is(h1,h2,h3,h4,p,ul,ol,dl,dd,dt,figure,blockquote){margin:0}
:where(.pm) :is(ul,ol){padding:0;list-style:none}
:where(.pm) button{font:inherit;color:inherit}
:where(.pm) img{max-width:100%}
:where(.pm) a{color:inherit}
.pm [hidden]{display:none!important}
.pm-sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.pm-skip{position:absolute; left:12px; top:-80px; z-index:100; background:var(--varzea); color:var(--abissal); padding:12px 18px; font-family:var(--sans); font-weight:800; text-decoration:none}
.pm-skip:focus{top:12px}

/* ---------- página: variáveis de escala por largura ---------- */
.pm-page{
  --kd:calc(1 + (var(--k) - 1)*.5);
  --pl:46px; --pr:22px; --spine-x:15px; --py:76px; --blend:130px; --photo-h:230px; --gap:28px; --hero-pt:152px; --edge:22px;
  --t-body:calc(18px*var(--k)); --t-sm:calc(16px*var(--k)); --t-xs:calc(14px*var(--k)); --t-lead:calc(21px*var(--k));
  --t-quote:calc(27px*var(--k)); --t-h4:calc(20px*var(--k)); --t-h3:calc(31px*var(--kd));
  --t-h2:calc(clamp(40px,11.6cqi,64px)*var(--kd)); --t-h1:calc(clamp(40px,13.6cqi,72px)*var(--kd));
  /* Recorta também o excedente vertical: camadas fora do fluxo não devem
     prolongar a rolagem depois do rodapé, inclusive no Safari móvel. */
  position:relative; overflow:clip;
}
@container pm (min-width:640px){
  .pm-page{--pl:96px; --pr:44px; --spine-x:40px; --py:116px; --blend:176px; --photo-h:320px; --gap:36px; --hero-pt:176px; --edge:40px;
    --t-body:calc(19px*var(--k)); --t-sm:calc(17px*var(--k)); --t-lead:calc(24px*var(--k)); --t-quote:calc(35px*var(--k)); --t-h4:calc(22px*var(--k)); --t-h3:calc(40px*var(--kd));
    --t-h2:calc(clamp(56px,8.4cqi,80px)*var(--kd)); --t-h1:calc(clamp(64px,10cqi,104px)*var(--kd))}
}
@container pm (min-width:1024px){
  .pm-page{--pl:148px; --pr:84px; --spine-x:68px; --py:156px; --blend:230px; --photo-h:470px; --gap:44px; --hero-pt:196px; --edge:64px;
    --t-body:calc(20px*var(--k)); --t-sm:calc(17px*var(--k)); --t-lead:calc(27px*var(--k)); --t-quote:calc(41px*var(--k)); --t-h4:calc(23px*var(--k)); --t-h3:calc(46px*var(--kd));
    --t-h2:calc(clamp(72px,7cqi,100px)*var(--kd)); --t-h1:calc(clamp(88px,8.4cqi,128px)*var(--kd))}
}
/* telas muito estreitas: o cabeçalho usa 3 linhas (marca, menu, tamanho do texto); a abertura desce o mesmo tanto */
@container pm (max-width:359px){ .pm-page{--hero-pt:182px} }

/* ---------- capítulos: fundos que se fundem ---------- */
.pm-ch{position:relative; isolation:isolate; color:var(--fg)}
.pm-ch::before,.pm-ch::after{content:""; position:absolute; inset:0; pointer-events:none}
.pm-ch::before{z-index:0; background:var(--relief-c,var(--rasa)); opacity:var(--relief-o,.2);
  -webkit-mask:url(assets/32264149f892c478662e6b2761276df1.svg) var(--relief-pos,center) / cover no-repeat,linear-gradient(180deg,transparent,#000 24%,#000 72%,transparent);
  -webkit-mask-composite:source-in;
  mask:url(assets/32264149f892c478662e6b2761276df1.svg) var(--relief-pos,center) / cover no-repeat,linear-gradient(180deg,transparent,#000 24%,#000 72%,transparent);
  mask-composite:intersect}
.pm-ch::after{z-index:1; background:url(assets/f8fd8277b22a4a04a35c49e6f0a5a56d.png) 0 0/240px 240px; mix-blend-mode:soft-light; opacity:var(--grain,.4)}
.pm-in{position:relative; z-index:2; max-width:1320px; margin-inline:auto; padding:var(--py) var(--pr) var(--py) var(--pl)}
.pm-in::before{content:""; position:absolute; z-index:-1; left:var(--spine-x); top:var(--spine-top,0); bottom:0; width:2px; margin-left:-1px; background:var(--spine)}

.pm-ch.is-dark{--fg:#F1F6F6; --fg2:#BAD1D5; --acc:var(--varzea); --acc-t:#E8B968; --rule:rgba(186,209,213,.30); --node-bg:#0A2D3E;
  --spine:linear-gradient(180deg,var(--varzea),var(--varzea))}
.pm-ch.is-light{--fg:#061A24; --fg2:#3C5460; --acc:var(--sedimento); --acc-t:var(--date); --rule:rgba(14,58,78,.24); --node-bg:var(--paper);
  --relief-c:var(--marinho); --relief-o:.05; --grain:.4;
  --spine:linear-gradient(180deg,var(--varzea) 0,var(--sedimento) var(--blend),var(--sedimento) 100%)}

.pm-ch--open{--relief-pos:78% 40%; --relief-o:.26;
  background:
    radial-gradient(900px 620px at 88% 18%,rgba(23,112,126,.55),transparent 70%),
    radial-gradient(760px 520px at 0% 58%,rgba(217,162,78,.10),transparent 72%),
    linear-gradient(180deg,#061A24 0%,#082333 55%,#0E3A4E 100%)}
.pm-ch--open .pm-in{padding-top:var(--hero-pt); padding-bottom:calc(var(--py)*.3); --spine-top:calc(var(--hero-pt) + 6px)}

.pm-ch--falas{
  background:linear-gradient(180deg,#0E3A4E 0,#2E6F7B calc(var(--blend)*.34),#9CC3C7 calc(var(--blend)*.7),var(--paper) var(--blend),var(--paper) 100%);
  --spine:linear-gradient(180deg,var(--varzea) 0,var(--varzea) calc(var(--blend)*.5),var(--sedimento) var(--blend),var(--sedimento) 100%)}
.pm-ch--falas .pm-in{padding-top:calc(var(--blend) + var(--py)*.25); padding-bottom:calc(var(--py)*.45)}

.pm-ch--foot{--relief-o:.12; --relief-pos:40% 80%;
  background:
    radial-gradient(900px 420px at 50% 112%,rgba(23,112,126,.34),transparent 70%),
    linear-gradient(180deg,var(--deeper) 0,#061A24 100%)}
.pm-ch--foot .pm-in{padding-top:calc(var(--py)*.5); padding-bottom:0}

/* ---------- barra superior (sobre o primeiro capítulo) ---------- */
.pm-top{position:absolute; z-index:40; left:0; right:0; top:0; color:#F1F6F6}
.pm-top__in{max-width:1320px; margin-inline:auto; padding:12px var(--edge) 0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"brand" "nav"; gap:2px 8px; align-items:center}
@container pm (min-width:640px){ .pm-top__in{padding-top:20px; gap:6px 16px} }
@container pm (min-width:1024px){ .pm-top__in{grid-template-columns:auto minmax(0,1fr); grid-template-areas:"brand nav"; padding-top:26px; gap:28px} }
.pm-brand{grid-area:brand; display:flex; align-items:center; gap:10px; min-height:48px; text-decoration:none; color:#F1F6F6}
.pm-brand svg{width:34px; height:34px; flex:none; color:var(--varzea)}
.pm-brand__name{font-family:var(--sans); font-weight:900; font-stretch:72%; font-size:25px; line-height:1; letter-spacing:.015em; text-transform:uppercase}
@container pm (max-width:479px){ .pm-brand svg{display:none} .pm-brand__name{font-size:23px} }
@container pm (min-width:640px){ .pm-brand__name{font-size:30px} }

/* ---------- marca em texto: Archivo condensada, como no cabeçalho original ---------- */
.pm-logo{--lg-b:#F1F6F6; --lg-r:var(--varzea); display:inline-flex; flex-direction:column; align-items:flex-start; width:max-content; max-width:100%; box-sizing:border-box;
  padding:0; font-family:var(--sans); font-weight:900; font-stretch:72%; font-size:25px; line-height:1; color:var(--lg-b); text-decoration:none}
.pm-logo__w{display:flex; align-items:baseline; white-space:nowrap; letter-spacing:.015em; text-transform:uppercase}
.pm-logo__b{color:var(--lg-b)}
.pm-logo__r{color:var(--lg-r)}
.pm-logo__s{display:block; margin-top:.6em; font-family:var(--mono); font-size:.34em; font-weight:500; letter-spacing:.24em; line-height:1.3; color:var(--fg2,#BAD1D5); text-transform:uppercase}
.pm-brand--logo{display:inline-flex; align-items:center; justify-self:start; min-height:48px; padding:0; gap:0}
.pm-brand--logo .pm-logo--sm{font-size:23px}
.pm-brand--logo:hover .pm-logo__w{color:#fff}
.pm .pm-brand--logo:focus-visible{outline:3px solid var(--varzea); outline-offset:5px}
@container pm (min-width:640px){ .pm-brand--logo .pm-logo--sm{font-size:30px} }
.pm-logo--lg{display:flex; font-size:clamp(30px,7.8cqi,58px); margin:0 0 30px}
.pm-nav{grid-area:nav; display:flex; justify-content:space-between; gap:0; margin-inline:-6px}
.pm-nav a{position:relative; display:flex; align-items:center; justify-content:center; min-height:48px; padding:0 6px; font-family:var(--sans); font-weight:700; font-size:min(calc(16px*var(--k)),clamp(12.5px,4.3cqi,15.5px)); line-height:1; letter-spacing:.01em; white-space:nowrap; text-decoration:none; color:#D5E4E6}
.pm-nav a::after{content:""; position:absolute; left:20%; right:20%; bottom:8px; height:3px; border-radius:3px; background:var(--varzea); transform:scaleX(0); transform-origin:left; transition:transform .18s ease}
.pm-nav a:hover{color:#fff}
.pm-nav a:hover::after{transform:scaleX(.55)}
.pm-nav a:is([aria-current="page"],[aria-current="true"]){color:#fff}
.pm-nav a:is([aria-current="page"],[aria-current="true"])::after{transform:scaleX(1)}
@container pm (min-width:640px){ .pm-nav{display:grid; grid-template-columns:repeat(4,minmax(0,1fr))} .pm-nav a{font-size:var(--t-sm); padding:0 12px} }
@container pm (min-width:1024px){ .pm-nav{display:flex; justify-content:flex-end; gap:6px; margin-inline:0} .pm-nav a{padding:0 10px; font-size:calc(17px*var(--k))} }
.pm :is(a,button,summary,input):focus-visible{outline:3px solid var(--focus); outline-offset:3px}
.pm .is-dark :is(a,button,summary,input):focus-visible,.pm-top :is(a,button):focus-visible,.pm-foot :is(a,button):focus-visible{outline-color:var(--varzea)}

/* ---------- marcadores de capítulo (o fio) ---------- */
.pm-kicker{position:relative; display:flex; align-items:baseline; gap:14px; font-family:var(--sans); font-weight:700; font-size:var(--t-xs); line-height:1.25; letter-spacing:.14em; text-transform:uppercase; color:var(--fg2); margin-bottom:26px}
.pm-kicker::before{content:""; position:absolute; left:calc(var(--spine-x) - var(--pl) - 7px); top:.45em; width:14px; height:14px; border-radius:50%; background:var(--acc); box-shadow:0 0 0 6px color-mix(in srgb,var(--acc) 24%,transparent)}
.pm-kicker::after{content:""; position:absolute; left:calc(var(--spine-x) - var(--pl) + 12px); top:calc(.45em + 6px); width:calc(var(--pl) - var(--spine-x) - 26px); height:2px; background:var(--acc); opacity:.7}
.pm-kicker__n{font-family:var(--mono); font-weight:500; font-size:calc(22px*var(--k)); letter-spacing:.02em; color:var(--acc-t); line-height:1}

/* ---------- tipografia ---------- */
.pm-label{font-family:var(--sans); font-weight:700; font-size:var(--t-xs); line-height:1.25; letter-spacing:.14em; text-transform:uppercase; color:var(--fg2)}
.pm-h1{font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:var(--t-h1); line-height:.95; letter-spacing:-.004em; text-transform:uppercase; color:var(--fg); text-wrap:balance}
.pm-h2{font-family:var(--sans); font-weight:900; font-stretch:72%; font-size:var(--t-h2); line-height:.97; letter-spacing:-.004em; text-transform:uppercase; color:var(--fg); text-wrap:balance}
.pm-h2--sent{font-stretch:88%; font-weight:800; text-transform:none; line-height:1.02; letter-spacing:-.018em}
.pm-h3{font-family:var(--sans); font-weight:800; font-stretch:88%; font-size:var(--t-h3); line-height:1.06; letter-spacing:-.012em; color:var(--fg); text-wrap:balance}
.pm-lead{font-family:var(--serif); font-size:var(--t-lead); line-height:1.46; max-width:38ch; color:var(--fg); text-wrap:pretty}
.pm-p{font-family:var(--serif); font-size:var(--t-body); line-height:1.62; max-width:62ch; color:var(--fg); text-wrap:pretty}
.pm-small{font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:var(--fg2)}
.pm-p a,.pm-lead a,.pm-note a,.pm-small a{color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-underline-offset:4px; text-decoration-thickness:2px; font-weight:600}
/* marcador de dado ainda não preenchido (ex.: [e-mail de contato]); antes .pm-ph, nome agora reservado ao espaço de foto das promessas (promessas.css) */
.pm-fill{padding:0 .2em; border-bottom:2px dashed currentColor; background:color-mix(in srgb,var(--acc) 14%,transparent)}

/* marca-texto: faixa de tinta atrás do termo-chave */
.pm-hl{position:relative; isolation:isolate; white-space:nowrap; margin-left:.06em; color:var(--abissal)}
.pm-hl::before{content:""; position:absolute; z-index:-1; inset:.02em -.12em -.04em -.12em; background:var(--varzea);
  -webkit-mask:url(assets/8bdc2898f7f0bbac345d8427382314e5.webp) center/100% 100% no-repeat; mask:url(assets/8bdc2898f7f0bbac345d8427382314e5.webp) center/100% 100% no-repeat}
.pm-hl--sm{white-space:normal; -webkit-box-decoration-break:clone; box-decoration-break:clone}
.pm-hl--sm::before{display:none}
.pm-hl--sm{background:linear-gradient(180deg,transparent 56%,color-mix(in srgb,var(--varzea) 82%,transparent) 56% 94%,transparent 94%); padding:0 .12em; margin-left:-.12em}
.pm-mk{position:absolute; display:block; background:var(--c,var(--varzea)); -webkit-mask:var(--img) center/100% 100% no-repeat; mask:var(--img) center/100% 100% no-repeat; pointer-events:none}
.pm-circle-b{--img:url(assets/496d21fa802395da2c0d3361ea625770.png); aspect-ratio:295/244}

/* ---------- botões e links ---------- */
.pm-btn{--btn-a:#14586A; --btn-b:#0E3A4E; --btn-fg:#fff; --btn-chip:var(--varzea); --btn-chip-fg:var(--abissal); --btn-glow:0 12px 26px -12px rgba(6,26,36,.7);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:58px; padding:10px 28px; border:0; border-radius:999px;
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b)); color:var(--btn-fg); box-shadow:var(--btn-glow),inset 0 1px 0 rgba(255,255,255,.22);
  font-family:var(--sans); font-weight:800; font-size:calc(17px*var(--k)); line-height:1.2; text-align:center; text-decoration:none; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.pm-btn:has(svg){padding:10px 10px 10px 22px; gap:12px}
@container pm (min-width:640px){ .pm-btn:has(svg){padding-left:28px; gap:16px} }
.pm-btn svg{width:38px; height:38px; padding:9px; flex:none; border-radius:50%; background:var(--btn-chip); color:var(--btn-chip-fg); transition:transform .18s ease}
.pm-btn:hover{transform:translateY(-2px); filter:brightness(1.08)}
.pm-btn:hover svg{transform:translateX(3px)}
.pm-btn:active{transform:translateY(0); filter:brightness(.96)}
.is-dark .pm-btn--1{--btn-a:#E8B968; --btn-b:#D9A24E; --btn-fg:var(--abissal); --btn-chip:var(--abissal); --btn-chip-fg:var(--varzea); --btn-glow:0 14px 30px -12px rgba(217,162,78,.62)}
.pm-btn--2{--btn-a:transparent; --btn-b:transparent; --btn-fg:var(--fg); --btn-chip:var(--fg); --btn-chip-fg:var(--paper); --btn-glow:0 0 0 transparent; background:transparent; box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fg) 58%,transparent)}
.is-dark .pm-btn--2{--btn-chip:var(--varzea); --btn-chip-fg:var(--abissal)}
.pm-btn--2:hover{background:color-mix(in srgb,var(--fg) 8%,transparent); filter:none; box-shadow:inset 0 0 0 2px var(--fg)}
.pm-btn--block{width:100%}
.pm-btn[aria-disabled="true"]{background:transparent; box-shadow:inset 0 0 0 2px var(--rule); color:var(--fg2); cursor:default; transform:none; filter:none}
.pm-link{display:inline-flex; align-items:center; gap:10px; min-height:48px; font-family:var(--sans); font-weight:800; font-size:calc(17px*var(--k)); line-height:1.2; color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:3px; text-underline-offset:7px; cursor:pointer; background:none; border:0; padding:0}
.pm-link svg{width:1.15em; height:1.15em; flex:none; color:var(--acc-t); transition:transform .15s ease}
.pm-link:hover svg{transform:translateX(4px)}
.pm-link:hover{text-decoration-thickness:4px}
.pm-actions{display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px}


/* ---------- capítulo 0: abertura ---------- */
.pm-hero__h{margin-bottom:34px}
@container pm (min-width:1024px){ .pm-hero__h{margin-bottom:46px} }
.pm-note{font-family:var(--serif); font-size:var(--t-sm); line-height:1.55; color:var(--fg2); max-width:46ch; padding-top:16px; border-top:1px solid var(--rule)}
.pm-note strong{color:var(--fg); font-weight:700}
/* aviso de ficha arquivada (afirmacao.html) */
.pm-arch{max-width:62ch; margin:0 0 34px; padding:14px 18px 14px 20px; border-left:4px solid var(--varzea); background:rgba(241,246,246,.08); font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:var(--fg)}
.pm-arch b{font-family:var(--sans); font-weight:800; letter-spacing:.02em; margin-right:.3em}

/* ---------- cabeçalho de seção (capítulos claros) ---------- */
.pm-sec-h{display:flex; flex-direction:column; gap:26px; align-items:flex-start}
.pm-sec-h .pm-lead{max-width:36ch}
.pm-falas__top{display:grid; gap:26px; grid-template-columns:minmax(0,1fr); align-items:end}
@container pm (min-width:1024px){ .pm-falas__top{grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:84px} }
.pm-topic{font-family:var(--mono); font-weight:600; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--acc-t)}
.pm-qf{position:relative; display:flex; flex-direction:column; gap:20px; margin-top:6px}
.pm-q{position:relative; font-family:var(--serif); font-style:italic; font-weight:400; font-size:var(--t-quote); line-height:1.2; letter-spacing:-.012em; color:var(--fg); text-wrap:balance}
.pm-q{text-indent:-.4em}
.pm-qmeta{display:flex; flex-wrap:wrap; gap:4px 16px; align-items:baseline; font-family:var(--mono); font-size:var(--t-xs); line-height:1.5; color:var(--fg2)}
.pm-qmeta b{font-family:var(--sans); font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--fg)}
.pm-qmeta time{color:var(--acc-t); font-weight:600}
.pm-verdict{display:flex; flex-direction:column; gap:14px; align-items:flex-start; width:100%; container-type:inline-size}
.pm-gloss{font-family:var(--serif); font-size:calc(var(--t-body)*1.12); line-height:1.42; color:var(--fg); max-width:30ch}
.pm-etl{position:relative; display:flex; flex-direction:column; gap:22px; padding-left:28px}
.pm-etl::before{content:""; position:absolute; left:5px; top:10px; bottom:10px; width:1px; background:linear-gradient(180deg,var(--rule),var(--rule) 80%,transparent)}
.pm-etl li{position:relative; display:flex; flex-direction:column; gap:3px}
.pm-etl li::before{content:""; position:absolute; left:-28px; top:.38em; width:11px; height:11px; border-radius:50%; background:var(--node-bg); border:2px solid var(--acc)}
.pm-etl time{font-family:var(--mono); font-weight:600; font-size:var(--t-xs); letter-spacing:.04em; color:var(--acc-t)}
.pm-etl p{font-family:var(--serif); font-size:var(--t-body); line-height:1.45; color:var(--fg); max-width:34ch}
@container pm (min-width:640px){
  .pm-etl{flex-direction:row; gap:40px; padding:30px 0 0; border-top:1px solid var(--rule)}
  .pm-etl::before{display:none}
  .pm-etl li{flex:1 1 0; min-width:0}
  .pm-etl li::before{left:0; top:-36px}
}

/* ---------- carimbos de veredito (6) e selos de classificação (3) ---------- */
.pm-stamp{--c:var(--marinho); --bg:rgba(244,247,247,.94); --fg-s:var(--c);
  display:inline-flex; align-items:center; gap:.45em; max-width:100%; margin:6px 6px 6px 4px; padding:.34em .8em; border:3px solid var(--c); outline:1px solid var(--c); outline-offset:4px; border-radius:var(--r1);
  background:var(--bg); color:var(--fg-s); font-family:var(--sans); font-weight:900; font-stretch:78%; font-size:min(calc(32px*var(--k)),calc((100cqi - 18px)/13.6)); line-height:1.05; letter-spacing:.05em; text-transform:uppercase; transform:rotate(-3deg)}
.pm-stamp svg{width:1em; height:1em; flex:none}
.pm-stamp--verdadeiro{--c:var(--marinho)}
.pm-stamp--verdadeiro-mas{--c:var(--marinho); border-style:double; border-width:5px}
.pm-stamp--descontextualizado{--c:var(--sedimento); border-style:dashed; outline-style:dashed}
.pm-stamp--enganoso{--c:var(--sedimento); --bg:var(--sedimento); --fg-s:#fff}
.pm-stamp--falso{--c:var(--abissal); --bg:var(--abissal); --fg-s:#fff}
.pm-stamp--sem-evidencia{--c:var(--soft); border-style:dotted; outline-style:dotted}
.is-dark .pm-stamp{--bg:rgba(6,26,36,.88)}
.is-dark .pm-stamp--verdadeiro,.is-dark .pm-stamp--verdadeiro-mas{--c:var(--rasa)}
.is-dark .pm-stamp--descontextualizado{--c:var(--varzea)}
.is-dark .pm-stamp--enganoso{--c:var(--varzea); --bg:var(--varzea); --fg-s:var(--abissal)}
.is-dark .pm-stamp--falso{--c:#F1F6F6; --bg:#F1F6F6; --fg-s:var(--abissal)}

.pm-seal{--c:var(--marinho); --dial:var(--c); --p:0%; display:inline-flex; align-items:center; white-space:nowrap; gap:16px; max-width:100%; font-family:var(--sans); font-weight:900; font-stretch:78%; font-size:calc(25px*var(--k)); line-height:1.02; letter-spacing:.03em; text-transform:uppercase; color:var(--fg)}
.pm-seal__dial{position:relative; width:1.7em; height:1.7em; flex:none; border-radius:50%; border:4px solid var(--c); background:conic-gradient(from 0deg,var(--dial) 0 var(--p),transparent var(--p) 100%)}
.pm-seal--cumpriu{--c:var(--marinho); --dial:var(--marinho); --p:100%}
.pm-seal--parcial{--c:var(--sedimento); --dial:var(--sedimento); --p:50%}
.pm-seal--nao{--c:var(--abissal); --dial:var(--abissal); --p:0%}
.pm-seal--nao .pm-seal__dial{border-style:dashed}
.pm-seal--vazio{--c:var(--soft); --dial:var(--soft); --p:0%; color:var(--fg2)}
.pm-seal--vazio .pm-seal__dial{border-style:dotted}
.is-dark .pm-seal--cumpriu{--c:#F1F6F6; --dial:#F1F6F6}
.is-dark .pm-seal--parcial{--c:var(--varzea); --dial:var(--varzea)}
.is-dark .pm-seal--nao{--c:#F1F6F6; --dial:#F1F6F6}
.is-dark .pm-seal--vazio{--c:var(--rasa); --dial:var(--rasa); color:var(--fg2)}
.pm-ne__h{max-width:12em}
@container pm (min-width:1024px){ .pm-ne__h{max-width:8em} }
.pm-ne__lead{margin-top:30px}

.pm-axis{margin-top:104px; position:relative; --grid:rgba(186,209,213,.14)}
.pm-row{position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:0}
.pm-m{position:absolute; top:7px; width:18px; height:18px; margin-left:-9px; border-radius:50%}
.pm-m i{position:absolute; top:28px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-style:normal; font-weight:500; font-size:calc(14px*var(--kd)); line-height:1; color:var(--fg); white-space:nowrap}
.pm-m--start{background:var(--varzea); box-shadow:0 0 0 5px rgba(217,162,78,.22)}
.pm-m--prazo{background:var(--node-bg); border:3px solid var(--varzea)}
.pm-m--fim{background:#F1F6F6}
.pm-m--fim::before,.pm-m--fim::after{content:""; position:absolute; left:50%; top:50%; width:10px; height:2.5px; margin:-1.25px 0 0 -5px; background:var(--deep)}
.pm-m--fim::before{transform:rotate(45deg)} .pm-m--fim::after{transform:rotate(-45deg)}
.pm-m--chegou{border-radius:2px; background:#F1F6F6; transform:rotate(45deg); width:15px; height:15px; margin-left:-7.5px; top:8.5px}
.pm-m--chegou i{transform:translateX(-50%) rotate(-45deg); top:30px}
.pm-ne__cta{margin-top:92px}

/* ---------- rodapé ---------- */
.pm-foot__grid{display:grid; gap:44px; grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-foot__grid{grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr); gap:72px} }
.pm-foot__h{font-family:var(--sans); font-weight:900; font-stretch:72%; font-size:calc(var(--t-h2)*.62); line-height:1; text-transform:uppercase; color:#fff; text-wrap:balance}
.pm-foot p{font-family:var(--serif); font-size:var(--t-sm); line-height:1.58; color:#D5E4E6; max-width:46ch}
.pm-foot a{color:#fff; text-decoration:underline; text-decoration-color:var(--varzea); text-underline-offset:4px; text-decoration-thickness:2px}
.pm-foot__stack{display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.pm-foot__nav{display:flex; flex-direction:column; gap:0}
.pm-foot__nav a{display:flex; align-items:center; min-height:46px; font-family:var(--sans); font-weight:700; font-size:calc(18px*var(--k)); text-decoration:none}
.pm-foot__nav a:hover{text-decoration:underline; text-decoration-color:var(--varzea); text-underline-offset:6px; text-decoration-thickness:3px}
.pm-foot__sub{display:flex; flex-wrap:wrap; gap:0 24px}
.pm-foot__sub a{display:inline-flex; align-items:center; min-height:44px; font-family:var(--sans); font-weight:700; font-size:calc(16px*var(--k))}
.pm-foot__mark{margin:calc(var(--py)*.8) calc(var(--pr)*-1) 0 calc(var(--pl)*-1); padding-left:var(--edge); font-family:var(--sans); font-weight:900; font-stretch:62%; font-size:clamp(46px,13.6cqi,230px); line-height:1.05; letter-spacing:-.01em; text-transform:uppercase; white-space:nowrap; color:transparent; -webkit-text-stroke:1.5px rgba(186,209,213,.28); overflow:hidden; user-select:none; pointer-events:none; height:.7em}
.pm-foot .pm-label{color:var(--rasa)}
.pm-foot .pm-kicker{color:var(--rasa)}
/* slogan: "O Nordeste vai vencer" em destaque, antes da grade (seletor com p para vencer .pm-foot p) */
.pm-foot p.pm-foot__slogan{font-family:var(--sans); font-weight:900; font-stretch:72%; font-size:clamp(34px,10.4cqi,104px); line-height:.96; letter-spacing:-.004em; text-transform:uppercase; color:var(--varzea); max-width:none; text-wrap:balance;
  margin:0 0 calc(var(--py)*.5); padding-bottom:calc(var(--py)*.3); background:linear-gradient(90deg,var(--rule),transparent) bottom/100% 1px no-repeat}

/* ---------- telas internas: peças compartilhadas ---------- */
.pm-ch--to-dark{--relief-o:.16; --relief-pos:60% 70%;
  background:
    radial-gradient(760px 520px at 12% 78%,rgba(23,112,126,.34),transparent 72%),
    linear-gradient(180deg,var(--paper) 0,#8DB5BB calc(var(--blend)*.3),#2B6577 calc(var(--blend)*.62),#0E3A4E calc(var(--blend)*.92),var(--deep) 100%);
  --spine:linear-gradient(180deg,var(--sedimento) 0,var(--varzea) calc(var(--blend)*.6),var(--varzea) 100%)}
.pm-ch--to-dark .pm-in{padding-top:calc(var(--blend) + var(--py)*.2); padding-bottom:calc(var(--py)*.7)}
.pm-ch--nehero{--relief-pos:20% 70%}
.pm-ch--open .pm-in.pm-in--tight{padding-bottom:calc(var(--py)*.5)}

.pm-dateline{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-weight:500; font-size:var(--t-xs); line-height:1.4; letter-spacing:.04em; color:var(--fg2)}
.pm-dateline::before{content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--acc)}
.pm-back{margin-bottom:38px}
.pm-btn--back{padding:8px 24px 8px 8px!important; min-height:52px; font-size:calc(16px*var(--k))}
.pm-btn--back svg{width:34px; height:34px; padding:8px}
.pm-btn--back:hover svg{transform:translateX(-3px)}
.pm-btn--sm{min-height:50px; font-size:calc(16px*var(--k)); padding:8px 22px}
.pm-btn--sm:has(svg){padding:8px 8px 8px 20px}
.pm-btn--sm svg{width:34px; height:34px; padding:8px}

.pm-tag{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-weight:600; font-size:var(--t-xs); line-height:1.35; letter-spacing:.08em; text-transform:uppercase; color:var(--acc-t)}
.pm-tag::before{content:""; flex:none; width:12px; height:12px; border-radius:50%; background:var(--acc)}
.pm-tag--inv::before{background:transparent; border:2.5px solid var(--acc)}
.pm-tag--prev::before{background:transparent; border:2.5px dashed var(--acc)}
.pm-tag--cred::before{background:conic-gradient(var(--acc) 0 50%,transparent 50% 100%); border:2.5px solid var(--acc)}
.pm-big{font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(clamp(60px,17cqi,96px)*var(--kd)); line-height:.92; letter-spacing:-.01em; color:var(--acc-t); white-space:nowrap}
.pm-ledger__i{display:flex; flex-direction:column; gap:10px; align-items:flex-start}

/* glossário curto: como ler o dinheiro */
.pm-terms{display:grid; gap:30px; grid-template-columns:minmax(0,1fr); margin-top:46px}
@container pm (min-width:640px){ .pm-terms{grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 56px} }
@container pm (min-width:1024px){ .pm-terms{grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 40px} }
.pm-terms div{display:flex; flex-direction:column; gap:10px}
.pm-terms dd{font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:var(--fg); max-width:30ch}
.is-light .pm-m--start{background:var(--sedimento); box-shadow:0 0 0 5px rgba(156,101,32,.18)}
.is-light .pm-m--prazo{background:var(--paper); border-color:var(--sedimento)}
.is-light .pm-m--fim{background:var(--abissal)}
.is-light .pm-m--fim::before,.is-light .pm-m--fim::after{background:var(--paper)}
.is-light .pm-m--chegou{background:var(--marinho)}
.pm-ob{position:relative; display:grid; gap:34px; grid-template-columns:minmax(0,1fr)}
.pm-ob:not(:first-child)::before{content:""; position:absolute; top:calc(var(--py)*-.5); left:0; width:min(70%,520px); height:1px; background:linear-gradient(90deg,var(--rule),transparent)}
@container pm (min-width:1024px){ .pm-ob{grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:84px; align-items:start} .pm-ob__b{padding-top:calc(var(--py)*.12)} }
.pm-ob__a,.pm-ob__b{display:flex; flex-direction:column; gap:22px; align-items:flex-start; min-width:0}
.pm-ob__a{gap:14px}
.pm-ob__h{margin-top:-2px; font-size:calc(var(--t-h3)*.8)}
.pm-ob__uf{font-family:var(--mono); font-weight:500; font-size:var(--t-xs); letter-spacing:.06em; text-transform:uppercase; color:var(--fg2); margin-top:-6px}
.pm-who{display:grid; grid-template-columns:minmax(0,1fr); gap:3px 0}
.pm-who dt{font-family:var(--sans); font-weight:800; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--fg); margin-top:14px}
.pm-who dt:first-child{margin-top:0}
.pm-ob__uf+.pm-who{margin-top:12px}
.pm-who dd{font-family:var(--serif); font-size:var(--t-body); line-height:1.45; color:var(--fg); max-width:40ch}
.pm-ob__now{display:flex; flex-direction:column; gap:8px}
.pm-ob__now .pm-p{font-size:calc(var(--t-body)*1.04)}
.pm-ob__money{display:flex; flex-direction:column; gap:10px; align-items:flex-start; width:100%}
.pm-ob__fig{font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(clamp(46px,12cqi,66px)*var(--kd)); line-height:.95; letter-spacing:-.008em; color:var(--fg); white-space:nowrap; margin-top:2px}
.pm-ob__fig--loss{color:var(--acc-t)}
.pm-ob__unit,.pm-big__u{font-size:.5em; font-weight:800; letter-spacing:.01em; margin-left:.04em}
.pm-ob__what{font-family:var(--serif); font-size:var(--t-body); line-height:1.45; color:var(--fg); max-width:44ch}
.pm-ob__org{font-family:var(--serif); font-size:var(--t-sm); line-height:1.45; color:var(--fg2); max-width:48ch}
.pm-ob__org b{font-family:var(--sans); font-weight:800; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--fg); margin-right:8px}
.pm-ob__extra{position:relative; padding-left:22px; font-family:var(--serif); font-size:var(--t-sm); line-height:1.45; color:var(--fg2); max-width:48ch}
.pm-ob__extra::before{content:""; position:absolute; left:0; top:.78em; width:12px; height:2px; background:var(--acc)}
.pm-ob__src{font-family:var(--mono); font-size:var(--t-xs); line-height:1.5; color:var(--fg2); max-width:56ch}
.pm-ob__src a{color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:2px; text-underline-offset:4px; font-weight:600}
.pm-ob__act{display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; margin-top:4px}
.pm-seal--ph{font-size:calc(21px*var(--k)); color:var(--fg2)}

/* status em destaque, antes do nome da obra */
.pm-seal--hd{font-size:var(--t-h3); white-space:normal; gap:.3em; align-items:center; line-height:.98; letter-spacing:.015em; color:var(--c); margin-top:2px}
.pm-seal--hd.pm-seal--parcial{--c:#9A6B00; --dial:#9A6B00}
.pm-seal--hd .pm-seal__dial{width:1.1em; height:1.1em; border-width:.1em}

/* comparação com cestas básicas: só tipografia e um fio de cor, sem caixa */
.pm-cesta{display:flex; flex-direction:column; gap:6px; align-items:flex-start; width:100%; max-width:46ch; margin:12px 0 8px; padding:2px 0 2px 20px; border-left:6px solid var(--acc)}
.pm-cesta__l{font-family:var(--serif); font-weight:600; font-size:var(--t-body); line-height:1.35; color:var(--fg)}
.pm-cesta__n{display:block; font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(clamp(40px,10.5cqi,58px)*var(--kd)); line-height:1; letter-spacing:-.008em; color:var(--fg)}
.pm-cesta__u{display:block; font-stretch:84%; font-weight:800; font-size:.5em; line-height:1.15; letter-spacing:.005em; margin-top:.22em}
.pm-cesta__src{font-family:var(--mono); font-size:calc(var(--t-xs)*.9); line-height:1.5; color:var(--fg2)}
.pm-cesta__src a{color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:2px; text-underline-offset:3px; font-weight:600}
.pm-empty{margin-top:56px; max-width:44ch}

/* ---------- fichas ---------- */
.pm-fhero{display:grid; gap:46px; grid-template-columns:minmax(0,1fr); margin-top:6px}
@container pm (min-width:1024px){ .pm-fhero{grid-template-columns:minmax(0,7.4fr) minmax(0,4.2fr); column-gap:84px; align-items:start} .pm-fhero--r{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} }
.pm-fhero__side{display:flex; flex-direction:column; gap:26px; align-items:flex-start; min-width:0}
.pm-fhero__side .pm-lead{max-width:34ch}
.pm-q--xl{font-size:calc(var(--t-quote)*1.22); line-height:1.12}
.pm-fh__title{margin-bottom:30px}
.pm-fh__topic{margin-bottom:16px}
.pm-resumo{display:flex; flex-direction:column; gap:12px; margin-top:6px}

.pm-commit{display:grid; gap:34px; grid-template-columns:minmax(0,1fr); margin-top:34px}
@container pm (min-width:1024px){ .pm-commit{grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px} }
.pm-commit__i{display:flex; flex-direction:column; gap:8px; align-items:flex-start}
.pm-commit__y{font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(clamp(64px,19cqi,112px)*var(--kd)); line-height:.9; letter-spacing:-.01em; color:var(--acc-t)}
.pm-commit__t{font-family:var(--serif); font-size:var(--t-body); line-height:1.5; color:var(--fg); max-width:34ch}
.pm-commit__t b{font-family:var(--sans); font-weight:800}

.pm-blks{display:flex; flex-direction:column; gap:calc(var(--py)*.62)}
.pm-blk{display:grid; gap:20px; grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-blk{grid-template-columns:minmax(0,3.6fr) minmax(0,8fr); column-gap:84px; align-items:start} }
.pm-blk__h{position:relative; font-family:var(--sans); font-weight:900; font-stretch:78%; font-size:calc(var(--t-h3)*.9); line-height:1; letter-spacing:-.006em; text-transform:uppercase; color:var(--fg)}
.pm-blk__h::before{content:""; position:absolute; left:calc(var(--spine-x) - var(--pl) - 6px); top:.2em; width:12px; height:12px; border-radius:50%; background:var(--acc); box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 22%,transparent)}
.pm-blk__b{display:flex; flex-direction:column; gap:18px; max-width:62ch}
.pm-blk__b li{position:relative; padding-left:28px; font-family:var(--serif); font-size:var(--t-body); line-height:1.58; color:var(--fg); text-wrap:pretty}
.pm-blk__b li::before{content:""; position:absolute; left:0; top:.8em; width:14px; height:2.5px; background:var(--acc)}
.pm-blk__b a{color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:2px; text-underline-offset:4px; font-weight:600}

.pm-who2{display:grid; gap:34px; grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-who2{grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px} }
.pm-who2 > div{display:flex; flex-direction:column; gap:12px; align-items:flex-start}

.pm-range{display:flex; flex-direction:column; gap:12px; align-items:flex-start}
.pm-range__v{font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(clamp(52px,14cqi,92px)*var(--kd)); line-height:.95; letter-spacing:-.01em; color:var(--acc-t)}
.pm-range__v small{font-size:.5em; font-weight:800; letter-spacing:0; color:var(--fg2); margin:0 .12em}
.pm-range__n{max-width:52ch}

.pm-pay{display:flex; flex-direction:column; margin-top:6px; max-width:620px}
.pm-pay li{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 20px; align-items:baseline; padding:15px 0; background:linear-gradient(90deg,var(--rule),transparent) top/100% 1px no-repeat}
.pm-pay li:first-child{background:none}
.pm-pay__k{font-family:var(--serif); font-size:var(--t-body); line-height:1.4; color:var(--fg)}
.pm-pay__v{font-family:var(--mono); font-weight:600; font-size:calc(var(--t-body)*1.02); color:var(--fg); white-space:nowrap}

.pm-det{margin-top:6px}
.pm-det>summary{list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:14px; min-height:54px; padding:8px 10px 8px 26px; border-radius:999px; font-family:var(--sans); font-weight:800; font-size:calc(17px*var(--k)); line-height:1.2; color:var(--fg); box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fg) 40%,transparent); transition:box-shadow .15s ease,background-color .15s ease}
.pm-det>summary::-webkit-details-marker{display:none}
.pm-det>summary:hover{box-shadow:inset 0 0 0 2px var(--fg); background:color-mix(in srgb,var(--fg) 6%,transparent)}
.pm-det__chev{width:36px; height:36px; padding:9px; flex:none; border-radius:50%; background:var(--fg); color:var(--paper); transition:transform .2s ease}
.is-dark .pm-det__chev{color:var(--abissal)}
.pm-det[open]>summary .pm-det__chev{transform:rotate(180deg)}
.pm-det__open{display:none}
.pm-det[open]>summary .pm-det__open{display:inline}
.pm-det[open]>summary .pm-det__closed{display:none}
.pm-det__body{padding-top:36px}
.pm-etl--wide{padding-left:28px}
@container pm (min-width:640px) and (max-width:1023px){
  .pm-etl--wide{flex-direction:column; gap:22px; padding:0 0 0 28px; border-top:0}
  .pm-etl--wide::before{display:block}
  .pm-etl--wide li::before{left:-28px; top:.38em}
}
.pm-src{display:flex; flex-direction:column; max-width:860px}
.pm-src li{display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 12px; padding:24px 0; background:linear-gradient(90deg,var(--rule),transparent) top/100% 1px no-repeat}
.pm-src li:first-child{background:none; padding-top:6px}
.pm-src__n{font-family:var(--mono); font-weight:500; font-size:calc(22px*var(--k)); line-height:1.2; color:var(--acc-t)}
.pm-src__b{display:flex; flex-direction:column; gap:6px; align-items:flex-start; min-width:0}
.pm-src__t{font-family:var(--sans); font-weight:800; font-size:var(--t-h4); line-height:1.2; color:var(--fg)}
.pm-src__d{font-family:var(--serif); font-size:var(--t-sm); line-height:1.45; color:var(--fg2); max-width:56ch}
.pm-src__m{font-family:var(--mono); font-size:var(--t-xs); line-height:1.5; color:var(--fg2)}
.pm-src__m b{font-weight:600; color:var(--acc-t)}
.pm-srcgrp{font-family:var(--sans); font-weight:800; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--fg); margin:40px 0 8px}
.pm-srcgrp:first-child{margin-top:0}
.pm-corr{display:flex; flex-direction:column; gap:14px; align-items:flex-start}

/* compartilhar */
.pm-share{display:flex; flex-direction:column; gap:26px; align-items:flex-start}
.pm-modal{position:relative; width:min(100%,660px); padding:34px 26px 30px; border-radius:34px; display:flex; flex-direction:column; gap:22px; align-items:stretch;
  background:linear-gradient(160deg,rgba(90,167,174,.26),rgba(90,167,174,.06) 60%,rgba(6,26,36,.2)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 34px 60px -30px rgba(0,0,0,.75); color:#F1F6F6}
@container pm (min-width:640px){ .pm-modal{padding:40px 38px 36px} }
.pm-modal__top{display:flex; align-items:flex-start; justify-content:space-between; gap:16px}
.pm-modal__t{font-family:var(--sans); font-weight:900; font-stretch:80%; font-size:calc(30px*var(--kd)); line-height:1.02; text-transform:uppercase; color:#fff}
.pm-modal__x{flex:none; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:0; border-radius:999px; background:transparent; color:#F1F6F6; box-shadow:inset 0 0 0 2px rgba(241,246,246,.45); font-family:var(--sans); font-weight:800; font-size:calc(16px*var(--k)); cursor:pointer}
.pm-modal__x:hover{box-shadow:inset 0 0 0 2px #fff}
.pm-modal__sub{font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:#D5E4E6; max-width:46ch}
.pm-url{font-family:var(--mono); font-size:var(--t-xs); line-height:1.45; color:#F1F6F6; padding:14px 20px; border-radius:999px; background:rgba(6,26,36,.55); overflow-wrap:anywhere}
.pm-dests{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.pm-dests a{display:flex; align-items:center; justify-content:center; min-height:54px; padding:0 14px; border-radius:999px; font-family:var(--sans); font-weight:800; font-size:calc(17px*var(--k)); color:#F1F6F6; text-decoration:none; box-shadow:inset 0 0 0 2px rgba(241,246,246,.4); transition:background-color .15s ease,box-shadow .15s ease}
.pm-dests a:hover{background:rgba(241,246,246,.1); box-shadow:inset 0 0 0 2px #fff}
.pm-copied{min-height:1.6em; display:flex; align-items:center; gap:10px; font-family:var(--sans); font-weight:800; font-size:calc(18px*var(--k)); color:var(--varzea)}
.pm-copied svg{width:1.2em; height:1.2em; flex:none}
.pm-modal__note{font-family:var(--serif); font-size:calc(14px*var(--k)); line-height:1.5; color:#BAD1D5}

/* ---------- sobre ---------- */
.pm-about{display:grid; gap:56px; grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-about{grid-template-columns:minmax(0,3fr) minmax(0,8.4fr); column-gap:84px; align-items:start} }
.pm-toc{display:flex; flex-direction:column; gap:12px}
@container pm (min-width:1024px){ .pm-toc{position:sticky; top:28px} }
.pm-toc ol{display:flex; flex-direction:column}
.pm-toc a{display:grid; grid-template-columns:34px minmax(0,1fr); align-items:baseline; min-height:46px; padding:6px 0; font-family:var(--sans); font-weight:700; font-size:calc(17px*var(--k)); line-height:1.25; color:var(--fg); text-decoration:none}
.pm-toc a b{font-family:var(--mono); font-weight:500; font-size:var(--t-xs); color:var(--acc-t)}
.pm-toc a:hover span,.pm-toc a:hover{text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:3px; text-underline-offset:6px}
.pm-secs{display:flex; flex-direction:column; gap:calc(var(--py)*.85); min-width:0}
.pm-sec{position:relative; display:flex; flex-direction:column; gap:22px; align-items:flex-start; scroll-margin-top:24px}
.pm-sec:not(:first-child)::before{content:""; position:absolute; top:calc(var(--py)*-.42); left:0; width:min(70%,520px); height:1px; background:linear-gradient(90deg,var(--rule),transparent)}
.pm-sec__h{display:flex; align-items:baseline; gap:16px; font-family:var(--sans); font-weight:900; font-stretch:80%; font-size:calc(var(--t-h3)*1.04); line-height:1; letter-spacing:-.008em; text-transform:uppercase; color:var(--fg); text-wrap:balance}
.pm-sec__h .pm-sec__n{position:relative; font-family:var(--mono); font-weight:500; font-size:calc(22px*var(--k)); letter-spacing:.02em; color:var(--acc-t); flex:none}
.pm-sec__h .pm-sec__n::before{content:""; position:absolute; left:calc(var(--spine-x) - var(--pl) - 6px); top:50%; width:12px; height:12px; margin-top:-6px; border-radius:50%; background:var(--acc); box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 22%,transparent)}
.pm-sec .pm-p+.pm-p{margin-top:-6px}
.pm-contact{display:flex; flex-direction:column; gap:6px}
.pm-contact p{font-family:var(--serif); font-size:calc(var(--t-body)*1.08); line-height:1.4; color:var(--fg)}
.pm-scale{display:flex; flex-direction:column; gap:36px; width:100%}
.pm-scale > li{display:grid; grid-template-columns:minmax(0,1fr); gap:6px}
@container pm (min-width:640px){ .pm-scale > li{grid-template-columns:minmax(0,5fr) minmax(0,5fr); gap:0 40px; align-items:center} }
.pm-scale .pm-verdict{gap:0}
.pm-scale .pm-stamp{font-size:min(calc(28px*var(--k)),calc((100cqi - 18px)/13.6))}
.pm-scale .pm-gloss{font-size:var(--t-body); max-width:34ch}
.pm-tiers{display:flex; flex-direction:column; width:100%; max-width:760px}
.pm-tiers li{display:grid; grid-template-columns:54px minmax(0,1fr); gap:2px 12px; padding:20px 0; background:linear-gradient(90deg,var(--rule),transparent) top/100% 1px no-repeat}
.pm-tiers li:first-child{background:none; padding-top:4px}
.pm-tiers__n{grid-row:1/span 2; font-family:var(--sans); font-weight:900; font-stretch:70%; font-size:calc(52px*var(--kd)); line-height:.9; color:var(--acc-t)}
.pm-tiers h3{font-family:var(--sans); font-weight:800; font-size:var(--t-h4); line-height:1.2; color:var(--fg)}
.pm-tiers p{grid-column:2; font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:var(--fg2); max-width:52ch}
.pm-steps{counter-reset:s; display:flex; flex-direction:column; gap:22px; max-width:66ch}
.pm-steps li{counter-increment:s; position:relative; padding-left:54px; font-family:var(--serif); font-size:var(--t-body); line-height:1.55; color:var(--fg)}
.pm-steps li::before{content:counter(s); position:absolute; left:0; top:-.04em; font-family:var(--mono); font-weight:500; font-size:calc(30px*var(--k)); line-height:1; color:var(--acc-t)}
.pm-steps b{font-family:var(--sans); font-weight:800}
.pm-def{display:flex; flex-direction:column; gap:24px; width:100%}
.pm-def > div{display:flex; flex-direction:column; gap:8px; align-items:flex-start}
.pm-def .pm-seal{font-size:calc(24px*var(--k))}
.pm-def p{font-family:var(--serif); font-size:var(--t-body); line-height:1.5; color:var(--fg); max-width:46ch}

/* ---------- ajustes e peças das fichas ---------- */
.pm-stack{display:flex; flex-direction:column; gap:calc(var(--py)*.95)}
.pm-seal--xl{font-size:calc(38px*var(--k))}
@container pm (max-width:479px){ .pm-seal--xl{font-size:calc(31px*var(--k))} }
.pm-h2--md{font-size:calc(var(--t-h2)*.6)}
.pm-who2{grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-who2{grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 48px} }
.pm-sechead{display:flex; flex-direction:column; gap:22px; align-items:flex-start}
.pm-note2{position:relative; padding-left:22px; font-family:var(--serif); font-size:var(--t-sm); line-height:1.5; color:var(--fg2); max-width:62ch}
.pm-note2::before{content:""; position:absolute; left:0; top:.8em; width:12px; height:2px; background:var(--acc)}
.pm-money{display:grid; gap:44px; grid-template-columns:minmax(0,1fr)}
@container pm (min-width:1024px){ .pm-money{grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:84px; align-items:start} }
.pm-money__a,.pm-money__b{display:flex; flex-direction:column; gap:20px; align-items:flex-start; min-width:0}
.pm-closing{display:flex; flex-direction:column; gap:30px; align-items:flex-start}
.pm-closing .pm-h2{font-size:calc(var(--t-h2)*.7)}
.pm-copied{min-height:1.7em}
.pm-money{margin-top:24px}
.pm-src li{padding:20px 0}
.pm-src__b .pm-link{min-height:44px}
.pm-resumo{margin-top:46px; max-width:62ch}
@container pm (min-width:1024px){ .pm-resumo{margin-top:64px} }
.pm-resumo .pm-lead{max-width:48ch}
.is-dark .pm-hl--sm{background:var(--varzea); color:var(--abissal); padding:.02em .16em; margin-left:-.16em}
.pm-copied{min-height:1.5em; margin-top:-8px}
.pm-range{margin-top:18px}
@container pm (min-width:1024px){ .pm-terms--2{grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 44px} }
.pm-terms--2{margin-top:6px}
.pm-modal__top{flex-wrap:wrap}
.pm-modal__t{flex:1 1 170px; min-width:0}
@container pm (min-width:1024px){
  .pm-sec__h .pm-sec__n::before{display:none}
  .pm-toc a{position:relative}
  .pm-toc a::before{content:""; position:absolute; left:calc(var(--spine-x) - var(--pl) - 5px); top:50%; width:10px; height:10px; margin-top:-5px; border-radius:50%; background:var(--acc)}
}
.pm-ne__more{margin-top:56px; max-width:44ch}
/* ---------- preferências do usuário ---------- */
@media (prefers-reduced-motion:reduce){
  .pm *,.pm *::before,.pm *::after{transition:none!important; animation:none!important}
  .pm-stamp{transform:none!important}
}
@media (prefers-contrast:more){
.pm-ch::before,.pm-ch::after,.pm-mk{display:none!important}
  .pm-hl::before{display:none}
  .pm-hl{background:var(--varzea)}
  .pm-stamp{transform:none}
  .pm-ch--open{background:#061A24} .pm-ch--falas{background:var(--paper)}
.pm-ch--foot{background:#061A24}
}
@media (forced-colors:active){
.pm-ch::before,.pm-ch::after,.pm-mk{display:none!important}
  .pm-ch{background:Canvas!important; color:CanvasText}
  .pm-hl::before{display:none}
  .pm-hl{background:Mark; color:MarkText}
  .pm-btn,.pm-stamp,.pm-seal__dial{border-color:CanvasText}
}

/* ---------- fotos e vídeos por obra ---------- */
.pm-media{display:flex; flex-direction:column; gap:14px; width:100%; margin-top:6px}
.pm-media__grid{display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); align-items:start}
.pm-ob>.pm-media{grid-column:1/-1; padding-top:26px; border-top:1px solid var(--rule)}
.pm-media__links{max-width:62ch}
.pm-media figure{display:flex; flex-direction:column; gap:8px; margin:0}
.pm-media img{display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; border-radius:0}
.pm-media figcaption{font-family:var(--mono); font-size:var(--t-xs); line-height:1.5; color:var(--fg2)}
.pm-media a{color:var(--fg); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:2px; text-underline-offset:4px; font-weight:600}
.pm-vf__btn{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; width:100%; aspect-ratio:16/9; padding:18px; border:0; border-radius:0; cursor:pointer; background:var(--abissal); color:#F1F6F6; font-family:var(--sans); font-weight:700; font-size:var(--t-sm); line-height:1.3; text-align:center}
.pm-vf__btn svg{width:56px; height:56px; flex:none}
.pm-vf__btn:hover{background:var(--marinho)}
.pm-vf__btn:focus-visible{outline:3px solid var(--focus); outline-offset:3px}
.pm-vf iframe{display:block; width:100%; aspect-ratio:16/9; border:0}
.pm-media__links{display:flex; flex-direction:column; gap:8px}
.pm-media__links li{font-family:var(--serif); font-size:var(--t-sm); line-height:1.45; color:var(--fg2); max-width:62ch}
.pm-media__grid>*{max-width:380px; min-width:0}

/* janela de compartilhar: <dialog> (camada superior, centralizada, fundo escurecido) */
dialog.pm-modal{position:fixed; margin:auto; border:0; width:min(calc(100vw - 32px),460px); max-height:calc(100dvh - 32px); overflow:auto; background:linear-gradient(160deg,#0E3A4E,#061A24)}
dialog.pm-modal:not([open]){display:none}
dialog.pm-modal::backdrop{background:rgba(2,10,15,.72)}
dialog.pm-modal .pm-copied:empty{display:none}
dialog.pm-modal .pm-modal__note{display:none}

/* classificação em cores (a forma do selo continua sendo o segundo sinal) */
.pm-seal--cumpriu{--c:#1B7A4B; --dial:#1B7A4B}
.pm-seal--parcial{--c:#B7860B; --dial:#B7860B}
.pm-seal--nao{--c:#C62828; --dial:#C62828}
.is-dark .pm-seal--cumpriu{--c:#5FD08D; --dial:#5FD08D}
.is-dark .pm-seal--parcial{--c:#F2C14E; --dial:#F2C14E}
.is-dark .pm-seal--nao{--c:#FF4D44; --dial:#FF4D44}
.pm-seal--sm{font-size:calc(19px*var(--k)); gap:12px}

/* "Não cumpriu": X no lugar do círculo */
.pm-seal--nao .pm-seal__dial{border:0; background:none}
.pm-seal--nao .pm-seal__dial::before,.pm-seal--nao .pm-seal__dial::after{content:""; position:absolute; left:50%; top:50%; width:calc(141.4% - .27em); height:.27em; min-height:6px; background:var(--c); transform:translate(-50%,-50%) rotate(45deg)}
.pm-seal--nao .pm-seal__dial::after{transform:translate(-50%,-50%) rotate(-45deg)}
@media (forced-colors:active){ .pm-seal--nao .pm-seal__dial::before,.pm-seal--nao .pm-seal__dial::after{background:CanvasText} }


/* =====================================================================
   Interatividade: cabeçalho inteligente, botão flutuante,
   cards recolhíveis, popover de fontes, citação por seleção e
   movimento. Tudo é melhoria progressiva: sem JavaScript, o conteúdo já
   está inteiro na página. Estados "escondidos" só existem com html.js e
   fora de prefers-reduced-motion.
   ===================================================================== */
html{scroll-padding-top:92px}
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth} }
.pm [tabindex="-1"]:focus{outline:none}

/* ---------- cabeçalho: fixo, compacta ao rolar, some ao descer e volta ao subir ---------- */
.pm-top{position:fixed; transition:transform .34s cubic-bezier(.2,.7,.2,1),background-color .25s ease,box-shadow .25s ease}
.pm-top__in{transition:padding .25s ease}
.pm-top.is-solid{background:rgba(6,26,36,.94); box-shadow:0 1px 0 rgba(217,162,78,.38),0 14px 30px -20px rgba(0,0,0,.7)}
@supports (backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px)){
  .pm-top.is-solid{background:rgba(6,26,36,.84); -webkit-backdrop-filter:saturate(1.2) blur(12px); backdrop-filter:saturate(1.2) blur(12px)}
}
.pm-top.is-solid .pm-top__in{padding-top:6px; padding-bottom:6px}
.pm-top.is-hidden:not(:focus-within){transform:translateY(-104%); box-shadow:none}
.pm-prog{position:absolute; left:0; right:0; bottom:0; height:3px; opacity:0; pointer-events:none; transition:opacity .2s ease}
.pm-top.is-solid .pm-prog{opacity:1}
.pm-prog i{display:block; height:100%; background:linear-gradient(90deg,#D9A24E,#E8B968); transform:scaleX(0); transform-origin:left}
@container pm (max-width:639px){
  /* cabeçalho compacto no celular: só o menu de 4 itens, em linha única (a marca volta ao rolar até o topo) */
  .pm-top.is-solid .pm-top__in{grid-template-columns:minmax(0,1fr); grid-template-areas:"nav"; gap:0; align-items:center}
  .pm-top.is-solid .pm-brand{display:none}
  .pm-top.is-solid .pm-nav{margin-inline:0}
  .pm-top.is-solid .pm-nav a{min-height:44px; padding:0 4px; font-size:clamp(13px,4.2cqi,15px)}
  .pm-top.is-solid .pm-nav a::after{bottom:5px}
}
.pm-nav a.is-here{color:#fff}
.pm-nav a.is-here::after{transform:scaleX(1)}
.pm-nav a.is-away:is([aria-current="page"],[aria-current="true"]){color:#D5E4E6}
.pm-nav a.is-away:is([aria-current="page"],[aria-current="true"])::after{transform:scaleX(0)}
.pm-toc a[aria-current="location"] span{text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:3px; text-underline-offset:6px}
.pm-toc a[aria-current="location"]{color:var(--fg)}
@container pm (min-width:1024px){ .pm-toc{top:96px} }

/* ---------- WhatsApp flutuante: balão de mensagem + ícone, no canto inferior direito (marcação em scripts/lib/marca.mjs, widgetWhatsapp) ----------
   Sem JavaScript os dois são links e o X nem aparece. O X só fecha o balão (site.js grava na sessão); o ícone continua. */
.pm-wa{position:fixed; z-index:45; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:14px; max-width:calc(100vw - 32px); pointer-events:none}
.pm-wa > *{pointer-events:auto}
.pm-wa__bubble{position:relative; max-width:min(236px,calc(100vw - 106px)); padding:11px 16px 12px; border-radius:16px; color:var(--abissal); background:#F1F6F6; box-shadow:0 14px 30px -14px rgba(0,0,0,.65),0 0 0 1px rgba(6,26,36,.08)}
.pm-wa__bubble::after{content:""; position:absolute; top:50%; right:-5px; width:12px; height:12px; border-radius:2px; background:#F1F6F6; transform:translateY(-50%) rotate(45deg)}
.pm-wa__msg{position:relative; z-index:1; display:block; font-family:var(--sans); font-size:14px; line-height:1.35; font-weight:600; color:inherit; text-decoration:none}
.pm-wa__msg:hover{text-decoration:underline; text-decoration-color:var(--sedimento); text-underline-offset:3px}
.pm-wa__x{position:absolute; z-index:2; top:-9px; left:-9px; display:none; place-items:center; width:22px; height:22px; padding:0; border:1px solid rgba(241,246,246,.4); border-radius:50%; background:var(--abissal); color:#F1F6F6; cursor:pointer}
.pm-wa__x::after{content:""; position:absolute; inset:-11px}
.pm-wa__x svg{width:10px; height:10px}
.pm-wa__x:hover{background:var(--marinho)}
html.pm-ok .pm-wa__x{display:grid}
.pm-wa__btn{flex:none; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; color:#fff; background:#25D366; box-shadow:0 12px 24px -10px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.18); text-decoration:none; transition:transform .15s ease,filter .15s ease}
.pm-wa__btn svg{width:30px; height:30px}
.pm-wa__btn:hover{transform:translateY(-2px); filter:brightness(1.06)}
.pm-wa__btn:active{transform:translateY(0) scale(.96)}
.pm-wa.is-quiet .pm-wa__bubble{display:none}
.pm-wa.is-closing .pm-wa__bubble{opacity:0; transform:translateY(6px); transition:opacity .18s ease,transform .18s ease}
.pm .pm-wa :is(a,button):focus-visible{outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px var(--abissal)}
.pm .pm-wa__msg:focus-visible{outline-offset:2px; box-shadow:none}
@media (prefers-reduced-motion:no-preference){
  .pm-wa__btn{animation:pm-wa-in .5s cubic-bezier(.2,.7,.2,1) .6s backwards}
  .pm-wa__bubble{animation:pm-wa-in .5s cubic-bezier(.2,.7,.2,1) 1.4s backwards}
}
@keyframes pm-wa-in{from{opacity:0; transform:translateY(10px)}}
@media (max-width:639px){
  .pm-wa{right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); gap:12px}
  .pm-wa__btn{width:52px; height:52px}
  .pm-wa__btn svg{width:28px; height:28px}
  .pm-wa__bubble{max-width:min(200px,calc(100vw - 98px)); padding:10px 14px 11px}
  .pm-wa__msg{font-size:13px}
}
.pm-toast{position:fixed; z-index:80; left:50%; bottom:max(26px,env(safe-area-inset-bottom)); max-width:calc(100vw - 32px); padding:12px 22px; border-radius:999px; background:var(--abissal); color:#fff; box-shadow:0 0 0 1px rgba(217,162,78,.5),0 18px 40px -18px rgba(0,0,0,.8);
  font-family:var(--sans); font-weight:800; font-size:calc(16px*var(--k)); text-align:center; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,12px); transition:opacity .2s ease,transform .25s ease,visibility 0s linear .25s}
.pm-toast.is-on{opacity:1; visibility:visible; transform:translate(-50%,0); transition-delay:0s}

/* ---------- cards recolhíveis (fotos, vídeos e links de cada obra) ---------- */
.pm-ob>.pm-ob__media{grid-column:1/-1; margin-top:0; padding-top:26px; border-top:1px solid var(--rule)}
.pm-ob__media .pm-det__body{padding-top:30px}
.pm-ob__media .pm-media{margin-top:0}
.pm-det>summary:active{transform:scale(.985)}
.pm-det>summary{transition:box-shadow .15s ease,background-color .15s ease,transform .12s ease}

/* ---------- popover de fontes ---------- */
.pm-fn{--s:max(1.35em,26px); position:relative; display:inline-grid; place-items:center; width:var(--s); height:var(--s); margin-left:.4em; vertical-align:-.28em; border-radius:50%; color:var(--acc-t); box-shadow:inset 0 0 0 2px currentColor; text-decoration:none!important; cursor:pointer; transition:background-color .15s ease,color .15s ease,transform .15s ease}
.pm-fn svg{width:56%; height:56%}
.pm-fn::after{content:""; position:absolute; inset:-9px}
.pm-fn:hover,.pm-fn[aria-expanded="true"]{background:var(--acc); color:var(--node-bg); transform:scale(1.08)}
.pm-fn--lg{--s:34px; vertical-align:middle}
.pm-figrow{display:flex; align-items:center; gap:14px; max-width:100%}
.pm-figrow .pm-fn{--s:34px; margin:6px 0 0; flex:none; vertical-align:baseline}
.pm-pop{--fg:#F1F6F6; --fg2:#BAD1D5; --acc:var(--varzea); --acc-t:#E8B968; --rule:rgba(186,209,213,.3);
  position:fixed; z-index:70; left:0; top:0; width:min(372px,calc(100vw - 24px)); padding:24px 22px 20px; border-radius:22px; color:var(--fg); text-align:left;
  background:linear-gradient(165deg,#0E3A4E,#061A24 70%); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(186,209,213,.22),0 30px 60px -22px rgba(0,0,0,.85);
  opacity:0; visibility:hidden; transform:translateY(8px) scale(.97); transform-origin:var(--ax,50%) 0; transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s}
.pm-pop.is-on{opacity:1; visibility:visible; transform:none; transition-delay:0s}
.pm-pop.is-up{transform-origin:var(--ax,50%) 100%}
.pm-pop::before{content:""; position:absolute; left:var(--ax,50%); top:-7px; width:14px; height:14px; margin-left:-7px; transform:rotate(45deg); background:#0E3A4E; box-shadow:-1px -1px 0 rgba(186,209,213,.22)}
.pm-pop.is-up::before{top:auto; bottom:-7px; background:#061A24; box-shadow:1px 1px 0 rgba(186,209,213,.22)}
.pm-pop__k{font-family:var(--mono); font-weight:600; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--acc-t); padding-right:44px}
.pm-pop__o{margin-top:8px; font-family:var(--sans); font-weight:800; font-size:calc(22px*var(--k)); line-height:1.15; color:#fff; text-wrap:balance}
.pm-pop__t{margin-top:6px; font-family:var(--serif); font-size:calc(17px*var(--k)); line-height:1.4; color:var(--fg)}
.pm-pop__m{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; margin-top:14px}
.pm-pop__m dt{font-family:var(--sans); font-weight:800; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg2); padding-top:3px}
.pm-pop__m dd{font-family:var(--serif); font-size:calc(16px*var(--k)); line-height:1.4; color:var(--fg)}
.pm-pop__d{margin-top:12px; font-family:var(--serif); font-size:calc(15.5px*var(--k)); line-height:1.45; color:var(--fg2)}
.pm-pop__act{display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:18px}
.pm-pop__h{font-family:var(--mono); font-size:13px; color:var(--fg2); overflow-wrap:anywhere}
.pm-pop__x{position:absolute; top:10px; right:10px; width:44px; height:44px; padding:0; border:0; border-radius:50%; display:grid; place-items:center; background:transparent; color:#F1F6F6; cursor:pointer; transition:background-color .15s ease}
.pm-pop__x svg{width:20px; height:20px}
.pm-pop__x:hover{background:rgba(241,246,246,.12)}
.pm .pm-pop :is(a,button):focus-visible{outline-color:var(--varzea)}
@media (max-width:639px){
  .pm-pop{left:12px!important; right:12px; top:auto!important; bottom:max(12px,env(safe-area-inset-bottom)); width:auto; max-height:72vh; overflow:auto; transform:translateY(24px); transform-origin:50% 100%}
  .pm-pop.is-on{transform:none}
  .pm-pop::before{display:none}
}

/* ---------- citação por seleção de texto ---------- */
.pm-sel{position:fixed; z-index:65; left:0; top:0; display:flex; gap:2px; padding:5px; border-radius:999px; color:#F1F6F6; background:var(--abissal); box-shadow:0 0 0 1px rgba(217,162,78,.55),0 16px 34px -14px rgba(0,0,0,.85);
  opacity:0; visibility:hidden; transform:translateY(6px) scale(.96); transition:opacity .15s ease,transform .18s ease,visibility 0s linear .18s}
.pm-sel.is-on{opacity:1; visibility:visible; transform:none; transition-delay:0s}
.pm-sel button{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border:0; border-radius:999px; background:transparent; color:inherit; cursor:pointer; font-family:var(--sans); font-weight:800; font-size:15px; line-height:1; white-space:nowrap; transition:background-color .15s ease}
.pm-sel button svg{width:18px; height:18px; color:var(--varzea)}
.pm-sel button:hover{background:rgba(241,246,246,.13)}
.pm .pm-sel :is(button):focus-visible{outline-color:var(--varzea); outline-offset:-2px}

/* ---------- movimento: revelação, carimbo, filtros ---------- */
@property --p{syntax:"<percentage>"; inherits:true; initial-value:0%}
@keyframes pm-flt{from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}
.pm-flt-in{animation:pm-flt .5s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:no-preference){
  .js .pm-rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .pm-rv.is-in{opacity:1; transform:none}
  /* carimbo: entra grande e levemente girado, "bate" e assenta no ângulo do desenho */
  .js .pm-stamp,.js .pm-seal--hd,.js .pm-seal--xl{transition:opacity .25s ease .12s,transform .6s cubic-bezier(.2,1.45,.35,1) .12s,--p 1s ease .55s}
  .js .pm-stamp:not(.is-in){opacity:0; transform:rotate(-12deg) scale(1.55)}
  .js .pm-seal--hd:not(.is-in),.js .pm-seal--xl:not(.is-in){opacity:0; transform:translateX(-10px) scale(1.14); --p:0%}
  .js .pm-seal--hd.is-in,.js .pm-seal--xl.is-in{transform:none}
}
.pm-link:active{transform:translateY(1px)}

@media print{
  .pm-top,.pm-wa,.pm-pop,.pm-sel,.pm-toast,.pm-prog{display:none!important}
  .js .pm-rv,.js .pm-stamp,.js .pm-seal--hd,.js .pm-seal--xl{opacity:1!important; transform:none!important}
}
@media (prefers-contrast:more){ .pm-top.is-solid{background:#061A24; -webkit-backdrop-filter:none; backdrop-filter:none} }
@media (forced-colors:active){
  .pm-top.is-solid{background:Canvas; box-shadow:0 1px 0 CanvasText}
  .pm-wa__bubble,.pm-wa__bubble::after,.pm-wa__x,.pm-wa__btn,.pm-pop,.pm-sel,.pm-toast{background:Canvas; color:CanvasText; box-shadow:0 0 0 2px CanvasText}
  .pm-fn{box-shadow:inset 0 0 0 2px CanvasText}
}

/* ---------- trilhas de tempo se desenham ao entrar na tela ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .pm-rv .pm-m{transition:opacity .4s ease .5s,transform .45s cubic-bezier(.2,1.5,.35,1) .5s}
  .js .pm-rv:not(.is-in) .pm-m{opacity:0; transform:scale(.4)}
  .js .pm-rv:not(.is-in) .pm-m--chegou{transform:rotate(45deg) scale(.4)}
  .js .pm-rv.is-in .pm-m--chegou{transform:rotate(45deg)}
}
/* "Fotos, vídeos e links" de cada obra: link de texto, sem pílula */
.pm-ob>.pm-ob__media{padding-top:18px}
.pm-ob__media>summary{min-height:44px; padding:0; gap:10px; border-radius:0; box-shadow:none; background:none; font-size:calc(16px*var(--k)); text-decoration:underline; text-decoration-color:var(--acc); text-decoration-thickness:2px; text-underline-offset:5px}
.pm-ob__media>summary:hover{background:none; box-shadow:none; text-decoration-thickness:3px}
.pm-ob__media .pm-det__chev{width:22px; height:22px; padding:5px}
.pm-ob__media .pm-det__body{padding-top:24px}
/* copiar o link da obra: ícone pequeno, só com mouse e ao focar */
.pm-ob__a{position:relative}
.pm-ob__cp{position:absolute; top:-10px; right:0; width:44px; height:44px; padding:0; border:0; border-radius:50%; display:none; place-items:center; background:none; color:var(--fg2); cursor:pointer; opacity:0; transition:opacity .15s ease,color .15s ease,background-color .15s ease}
.pm-ob__cp svg{width:20px; height:20px}
.pm-ob__cp:hover{color:var(--fg); background:color-mix(in srgb,var(--fg) 8%,transparent)}
@media (hover:hover) and (pointer:fine){
  .pm-ob__cp{display:grid}
  .pm-ob:hover .pm-ob__cp,.pm-ob:focus-within .pm-ob__cp{opacity:1}
}
/* "Voltar às ..." no fim das fichas: link de texto */
.pm-link--back svg{transform:none}
.pm-link--back:hover svg{transform:translateX(-4px)}

/* =====================================================================
   Linha do tempo interativa das obras. Sem JS: só a <ol> com as datas.
   Com JS: trilho horizontal (tela larga) ou vertical (celular), com marcos clicáveis.
   ===================================================================== */
.pm-tl{position:relative; width:100%; display:flex; flex-direction:column; gap:14px}
.pm-tl__ol{display:flex; flex-direction:column; gap:6px}
.pm-tl__ol li{font-family:var(--serif); font-size:var(--t-sm); line-height:1.4; color:var(--fg)}
.pm-tl__ol time{font-family:var(--mono); font-weight:600; letter-spacing:.02em; color:var(--acc-t)}
.pm-tl__gap{position:relative; padding-left:22px; font-family:var(--serif); font-size:var(--t-body); line-height:1.4; color:var(--fg); max-width:48ch}
.pm-tl__gap::before{content:""; position:absolute; left:0; top:.78em; width:12px; height:2px; background:var(--acc)}
.pm-tl__gap b{font-family:var(--sans); font-weight:800; color:var(--acc-t)}
.pm-tl:not(.is-on) .pm-tl__rail{display:none}
.pm-tl.is-on .pm-tl__ol li{font-size:inherit}
.pm-m--hoje{background:var(--fg); box-shadow:0 0 0 5px color-mix(in srgb,var(--fg) 16%,transparent)}
.pm-tl__b{position:relative; width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer}
.pm-tl__b .pm-m{left:50%; top:50%; margin:-9px 0 0 -9px; transition:transform .15s ease,box-shadow .15s ease}
.pm-tl__b .pm-m--chegou{margin:-7.5px 0 0 -7.5px}
.pm-tl__b:hover .pm-m,.pm-tl__b[aria-expanded="true"] .pm-m{transform:scale(1.25)}
.pm-tl__b:hover .pm-m--chegou,.pm-tl__b[aria-expanded="true"] .pm-m--chegou{transform:rotate(45deg) scale(1.25)}
.pm .pm-tl__b:focus-visible{outline:none}
.pm .pm-tl__b:focus-visible .pm-m{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--focus)}
.pm-tl__l{display:flex; flex-direction:column; gap:1px; white-space:nowrap; pointer-events:none}
.pm-tl__l time{font-family:var(--mono); font-weight:500; font-size:calc(13px*var(--k)); letter-spacing:.02em; color:var(--fg2)}
.pm-tl__l b{font-family:var(--sans); font-weight:800; font-size:calc(14px*var(--k)); letter-spacing:.02em; color:var(--fg)}
/* horizontal */
@container pm (min-width:640px){
  .pm-tl.is-on .pm-tl__ol{position:relative; display:block; height:var(--tlh,128px); margin-bottom:-14px}
  .pm-tl.is-on .pm-tl__rail{position:absolute; left:0; right:0; top:calc(var(--tlh,128px)/2); height:0}
  .pm-tl__line{position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--rule)}
  .pm-tl__bar{position:absolute; left:0; top:-1px; height:2px; background:var(--acc)}
  .pm-tl__gapbar{position:absolute; top:-3px; height:6px; border-radius:3px; background:repeating-linear-gradient(135deg,var(--acc) 0 4px,transparent 4px 8px); opacity:.85}
  .pm-tl.is-on .pm-tl__i{position:absolute; left:var(--x); top:0; width:0; height:var(--tlh,128px); padding:0}
  .pm-tl.is-on .pm-tl__b{position:absolute; left:0; top:calc(var(--tlh,128px)/2 - 22px); margin-left:-22px}
  .pm-tl.is-on .pm-tl__l{position:absolute; left:0; top:calc(var(--tlh,128px)/2 + 18px); transform:translateX(-50%); align-items:center; text-align:center}
  .pm-tl.is-on .pm-tl__i.is-up .pm-tl__l{top:auto; bottom:calc(var(--tlh,128px)/2 + 18px)}
  .pm-tl.is-on .pm-tl__l.is-wrap{white-space:normal; width:74px}
  .pm-tl.is-on .pm-tl__i.is-first .pm-tl__l{transform:none; align-items:flex-start; text-align:left}
  .pm-tl.is-on .pm-tl__i.is-last .pm-tl__l{transform:translateX(-100%); align-items:flex-end; text-align:right}
}
/* vertical (celular) */
@container pm (max-width:639px){
  .pm-tl.is-on .pm-tl__rail{display:none}
  .pm-tl.is-on .pm-tl__ol{position:relative; gap:0}
  .pm-tl.is-on .pm-tl__ol::before{content:""; position:absolute; left:21px; top:28px; bottom:28px; width:2px; background:var(--rule)}
  .pm-tl.is-on .pm-tl__i{position:relative; display:flex; align-items:center; gap:16px; min-height:56px}
  .pm-tl.is-on .pm-tl__b{position:relative; flex:none; margin:0}
  .pm-tl.is-on .pm-tl__l{flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:2px 12px; white-space:normal}
  .pm-tl.is-on .pm-tl__l b{order:-1}
}
@media (prefers-reduced-motion:no-preference){
  .js .pm-rv .pm-tl__bar,.js .pm-rv .pm-tl__gapbar{transform-origin:left center; transition:transform .9s cubic-bezier(.2,.7,.2,1) .3s}
  .js .pm-rv:not(.is-in) .pm-tl__bar,.js .pm-rv:not(.is-in) .pm-tl__gapbar{transform:scaleX(0)}
  .js .pm-rv .pm-tl__b .pm-m{transition:opacity .4s ease .5s,transform .45s cubic-bezier(.2,1.5,.35,1) .5s}
  .js .pm-rv:not(.is-in) .pm-tl__b .pm-m{opacity:0; transform:scale(.4)}
  .js .pm-rv:not(.is-in) .pm-tl__b .pm-m--chegou{transform:rotate(45deg) scale(.4)}
}
/* popover: marco da linha do tempo */
.pm-pop__w{margin-top:8px; font-family:var(--serif); font-size:calc(18px*var(--k)); line-height:1.4; color:#fff}
.pm-pop__fh{margin-top:14px; font-family:var(--sans); font-weight:800; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg2)}
.pm-pop__o--s{margin-top:3px; font-size:calc(18px*var(--k))}
.pm-pop__t--m{font-family:var(--mono); font-size:13px; color:var(--fg2)}

/* ---------- Baixar card ---------- */
.pm-cardm{width:min(340px,calc(100vw - 24px))}
.pm-cardm__opts{display:flex; flex-direction:column; gap:10px; margin-top:16px}
.pm-cardm__opts .pm-btn{width:100%}
.pm-cardm__st{min-height:1.5em; margin-top:10px; font-family:var(--mono); font-size:13px; line-height:1.4; color:var(--fg2)}
.pm-cardm[aria-busy="true"] .pm-cardm__opts{opacity:.55; pointer-events:none}
.pm-ob__dl{position:absolute; top:-10px; right:44px; width:44px; height:44px; padding:0; border:0; border-radius:50%; display:none; place-items:center; background:none; color:var(--fg2); cursor:pointer; opacity:0; transition:opacity .15s ease,color .15s ease,background-color .15s ease}
.pm-ob__dl svg{width:20px; height:20px}
.pm-ob__dl:hover,.pm-ob__dl[aria-expanded="true"]{color:var(--fg); background:color-mix(in srgb,var(--fg) 8%,transparent)}
@media (hover:hover) and (pointer:fine){
  .pm-ob__dl{display:grid}
  .pm-ob:hover .pm-ob__dl,.pm-ob:focus-within .pm-ob__dl{opacity:1}
}
.pm-modal__card{margin-top:2px}
@media print{ .pm-cardm,.pm-ob__dl{display:none!important} }

/* ---------- título de abertura menor no celular ---------- */
@container pm (max-width:639px){
  .pm-hero__h{font-size:calc(clamp(30px,8.4cqi,38px)*var(--kd)); line-height:1; margin-bottom:22px}
}
/* janela de compartilhar das fichas: sem vão quando não há aviso de "link copiado" */
.pm-modal .pm-copied:empty{display:none}
