/* Tipos servidos a partir do proprio site (SIL OFL 1.1, ver fonts/OFL.txt). Nenhum pedido a servidores da Google. */
@font-face{font-family:"Familjen Grotesk";font-style:normal;font-weight:500 700;font-display:swap;src:url("fonts/FamiljenGrotesk-wght.woff2?v=3") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/IBMPlexMono-400.woff2?v=3") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/IBMPlexMono-500.woff2?v=3") format("woff2")}
/* Reside in Portugal · identidade Portas · portas.css
   Raio 0, sem sombras, sem gradientes. Uma cor de ação (ocre com contorno de tinta).
   Dia sempre por defeito (ignora a preferencia do sistema); noite so quando a pessoa a escolhe: [data-theme=night].
   Seções: 1 tokens · 2 base · 3 layout · 4 cabeçalho · 5 botões · 6 hero/porta · 7 portas/seletor
           8 conteúdo (steps, faq, tabela, recibo, callout, prose) · 9 formulários · 10 app/estados · 11 rodapé */

/* ---------- 1. tokens ---------- */
@property --c{syntax:'<color>';inherits:true;initial-value:#E0A526}
:root{
  --c:#E0A526;--on:#16120F;               /* cor/contraste da porta ativa (identidade, nunca ação) */
  --ink:#16120F;--paper:#FBFAF7;--paper-2:#F1EEE6;
  --ocre:#E0A526;--dark:#16120F;--light:#FBFAF7; /* constantes: não mudam com o tema */
  --telha:#B8442A;--on-telha:#FBFAF7;
  --mute:#5B544C;
  --ok:#067647;--error:#B42318;
  --gut:16px;--max:1180px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:88px;
  --dur-fast:120ms;--dur:200ms;--dur-slow:320ms;--dur-door:900ms;
  --ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-door:cubic-bezier(.2,0,0,1);
  --f-sans:"Familjen Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --fs-0:15px;--fs-1:17px;--fs-2:20px;--fs-3:24px;--fs-4:clamp(30px,4.4vw,52px);--fs-5:clamp(40px,6.4vw,88px);
  --nav-h:64px;
  --ring:var(--ink);                      /* foco: tinta no dia (contraste 3:1 exigido), ocre na noite */
  transition:--c var(--dur-slow) var(--ease-out);
}
@media(min-width:720px){:root{--gut:24px}}
:root[data-theme=night]{--ink:#FBFAF7;--paper:#16120F;--paper-2:#221C17;--telha:#E0725A;--on-telha:#16120F;--mute:#B5AC9F;--ok:#47CD89;--error:#F97066;--ring:var(--ocre)}
:root[data-theme=night],:root[data-theme=day]{color-scheme:inherit}
:root{color-scheme:light}
:root[data-theme=night]{color-scheme:dark}

/* escopo de tema dentro da pagina (styleguide): data-scope=night|day */
[data-scope=night]{--ink:#FBFAF7;--paper:#16120F;--paper-2:#221C17;--telha:#E0725A;--on-telha:#16120F;--mute:#B5AC9F;--ok:#47CD89;--error:#F97066;--ring:var(--ocre);background:var(--paper);color:var(--ink);color-scheme:dark}
[data-scope=day]{--ink:#16120F;--paper:#FBFAF7;--paper-2:#F1EEE6;--telha:#B8442A;--on-telha:#FBFAF7;--mute:#5B544C;--ok:#067647;--error:#B42318;--ring:var(--ink);background:var(--paper);color:var(--ink);color-scheme:light}

/* ---------- 2. reset e base ---------- */
*,*::before,*::after{box-sizing:border-box;border-radius:0}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}
body{background:var(--paper);color:var(--ink);font:500 var(--fs-1)/1.5 var(--f-sans);font-variant-numeric:tabular-nums;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1}
html.tt *,html.tt *::before,html.tt *::after{transition:background-color var(--dur) linear,color var(--dur) linear,border-color var(--dur) linear!important}
img,svg,video{display:block;max-width:100%}img{height:auto}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--ocre);color:var(--dark)}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
h1{font-size:var(--fs-5)}.h2,.h3{font-weight:700;letter-spacing:-.02em;line-height:1.15}.h3{font-size:var(--fs-3)}h2{font-size:var(--fs-4)}h3{font-size:var(--fs-3);letter-spacing:-.02em;line-height:1.15}h4{font-size:19px;letter-spacing:-.01em;line-height:1.2}
ul,ol{padding:0;list-style:none}
p{text-wrap:pretty}
hr{border:0;border-top:2px solid var(--ink)}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
[hidden]{display:none!important}
.mono{font-family:var(--f-mono);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{margin-bottom:14px;color:var(--mute)}
.lead{margin-top:12px;max-width:52ch;color:var(--mute);font-size:var(--fs-2)}
.muted{color:var(--mute)}
.skip{position:absolute;left:8px;top:-100px;z-index:90;background:var(--ocre);color:var(--dark);border:2px solid var(--ink);padding:12px 16px;font-weight:700;text-decoration:none}
.skip:focus{top:8px}
.ico{width:1.25em;height:1.25em;flex:none;display:inline-block;vertical-align:-.2em}
.ico.sm{width:16px;height:16px}.ico.lg{width:28px;height:28px}

/* ---------- 3. layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);width:100%}
.wrap.narrow{max-width:760px}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.g>*{grid-column:span var(--s,12)}
@media(min-width:720px){.g{gap:24px}.g>*{grid-column:span var(--m,var(--s,12))}}
@media(min-width:1024px){.g>*{grid-column:span var(--l,var(--m,var(--s,12)))}}
.sec{padding:var(--s8) 0 0}
@media(min-width:900px){.sec{padding-top:var(--s9)}}
.sec-head{margin-bottom:var(--s6)}
.stack>*+*{margin-top:var(--gap,16px)}
.row{display:flex;flex-wrap:wrap;gap:var(--gap,12px);align-items:center}
.rv{} .js .rv{opacity:0;transform:translateY(16px)}
.js .rv.in{opacity:1;transform:none;transition:opacity 280ms var(--ease-out),transform 280ms var(--ease-out)}
main{padding-top:var(--nav-h)}
.pagehead{padding:var(--s6) 0 0}
.pagehead h1{font-size:clamp(36px,5.4vw,72px);max-width:18ch}
.pagehead .lead{margin-top:16px}

/* ---------- 4. cabeçalho, menu, tema ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h)}
.nav .bg{position:absolute;inset:0;background:var(--paper);transform-origin:top;transition:transform var(--dur) var(--ease-in-out)}
.nav .rule{position:absolute;left:0;right:0;top:calc(var(--nav-h) - 2px);height:2px;background:var(--ink);transform-origin:bottom;transform:scaleY(.5);transition:transform var(--dur) var(--ease-in-out)}
.nav .row{position:relative;height:var(--nav-h);display:flex;flex-wrap:nowrap;align-items:center;gap:8px 16px;transition:transform var(--dur) var(--ease-in-out)}
.nav.s .bg{transform:scaleY(.75)}
.nav.s .rule{transform:translateY(-16px) scaleY(1)}
.nav.s .row{transform:translateY(-8px)}
.nav.s .lock{transform:scale(.85)}
.nav .pw{position:absolute;left:0;right:0;top:var(--nav-h);height:3px;transition:transform var(--dur) var(--ease-in-out)}
.nav.s .pw{transform:translateY(-16px)}
.nav .prog{height:3px;background:var(--ocre);transform-origin:left;transform:scaleX(var(--p,0))}
.lock{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);border:2px solid transparent;transform-origin:left center;transition:transform var(--dur) var(--ease-in-out)}
.lock .m{width:26px;height:34px;flex:none;--f:var(--ocre)}
.wm{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.wm span{font-weight:500}
.seal{display:none;align-items:center;gap:8px;border:1px solid var(--ink);padding:6px 10px;color:var(--ink)}
.seal img{height:22px;width:auto}
.seal .sw{display:none}
:root[data-theme=night] .seal .sn{display:none}
:root[data-theme=night] .seal .sw{display:block}
.links{display:none;margin-left:auto;gap:4px 20px;align-items:center}
.links a:not(.btn){text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border:2px solid transparent;white-space:nowrap}
.links a:not(.btn):hover,.links a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.links a[aria-current]{text-decoration-color:var(--ocre);text-decoration-thickness:4px}
.theme{margin-left:auto;min-height:44px;min-width:44px;padding:0 12px;background:none;color:var(--ink);border:2px solid var(--ink);transition:transform var(--dur-fast) var(--ease-out)}
.theme:active{transform:scale(.98)}
.theme[aria-pressed=true]{background:var(--ocre);color:var(--dark)}
details.menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 14px;border:2px solid var(--ink);font-weight:700}
details.menu summary::-webkit-details-marker{display:none}
details.menu .pop{position:absolute;left:0;right:0;top:calc(100% - 8px);background:var(--paper);border-bottom:2px solid var(--ink);border-top:1px solid var(--ink);display:grid}
.js details.menu .pop{grid-template-rows:0fr;transition:grid-template-rows var(--dur) var(--ease-in-out)}
.js details.menu.o .pop{grid-template-rows:1fr}
.pin{min-height:0;overflow:hidden}
.pin .in{padding:8px var(--gut) 16px;max-height:calc(100vh - 80px);overflow:auto;display:grid}
.pin a{min-height:44px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ink);text-decoration:none}
.pin .h{margin-top:14px;color:var(--mute)}
@media(min-width:560px){.seal{display:flex}}
@media(min-width:1100px){.links{display:flex}.theme{margin-left:0}details.menu{display:none}}
@media(max-width:480px){.wm{font-size:19px}.lock .m{width:22px;height:29px}.nav .row{gap:8px}}
.nav .badge-n{margin-left:4px}

/* ---------- 5. botões e links ---------- */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--ocre);color:var(--dark);border:2px solid var(--ink);padding:12px 22px;font:700 var(--fs-1)/1.15 var(--f-sans);text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:hover,.btn:focus-visible{background:var(--dark);color:var(--ocre)}
:root[data-theme=night] .btn,:root[data-theme=night] .btn:hover{border-color:var(--light)}
.btn:active{transform:scale(.98)}
.btn.sm{min-height:44px;padding:10px 14px;font-size:16px}
.btn.block{width:100%}
.btn.sec{background:transparent;color:var(--ink)}
.btn.sec:hover,.btn.sec:focus-visible{background:var(--ink);color:var(--paper)}
.btn.dest{background:var(--ink);color:var(--paper)}
.btn.dest:hover,.btn.dest:focus-visible{background:var(--telha);color:var(--on-telha);border-color:var(--ink)}
.btn.icon{padding:0;min-width:48px}
.btn.icon.sm{min-width:44px}
.btn[disabled],.btn[aria-disabled=true]{background:var(--paper-2);color:var(--mute);border-style:dashed;cursor:not-allowed;pointer-events:none}
.btn[aria-busy=true]{pointer-events:none}
.btn[aria-busy=true]::after{content:"";width:6px;height:6px;background:currentColor;animation:pulse 600ms var(--ease-in-out) infinite alternate;box-shadow:none}
.btn .door-ico{width:14px;height:18px;border:2px solid currentColor;position:relative;flex:none;perspective:60px}
.btn .door-ico i{position:absolute;inset:0;background:currentColor;transform-origin:left center;transition:transform var(--dur-fast) var(--ease-door)}
.btn:hover .door-ico i,.btn:focus-visible .door-ico i{transform:rotateY(62deg)}
.btn .t{display:inline-block;transition:transform var(--dur-fast) var(--ease-out)}
.btn:hover .t,.btn:focus-visible .t{transform:translateX(2px)}
@keyframes pulse{from{opacity:.25;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.txt{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:underline;border:2px solid transparent}
.txt:hover{background:var(--ocre);color:var(--dark)}
.link{font-weight:700}
.link:hover{background:var(--ocre);color:var(--dark)}
.cta{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;margin-top:28px}

/* chapa com número */
.plate{position:relative;display:inline-block;border:2px solid var(--ink);padding:2px;background:var(--paper);flex:none}
.plate b{position:relative;display:block;border:1px solid var(--ink);padding:2px 8px;font:500 13px/1.3 var(--f-mono);letter-spacing:.04em;color:var(--ink)}
.plate::before{content:"";position:absolute;inset:0;background:var(--ocre);opacity:0;transition:opacity var(--dur) var(--ease-out)}
.lit>.plate::before,.plate.lit::before,.step.lit .plate::before{opacity:1}
.lit>.plate b,.plate.lit b,.step.lit .plate b{color:var(--dark);border-color:var(--dark)}
.door .plate::before{background:var(--c)}
.door.on .plate b{color:var(--on);border-color:var(--on)}
.door.on .plate::before{opacity:1}
.plate.blink::before{animation:blink 240ms var(--ease-out)}
@keyframes blink{0%{opacity:0}40%{opacity:1}60%{opacity:.15}100%{opacity:1}}

/* ---------- 6. hero de serviço e porta ---------- */
.hero{padding-top:36px;display:grid;gap:32px}
.hero .hh{font-size:var(--fs-5);max-width:12ch}
.hero .sub{max-width:44ch;margin-top:20px;font-size:var(--fs-2)}
.facts1{margin-top:20px;max-width:60ch;line-height:1.7;color:var(--mute)}
.stage{display:flex;justify-content:center;align-items:flex-end;border:2px solid var(--ink);padding:24px 16px 0;background:color-mix(in srgb,var(--c) 14%,var(--paper));perspective:800px;overflow:hidden}
.frame{position:relative;width:min(60%,220px);aspect-ratio:100/220;perspective:800px}
.int,.lf{position:absolute;inset:0}
.int svg,.lf svg{width:100%;height:100%;overflow:visible}
.int svg{color:var(--ink)}
.lf svg{color:var(--on);--f:var(--c);--h:var(--on)}
.lf{transform-origin:10% 50%;transform:rotateY(0deg)}
.int .plate{position:absolute;left:50%;top:17%;transform:translateX(-50%);background:var(--light);border-color:var(--light)}
.int .plate b{color:var(--dark);border-color:var(--dark)}
.int .lg{opacity:.9}
.js .stage:not(.open) .int .lg{opacity:0}
.stage.open .lf{transform:rotateY(62deg);transition:transform var(--dur-door) var(--ease-door)}
.stage.open .int .lg{transition:opacity var(--dur-slow) var(--ease-out) 380ms}
@media(hover:hover){.hero:hover .stage.open .lf{transform:rotateY(74deg);transition-duration:var(--dur-slow)}}
@media(min-width:900px){.hero{grid-template-columns:1.25fr .75fr;align-items:end}.frame{width:min(80%,300px)}}
.hero.mini{padding-top:var(--s6)}

/* caixa de preço */
.svc{display:grid;gap:32px;margin-top:var(--s7)}
@media(min-width:960px){.svc{grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}}
.pbox .card{border:2px solid var(--ink);border-left:8px solid var(--c);padding:20px;background:var(--paper)}
@media(min-width:960px){.pbox{position:sticky;top:calc(var(--nav-h) + 24px)}}
.pbox .amt{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1}
.pbox .amt small{font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-left:8px}
.pbox ul{margin:16px 0;border-top:1px solid var(--ink)}
.pbox li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--ink);font-size:16px}
.pbox li .ico{margin-top:3px;color:var(--ok)}
.pbox .btn{width:100%}
.pbox .note{margin-top:12px;color:var(--mute);font-size:15px}
.pbar{display:none}
@media(max-width:959px){
  .pbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gut);background:var(--paper);border-top:2px solid var(--ink)}
  .pbar{flex-wrap:wrap}
  .pbar .amt{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1}
  body:has(.pbar){padding-bottom:100px}
}

