/* Royal Cabinetry · prévia da Home · Elemento Digital
   Linguagem: desenho técnico de marceneiro (linhas de cota, carimbo de prancha, lista de corte, régua), sobre linho, verde e carvalho */

:root{
  --verde-950:#101a15; --verde-900:#17261f; --verde-800:#1f332a; --verde-700:#2b4538; --verde-500:#4f6b5a;
  --salvia:#6f8c76; --salvia-200:#cfd9cf;
  --linho:#f4f0e8; --linho-2:#ebe4d6; --papel:#fbf9f4; --linha:#d9d0bf;
  --carvalho:#c9a27a; --carvalho-esc:#8f6a45;
  --latao:#c6a14a; --latao-cl:#e2c77d;
  --grafite:#23272a; --texto:#2b302d; --texto-2:#5a615c;
  --f:'Manrope', 'Segoe UI', system-ui, sans-serif;
  --t:'Jost', 'Futura', 'Segoe UI', sans-serif;
  --m:'Jost', 'Segoe UI', sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, 'Cascadia Mono', monospace;
  --r:8px; --r-g:10px;
  --ease:cubic-bezier(.22,.8,.24,1);
  --sombra:0 1px 2px rgba(23,38,31,.06), 0 12px 32px -14px rgba(23,38,31,.28);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--linho);color:var(--texto);font:400 17px/1.7 var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
input{font:inherit}
h1,h2,h3{margin:0;font-family:var(--t);font-weight:400;line-height:1.12;letter-spacing:-.005em;text-wrap:balance}
h3{font-weight:450}
p{margin:0;text-wrap:pretty}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--latao);outline-offset:3px}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 32px}
.nw{white-space:nowrap}
.pular{position:absolute;left:-999px;top:8px;z-index:99;background:var(--latao);color:var(--verde-950);padding:10px 16px;border-radius:var(--r)}
.pular:focus{left:16px}

