/* =========================================================
   ACG · seções da landing page
   Referências: 08 Apex (painéis que invadem o hero, curva de
   transição) + 09 Skystructure (bloco modular, caso em destaque).
========================================================= */

/* ---------- 01 · hero: prancha técnica ---------- */
.hero{position:relative;z-index:2;background-color:var(--noite);color:#fff;padding:calc(var(--hd) + 4rem) 0 0;
  background-image:
    linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px),
    linear-gradient(rgba(179,166,214,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(179,166,214,.06) 1px,transparent 1px);
  background-size:240px 240px,240px 240px,24px 24px,24px 24px;background-position:-1px -1px}
.coord{position:absolute;color:var(--aco);opacity:.75;font-variant-numeric:tabular-nums}
.coord--tl{left:var(--pad);top:calc(var(--hd) + 1rem)}
.coord--tr{right:var(--pad);top:calc(var(--hd) + 1rem)}
.hero__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
.tag{display:flex;align-items:center;gap:.7rem;color:var(--aco);text-transform:uppercase;letter-spacing:.14em}
.tag i{width:.7rem;height:.7rem;border:2px solid var(--ambar);border-radius:1px}
.hero h1{font-size:clamp(2.3rem,3.7vw,3.4rem);font-weight:800;margin-top:1.4rem}
.lead{margin-top:1.4rem;font-size:1.12rem;line-height:1.65;color:var(--muted);max-width:42ch}
.hero .lead,.lead--claro{color:var(--claro-2)}
.hero__acts{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem 1.8rem;margin-top:2.2rem}
.hero__fatos{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:2.4rem;padding-top:1.2rem;border-top:1px dashed var(--linha-forte);color:var(--aco)}
.hero__fatos li::before{content:"+ ";color:var(--ambar)}

