/* Mega CPU v2 — o texto do edital é a interface.
   Sistema: uma família (Archivo), uma cor de ação (amarelo-sinal), campos de cor chapados, sem gradiente/sombra em repouso.
   Espaço em escala de 4. Movimento: saída exponencial, <300ms na interface, só transform/opacity. */
:root{
  --ground:#F3F4F1; --mist:#E7EAEE; --mist-2:#D8DDE4;
  --ink:#0B1F3A; --ink-2:#132C52; --ink-3:#25457A;
  --accent:#FFC81E; --accent-d:#EBB400;
  --slate:#475872; --field-line:#9AA8BB; --ok:#0E7A52; --danger:#B3261E;
  --on-dark:#E8EDF6; --on-dark-2:#B4C3DD;

  --f:'Archivo','Arial Narrow',Arial,sans-serif;
  --wrap:1320px; --gut:clamp(20px,4vw,48px);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --sec:clamp(64px,9vw,136px);
  --r:2px; --r-m:4px;

  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --t-fast:140ms; --t-ui:200ms; --t-enter:520ms;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--ink-3) var(--mist)}
body{margin:0;font-family:var(--f);font-stretch:100%;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--ink)}
input,textarea{caret-color:var(--ink-3)}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--ink-3);border:3px solid var(--mist);border-radius:99px}::-webkit-scrollbar-track{background:var(--mist)}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.22em;text-decoration-color:var(--ink-3)}
a:hover{text-decoration-color:var(--accent-d)}
.dark a:not(.btn){text-decoration-color:var(--accent)}

/* tipografia: três papéis (display, título, texto). A largura do eixo faz a voz. */
h1,h2,h3,h4{font-family:var(--f);font-weight:800;font-stretch:122%;line-height:1.02;letter-spacing:-.03em;margin:0 0 var(--s5);text-wrap:balance}
h1{font-size:clamp(2.6rem,6.4vw,6rem);line-height:.96;letter-spacing:-.04em;font-stretch:125%}
h2{font-size:clamp(1.9rem,3.8vw,3.25rem)}
h3{font-size:1.3rem;font-stretch:112%;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--s3)}
p{margin:0 0 var(--s4);max-width:66ch;text-wrap:pretty}
ul,ol{padding-left:1.2em}
.lead{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5;color:var(--slate);max-width:52ch}
.muted{color:var(--slate)}
.dark{background:var(--ink);color:var(--on-dark)}
.dark .lead,.dark .muted{color:var(--on-dark-2)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 6px var(--ink);border-radius:var(--r)}
.dark :focus-visible{box-shadow:0 0 0 6px var(--ink-2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--ink);padding:.6em 1em;z-index:200;font-weight:700}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{padding:var(--sec) 0}
section+section.tight{padding-top:0}

/* botões: quadrados, uma cor de ação. Resposta ao toque: scale(.97) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:700 1rem/1 var(--f);font-stretch:108%;padding:1.05em 1.5em;border-radius:var(--r);border:2px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-blue{background:var(--ink);color:#fff}
.btn-ghost{border-color:currentColor;background:transparent;color:inherit}
@media(hover:hover) and (pointer:fine){
  .btn-primary:hover{background:var(--accent-d)}
  .btn-blue:hover{background:var(--ink-3)}
  .btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
  .dark .btn-ghost:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--ink)}
}
.btn-sm{padding:.8em 1.1em;font-size:.9rem}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* cabeçalho */
.topbar{background:var(--ink);color:var(--on-dark-2);font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:var(--s4);padding-top:var(--s2);padding-bottom:var(--s2);flex-wrap:wrap}
.topbar a{text-decoration:none;color:var(--on-dark)}
.topbar a:hover{color:var(--accent)}
.topbar nav{display:flex;gap:var(--s5);flex-wrap:wrap}
.hdr{position:sticky;top:0;z-index:100;background:var(--ground)}
.hdr .wrap{display:flex;align-items:center;gap:var(--s6);min-height:76px}
.logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);font-weight:900;font-stretch:125%;font-size:1.5rem;letter-spacing:-.05em}
.logo i{font-style:normal;background:var(--accent);padding:.04em .3em;margin-left:.08em}
.nav{display:flex;gap:var(--s1);margin:0 0 0 auto;padding:0;align-items:center}
.nav>li{list-style:none;position:relative}
.nav a.top,.nav button.top{font:600 .95rem var(--f);color:var(--ink);text-decoration:none;padding:.75em .85em;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4em;border-radius:var(--r);transition:background-color var(--t-fast) var(--ease-out)}
.nav .on>.top{text-decoration:underline;text-decoration-color:var(--accent-d);text-decoration-thickness:3px;text-underline-offset:.45em}
.nav .caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--t-ui) var(--ease-out)}
.nav li.open .caret{transform:rotate(225deg) translateY(-2px)}
.drop{position:absolute;left:0;top:100%;min-width:280px;background:var(--ink);color:var(--on-dark);padding:var(--s2);list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transform-origin:top left;pointer-events:none;
  transition:opacity var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),visibility 0s linear var(--t-fast);box-shadow:0 20px 40px -16px rgba(11,31,58,.5)}