/* ---------- 7. portas: cartão e seletor ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
@media(min-width:900px){.doors{grid-template-columns:repeat(4,1fr)}}
.doors.three{grid-template-columns:1fr}
@media(min-width:720px){.doors.three{grid-template-columns:repeat(3,1fr)}}
.door{position:relative;overflow:hidden;clip-path:inset(0);display:flex;flex-direction:column;align-items:flex-start;padding:16px 12px 14px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);color:var(--ink);--f:var(--paper);cursor:pointer;background:color-mix(in srgb,var(--c) 18%,var(--paper));transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur) var(--ease-out)}
@media(min-width:900px){.door{padding:20px 18px 16px}}
.door:active{transform:scale(.98)}
.door:hover,.door:focus-within{background:color-mix(in srgb,var(--c) 30%,var(--paper))}
.door.on{--f:var(--c);background:color-mix(in srgb,var(--c) 38%,var(--paper))}
.door:hover,.door:focus-within,.door.on{--mute:var(--ink)}
.dv{position:relative;width:62%;max-width:150px;aspect-ratio:100/220;margin:14px 0 12px;perspective:700px}
.dv svg{position:absolute;inset:0;width:100%;height:100%;color:var(--ink)}
.door.on .dv svg{color:var(--on)}
.dv::before{content:"";position:absolute;left:10%;right:10%;top:var(--t,9.1%);bottom:5.5%;background:var(--c);opacity:0;transition:opacity var(--dur) var(--ease-out)}
.door.arch .dv::before{clip-path:inset(0 round 50% 50% 0 0 / 22.5% 22.5% 0 0)}
.tab{position:absolute;top:16px;right:12px;width:14px;height:14px;background:var(--c);border:2px solid var(--ink)}
.leaf{position:absolute;inset:0;transform-origin:10% 50%;transform:rotateY(0deg);transition:transform var(--dur-slow) var(--ease-door)}
.sill{position:absolute;left:3%;right:3%;top:94.5%;height:3.64%;background:var(--ink)}
.strip{position:absolute;z-index:1;left:55%;right:-60%;top:36%;height:20%;background:var(--c);color:var(--on);border:2px solid var(--ink);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;opacity:0;transition:opacity var(--dur) var(--ease-out)}
.js .door:not(.in) .leaf{transform:rotateY(24deg)}
.door .pick{position:static;display:block;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer}
.door .pick::after{content:"";position:absolute;inset:0}
.door .pick:focus-visible{outline:0}
.door .pick:focus-visible::after{border:2px solid var(--ink);outline:3px solid var(--ring);outline-offset:-5px}
.door.tap .leaf{transform:rotateY(28deg)}
.door.tap .strip,.door.tap .dv::before{opacity:1}
@media(hover:hover){.door:hover .leaf,.door:focus-within .leaf{transform:rotateY(28deg)}.door:hover .strip,.door:hover .dv::before,.door:focus-within .strip,.door:focus-within .dv::before{opacity:1}}
.door h3{font-size:18px;line-height:1.15}
@media(min-width:900px){.door h3{font-size:20px}}
.door p{font-size:15px;line-height:1.35;color:var(--mute);margin-top:6px;flex:1}
.door .pr{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;border-top:1px solid var(--ink);padding-top:10px;font:500 16px var(--f-mono);min-height:44px}
.door .pr .act{font-family:var(--f-sans);font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.door.on .act{text-decoration-color:var(--c);text-decoration-thickness:4px}

/* porta dourada (Golden Visa): preenchida, puxadores em tinta, brilho unico e lento (polígono plano) */
.door.gold{--f:var(--c);--h:var(--on);--mute:var(--ink);background:color-mix(in srgb,var(--c) 42%,var(--paper))}
.door.gold:hover,.door.gold:focus-within{background:color-mix(in srgb,var(--c) 56%,var(--paper))}
.door.gold .dv svg{color:var(--on)}
.door.gold .plate::before{opacity:1}
.door.gold .plate b{color:var(--on);border-color:var(--on)}
.door.gold .tab{width:22px;height:22px}
.door.gold .dv::after{content:"";position:absolute;left:10%;right:10%;top:2.7%;bottom:5.5%;background:#FBFAF7;opacity:.55;pointer-events:none;clip-path:polygon(-30% 0,-14% 0,-34% 100%,-50% 100%);animation:goldshine 4.8s var(--ease-in-out) 1.2s infinite}
@keyframes goldshine{0%,58%{clip-path:polygon(-30% 0,-14% 0,-34% 100%,-50% 100%)}86%,100%{clip-path:polygon(120% 0,136% 0,116% 100%,100% 100%)}}

/* discovery call */
.callcta{margin-top:14px;font-size:15px;color:var(--mute)}
.callbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;border:2px solid var(--ink);border-left:8px solid var(--ocre);padding:12px 16px}
.callbar span{flex:1;min-width:200px}
.callcard{display:grid;gap:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;border:2px solid var(--ink);padding:20px;background:color-mix(in srgb,var(--c) 14%,var(--paper))}
.callcard .dv{width:72px;margin:0}
.callcard .dv svg{color:var(--ink);--f:var(--paper)}
.callcard .leaf{transform:rotateY(30deg);transition:none}
.pcall{flex-basis:100%;font-size:14px;text-align:center;color:var(--mute)}
.nav .links a.hl{display:none}
@media(min-width:1280px){.nav .links a.hl{display:inline-flex}}