/* prancha: navegador + celular + cotas */
.prancha{position:relative;padding:2.4rem 3.5rem 3.2rem 0}
.nav-mock{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.08)}
.nav-mock__bar{display:flex;align-items:center;gap:.4rem;height:2rem;padding:0 .8rem;background:#ECE9F3;border-bottom:1px solid #DAD4E6}
.nav-mock__bar span{width:.55rem;height:.55rem;border-radius:50%;background:#C2B9D6;flex:none}
.nav-mock__bar p{margin-left:.8rem;flex:1;min-width:0;background:#fff;border-radius:3px;padding:.1rem .6rem;color:#62577D;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cel{position:absolute;right:0;bottom:0;width:26%;border:6px solid #0E0820;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);pointer-events:none}
.cota{position:absolute;color:var(--ambar);display:flex;align-items:center;gap:.6rem;font-size:.7rem}
.cota i{flex:1;height:1px;background:var(--ambar);position:relative}
.cota--top{left:0;right:3.5rem;top:.6rem}
.cota--top i:first-child::before,.cota--top i:last-child::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--ambar)}
.cota--top i:first-child::before{left:0}.cota--top i:last-child::after{right:0}
.cota--cel{right:0;bottom:-1.6rem;width:26%;justify-content:center;border-top:1px solid var(--ambar);padding-top:.3rem}
.prancha figcaption{position:absolute;left:0;bottom:.4rem;color:var(--aco);font-size:.7rem}

/* ---------- comparador esboço × site pronto (elemento-assinatura) ---------- */
.comp{container-type:inline-size;position:relative;aspect-ratio:16/10;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.comp__final{width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none}
.comp__esboco{position:absolute;inset:0;background-color:var(--noite-2);
  background-image:linear-gradient(var(--linha-forte) 1px,transparent 1px),linear-gradient(90deg,var(--linha-forte) 1px,transparent 1px);background-size:4% 6.4%;
  clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.w{position:absolute;display:block}
.w--barra{border-bottom:1px solid var(--aco)}
.w--caixa,.w--img{border:1.5px solid var(--aco);color:var(--aco);font:500 1.45cqw/1.1 var(--m);display:grid;place-items:center;text-align:center;overflow:hidden}
.w--cheio{background:rgba(179,166,214,.18)}
.w--h1{border-color:#fff;color:#fff;font-size:2.3cqw}
.w--linha{height:2px;background:var(--aco);opacity:.6}
.w--linhas{background:repeating-linear-gradient(to bottom,var(--aco) 0 2px,transparent 2px 30%);opacity:.55}
.w--img{background-image:linear-gradient(to top right,transparent calc(50% - .5px),var(--linha-forte) 50%,transparent calc(50% + .5px)),
  linear-gradient(to top left,transparent calc(50% - .5px),var(--linha-forte) 50%,transparent calc(50% + .5px))}
.w--img span{background:var(--noite-2);padding:.1rem .35rem;font-size:1.8cqw}
.w--cota{height:0;border-top:1px solid var(--ambar);color:var(--ambar);font-size:1.4cqw;line-height:1;text-align:center;padding-top:.3cqw}
.w--cota::before,.w--cota::after{content:"";position:absolute;top:-4px;width:1px;height:8px;background:var(--ambar)}
.w--cota::before{left:0}.w--cota::after{right:0}
.comp__linha{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:var(--ambar);pointer-events:none}
.comp__alca{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%);width:2.75rem;height:2.75rem;border-radius:50%;
  background:var(--ambar);border:3px solid var(--noite);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.45);touch-action:none;
  transition:transform .2s var(--ease)}
.comp__alca:hover,.comp--arrastando .comp__alca{transform:translate(-50%,-50%) scale(1.08)}
.comp__alca svg{width:1.15rem;height:1.15rem;fill:none;stroke:var(--noite);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.comp__rot{position:absolute;top:.6rem;padding:.15rem .5rem;font-size:.66rem;background:var(--noite);color:var(--ambar);pointer-events:none;transition:opacity .2s}
.comp__rot--e{left:.6rem}.comp__rot--f{right:.6rem}
.comp--so-final .comp__rot--e,.comp--so-esboco .comp__rot--f{opacity:0}
.comp__dica{position:absolute;left:var(--x);bottom:.8rem;transform:translateX(-50%);background:var(--noite);color:var(--ambar);padding:.25rem .6rem;font-size:.66rem;white-space:nowrap;pointer-events:none;transition:opacity .4s}
.comp--mexeu .comp__dica{opacity:0}

/* três painéis que atravessam a borda do hero */
.paineis{position:relative;z-index:2;display:grid;grid-template-columns:5fr 4fr 3.4fr;margin-top:3rem;transform:translateY(5rem)}
.painel{padding:1.8rem 1.8rem 2rem;min-height:21rem;display:flex;flex-direction:column;gap:1.1rem}
.painel__k{text-transform:lowercase;color:var(--aco);font-weight:500}
.painel--a{background:var(--noite-2);border:1px solid var(--linha-forte)}
.painel--b{background:var(--noite-3);border:1px solid var(--linha-forte);border-left:0}
.painel--c{background:var(--papel-2);color:var(--tinta);border:1px solid var(--borda);box-shadow:0 30px 60px -40px rgba(20,10,42,.6)}
.painel--c .painel__k{color:var(--aco-esc)}
.spec li{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.7rem 0;border-top:1px dashed var(--linha-forte)}
.spec b{font-weight:650;font-stretch:112%}
.spec span{color:var(--claro-2);font-size:.95rem;line-height:1.45}
.passos li{display:flex;gap:1rem;align-items:center;padding:.6rem 0;font-weight:600;font-stretch:112%;border-bottom:1px dashed var(--linha-forte)}
.passos span{color:var(--ambar)}
.painel--b .lnk{margin-top:auto;align-self:flex-start}
.mini{display:grid;grid-template-columns:7.5rem 1fr;gap:.9rem;align-items:center;font-weight:600;font-stretch:110%}
.mini img{aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--borda);transition:transform .3s var(--ease)}
.mini:hover img{transform:translateY(-2px)}
.mini span::after{content:" →";color:var(--ambar-esc)}

/* ---------- seções ---------- */
.sec{padding-block:6.5rem}
.sec__h{display:grid;gap:1rem;max-width:44rem;margin-bottom:3.4rem}
.sec h2{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:780}
.trab h2 em,.proc h2 em,.quem h2 em,.duv h2 em{color:var(--aco-esc)}

/* curva de transição do hero para o papel (ref. 08) */
.trab{position:relative;padding-top:10rem}
.trab::before{content:"";position:absolute;left:0;right:0;top:-1px;height:7rem;background:var(--noite);border-radius:0 0 50% 50% / 0 0 100% 100%}

/* ---------- 03 · trabalhos: o caso com abas ---------- */
.caso{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:3.5rem;align-items:center}
.caso__vis{position:relative;padding-bottom:3rem}
.abas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.abas button{background:var(--papel-2);border:1px solid var(--borda);padding:.5rem .85rem;border-radius:2px;color:var(--muted);transition:background-color .2s,color .2s}
.abas button:hover{color:var(--tinta)}
.abas button[aria-selected=true]{background:var(--noite);border-color:var(--noite);color:#fff}
.telas{position:relative;aspect-ratio:16/10;background:var(--papel)}
.telas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transform:scale(1.015);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.telas img.on{opacity:1;transform:none}
.nota{position:absolute;background:var(--ambar);color:var(--noite);padding:.3rem .55rem;font-size:.7rem;font-weight:600;white-space:nowrap}
#caso-nota{left:0;bottom:.4rem}
.caso__txt h3{font-size:2.4rem;font-weight:800;margin-top:.6rem}
.caso__txt>p{margin-top:1rem;color:var(--muted)}
.caso__txt strong{color:var(--tinta)}
.entregas{margin-top:1.4rem;display:grid;gap:.45rem;font-size:.82rem}
.entregas li::before{content:"✓ ";color:var(--ambar-esc);font-weight:700}
.selo{display:inline-block;margin-top:1.4rem;border:1.5px solid var(--tinta);padding:.25rem .6rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}

/* "Explorar o site": a miniatura abre a cópia navegável numa janela */
.nav-mock--caso{position:relative}
.explorar{position:absolute;inset:2rem 0 0;display:grid;place-items:center;background-color:rgba(20,10,42,0);transition:background-color .25s}
.explorar__k{display:inline-flex;align-items:center;gap:.55rem;background:var(--ambar);color:var(--noite);padding:.75rem 1.15rem;font-weight:650;font-stretch:110%;
  box-shadow:4px 4px 0 var(--noite);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease)}
.explorar svg{width:1rem;height:1rem;fill:var(--noite)}
.explorar:hover,.explorar:focus-visible{background-color:rgba(20,10,42,.38)}
.explorar:hover .explorar__k,.explorar:focus-visible .explorar__k{opacity:1;transform:none}
@media (hover:none){.explorar{place-items:end end;padding:.7rem}.explorar__k{opacity:1;transform:none;padding:.55rem .85rem;font-size:.9rem}}
.caso__acts{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.6rem}
.caso__acts .selo{margin-top:0}

/* janela de demonstração: um navegador desenhado na prancha */
.demo{width:min(96vw,1520px);height:94vh;height:94svh;max-width:none;max-height:none;padding:0;border:1px solid var(--linha-forte);
  background:var(--noite);color:#fff;flex-direction:column;overflow:hidden}
.demo[open]{display:flex}
.demo::backdrop{background:rgba(12,6,25,.84)}
html.demo-aberta{overflow:hidden}
.demo__bar{display:flex;align-items:center;gap:.9rem;padding:.55rem .8rem;background:var(--noite-4);border-bottom:1px solid var(--linha-forte)}
.demo__pontos{display:flex;gap:.4rem}
.demo__pontos i{width:.6rem;height:.6rem;border-radius:50%;background:var(--aco-esc)}
.demo__url{flex:1;min-width:0;display:flex;background:var(--noite-2);border:1px solid var(--linha);padding:.4rem .8rem;color:var(--claro);white-space:nowrap;overflow:hidden}
.demo__url span:last-child{overflow:hidden;text-overflow:ellipsis}
.demo__cad::before{content:"https://";color:var(--aco-esc)}
.demo__tam{display:flex}
.demo__tam button,.demo__fechar{background:transparent;border:1px solid var(--linha-forte);color:var(--claro);padding:.4rem .75rem;font-size:.78rem;transition:background-color .2s,color .2s,border-color .2s}
.demo__tam button+button{border-left:0}
.demo__tam button[aria-pressed=true]{background:var(--ambar);border-color:var(--ambar);color:var(--noite)}
.demo__fechar{color:#fff}
.demo__fechar:hover{border-color:var(--ambar);color:var(--ambar)}
.demo__palco{position:relative;flex:1;min-height:0;display:grid;place-items:center;
  background-image:linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px);background-size:24px 24px}
.demo iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.demo--cel iframe{width:390px;height:min(844px,calc(100% - 3.4rem));border:10px solid #0E0820;border-radius:30px;box-sizing:content-box}
.cota--demo{display:none;left:50%;bottom:.35rem;transform:translateX(-50%)}
.demo--cel .cota--demo{display:flex}
.demo__n{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;padding:.5rem .9rem;border-top:1px solid var(--linha-forte);color:var(--aco);font-size:.74rem;line-height:1.4}
.demo__n b{color:var(--ambar);font-weight:600}

.casos2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.4rem;margin-top:4.5rem}
.caso2{display:grid;grid-template-columns:1.1fr 1fr;background:var(--papel-2);border:1px solid var(--borda)}
.caso2 img{width:100%;height:100%;object-fit:cover;min-height:15rem}
.caso2>div{padding:1.6rem}
.caso2 h3{font-size:1.7rem;font-weight:780;margin:.5rem 0 .6rem}
.caso2 p{color:var(--muted);font-size:.97rem}
.caso2--vazio{display:flex;flex-direction:column;gap:.6rem;padding:1.6rem;background:transparent;border:1.5px dashed var(--aco-esc);transition:border-color .2s,background-color .2s;
  background-image:linear-gradient(rgba(93,74,140,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(93,74,140,.08) 1px,transparent 1px);background-size:24px 24px}
.caso2--vazio .lnk{margin-top:auto;align-self:flex-start}
.caso2--vazio:hover{border-color:var(--ambar-esc);background-color:var(--papel-2)}

/* ---------- 04 · critério: diff de revisão ---------- */
.diff-sec{background:var(--noite);color:#fff}
.diff-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:4rem;align-items:center}
.diff-sec h2{margin-top:1rem}
.diff{background:var(--noite-4);border:1px solid var(--linha-forte);border-radius:4px;font-size:.88rem;line-height:1.5}
.diff figcaption{display:flex;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--linha-forte);color:var(--aco)}
.diff p{padding:.45rem 1rem}
.diff .m{color:#9C90B8;background:rgba(194,65,12,.12);text-decoration:line-through;text-decoration-color:rgba(194,65,12,.6)}
.diff .p{color:#fff;background:rgba(242,181,68,.10);border-left:2px solid var(--ambar)}
/* com JS: começa "antes da revisão" e o botão aplica a revisão linha por linha */
.diff--js .m{transition:color .3s,background-color .3s,text-decoration-color .3s;transition-delay:calc(var(--i) * 140ms)}
.diff--js .p{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s var(--ease),opacity .4s,padding .4s;transition-delay:calc(var(--i) * 140ms + 120ms)}
.diff--antes .m{color:var(--claro);background:transparent;text-decoration-color:transparent}
.diff--antes .p{grid-template-rows:0fr;opacity:0;padding-block:0;overflow:hidden}

/* ---------- 06 · processo: a cota se desenha com a rolagem ---------- */
.proc{background:var(--papel-2)}
.etapas{display:grid;grid-template-columns:repeat(4,1fr);position:relative;border-top:1px solid var(--borda-2)}
.etapas::before{content:"";position:absolute;left:0;right:0;top:-5px;height:9px;border-inline:1px solid var(--tinta)}
.etapas::after{content:"";position:absolute;left:0;top:-2px;height:3px;width:calc(var(--p) * 100%);background:var(--ambar)}
.etapas li{padding:2rem 1.6rem 0 0;position:relative}
.etapas li+li{padding-left:1.6rem;border-left:1px dashed var(--borda-2)}
.etapas__n{font-family:var(--m);font-size:3rem;font-weight:500;color:transparent;-webkit-text-stroke:1px var(--aco-esc);line-height:1;transition:color .4s,-webkit-text-stroke-color .4s}
.etapas li.on .etapas__n{color:var(--noite-3);-webkit-text-stroke-color:var(--noite-3)}
.etapas h3{font-size:1.3rem;font-weight:750;margin:1rem 0 .5rem}
.etapas p{color:var(--muted);font-size:.96rem}
.entrega{margin-top:1rem;color:var(--ambar-esc)!important;font-size:.76rem!important}
.compromissos{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:3.5rem;margin-top:4rem;padding-top:2rem;border-top:1px dashed var(--borda-2)}
.compromissos li{display:flex;align-items:center;gap:1rem}
.compromissos b{font-size:3.4rem;font-weight:850;font-stretch:125%;line-height:1;color:var(--tinta)}
.compromissos span{max-width:15ch;color:var(--muted);font-size:.95rem;line-height:1.35}

/* ---------- 07 · para quem + sobre ---------- */
.quem__g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:4rem;align-items:end}
.quem h2{margin-top:1rem}
.nichos{display:flex;flex-wrap:wrap;gap:.6rem}
.nichos li{border:1px solid #C8BFDB;background:var(--papel-2);padding:.6rem .9rem;font-size:.85rem}
.nichos li:nth-child(3n+1){border-color:var(--tinta)}
.sobre{margin-top:5rem;padding-top:2.4rem;border-top:1px solid var(--borda-2);display:grid;grid-template-columns:14rem 1fr;gap:2rem}
.sobre__t{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:500;font-stretch:105%;line-height:1.3;max-width:34ch}

/* ---------- 05 · raio-x: folha de inspeção presa na prancha roxa ---------- */
.rx{background:var(--noite-3);color:#fff}
.rx__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4.5rem;align-items:center}
.rx h2{margin-top:1rem}
.rx__itens{display:grid;gap:.5rem;margin:1.8rem 0 2.2rem;color:var(--claro)}
.rx__itens li::before{content:"+ ";color:var(--ambar)}
.laudo{background:var(--papel-2);color:var(--tinta);border:1px solid var(--noite-4);box-shadow:8px 8px 0 var(--noite-4)}
.laudo__topo{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.3rem;border-bottom:1px solid var(--borda-2);color:var(--aco-esc)}
.laudo__ex{background:var(--ambar);color:var(--noite);padding:.15rem .5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:600}
.laudo__nome{padding:1.3rem 1.3rem .5rem;font-size:1.65rem;font-weight:800;font-stretch:118%;line-height:1.1}
.laudo__nome span{display:block;margin-top:.35rem;font-size:.74rem;font-weight:400;color:var(--muted)}
.laudo__l li{display:grid;grid-template-columns:2.2rem 5.6rem minmax(0,1fr) minmax(0,1fr);gap:.9rem;align-items:start;padding:1rem 1.3rem;border-top:1px dashed var(--borda-2);font-size:.92rem;line-height:1.45}
/* triângulo de revisão, como nas pranchas de desenho (e na logo) */
.laudo__n{width:2.2rem;height:1.95rem;background:var(--ambar);clip-path:polygon(50% 0,100% 100%,0 100%);display:grid;place-items:end center;padding-bottom:.12rem;color:var(--noite);font-size:.8rem;font-weight:600}
.laudo__onde{color:var(--aco-esc);font-size:.74rem;padding-top:.2rem}
.laudo__p,.laudo__m{display:grid;gap:.15rem}
.laudo__p{color:var(--muted)}
.laudo__m{font-weight:600}
.laudo__p::before,.laudo__m::before{font:500 .7rem/1.2 var(--m);letter-spacing:.04em}
.laudo__p::before{content:"encontrado";color:var(--muted)}
.laudo__m::before{content:"fazer";color:var(--ambar-esc)}
.laudo__carimbo{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1.5px solid var(--tinta)}
.laudo__carimbo div{padding:.6rem 1rem}
.laudo__carimbo div+div{border-left:1px solid var(--borda-2)}
.laudo__carimbo dt{font-size:.7rem;color:var(--muted)}
.laudo__carimbo dd{margin:0;font-weight:600;color:var(--tinta)}
@media (min-width:901px){.laudo{transform:rotate(-1deg)}}

/* ---------- 08 · dúvidas: as notas gerais da prancha ---------- */
.duv{background:var(--papel-2);border-top:1px solid var(--borda)}
.duv__g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:4rem;align-items:start}
.duv__h{position:sticky;top:calc(var(--hd) + 2rem)}
.duv h2{margin-top:1rem}
.duv__mais{margin-top:1.6rem;color:var(--muted)}
.notas{background:#fff;border:1.5px solid var(--tinta)}
.notas__k{padding:.7rem 1.2rem;border-bottom:1.5px solid var(--tinta);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem}
.notas details+details{border-top:1px dashed var(--borda-2)}
.notas summary{display:grid;grid-template-columns:4.6rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:1.1rem 1.2rem;cursor:pointer;list-style:none;font-weight:650;font-stretch:110%;font-size:1.05rem;line-height:1.35}
.notas summary::-webkit-details-marker{display:none}
.notas summary span{color:var(--aco-esc);font-size:.74rem;font-weight:500}
.notas summary::after{content:"+";font:500 1.3rem/1 var(--m);color:var(--ambar-esc);transition:transform .25s var(--ease)}
.notas details[open] summary::after{transform:rotate(45deg)}
.notas summary:hover{color:var(--noite-3)}
.notas details p{padding:0 1.2rem 1.3rem calc(1.2rem + 4.6rem + 1rem);color:var(--muted);max-width:66ch}

/* ---------- orçamento ---------- */
.orc{background:var(--noite);color:#fff;padding-block:6.5rem;
  background-image:linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px);background-size:48px 48px}
.orc__g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4rem;align-items:start}
.orc h2{font-size:clamp(2.2rem,4.4vw,3.8rem);font-weight:800;margin-top:1rem}
.depois{margin-top:2.4rem;display:grid;gap:1rem}
.depois li{display:flex;gap:1rem;align-items:baseline;padding-bottom:1rem;border-bottom:1px dashed var(--linha-forte);color:var(--claro)}
.depois .mono{color:var(--ambar)}
.previa{margin-top:2.2rem;border:1px dashed var(--linha-forte);background:var(--noite-4)}
.previa__k{color:var(--aco);padding:.6rem 1rem;border-bottom:1px dashed var(--linha-forte)}
.previa__t{padding:1rem;font:400 .82rem/1.6 var(--m);color:var(--claro);white-space:pre-wrap;word-break:break-word;min-height:7rem}
.form{background:var(--papel-2);color:var(--tinta);padding:2rem;display:grid;gap:1.2rem;border-top:4px solid var(--ambar)}
.form__k{color:var(--aco-esc);text-transform:lowercase}
.form__2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label,.form legend{display:grid;gap:.4rem;font-weight:600;font-size:.88rem;padding:0}
.form input,.form textarea{border:1px solid #CBC3DE;background:#fff;padding:.75rem .85rem;border-radius:2px;font-weight:400;font-size:.95rem;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--noite-3);outline:2px solid rgba(47,15,88,.18);outline-offset:0}
.form fieldset{border:0;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.4rem}
.chips button{border:1px solid #CBC3DE;background:#fff;padding:.5rem .8rem;border-radius:2px;font-size:.88rem;transition:background-color .2s,color .2s,border-color .2s}
.chips button:hover{border-color:var(--noite-3)}
.chips button[aria-pressed=true]{background:var(--noite);color:#fff;border-color:var(--noite)}
.form__n{font-size:.85rem;color:var(--muted)}
.form__op{font-weight:400;color:var(--muted)}

/* ---------- celular ---------- */
@media (max-width:900px){
  .hero{padding-top:calc(var(--hd) + 2.5rem)}
  .coord{display:none}
  .hero__g{grid-template-columns:1fr;gap:2.5rem}
  .hero h1{font-size:2.5rem}
  .prancha{padding:2.2rem 1.4rem 3rem 0}
  .prancha figcaption{display:none}
  .paineis{grid-template-columns:1fr;transform:none;margin-top:2.5rem}
  .painel{min-height:0}
  .painel--b{border-left:1px solid var(--linha-forte);border-top:0}
  .spec li{grid-template-columns:1fr;gap:.2rem}
  .trab{padding-top:5.5rem}
  .trab::before{height:3rem}
  .caso,.casos2,.caso2,.diff-g,.quem__g,.orc__g,.sobre{grid-template-columns:1fr;gap:2rem}
  .etapas{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--borda-2);margin-left:.4rem}
  .etapas::before{display:none}
  .etapas::after{left:-2px;top:0;width:3px;height:calc(var(--p) * 100%)}
  .etapas li,.etapas li+li{padding:1.4rem 0 1.4rem 1.4rem;border-left:0;border-bottom:1px dashed var(--borda-2)}
  .compromissos{grid-template-columns:1fr;gap:1.2rem}
  .rx__g,.duv__g{grid-template-columns:1fr;gap:2.5rem}
  .laudo{box-shadow:5px 5px 0 var(--noite-4)}
  .laudo__topo{flex-wrap:wrap;gap:.4rem}
  .laudo__l li{grid-template-columns:2.2rem minmax(0,1fr);gap:.5rem .8rem;padding:1rem}
  .laudo__l li>p{grid-column:2}
  .laudo__carimbo{grid-template-columns:1fr 1fr}
  .laudo__carimbo div:nth-child(3){border-left:0}
  .laudo__carimbo div:nth-child(n+3){border-top:1px solid var(--borda-2)}
  .duv__h{position:static}
  .notas summary{grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;padding:1rem}
  .notas summary span{grid-column:1/-1}
  .notas details p{padding:0 1rem 1.2rem}
  .demo{width:100vw;height:100vh;height:100dvh;max-width:100vw;margin:0;inset:0;border:0}
  .demo__pontos,.demo__tam{display:none}
  .demo__cad{display:none}
  .demo__n{font-size:.7rem}
  .demo--cel iframe{width:100%;height:100%;border:0;border-radius:0}
  .form{padding:1.4rem}
  .form__2{grid-template-columns:1fr}
  .sec{padding-block:4.5rem}
}