.nav li.open>.drop,.nav li:focus-within>.drop{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
@media(hover:hover) and (pointer:fine){
  .nav a.top:hover,.nav button.top:hover{background:var(--mist)}
  .nav li:hover>.drop{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
}
.drop a{display:block;padding:.65em .85em;color:var(--on-dark);text-decoration:none;font-size:.95rem;border-radius:var(--r);transition:background-color var(--t-fast) var(--ease-out)}
.drop a:hover{background:var(--ink-3)}
.drop small{display:block;color:var(--on-dark-2);font-size:.8rem}
.cart-link{background:var(--ink);color:#fff!important;padding:.75em 1.1em!important;margin-left:var(--s2)}
.cart-link b{background:var(--accent);color:var(--ink);border-radius:99px;min-width:1.55em;height:1.55em;display:inline-grid;place-items:center;font-size:.78rem}
.cart-link b[data-n="0"]{display:none}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:var(--r);padding:.55em .9em;font:700 .9rem var(--f);cursor:pointer;color:var(--ink)}
@media(max-width:1060px){
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ground);flex-direction:column;align-items:stretch;padding:var(--s3) var(--gut) var(--s5);max-height:80vh;overflow:auto}
  .nav.show{display:flex}
  .drop{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;background:var(--mist);color:var(--ink);margin:0 0 var(--s2) var(--s3);padding:var(--s1);display:none}
  .nav li.open>.drop{display:block}
  .drop a{color:var(--ink)}.drop a:hover{background:var(--mist-2)}.drop small{color:var(--slate)}
  .nav .caret{display:none}
  .cart-link{margin:var(--s2) 0 0;justify-content:center}
}

/* hero: um campo de cor, a frase do edital como interface */
.hero{background:var(--ink);color:var(--on-dark);padding:clamp(48px,7vw,104px) 0 0;position:relative}
.hero .wrap{position:relative}
.hero h1{max-width:15ch;color:#fff;margin-bottom:var(--s6)}
.hero-row{display:flex;gap:var(--s7);align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--s8)}
.hero .lead{color:var(--on-dark-2);margin:0}
.hero .acts{display:flex;gap:var(--s3);flex-wrap:wrap}
.item{background:var(--ground);color:var(--ink);padding:clamp(24px,4vw,56px);margin-bottom:calc(var(--sec) * -.5);position:relative;z-index:2}
.item-head{display:flex;gap:var(--s6);align-items:center;margin-bottom:var(--s5)}
.item-art{width:clamp(96px,14vw,200px);flex:none;background:var(--mist);padding:var(--s3)}
.item h2{font-size:clamp(1.2rem,2vw,1.6rem);margin:0 0 var(--s1)}
.item-head p{margin:0;color:var(--slate);font-size:.95rem}
.item-text{font-size:clamp(1.15rem,2.2vw,1.75rem);line-height:1.75;font-weight:500;letter-spacing:-.01em;max-width:none;margin:0 0 var(--s5);text-wrap:pretty}
.tok{font:inherit;font-weight:800;color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer;
  background:var(--accent) no-repeat right .45em center/.55em url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230B1F3A' stroke-width='2'/%3E%3C/svg%3E");
  border:0;border-radius:var(--r);padding:.02em 1.35em .04em .32em;min-height:0;width:auto;max-width:100%;
  transition:background-color 900ms var(--ease-out),transform var(--t-fast) var(--ease-out)}