/* ---------- 8. conteúdo ---------- */
/* percurso de passos */
.steps{position:relative;display:grid;margin-top:32px;border-top:2px solid var(--ink)}
.step{padding:20px 0;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:start}
.step .plate{grid-row:span 3}
.step h3{font-size:24px}
.step p{color:var(--mute);font-size:16px}
.step .tag{justify-self:start;background:var(--ocre);color:var(--dark);border:2px solid var(--ink);padding:3px 8px;font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.js .step:not(.lit) .tag{opacity:0;transform:translateY(4px)}
.js .step .tag{transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
@media(min-width:900px){.steps{grid-template-columns:repeat(var(--n,4),1fr)}.step{display:block;padding:20px 20px 24px;border-left:1px solid var(--ink);border-bottom:0}.step:first-child{border-left:0;padding-left:0}.step h3{margin:14px 0 6px}.step .tag{display:inline-block;margin-top:12px}}

/* faq / acordeão */
.faq{border-top:2px solid var(--ink)}
.acc{border-bottom:1px solid var(--ink)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 0;font-weight:700;font-size:19px;letter-spacing:-.01em;border:2px solid transparent}
.acc summary::-webkit-details-marker{display:none}
.acc summary .ico{transition:transform var(--dur) var(--ease-in-out)}
.acc[open] summary .ico{transform:rotate(180deg)}
.acc summary:hover{background:color-mix(in srgb,var(--ocre) 22%,var(--paper))}
.acc .ans{padding:0 0 20px;max-width:64ch;overflow:hidden}
.acc .ans>*+*{margin-top:12px}

/* tabela comparativa e de dados */
.tw{overflow-x:auto;border:2px solid var(--ink);-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:16px}
caption{text-align:left;padding:12px 16px;font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);caption-side:top}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--ink);vertical-align:top}
thead th{border-bottom:2px solid var(--ink);font-weight:700;white-space:nowrap;background:var(--paper)}
tbody tr:last-child>*{border-bottom:0}
tbody th{font-weight:700}
.cmp th:first-child,.cmp td:first-child{position:sticky;left:0;background:var(--paper);z-index:1;border-right:1px solid var(--ink)}
.cmp .hl{background:color-mix(in srgb,var(--ocre) 22%,var(--paper))}
.cmp thead .hl{background:var(--ocre);color:var(--dark)}
.cmp td{min-width:150px}
.dt tbody tr:hover>*{background:color-mix(in srgb,var(--ocre) 16%,var(--paper))}
.dt th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:32px;font-weight:700}
.dt th button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.dt th[aria-sort=ascending] button .ico,.dt th[aria-sort=descending] button .ico{color:var(--ink);background:var(--ocre);color:var(--dark)}
.dt th[aria-sort=descending] button .ico{transform:scaleY(-1)}
.dt .num{text-align:right;font-family:var(--f-mono)}

