/* =========================================================
   Prolar Decor — design system
   Paleta tirada do próprio showroom: concreto, aço preto, carvalho.
   Tipos: Jost (títulos, ecoa a logo) + Instrument Sans (texto).
   ========================================================= */

/* 0. tokens ------------------------------------------------ */
:root{
  --aco:#16130F;          /* preto quente */
  --grafite:#2A2520;
  --texto:#1E1A16;
  --texto-2:#57504A;
  --cal:#FFFFFF;          /* fundo branco galeria */
  --branco:#FFFFFF;
  --concreto:#F5F3EF;     /* superfície suave (quase branco) */
  --concreto-2:#DCD6CC;
  --linha:rgba(22,19,15,.12);
  --carvalho:#7E5E2C;     /* latão escuro: links */
  --carvalho-cl:#C9A56A;
  --mel:#B8935A;          /* latão: detalhe e CTA claro */
  --verde-wpp:#1A7A43;
  --f-titulo:"Playfair Display",Georgia,serif;
  --f-texto:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --wrap:1240px;
  --gut:clamp(18px,4.2vw,56px);
  --sec:clamp(72px,9vw,128px);
  --r-s:6px; --r-m:12px; --r-l:18px;
  --sombra:0 1px 2px rgba(22,19,15,.06),0 18px 40px -18px rgba(22,19,15,.25);
  --ease:cubic-bezier(.22,.8,.24,1);
  --topo:76px;
}