/* ---------- botões ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 24px;border-radius:var(--r);font:600 14.5px/1 var(--f);letter-spacing:.04em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s}
.btn::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:currentColor;opacity:.55;transform:scaleX(0);transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover::after{transform:scaleX(1)}
.btn:active{transform:translateY(0)}
.btn-g{min-height:54px;padding:0 28px;font-size:16px}
.btn-latao{background:linear-gradient(180deg,var(--latao-cl),var(--latao));color:var(--verde-950);box-shadow:inset 0 -2px 0 rgba(0,0,0,.14)}
.btn-latao:hover{box-shadow:inset 0 -2px 0 rgba(0,0,0,.14),0 10px 22px -10px rgba(198,161,74,.85)}
.btn-verde{background:var(--verde-800);color:var(--linho);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.btn-verde:hover{background:var(--verde-700);box-shadow:inset 0 -2px 0 var(--latao),0 10px 22px -12px rgba(23,38,31,.7)}
.btn-linha{border:1px solid var(--verde-800);color:var(--verde-800);background:transparent}
.btn-linha:hover{background:var(--verde-800);color:var(--linho)}
.btn-linha-cl{border:1px solid rgba(244,240,232,.55);color:var(--linho);background:rgba(16,26,21,.25);backdrop-filter:blur(4px)}
.btn-linha-cl:hover{border-color:var(--latao);background:rgba(16,26,21,.55)}

/* ---------- cabeçalho (absoluto sobre a abertura, rola junto) ---------- */
.cab{position:absolute;top:0;left:0;right:0;z-index:40}
.cab-dados{background:var(--verde-950);color:rgba(244,240,232,.72);font:500 13px/1 var(--f);letter-spacing:.02em}
.cab-dados-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:36px}
.cab-end{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cab-end svg{width:14px;height:14px;fill:none;stroke:var(--latao);stroke-width:1.4;flex:none}
.cab-fones{display:flex;align-items:center;gap:22px;white-space:nowrap}
.cab-fones a{position:relative;transition:color .2s}
.cab-fones a:hover{color:var(--latao-cl)}
.cab-fones a+a::before{content:"";position:absolute;left:-11px;top:50%;width:1px;height:12px;margin-top:-6px;background:rgba(244,240,232,.25)}
.cab-ig{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;border:1px solid rgba(244,240,232,.25);transition:border-color .2s,background .2s}
.cab-ig svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.cab-ig .cheio{fill:currentColor;stroke:none}
.cab-ig:hover{border-color:var(--latao);background:rgba(198,161,74,.12)}
.cab-barra{position:relative;background:linear-gradient(180deg,rgba(23,38,31,.97),rgba(31,51,42,.93));border-bottom:1px solid rgba(198,161,74,.45);box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}
.cab-barra::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:4px;background:repeating-linear-gradient(90deg,rgba(198,161,74,.55) 0 1px,transparent 1px 12px);opacity:.55;pointer-events:none}
.cab-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;height:104px}
.nav ul{display:flex;align-items:center;gap:4px}
.nav-esq ul{justify-content:flex-end}
.nav-dir ul{justify-content:flex-start}
.nav-link{position:relative;display:flex;align-items:center;gap:7px;height:44px;padding:0 13px;color:rgba(244,240,232,.9);font:400 15.5px/1 var(--t);letter-spacing:.06em;white-space:nowrap;transition:color .2s}
.nav-link svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .3s var(--ease)}
/* sublinhado em forma de linha de cota: traço com os dois batentes */
.nav-link::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:9px;border-left:1px solid var(--latao);border-right:1px solid var(--latao);background:linear-gradient(var(--latao),var(--latao)) center/100% 1px no-repeat;transform:scaleX(0);transition:transform .35s var(--ease)}
.nav-link:hover,.nav-link[aria-expanded=true],.nav-link[aria-current=page]{color:#fff}
.nav-link:hover::after,.nav-link[aria-expanded=true]::after,.nav-link[aria-current=page]::after{transform:scaleX(1)}
.nav-link[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-dir .btn{margin-left:10px;min-height:42px;padding:0 18px;font-size:14px}
.cab-logo{display:block;padding:6px 10px;border-radius:var(--r);transition:transform .35s var(--ease)}
.cab-logo img{height:80px;width:auto}
.cab-logo:hover{transform:scale(1.03)}
.cab-menu{display:none;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:0 12px;border-radius:var(--r);border:1px solid rgba(244,240,232,.3)}
.cab-menu span{height:2px;background:var(--linho);border-radius:1px;transition:transform .3s var(--ease),opacity .2s}
.cab-menu[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.cab-menu[aria-expanded=true] span:nth-child(2){opacity:0}
.cab-menu[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- mega menu: largura total, papel quadriculado com faixa de carvalho ---------- */
.mega{position:absolute;left:0;right:0;top:100%;background:
  linear-gradient(90deg,rgba(31,51,42,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(rgba(31,51,42,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(180deg,var(--papel),var(--linho));
  border-top:6px solid transparent;border-image:linear-gradient(90deg,#8f6a45,#c9a27a 30%,#a77d55 60%,#d6b48b) 1;box-shadow:0 30px 60px -30px rgba(16,26,21,.6);clip-path:inset(0 0 0 0)}
.mega.abrindo{animation:mega-abre .42s var(--ease) both}
@keyframes mega-abre{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.mega-in{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:40px;padding-top:34px;padding-bottom:34px}
.mega.abrindo .mega-in>*{animation:sobe .5s var(--ease) both}
.mega.abrindo .mega-in>*:nth-child(2){animation-delay:.06s}
.mega.abrindo .mega-in>*:nth-child(3){animation-delay:.12s}
.mega.abrindo .mega-in>*:nth-child(4){animation-delay:.18s}
@keyframes sobe{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mega-foto{position:relative;display:block;border-radius:var(--r-g);overflow:hidden;min-height:250px}
.mega-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mega-foto:hover img{transform:scale(1.05)}
.mega-foto-leg{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(transparent,rgba(16,26,21,.88));color:var(--linho);font-size:14px;line-height:1.35}
.mega-foto-leg b{display:block;font:400 22px/1.2 var(--t);margin-bottom:2px}
.mega-rot{font:500 12px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--carvalho-esc);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--linha)}
.mega-rot-2{margin-top:22px}
.mega-lista li+li{margin-top:4px}
.mega-lista a{position:relative;display:block;padding:9px 12px 9px 16px;border-radius:6px;transition:background .2s,padding .3s var(--ease)}
.mega-lista a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--latao);transform:scaleY(0);transition:transform .3s var(--ease)}
.mega-lista a:hover{background:rgba(31,51,42,.07);padding-left:22px}
.mega-lista a:hover::before{transform:scaleY(1)}
.mega-lista b{display:block;font:400 18px/1.25 var(--t);color:var(--verde-900);white-space:nowrap}
.mega-lista span{display:block;font-size:14px;color:var(--texto-2);white-space:nowrap}
.mega-portas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mega-portas a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--verde-900);transition:background .2s,transform .3s var(--ease)}
.mega-portas svg{width:32px;height:44px;fill:none;stroke:var(--verde-800);stroke-width:2;transition:fill .3s}
.mega-portas a:hover{background:rgba(31,51,42,.07);transform:translateY(-3px)}
.mega-portas a:hover svg{fill:rgba(111,140,118,.35)}
.mega-cores{display:flex;gap:8px}
.mega-cores li{width:30px;height:30px;border-radius:6px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:transform .25s var(--ease)}
.mega-cores li:hover{transform:translateY(-3px)}
.madeira{background:repeating-linear-gradient(100deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px,rgba(0,0,0,.08) 7px 8px,transparent 8px 13px),var(--c)!important}
.mega-plano{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:22px;border-radius:var(--r-g);background:var(--verde-800);color:var(--linho)}
.mega-plano .mega-rot{color:var(--latao-cl);border-color:rgba(244,240,232,.18);width:100%}
.mega-txt{font-size:16px;line-height:1.5;color:rgba(244,240,232,.85)}
.mega-plano .btn{background:var(--latao);color:var(--verde-950)}
.mega-fone{white-space:nowrap;font:500 13px/1 var(--m);color:var(--latao-cl);border-bottom:1px solid rgba(226,199,125,.4);padding-bottom:3px}
.mega-fone:hover{border-color:var(--latao-cl)}

/* ---------- gaveta do celular ---------- */
.gaveta{position:fixed;inset:0;z-index:60;background:linear-gradient(180deg,var(--verde-900),var(--verde-950));overflow:auto;animation:gaveta .35s var(--ease)}
@keyframes gaveta{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.gaveta-in{display:flex;flex-direction:column;padding:120px 24px 40px}
.gaveta-in>a{padding:14px 0;border-bottom:1px solid rgba(244,240,232,.12);color:var(--linho);font:300 27px/1.2 var(--t);letter-spacing:.01em;text-align:center}
.gaveta-bts{display:flex;flex-direction:column;gap:12px;margin-top:28px}
body.trava{overflow:hidden}
body.trava .cab{position:fixed;z-index:70}

/* ---------- abertura: portas de armário que se abrem e quatro cozinhas da Royal em sequência ---------- */
.ab{position:relative;min-height:max(720px,100svh);display:flex;align-items:flex-end;color:var(--linho);background:var(--verde-950);overflow:hidden;isolation:isolate}
.ab-fotos{position:absolute;inset:0;z-index:0}
.ab-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.8s ease}
.ab-slide.is-on{opacity:1}
.ab-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);will-change:transform}
.ab-slide.kb img{animation:kb 9s linear both}
@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
.ab-veu{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(16,26,21,.62) 0%,rgba(16,26,21,0) 30%),
  linear-gradient(90deg,rgba(16,26,21,.84) 0%,rgba(16,26,21,.6) 32%,rgba(16,26,21,.14) 58%,rgba(16,26,21,0) 74%),
  linear-gradient(0deg,rgba(16,26,21,.6) 0%,rgba(16,26,21,0) 34%)}
.ab-in{position:relative;z-index:2;width:100%;padding-top:190px;padding-bottom:92px}
.ab-txt{max-width:760px}
.ab-sobre{display:flex;align-items:center;gap:16px;font:400 12.5px/1 var(--t);letter-spacing:.32em;text-transform:uppercase;color:var(--latao-cl)}
.ab-sobre::before{content:"";width:44px;height:1px;background:var(--latao)}
.ab h1{margin-top:26px;font:300 clamp(40px,4.7vw,72px)/1.06 var(--t);letter-spacing:-.012em;color:#fff}
.ab h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.ab h1 .ln>span{display:inline-block}
.ab h1 .dest{color:var(--latao-cl)}
.ab-p{margin-top:26px;max-width:520px;font-size:18px;line-height:1.7;color:rgba(244,240,232,.86)}
.ab-bts{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
/* controle das fotos: legenda + quatro traços que se preenchem */
.ab-ctrl{position:absolute;right:max(32px,calc((100% - 1280px) / 2 + 32px));bottom:92px;z-index:2;display:grid;justify-items:end;gap:14px;width:300px}
.ab-leg{font:400 13px/1.3 var(--t);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,240,232,.82);text-align:right;transition:opacity .5s}
.ab-leg.troca{opacity:0}
.ab-pontos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}
.ab-pontos button{display:grid;gap:9px;padding:6px 0;border-radius:4px;text-align:left;color:rgba(244,240,232,.55);font:400 12px/1 var(--t);letter-spacing:.16em;transition:color .3s}
.ab-pontos i{position:relative;display:block;height:2px;background:rgba(244,240,232,.25);overflow:hidden}
.ab-pontos i::after{content:"";position:absolute;inset:0;background:var(--latao-cl);transform:scaleX(0);transform-origin:left}
.ab-pontos button:hover,.ab-pontos [aria-current=true]{color:#fff}
.ab-pontos.rodando [aria-current=true] i::after{animation:enche var(--dur,7s) linear forwards}
.ab-pontos.parado [aria-current=true] i::after{transform:scaleX(1)}
@keyframes enche{to{transform:scaleX(1)}}
/* portas: duas folhas shaker em verde com puxador de latão (só na primeira visita, no desktop) */
.ab-portas{position:absolute;inset:0;z-index:3;display:none;grid-template-columns:1fr 1fr;perspective:2400px;pointer-events:none}
.portas .ab-portas{display:grid}
.ab-porta{position:relative;background:var(--verde-800);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);backface-visibility:hidden}
.ab-porta::before{content:"";position:absolute;inset:clamp(150px,22vh,200px) clamp(40px,5vw,84px) clamp(48px,9vh,90px);background:#1c2f26;box-shadow:inset 0 0 0 1px rgba(226,199,125,.32),inset 0 18px 40px -20px rgba(0,0,0,.5)}
.ab-porta::after{content:"";position:absolute;top:56%;width:7px;height:clamp(140px,22vh,220px);margin-top:calc(clamp(140px,22vh,220px) / -2);border-radius:4px;background:linear-gradient(90deg,#9c7c33,var(--latao-cl) 45%,#a8873a);box-shadow:0 6px 14px rgba(0,0,0,.45)}
.ab-porta-e{transform-origin:left center}
.ab-porta-e::after{right:clamp(18px,2.2vw,34px)}
.ab-porta-d{transform-origin:right center}
.ab-porta-d::after{left:clamp(18px,2.2vw,34px)}
.ab.ab-abre .ab-porta-e{animation:porta-e 1.7s .35s cubic-bezier(.66,0,.24,1) forwards}
.ab.ab-abre .ab-porta-d{animation:porta-d 1.7s .35s cubic-bezier(.66,0,.24,1) forwards}
@keyframes porta-e{0%{transform:rotateY(0);filter:brightness(1)}99%{visibility:visible}100%{transform:rotateY(-100deg);filter:brightness(.45);visibility:hidden}}
@keyframes porta-d{0%{transform:rotateY(0);filter:brightness(1)}99%{visibility:visible}100%{transform:rotateY(100deg);filter:brightness(.45);visibility:hidden}}
/* foto: aproxima enquanto as portas abrem */
.ab.ab-abre .ab-slide.is-on img{animation:aproxima 3.2s .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes aproxima{from{transform:scale(1.16)}to{transform:scale(1)}}
/* texto: as linhas do título sobem de dentro de uma máscara */
.portas .ab-txt>*,.portas .ab-ctrl{opacity:0}
.ab.ab-abre .ab-txt>*,.ab.ab-abre .ab-ctrl,.ab.ab-rapido .ab-txt>*,.ab.ab-rapido .ab-ctrl{opacity:1}
.ab.ab-abre .ab-sobre{animation:sobre 1.4s 1.25s var(--ease) both}
.ab.ab-abre .ln>span{animation:linha 1.15s cubic-bezier(.2,.8,.2,1) both}
.ab.ab-abre .ln:nth-child(1)>span{animation-delay:1.4s}
.ab.ab-abre .ln:nth-child(2)>span{animation-delay:1.52s}
.ab.ab-abre .ln:nth-child(3)>span{animation-delay:1.64s}
.ab.ab-abre .ab-p{animation:sobe 1s 1.9s var(--ease) both}
.ab.ab-abre .ab-bts{animation:sobe 1s 2.05s var(--ease) both}
.ab.ab-abre .ab-ctrl{animation:aparece 1s 2.3s ease both}
.ab.ab-rapido .ab-sobre{animation:sobre 1.2s .1s var(--ease) both}
.ab.ab-rapido .ln>span{animation:linha 1s cubic-bezier(.2,.8,.2,1) both}
.ab.ab-rapido .ln:nth-child(1)>span{animation-delay:.15s}
.ab.ab-rapido .ln:nth-child(2)>span{animation-delay:.25s}
.ab.ab-rapido .ln:nth-child(3)>span{animation-delay:.35s}
.ab.ab-rapido .ab-p{animation:sobe .9s .5s var(--ease) both}
.ab.ab-rapido .ab-bts{animation:sobe .9s .6s var(--ease) both}
.ab.ab-rapido .ab-ctrl{animation:aparece .9s .7s ease both}
@keyframes linha{from{transform:translateY(108%)}to{transform:none}}
@keyframes sobre{from{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.32em}}
@keyframes aparece{from{opacity:0}to{opacity:1}}

/* carimbo de prancha */
.carimbo{background:var(--papel);border-bottom:1px solid var(--linha)}
.carimbo-in{display:grid;grid-template-columns:1fr 1fr 1fr .7fr 1.6fr;margin-top:0;margin-bottom:0}
.carimbo-in>div{padding:20px 22px;border-left:1px solid var(--linha)}
.carimbo-in>div:last-child{border-right:1px solid var(--linha)}
.carimbo dt{font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--carvalho-esc)}
.carimbo dd{margin-top:8px;font:400 19px/1.2 var(--t);color:var(--verde-900);white-space:nowrap}

/* ---------- abertura de seção: título no meio de uma linha de cota ---------- */
.abre{display:grid;grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);align-items:center;gap:26px}
.abre h2{font-size:clamp(30px,3.3vw,48px);font-weight:300;color:var(--verde-900);text-align:center;max-width:820px}
.abre-cota{position:relative;height:13px;background:linear-gradient(var(--carvalho-esc),var(--carvalho-esc)) center/100% 1px no-repeat}
.abre-cota::before,.abre-cota::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--carvalho-esc)}
.abre-cota::before{left:0}.abre-cota::after{right:0}
.abre-cl h2{color:var(--linho)}
.abre-cl .abre-cota{background-image:linear-gradient(var(--latao),var(--latao))}
.abre-cl .abre-cota::before,.abre-cl .abre-cota::after{background:var(--latao)}
.abre-sub{max-width:760px;margin:18px auto 0;color:var(--texto-2);font-size:18px;text-align:center;hyphens:manual}

/* ---------- planejador ---------- */
.pl{padding:110px 0 120px;background:
  linear-gradient(90deg,rgba(31,51,42,.05) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(rgba(31,51,42,.05) 1px,transparent 1px) 0 0/28px 28px,var(--linho)}
.pl-mesa{display:grid;grid-template-columns:400px minmax(0,1fr);margin-top:52px;background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);box-shadow:var(--sombra);overflow:hidden}
.pl-ctrl{display:flex;flex-direction:column;padding:26px 26px 30px;border-right:1px solid var(--linha);background:#fff}
.pl-resumo{margin-top:auto;padding-top:26px}
.pl-resumo-t{padding-top:18px;border-top:1px dashed var(--linha);margin-bottom:10px;font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--carvalho-esc)}
.pl-resumo dl{display:grid;gap:7px}
.pl-resumo dl>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px}
.pl-resumo dl>div::after{content:"";order:2;border-bottom:1px dotted rgba(31,51,42,.35);transform:translateY(-4px)}
.pl-resumo dt{order:1;font:500 12px/1.3 var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--texto-2)}
.pl-resumo dd{order:3;max-width:210px;font-size:14px;font-weight:650;line-height:1.3;color:var(--verde-900);text-align:right}
.pl-passos{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;margin-bottom:26px;border-radius:var(--r);background:var(--linho-2)}
.pl-passos button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:42px;border-radius:6px;font-size:14px;font-weight:600;color:var(--texto-2);transition:background .25s,color .25s,box-shadow .25s}
.pl-passos b{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;font:600 11px/1 var(--m);background:rgba(31,51,42,.1)}
.pl-passos button[aria-selected=true]{background:var(--verde-800);color:var(--linho);box-shadow:0 6px 14px -8px rgba(23,38,31,.8)}
.pl-passos button[aria-selected=true] b{background:var(--latao);color:var(--verde-950)}
.pl-passos button:hover:not([aria-selected=true]){color:var(--verde-900);background:rgba(255,255,255,.7)}
.pl-aba{animation:aparece .35s ease}
.pl-perg{font:400 20px/1.25 var(--t);color:var(--verde-900);margin-bottom:14px}
.pl-perg:not(:first-child){margin-top:24px}
.pl-formatos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pl-formatos button,.pl-portas button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border:1px solid var(--linha);border-radius:var(--r);background:var(--papel);font-size:14px;font-weight:600;color:var(--verde-900);transition:border-color .2s,background .2s,transform .25s var(--ease),box-shadow .25s}
.pl-formatos svg{width:58px;height:42px;fill:none;stroke:var(--verde-800);stroke-width:1.6}
.pl-formatos button:hover,.pl-portas button:hover{transform:translateY(-2px);border-color:var(--salvia)}
.pl-formatos [aria-checked=true],.pl-portas [aria-checked=true]{border-color:var(--verde-800);background:rgba(111,140,118,.14);box-shadow:inset 0 0 0 1px var(--verde-800)}
.pl-formatos [aria-checked=true] svg{fill:rgba(111,140,118,.3)}
.pl-chave{position:relative;display:flex;align-items:center;gap:12px;margin-top:18px;font-weight:600;color:var(--verde-900);cursor:pointer}
.pl-chave input{position:absolute;opacity:0}
.pl-chave span{position:relative;width:46px;height:26px;border-radius:7px;background:var(--linha);transition:background .25s}
.pl-chave span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:5px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.pl-chave input:checked+span{background:var(--verde-800)}
.pl-chave input:checked+span::after{transform:translateX(20px)}
.pl-chave input:focus-visible+span{outline:2px solid var(--latao);outline-offset:2px}
.pl-prox{width:100%;margin-top:26px}
.pl-medidas{display:grid;gap:10px}
.pl-med{display:grid;grid-template-columns:76px 1fr 1fr;gap:10px;align-items:center}
.pl-med-n{font:600 12px/1 var(--m);letter-spacing:.1em;text-transform:uppercase;color:var(--carvalho-esc)}
.pl-med label{position:relative;display:block}
.pl-med input{width:100%;height:46px;padding:0 34px 0 14px;border:1px solid var(--linha);border-radius:var(--r);background:var(--papel);font:500 17px/1 var(--mono);color:var(--verde-900);-moz-appearance:textfield;transition:border-color .2s,box-shadow .2s}
.pl-med input::-webkit-inner-spin-button{opacity:.6}
.pl-med input:focus{outline:none;border-color:var(--verde-800);box-shadow:0 0 0 3px rgba(111,140,118,.25)}
.pl-med i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:500 13px/1 var(--m);font-style:normal;color:var(--texto-2);pointer-events:none}
.pl-med.is-off{opacity:.35;pointer-events:none}
.pl-itens{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pl-item{position:relative;cursor:pointer}
.pl-item input{position:absolute;opacity:0}
.pl-item span{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:46px;padding:8px 12px 8px 36px;border:1px solid var(--linha);border-radius:var(--r);background:var(--papel);font-size:14px;font-weight:600;color:var(--verde-900);line-height:1.2;transition:border-color .2s,background .2s}
.pl-item span::before{content:"";position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:4px;border:1.5px solid var(--verde-500);background:#fff;transition:background .2s,border-color .2s}
.pl-item i{font:500 12px/1 var(--m);font-style:normal;color:var(--texto-2)}
.pl-item input:checked+span{border-color:var(--verde-800);background:rgba(111,140,118,.12)}
.pl-item input:checked+span::before{background:var(--verde-800) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23f4f0e8' stroke-width='2.4'%3E%3Cpath d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--verde-800)}
.pl-item input:focus-visible+span{outline:2px solid var(--latao);outline-offset:2px}
.pl-portas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pl-portas svg{width:30px;height:42px;fill:none;stroke:var(--verde-800);stroke-width:2}
.pl-acab{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pl-acab-g{grid-column:1/-1;font:500 11px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2);margin-top:4px}
.pl-acab button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--verde-900)}
.pl-acab button::before{content:"";display:block;width:100%;aspect-ratio:1.25;border-radius:6px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:transform .25s var(--ease),box-shadow .25s}
.pl-acab button.madeira{background:none!important}
.pl-acab button.madeira::before{background:repeating-linear-gradient(100deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px,rgba(0,0,0,.08) 7px 8px,transparent 8px 13px),var(--c)}
.pl-acab button:hover::before{transform:translateY(-2px)}
.pl-acab [aria-checked=true]::before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px var(--papel),0 0 0 4px var(--verde-800)}
.pl-campo{display:block;margin-bottom:12px}
.pl-campo span{display:block;margin-bottom:6px;font:500 12px/1 var(--m);letter-spacing:.1em;text-transform:uppercase;color:var(--carvalho-esc)}
.pl-campo input{width:100%;height:48px;padding:0 14px;border:1px solid var(--linha);border-radius:var(--r);background:var(--papel);font-size:16px;color:var(--verde-900)}
.pl-campo input:focus{outline:none;border-color:var(--verde-800);box-shadow:0 0 0 3px rgba(111,140,118,.25)}
.pl-envia{display:grid;gap:10px;margin-top:20px}
.pl-ok{margin-top:12px;font-size:14px;color:var(--verde-700);font-weight:600}
.pl-desenho{display:flex;flex-direction:column;gap:16px;padding:26px;min-width:0}
.pl-folha-pl{display:flex;flex-direction:column;flex:1 1 auto;min-height:250px}
.pl-folha-pl .pl-svg-planta{flex:1 1 0;min-height:200px;max-height:none;height:auto}
.pl-folha{position:relative;border:1px solid var(--linha);border-radius:var(--r);background:
  linear-gradient(90deg,rgba(31,51,42,.045) 1px,transparent 1px) 0 0/14px 14px,
  linear-gradient(rgba(31,51,42,.045) 1px,transparent 1px) 0 0/14px 14px,#fff;padding:12px 14px 14px}
.pl-folha-rot{display:flex;justify-content:space-between;gap:12px;font:500 11px/1.3 var(--m);letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2);margin-bottom:8px}
.pl-folha-rot span:first-child{color:var(--verde-800);font-weight:600}
.pl-svg-planta{width:100%;height:auto;max-height:380px;margin:0 auto}
.pl-svg-elev{width:100%;height:auto;max-height:210px;margin:0 auto}
.pl-ficha{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--r);overflow:hidden;background:var(--verde-800);color:var(--linho)}
.pl-ficha>div{padding:16px 16px 18px}
.pl-ficha>div+div{border-left:1px solid rgba(244,240,232,.14)}
.pl-ficha dt{font:500 11px/1.3 var(--m);letter-spacing:.12em;text-transform:uppercase;color:var(--latao-cl)}
.pl-ficha dd{margin-top:8px;font:400 30px/1 var(--t);font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-nota{font-size:14px;color:var(--texto-2);text-align:center}
/* desenho (estilos aplicados aos elementos que o plano.js cria) */
.dz-parede{fill:var(--verde-900)}
.dz-base{stroke:var(--verde-800);stroke-width:1.2;vector-effect:non-scaling-stroke}
.dz-alta{fill:none;stroke:var(--verde-500);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.dz-div{stroke:rgba(31,51,42,.35);stroke-width:1;vector-effect:non-scaling-stroke}
.dz-ap{fill:#e9ecec;stroke:#7d8584;stroke-width:1;vector-effect:non-scaling-stroke}
.dz-ap-t{font:600 9px var(--mono);fill:#4c5453;text-anchor:middle;letter-spacing:.06em}
.dz-janela{fill:#fff;stroke:var(--verde-900);stroke-width:1;vector-effect:non-scaling-stroke}
.dz-cota{stroke:var(--carvalho-esc);stroke-width:1;vector-effect:non-scaling-stroke;fill:none}
.dz-cota-t{font:600 10px var(--mono);fill:var(--carvalho-esc);text-anchor:middle}
.dz-rot{font:600 9px var(--mono);fill:var(--verde-700);text-anchor:middle;letter-spacing:.12em}
.dz-porta{stroke:rgba(0,0,0,.35);stroke-width:.8;vector-effect:non-scaling-stroke}
.dz-painel{fill:none;stroke:rgba(0,0,0,.28);stroke-width:.8;vector-effect:non-scaling-stroke}
.dz-puxa{fill:var(--latao)}
.dz-tampo{fill:#eceae4;stroke:#b9b4a8;stroke-width:.8;vector-effect:non-scaling-stroke}
.dz-inox{fill:#d6dadb;stroke:#7d8584;stroke-width:.8;vector-effect:non-scaling-stroke}
.dz-chao{stroke:var(--verde-900);stroke-width:1.5;vector-effect:non-scaling-stroke}

/* ---------- lista de corte ---------- */
.lc{padding:110px 0;background:var(--papel)}
.lc-tab{margin-top:48px;border-top:2px solid var(--verde-900)}
.lc-cab,.lc-lin{display:grid;grid-template-columns:110px 380px minmax(0,1fr);gap:28px;align-items:center}
.lc-cab{padding:12px 18px;border-bottom:1px solid var(--verde-900);font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--carvalho-esc)}
.lc-lin{position:relative;padding:26px 18px;border-bottom:1px dashed var(--linha);transition:background .3s}
.lc-lin::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--latao);transform:scaleY(0);transition:transform .35s var(--ease)}
.lc-lin:hover{background:rgba(201,162,122,.1)}
.lc-lin:hover::before{transform:scaleY(1)}
.lc-n{font:600 15px/1 var(--m);color:var(--carvalho-esc);letter-spacing:.06em}
.lc-lin h3{display:flex;align-items:center;gap:14px;font-size:24px;color:var(--verde-900)}
.lc-lin h3 svg{width:34px;height:34px;flex:none;fill:none;stroke:var(--verde-700);stroke-width:1.5;padding:6px;border:1px solid var(--linha);border-radius:6px;background:#fff;transition:background .3s,stroke .3s}
.lc-lin:hover h3 svg{background:var(--verde-800);stroke:var(--latao-cl)}
.lc-lin p{color:var(--texto-2);text-align:justify;hyphens:manual}

/* ---------- projetos ---------- */
.pj{padding:110px 0;background:linear-gradient(180deg,var(--verde-900),var(--verde-950))}
.pj .abre h2{color:var(--linho)}
.pj .abre-cota{background-image:linear-gradient(var(--latao),var(--latao))}
.pj .abre-cota::before,.pj .abre-cota::after{background:var(--latao)}
.pj-filtros{display:flex;justify-content:center;gap:6px;margin-top:36px}
.pj-filtros button{position:relative;height:44px;padding:0 20px;border-radius:var(--r);color:rgba(244,240,232,.75);font-weight:600;font-size:15px;transition:color .2s,background .2s}
.pj-filtros button::after{content:"";position:absolute;left:20px;right:20px;bottom:6px;height:7px;border-left:1px solid var(--latao);border-right:1px solid var(--latao);background:linear-gradient(var(--latao),var(--latao)) center/100% 1px no-repeat;transform:scaleX(0);transition:transform .35s var(--ease)}
.pj-filtros button:hover{color:#fff;background:rgba(244,240,232,.06)}
.pj-filtros [aria-pressed=true]{color:#fff}
.pj-filtros [aria-pressed=true]::after{transform:scaleX(1)}
.pj .abre-sub{color:rgba(244,240,232,.72)}
.pj-grade{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.pj-grade li{animation:aparece .45s ease both}
.pj-grade figure{position:relative;margin:0;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--verde-800)}
.pj-grade img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}
.pj-grade figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 14px;background:linear-gradient(transparent,rgba(16,26,21,.85));color:var(--linho);font-size:15px;font-weight:600;transform:translateY(8px);opacity:.92;transition:transform .4s var(--ease),opacity .4s}
.pj-grade figcaption b{display:block;font:500 10px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--latao-cl);margin-bottom:5px}
.pj-grade figure:hover img{transform:scale(1.06)}
.pj-grade figure:hover figcaption{transform:none;opacity:1}
.pj-mais{display:flex;justify-content:center;margin-top:40px}
.pj-mais .btn-linha{border-color:rgba(244,240,232,.45);color:var(--linho)}
.pj-mais .btn-linha:hover{background:var(--latao);border-color:var(--latao);color:var(--verde-950)}

/* ---------- quadro de amostras ---------- */
.am{padding:110px 0;background:linear-gradient(180deg,#2a3f34,var(--verde-800))}
.am-quadro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;margin-top:52px;padding:30px;border-radius:var(--r-g);background:
  repeating-linear-gradient(92deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px,rgba(0,0,0,.05) 9px 10px,transparent 10px 17px),
  linear-gradient(160deg,#d8b88f,#c29a6c 55%,#b0865a);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1),0 30px 60px -30px rgba(0,0,0,.6)}
.am-esq{display:flex;flex-direction:column;gap:14px;min-width:0}
.am-portas{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.am-guia{flex:1;display:flex;flex-direction:column;gap:16px;padding:22px 24px;border-radius:var(--r);background:var(--verde-800);color:rgba(244,240,232,.82);box-shadow:0 14px 24px -16px rgba(0,0,0,.5)}
.am-guia-t{font:400 24px/1.15 var(--t);color:#fff}
.am-guia-passos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:guia}
.am-guia-passos li{position:relative;padding-top:14px;border-top:1px solid rgba(226,199,125,.35);font-size:14.5px;line-height:1.5;counter-increment:guia}
.am-guia-passos li::before{content:"Step " counter(guia);display:block;margin-bottom:6px;font:500 10px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--latao-cl)}
.am-guia-passos b{display:block;margin-bottom:6px;font-size:16px;line-height:1.25;color:#fff}
.am-guia-bts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-top:auto}
.am-guia-bts .btn-verde{background:var(--latao);color:var(--verde-950)}
.am-guia .am-ler{color:var(--latao-cl);border-color:rgba(226,199,125,.4)}
.am-guia .am-ler:hover{border-color:var(--latao-cl)}
.am-porta{--cor:#f1ede4;display:flex;flex-direction:column;padding:16px 14px 18px;border-radius:var(--r);background:var(--papel);box-shadow:0 2px 0 rgba(0,0,0,.08),0 14px 24px -16px rgba(0,0,0,.5);cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s}
.am-porta:hover,.am-porta.is-on{transform:translateY(-5px);box-shadow:0 2px 0 rgba(0,0,0,.08),0 22px 34px -18px rgba(0,0,0,.6)}
.am-porta svg{width:auto;height:140px;margin:0 auto 14px}
.am-porta .pt{fill:var(--cor);stroke:rgba(0,0,0,.4);stroke-width:1.5;transition:fill .5s}
.am-porta .pn,.am-porta .pn2{fill:none;stroke:rgba(0,0,0,.3);stroke-width:1.5}
.am-porta .pb{stroke:rgba(0,0,0,.22);stroke-width:1.2}
.am-porta .pv{fill:rgba(205,222,224,.55);stroke:rgba(0,0,0,.3);stroke-width:1.5}
.am-porta .pg{stroke:rgba(0,0,0,.3);stroke-width:3}
.am-porta .pu{fill:var(--latao)}
.am-porta h3{font-size:20px;color:var(--verde-900);margin-bottom:8px}
.am-porta p{font-size:13.5px;line-height:1.45;color:var(--texto-2)}
.am-porta p+p{margin-top:6px}
.am-porta p b{display:block;font:500 10px/1.4 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--carvalho-esc)}
.am-porta.is-on{outline:2px solid var(--verde-800);outline-offset:-2px}
.am-acab{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:24px;border-radius:var(--r);background:var(--papel);box-shadow:0 14px 24px -16px rgba(0,0,0,.5)}
.am-acab-bl h3{font-size:22px;color:var(--verde-900);margin-bottom:6px}
.am-acab-bl p{font-size:15px;color:var(--texto-2);text-align:justify;hyphens:manual}
.am-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.am-chips button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;font-size:12px;font-weight:600;color:var(--verde-900)}
.am-chips button::before{content:"";display:block;width:100%;aspect-ratio:1;border-radius:6px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:transform .25s var(--ease),box-shadow .25s}
.am-chips button.madeira{background:none!important}
.am-chips button.madeira::before{background:repeating-linear-gradient(100deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px,rgba(0,0,0,.08) 7px 8px,transparent 8px 13px),var(--c)}
.am-chips button:hover::before{transform:translateY(-3px)}
.am-chips [aria-pressed=true]::before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px var(--papel),0 0 0 4px var(--verde-800)}
.am-regra{padding:14px 16px;border-left:3px solid var(--latao);background:var(--linho);font-size:15px;color:var(--verde-900);text-align:justify}
.am-regra b{display:block;font:500 10px/1.5 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--carvalho-esc)}
.am-ler{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-weight:650;color:var(--verde-800);border-bottom:1px solid rgba(31,51,42,.3);padding-bottom:3px;transition:gap .3s var(--ease),border-color .3s}
.am-ler svg,.al-ir svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.am-ler:hover{gap:16px;border-color:var(--verde-800)}

/* ---------- além da cozinha ---------- */
.al{padding:110px 0;background:var(--linho)}
.al-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.al-am{display:flex;flex-direction:column;background:#fff;border-top:3px solid var(--latao);border-radius:0 0 var(--r-g) var(--r-g);box-shadow:var(--sombra);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.al-am:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(23,38,31,.06),0 26px 44px -20px rgba(23,38,31,.42)}
.al-etq{padding:12px 18px;font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--carvalho-esc);border-bottom:1px solid var(--linha)}
.al-am>img{width:100%;height:250px;object-fit:cover;transition:transform .9s var(--ease)}
.al-am:hover>img{transform:scale(1.04)}
.al-txt{flex:1;padding:22px 22px 0;color:var(--texto-2);font-size:16px}
.al-txt b{display:block;margin-bottom:6px;font:400 25px/1.2 var(--t);color:var(--verde-900);text-align:left}
.al-ir{display:inline-flex;align-items:center;gap:10px;margin:18px 22px 24px;font-weight:650;color:var(--verde-800);transition:gap .3s var(--ease)}
.al-am:hover .al-ir,.al-ir:hover{gap:16px}
.al-tabuas{display:grid;grid-template-columns:repeat(3,1fr);height:250px}
.al-tabuas li{position:relative;overflow:hidden}
.al-tabuas img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.al-tabuas li:hover img{transform:scale(1.08)}
.al-tabuas b{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 10px;text-align:center;background:linear-gradient(transparent,rgba(16,26,21,.75));color:var(--linho);font:500 11px/1 var(--m);letter-spacing:.12em;text-transform:uppercase}

/* ---------- processo: régua de marceneiro ---------- */
.pr{padding:110px 0;background:linear-gradient(180deg,var(--verde-800),var(--verde-900))}
.pr-regua{position:relative;overflow:hidden;height:30px;margin-top:60px;border-radius:4px;background:
  repeating-linear-gradient(90deg,rgba(23,38,31,.55) 0 1px,transparent 1px 10px) 0 0/100% 8px no-repeat,
  repeating-linear-gradient(90deg,rgba(23,38,31,.7) 0 1px,transparent 1px 50px) 0 0/100% 15px no-repeat,
  linear-gradient(180deg,#e2c79f,#c9a27a);box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.pr-regua{overflow:visible}
.pr-brilho{position:absolute;inset:0;overflow:hidden;border-radius:4px}
.pr-brilho::before{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-110%);animation:brilho 7s 1s var(--ease) infinite}
@keyframes brilho{0%{transform:translateX(-110%)}38%,100%{transform:translateX(400%)}}
/* parte já "medida" da régua e o cursor de latão que percorre as etapas */
.pr-medido{position:absolute;left:0;top:0;bottom:0;width:var(--x,8px);border-radius:4px 0 0 4px;background:rgba(23,38,31,.22);transition:width 1s cubic-bezier(.65,0,.25,1)}
.pr-cursor{position:absolute;top:-12px;bottom:-12px;left:var(--x,8px);width:2px;margin-left:-1px;background:var(--verde-950);transition:left 1s cubic-bezier(.65,0,.25,1)}
.pr-cursor::before{content:"";position:absolute;left:-5px;bottom:-4px;width:12px;height:12px;border-radius:50%;background:var(--latao-cl);box-shadow:0 0 0 3px rgba(23,38,31,.85)}
.pr-cursor em{position:absolute;left:50%;bottom:calc(100% + 6px);padding:5px 8px;border-radius:5px;background:var(--latao);color:var(--verde-950);font:500 11px/1 var(--t);font-style:normal;letter-spacing:.14em;transform:translateX(-50%);white-space:nowrap}
.pr-passos li{transition:opacity .6s ease}
.pr-ativa .pr-passos li{opacity:.45}
.pr-ativa .pr-passos li.is-on{opacity:1}
.pr-passos li.is-on h3{color:var(--latao-cl)}
.pr-passos h3{transition:color .5s}
.pr-marca{transition:transform .5s var(--ease),background-color .5s}
.pr-passos li.is-on .pr-marca{transform:scale(1.25);background:var(--latao-cl)}
.pr-passos{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.pr-passos li{position:relative;padding-top:34px;color:rgba(244,240,232,.8);counter-increment:passo}
.pr-marca{position:absolute;left:0;top:-8px;width:16px;height:22px;background:var(--latao);clip-path:polygon(0 0,100% 0,100% 64%,50% 100%,0 64%)}
.pr-passos h3{font-size:22px;color:#fff;margin-bottom:10px}
.pr-passos h3::before{content:counter(passo,decimal-leading-zero);display:block;margin-bottom:8px;font:500 12px/1 var(--m);letter-spacing:.14em;color:var(--latao-cl)}
.pr-passos p{font-size:15.5px;text-align:left}

/* ---------- journal ---------- */
.jn{padding:110px 0;background:var(--papel)}
.jn-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.jn-lista a{display:flex;flex-direction:column;height:100%;padding-bottom:6px}
.jn-lista img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);transition:transform .6s var(--ease),box-shadow .6s}
.jn-lista a:hover img{transform:translateY(-4px);box-shadow:var(--sombra)}
.jn-cat{margin-top:18px;font:500 11px/1.4 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--carvalho-esc)}
.jn-lista h3{flex:1;margin-top:10px;font-size:22px;line-height:1.22;color:var(--verde-900)}
.jn-ir{position:relative;align-self:flex-start;margin-top:16px;padding-bottom:9px;font-weight:650;color:var(--verde-800)}
.jn-ir::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;border-left:1px solid var(--carvalho-esc);border-right:1px solid var(--carvalho-esc);background:linear-gradient(var(--carvalho-esc),var(--carvalho-esc)) center/100% 1px no-repeat;transform:scaleX(.25);transform-origin:left;transition:transform .4s var(--ease)}
.jn-lista a:hover .jn-ir::after{transform:scaleX(1)}

/* ---------- visita ---------- */
.vs{padding:100px 0;color:var(--linho);position:relative;isolation:isolate;overflow:hidden;background:#33251b}
.vs::before{content:"";position:absolute;inset:-20px;z-index:-1;background:url(../img/gal/g13-900.webp) center/cover;opacity:.2;filter:blur(6px) saturate(.55)}
.vs::after{content:"";position:absolute;left:0;right:0;top:0;z-index:-1;height:1px;background:rgba(226,199,125,.35)}
.vs-in{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-areas:"cab fones end" "cab bts bts";gap:26px 40px;align-items:stretch}
.vs-cab{grid-area:cab}
.vs-cab h2{font-size:clamp(32px,3.6vw,52px);font-weight:300;color:#fff}
.vs-cab p{margin-top:16px;font-size:18px;color:rgba(244,240,232,.82);text-align:justify;hyphens:manual}
.vs-fones{grid-area:fones;display:grid;gap:16px}
.vs-fones a{display:block;padding:14px 18px;border-radius:var(--r);border:1px solid rgba(226,199,125,.35);transition:background .3s,border-color .3s,transform .3s var(--ease)}
.vs-fones a:hover{background:rgba(16,26,21,.35);border-color:var(--latao-cl);transform:translateY(-2px)}
.vs-fones span{display:block;font:500 11px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--latao-cl)}
.vs-fones b{display:block;margin-top:8px;font:300 32px/1 var(--t);font-variant-numeric:tabular-nums;white-space:nowrap}
.vs-end{grid-area:end;display:flex;flex-direction:column;gap:4px;padding:14px 18px 16px;border-radius:var(--r);border:1px solid rgba(226,199,125,.35);border-left:3px solid var(--latao);font-style:normal;font-size:19px;font-weight:600;line-height:1.4}
.vs-end a{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;padding-top:12px;font-size:15px;color:var(--latao-cl);transition:gap .3s var(--ease)}
.vs-end a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.vs-end a:hover{gap:16px}
.vs-end::before{content:"Showroom";display:block;margin-bottom:6px;font:500 11px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--latao-cl)}
.vs-bts{grid-area:bts;display:flex;flex-wrap:wrap;gap:12px;align-self:end}
.vs-bts .btn{flex:1}

/* ---------- rodapé: folha de desenho ---------- */
.rp{padding:70px 0 100px;background:var(--verde-950);color:rgba(244,240,232,.75)}
.rp-folha{position:relative;display:grid;grid-template-columns:1.3fr .7fr .7fr 1.6fr;gap:40px;padding:44px 40px;border:1px solid rgba(244,240,232,.16)}
.rp-canto{position:absolute;width:16px;height:16px;border-color:var(--latao);border-style:solid;border-width:0}
.rp-c1{left:-1px;top:-1px;border-left-width:2px;border-top-width:2px}
.rp-c2{right:-1px;top:-1px;border-right-width:2px;border-top-width:2px}
.rp-c3{left:-1px;bottom:-1px;border-left-width:2px;border-bottom-width:2px}
.rp-c4{right:-1px;bottom:-1px;border-right-width:2px;border-bottom-width:2px}
.rp-marca img{width:190px;height:auto}
.rp-marca p{margin-top:18px;font-size:15px;line-height:1.6}
.rp-rot{margin-bottom:14px;font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--latao-cl)}
.rp-nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.rp-nav a{position:relative;font-size:16px;color:rgba(244,240,232,.85);transition:color .2s,transform .3s var(--ease)}
.rp-nav a::before{content:"";position:absolute;left:-14px;top:50%;width:8px;height:1px;background:var(--latao);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.rp-nav a:hover{color:#fff;transform:translateX(8px)}
.rp-nav a:hover::before{transform:scaleX(1)}
.rp-carimbo{display:grid;grid-template-columns:1fr 1fr;align-self:start;border:1px solid rgba(244,240,232,.22)}
.rp-cel{padding:14px 16px;border-right:1px solid rgba(244,240,232,.22);border-bottom:1px solid rgba(244,240,232,.22)}
.rp-cel:nth-child(odd):not(.rp-cel-g){border-right:1px solid rgba(244,240,232,.22)}
.rp-cel:nth-child(2n+1){border-right:0}
.rp-cel-g{grid-column:1/-1;border-right:0}
.rp-cel:nth-child(even){border-right:1px solid rgba(244,240,232,.22)}
.rp-cel:nth-last-child(-n+2){border-bottom:0}
.rp-cel span{display:block;margin-bottom:6px;font:500 10px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--latao-cl)}
.rp-cel b,.rp-cel a{font-size:16px;font-weight:600;color:var(--linho);line-height:1.4}
.rp-cel a{border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.rp-cel a:hover{color:var(--latao-cl);border-color:var(--latao-cl)}
.rp-base{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:24px;font-size:14px}
.rp-base p:last-child{text-align:right}
.rp-base a{color:var(--linho)}
.rp-base p a{border-bottom:1px solid rgba(226,199,125,.5)}
.rp-base p a:hover{color:var(--latao-cl)}
.rp-topo{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:var(--r);border:1px solid rgba(226,199,125,.4);color:var(--latao-cl);font:500 12px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;transition:background .3s,color .3s}
.rp-topo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .35s var(--ease)}
.rp-topo:hover{background:var(--latao);color:var(--verde-950)}
.rp-topo:hover svg{transform:translateY(-4px)}

/* ---------- botão flutuante (ligar ou mandar mensagem) ---------- */
.flut{position:fixed;right:20px;bottom:20px;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:var(--r-g);background:var(--verde-800);color:var(--linho);box-shadow:0 14px 30px -12px rgba(16,26,21,.7);border:1px solid rgba(226,199,125,.4);transition:transform .3s var(--ease),background .3s}
.flut svg{width:36px;height:36px;padding:8px;border-radius:7px;background:var(--latao);fill:none;stroke:var(--verde-950);stroke-width:1.8}
.flut span{font-size:12px;line-height:1.2;color:rgba(244,240,232,.75)}
.flut b{display:block;font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.flut:hover{transform:translateY(-3px);background:var(--verde-700)}

/* ---------- responsivo ---------- */
@media (max-width:1240px){
  .nav-link{padding:0 9px;font-size:15px}
  .nav-link::after{left:9px;right:9px}
  .nav-dir .btn{margin-left:4px;padding:0 14px}
  .cab-logo img{height:70px}
  .mega-in{grid-template-columns:1fr 1fr 1fr;gap:28px}
  .mega-foto{display:none}
  .pl-mesa{grid-template-columns:360px minmax(0,1fr)}
  .lc-cab,.lc-lin{grid-template-columns:80px 300px minmax(0,1fr)}
  .rp-folha{grid-template-columns:1fr 1fr 1fr;padding:36px 30px}
  .rp-carimbo{grid-column:1/-1}
}
@media (max-width:1060px){
  .nav,.cab-dados .cab-end{display:none}
  .cab-dados-in{justify-content:center}
  .cab-in{grid-template-columns:1fr auto;height:88px}
  .cab-logo{justify-self:start;padding:0}
  .cab-logo img{height:62px}
  .cab-menu{display:flex}
  .pl-mesa{grid-template-columns:1fr}
  .pl-ctrl{border-right:0;border-bottom:1px solid var(--linha)}
  .pl-desenho{order:-1}
  .am-quadro{grid-template-columns:1fr}
  .am-portas{grid-template-columns:repeat(4,1fr)}
  .al-grade{grid-template-columns:1fr 1fr}
  .al-piso{grid-column:1/-1}
  .pr-passos{grid-template-columns:repeat(3,1fr);row-gap:40px}
  .vs-in{grid-template-columns:1fr 1fr;grid-template-areas:"cab cab" "fones end" "bts bts"}
  .carimbo-in{grid-template-columns:repeat(3,1fr)}
  .carimbo-in>div:nth-child(n+4){border-top:1px solid var(--linha)}
  .carimbo-in>div:nth-child(3){border-right:1px solid var(--linha)}
  .carimbo-in>div:nth-child(5){grid-column:span 2}
}
@media (max-width:900px){
  .pj-grade{grid-template-columns:repeat(2,1fr)}
  .jn-lista{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
  .lc-cab{display:none}
  .lc-lin{grid-template-columns:60px minmax(0,1fr);gap:8px 18px}
  .lc-lin p{grid-column:2}
}
@media (max-width:720px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .cab-dados-in{height:34px}
  .cab-fones{gap:16px;font-size:12.5px}
  .cab-in{height:80px;gap:12px}
  .cab-logo img{height:56px}
  .ab{min-height:max(640px,100svh)}
  .ab-veu{background:linear-gradient(180deg,rgba(16,26,21,.6) 0%,rgba(16,26,21,.15) 30%,rgba(16,26,21,.62) 56%,rgba(16,26,21,.94) 100%)}
  .ab-in{padding-top:150px;padding-bottom:120px;text-align:center}
  .ab-txt{margin:0 auto}
  .ab-sobre{justify-content:center;font-size:11px;letter-spacing:.24em}
  .ab-sobre::before{display:none}
  .ab h1{font-size:clamp(34px,9.4vw,44px)}
  .ab-p{font-size:17px;margin-left:auto;margin-right:auto}
  .ab-bts{justify-content:center}
  .ab-bts .btn{width:100%}
  .ab-ctrl{left:18px;right:84px;bottom:30px;width:auto;justify-items:start}
  .ab-leg{text-align:left;font-size:11.5px}
  .ab-slide.kb img{animation:none}
  .carimbo-in{grid-template-columns:1fr 1fr;padding:0}
  .carimbo-in>div{padding:14px 16px;border-left:0;border-top:1px solid var(--linha);text-align:center}
  .carimbo-in>div:nth-child(odd){border-right:1px solid var(--linha)}
  .carimbo-in>div:nth-child(5){grid-column:1/-1;border-right:0}
  .carimbo-in>div:nth-child(-n+2){border-top:0}
  .carimbo dd{font-size:16px;white-space:normal}
  .abre{gap:12px}
  .abre h2{font-size:clamp(26px,7.6vw,34px)}
  .abre-sub{font-size:16px;text-align:center}
  .pl,.lc,.pj,.am,.al,.pr,.jn{padding:72px 0}
  .vs{padding:70px 0}
  .pl-mesa{margin-top:34px}
  .pl-ctrl,.pl-desenho{padding:18px 14px}
  .pl-passos button{flex-direction:column;gap:3px;height:52px;font-size:12px}
  .pl-perg{text-align:center}
  .pl-folha-rot{flex-direction:column;gap:3px}
  .pl-folha-rot span:last-child{color:var(--carvalho-esc)}
  .pl-ficha{grid-template-columns:1fr 1fr}
  .pl-ficha>div:nth-child(3){border-left:0}
  .pl-ficha>div:nth-child(n+3){border-top:1px solid rgba(244,240,232,.14)}
  .pl-ficha dd{font-size:24px}
  .pl-itens{grid-template-columns:1fr}
  .pl-acab{grid-template-columns:repeat(4,1fr)}
  .pj-filtros{flex-wrap:wrap}
  .pj-filtros button{padding:0 14px}
  .pj-grade{gap:10px}
  .pj-grade figcaption{padding:28px 10px 10px;font-size:13px}
  .am-quadro{padding:14px}
  .am-portas{grid-template-columns:1fr 1fr}
  .am-guia{padding:20px 18px;text-align:center}
  .am-guia-passos{grid-template-columns:1fr;gap:16px}
  .am-guia-passos li{text-align:left}
  .am-guia-bts{flex-direction:column}
  .am-guia-bts .btn{width:100%}
  .am-acab{padding:18px}
  .am-acab-bl h3,.am-porta h3{text-align:center}
  .am-ler{align-self:center}
  .al-grade{grid-template-columns:1fr}
  .al-piso{grid-column:auto}
  .al-txt b{text-align:center}
  .al-txt{text-align:left}
  .al-ir{align-self:center}
  .pr-regua{margin-top:40px}
  .pr-passos{grid-template-columns:1fr;row-gap:30px}
  .pr-passos li{text-align:center}
  .pr-marca{left:50%;margin-left:-8px}
  .pr-passos p{text-align:left}
  .jn-lista h3{text-align:center}
  .jn-cat{text-align:center}
  .jn-ir{align-self:center}
  .vs-in{grid-template-columns:1fr;grid-template-areas:"cab" "fones" "end" "bts";text-align:center}
  .vs-cab p{text-align:left}
  .vs-end{border-left:1px solid rgba(226,199,125,.35);border-top:3px solid var(--latao);align-items:center}
  .vs-end a{align-self:center}
  .vs-bts{flex-direction:column}
  .vs-bts .btn{width:100%}
  .rp-folha{grid-template-columns:1fr 1fr;gap:30px 20px;padding:30px 18px}
  .rp-marca{grid-column:1/-1;text-align:center}
  .rp-marca img{margin:0 auto}
  .rp-marca p{text-align:left}
  .rp-carimbo{grid-template-columns:1fr}
  .rp-cel{border-right:0!important;border-bottom:1px solid rgba(244,240,232,.22)!important}
  .rp-cel:last-child{border-bottom:0!important}
  .rp-base{grid-template-columns:1fr;text-align:center;justify-items:center}
  .rp-base p:last-child{text-align:center}
  .flut{right:14px;bottom:14px;padding:8px}
  .flut span{display:none}
}
@media (min-width:901px){
  p{hyphens:manual}
}
/* ?nofx=1 e movimento reduzido: tudo parado no estado final */
.nofx *,.nofx *::before,.nofx *::after{animation:none!important;transition:none!important}
.nofx .ab-portas{display:none!important}
.nofx .ab-txt>*,.nofx .ab-ctrl{opacity:1!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ab-portas{display:none!important}
  .ab-txt>*,.ab-ctrl{opacity:1!important}
}

/* bloqueio de cópia (campos continuam selecionáveis) */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none}