/* recibo */
.rcpt{max-width:520px;border:2px solid var(--ink);border-left:8px solid var(--c);background:var(--paper);padding:20px}
.rcpt .top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.rcpt .top h3{font-size:20px}
.rcpt .l{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--ink)}
.rcpt .l.t{border-bottom:2px solid var(--ink);font-size:22px;font-weight:700}
.rcpt .n{margin-top:10px;color:var(--mute);font-size:15px}
.rcpt .plate::before{background:var(--c);opacity:1}
.rcpt .plate b{color:var(--on);border-color:var(--on)}
.rcpt .btn{margin-top:20px;width:100%}
.sw1{animation:sw 160ms var(--ease-in-out)}
@keyframes sw{0%{opacity:1;transform:translateY(0)}49%{opacity:0;transform:translateY(-6px)}51%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}

/* callout */
.callout{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;border:2px solid var(--ink);border-left:8px solid var(--k,var(--ink));padding:14px 16px;background:var(--paper)}
.callout .ico{color:var(--k,var(--ink));margin-top:2px}
.callout .h{font-weight:700}
.callout .b{grid-column:2;color:var(--ink)}
.callout .b>*+*{margin-top:8px}
.callout.info{--k:var(--ink)}
.callout.warn{--k:var(--telha)}
.callout.ok{--k:var(--ok)}
.callout.err{--k:var(--error)}