.tok:active{transform:scale(.98)}
.tok.flash{background-color:#fff;transition:none}
@media(hover:hover) and (pointer:fine){.tok:hover{background-color:var(--accent-d)}}
.cfg-acts{display:flex;gap:var(--s3);flex-wrap:wrap}
.item .btn-ghost{color:var(--ink)}

/* caminhos de contratação: blocos tipográficos, sem ícone */
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}
.path{background:var(--mist);padding:var(--s6) var(--s5) var(--s7);min-height:280px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s7)}
.path h3{font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1;margin:0}
.path p{margin:0;color:var(--slate);font-size:.98rem}
.path:nth-child(2){background:var(--mist-2)}
.path:nth-child(3){background:var(--ink);color:var(--on-dark)}.path:nth-child(3) p{color:var(--on-dark-2)}
.path:nth-child(4){background:var(--accent)}.path:nth-child(4) p{color:var(--ink)}
@media(max-width:960px){.paths{grid-template-columns:1fr 1fr}.path{min-height:220px}}
@media(max-width:520px){.paths{grid-template-columns:1fr}}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s6);margin-bottom:var(--s8);flex-wrap:wrap}
.sec-head h2{margin:0;max-width:20ch}
.sec-head p{margin:var(--s4) 0 0}

/* categorias */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(235px,auto);gap:var(--s2)}
.tile{position:relative;background:var(--mist);padding:var(--s6);text-decoration:none;color:var(--ink);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:background-color var(--t-ui) var(--ease-out)}
.tile h3{margin:0;font-size:1.5rem}
.tile p{margin:var(--s2) 0 0;font-size:.95rem;color:var(--slate);max-width:30ch}
.tile .art{position:absolute;right:-8px;bottom:-6px;width:min(55%,300px);transition:transform 320ms var(--ease-out)}
.tile .go{font-weight:700;font-size:.92rem;margin-top:auto;padding-top:var(--s4);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.3em;text-decoration-color:transparent;transition:text-decoration-color var(--t-fast)}
@media(hover:hover) and (pointer:fine){
  .tile:hover{background:var(--mist-2);color:var(--ink)}
  .tile:hover .art{transform:translate(-8px,-6px)}
  .tile:hover .go{text-decoration-color:currentColor}
}
.tile:active{transform:scale(.99)}
.tile.t1{grid-column:span 3;grid-row:span 2;background:var(--ink);color:#fff}
.tile.t1 p{color:var(--on-dark-2)}
.tile.t1 h3{font-size:clamp(2rem,3.4vw,3rem)}
.tile.t1 .art{width:80%;right:-4%}
.tile.t2,.tile.t3{grid-column:span 3}
.tile.t4,.tile.t5,.tile.t6{grid-column:span 2}
.tile.t4 .art,.tile.t5 .art,.tile.t6 .art{width:50%}
.tile.t4 p,.tile.t5 p,.tile.t6 p{max-width:none}
.tile.t7{grid-column:span 6;background:var(--accent);min-height:210px}
.tile.t7 p{color:var(--ink);max-width:40ch}
.tile.t7 .art{width:min(40%,340px);right:3%;bottom:-18px}
@media(hover:hover) and (pointer:fine){.tile.t1:hover{background:var(--ink-2);color:#fff}.tile.t7:hover{background:var(--accent-d)}}
@media(max-width:860px){.bento{grid-template-columns:1fr 1fr}.tile.t1,.tile.t7{grid-column:span 2}.tile.t1{grid-row:span 1;min-height:280px}.tile.t2,.tile.t3,.tile.t4,.tile.t5,.tile.t6{grid-column:span 1;min-height:230px}.tile .art{width:58%!important}}
@media(max-width:520px){.bento{grid-template-columns:1fr}.tile.t1,.tile.t7,.tile.t2,.tile.t3,.tile.t4,.tile.t5,.tile.t6{grid-column:span 1}}

/* processo: a sequência vira barra que cresce (sem numeração) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);list-style:none;padding:0;margin:0}
.steps li::before{content:"";display:block;height:12px;background:var(--accent);margin-bottom:var(--s5);width:calc(25% * var(--n))}
.steps li:nth-child(1){--n:1}.steps li:nth-child(2){--n:2}.steps li:nth-child(3){--n:3}.steps li:nth-child(4){--n:4}
.steps h3{color:#fff}
.steps p{color:var(--on-dark-2);font-size:.98rem}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.docs{list-style:none;padding:0;margin:var(--s6) 0 0;display:grid;gap:var(--s2)}
.docs li{background:var(--mist);padding:var(--s5)}
.docs b{display:block;font-weight:700;font-stretch:108%}
.docs span{color:var(--slate);font-size:.95rem}
.docs svg{display:none}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.cols2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}
@media(max-width:820px){.cols3,.cols2{grid-template-columns:1fr}}
.card{background:var(--mist);padding:var(--s6)}
.card h3{margin-top:0}
.card.dk{background:var(--ink);color:#fff}
.card.dk p{color:var(--on-dark-2)}
.card .ic{display:none}
a.card{transition:background-color var(--t-ui) var(--ease-out)}
@media(hover:hover) and (pointer:fine){a.card:hover{background:var(--mist-2)}}

.cta{background:var(--accent);color:var(--ink)}
.cta .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s7);flex-wrap:wrap}
.cta h2{margin:0;max-width:16ch;font-size:clamp(2rem,4.6vw,4rem)}
.cta .btn-ink{background:var(--ink);color:#fff}
.cta .btn-ghost:hover{background:var(--ink);color:#fff}

/* rodapé: o nome volta em largura total */
.ftr{background:var(--ink);color:var(--on-dark-2);font-size:.95rem;padding:var(--s10) 0 var(--s6);overflow:hidden}
.ftr a{color:var(--on-dark);text-decoration:none}
.ftr a:hover{color:var(--accent);text-decoration:underline}
.ftr-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:var(--s7)}
.ftr h4{font-size:1rem;color:#fff;font-stretch:108%;letter-spacing:-.01em;margin-bottom:var(--s4)}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s2)}
.ftr .logo{color:#fff;margin-bottom:var(--s4)}
.ftr .logo i{color:var(--ink)}
.news{display:flex;gap:var(--s2);margin-top:var(--s4);max-width:400px;flex-wrap:wrap}
.news input{background:var(--ink-2);border-color:var(--ink-3);color:#fff}
.news .result{flex-basis:100%}
.news .notice{font-size:.85rem;padding:var(--s3)}
.news .err{flex-basis:100%;color:#FFB4AD}
.ftr-mark{font-weight:900;font-stretch:125%;font-size:clamp(4.5rem,21vw,19rem);letter-spacing:-.06em;line-height:.78;color:var(--ink-2);margin:var(--s9) 0 var(--s6) -.04em;white-space:nowrap;user-select:none}
.ftr-bot{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;font-size:.85rem}
@media(max-width:860px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ftr-grid{grid-template-columns:1fr}}

/* páginas internas */
.phead{background:var(--ink);color:#fff;padding:clamp(56px,8vw,120px) 0 clamp(48px,6vw,88px)}
.phead h1{font-size:clamp(2.4rem,6vw,5.2rem);margin-bottom:var(--s4);max-width:18ch}
.phead p{color:var(--on-dark-2);font-size:clamp(1.1rem,1.6vw,1.35rem);margin:0;max-width:52ch}
.crumbs{font-size:.88rem;margin-bottom:var(--s7);color:var(--on-dark-2)}
.crumbs a{color:var(--on-dark)}
.crumbs span{margin:0 .6em;opacity:.6}
.prose h2{font-size:clamp(1.5rem,2.4vw,2.1rem);margin-top:var(--s9)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:var(--s7)}
.prose li{margin-bottom:var(--s2);max-width:66ch}
.aside-box{background:var(--mist);padding:var(--s6);position:sticky;top:104px}
.layout-side{display:grid;grid-template-columns:var(--cols,1fr 360px);gap:clamp(32px,6vw,96px);align-items:start}
@media(max-width:900px){.layout-side{grid-template-columns:1fr}.aside-box{position:static}}
.layout-side>*,.two>*,.shop>*,.pdp>*{min-width:0}
.tag{display:inline-block;font:700 .78rem var(--f);padding:.35em .7em;border-radius:99px;background:var(--mist-2);color:var(--ink-2)}
.tag.ok{background:#CFEBDD;color:#0A4F36}
.tag.warn{background:#FFE9A8;color:#5E4500}
.tag.ex{background:#FFD9D5;color:#7A140D}

/* formulários (campos têm linha: é onde ela comunica) */
.form{display:grid;gap:var(--s5)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
@media(max-width:620px){.form .row{grid-template-columns:1fr}}
.form label,.fld{font-size:.92rem;font-weight:700;display:flex;flex-direction:column;gap:var(--s2)}
.form .help{font-weight:400;color:var(--slate);font-size:.85rem}
.form .err{color:var(--danger);font-size:.85rem;font-weight:600}
select,input,textarea{font:400 1rem var(--f);color:var(--ink);background:#fff;border:1.5px solid var(--field-line);border-radius:var(--r);padding:.75em .85em;width:100%;min-height:48px;max-width:100%;transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}
select:hover,input:hover,textarea:hover{border-color:var(--ink-3)}
select:focus,input:focus,textarea:focus{border-color:var(--ink)}
textarea{min-height:128px;resize:vertical}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--ink)}
.form input.bad,.form select.bad,.form textarea.bad{border-color:var(--danger);background:#FFF6F5}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{padding:var(--s5);font-size:.98rem;background:var(--mist)}
.notice.ok{background:#D6EFE2;color:#0A4F36}
.notice.warn{background:#FFF0C2;color:#5E4500}
.notice p{margin:0 0 var(--s3);max-width:none}
.notice p:last-child{margin:0}
.notice .acts{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}

/* catálogo (modo operar: previsível e denso) */
.shop{display:grid;grid-template-columns:280px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:900px){.shop{grid-template-columns:1fr}}
.filters{background:var(--mist);padding:var(--s5);position:sticky;top:100px}
@media(max-width:900px){.filters{position:static}}
.filters fieldset{border:0;padding:0;margin:0 0 var(--s5)}
.filters legend{font:800 1rem var(--f);font-stretch:112%;padding:0;margin-bottom:var(--s3)}
.filters label{display:flex;gap:var(--s2);align-items:center;font-size:.95rem;padding:var(--s1) 0;cursor:pointer}
.filters label em{margin-left:auto;font-style:normal;color:var(--slate);font-size:.82rem}
.bar{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s5);flex-wrap:wrap}
.bar input{flex:1;min-width:200px}
.bar select{width:auto}
.count{color:var(--slate);font-size:.92rem;margin:0 0 var(--s4)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--s2)}
.pc{background:var(--mist);display:flex;flex-direction:column;transition:background-color var(--t-ui) var(--ease-out)}
.pc-art{background:var(--mist-2);padding:var(--s5) var(--s7);display:block}
.pc-art svg{transition:transform 320ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.pc:hover .pc-art svg{transform:scale(1.04)}}
.pc-body{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);flex:1}
.pc h3{margin:0;font-size:1.15rem}
.pc h3 a{text-decoration:none}
.pc h3 a:hover{text-decoration:underline}
.pc .sub{font-size:.85rem;color:var(--slate);margin:0}
.pc dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s4);font-size:.88rem}
.pc dt{color:var(--slate)}
.pc dd{margin:0;font-weight:600}
.pc .foot{display:flex;gap:var(--s2);margin-top:auto;padding-top:var(--s3)}
.pc .foot .btn{flex:1}
.empty{padding:var(--s9) var(--s5);text-align:center;background:var(--mist)}
.empty p{margin-left:auto;margin-right:auto}

/* produto */
.pdp{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start}
@media(max-width:900px){.pdp{grid-template-columns:1fr}}
.pdp-art{background:var(--mist);padding:clamp(24px,5vw,64px);position:sticky;top:104px}
@media(max-width:900px){.pdp-art{position:static}}
.pdp .item{margin:0;background:var(--mist);padding:var(--s6)}
.pdp .item-text{font-size:clamp(1.1rem,1.7vw,1.4rem)}
.spec{width:100%;border-collapse:collapse;font-size:.98rem}
.spec th,.spec td{text-align:left;padding:var(--s3) var(--s4);vertical-align:top;background:var(--mist)}
.spec tr:nth-child(even) th,.spec tr:nth-child(even) td{background:var(--ground)}
.spec th{width:34%;font-weight:700}

/* orçamento */
.qline{display:grid;grid-template-columns:104px 1fr auto;gap:var(--s5);padding:var(--s5);background:var(--mist);align-items:start;margin-bottom:var(--s2)}
.qline .qa{background:var(--mist-2);padding:var(--s2)}
.qline h3{margin:0 0 var(--s1);font-size:1.1rem}
.qline p{font-size:.88rem;color:var(--slate);margin:0;max-width:60ch}
.qty{display:inline-flex;background:#fff;border:1.5px solid var(--field-line);border-radius:var(--r);overflow:hidden;align-items:center}
.qty button{width:40px;height:44px;border:0;background:var(--mist);font:700 1.1rem var(--f);cursor:pointer;color:var(--ink);transition:background-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}
.qty button:active{transform:scale(.92)}
.qty input{width:56px;border:0;text-align:center;min-height:44px;padding:0;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.rm{background:none;border:0;color:var(--danger);cursor:pointer;font:600 .88rem var(--f);margin-top:var(--s3);padding:0;text-decoration:underline}
@media(max-width:560px){.qline{grid-template-columns:72px 1fr}.qline>div:last-child{grid-column:1/-1}}

/* atas / faq / abas */
.ata{display:grid;grid-template-columns:1fr auto;gap:var(--s5);background:var(--mist);padding:var(--s6);align-items:center}
.ata h3{margin:0 0 var(--s2)}
.ata dl{display:flex;gap:var(--s2) var(--s6);flex-wrap:wrap;margin:var(--s4) 0 0;font-size:.92rem}
.ata dt{color:var(--slate);display:inline}
.ata dd{display:inline;margin:0 0 0 var(--s1);font-weight:600}
@media(max-width:620px){.ata{grid-template-columns:1fr}}
.faq details{background:var(--mist);padding:var(--s5);margin-bottom:var(--s2)}
.faq summary{cursor:pointer;font-weight:700;font-stretch:108%;list-style:none;display:flex;justify-content:space-between;gap:var(--s4)}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;transition:transform var(--t-ui) var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:var(--s4) 0 0;color:var(--slate)}
.tabs{display:flex;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s6)}
.tabs button{font:700 .92rem var(--f);border:2px solid var(--ink);background:transparent;color:var(--ink);padding:.65em 1.1em;border-radius:99px;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}
.tabs button:active{transform:scale(.97)}
.tabs button[aria-pressed=true]{background:var(--ink);color:#fff}

/* downloads / drivers */
.dl{display:grid;grid-template-columns:72px 1fr auto;gap:var(--s5);align-items:center;background:var(--mist);padding:var(--s5)}
.dl .fmt{display:grid;place-items:center;width:72px;height:72px;background:var(--ink);color:var(--accent);font:800 .85rem var(--f);font-stretch:118%}
.dl h3{margin:0 0 var(--s1);font-size:1.1rem}
.dl p{margin:0 0 var(--s1);font-size:.95rem;color:var(--slate)}
@media(max-width:620px){.dl{grid-template-columns:56px 1fr}.dl .fmt{width:56px;height:56px}.dl>div:last-child{grid-column:1/-1}}
.cp{padding:var(--s6) 0}
.cp h2{border-bottom:4px solid var(--accent);padding-bottom:var(--s2)}
.cpi{break-inside:avoid;margin:var(--s6) 0 var(--s7)}
.cpi h3 small{font-weight:400;color:var(--slate);font-size:.8rem;margin-left:var(--s2)}
.tr-print{font-size:.88rem;margin-top:var(--s3)}

/* toast: entra rápido, sai mais rápido ainda */
.toast{position:fixed;left:50%;bottom:var(--s6);transform:translate(-50%,16px);background:var(--ink);color:#fff;padding:.95em 1.4em;border-left:6px solid var(--accent);opacity:0;pointer-events:none;
  transition:opacity 120ms var(--ease-out),transform 120ms var(--ease-out);z-index:300;font-size:.95rem;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0);transition-duration:240ms}

/* entrada orquestrada: partes da seção, em cascata de 60ms. Conteúdo visível se o script falhar. */
html.js [data-r]{opacity:0;transform:translateY(22px);transition:opacity var(--t-enter) var(--ease-out) calc(var(--i,0) * 60ms),transform var(--t-enter) var(--ease-out) calc(var(--i,0) * 60ms)}
html.js [data-r].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js [data-r]{transform:none;transition:opacity 200ms linear}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .tok{transition:none}
}

@media print{
  .topbar,.hdr,.ftr,.cta,.no-print,.skip{display:none!important}
  body{background:#fff}
  .phead{background:#fff;color:#000;padding:0}.phead p,.crumbs{display:none}
  section{padding:12px 0}
  html.js [data-r]{opacity:1;transform:none}
}

.tr{background:var(--mist);padding:var(--s5);margin-bottom:var(--s5)}
.tr b{display:block;margin-bottom:var(--s2)}
.tr p{margin:0}

.nav a.cart-link{background:var(--ink);color:#fff!important;padding:.75em 1.1em!important;margin-left:var(--s2)}
@media(hover:hover) and (pointer:fine){.nav a.cart-link:hover{background:var(--ink-3)}}
@media(max-width:1060px){.nav a.cart-link{margin:var(--s2) 0 0}}

@media(max-width:700px){.item-head{flex-direction:column;align-items:flex-start;gap:var(--s4)}.item-art{width:112px}.topbar nav a:not(:first-child){display:none}.hero-row{margin-bottom:var(--s7)}}

/* v2.1: painel "Monte o item" contido no hero, em duas colunas (sem sobreposição) */
.hero{padding-bottom:clamp(40px,6vw,96px)}
.item{margin-bottom:0;z-index:auto;display:block;padding:clamp(24px,3.5vw,56px)}
.item.has-head{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.item.has-head .item-head{flex-direction:column;align-items:flex-start;gap:var(--s4);margin:0}
.item.has-head .item-art{width:100%;max-width:240px}
.item.has-head .item-head h2{font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.1;margin:0}
.item-text{font-size:clamp(1.05rem,1.75vw,1.5rem);line-height:1.8;margin-bottom:var(--s6)}
@media(max-width:900px){.item.has-head{grid-template-columns:1fr}.item.has-head .item-head{flex-direction:row;align-items:center}.item.has-head .item-art{width:96px;flex:none}}
@media(max-width:520px){.item.has-head .item-head{flex-direction:column;align-items:flex-start}.item-text{line-height:1.85}.cfg-acts .btn{flex:1 1 100%}}

/* v2.1: títulos não estouram em 375px */
h1{font-size:clamp(2.05rem,6.4vw,6rem)}
.phead h1{font-size:clamp(2.05rem,6vw,5.2rem);overflow-wrap:anywhere}
@media(max-width:420px){h1{letter-spacing:-.035em}}
/* v2.1: coluna do item não cresce com o seletor mais largo */
.item,.item-main,.item-head{min-width:0}
@media(max-width:900px){.item.has-head{grid-template-columns:minmax(0,1fr)}}
.tok{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;vertical-align:baseline}
@media(max-width:520px){
  .item.has-head .item-head{flex-direction:row;align-items:center;gap:var(--s3)}
  .item.has-head .item-art{width:72px;padding:var(--s2)}
  .item.has-head .item-head p{display:none}
  .item.has-head .item-head h2{font-size:1.15rem}
  .item{padding:var(--s5) var(--s4)}
}

.form .row.row3{grid-template-columns:1.4fr 1fr 1fr}
@media(max-width:820px){.form .row.row3{grid-template-columns:1fr}}