/* 1. base --------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo) + 12px)}
body{margin:0;background:var(--cal);color:var(--texto);font:500 17.5px/1.65 var(--f-texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,canvas{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:700;line-height:1.02;letter-spacing:-.035em;margin:0;color:var(--aco);font-optical-sizing:auto}
h1{font-size:clamp(2.9rem,6.4vw,6rem)}
h2{font-size:clamp(2.1rem,4.2vw,3.7rem)}
h3{font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.02em;font-weight:650}
p{margin:0 0 1em}
::selection{background:var(--carvalho-cl);color:var(--aco)}
:focus-visible{outline:2.5px solid var(--carvalho);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:12px;top:-60px;z-index:200;background:var(--aco);color:#fff;padding:10px 16px;border-radius:var(--r-s);text-decoration:none;transition:top .2s}
.pular:focus{top:12px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}
.sec--branco{background:var(--branco)}
.sec--escuro{background:var(--aco);color:#E9E6DF}
.sec--escuro h2,.sec--escuro h3{color:#F7F5F0}
.sec--concreto{background:var(--concreto)}
.sec--escuro{background:var(--aco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='96'%3E%3Cg stroke='%23ffffff' stroke-opacity='.045' fill='none'%3E%3Cpath d='M0 .5h480M0 48.5h480M120.5 0v48M360.5 0v48M240.5 48v48M30.5 48v48'/%3E%3C/g%3E%3C/svg%3E")}
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ico-f{fill:currentColor;stroke:none}

/* cabeçalho de secção: título + texto curto, alinhado à esquerda */
.cab{display:grid;align-content:start;gap:18px;max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.cab p{font-size:1.1rem;color:var(--texto-2);max-width:60ch;margin:0}
.sec--escuro .cab p{color:#BDB8AE}
.cab--lado{max-width:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:clamp(20px,5vw,80px)}
@media (max-width:860px){.cab--lado{grid-template-columns:1fr}}

/* 2. botões ------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;border:1.5px solid transparent;font:700 1rem/1 var(--f-texto);letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),color .2s,border-color .2s,transform .15s;touch-action:manipulation;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn--aco{background:var(--aco);color:#fff}
.btn--aco:hover{background:var(--carvalho);color:#fff}
.btn--claro{background:var(--mel);color:var(--aco)}
.btn--claro:hover{background:#F3C07E}
.btn--mel{background:var(--mel);color:var(--aco)}
.btn--mel:hover{background:#F3C07E}
.btn--linha{border-color:currentColor;background:transparent}
.btn--linha:hover{background:var(--aco);color:#fff;border-color:var(--aco)}
.sec--escuro .btn--linha:hover,.hero .btn--linha:hover{background:#fff;color:var(--aco);border-color:#fff}
.btn--wpp{background:var(--verde-wpp);color:#fff}
.btn--wpp:hover{background:#17733e}
.btn .ico{width:20px;height:20px}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--carvalho);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.link:hover{color:var(--aco)}
.sec--escuro .link{color:var(--carvalho-cl)}
.sec--escuro .link:hover{color:#fff}

/* 3. topo --------------------------------------------------- */
.topo{position:fixed;inset:0 0 auto;z-index:90;height:var(--topo);display:flex;align-items:center;transition:background .3s,box-shadow .3s,transform .35s var(--ease)}
.topo .wrap{display:flex;align-items:center;gap:28px;max-width:1440px}
.topo__logo{display:block;flex:none}
.topo__logo img{width:104px;height:auto}
.topo__logo .claro{display:none}
.topo--sobre .topo__logo .escuro{display:none}
.topo--sobre .topo__logo .claro{display:block}
.topo.solido{background:rgba(247,241,231,.97);box-shadow:0 1px 0 var(--linha)}
.topo.solido .topo__logo .escuro{display:block}
.topo.solido .topo__logo .claro{display:none}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav>a,.nav__grupo>button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;background:none;border:0;cursor:pointer;font:500 .98rem/1 var(--f-texto);text-decoration:none;color:var(--aco)}
.topo--sobre:not(.solido) .nav>a,.topo--sobre:not(.solido) .nav__grupo>button{color:#fff}
.nav>a:hover,.nav__grupo>button:hover{background:rgba(28,27,25,.07)}
.topo--sobre:not(.solido) .nav>a:hover,.topo--sobre:not(.solido) .nav__grupo>button:hover{background:rgba(255,255,255,.14)}
.nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--carvalho)}
.nav__grupo{position:relative}
.nav__grupo>button .ico{width:14px;height:14px;transition:transform .2s}
.nav__grupo[data-aberto] >button .ico{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 10px);left:-12px;width:min(560px,80vw);display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;background:#fff;border-radius:var(--r-l);box-shadow:var(--sombra);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s var(--ease),visibility .2s}
.nav__grupo[data-aberto] .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:8px;border-radius:var(--r-m);text-decoration:none}
.submenu a:hover{background:var(--cal)}
.submenu img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.submenu b{display:block;font:500 1.05rem/1.2 var(--f-titulo);color:var(--aco)}
.submenu small{display:block;font-size:.88rem;line-height:1.35;color:var(--texto-2)}
.topo__cta{margin-left:10px;min-height:46px;padding:0 20px}
.topo--sobre:not(.solido) .topo__cta{background:var(--mel);color:var(--aco)}
.burger{display:none;margin-left:auto;width:48px;height:48px;border-radius:50%;border:0;background:none;cursor:pointer;color:var(--aco)}
.topo--sobre:not(.solido) .burger{color:#fff}
.burger span{display:block;width:22px;height:1.8px;margin:5px auto;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
@media (max-width:1080px){
  .nav,.topo__cta{display:none}
  .burger{display:block}
}
/* menu de celular em ecrã inteiro */
.menu{position:fixed;inset:0;z-index:95;background:var(--aco);color:#F2F1EC;display:flex;flex-direction:column;padding:calc(var(--topo) + 8px) var(--gut) 28px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.menu[data-aberto]{opacity:1;visibility:visible}
.menu__lista{list-style:none;margin:0;padding:0}
.menu__lista>li{border-bottom:1px solid rgba(255,255,255,.1)}
.menu__lista a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;font:500 1.55rem/1.1 var(--f-titulo);text-decoration:none}
.menu__pisos{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 18px}
.menu__pisos a{position:relative;display:block;min-height:0;aspect-ratio:4/3;border-radius:var(--r-m);overflow:hidden;font-size:1rem}
.menu__pisos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.menu__pisos span{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font:500 1rem/1.2 var(--f-titulo)}
.menu__acoes{display:grid;gap:10px;margin-top:auto;padding-top:26px}
.menu__acoes small{color:#A8A399;font-size:.92rem}
body.menu-aberto{overflow:hidden}
body.menu-aberto .topo{background:transparent;box-shadow:none}
body.menu-aberto .topo .claro{display:block!important}
body.menu-aberto .topo .escuro{display:none!important}
body.menu-aberto .burger{color:#fff}
body.menu-aberto .burger span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
body.menu-aberto .burger span:nth-child(2){opacity:0}
body.menu-aberto .burger span:nth-child(3){transform:translateY(-6.8px) rotate(-45deg)}

/* 4. hero: provador de pisos ------------------------------- */
.hero{position:relative;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;background:#E8E4DA;overflow:hidden;color:#fff}
.hero__sala{position:absolute;inset:0}
.hero__sala img,.hero__sala canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.hero__sala canvas{opacity:0;transition:opacity .4s}
.hero__sala.gl canvas{opacity:1}
.hero__veu{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,19,17,.66) 0%,rgba(20,19,17,.38) 34%,rgba(20,19,17,0) 58%),linear-gradient(0deg,rgba(20,19,17,.42) 0%,rgba(20,19,17,0) 30%),linear-gradient(180deg,rgba(20,19,17,.38) 0%,rgba(20,19,17,0) 22%);pointer-events:none}
.hero__conteudo{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--topo) + 28px);padding-bottom:210px}
.hero__conteudo .wrap{max-width:1440px}
.hero h1{color:#fff;max-width:11.5ch;font-weight:500;text-wrap:balance}
.hero__sub{max-width:44ch;margin:22px 0 32px;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.6;color:rgba(255,255,255,.92)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn--linha{color:#fff}
/* trilho de amostras: placas reais com furo e etiqueta */
.amostras{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 0 22px}
.amostras .wrap{max-width:1440px;display:flex;align-items:flex-end;gap:22px}
.amostras__rotulo{flex:none;width:170px;padding-bottom:10px;font-size:.95rem;line-height:1.4;color:rgba(255,255,255,.9)}
.amostras__rotulo b{display:block;font:500 1.15rem/1.2 var(--f-titulo);color:#fff;margin-bottom:4px}
.amostras__lista{display:flex;gap:12px;list-style:none;margin:0;padding:6px 2px 2px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.amostras__lista::-webkit-scrollbar{display:none}
.amostra{flex:none;scroll-snap-align:start}
.amostra button{position:relative;display:block;width:96px;padding:0;border:0;background:none;cursor:pointer;text-align:left;transition:transform .3s var(--ease)}
.amostra__placa{position:relative;display:block;width:96px;height:132px;border-radius:5px;overflow:hidden;background:#bbb center/cover;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 10px 22px -8px rgba(0,0,0,.55);transition:transform .3s var(--ease),box-shadow .3s}
.amostra__placa::before{content:"";position:absolute;top:9px;left:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#3a3833 0 45%,#1d1c1a 70%);box-shadow:0 0 0 2.5px rgba(232,228,220,.92),0 1px 2px rgba(0,0,0,.4)}
.amostra__placa::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(255,255,255,0) 40%,rgba(0,0,0,.08))}
.amostra__nome{display:block;margin-top:8px;font:500 .9rem/1.2 var(--f-titulo);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.amostra__tipo{display:block;font-size:.8rem;color:rgba(255,255,255,.78)}
.amostra button:hover .amostra__placa{transform:translateY(-6px)}
.amostra button[aria-pressed="true"] .amostra__placa{transform:translateY(-12px);box-shadow:0 0 0 2.5px #fff,0 16px 28px -8px rgba(0,0,0,.6)}
.amostra button[aria-pressed="true"] .amostra__nome::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;vertical-align:middle;border-radius:50%;background:var(--carvalho-cl)}
@media (max-width:860px){
  .hero{min-height:auto}
  .hero__sala{position:relative;inset:auto;height:54svh;min-height:340px;max-height:520px;order:2}
  .hero__sala img,.hero__sala canvas{object-position:30% 100%}
  .hero__veu{background:linear-gradient(180deg,rgba(20,19,17,.5) 0%,rgba(20,19,17,0) 34%),linear-gradient(0deg,rgba(20,19,17,.55) 0%,rgba(20,19,17,0) 40%)}
  .hero{background:var(--aco)}
  .hero__conteudo{order:1;padding-top:calc(var(--topo) + 26px);padding-bottom:30px;background:var(--aco)}
  .hero h1{max-width:13ch}
  .hero__sub{margin:16px 0 24px}
  .amostras{position:relative;order:3;background:var(--aco);padding:16px 0 20px}
  .amostras .wrap{padding-right:0}
  .amostra button[aria-pressed="true"] .amostra__placa{transform:translateY(-4px)}
  .amostras__rotulo{display:none}
  .amostra button,.amostra__placa{width:78px}
  .amostra__placa{height:104px}
}

/* 5. faixa de factos --------------------------------------- */
.factos{background:var(--aco);color:#E9E6DF;border-top:1px solid rgba(255,255,255,.08)}
.factos ul{list-style:none;margin:0;padding:26px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.factos li{display:flex;gap:14px;align-items:flex-start;font-size:.98rem;line-height:1.45;color:#C9C4BA}
.factos b{display:block;font:500 1.06rem/1.25 var(--f-titulo);color:#fff;margin-bottom:2px}
.factos .ico{width:26px;height:26px;color:var(--carvalho-cl);margin-top:1px}
@media (max-width:980px){.factos ul{grid-template-columns:1fr 1fr;gap:20px}}
@media (max-width:520px){.factos ul{grid-template-columns:1fr}}

/* 6. pisos: galeria que expande (21st.dev hover-expand) ---- */
.pisos-exp{display:flex;gap:10px;height:clamp(460px,58vw,620px)}
.pex{position:relative;flex:1 1 0;min-width:0;border-radius:var(--r-l);overflow:hidden;background:var(--aco);color:#fff;text-decoration:none;transition:flex-grow .6s var(--ease)}
.pex[data-ativo]{flex-grow:3.6}
.pex img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.pex:not([data-ativo]) img{filter:saturate(.75) brightness(.72)}
.pex::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,17,15,.82) 0%,rgba(18,17,15,.15) 52%,rgba(18,17,15,0) 70%)}
.pex__rotulo{position:absolute;left:22px;bottom:24px;z-index:2;font:500 1.35rem/1.1 var(--f-titulo);writing-mode:vertical-rl;transform:rotate(180deg);transition:opacity .3s}
.pex[data-ativo] .pex__rotulo{opacity:0}
.pex__info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px;max-width:560px;opacity:0;transform:translateY(12px);transition:opacity .35s .1s,transform .5s var(--ease) .1s}
.pex[data-ativo] .pex__info{opacity:1;transform:none}
.pex__info h3{color:#fff;font-size:clamp(1.7rem,2.4vw,2.2rem);margin-bottom:10px}
.pex__info p{color:rgba(255,255,255,.88);margin:0 0 16px;font-size:1.02rem}
.pex__info .rot{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding:0;list-style:none}
.pex__info .rot li{padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.86rem}
.pex__ir{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1.5px solid currentColor;padding-bottom:2px}
@media (max-width:1023px){
  .pisos-exp{flex-direction:column;height:auto}
  .pex{flex:none;height:92px;transition:height .55s var(--ease)}
  .pex[data-ativo]{height:440px}
  .pex__rotulo{writing-mode:horizontal-tb;transform:none;bottom:auto;top:50%;translate:0 -50%}
  .pex__info{padding:22px}
}

/* 7. vídeo "sinta" ---------------------------------------- */
.sinta{position:relative;min-height:clamp(520px,64vw,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#3a2516}
.sinta video,.sinta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sinta::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(18,12,8,.82) 0%,rgba(18,12,8,.3) 46%,rgba(18,12,8,0) 70%)}
.sinta .wrap{position:relative;z-index:2;padding-bottom:clamp(40px,6vw,80px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end}
.sinta h2{color:#fff;max-width:13ch}
.sinta dl{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:0}
.sinta dt{font:500 1.12rem/1.2 var(--f-titulo);color:#fff;margin-bottom:4px}
.sinta dd{margin:0;font-size:.98rem;line-height:1.5;color:rgba(255,255,255,.84)}
.sinta__pausa{position:absolute;right:var(--gut);top:24px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.25);color:#fff;cursor:pointer;display:grid;place-items:center}
@media (max-width:860px){.sinta .wrap{grid-template-columns:1fr}.sinta{min-height:640px}.sinta dl{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.sinta dl{grid-template-columns:1fr}}

/* 8. comparativo ------------------------------------------ */
.comp{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.comp__col{display:flex;flex-direction:column;background:var(--branco);border-radius:var(--r-l);overflow:hidden;border:1px solid var(--linha)}
.comp__col>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.comp__corpo{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.comp__corpo h3{margin-bottom:6px}
.comp__corpo>p{color:var(--texto-2);font-size:1rem;margin-bottom:18px}
.comp dl{margin:0 0 22px;display:grid;gap:0}
.comp dl div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--linha);font-size:.97rem;line-height:1.45}
.comp dt{color:var(--texto-2)}
.comp dd{margin:0;color:var(--texto);font-weight:500}
.comp .link{margin-top:auto;align-self:flex-start}
.comp__nota{margin:22px 0 0;color:var(--texto-2);font-size:.98rem}
@media (max-width:980px){.comp{grid-template-columns:1fr}.comp__col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.comp__col>img{height:100%;aspect-ratio:auto}}
@media (max-width:640px){.comp__col{display:flex}.comp__col>img{aspect-ratio:16/10;height:auto}}

/* 9. antes e depois (21st.dev image comparison) ------------ */
.ad{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.ad__txt p{color:var(--texto-2)}
.ad__txt ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:12px}
.ad__txt li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.ad__txt li .ico{color:var(--carvalho);margin-top:2px}
.compara{position:relative;aspect-ratio:3/2;border-radius:var(--r-l);overflow:hidden;user-select:none;touch-action:pan-y;--pos:50%;background:#ddd;cursor:ew-resize}
.compara img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 80%;pointer-events:none}
.compara__depois{clip-path:inset(0 0 0 var(--pos))}
.compara__linha{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.3);pointer-events:none}
.compara__pega{position:absolute;top:50%;left:var(--pos);width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff;color:var(--aco);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);pointer-events:none}
.compara input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.compara__et{position:absolute;bottom:16px;padding:7px 13px;border-radius:999px;background:rgba(20,19,17,.72);color:#fff;font-size:.9rem;font-weight:500;pointer-events:none}
.compara__et--a{left:16px}.compara__et--d{right:16px}
@media (max-width:900px){.ad{grid-template-columns:1fr}}

/* 10. como funciona: linha do tempo com feixe ------------- */
.passos{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;counter-reset:p}
.passos::before,.passos::after{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:rgba(255,255,255,.14)}
.passos::after{background:linear-gradient(90deg,var(--carvalho-cl),#E8C9A0);transform-origin:left;transform:scaleX(var(--prog,0));transition:transform .2s linear}
.passo{position:relative;counter-increment:p}
.passo__n{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--grafite);border:1.5px solid rgba(255,255,255,.18);font:500 1.15rem/1 var(--f-titulo);color:#fff;transition:background .4s,border-color .4s,color .4s}
.passo.on .passo__n{background:var(--carvalho-cl);border-color:var(--carvalho-cl);color:var(--aco)}
.passo h3{margin:22px 0 8px;font-size:1.3rem}
.passo p{margin:0;color:#BDB8AE;font-size:.98rem;line-height:1.55}
@media (max-width:980px){
  .passos{grid-template-columns:1fr;gap:30px;padding-left:76px}
  .passos::before,.passos::after{left:-49px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .passos::after{transform-origin:top;transform:scaleY(var(--prog,0))}
  .passo__n{position:absolute;left:-76px;top:0}
  .passo h3{margin-top:12px}
}

/* 11. showroom: mosaico sem buracos ----------------------- */
.show{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.show__info{position:sticky;top:calc(var(--topo) + 30px)}
.show__info>p{color:var(--texto-2)}
.ficha{margin:26px 0 30px;padding:0;list-style:none;border-top:1px solid var(--linha)}
.ficha li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--linha);line-height:1.5}
.ficha .ico{color:var(--carvalho);margin-top:2px}
.ficha b{display:block;font-weight:600;color:var(--aco)}
.ficha a{color:inherit}
.mosaico{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(90px,10vw,140px);gap:10px}
.mosaico button{position:relative;padding:0;border:0;border-radius:var(--r-m);overflow:hidden;cursor:zoom-in;background:var(--concreto)}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mosaico button:hover img{transform:scale(1.04)}
.mosaico{grid-auto-flow:dense}
.mosaico .m1{grid-column:span 4;grid-row:span 2}
.mosaico .m2,.mosaico .m3{grid-column:span 2;grid-row:span 1}
.mosaico .m4,.mosaico .m5,.mosaico .m6{grid-column:span 2;grid-row:span 2}
@media (max-width:900px){.show{grid-template-columns:1fr}.show__info{position:static}}
@media (max-width:560px){.mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.mosaico .m1{grid-column:span 2;grid-row:span 2}.mosaico .m2,.mosaico .m3,.mosaico .m4,.mosaico .m5{grid-column:span 1;grid-row:span 1}.mosaico .m6{grid-column:span 2;grid-row:span 1}}
/* ecrã cheio */
.lb{position:fixed;inset:0;z-index:120;background:rgba(14,13,12,.96);display:grid;grid-template-rows:auto 1fr auto;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.lb[data-aberto]{opacity:1;visibility:visible}
.lb__topo{display:flex;justify-content:space-between;align-items:center;padding:14px var(--gut);color:#ddd;font-size:.95rem}
.lb__img{display:grid;place-items:center;padding:0 var(--gut);min-height:0}
.lb__img img{max-height:100%;max-width:100%;object-fit:contain;border-radius:8px}
.lb__nav{display:flex;justify-content:center;gap:12px;padding:16px}
.lb button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;cursor:pointer;display:grid;place-items:center}
.lb figcaption{color:#ccc;text-align:center;padding:10px var(--gut) 0;font-size:.95rem}

/* 12. também fazemos ------------------------------------- */
.servs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.serv{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;padding:26px;border-radius:var(--r-l);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.serv img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.serv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(18,17,15,.86) 0%,rgba(18,17,15,.25) 55%,rgba(18,17,15,0) 75%)}
.serv:hover img{transform:scale(1.04)}
.serv h3{color:#fff;margin-bottom:8px}
.serv p{margin:0 0 14px;color:rgba(255,255,255,.86);font-size:1rem;line-height:1.55}
.serv .pex__ir{align-self:flex-start}
@media (max-width:900px){.servs{grid-template-columns:1fr}.serv{min-height:340px}}

/* 13. avaliações + marcas -------------------------------- */
.aval__topo{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}
.aval__setas{display:flex;gap:10px}
.aval__setas button{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--linha);background:var(--branco);cursor:pointer;display:grid;place-items:center;color:var(--aco)}
.aval__setas button:hover{border-color:var(--aco)}
.aval__lista{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.aval__lista::-webkit-scrollbar{display:none}
.depo{scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;margin:0;padding:28px;border-radius:var(--r-l);background:var(--branco);border:1px solid var(--linha)}
.depo__estrelas{display:flex;gap:3px;color:#C08A2E}
.depo__estrelas .ico{width:17px;height:17px}
.depo blockquote{margin:0;font-size:1.06rem;line-height:1.6;color:var(--texto)}
.depo figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--texto-2)}
.depo figcaption b{color:var(--aco);display:block;font-weight:600}
.depo__ini{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--concreto);font:500 1rem/1 var(--f-titulo);color:var(--aco)}
.aval__google{display:inline-flex;align-items:center;gap:10px;font-size:1rem;color:var(--texto-2)}
.aval__google b{color:var(--aco)}
@media (max-width:980px){.aval__lista{grid-auto-columns:calc((100% - 16px)/2)}}
@media (max-width:640px){.aval__lista{grid-auto-columns:86%}}
.marcas{margin-top:clamp(56px,7vw,90px);padding-top:30px;border-top:1px solid var(--linha);overflow:hidden}
.marcas__janela{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marcas p{margin:0 0 18px;color:var(--texto-2);font-size:.98rem}
.marcas__fita{display:flex;width:max-content;gap:56px;animation:fita 46s linear infinite}
.marcas__fita span{font:500 1.5rem/1 var(--f-titulo);color:#8F897F;white-space:nowrap;letter-spacing:-.01em}
.marcas:hover .marcas__fita{animation-play-state:paused}
@keyframes fita{to{transform:translateX(-50%)}}

/* 14. FAQ ------------------------------------------------ */
.faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,80px)}
.faq__lista details{border-top:1px solid var(--linha)}
.faq__lista details:last-child{border-bottom:1px solid var(--linha)}
.faq__lista summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font:500 1.16rem/1.35 var(--f-titulo);color:var(--aco)}
.faq__lista summary::-webkit-details-marker{display:none}
.faq__lista summary .ico{transition:transform .3s var(--ease);flex:none}
.faq__lista details[open] summary .ico{transform:rotate(45deg)}
.faq__lista details>div{padding:0 0 22px;color:var(--texto-2);max-width:66ch}
.faq__lista details>div p:last-child{margin:0}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* 15. CTA final: painel com cartões de contacto --------- */
.final{background:var(--aco);color:#E9E6DF;border-radius:var(--r-l);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.final__txt{padding:clamp(32px,5vw,64px)}
.final__txt h2{color:#fff;margin-bottom:16px}
.final__txt>p{color:#BDB8AE;max-width:46ch}
.contatos{display:grid;gap:10px;margin-top:28px}
.contato{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--r-m);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#fff;transition:background .2s,border-color .2s}
.contato:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2)}
.contato__ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.contato--wpp{background:var(--verde-wpp);border-color:var(--verde-wpp)}
.contato--wpp:hover{background:#17733e;border-color:#17733e}
.contato--wpp .contato__ico{background:rgba(255,255,255,.18)}
.contato b{display:block;font:500 1.1rem/1.25 var(--f-titulo)}
.contato small{display:block;font-size:.92rem;color:rgba(255,255,255,.78)}
.final__foto{position:relative;min-height:360px}
.final__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.final{grid-template-columns:1fr}.final__foto{min-height:260px;order:-1}}

/* 16. rodapé --------------------------------------------- */
.rodape{background:#141311;color:#B4AFA5;padding:clamp(56px,7vw,90px) 0 28px;font-size:.98rem}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.rodape h4{font:500 1.05rem/1.2 var(--f-titulo);color:#fff;margin:0 0 14px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rodape a{text-decoration:none;color:#C9C4BA;display:inline-flex;min-height:36px;align-items:center}
.rodape a:hover{color:#fff}
.rodape__marca img{width:150px;margin-bottom:18px}
.rodape__marca p{max-width:36ch;line-height:1.6}
.rodape__tel{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.rodape__tel a{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#fff;gap:8px}
.rodape__tel a:hover{border-color:#fff}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:.9rem;color:#8E897F}
.rodape__base a{min-height:auto;color:#C9C4BA}
@media (max-width:980px){.rodape__grade{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape__grade{grid-template-columns:1fr}}

/* 17. WhatsApp premium ---------------------------------- */
.wpp{position:fixed;right:18px;bottom:18px;z-index:80}
.wpp__btn{display:flex;align-items:center;gap:10px;padding:6px 18px 6px 6px;border:0;border-radius:999px;background:#fff;color:var(--aco);box-shadow:0 10px 30px -8px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);cursor:pointer;font:600 .98rem/1 var(--f-texto)}
.wpp__av{position:relative;width:46px;height:46px;border-radius:50%;background:var(--aco) url(../assets/img/avatar-prolar.png) center/72% no-repeat}
.wpp__av::after{content:"";position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;border:2.5px solid #fff;background:#25D366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 3a9 9 0 0 0-7.8 13.5L3 21l4.6-1.2A9 9 0 1 0 12 3Zm4.4 12.4c-.2.5-1.1 1-1.6 1-.4.1-.9.1-1.5-.1a12 12 0 0 1-5.4-4.7c-.4-.6-.7-1.3-.7-2s.4-1.2.6-1.4c.2-.2.4-.3.6-.3h.4c.1 0 .3 0 .4.3l.7 1.6c0 .1.1.3 0 .4l-.3.5-.3.4c-.1.1-.2.3-.1.5.2.3.7 1.1 1.4 1.7.9.8 1.6 1 1.8 1.1.2.1.4.1.5-.1l.7-.8c.2-.2.3-.2.5-.1l1.6.8c.2.1.4.2.4.3.1.1.1.6-.1 1.1Z'/%3E%3C/svg%3E") center/12px no-repeat}
.wpp__aviso{position:absolute;right:0;bottom:calc(100% + 12px);width:250px;padding:14px 16px;border-radius:var(--r-m);background:#fff;box-shadow:var(--sombra);font-size:.95rem;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(6px);transition:.3s var(--ease)}
.wpp__aviso[data-on]{opacity:1;visibility:visible;transform:none}
.wpp__painel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(370px,calc(100vw - 28px));border-radius:var(--r-l);overflow:hidden;background:#fff;box-shadow:0 24px 60px -16px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:.28s var(--ease)}
.wpp[data-aberto] .wpp__painel{opacity:1;visibility:visible;transform:none}
.wpp__cab{display:flex;gap:12px;align-items:center;padding:16px 16px;background:var(--aco);color:#fff}
.wpp__cab .wpp__av{width:44px;height:44px;flex:none;background-color:#2f2d29}
.wpp__cab .wpp__av::after{border-color:var(--aco)}
.wpp__cab b{display:block;font:500 1.06rem/1.2 var(--f-titulo)}
.wpp__cab small{display:flex;align-items:center;gap:6px;font-size:.86rem;color:#C9C4BA}
.wpp__cab small i{width:8px;height:8px;border-radius:50%;background:#9A958C}
.wpp__cab small i.on{background:#3DDC84}
.wpp__fechar{margin-left:auto;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center}
.wpp__corpo{padding:16px;background:#F3F1EC;max-height:min(56vh,440px);overflow:auto}
.wpp__msg{max-width:88%;padding:11px 13px;border-radius:4px 14px 14px 14px;background:#fff;font-size:.96rem;line-height:1.5;box-shadow:0 1px 1px rgba(0,0,0,.06);margin-bottom:12px}
.wpp__atalhos{display:grid;gap:8px}
.wpp__atalhos button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 14px;border-radius:12px;border:1px solid var(--linha);background:#fff;cursor:pointer;text-align:left;font-size:.95rem;font-weight:500;color:var(--aco)}
.wpp__atalhos button:hover{border-color:var(--verde-wpp);color:var(--verde-wpp)}
.wpp__livre{display:flex;gap:8px;padding:12px;border-top:1px solid var(--linha);background:#fff}
.wpp__livre label{flex:1}
.wpp__livre input{width:100%;height:46px;padding:0 14px;border-radius:999px;border:1px solid var(--linha);font:inherit;font-size:16px;background:#F7F6F2}
.wpp__livre button{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--verde-wpp);color:#fff;cursor:pointer;display:grid;place-items:center}
@media (max-width:640px){.wpp__btn{padding:6px}.wpp__btn>span:last-child{display:none}}

/* 18. páginas internas ---------------------------------- */
.pi-hero{position:relative;padding:calc(var(--topo) + clamp(40px,6vw,80px)) 0 clamp(48px,6vw,80px);background:var(--aco);color:#E9E6DF;overflow:hidden}
.pi-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.pi-hero h1{color:#fff;font-size:clamp(2.5rem,5vw,4.4rem)}
.pi-hero__sub{font-size:1.15rem;color:#CFCAC0;max-width:48ch;margin:20px 0 28px}
.pi-hero__foto{position:relative;aspect-ratio:4/3;border-radius:var(--r-l);overflow:hidden}
.pi-hero__foto img{width:100%;height:100%;object-fit:cover}
.migalhas{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 22px;padding:0;font-size:.92rem;color:#A8A399}
.migalhas a{color:#D9D4CA;text-decoration:none}
.migalhas a:hover{color:#fff;text-decoration:underline}
.migalhas li+li::before{content:"/";margin-right:6px;color:#6E6A63}
@media (max-width:900px){.pi-hero .wrap{grid-template-columns:1fr}}
.duas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.duas--inv>:first-child{order:2}
.duas__foto{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3}
.duas__foto img{width:100%;height:100%;object-fit:cover}
.duas__foto--alta{aspect-ratio:4/5}
.texto p{color:var(--texto-2)}
.texto h2{margin-bottom:20px}
@media (max-width:900px){.duas{grid-template-columns:1fr}.duas--inv>:first-child{order:0}}
.vant{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}
.vant li{padding:26px;border-radius:var(--r-l);background:var(--branco);border:1px solid var(--linha)}
.sec--branco .vant li{background:var(--cal)}
.vant .ico{width:30px;height:30px;color:var(--carvalho);margin-bottom:16px}
.vant h3{font-size:1.25rem;margin-bottom:8px}
.vant p{margin:0;color:var(--texto-2);font-size:1rem;line-height:1.55}
@media (max-width:900px){.vant{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vant{grid-template-columns:1fr}}
.marcas-lista{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.marcas-lista li{padding:12px 20px;border-radius:999px;border:1px solid var(--linha);background:var(--branco);font:500 1.1rem/1 var(--f-titulo);color:var(--aco)}
.tabela{width:100%;border-collapse:collapse;font-size:1rem}
.tabela th,.tabela td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela thead th{font:500 1.1rem/1.2 var(--f-titulo);color:var(--aco);border-bottom:1.5px solid var(--aco)}
.tabela tbody th{font-weight:600;color:var(--aco);width:26%}
.tabela-rola{overflow-x:auto;border-radius:var(--r-m)}
.lista-ok{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}
.lista-ok li{display:flex;gap:12px;align-items:flex-start;line-height:1.55}
.lista-ok .ico{color:var(--carvalho);margin-top:3px}
.sec--escuro .lista-ok .ico{color:var(--carvalho-cl)}
.relac{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.relac{grid-template-columns:1fr}}
.relac .serv{min-height:320px}

/* 19. orçamento: questionário em etapas (21st.dev segmented progress) */
.quiz{max-width:860px;margin:0 auto;background:var(--branco);border-radius:var(--r-l);border:1px solid var(--linha);padding:clamp(22px,4vw,48px)}
.quiz__prog{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}
.quiz__prog i{height:5px;border-radius:9px;background:var(--concreto);transition:background .3s}
.quiz__prog i.on{background:var(--aco)}
.quiz__passo{font-size:.95rem;color:var(--texto-2);margin-bottom:6px}
.quiz fieldset{border:0;margin:0;padding:0}
.quiz legend{font:500 clamp(1.5rem,2.6vw,2rem)/1.2 var(--f-titulo);color:var(--aco);margin-bottom:22px;padding:0}
.opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opcao{position:relative}
.opcao input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.opcao span{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 16px;border-radius:var(--r-m);border:1.5px solid var(--linha);font-weight:500;line-height:1.35;transition:border-color .2s,background .2s}
.opcao span small{display:block;font-weight:400;color:var(--texto-2);font-size:.9rem}
.opcao input:checked+span{border-color:var(--aco);background:#F6F4EF;box-shadow:inset 0 0 0 1px var(--aco)}
.opcao input:focus-visible+span{outline:2.5px solid var(--carvalho);outline-offset:2px}
.opcao span::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--concreto-2);background:#fff}
.opcao input[type=checkbox]+span::before{border-radius:6px}
.opcao input:checked+span::before{border-color:var(--aco);background:radial-gradient(circle,var(--aco) 0 45%,#fff 50%)}
.opcao input[type=checkbox]:checked+span::before{background:var(--aco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4.5 4.5L19 7' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat}
@media (max-width:600px){.opcoes{grid-template-columns:1fr}}
.campo{display:grid;gap:6px;margin-bottom:14px}
.campo label{font-weight:600;color:var(--aco)}
.campo input,.campo select,.campo textarea{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--r-m);border:1.5px solid var(--linha);font:inherit;font-size:16px;background:#fff;color:var(--texto)}
.campo textarea{min-height:110px;resize:vertical}
.campo small{color:var(--texto-2);font-size:.9rem}
.campos2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:600px){.campos2{grid-template-columns:1fr}}
.quiz__nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.quiz__erro{color:#A32020;font-weight:500;margin:14px 0 0;min-height:1.4em}
.resultado{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.resultado img{border-radius:var(--r-m);aspect-ratio:3/4;object-fit:cover;width:100%}
.resultado h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:10px}
@media (max-width:600px){.resultado{grid-template-columns:1fr}.resultado img{aspect-ratio:16/9}}

/* 20. util ---------------------------------------------- */
[hidden]{display:none!important}
.sec--sobe{position:relative;z-index:2}
.centro{text-align:center}
.mt-0{margin-top:0}
.nota{font-size:.95rem;color:var(--texto-2)}
.pag-404 .sec{min-height:70vh;display:grid;align-items:center}

/* 21. movimento reduzido -------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .marcas__fita{animation:none;flex-wrap:wrap;width:auto}
}

/* =========================================================
   22. HERO 2: vídeo + leque de amostras (peça-assinatura)
   ========================================================= */
.hero2{position:relative;min-height:100svh;min-height:100dvh;display:flex;align-items:flex-end;overflow:hidden;background:#2A1A10;color:#fff;isolation:isolate}
.hero2__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero2__veu{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,17,9,.88) 0%,rgba(30,17,9,.62) 38%,rgba(30,17,9,.15) 70%),linear-gradient(0deg,rgba(30,17,9,.75) 0%,rgba(30,17,9,0) 45%),linear-gradient(180deg,rgba(30,17,9,.55) 0%,rgba(30,17,9,0) 22%)}
.hero2__grade{width:100%;max-width:1440px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:40px;padding-top:calc(var(--topo) + 40px);padding-bottom:clamp(48px,7vw,96px)}
.hero2 h1{color:#fff;font-size:clamp(3.4rem,8.4vw,8.2rem);font-weight:800;letter-spacing:-.05em;line-height:.92}
.hero2__selo{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:7px 16px 7px 7px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:.95rem;color:#F1E6D6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero2__selo span{padding:4px 11px;border-radius:999px;background:var(--mel);color:var(--aco);font-weight:700}
.hero2__sub{max-width:46ch;margin:26px 0 34px;font-size:clamp(1.06rem,1.35vw,1.22rem);line-height:1.6;color:rgba(255,248,238,.92)}
.hero2 .btn--linha{color:#fff;border-color:rgba(255,255,255,.55)}
.hero2__pausa{top:auto;bottom:24px;right:var(--gut)}
/* leque: réguas de amostra presas por um pino, como os mostruários das marcas */
.leque{position:relative;justify-self:center;width:min(420px,100%);height:clamp(430px,40vw,520px);margin-bottom:-10px}
.leque__regua{--ang:calc((var(--i) - 2.5) * 13deg);position:absolute;left:50%;bottom:40px;width:108px;height:min(400px,82%);margin-left:-54px;padding:0;border:0;border-radius:8px 8px 4px 4px;background:#7a5a3c;cursor:pointer;transform-origin:50% calc(100% - 26px);transform:rotate(var(--ang));box-shadow:0 1px 0 rgba(255,255,255,.35) inset,-1px 0 0 rgba(0,0,0,.25) inset,0 18px 30px -12px rgba(0,0,0,.6);transition:transform .45s var(--ease),filter .3s;animation:leque-abre 1.1s var(--ease) both;animation-delay:calc(.35s + var(--i) * 70ms);overflow:hidden}
.leque__veio{position:absolute;inset:0;background-size:cover;background-position:center}
.leque__veio::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.2),rgba(255,255,255,0) 35%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.28))}
.leque__etq{position:absolute;left:10px;right:10px;top:12px;padding:8px 8px 7px;border-radius:5px;background:#FFFCF7;color:var(--aco);font:700 .78rem/1.15 var(--f-texto);text-align:left;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.leque__etq::before{content:"PROLAR";display:block;font-size:.58rem;letter-spacing:.14em;color:var(--carvalho);margin-bottom:3px}
.leque__regua:hover,.leque__regua:focus-visible{transform:rotate(var(--ang)) translateY(-22px);filter:brightness(1.06);z-index:2}
.leque__pino{position:absolute;left:50%;bottom:52px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3e4cc 0 18%,#b8925f 45%,#5a3b1f 100%);box-shadow:0 2px 6px rgba(0,0,0,.6);z-index:3;pointer-events:none}
@keyframes leque-abre{from{transform:rotate(0deg) translateY(30px);opacity:0}to{transform:rotate(var(--ang));opacity:1}}
@media (max-width:900px){
  .hero2{min-height:auto;align-items:stretch}
  .hero2__grade{grid-template-columns:1fr;padding-top:calc(var(--topo) + 24px);gap:8px}
  .hero2__veu{background:linear-gradient(0deg,rgba(30,17,9,.92) 0%,rgba(30,17,9,.55) 55%,rgba(30,17,9,.35) 100%)}
  .leque{order:-1;height:300px;width:300px;margin:0 auto -6px}
  .leque__regua{width:76px;margin-left:-38px;height:250px;bottom:20px;--ang:calc((var(--i) - 2.5) * 12deg)}
  .leque__etq{font-size:.66rem;padding:6px 6px 5px;left:7px;right:7px}
  .leque__pino{bottom:30px}
  .hero2__pausa{bottom:auto;top:calc(var(--topo) + 10px)}
}

/* 23. PROVADOR em secção própria ------------------------- */
.provador__grade{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,4vw,64px);align-items:center}
.provador__txt>p{color:var(--texto-2);font-size:1.1rem;margin:20px 0 28px}
.provador .amostras__lista{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;overflow:visible;padding:0}
.provador .amostra button{width:100%}
.provador .amostra__placa{width:100%;height:auto;aspect-ratio:4/5}
.provador .amostra__nome{color:var(--aco);text-shadow:none;font:650 .95rem/1.2 var(--f-titulo)}
.provador .amostra button[aria-pressed="true"] .amostra__placa{transform:translateY(-6px);box-shadow:0 0 0 3px var(--aco),0 16px 28px -10px rgba(42,26,16,.55)}
.provador__agora{margin:24px 0 0;font-size:1rem;color:var(--texto-2)}
.provador__agora b{color:var(--aco)}
.provador__sala{position:relative;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sombra)}
.provador__sala .hero__sala{position:relative;inset:auto;aspect-ratio:3/2}
.provador__sala .hero__sala img,.provador__sala .hero__sala canvas{object-position:50% 70%}
@media (max-width:900px){
  .provador__grade{grid-template-columns:minmax(0,1fr)}
  .provador__sala{order:-1;margin:0 calc(var(--gut) * -1);border-radius:0}
  .provador__sala .hero__sala{aspect-ratio:4/3.4}
  .provador__sala .hero__sala img,.provador__sala .hero__sala canvas{object-position:34% 92%}
  .provador .amostras__lista{grid-template-columns:repeat(6,minmax(84px,1fr));overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x mandatory}
}

/* 24. secções escuras e claras reajustadas -------------- */
.sec--escuro .ad__txt p,.sec--escuro .nota{color:#CDBBA6}
.sec--escuro .ad__txt li{color:#F1E6D6}
.sec--escuro .ad__txt li .ico{color:var(--mel)}
.sec--escuro .ficha{border-color:rgba(255,255,255,.12)}
.sec--escuro .ficha li{border-color:rgba(255,255,255,.12);color:#E5D8C6}
.sec--escuro .ficha b{color:#fff}
.sec--escuro .ficha .ico{color:var(--mel)}
.sec--escuro .show__info>p{color:#CDBBA6}
.sec--escuro .btn--aco{background:var(--mel);color:var(--aco)}
.sec--escuro .btn--linha{color:#fff}
/* linha do tempo em fundo claro */
.sec:not(.sec--escuro) .passos::before{background:var(--linha)}
.sec:not(.sec--escuro) .passo__n{background:var(--branco);border-color:var(--concreto-2);color:var(--aco)}
.sec:not(.sec--escuro) .passo.on .passo__n{background:var(--aco);border-color:var(--aco);color:var(--mel)}
.sec:not(.sec--escuro) .passo p{color:var(--texto-2)}
.sec:not(.sec--escuro) .passos::after{background:linear-gradient(90deg,var(--carvalho),var(--mel))}
/* factos em faixa mel */
.factos{background:var(--mel);color:var(--aco);border:0}
.factos li{color:#4A3020}
.factos b{color:var(--aco)}
.factos .ico{color:var(--aco)}
/* cartões com mais presença */
.comp__col,.depo,.vant li{border-radius:var(--r-l);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px -18px rgba(42,26,16,.35)}
.pex,.serv{border-radius:var(--r-l)}
.pex__info h3,.serv h3{font-weight:700}
.final{background:var(--aco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='96'%3E%3Cg stroke='%23ffffff' stroke-opacity='.05' fill='none'%3E%3Cpath d='M0 .5h480M0 48.5h480M120.5 0v48M360.5 0v48M240.5 48v48M30.5 48v48'/%3E%3C/g%3E%3C/svg%3E")}
.rodape{background:#1E120A}
.marcas__fita span{font-weight:700;color:#A08A73}
.pi-hero{background:var(--aco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='96'%3E%3Cg stroke='%23ffffff' stroke-opacity='.045' fill='none'%3E%3Cpath d='M0 .5h480M0 48.5h480M120.5 0v48M360.5 0v48M240.5 48v48M30.5 48v48'/%3E%3C/g%3E%3C/svg%3E")}
.pi-hero h1{font-weight:800;letter-spacing:-.045em}
@media (max-width:600px){.pag-orc .contatos{grid-template-columns:1fr!important}}
/* fotos de ambiente: mostrar o chão */
.pex img,.comp__col>img,.serv img,.pi-hero__foto img,.duas__foto img{object-position:50% 78%}

/* =========================================================
   25. v4: HERO = PROVADOR (o bloco aprovado, ampliado)
   ========================================================= */
.ph{background:var(--concreto);padding:calc(var(--topo) + clamp(28px,4vw,56px)) 0 clamp(36px,4vw,56px)}
.ph__grade{max-width:1480px;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,3.6vw,64px);align-items:center}
.ph__selo{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:6px 16px 6px 6px;border-radius:999px;background:var(--branco);border:1px solid var(--linha);font-size:.92rem;color:var(--texto-2)}
.ph__selo span{padding:4px 11px;border-radius:999px;background:var(--aco);color:var(--mel);font-weight:700}
.ph h1{font-size:clamp(2.8rem,5.2vw,5.4rem);font-weight:800;letter-spacing:-.05em;line-height:.95}
.ph__sub{font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--texto-2);margin:20px 0 26px;max-width:42ch}
.abas{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:rgba(42,26,16,.07);margin-bottom:20px}
.abas button{min-height:44px;padding:0 20px;border:0;border-radius:999px;background:none;cursor:pointer;font:700 .98rem/1 var(--f-texto);color:var(--texto-2);transition:background .2s,color .2s}
.abas button[aria-selected="true"]{background:var(--aco);color:#fff}
.abas button:hover:not([aria-selected="true"]){color:var(--aco)}
.ph .amostras__lista{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;overflow:visible;padding:0;margin:0;list-style:none}
.ph .amostra button{width:100%}
.ph .amostra__placa{width:100%;height:auto;aspect-ratio:5/4}
.ph .amostra__nome{color:var(--aco);text-shadow:none;font:700 .98rem/1.2 var(--f-titulo);margin-top:9px}
.ph .amostra__tipo{color:var(--texto-2);font-size:.84rem}
.ph .amostra button[aria-pressed="true"] .amostra__placa{transform:translateY(-6px);box-shadow:0 0 0 3px var(--aco),0 16px 28px -10px rgba(42,26,16,.55)}
.ph__sala{position:relative}
.ph__sala .hero__sala{position:relative;inset:auto;aspect-ratio:3/2;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(42,26,16,.55),0 2px 0 rgba(255,255,255,.5) inset}
.ph__sala .hero__sala img,.ph__sala .hero__sala canvas{object-position:50% 70%}
.ficha-piso{position:absolute;left:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);display:flex;align-items:center;gap:14px;padding:12px;border-radius:20px;background:rgba(255,252,247,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 16px 40px -18px rgba(42,26,16,.6)}
.ficha-piso__amostra{flex:none;width:58px;height:58px;border-radius:12px;background:#ddd center/cover;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.ficha-piso__info{flex:1;min-width:0;line-height:1.25}
.ficha-piso__info b{display:block;font:700 1.15rem/1.15 var(--f-titulo);color:var(--aco)}
.ficha-piso__info small{display:block;font-size:.84rem;color:var(--texto-2)}
.ficha-piso__antes{flex:none;min-height:46px;padding:0 16px;border-radius:999px;border:1.5px solid var(--linha);background:var(--branco);cursor:pointer;font:700 .9rem/1 var(--f-texto);color:var(--aco);user-select:none;-webkit-user-select:none;touch-action:none}
.ficha-piso__antes:active,.ficha-piso__antes.on{background:var(--aco);color:#fff;border-color:var(--aco)}
.ficha-piso__cta{flex:none;min-height:48px;padding:0 20px}
.selos{list-style:none;margin:clamp(28px,3vw,44px) auto 0;padding:22px 0 0;border-top:1px solid var(--linha);display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1480px}
.selos li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;line-height:1.45;color:var(--texto-2)}
.selos b{color:var(--aco)}
.selos .ico{width:26px;height:26px;color:var(--carvalho)}
@media (max-width:1100px){.ficha-piso__antes{display:none}}
@media (max-width:900px){
  .ph{padding-top:calc(var(--topo) + 18px)}
  .ph__grade{grid-template-columns:minmax(0,1fr)}
  .ph__sala{order:2}
  .ph .amostras__lista{order:3;grid-template-columns:repeat(6,minmax(78px,1fr));overflow-x:auto;padding:6px 2px 6px;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding-left:var(--gut);padding-right:var(--gut)}
  .ph__txt{display:contents}
  .ph__txt>*:not(.amostras__lista){order:1}
  .ph__sala .hero__sala{border-radius:20px;aspect-ratio:4/3.3}
  .ph__sala .hero__sala img,.ph__sala .hero__sala canvas{object-position:40% 95%}
  .ficha-piso{position:relative;left:auto;right:auto;bottom:auto;margin-top:-34px;margin-inline:10px;flex-wrap:wrap}
  .ficha-piso__cta{width:100%}
  .selos{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.selos{grid-template-columns:1fr}}

/* 26. cartas de piso com amostra -------------------- */
.cartas{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.carta{position:relative;display:flex;flex-direction:column;background:var(--branco);border-radius:26px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 18px 44px -26px rgba(42,26,16,.45);transition:transform .35s var(--ease),box-shadow .35s}
.carta:hover{transform:translateY(-4px);box-shadow:0 26px 54px -26px rgba(42,26,16,.55)}
.carta__foto{display:block;aspect-ratio:16/10;overflow:hidden}
.carta__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 80%;transition:transform 1s var(--ease)}
.carta:hover .carta__foto img{transform:scale(1.04)}
.carta__amostra{position:relative;align-self:flex-end;width:86px;height:110px;margin:-72px 28px -38px 0;border-radius:7px;background-size:cover;background-position:center;transform:rotate(6deg);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 14px 24px -10px rgba(0,0,0,.55);transition:transform .4s var(--ease)}
.carta:hover .carta__amostra{transform:rotate(-2deg) translateY(-6px)}
.carta__amostra::before{content:"";position:absolute;top:8px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#2c2620;box-shadow:0 0 0 2.5px rgba(240,232,220,.95)}
.carta__corpo{display:flex;flex-direction:column;padding:6px 30px 30px;flex:1}
.carta__corpo h3{font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:800;margin-bottom:8px}
.carta__corpo p{color:var(--texto-2);margin:0 0 16px;max-width:40ch}
.carta__corpo ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.carta__corpo li{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--cal);font-size:.88rem;font-weight:600;color:var(--aco)}
.carta__corpo li .ico{width:15px;height:15px;color:var(--carvalho)}
.carta .pex__ir{margin-top:auto;align-self:flex-start;color:var(--carvalho)}
@media (max-width:820px){.cartas{grid-template-columns:1fr}.carta__amostra{width:70px;height:90px;margin-top:-56px}}

/* 27. faixa de cinema ----------------------------------- */
.cine{position:relative;min-height:clamp(480px,56vw,680px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:#2A1A10}
.cine__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cine::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(30,17,9,.8) 0%,rgba(30,17,9,.25) 50%,rgba(30,17,9,.05) 75%)}
.cine .wrap{padding-bottom:clamp(40px,6vw,80px)}
.cine h2{color:#fff;font-size:clamp(2.4rem,5.4vw,5rem);font-weight:800;letter-spacing:-.045em;max-width:12ch}
.cine p{max-width:48ch;margin:18px 0 26px;font-size:1.1rem;color:rgba(255,248,238,.92)}
.cine .sinta__pausa{top:auto;bottom:24px}

/* 28. obras em formato de perfil do Instagram ---------- */
.obras{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:center}
.obras__txt p{color:var(--texto-2);margin:18px 0 26px}
.feed{background:var(--branco);border-radius:26px;padding:22px;box-shadow:0 18px 44px -26px rgba(42,26,16,.45)}
.feed__perfil{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.feed__av{width:58px;height:58px;border-radius:50%;background:var(--aco) url(../assets/img/avatar-prolar.png) center/72% no-repeat;box-shadow:0 0 0 3px var(--branco),0 0 0 5px #d6249f}
.feed__perfil b{display:block;font:700 1.05rem/1.2 var(--f-titulo);color:var(--aco)}
.feed__perfil small{display:block;font-size:.85rem;color:var(--texto-2)}
.feed__perfil>span:nth-child(2){flex:1;min-width:160px}
.feed__num{text-align:center}
.feed__bio{font-size:.95rem;color:var(--texto-2);margin:14px 0 16px}
.feed__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:14px;overflow:hidden}
.feed__grade button{padding:0;border:0;aspect-ratio:1/1;cursor:zoom-in;background:var(--concreto);overflow:hidden}
.feed__grade img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.feed__grade button:hover img{transform:scale(1.05)}
@media (max-width:900px){.obras{grid-template-columns:minmax(0,1fr)}}

/* 29. tudo claro: antes/depois, showroom, páginas internas */
.sec--concreto .show__info>p{color:var(--texto-2)}
.pi-hero{background:var(--concreto)!important;color:var(--texto)}
.pi-hero h1{color:var(--aco)}
.pi-hero__sub{color:var(--texto-2)}
.pi-hero .migalhas{color:var(--texto-2)}
.pi-hero .migalhas a{color:var(--aco)}
.pi-hero .btn--linha{color:var(--aco)!important;border-color:var(--aco)}
.pi-hero .btn--claro{background:var(--aco);color:#fff}
.pi-hero__foto{border-radius:28px;box-shadow:0 30px 60px -30px rgba(42,26,16,.55)}
/* rodapé com marca gigante em madeira */
.rodape__gigante{margin:56px 0 0;font:800 clamp(5rem,22vw,20rem)/.8 var(--f-titulo);letter-spacing:-.06em;text-align:center;background:url(../assets/reguas/piso-mel.webp) center/1200px auto;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.92;user-select:none}
.ph__sala,.ph__txt>*{min-width:0}
@media (max-width:900px){.ph__sala{width:100%}.ph__sala .hero__sala{width:100%}}

/* =========================================================
   30. 21st.dev — Testimonials Section with Logo Marquee
       (kedhareswer/ink-orbit-testimonials, adaptado à paleta)
   ========================================================= */
.it-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.it-reveal[data-in="true"]{opacity:1;transform:none}
.it-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:clamp(28px,4vw,52px)}
.it-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.92rem;font-weight:600;color:var(--texto-2);background:var(--branco);border:1px solid var(--linha);text-decoration:none}
.it-tag .ico{width:18px;height:18px}
.it-head h2{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:800;letter-spacing:-.045em}
.it-muted{color:#8E6B4A}
.it-frame{position:relative}
.it-c{position:absolute;width:14px;height:14px;border:0 solid var(--concreto-2);pointer-events:none}
.it-c-tl{top:-7px;left:-7px;border-top-width:2px;border-left-width:2px}
.it-c-tr{top:-7px;right:-7px;border-top-width:2px;border-right-width:2px}
.it-c-bl{bottom:-7px;left:-7px;border-bottom-width:2px;border-left-width:2px}
.it-c-br{bottom:-7px;right:-7px;border-bottom-width:2px;border-right-width:2px}
.it-tframe{padding:clamp(16px,2.6vw,32px) clamp(8px,2vw,24px);border:1px solid var(--linha);border-radius:4px;background:rgba(255,252,247,.45)}
.it-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 6px 12px;scroll-behavior:smooth}
.it-track::-webkit-scrollbar{display:none}
@media (min-width:640px){.it-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media (min-width:1000px){.it-track{grid-auto-columns:calc((100% - 36px)/3)}}
.it-quote{scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;min-height:280px;margin:0;padding:26px 24px 22px;background:var(--branco);border:1px solid var(--linha);border-radius:18px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.it-quote:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(42,26,16,.45)}
.it-stars{display:flex;gap:3px;color:#C08A2E}
.it-stars .ico{width:16px;height:16px}
.it-quote blockquote{position:relative;margin:0;padding:0 18px;font-size:1.06rem;line-height:1.55;color:var(--texto)}
.it-qm{position:absolute;font:800 2.2rem/1 var(--f-titulo);color:var(--mel)}
.it-qm--a{left:-4px;top:-6px}.it-qm--f{right:-2px;bottom:-22px}
.it-who{display:flex;align-items:center;gap:12px;margin-top:auto;font-size:.92rem;color:var(--texto-2)}
.it-who b{display:block;color:var(--aco)}
.it-tnav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.it-icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--linha);background:var(--branco);color:var(--aco);cursor:pointer;transition:border-color .2s}
.it-icon-btn:hover{border-color:var(--aco)}
.it-dots{display:flex;gap:6px}
.it-dot{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:var(--concreto-2);cursor:pointer;transition:width .35s cubic-bezier(.2,.8,.2,1),background-color .3s}
.it-dot[aria-current="true"]{width:22px;background:var(--aco)}
.it-marquee{position:relative;overflow:hidden;margin-top:clamp(28px,4vw,44px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.it-marquee-row{display:flex;width:max-content;gap:clamp(40px,5vw,64px);animation:it-marq 40s linear infinite;padding:6px 0}
.it-marquee:hover .it-marquee-row{animation-play-state:paused}
.it-logo{font:800 1.45rem/1 var(--f-titulo);letter-spacing:-.03em;color:#7A634D;white-space:nowrap}
@keyframes it-marq{to{transform:translateX(-50%)}}

/* =========================================================
   31. 21st.dev — Process Timeline (shadcnui-blocks/timeline-05)
       linha vertical, ícone com anel; ✓ nas etapas concluídas
   ========================================================= */
.tl-grade{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.tl-foto{position:sticky;top:calc(var(--topo) + 28px);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(42,26,16,.55)}
.tl-foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.tl-foto__nota{position:absolute;left:16px;right:16px;bottom:16px;margin:0;padding:14px 16px;border-radius:16px;background:rgba(255,252,247,.94);font-size:.98rem;color:var(--texto-2)}
.tl-foto__nota b{color:var(--aco)}
.tl{position:relative;list-style:none;margin:0 0 0 24px;padding:0}
.tl::before{content:"";position:absolute;top:0;bottom:0;left:0;border-left:2px solid var(--concreto-2)}
.tl::after{content:"";position:absolute;top:0;left:0;width:2px;height:calc(var(--prog,0) * 100%);background:linear-gradient(var(--carvalho),var(--mel));transition:height .2s linear}
.tl__passo{position:relative;padding:0 0 40px 46px}
.tl__passo:last-child{padding-bottom:0}
.tl__ico{position:absolute;left:1px;top:0;z-index:1;display:grid;place-items:center;width:44px;height:44px;transform:translateX(-50%);border-radius:50%;border:1.5px solid var(--concreto-2);background:var(--cal);box-shadow:0 0 0 8px var(--cal);font:700 1.05rem/1 var(--f-titulo);color:var(--aco);transition:background .35s,border-color .35s,color .35s}
.tl__ok{display:none;width:22px;height:22px}
.tl__passo.on .tl__ico{background:var(--aco);border-color:var(--aco);color:var(--mel)}
.tl__passo.on .tl__n{display:none}
.tl__passo.on .tl__ok{display:block}
.tl__passo h3{font-size:1.45rem;font-weight:700;margin:6px 0 6px}
.tl__passo p{margin:0;color:var(--texto-2);max-width:48ch}
@media (max-width:900px){.tl-grade{grid-template-columns:minmax(0,1fr)}.tl-foto{position:relative;top:auto}.tl-foto img{aspect-ratio:16/11}}

/* 32. ui-ux-pro-max: barra fixa do configurador (mobile) + partilhar + grão natural */
.barra-piso{position:fixed;left:10px;right:86px;bottom:12px;z-index:79;display:none;align-items:center;gap:10px;padding:8px 8px 8px 8px;border-radius:18px;background:rgba(42,26,16,.96);color:#fff;box-shadow:0 14px 34px -12px rgba(0,0,0,.6);transform:translateY(130%);transition:transform .35s var(--ease)}
.barra-piso.on{transform:none}
.barra-piso__am{flex:none;width:44px;height:44px;border-radius:10px;background:#7a5a3c center/cover}
.barra-piso__txt{flex:1;min-width:0;line-height:1.2}
.barra-piso__txt small{display:block;font-size:.78rem;color:#CDBBA6}
.barra-piso__txt b{display:block;font:700 1rem/1.2 var(--f-titulo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barra-piso .btn{min-height:44px;padding:0 16px;font-size:.92rem}
@media (max-width:900px){.barra-piso{display:flex}}
.ficha-piso__partilhar{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--linha);background:var(--branco);color:var(--aco);cursor:pointer;display:grid;place-items:center}
.ficha-piso__partilhar .ico{transform:rotate(-45deg)}
.ficha-piso__partilhar:hover{border-color:var(--aco)}
.ph,.sec--concreto,.pi-hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .1 0 0 0 0 .06 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.btn,.amostra button,.abas button,.it-icon-btn,.it-dot{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){.it-reveal{opacity:1;transform:none}.it-marquee-row{animation:none}.barra-piso{transition:none}}

/* 33. páginas de piso: hero com provador + catálogo de cores reais */
.pi2{background:var(--concreto);padding:calc(var(--topo) + clamp(26px,3.5vw,48px)) 0 clamp(40px,5vw,72px)}
.pi2__grade{max-width:1480px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,4vw,64px);align-items:start}
.pi2 .migalhas{color:var(--texto-2)}.pi2 .migalhas a{color:var(--aco)}
.pi2 h1{font-size:clamp(3rem,6vw,5.6rem);font-weight:800;letter-spacing:-.05em;line-height:.95}
.pi2__sub{font-size:clamp(1.06rem,1.3vw,1.2rem);color:var(--texto-2);margin:20px 0 26px;max-width:44ch}
.pi2__fatos{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pi2__fatos li{padding:14px 16px;border-radius:16px;background:var(--branco);border:1px solid var(--linha);font-size:.95rem;line-height:1.4;color:var(--texto-2)}
.pi2__fatos b{display:block;font:800 1.35rem/1.1 var(--f-titulo);color:var(--aco);margin-bottom:3px}
.pv .abas{margin-bottom:14px}
.pv__amostras{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none;margin:16px 0 0;padding:0}
.pv .amostra button{width:100%}
.pv .amostra__placa{width:100%;height:auto;aspect-ratio:16/9}
.pv .amostra__nome{color:var(--aco);text-shadow:none;font:700 .95rem/1.2 var(--f-titulo);margin-top:8px}
.pv .amostra__tipo{display:none}
.pv .amostra button[aria-pressed="true"] .amostra__placa{transform:translateY(-4px);box-shadow:0 0 0 3px var(--aco),0 14px 24px -10px rgba(42,26,16,.5)}
@media (max-width:900px){.pi2__grade{grid-template-columns:minmax(0,1fr)}.pv__amostras{grid-template-columns:repeat(4,minmax(70px,1fr))}}
/* catálogo: cores reais como amostras com etiqueta */
.catalogo{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.catalogo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.catalogo{grid-template-columns:1fr 1fr;gap:12px}.cor figcaption{padding:12px}.cor b{font-size:1.02rem}}
.cor{position:relative;display:flex;flex-direction:column;margin:0;background:var(--branco);border-radius:20px;overflow:hidden;border:1px solid var(--linha);box-shadow:0 14px 34px -24px rgba(42,26,16,.45);transition:transform .35s var(--ease),box-shadow .35s}
.cor:hover{transform:translateY(-4px);box-shadow:0 24px 44px -24px rgba(42,26,16,.55)}
.cor__foto{position:relative;padding:0;border:0;cursor:zoom-in;aspect-ratio:1/1;overflow:hidden;background:var(--concreto)}
.cor__foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cor:hover .cor__foto img{transform:scale(1.05)}
.cor__foto::before{content:"";position:absolute;top:12px;left:50%;z-index:1;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#2c2620;box-shadow:0 0 0 3px rgba(255,252,247,.95),0 2px 6px rgba(0,0,0,.4)}
.cor figcaption{display:flex;flex-direction:column;gap:2px;padding:14px 16px 16px;flex:1}
.cor small{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--carvalho)}
.cor b{font:800 1.2rem/1.15 var(--f-titulo);color:var(--aco)}
.cor span{font-size:.9rem;color:var(--texto-2)}
.cor a{margin-top:12px;align-self:flex-start;font-weight:700;font-size:.92rem;color:var(--aco);text-decoration:none;border-bottom:1.5px solid var(--mel);padding-bottom:1px}
/* linhas da marca */
.linhas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.linhas__foto{border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(42,26,16,.55)}
.linhas__foto img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:50% 80%}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0;padding:0}
.chips li{padding:10px 16px;border-radius:999px;background:var(--aco);color:var(--mel);font:700 1rem/1 var(--f-titulo)}
.selo-num{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.selo-num div{padding:16px;border-radius:16px;background:var(--branco);border:1px solid var(--linha)}
.selo-num b{display:block;font:800 1.9rem/1 var(--f-titulo);color:var(--aco);margin-bottom:6px}
.selo-num span{font-size:.9rem;color:var(--texto-2);line-height:1.35;display:block}
@media (max-width:900px){.linhas{grid-template-columns:minmax(0,1fr)}.selo-num{grid-template-columns:1fr}}
/* instalação passo a passo com fotos reais */
.inst{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:0;padding:0;counter-reset:i}
.inst li{counter-increment:i;background:var(--branco);border-radius:20px;overflow:hidden;border:1px solid var(--linha)}
.inst img{width:100%;aspect-ratio:4/3;object-fit:cover}
.inst div{padding:18px 18px 20px}
.inst h3{font-size:1.2rem;font-weight:800;margin-bottom:6px}
.inst h3::before{content:counter(i);display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:50%;background:var(--aco);color:var(--mel);font-size:.9rem;vertical-align:2px}
.inst p{margin:0;font-size:.95rem;color:var(--texto-2)}
@media (max-width:980px){.inst{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.inst{grid-template-columns:1fr}}
/* CTA de página */
.cta-faixa{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:24px;align-items:center;padding:clamp(28px,4vw,48px);border-radius:28px;background:var(--aco);color:#E9E6DF}
.cta-faixa h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.cta-faixa p{margin:10px 0 0;color:#CDBBA6}
.cta-faixa .hero__acoes{justify-content:flex-end}
@media (max-width:800px){.cta-faixa{grid-template-columns:1fr}.cta-faixa .hero__acoes{justify-content:flex-start}}

/* =========================================================
   34. TEMA A — GALERIA (aprovado 08/10): branco, preto quente, latão, Playfair
   ========================================================= */
h1,h2,h3,h4{font-weight:600!important;letter-spacing:-.015em!important;line-height:1.08!important}
h1,.ph h1,.pi2 h1,.hero2 h1,.pi-hero h1{font-weight:600!important;letter-spacing:-.02em!important;line-height:1.04!important}
.ph h1{font-size:clamp(2.6rem,5vw,4.8rem)}
.pi2 h1{font-size:clamp(2.7rem,5.4vw,5rem)}
h3,.carta__corpo h3,.cor b,.tl__passo h3,.inst h3,.ficha-piso__info b{font-weight:600!important;letter-spacing:-.01em!important}
.amostra__nome,.ph .amostra__nome,.pv .amostra__nome,.provador .amostra__nome{font-family:var(--f-texto)!important;font-weight:700!important;letter-spacing:0}
.it-logo,.marcas__fita span{font-family:var(--f-titulo)!important;font-weight:600!important;color:#6E655C!important}
.it-muted{color:#8A6E45!important}
.ph,.sec--concreto,.pi-hero,.pi2{background-image:none!important}
.ph,.pi2{background:#fff!important;border-bottom:1px solid var(--linha)}
.sec--concreto{background:var(--concreto)!important}
.sec--branco{background:#fff}
.topo.solido{background:rgba(255,255,255,.97)!important}
.ph__selo span{background:var(--aco);color:#E9D3A8}
.abas{background:var(--concreto)}
.abas button[aria-selected="true"]{background:var(--aco);color:#fff}
.btn--mel,.btn--claro{background:var(--aco)!important;color:#fff!important}
.btn--mel:hover,.btn--claro:hover{background:#3a332b!important}
.btn--aco:hover{background:#3a332b!important}
.sec--escuro .btn--aco,.cta-faixa .btn--mel,.final .btn--mel,.cine .btn--mel{background:#E9D3A8!important;color:var(--aco)!important}
.ficha-piso{background:rgba(255,255,255,.96)}
.it-stars,.depo__estrelas{color:#B8935A}
.it-qm{color:#C9A56A}
.tl::after{background:linear-gradient(#7E5E2C,#C9A56A)}
.tl__passo.on .tl__ico{background:var(--aco);color:#E9D3A8}
.tl__ico,.tl__ico{background:#fff;box-shadow:0 0 0 8px #fff}
.sec--concreto .tl__ico{box-shadow:0 0 0 8px var(--concreto)}
.carta__corpo li{background:var(--concreto)}
.chips li{background:var(--aco);color:#E9D3A8;font-family:var(--f-texto)}
.inst h3::before{background:var(--aco);color:#E9D3A8;font-family:var(--f-texto)}
.cor small{color:var(--carvalho)}
.cor a{border-bottom-color:var(--mel)}
.factos{background:var(--aco);color:#fff}.factos li{color:#CFC6BA}.factos b{color:#fff}.factos .ico{color:#C9A56A}
.final,.cta-faixa{background:var(--aco)!important}
.final__txt>p,.cta-faixa p{color:#CFC6BA}
.rodape{background:#0F0D0A}
.rodape__gigante{opacity:.85}
.barra-piso{background:rgba(22,19,15,.96)}
.barra-piso .btn{background:#E9D3A8!important;color:var(--aco)!important}
.feed__av{box-shadow:0 0 0 3px #fff,0 0 0 5px #B8935A}
.cine::before{background:linear-gradient(0deg,rgba(15,13,10,.82) 0%,rgba(15,13,10,.25) 50%,rgba(15,13,10,.05) 75%)}
.sec--escuro{background:var(--aco)!important}
::selection{background:#E9D3A8;color:var(--aco)}
:focus-visible{outline-color:var(--aco)}
@media (max-width:600px){.ph h1{font-size:2.5rem}.ph__selo{font-size:.85rem}}
.ph__selo span{white-space:nowrap}
@media (max-width:900px){
  .ph__txt>*{margin-top:0}
  .ph__selo{margin-bottom:16px;font-size:.84rem}
  .ph h1{margin-bottom:0}
  .ph__sub{margin:12px 0 18px}
  .abas{margin:0 0 14px}
  .ph__grade{gap:0}
  .ph__sala{margin-bottom:14px}
}

/* =========================================================
   35. IMERSÃO: faixa de réguas, cartas com vídeo, números, reels, revelações
   ========================================================= */
.rodape__gigante{font-size:clamp(2.6rem,9.2vw,8.6rem)!important;letter-spacing:-.01em!important;white-space:nowrap;line-height:1!important;padding:.08em 0 .12em}
.ph__selo{display:flex!important;align-items:center;gap:10px;padding:0!important;background:none!important;border:0!important;font-size:.95rem!important;color:var(--texto-2)!important;margin-bottom:22px}
.ph__est{color:#B8935A;letter-spacing:2px;font-size:1rem}
/* ritmo de cores */
.sec--escuro{color:#D9D2C7}
.sec--escuro .cab p,.sec--escuro .show__info>p{color:#BDB4A8!important}
.sec--escuro h2,.sec--escuro h3{color:#fff}
.sec--escuro .ficha{border-color:rgba(255,255,255,.14)}
.sec--escuro .ficha li{border-color:rgba(255,255,255,.14);color:#D9D2C7}
.sec--escuro .ficha b{color:#fff}.sec--escuro .ficha .ico{color:#C9A56A}.sec--escuro .ficha a{color:#fff}
.sec--escuro .btn--linha{color:#fff;border-color:rgba(255,255,255,.5)}
.sec--escuro .link{color:#E9D3A8}
/* faixa de réguas (marquee) */
.faixa{background:var(--aco);padding:18px 0;overflow:hidden;border-block:1px solid rgba(255,255,255,.06)}
.faixa__trilho{display:flex;gap:14px;width:max-content;animation:faixa 55s linear infinite}
.faixa__regua{position:relative;flex:none;width:340px;height:46px;border-radius:4px;background-size:cover;background-position:center;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 14px -6px rgba(0,0,0,.6)}
.faixa__regua b{position:absolute;left:12px;top:50%;transform:translateY(-50%);padding:4px 10px;border-radius:3px;background:rgba(255,255,255,.92);font:700 .78rem/1 var(--f-texto);color:var(--aco);letter-spacing:.02em}
.faixa:hover .faixa__trilho{animation-play-state:paused}
@keyframes faixa{to{transform:translateX(-50%)}}
/* cartas com vídeo */
.carta__foto{position:relative}
.carta__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s;z-index:1}
.carta.toca .carta__video{opacity:1}
/* números */
.numeros{background:#B8935A;color:var(--aco);padding:clamp(48px,6vw,80px) 0}
.numeros__grade{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.numeros b{display:block;font:600 clamp(2.6rem,5vw,4.4rem)/1 var(--f-titulo);letter-spacing:-.02em;color:var(--aco);font-variant-numeric:tabular-nums}
.numeros span{display:block;margin-top:10px;max-width:22ch;font-size:1rem;color:#2E2418;font-weight:600}
.numeros__grade>div{padding-left:18px;border-left:1.5px solid rgba(22,19,15,.3)}
@media (max-width:820px){.numeros__grade{grid-template-columns:1fr 1fr;gap:30px 18px}}
/* reels */
.reels{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut))) 26px;scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
.reel{position:relative;flex:none;width:clamp(220px,22vw,280px);aspect-ratio:9/16;padding:0;border:0;border-radius:22px;overflow:hidden;cursor:pointer;scroll-snap-align:start;background:#2a2520;box-shadow:0 20px 40px -20px rgba(0,0,0,.8);transition:transform .4s var(--ease)}
.reel:hover{transform:translateY(-6px)}
.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0) 45%)}
.reel__leg{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;text-align:left;font:600 1.02rem/1.3 var(--f-titulo);color:#fff}
.reel__play{position:absolute;top:14px;right:14px;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);color:#fff}
.reel__play .ico{width:16px;height:16px}
.vmodal{position:fixed;inset:0;z-index:130;display:grid;place-items:center;background:rgba(10,9,8,.94);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.vmodal[data-aberto]{opacity:1;visibility:visible}
.vmodal video{max-height:88vh;max-width:92vw;border-radius:18px;background:#000}
.vmodal__x{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:none;color:#fff;cursor:pointer;display:grid;place-items:center}
/* revelações ao rolar (uma vez) */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-img{clip-path:inset(0 0 100% 0 round 22px);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
.rv-img.in{clip-path:inset(0 0 0 0 round 22px)}
.cine__video{transform:scale(1.12) translateY(var(--par,0px));will-change:transform}
@media (prefers-reduced-motion:reduce){.faixa__trilho{animation:none}.rv,.rv-img{opacity:1;transform:none;clip-path:none;transition:none}.cine__video{transform:none}}
/* 36. menu */
.topo{z-index:100}
.nav>a,.nav__grupo>button{font-weight:600}
.nav>a:not(.btn)::after{content:"";display:block}
.nav>a{position:relative}
.nav>a:hover{background:none}
.nav>a::before{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:1.5px;background:#B8935A;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav>a:hover::before,.nav>a[aria-current="page"]::before{transform:scaleX(1)}
.nav a[aria-current="page"]{box-shadow:none}
.topo__tel{display:inline-flex;align-items:center;gap:8px;margin-left:14px;font-weight:700;text-decoration:none;color:var(--aco);white-space:nowrap}
.topo__tel .ico{width:18px;height:18px;color:#8A6E45}
@media (max-width:1240px){.topo__tel{display:none}}
.mega{width:min(860px,88vw)!important;left:-180px!important;grid-template-columns:1fr 220px!important;gap:12px!important;padding:14px!important;border-radius:22px!important}
.mega__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mega__card{display:flex!important;flex-direction:column;gap:0!important;padding:0!important;border-radius:14px;overflow:hidden;background:var(--concreto)}
.mega__card img{width:100%!important;height:140px!important;border-radius:0!important;object-fit:cover;transition:transform .6s var(--ease)}
.mega__card:hover img{transform:scale(1.05)}
.mega__card span{padding:10px 12px 12px}
.mega__prov{display:flex!important;flex-direction:column;justify-content:flex-end;grid-template-columns:none!important;padding:16px!important;border-radius:14px;background:var(--aco)!important;color:#fff;gap:2px!important}
.mega__prov b{color:#fff!important}.mega__prov small{color:#CFC6BA!important}
.mega__am{display:flex;margin-bottom:auto;padding-top:4px}
.mega__am i{width:46px;height:62px;border-radius:5px;background-size:cover;margin-right:-12px;box-shadow:0 6px 12px -4px rgba(0,0,0,.6);transform:rotate(-8deg)}
.mega__am i:nth-child(2){transform:rotate(0)}.mega__am i:nth-child(3){transform:rotate(8deg)}
/* menu celular */
body.menu-aberto .topo{background:var(--aco)!important;box-shadow:none}
body.menu-aberto .topo .escuro{display:none!important}
body.menu-aberto .topo .claro{display:block!important}
body.menu-aberto .burger{color:#fff!important}
.menu{background:var(--aco)!important}
.menu__lista a{font-family:var(--f-titulo)}
.menu__lista>li{opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.menu[data-aberto] .menu__lista>li{opacity:1;transform:none}
.menu[data-aberto] .menu__lista>li:nth-child(2){transition-delay:.05s}.menu[data-aberto] .menu__lista>li:nth-child(3){transition-delay:.1s}.menu[data-aberto] .menu__lista>li:nth-child(4){transition-delay:.15s}.menu[data-aberto] .menu__lista>li:nth-child(5){transition-delay:.2s}.menu[data-aberto] .menu__lista>li:nth-child(6){transition-delay:.25s}
/* selo e menos texto */
.ph__selo .ph__est{background:none!important;color:#B8935A!important;padding:0!important;font-weight:400}
.vant{grid-template-columns:repeat(3,1fr)}
.vant li{display:flex;align-items:center;gap:16px;padding:22px 22px!important}
.vant li .ico{flex:none;width:52px!important;height:52px!important;margin:0!important;padding:13px;border-radius:50%;background:var(--aco);color:#E9D3A8!important}
.vant li h3{margin:0!important;font-size:1.25rem!important}
.vant li p{display:none}
@media (max-width:900px){.vant{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vant{grid-template-columns:1fr}}
.carta__corpo ul{display:none}
.comp dl div:nth-child(n+4){display:none}
.sec--escuro .selo-num div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.sec--escuro .selo-num b{color:#fff}.sec--escuro .selo-num span{color:#BDB4A8}
.sec--escuro .chips li{background:#E9D3A8;color:var(--aco)}
.sec--escuro .texto p{color:#BDB4A8}
.sec--escuro .comp__col{background:#211d18;border-color:rgba(255,255,255,.1)}
.sec--escuro .comp dt{color:#A69C90}.sec--escuro .comp dd{color:#fff}.sec--escuro .comp__corpo>p{color:#BDB4A8}
.sec--escuro .comp dl div{border-color:rgba(255,255,255,.1)}
/* 37. obras: antes/depois real + grade */
.obras2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.compara--real{aspect-ratio:auto;height:100%;min-height:520px;border-radius:22px}
.compara--real img{object-position:50% 50%}
.obras2__grade{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.obra{position:relative;padding:0;border:0;border-radius:18px;overflow:hidden;cursor:zoom-in;aspect-ratio:1/1;background:var(--concreto)}
.obra img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.obra:hover img{transform:scale(1.06)}
.obra::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 50%)}
.obra span{position:absolute;left:14px;bottom:12px;z-index:1;font:600 1rem/1.2 var(--f-titulo);color:#fff;text-align:left}
@media (max-width:900px){.obras2{grid-template-columns:1fr}.compara--real{min-height:0;aspect-ratio:3/4}}
/* 38. FAQ visual */
.faq{align-items:start}
.faq__lado h2{margin-bottom:22px}
.faq__foto{position:relative;margin:0;border-radius:22px;overflow:hidden}
.faq__foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.faq__foto figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:grid;gap:4px;padding:18px;border-radius:16px;background:rgba(255,255,255,.96)}
.faq__foto b{font:600 1.25rem/1.2 var(--f-titulo);color:var(--aco)}
.faq__foto span{color:var(--texto-2);margin-bottom:10px}
.faq__foto .btn{justify-self:start;min-height:46px}
.faq__lista{display:grid;gap:10px}
.faq__lista details{border:1px solid var(--linha)!important;border-radius:16px;background:#fff;padding:0 22px;transition:box-shadow .3s}
.faq__lista details[open]{box-shadow:0 16px 34px -22px rgba(22,19,15,.4);border-color:#D8C3A0!important}
.faq__lista summary{font-family:var(--f-texto)!important;font-weight:700!important;font-size:1.08rem!important;padding:20px 0!important}
.faq__lista summary .ico{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--concreto);color:var(--aco)}
.faq__lista details[open] summary .ico{background:var(--aco);color:#E9D3A8}
@media (max-width:900px){.faq__foto img{aspect-ratio:16/10}}
/* 39. CTA final com foto em alta e rodapé enxuto */
.fim{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:clamp(80px,10vw,140px) 0}
.fim__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.fim::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,12,10,.88) 0%,rgba(14,12,10,.6) 50%,rgba(14,12,10,.35) 100%)}
.fim__grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.fim h2{color:#fff;font-size:clamp(2.6rem,5vw,4.4rem)}
.fim p{margin:18px 0 0;font-size:1.15rem;color:#E4DCD0;max-width:36ch}
.fim__cartoes{display:grid;gap:12px}
.fim__c{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;text-decoration:none;transition:background .25s,transform .25s}
.fim__c:hover{background:rgba(255,255,255,.18);transform:translateX(4px)}
.fim__c .ico{grid-row:span 2;width:44px;height:44px;padding:11px;border-radius:50%;background:rgba(255,255,255,.14)}
.fim__c b{font:600 1.2rem/1.2 var(--f-titulo)}
.fim__c small{color:#D9D0C4;font-size:.92rem}
.fim__c--wpp{background:var(--verde-wpp);border-color:var(--verde-wpp)}
.fim__c--wpp:hover{background:#156a39}
@media (max-width:900px){.fim__grade{grid-template-columns:1fr}}
.rodape{padding:56px 0 26px!important}
.rodape__topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.rodape__topo img{width:120px}
.rodape__links{display:flex;flex-wrap:wrap;gap:4px 22px}
.rodape__links a{min-height:40px;font-weight:600}
.rodape__info{display:flex;flex-wrap:wrap;gap:10px 28px;padding:22px 0;color:#BDB4A8}
.rodape__info>*{display:inline-flex;align-items:center;gap:8px;min-height:40px}
.rodape__info .ico{width:18px;height:18px;color:#C9A56A}
.rodape__base{margin-top:0!important}
/* 40. orçamento: experiência em duas colunas */
.pag-orc .orc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:100vh;padding-top:var(--topo)}
.orc__foto{position:sticky;top:var(--topo);height:calc(100vh - var(--topo));overflow:hidden;background:var(--aco)}
.orc__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s var(--ease),transform 1.6s var(--ease)}
.orc__foto img.on{opacity:1;transform:none}
.orc__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,10,.85),rgba(14,12,10,.1) 60%)}
.orc__foto-txt{position:absolute;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);bottom:clamp(28px,5vw,64px);z-index:1;color:#fff}
.orc__foto-txt .migalhas{color:#CFC6BA}.orc__foto-txt .migalhas a{color:#fff}
.orc__foto-txt h1{color:#fff;font-size:clamp(2.6rem,4.6vw,4.4rem)}
.orc__foto-txt p{margin:14px 0 0;font-size:1.15rem;color:#E4DCD0}
.orc__form{padding:clamp(28px,4vw,64px) clamp(20px,4vw,64px)}
.orc .quiz{max-width:none;border:0;padding:0;background:none}
.orc .quiz legend{font-size:clamp(1.8rem,2.8vw,2.4rem)}
.quiz__dica{margin:-12px 0 18px;color:var(--texto-2)}
.opcoes--foto{grid-template-columns:repeat(3,1fr)!important;gap:12px}
.opcao--foto span{display:block!important;min-height:0!important;padding:0!important;border-radius:16px!important;overflow:hidden;position:relative}
.opcao--foto span::before{position:absolute;top:10px;right:10px;z-index:2;background:#fff!important}
.opcao--foto img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 75%;transition:transform .6s var(--ease)}
.opcao--foto:hover img{transform:scale(1.05)}
.opcao--foto em{display:block;padding:10px 12px;font-style:normal;font-weight:700}
.opcao--foto input:checked+span{box-shadow:0 0 0 3px var(--aco)!important}
.orc__contatos{grid-template-columns:1fr 1fr;margin-top:28px}
@media (max-width:900px){.pag-orc .orc{grid-template-columns:1fr}.orc__foto{position:relative;top:auto;height:52vh}.opcoes--foto{grid-template-columns:1fr 1fr!important}.orc__contatos{grid-template-columns:1fr}}
.pi2__media{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(22,19,15,.5);aspect-ratio:4/3.2}
.pi2__media>img,.pi2__media video{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.pi2__media--video{aspect-ratio:auto;display:grid;grid-template-columns:.62fr .38fr;gap:12px;background:none;box-shadow:none;border-radius:0;overflow:visible}
.pi2__media--video video{aspect-ratio:9/16;border-radius:24px;box-shadow:0 30px 60px -30px rgba(22,19,15,.5)}
.pi2__media--video .pi2__fachada{align-self:end;aspect-ratio:3/4;border-radius:20px;box-shadow:0 20px 40px -20px rgba(22,19,15,.5)}
.pi2__media--video{display:flex;justify-content:flex-end;align-items:flex-end;gap:14px}
.pi2__media--video video{height:min(68vh,560px);width:auto;aspect-ratio:9/16}
.pi2__media--video .pi2__fachada{width:min(42%,260px);height:auto;aspect-ratio:3/4}
@media (max-width:900px){.pi2__media--video video{height:440px}}
/* 41. ambientes: três cartões iguais com miniatura */
.abas{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;padding:0!important;background:none!important;border-radius:0}
.abas button{display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:58px!important;padding:6px 14px 6px 6px!important;border-radius:14px!important;border:1.5px solid var(--linha)!important;background:#fff!important;color:var(--aco)!important;font-weight:700;transition:border-color .2s,box-shadow .2s}
.abas button img{width:46px;height:46px;border-radius:10px;object-fit:cover;object-position:50% 80%}
.abas button span{flex:1;text-align:left}
.abas button:hover{border-color:var(--aco)!important}
.abas button[aria-selected="true"]{border-color:var(--aco)!important;box-shadow:0 0 0 1.5px var(--aco),0 10px 22px -14px rgba(22,19,15,.5);background:#fff!important;color:var(--aco)!important}
.abas button[aria-selected="true"] span::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:#B8935A;vertical-align:2px}
@media (max-width:420px){.abas button{flex-direction:column;gap:4px;padding:6px!important}.abas button span{text-align:center}.abas button img{width:100%;height:46px}}
/* 42. serviços: foto em cima, texto em painel sólido (legível) */
.servs{gap:18px}
.serv{min-height:0!important;padding:0!important;justify-content:flex-start!important;background:var(--aco);border-radius:22px!important}
.serv::before{display:none}
.serv img{position:relative!important;inset:auto!important;z-index:0!important;height:300px!important;width:100%;object-position:50% 60%}
.serv h3{margin:22px 24px 6px!important;font-size:1.6rem!important;color:#fff}
.serv p{margin:0 24px 16px!important;color:#CFC6BA!important;font-size:1rem}
.serv .pex__ir{margin:0 24px 24px;color:#E9D3A8}
.serv:hover img{transform:scale(1.03)}
@media (max-width:900px){.serv img{height:220px!important}}
/* marcas: faixa preta com latão */
#avaliacoes .it-marquee{margin-top:clamp(36px,5vw,56px);background:var(--aco);border-radius:18px;padding:22px 0;-webkit-mask-image:none;mask-image:none}
#avaliacoes .it-marquee-row{gap:0}
#avaliacoes .it-logo{display:inline-flex;align-items:center;color:#F2EBDF!important;font-size:1.6rem;padding:0 30px}
#avaliacoes .it-logo::after{content:"";width:7px;height:7px;margin-left:60px;border-radius:50%;background:#B8935A;margin-right:-30px}
/* 43. hero em ecrã dividido: branco | preto quente com a sala */
@media (min-width:901px){
  .ph,.pi2{background:linear-gradient(90deg,#fff 0 43%,var(--aco) 43% 100%)!important;border-bottom:0}
  .ph__grade,.pi2__grade{align-items:center}
  .ph__sala,.pi2__grade>.pv,.pi2__media{padding-left:clamp(10px,2vw,36px)}
  .ph__sala .hero__sala,.pi2 .hero__sala,.pi2__media{box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
  .ph .selos{border-top:0;padding-top:0;background:#fff;border-radius:18px;padding:18px 22px;box-shadow:0 20px 40px -24px rgba(22,19,15,.35);margin-top:28px}
  .pi2 .pv .abas button{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
  .pi2 .pv .abas button[aria-selected="true"]{background:#fff!important;color:var(--aco)!important;box-shadow:none}
  .pi2 .pv .amostra__nome{color:#fff!important}
  .pi2 .pv .amostra button[aria-pressed="true"] .amostra__placa{box-shadow:0 0 0 3px #E9D3A8,0 14px 24px -10px rgba(0,0,0,.6)}
  .pi2__media--video .pi2__fachada{box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
}
@media (max-width:900px){.ph .selos{background:none}}
@media (min-width:901px){.ph,.pi2{background:linear-gradient(90deg,#fff 0 41%,var(--aco) 41% 100%)!important}.ph__sala,.pi2__grade>.pv,.pi2__media{padding-left:clamp(28px,3.4vw,60px)}}
/* 44. rodapé completo */
.rodape__grade2{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.3fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.rodape__marca img{width:150px;margin-bottom:18px}
.rodape__marca p{color:#BDB4A8;max-width:34ch;line-height:1.6}
.rodape__redes{display:flex;gap:10px;margin-top:18px}
.rodape__redes a{width:44px;height:44px;border-radius:50%;display:grid!important;place-items:center;border:1px solid rgba(255,255,255,.2);color:#fff;min-height:0!important}
.rodape__redes a:hover{border-color:#C9A56A;color:#E9D3A8}
.rodape__redes svg{width:18px;height:18px}
.rodape h4{font:600 1.15rem/1.2 var(--f-titulo)!important;color:#fff;margin:0 0 16px}
.rodape__contato p{display:flex;gap:12px;margin:0 0 14px;color:#D9D2C7;line-height:1.5}
.rodape__contato .ico{flex:none;width:20px;height:20px;color:#C9A56A;margin-top:2px}
.rodape__contato a{color:#fff;min-height:0}
.rodape__mapa{margin-top:6px;min-height:46px;color:var(--aco)!important}
.rodape__base{padding-top:22px}
@media (max-width:980px){.rodape__grade2{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape__grade2{grid-template-columns:1fr}}
/* números em faixa escura premium */
.numeros{background:var(--aco) url(../assets/reguas/piso-nogueira.webp) center/1400px auto!important;position:relative;isolation:isolate}
.numeros::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(14,12,10,.88)}
.numeros b{color:#E9D3A8!important}
.numeros span{color:#CFC6BA!important}
.numeros__grade>div{border-left-color:rgba(233,211,168,.3)!important}
/* números: faixa clara entre dois blocos escuros (quebra de padrão) */
.numeros{background:#fff!important}
.numeros::before{display:none}
.numeros b{color:var(--aco)!important;font-size:clamp(3rem,5.6vw,5rem)!important}
.numeros span{color:var(--texto-2)!important}
.numeros__grade>div{border-left:2px solid #B8935A!important}
.rodape__mapa{background:#E9D3A8!important;color:var(--aco)!important}
.rodape__redes svg[viewBox]{fill:currentColor;stroke:none}
/* 45. marcas com presença: bloco escuro, nomes grandes em grelha */
.sec:has(.marcas-lista){background:var(--aco)!important;color:#D9D2C7}
.sec:has(.marcas-lista) h2{color:#fff}
.sec:has(.marcas-lista) .cab p,.sec:has(.marcas-lista) p{color:#BDB4A8}
.sec:has(.marcas-lista) h3{color:#fff}
.marcas-lista{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0!important;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.marcas-lista li{display:grid;place-items:center;min-height:120px;padding:20px!important;border-radius:0!important;background:none!important;border:0!important;border-right:1px solid rgba(255,255,255,.12)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;font:600 clamp(1.4rem,2vw,1.9rem)/1.1 var(--f-titulo)!important;color:#F2EBDF!important;text-align:center;transition:background .3s,color .3s}
.marcas-lista li:hover{background:rgba(233,211,168,.08)!important;color:#E9D3A8!important}