/* prose */
.prose{max-width:68ch;font-size:18px;line-height:1.65}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(28px,3.6vw,38px);margin-top:1.8em;line-height:1.1}
.prose h3{margin-top:1.5em}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose a{font-weight:700}
.prose a:hover{background:var(--ocre);color:var(--dark)}
.prose ul,.prose ol{padding-left:0}
.prose ul>li,.prose ol>li{position:relative;padding-left:28px}
.prose ul>li+li,.prose ol>li+li{margin-top:.5em}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;background:var(--ocre);border:2px solid var(--ink)}
.prose ol{counter-reset:o}
.prose ol>li{counter-increment:o}
.prose ol>li::before{content:counter(o);position:absolute;left:0;top:.2em;font:500 13px/1 var(--f-mono);border:2px solid var(--ink);padding:3px 5px}
.prose blockquote{border-left:6px solid var(--ocre);padding:4px 0 4px 20px;font-size:22px;line-height:1.4;font-weight:700;letter-spacing:-.01em}
.prose blockquote cite{display:block;margin-top:8px;font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-style:normal}
.prose code{font:400 .88em var(--f-mono);background:var(--paper-2);border:1px solid var(--ink);padding:1px 5px}
.prose pre{border:2px solid var(--ink);background:var(--paper-2);padding:16px;overflow-x:auto;font:400 15px/1.5 var(--f-mono)}
.prose pre code{background:none;border:0;padding:0}
.prose .tw{font-size:16px}
.prose figure img{width:100%;border:2px solid var(--ink)}
.prose figcaption{margin-top:8px;color:var(--mute);font-size:15px}
.prose hr{margin:2em 0}
.prose .meta{color:var(--mute)}

/* breadcrumbs / paginação */
.crumbs{padding:20px 0 0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0}
.crumbs li{display:flex;align-items:center;color:var(--mute)}
.crumbs li+li::before{content:"/";margin:0 10px;color:var(--mute)}
.crumbs a{text-decoration:none;display:inline-flex;min-height:44px;align-items:center;border-bottom:2px solid transparent}
.crumbs a:hover{border-bottom-color:var(--ink)}
.crumbs [aria-current]{color:var(--ink)}
.pager ul{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pager a,.pager span.cur,.pager span.gap{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;border:2px solid var(--ink);text-decoration:none;font:500 15px var(--f-mono)}
.pager a:hover{background:var(--ink);color:var(--paper)}
.pager span.cur{background:var(--ocre);color:var(--dark)}
.pager span.gap{border-color:transparent}
.pager a[aria-disabled=true]{border-style:dashed;color:var(--mute);pointer-events:none}

/* badge */
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink);padding:2px 8px;font:500 12px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--paper)}
.badge::before{content:"";width:8px;height:8px;background:var(--k,var(--ink));flex:none}
.badge.ok{--k:var(--ok)}.badge.warn{--k:var(--telha)}.badge.err{--k:var(--error)}.badge.ocre{--k:var(--ocre)}.badge.neutral{--k:var(--mute)}
.badge.num{background:var(--ocre);color:var(--dark);border-color:var(--dark);padding:0 6px}
.badge.num::before{display:none}

/* carimbos de estado */
.stamp{display:inline-block;transform:rotate(-4deg);border:3px solid var(--k,var(--ink));padding:3px;color:var(--k,var(--ink));background:transparent}
.stamp span{display:block;border:1px solid var(--k,var(--ink));padding:6px 14px;font:700 15px/1.1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;text-align:center}
.stamp small{display:block;margin-top:4px;font:400 11px var(--f-mono);letter-spacing:.08em;opacity:.9}
.stamp.signed{--k:var(--ok)}
.stamp.filed{background:var(--ocre);--k:var(--dark)}
.js .stamp.fx:not(.land){opacity:0;transform:rotate(-4deg) scale(1.7)}
.stamp.fx.land{animation:land 320ms var(--ease-out) 1}
@keyframes land{0%{opacity:0;transform:rotate(-12deg) scale(1.7)}60%{opacity:1;transform:rotate(-3deg) scale(.96)}100%{transform:rotate(-4deg) scale(1)}}

/* timeline vertical */
.tl{position:relative;border-left:2px solid var(--ink);margin-left:9px}
.tl li{position:relative;padding:0 0 28px 28px}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:"";position:absolute;left:-11px;top:2px;width:20px;height:20px;background:var(--paper);border:2px solid var(--ink)}
.tl li.done::before{background:var(--ink)}
.tl li.now::before{background:var(--ocre)}
.tl li.now{font-weight:700}
.tl .when{display:block;color:var(--mute);font-weight:500}
.tl .what{display:block;font-weight:700}
.tl p{font-weight:500;color:var(--mute);margin-top:2px}

/* barra de progresso por passos */
.pstep{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:2px solid var(--ink)}
.pstep li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-left:1px solid var(--ink);min-width:0}
.pstep li:first-child{border-left:0}
.pstep .n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border:2px solid var(--ink);font:500 13px var(--f-mono)}
.pstep .t{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pstep .done .n{background:var(--ink);color:var(--paper)}
.pstep .now{background:var(--ocre);color:var(--dark)}
.pstep .now .n{border-color:var(--dark)}
@media(max-width:560px){.pstep .t{display:none}.pstep .now .t{display:block}.pstep{grid-auto-columns:auto}.pstep .now{flex:1}}

/* tabs */
.tabs [role=tablist]{display:flex;gap:0;border-bottom:2px solid var(--ink);overflow-x:auto}
.tabs [role=tab]{background:none;border:0;border-bottom:6px solid transparent;margin-bottom:-2px;padding:12px 18px;min-height:48px;font-weight:700;white-space:nowrap}
.tabs [role=tab]:hover{background:color-mix(in srgb,var(--ocre) 22%,var(--paper))}
.tabs [role=tab][aria-selected=true]{border-bottom-color:var(--ocre);box-shadow:none;background:var(--paper);outline-offset:-3px}
.tabs [role=tabpanel]{padding:24px 0 0}
.tabs [role=tabpanel]:focus-visible{outline-offset:4px}

/* tooltip */
.tip{position:relative;display:inline-block}
.tip>button,.tip>.tt-t{background:none;border:0;padding:0;text-decoration:underline dotted;text-underline-offset:4px;cursor:help;font:inherit}
.tip [role=tooltip]{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:30;width:max-content;max-width:min(260px,70vw);background:var(--ink);color:var(--paper);padding:8px 12px;font-size:15px;line-height:1.35;font-weight:500;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}
.tip:hover [role=tooltip],.tip:focus-within [role=tooltip]{opacity:1}
.tip.esc [role=tooltip]{opacity:0}

/* ---------- 9. formulários ---------- */
.field{display:grid;gap:6px}
.field>label,.field>legend,.field .lbl{font-weight:700}
.field .req{color:var(--telha)}
.field .hint{color:var(--mute);font-size:15px}
.field .msg{display:none;align-items:flex-start;gap:8px;color:var(--error);font-weight:700;font-size:15px}
.field.bad .msg{display:flex}
.field.bad .ctl{border-color:var(--error);border-left-width:8px}
.ctl{width:100%;min-height:48px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:10px 14px;font:500 var(--fs-1)/1.4 var(--f-sans);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.ctl::placeholder{color:var(--mute);opacity:1}
.ctl:hover{background:color-mix(in srgb,var(--ocre) 10%,var(--paper))}
.ctl:focus-visible{outline:3px solid var(--ring);outline-offset:2px;background:var(--paper)}
.ctl:disabled{background:var(--paper-2);color:var(--mute);border-style:dashed;cursor:not-allowed}
textarea.ctl{min-height:120px;resize:vertical}
.sel{position:relative}
.sel select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.sel .ico{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}
fieldset.field{border:0;padding:0;min-width:0}
.opt{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:8px 0;cursor:pointer}
.opt input{appearance:none;-webkit-appearance:none;flex:none;width:26px;height:26px;margin:0;border:2px solid var(--ink);background:var(--paper);display:grid;place-content:center;cursor:pointer}
.opt input::after{content:"";width:12px;height:12px;background:var(--dark);transform:scale(0);transition:transform var(--dur-fast) var(--ease-out)}
.opt input:checked{background:var(--ocre);border-color:var(--ink)}
.opt input:checked::after{transform:scale(1)}
.opt input[type=checkbox]::after{clip-path:polygon(0 52%,14% 38%,38% 62%,86% 8%,100% 22%,38% 92%)}
.opt input:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.opt input:disabled{border-style:dashed;background:var(--paper-2);cursor:not-allowed}
.opt .t{display:block;font-weight:700}
.opt .d{display:block;color:var(--mute);font-weight:500;font-size:15px}
.opt:has(input:disabled){color:var(--mute);cursor:not-allowed}

/* upload */
.drop{border:2px dashed var(--ink);padding:28px 20px;text-align:center;display:grid;gap:8px;justify-items:center;background:var(--paper);transition:background-color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out);position:relative}
.drop .ico{width:32px;height:32px}
.drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop:focus-within{outline:3px solid var(--ring);outline-offset:2px}
.drop.over{background:color-mix(in srgb,var(--ocre) 30%,var(--paper));border-style:solid;transform:scale(1.005)}
.drop.bad{border-color:var(--error)}
.drop .btn{position:relative;z-index:1;pointer-events:none}
.files{margin-top:12px;border-top:2px solid var(--ink)}
.files li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ink)}
.files .nm{font-weight:700;overflow-wrap:anywhere}
.files .sz{color:var(--mute);font:400 12px var(--f-mono);text-transform:uppercase;letter-spacing:.06em}
.files .er{grid-column:2/-1;color:var(--error);font-weight:700;font-size:15px}
.files li.bad .ico:first-child{color:var(--error)}
.files li.good .ico:first-child{color:var(--ok)}
.files button{background:none;border:2px solid var(--ink);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.files button:hover{background:var(--ink);color:var(--paper)}

/* ---------- 10. app, estados ---------- */
.empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:var(--s7) var(--gut);border:2px dashed var(--ink)}
.empty .dv{width:92px;margin:0 0 8px}
.empty .dv svg{color:var(--ink)}
.empty .leaf{transform:rotateY(34deg);transition:none}
.empty h3{font-size:24px}
.empty p{color:var(--mute);max-width:42ch}
.skel{display:grid;gap:12px}
.skel i{display:block;height:16px;background:var(--paper-2);border:1px solid var(--ink);opacity:.9;animation:sk 900ms var(--ease-in-out) infinite alternate}
.skel i.t{height:28px;width:55%}
.skel i:nth-child(odd){width:92%}
@keyframes sk{from{opacity:.45}to{opacity:1}}
.loader{display:inline-block;width:28px;aspect-ratio:100/220;height:auto;position:relative;perspective:200px}
.loader svg{position:absolute;inset:0;width:100%;height:100%;color:var(--ink)}
.loader .leaf{animation:opn 1200ms var(--ease-door) infinite alternate;transition:none}
@keyframes opn{from{transform:rotateY(0)}to{transform:rotateY(62deg)}}

.toasts{position:fixed;z-index:70;right:16px;left:16px;bottom:16px;display:grid;gap:8px;justify-items:end;pointer-events:none}
@media(min-width:720px){.toasts{left:auto;width:380px}}
body:has(.pbar) .toasts{bottom:92px}
.toast{pointer-events:auto;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;background:var(--paper);border:2px solid var(--ink);border-left:8px solid var(--k,var(--ink));padding:12px 14px;animation:rise var(--dur) var(--ease-out)}
.toast.ok{--k:var(--ok)}.toast.warn{--k:var(--telha)}.toast.err{--k:var(--error)}
.toast .ico{color:var(--k,var(--ink));margin-top:2px}
.toast button{background:none;border:0;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
.toast.out{opacity:0;transform:translateY(8px);transition:opacity var(--dur) var(--ease-in),transform var(--dur) var(--ease-in)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.toast.static{animation:none}

dialog.modal{border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:0;max-width:min(560px,calc(100vw - 32px));width:100%;margin:auto}
dialog.modal::backdrop{background:rgba(22,18,15,.62)}
dialog.modal[open]{animation:rise var(--dur) var(--ease-out)}
.modal .mh{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:2px solid var(--ink)}
.modal .mh h2{font-size:24px;letter-spacing:-.02em}
.modal .mb{padding:20px}
.modal .mf{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--ink)}
.modal .x{background:none;border:2px solid var(--ink);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.modal .x:hover{background:var(--ink);color:var(--paper)}

.note-card{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:start;padding:16px;border:2px solid var(--ink);background:var(--paper);position:relative;text-decoration:none;color:inherit}
.note-card.unread{border-left:8px solid var(--ocre)}
.note-card .ic{width:40px;height:40px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center}
.note-card.unread .ic{background:var(--ocre);color:var(--dark)}
.note-card .ti{font-weight:700}
.note-card .tx{grid-column:2;color:var(--mute);font-size:16px}
.note-card .tm{font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
a.note-card:hover{background:color-mix(in srgb,var(--ocre) 14%,var(--paper))}

/* cartão genérico e painel da app */
.panel{border:2px solid var(--ink);background:var(--paper);padding:20px}
.panel>h2,.panel>h3{margin-bottom:12px}
.panel.c-ocre{background:var(--ocre);color:var(--dark);border-color:var(--dark)}
.kv{border-top:2px solid var(--ink)}
.kv>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--ink);font-size:16px}
.kv dt{color:var(--mute)}.kv dd{margin:0;overflow-wrap:anywhere}
.app-wrap{padding:var(--s6) 0 var(--s8)}
.app-title{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:flex-end;margin-bottom:var(--s6)}
.app-title h1{font-size:clamp(32px,4.4vw,52px)}
.nav.app .links{margin-left:auto}
.bnav{display:none}
@media(max-width:1099px){
  .bnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--paper);border-top:2px solid var(--ink)}
  .bnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;text-decoration:none;font:500 11px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;border-top:4px solid transparent;margin-top:-2px}
  .bnav a[aria-current]{border-top-color:var(--ocre);background:color-mix(in srgb,var(--ocre) 16%,var(--paper))}
  body.app{padding-bottom:60px}
  body.app .toasts{bottom:72px}
}

/* ---------- 11. faixa final, rodapé ---------- */
.close{margin-top:var(--s9);padding:48px 0;background:var(--ocre);color:var(--dark);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.close .wrap{display:grid;gap:28px;align-items:center}
.close .eyebrow{color:var(--dark)}
.close .stage{border-color:var(--dark);background:var(--ocre)}
.close .lf svg{--f:var(--light);color:var(--dark)}
.close .int svg{color:var(--dark)}
.close p.sub{margin-top:14px;max-width:40ch;font-size:19px}
.close .btn{background:var(--dark);color:var(--ocre);border-color:var(--dark)}
.close .btn:hover,.close .btn:focus-visible{background:var(--light);color:var(--dark)}
@media(min-width:900px){.close .wrap{grid-template-columns:1.2fr .8fr}}
.sitefoot{margin-top:var(--s9);background:var(--dark);color:var(--light);padding:40px 0;border-top:2px solid var(--ink)}
.close+.sitefoot,.sec+.sitefoot{margin-top:0}
.sitefoot .wrap{display:grid;gap:32px}
.sitefoot .seal{display:inline-flex;border-color:var(--light);color:var(--light)}
.sitefoot .seal img{height:28px}
.sitefoot .lock{color:var(--light)}
.sitefoot .lock .m{--f:var(--ocre)}
.sitefoot .cols{display:grid;gap:28px}
.sitefoot h2{font:400 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#CFC8BD;margin-bottom:10px}
.sitefoot li a{display:inline-flex;min-height:36px;align-items:center}
.sitefoot a{text-underline-offset:4px}
.sitefoot a:hover{background:var(--ocre);color:var(--dark)}
.sitefoot .big{font-size:17px;line-height:1.6}
.sitefoot .law{max-width:64ch;border-top:1px solid #6b645b;padding-top:20px;font-size:16px;color:#E4DED3}
.sitefoot .mono{color:#CFC8BD}
@media(min-width:720px){.sitefoot .cols{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.sitefoot .wrap{grid-template-columns:1fr 2fr}.sitefoot .law,.sitefoot .legal{grid-column:1/-1}}
.draft-bar{background:var(--telha);color:var(--on-telha);border-bottom:2px solid var(--ink);padding:10px var(--gut);font:500 13px/1.4 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;text-align:center}

/* ---------- movimento reduzido ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .door.gold .dv::after{display:none}
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
  .js .rv,.js .stamp.fx:not(.land){opacity:1!important;transform:none!important}
  .js .door:not(.in) .leaf{transform:none}
  .js .step:not(.lit) .tag{opacity:1;transform:none}
}
/* porta dourada: destaque permanente (decisao 14-10-2026) */
.door.gold{outline:6px solid var(--c);outline-offset:-6px;z-index:1}
.door.gold .dv{width:74%;max-width:176px}

/* ---------- consentimento (tracking.js) e modo anuncio ---------- */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--paper);color:var(--ink);border-top:2px solid var(--ink);padding:16px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.ck-t{max-width:68ch;font-size:16px;margin:0}
.ck-t a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.ck-a{display:flex;gap:12px;flex:none}
.ck-b{min-height:48px;min-width:112px;padding:12px 22px;background:var(--ocre);color:var(--dark);border:2px solid var(--ink);font:700 var(--fs-1)/1.15 var(--f-sans);cursor:pointer}
.ck-b:hover,.ck-b:focus-visible{background:var(--dark);color:var(--ocre)}
:root[data-theme=night] .ck-b{border-color:var(--light)}
@media(max-width:559px){.ck-a{width:100%}.ck-b{flex:1}}
/* modo anuncio: cabecalho so com marca, Free call e Start; sem desvios */
.is-ad .nav .links a:not(.hl):not(.btn),.is-ad .nav details.menu,.is-ad .nav .seal,.is-ad .nav .theme{display:none}
.is-ad .nav .links a.hl{display:inline-flex}
.is-ad .sitefoot .cols>div:first-child,.is-ad .sitefoot .cols>div:nth-child(2),.is-ad .sitefoot .seal{display:none}
.is-ad .sitefoot a[href*="blog/"],.is-ad .sitefoot a[href*="app/login"]{display:none}
@media(max-width:1279px){.is-ad .nav .links{display:flex;margin-left:auto}.is-ad .nav .links a.btn{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.ck,.ck-b{transition:none!important}}

/* correcoes do rastreio (390 px): colunas unicas nao crescem com o conteudo */
.svc{grid-template-columns:minmax(0,1fr)}
.svc>*{min-width:0}
.svc table,.prose table{display:block;max-width:100%;overflow-x:auto}
.door{overflow:hidden;clip-path:inset(0)}
@media(min-width:960px){.svc{grid-template-columns:minmax(0,1fr) 340px}}

main table{display:block;max-width:100%;overflow-x:auto}
.stage{box-sizing:border-box;max-width:100%;min-width:0}
.stage>*{max-width:100%}
.stamp{max-width:100%}
.close .wrap>*{min-width:0}
.btn{max-width:100%}
.btn .t{white-space:normal;text-align:left}
.nav .btn .t{white-space:nowrap}
.nav .seal{flex:none}
.nav .seal img{max-width:none;flex:none}
.nav .theme{flex:none;white-space:nowrap;min-width:max-content;padding-inline:12px}
.nav .links{min-width:0}

/* traducoes (RU, UK): palavras longas nao empurram colunas */
.callcard>*{min-width:0}
.callcard .btn .t,.callcard .btn{white-space:normal;overflow-wrap:anywhere}
.stamp{max-width:100%;overflow-wrap:anywhere}
:lang(ru) .stamp span,:lang(uk) .stamp span{letter-spacing:.06em;font-size:13px}

/* painel de detalhes da porta (home) */
.dd-wrap{margin-top:32px;scroll-margin-top:96px}
.dd{border:2px solid var(--ink);background:color-mix(in srgb,var(--c,var(--ocre)) 12%,var(--paper));padding:24px;animation:ddIn var(--dur,200ms) var(--ease-out,ease-out)}
.dd[hidden]{display:none}
@keyframes ddIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dd{animation:none}}
.dd-h{display:flex;gap:16px;align-items:flex-start}
.dd-h .lead{margin:6px 0 0;max-width:60ch}
.dd-h h3{margin:4px 0 0}
.dd-grid{display:grid;gap:28px;margin-top:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.dd-grid>div{min-width:0}
.dd h4{margin:0 0 10px;color:var(--mute);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.dd .kv>div{padding:8px 0;border-top:1px solid var(--ink)}
.dd .ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dd .ticks li{display:flex;gap:10px;align-items:flex-start}
.dd .ticks .ico{flex:none;margin-top:3px}
.dd .mini{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:m}
.dd .mini li{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--ink)}
.dd .mini .when{color:var(--mute);font-size:12px}
.dd-cta{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.dd .kv>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.dd .kv dt{margin:0}.dd .kv dd{margin:0}

/* calendario de marcacao embutido */
.book{display:grid;gap:12px;justify-items:start}
.book-frame{width:100%;border:2px solid var(--ink);background:var(--paper);min-height:120px}
.book-frame[hidden]{display:none}
.book-ifr{display:block;width:100%;height:760px;border:0;background:var(--paper)}
@media(max-width:640px){.book-ifr{height:820px}}
.book .note{margin:0}

/* cabecalho: CTA nunca sobreposto ao botao Night (EN, PT, RU, UK) */
.nav .links{flex:0 1 auto;flex-wrap:nowrap}
.nav .links .btn{flex:none}
@media(min-width:1100px) and (max-width:1439px){.nav .seal{display:none}}
@media(min-width:1100px) and (max-width:1599px){
  html:lang(ru) .nav:not(.app) .links,html:lang(uk) .nav:not(.app) .links{display:none}
  html:lang(ru) .nav:not(.app) details.menu,html:lang(uk) .nav:not(.app) details.menu{display:block}
  html:lang(ru) .nav:not(.app) .theme,html:lang(uk) .nav:not(.app) .theme{margin-left:auto}
}

/* placa de preco da porta: nunca cortada pelo cartao (precos mais longos: $7,990, From $22/mo) */
.strip{left:46%;right:auto;width:max-content;max-width:108%;padding:0 8px;white-space:nowrap;font-size:13px;letter-spacing:0;justify-content:center}
/* o selo "by Blue Ocean" do cabecalho deixa de caber com a navegacao completa: fica no rodape e no menu */
@media(min-width:1100px){.nav:not(.app) .seal{display:none}}

/* WhatsApp: botao flutuante e icone no cabecalho */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;background:var(--ocre);color:#16120F;border:2px solid var(--ink);text-decoration:none;font-weight:700}
.wa-float .t{white-space:nowrap}
.wa-float small{display:none;margin-left:4px;font-size:11px;font-weight:400;letter-spacing:.02em}
.wa-float:hover{background:var(--ink);color:var(--paper)}
.wa-float:focus-visible{outline:3px solid var(--ring,var(--ocre));outline-offset:3px}
@media(min-width:900px){.wa-float small{display:block}}
body:has(#rp-ck) .wa-float{bottom:calc(var(--ck-h,150px) + 16px)}
@media(max-width:640px){body:has(#rp-ck) .wa-float{bottom:220px}}
.nav .links .wa-ico{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:2px solid transparent;text-decoration:none;flex:none}
.nav .links .wa-ico:hover{border-color:var(--ink)}
/* bloco de confianca */
.trust{border-block:2px solid var(--ink);background:color-mix(in srgb,var(--ocre) 9%,var(--paper))}
.trust-list{list-style:none;margin:0;padding:20px 0;display:grid;gap:14px 36px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.trust-list li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.trust-list .ico{flex:none;margin-top:3px}
.trust-list span{min-width:0}
/* fotografia do escritorio e retrato */
.photo{margin:0;display:grid;gap:8px}
.photo img{display:block;width:100%;height:auto;border:2px solid var(--ink);background:var(--paper)}
.photo.wide img{aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
.photo.sq img{aspect-ratio:1/1;object-fit:cover;max-width:240px}
.photo figcaption{font-size:14px;color:var(--mute)}
.people{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(min-width:1100px) and (max-width:1399px){.nav .links{gap:4px 12px}.nav .links a:not(.btn){font-size:15px}}

/* H1 mais longo na home (palavra-chave): limite de tamanho */
.hero .hh{font-size:clamp(34px,4.6vw,68px);line-height:1.04}
.hero .hh{max-width:18ch}

/* seletor de lingua da discovery call: o estado escolhido tem de ser evidente */
#lang .btn{position:relative;padding-left:44px}
#lang .btn::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--ink);background:var(--paper);box-sizing:border-box}
#lang .btn[aria-pressed="true"]{background:var(--ocre);color:#16120F;border-color:var(--ink);border-bottom-width:6px}
#lang .btn[aria-pressed="true"]::before{background:var(--ink)}
#lang .btn[aria-pressed="true"]::after{content:"";position:absolute;left:19px;top:50%;width:6px;height:10px;margin-top:-7px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}
#lang .btn[aria-pressed="false"]:hover{background:color-mix(in srgb,var(--ocre) 25%,var(--paper))}

.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* comparacao das portas: linhas, sem rolar; em ecras estreitos esconde a coluna "Result" */
.cmp-doors td{min-width:0}
.cmp-doors th:first-child,.cmp-doors td:first-child{position:static;border-right:0}
.cmp-doors tbody th{white-space:nowrap;font-weight:500}
.cmp-doors tbody th .plate{margin-right:6px;vertical-align:middle}
.cmp tr.hl>*{background:color-mix(in srgb,var(--ocre) 22%,var(--paper))}
@media(max-width:640px){.cmp .mob-hide{display:none}.cmp-doors th,.cmp-doors td{padding:10px 8px;font-size:15px}.cmp-doors tbody th{white-space:normal}}
