:root{
  --ink:#0D1117;
  --ink-2:#141922;
  --graphite:#2A2E33;
  --concrete:#8B8B85;
  --pewter:#9C9C94;
  --stone:#C9BAA0;
  --travertine:#E9E1D5;
  --paper:#F4EFE7;
  --glow:#E9E1D5;
  --bronze:#8A6A42;
  --line:rgba(201,186,160,.22);
  --line-dark:rgba(13,17,23,.16);
  --measure:34rem;
  --text-2:#5d5a53;
  --text-3:#7c786f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  margin:0;background:var(--ink);color:var(--travertine);
  font-family:Karla,system-ui,sans-serif;font-weight:300;font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:Jost,system-ui,sans-serif;font-weight:200;letter-spacing:.12em;margin:0}
p{margin:0 0 1rem;max-width:var(--measure)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1px solid var(--stone);outline-offset:4px}
.wrap{width:min(1180px,90vw);margin-inline:auto}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ico-lg{width:24px;height:24px;stroke-width:1.15}
.ico-fill{fill:currentColor;stroke:currentColor;stroke-width:.8}

.logo{display:block;width:auto}
.logo-bar{height:101px;transition:height .35s ease,opacity .3s}
header.pinned .logo-bar{height:74px}
.brand:hover .logo-bar{opacity:.82}
.logo-foot{height:auto;width:150px;margin-bottom:1.6rem}

/* ---------- header ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:transparent;
  transition:background .35s ease,border-color .35s ease;
  border-bottom:1px solid transparent;
}
header.pinned{
  background:rgba(13,17,23,.96);
  backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);
  border-bottom-color:rgba(201,186,160,.12);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header.pinned{background:rgba(13,17,23,.99)}}
header :focus-visible{outline:1px solid var(--stone);outline-offset:4px}

.bar{display:grid;grid-template-columns:minmax(auto,1fr) auto minmax(auto,1fr);align-items:center;gap:1.75rem;padding:calc(1rem + 20px) 0 1rem;transition:padding .35s ease}
header.pinned .bar{padding:.5rem 0}

.brand{justify-self:start;flex-shrink:0;display:flex;align-items:center;color:var(--travertine)}

nav{justify-self:center;min-width:0;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:1.6rem;font-family:Jost;font-weight:300;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(233,225,213,.66)}
nav a{position:relative;padding:.45rem 0;white-space:nowrap;transition:color .25s}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--travertine);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.25,1)}
nav a:hover{color:var(--travertine)}
nav a:hover::after{transform:scaleX(1);transform-origin:left}
nav a.on{color:var(--travertine)}
nav a.on::after{transform:scaleX(1);transform-origin:left}

.bar-actions{justify-self:end;flex-shrink:0;display:flex;align-items:center;gap:1.3rem}
.sep{width:1px;height:26px;flex:none;background:linear-gradient(180deg,transparent,rgba(201,186,160,.32),transparent)}
.tel{display:none;align-items:center;gap:.55rem;font-family:Jost;font-weight:300;font-size:.88rem;letter-spacing:.06em;color:var(--travertine);white-space:nowrap;transition:color .25s}
.tel .ico{color:var(--glow);opacity:.9;transition:opacity .25s}
.tel:hover{color:var(--stone)}
.tel:hover .ico{opacity:1}
@media (min-width:1300px){.tel{display:flex}}
@media (max-width:1299px){.sep{display:none}}

.mnav{display:none;overflow:hidden;max-height:0;background:rgba(13,17,23,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:max-height .4s cubic-bezier(.2,.7,.25,1)}
.mnav.open{max-height:30rem;border-top:1px solid var(--line)}
.mnav .wrap{display:grid;padding:.4rem 0 1.4rem}
.mnav a{padding:.95rem 0;border-bottom:1px solid rgba(201,186,160,.12);font-family:Jost;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--travertine)}
.mnav a:last-of-type{border-bottom:0}
.mnav .btn{margin-top:1.2rem;justify-content:center}

.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.4rem;font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--stone);color:var(--stone);background:transparent;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--stone);color:var(--ink)}
.btn .arw{transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.btn:hover .arw{transform:translateX(5px)}
.btn.solid{background:var(--stone);border-color:var(--stone);color:var(--ink)}
.btn.solid:hover{background:var(--travertine);border-color:var(--travertine);color:var(--ink)}
.btn.ghost{border-color:rgba(201,186,160,.28);color:rgba(233,225,213,.85)}
.btn.ghost:hover{background:transparent;border-color:var(--stone);color:var(--travertine)}
.btn.dark{border-color:var(--graphite);color:var(--ink)}
.btn.dark:hover{background:var(--ink);color:var(--travertine)}
header .btn{padding:.68rem 1.35rem;border-color:rgba(201,186,160,.45);color:var(--travertine)}
header .btn:hover{background:var(--stone);border-color:var(--stone);color:var(--ink)}

.menu-btn{display:none;place-items:center;width:40px;height:40px;background:none;border:1px solid rgba(201,186,160,.3);color:var(--travertine);cursor:pointer;padding:0;transition:border-color .25s,color .25s}
.menu-btn:hover{border-color:var(--glow);color:var(--glow)}
.menu-btn .x{display:none}
.menu-btn[aria-expanded="true"] .x{display:block}
.menu-btn[aria-expanded="true"] .bars{display:none}

/* mega menu: passar o mouse em Panels abre os paineis */
.nav-chev{width:11px;height:11px;margin-left:.35rem;stroke-width:1.8;transition:transform .3s}
header.mega-open .nav-chev{transform:rotate(180deg)}
header.mega-open{background:rgba(13,17,23,.97)}
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(13,17,23,.97);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s ease,transform .3s cubic-bezier(.2,.7,.25,1),visibility 0s linear .3s}
header.mega-open .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
/* ponte invisivel entre o link e o painel, para o mouse nao "cair" no vao */
.mega::before{content:"";position:absolute;left:50%;bottom:100%;width:34rem;max-width:100%;height:46px;transform:translateX(-50%)}
.mega-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;grid-auto-rows:clamp(124px,17vh,168px);gap:.9rem;padding:1.4rem 0 1.6rem}
.mega-tile{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.15rem;color:var(--travertine)}
.mega-tile.big{grid-row:span 2}
.mega-bg{position:absolute;inset:0;z-index:-2;transition:transform 1.1s cubic-bezier(.2,.7,.25,1)}
img.mega-bg{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.mega-tile.big img.mega-bg{object-position:calc(60% + 30px) 50%}
.mega-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,17,23,.8),rgba(13,17,23,.18) 55%,rgba(13,17,23,0));transition:opacity .4s}
.mega-tile:hover .mega-bg{transform:scale(1.05)}
.mega-tile:hover::after{opacity:.85}
.mega-tile b{display:flex;align-items:center;gap:.6rem;font-family:Jost;font-weight:300;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;line-height:1.3}
.mega-tile.big b{font-size:1.3rem;letter-spacing:.18em}
.mega-tile small{font-size:.72rem;letter-spacing:.12em;color:rgba(233,225,213,.72)}
.mega-tile.all{justify-content:center;align-items:flex-start;gap:.35rem;border:1px solid var(--line);background:rgba(233,225,213,.03);transition:background .3s,border-color .3s}
.mega-tile.all::after{display:none}
.mega-tile.all:hover{background:rgba(233,225,213,.07);border-color:rgba(201,186,160,.45)}
.mega-tile b .ico{width:15px;height:15px;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.mega-tile:hover b .ico{opacity:1;transform:none}

/* ---------- hero ---------- */
.hero{position:relative;display:flex;align-items:center;min-height:100svh;overflow:hidden;
  background:var(--ink);border-bottom:1px solid rgba(201,186,160,.1);
  padding:calc(9.5rem + 60px) 0 calc(6rem - 60px)}
.hero-media{position:absolute;top:0;bottom:0;right:0;left:0;z-index:2}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block;
  filter:saturate(.92) contrast(1.03) brightness(.95)}
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,17,23,.96) 0%,rgba(13,17,23,.88) 30%,rgba(13,17,23,.5) 53%,rgba(13,17,23,.12) 73%,rgba(13,17,23,0) 100%),
    linear-gradient(0deg,rgba(13,17,23,.55),rgba(13,17,23,0) 42%),
    linear-gradient(0deg,rgba(13,17,23,.2),rgba(13,17,23,.2))}
.hero-edge{display:none}
.hero-scrim{position:absolute;left:0;right:0;top:0;height:230px;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,17,23,.88),rgba(13,17,23,.4) 46%,rgba(13,17,23,0))}
.hero-glow{position:absolute;left:-14%;top:8%;width:58%;height:76%;z-index:1;pointer-events:none;
  background:radial-gradient(58% 58% at 42% 50%,rgba(233,225,213,.09),transparent 72%)}
.hero .wrap{position:relative;z-index:4}
.hero-copy{max-width:39rem}
.hero h1{font-family:Roboto,system-ui,sans-serif;font-size:clamp(3.24rem,7.8vw,6.12rem);font-weight:400;line-height:1.03;letter-spacing:.1em;text-transform:uppercase;color:var(--travertine);margin-right:-.1em}
.hero .lede{margin-top:1.7rem;max-width:24rem;font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.62;color:#C7C3BC}
.hero .lede span{display:block}
/* lista de servicos do hero: visual, sem interacao */
.offer{list-style:none;margin:1.9rem 0 2.4rem;padding:0;max-width:27rem;border-top:1px solid rgba(201,186,160,.16)}
.offer li{display:flex;align-items:center;gap:1.1rem;padding:.78rem 0;border-bottom:1px solid rgba(201,186,160,.16);
  font-family:Jost;font-weight:300;font-size:clamp(.8rem,1.05vw,.9rem);letter-spacing:.2em;text-transform:uppercase;color:#C7C3BC;
  animation:rise .9s cubic-bezier(.2,.7,.25,1) both}
.offer li::before{content:"";flex:none;width:4px;height:4px;border-radius:50%;background:var(--stone);opacity:.8}
.offer li:nth-child(1){animation-delay:.35s}
.offer li:nth-child(2){animation-delay:.5s}
.offer li:nth-child(3){animation-delay:.65s}
.rule{width:56px;height:1px;background:var(--stone);opacity:.55;margin:2.2rem 0}
.hero .rule{width:64px;margin:1.9rem 0 2.2rem}
.hero .kicker{font-family:Jost;font-weight:300;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--glow);margin-bottom:2.3rem}
.hero .actions{display:flex;gap:1rem;flex-wrap:wrap}

.assure{display:flex;gap:1.8rem;margin-top:3.4rem;flex-wrap:wrap}
.assure div{width:5.5rem;display:grid;justify-items:center;text-align:center;gap:.8rem}
.assure .badge{width:34px;height:34px;border-radius:50%;background:rgba(201,186,160,.1);display:grid;place-items:center;color:var(--stone)}
.assure .badge .ico{width:15px;height:15px}
.assure b{font-family:Karla;font-weight:400;font-size:.6rem;letter-spacing:.17em;text-transform:uppercase;color:var(--pewter);line-height:1.55}

.scroll-cue{position:absolute;left:2rem;bottom:2.6rem;z-index:4;display:flex;flex-direction:column;align-items:center;gap:.9rem;
  font-family:Jost;font-weight:300;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--pewter)}
.scroll-cue span{writing-mode:vertical-rl;transform:rotate(180deg)}
.scroll-cue i{width:1px;height:54px;background:linear-gradient(180deg,rgba(201,186,160,.45),transparent);overflow:hidden;position:relative}
.scroll-cue i::after{content:"";position:absolute;left:0;top:0;width:1px;height:18px;background:var(--glow);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(-20px);opacity:0}35%{opacity:1}100%{transform:translateY(54px);opacity:0}}

/* ritmo de cores: panels em branco, depois intercala preto azulado (ink) e travertine ate o fim
   hero ink > projects travertine > panels branco > process ink > about foto/travertine > reviews branco > contact ink > faq travertine > footer ink */
.light.white{background:#fff}
.dark{background:var(--ink);color:var(--travertine)}
.light .faq-list,.light .faq-list details{border-color:var(--line-dark)}
.light .faq-list summary{color:var(--ink)}
.light .faq-list summary:hover,.light .faq-list summary .ico{color:var(--bronze)}
.light .faq-list details p{color:var(--text-2)}

.hero-anim{animation:rise 1.1s cubic-bezier(.2,.7,.25,1) both}
.hero-media{animation:fade 1.4s ease both}
.assure{animation:rise 1.1s cubic-bezier(.2,.7,.25,1) .25s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* ---------- sections ---------- */
section{padding:6rem 0;scroll-margin-top:74px}
.sec-head{max-width:44rem;margin-bottom:3.2rem}
/* padrao unico de titulo de secao: eyebrow + h2 */
section h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300;line-height:1.18;letter-spacing:.01em;text-transform:none}
.h-grotesk{font-weight:300;line-height:1.14;text-transform:none}
.h-grotesk span{display:block}
.sec-head p{margin-top:1.2rem;color:var(--concrete)}
.light{background:var(--travertine);color:var(--ink)}
.light .eyebrow{color:var(--bronze)}
.light .sec-head p{color:var(--text-2)}
.light .rule{background:var(--graphite);opacity:.35}

.eyebrow{font-family:Jost;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);margin-bottom:1.2rem}

/* panels — product cards */
.fam-band{display:flex;align-items:center;gap:1.35rem;margin:3.4rem 0 2rem;
  font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze)}
.fam-band::before,.fam-band::after{content:"";flex:1;height:1px;background:rgba(42,46,51,.16)}
.fam-band span{white-space:nowrap}
.fam-band:first-of-type{margin-top:0}
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.prod{position:relative;display:flex;flex-direction:column;touch-action:pan-y}
.prod-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:#d9d0c2}
.prod-track{display:flex;height:100%;transition:transform 1.1s cubic-bezier(.4,0,.2,1)}
.prod-slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden;transition:transform 1.2s cubic-bezier(.2,.7,.25,1)}
.prod:hover .prod-slide{transform:scale(1.03)}
.prod-slide img{width:100%;height:100%;object-fit:cover;display:block}
.prod-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,236,205,.12),transparent 28%,transparent 76%,rgba(13,17,23,.2))}
.prod-nav{position:absolute;top:50%;z-index:3;width:28px;height:28px;margin-top:-14px;padding:0;border:0;border-radius:50%;background:rgba(13,17,23,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--travertine);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .3s,transform .3s,background .25s}
.prod-nav.prev{left:.8rem;transform:translateX(-6px)}
.prod-nav.next{right:.8rem;transform:translateX(6px)}
.prod:hover .prod-nav,.prod:has(:focus-visible) .prod-nav{opacity:1;transform:none}
.prod-nav:hover{background:rgba(13,17,23,.78)}
.prod-nav .ico{width:12px;height:12px}
.prod-dots{position:absolute;left:1rem;bottom:1.15rem;z-index:2;display:flex;gap:.35rem;pointer-events:none}
.prod-dots i{width:14px;height:2px;background:rgba(233,225,213,.45);transition:width .35s,background .35s}
.prod-dots i.on{width:26px;background:var(--travertine)}
.prod-info{padding:1.05rem .1rem 0}
.prod-row{display:flex;align-items:baseline;gap:1rem}
.prod h3{font-size:1.02rem;font-weight:400;letter-spacing:.03em;text-transform:none;line-height:1.3;color:var(--ink)}
.prod h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.prod h3 a:focus-visible{outline:none}
.prod:has(h3 a:focus-visible) .prod-media{outline:1px solid var(--bronze);outline-offset:3px}
.prod-code{font-family:Jost;font-size:.62rem;font-weight:300;letter-spacing:.2em;color:var(--text-3);vertical-align:.18em}
.prod-badge{position:absolute;left:.8rem;top:.8rem;z-index:3;padding:.32rem .62rem;background:rgba(13,17,23,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-family:Jost;font-weight:300;font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--travertine)}
.prod-finish{margin:.3rem 0 0;font-size:.88rem;color:var(--text-2);max-width:none;min-height:1.45em}
.prod-quote{display:inline-flex;align-items:center;gap:.45rem;margin-top:.65rem;font-family:Jost;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);transition:gap .3s,color .3s}
.prod:hover .prod-quote{gap:.75rem;color:var(--ink)}
.prod-quote .ico{width:14px;height:14px}
@media (hover:none){
  .prod-nav,.prod-nav.prev,.prod-nav.next{opacity:1;transform:none;width:26px;height:26px;margin-top:-13px}
}

/* acabamentos renderizados em CSS (trocar por fotos quando houver) */
.f-calacatta{background:
  linear-gradient(118deg,transparent 35%,rgba(150,136,112,.1) 36.4%,rgba(128,116,98,.3) 37.3%,rgba(150,136,112,.08) 38.6%,transparent 41%),
  linear-gradient(64deg,transparent 56%,rgba(160,146,124,.08) 57.6%,rgba(150,138,118,.2) 58.3%,transparent 60.5%),
  linear-gradient(141deg,transparent 16%,rgba(170,158,138,.14) 19%,transparent 23%),
  radial-gradient(40% 26% at 72% 64%,rgba(196,184,164,.32),transparent 70%),
  radial-gradient(34% 22% at 22% 78%,rgba(206,194,174,.26),transparent 70%),
  radial-gradient(120% 90% at 30% 15%,#faf7f1,#efe9df 55%,#e2d9cc)}
.f-nero{background:
  linear-gradient(118deg,transparent 35%,rgba(236,230,220,.12) 36.4%,rgba(236,230,220,.42) 37.3%,rgba(236,230,220,.1) 38.6%,transparent 41%),
  linear-gradient(64deg,transparent 56%,rgba(220,212,198,.08) 57.6%,rgba(220,212,198,.24) 58.3%,transparent 60.5%),
  linear-gradient(141deg,transparent 16%,rgba(210,200,185,.12) 19%,transparent 23%),
  radial-gradient(40% 26% at 72% 64%,rgba(90,86,80,.3),transparent 70%),
  radial-gradient(120% 90% at 30% 15%,#2e2e30,#18181a 60%,#0d0d0e)}
.f-arabescato{background:
  linear-gradient(124deg,transparent 30%,rgba(92,92,96,.42) 31.4%,rgba(92,92,96,.14) 33%,transparent 34.5%),
  linear-gradient(56deg,transparent 50%,rgba(110,110,114,.3) 51.2%,transparent 53%),
  linear-gradient(160deg,transparent 64%,rgba(120,120,124,.24) 65%,transparent 67%),
  radial-gradient(120% 90% at 70% 20%,#f1f0ed,#dddcd8 55%,#c9c7c2)}
.f-oak{background:linear-gradient(180deg,rgba(255,214,160,.3),transparent 24%),repeating-linear-gradient(90deg,#2a1d12 0 3px,#b88a5b 3px 9px,#c69a6a 9px 15px,#a87c50 15px 20px)}
.f-walnut{background:linear-gradient(180deg,rgba(255,200,140,.22),transparent 24%),repeating-linear-gradient(90deg,#140d08 0 3px,#6b4630 3px 9px,#7a533a 9px 15px,#5c3c28 15px 20px)}
.f-smoked{background:linear-gradient(180deg,rgba(255,205,150,.16),transparent 24%),repeating-linear-gradient(90deg,#120e0b 0 3px,#54443a 3px 9px,#615043 9px 15px,#4a3b31 15px 20px)}
.f-charcoal{background:linear-gradient(180deg,rgba(255,210,160,.12),transparent 24%),repeating-linear-gradient(90deg,#080809 0 3px,#2d2d2f 3px 9px,#363638 9px 15px,#252527 15px 20px)}
.f-travertine{background:
  radial-gradient(circle at 20% 30%,rgba(150,128,96,.2) 0 1.5px,transparent 2px) 0 0/23px 17px,
  radial-gradient(circle at 70% 60%,rgba(150,128,96,.16) 0 1px,transparent 1.5px) 0 0/31px 13px,
  repeating-linear-gradient(0deg,#e6dccb 0 22px,#d8cab3 22px 24px,#ece3d4 24px 41px,#ddd1bd 41px 43px)}
.f-limestone{background:
  radial-gradient(80% 60% at 30% 25%,rgba(255,250,240,.45),transparent 70%),
  radial-gradient(60% 50% at 75% 70%,rgba(160,140,110,.3),transparent 70%),
  linear-gradient(0deg,transparent 64%,rgba(120,100,70,.2) 64.3%,transparent 64.8%),
  linear-gradient(150deg,#d9ccb5,#c9b99e 60%,#bba98c)}
.f-slate{background:
  radial-gradient(70% 50% at 25% 30%,rgba(120,126,130,.35),transparent 70%),
  radial-gradient(60% 60% at 80% 75%,rgba(20,22,24,.45),transparent 70%),
  linear-gradient(180deg,transparent 48%,rgba(0,0,0,.25) 48.4%,transparent 49%),
  linear-gradient(160deg,#50565a,#3a3e41 55%,#2b2e30)}
.f-fluted-sand{background:linear-gradient(180deg,rgba(255,240,215,.25),transparent 30%),repeating-linear-gradient(90deg,#cfc5b5 0,#efe8dd 9px,#e2d9cb 15px,#c2b7a5 22px)}
.f-fluted-graphite{background:linear-gradient(180deg,rgba(255,230,200,.1),transparent 30%),repeating-linear-gradient(90deg,#1f2226 0,#474c52 9px,#383c41 15px,#191b1e 22px)}
.f-relief{background:conic-gradient(from 45deg,#d7cebf 0 25%,#b8ad9b 0 50%,#e9e2d6 0 75%,#c7bcaa 0) 0 0/46px 46px}
.f-wave{background:repeating-radial-gradient(circle at 0 50%,#dcd3c4 0,#efe9df 14px,#c9bfae 28px)}


@media (max-width:560px){
  .prods{gap:1.4rem .8rem}
  .prod-media{aspect-ratio:3/4}
  .prod h3{font-size:.92rem;letter-spacing:.02em}
  .prod-finish{font-size:.8rem}
  .prod-dots{left:.7rem;bottom:.8rem}
  .prod-nav.prev{left:.5rem}.prod-nav.next{right:.5rem}
  }
/* compare */
.compare{position:relative;aspect-ratio:16/9;overflow:hidden;user-select:none;touch-action:none;cursor:ew-resize}
.pane{position:absolute;inset:0}
.pane{background:#d9d0c2}
.pane img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none;-webkit-user-drag:none}
.pane.after{clip-path:inset(0 0 0 var(--split,50%))}
.handle{position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;margin-left:-1px;background:var(--travertine);pointer-events:none}
.handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--travertine);display:grid;place-items:center;color:var(--ink);transition:transform .25s,background .25s}
.compare.idle .handle span{animation:nudge 2.6s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translate(-50%,-50%)}45%{transform:translate(calc(-50% - 7px),-50%)}70%{transform:translate(calc(-50% + 7px),-50%)}}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
/* dica de arraste sobre o slider */
.drag-hint{position:absolute;left:50%;top:1.15rem;transform:translateX(-50%);display:flex;align-items:center;gap:.55rem;padding:.55rem 1.1rem;border-radius:999px;background:rgba(13,17,23,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--travertine);font-family:Jost;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:opacity .45s,transform .45s}
.compare.touched .drag-hint{opacity:0;transform:translate(-50%,-10px)}
.compare-head{max-width:40rem;margin:0 auto 2.6rem;text-align:center}
.compare-foot{margin-top:1.6rem;display:flex;align-items:center;justify-content:flex-start;gap:1.5rem;flex-wrap:wrap;font-size:.82rem;color:var(--text-3)}
.compare-foot .link-arrow{margin-top:0}

/* rooms marquee */
.marquee{overflow:hidden;background:#DCD0B9;color:var(--ink);padding:1rem 0}
.marquee-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee-row{display:flex;align-items:center;gap:2.4rem;margin:0;padding:0 1.2rem;list-style:none;
  font-family:Jost;font-weight:400;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap}
.marquee-row li{display:flex;align-items:center;gap:2.4rem}
.marquee-row li::after{content:"·";opacity:.45}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* before & after copy */
.work-copy{max-width:27rem}
.compare-head .work-copy{max-width:none}
.work-copy .eyebrow{display:flex;align-items:center;gap:1.1rem;color:var(--bronze);margin-bottom:1.7rem}
.work-copy .eyebrow::after{content:"";flex:1;max-width:5.5rem;height:1px;background:rgba(42,46,51,.28)}
.compare-head .eyebrow{justify-content:center}
.compare-head h2{font-size:clamp(1.5rem,2.7vw,2.15rem)}
.compare-head .eyebrow::before{content:"";flex:1;max-width:5.5rem;height:1px;background:rgba(42,46,51,.28)}
.work-copy h2{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.45;letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
.work-copy p{margin:1.6rem 0 0;color:var(--text-2);font-size:.95rem;line-height:1.78}
.work-copy .work-note{margin-top:1rem;font-size:.8rem;line-height:1.7;color:var(--text-3)}
.link-arrow{display:inline-flex;align-items:center;gap:.75rem;margin-top:2.3rem;padding-bottom:.45rem;
  font-family:Jost;font-weight:300;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink);border-bottom:1px solid rgba(42,46,51,.3);transition:color .3s,border-color .3s}
.link-arrow .arw{transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.link-arrow:hover{color:var(--bronze);border-color:var(--bronze)}
.link-arrow:hover .arw{transform:translateX(5px)}
.tag{position:absolute;bottom:1rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .7rem;background:rgba(13,17,23,.7);color:var(--travertine)}
.tag.l{left:1rem}.tag.r{right:1rem}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.step .n{display:flex;align-items:baseline;gap:.85rem;font-family:Jost;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);padding-bottom:.9rem;border-bottom:1px solid var(--line);margin-bottom:1.3rem}
.step .n b{font-family:Jost;font-weight:300;font-size:1.5rem;line-height:1;letter-spacing:.04em;color:var(--stone)}
.step h3{font-size:1.1rem;font-weight:400;letter-spacing:.03em;margin-bottom:.6rem}
.step p{font-size:.92rem;color:var(--concrete)}
.step-ico{box-sizing:border-box;width:4.2rem;height:4.2rem;padding:.62rem;border:1px solid var(--line);border-radius:50%;background:rgba(201,186,160,.06);fill:none;stroke:var(--stone);stroke-width:.95;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.4rem;display:block}
.steps-5{grid-template-columns:repeat(5,1fr);gap:2rem}
.step-more{margin-top:.8rem}
.step-more summary{cursor:pointer;list-style:none;font-family:Jost;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.step-more summary::-webkit-details-marker{display:none}
.step-more[open] summary{margin-bottom:.5rem}
.step-more p{font-size:.85rem}
.steps-foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.steps-foot p{color:var(--concrete);font-size:.95rem}
.steps-seal{font-family:Jost;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pewter)}
@media(max-width:1100px){.steps-5{grid-template-columns:repeat(3,1fr)}}

/* reassurance / reviews */
.rev{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:stretch}
.stars{display:flex;align-items:center;gap:.5rem;color:var(--bronze)}
.quote{font-family:Jost;font-weight:200;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.45;letter-spacing:.04em;margin:1.5rem 0 1.2rem;max-width:32rem}
.who{font-size:.82rem;color:var(--text-3);letter-spacing:.06em}
.stars-note{margin-left:.4rem;font-size:.8rem;letter-spacing:.1em;color:var(--text-2)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.4rem;align-content:center}
.card{padding:1.4rem 0 0;border-top:1px solid var(--line-dark)}
.card svg{color:var(--bronze);margin-bottom:.9rem}
.card h3{font-size:1.02rem;font-weight:400;letter-spacing:.03em;margin-bottom:.4rem;color:var(--ink)}
.card p{font-size:.88rem;color:var(--text-2);margin:0}

/* about — split: foto dos fundadores (tratamento TURN) + texto em travertine */
.about{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:min(92vh,860px);background:var(--travertine);color:var(--ink)}
.about-media{position:relative;overflow:hidden;background:var(--ink-2)}
.about-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 50%;color:transparent;font-size:0;
  filter:saturate(.62) brightness(.72) contrast(1.04) sepia(.06)}
.about-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(13,17,23,.62),rgba(13,17,23,.28) 55%,rgba(13,17,23,.12)),linear-gradient(180deg,rgba(13,17,23,.35),transparent 30%,transparent 70%,rgba(13,17,23,.55))}
.about-mark{position:absolute;z-index:1;left:clamp(1.5rem,7%,5.5rem);top:clamp(6rem,16%,9rem);color:var(--travertine)}
.about-mark .display{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:200;letter-spacing:.42em;margin-right:-.42em;opacity:.9}
.about-mark i{display:block;width:44px;height:1px;background:rgba(233,225,213,.5);margin:1.6rem 0 1.4rem}
.about-mark p{font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.3em;line-height:2;text-transform:uppercase;color:rgba(233,225,213,.62);margin:0}
.about-names{position:absolute;z-index:1;left:clamp(1.5rem,7%,5.5rem);bottom:2.2rem;font-family:Jost;font-weight:300;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(233,225,213,.7)}
.about-copy{display:flex;flex-direction:column;justify-content:center;padding:7rem clamp(1.5rem,7%,6.5rem)}
.about-copy .eyebrow{color:var(--bronze)}
.about-copy h2{margin-bottom:2.2rem}
.about-copy p{font-size:1rem;line-height:1.75;color:var(--text-2);max-width:33rem;margin-bottom:1.1rem}
.about-copy .about-lead{margin:1.4rem 0 0;padding-left:1.2rem;border-left:2px solid var(--bronze);font-family:Jost;font-weight:300;font-size:1.12rem;line-height:1.55;letter-spacing:.02em;color:var(--ink)}
.about-points{list-style:none;counter-reset:ap;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;max-width:36rem}
.about-points li{counter-increment:ap;display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 0;border-top:1px solid var(--line-dark);font-size:.9rem;line-height:1.45;color:#2f2d29}
.about-points li::before{content:counter(ap,decimal-leading-zero);flex:none;font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.14em;line-height:1.9;color:var(--bronze)}
.about-points li:last-child{grid-column:1/-1}
.about-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:1.1rem;margin-top:2.6rem;padding:1.05rem 1.3rem 1.05rem 1.8rem;background:var(--ink);color:var(--travertine);
  font-family:Jost;font-weight:400;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;transition:background .3s}
.about-cta .arw{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--stone);color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.25,1),background .3s}
.about-cta:hover{background:var(--graphite)}
.about-cta:hover .arw{transform:translateX(4px);background:var(--travertine)}
@media (max-width:960px){
  .about{grid-template-columns:1fr;min-height:0}
  .about-media{aspect-ratio:4/3}
  .about-mark{top:auto;bottom:4.2rem}
  .about-copy{padding:4rem 5vw}
}
@media (max-width:560px){
  .about-media{aspect-ratio:4/5}
  .about-points{grid-template-columns:1fr}
  .about-cta{align-self:stretch;justify-content:space-between;text-align:left}
}

/* reviews — bloco agregado do Google (clicavel) */
.gbadge{display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:2.4rem 2.2rem;background:var(--paper);border:1px solid transparent;color:var(--ink);transition:border-color .3s}
.gbadge:hover{border-color:rgba(138,106,66,.45)}
.gbadge-top{display:flex;align-items:center;gap:.7rem;font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--text-2)}
.gbadge-g{width:22px;height:22px}
.gbadge-score{display:flex;align-items:center;gap:1rem}
.gbadge-score b{font-family:Jost;font-weight:200;font-size:4rem;line-height:.9;letter-spacing:.02em}
.gbadge-score .stars{color:#c9953c}
.gbadge-link{display:inline-flex;align-items:center;gap:.75rem;align-self:flex-start;margin-top:.6rem;padding-bottom:.45rem;border-bottom:1px solid rgba(42,46,51,.3);font-family:Jost;font-weight:400;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;transition:color .3s,border-color .3s}
.gbadge:hover .gbadge-link{color:var(--bronze);border-color:var(--bronze)}
.gbadge:hover .gbadge-link .arw{transform:translateX(5px)}
.gbadge-link .arw{transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.gquotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;margin-top:3.5rem}
.gquote{margin:0;padding:2rem 2.2rem;background:var(--paper);border-left:2px solid var(--bronze);display:flex;flex-direction:column;gap:1rem}
.gquote .stars{color:#c9953c;gap:.2rem}
.gquote blockquote{margin:0;font-family:Jost;font-weight:300;font-size:1.25rem;line-height:1.5;color:var(--ink)}
.gquote figcaption{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--text-2)}
.gquote figcaption b{font-weight:500;color:var(--ink)}

/* cta */
.cta{background:var(--ink-2);padding:3.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
form{display:grid;gap:.9rem}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:.85rem 1rem;background:rgba(233,225,213,.05);border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--travertine);font-family:Karla;font-size:.95rem}
input::placeholder,textarea::placeholder{color:#6f6e69}
textarea{resize:vertical;min-height:5.2rem}
select{color:#a9a59d}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,select:focus,textarea:focus{outline:none;background:rgba(233,225,213,.09);border-bottom-color:var(--stone)}
.phone-field{display:flex;background:rgba(233,225,213,.05);border-bottom:1px solid transparent}
.phone-field:focus-within{background:rgba(233,225,213,.09);border-bottom-color:var(--stone)}
.phone-field input[type=tel],.phone-field input[type=tel]:focus{background:transparent;border-bottom:0;min-width:0}
.cc{position:relative;flex:none;display:flex;align-items:center;gap:.45rem;padding:0 .7rem 0 1rem;border-right:1px solid rgba(201,186,160,.16);color:var(--travertine);font-family:Karla;font-size:.95rem;cursor:pointer}
.cc img{width:22px;height:16px;object-fit:cover;display:block;outline:1px solid rgba(233,225,213,.15)}
.cc .ico{width:14px;height:14px;color:var(--pewter)}
.cc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}
.via-pick{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.via-pick legend{padding:0;margin-bottom:.5rem;font-family:Karla;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pewter)}
.via-pick label{position:relative;cursor:pointer}
.via-pick input{position:absolute;opacity:0;pointer-events:none}
.via-pick span{display:block;padding:.7rem .5rem;text-align:center;border:1px solid rgba(201,186,160,.22);font-family:Jost;font-weight:300;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter);transition:border-color .25s,color .25s,background .25s}
.via-pick input:checked+span{border-color:var(--stone);color:var(--travertine);background:rgba(201,186,160,.1)}
.via-pick input:focus-visible+span{outline:1px solid var(--stone);outline-offset:2px}
form .btn{border-color:var(--stone);cursor:pointer;background:var(--stone);color:var(--ink);font-family:Jost;justify-content:center}
.fine-print{font-size:.75rem;color:var(--pewter);margin:0}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.faq .sec-head{margin-bottom:0}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;cursor:pointer;list-style:none;font-family:Jost;font-weight:400;font-size:1.02rem;letter-spacing:.01em;color:var(--travertine);transition:color .25s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:var(--stone)}
.faq-list summary .ico{color:var(--stone);transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.faq-list details[open] summary .ico{transform:rotate(45deg)}
.faq-list details p{margin:-.3rem 0 1.4rem;padding-right:2.5rem;font-size:.92rem;color:var(--concrete);max-width:40rem}

/* whatsapp float */
.wa{position:fixed;right:22px;bottom:22px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:#25D366;color:#fff;
  transition:background .25s ease}
.wa:hover,.wa:focus-visible{background:#1FBF5B}
.wa svg{width:30px;height:30px;fill:currentColor;stroke:none;display:block}
.wa .wa-label{position:absolute;right:calc(100% + 12px);top:50%;
  transform:translateY(-50%) translateX(8px);white-space:nowrap;
  padding:.5rem .85rem;background:var(--ink-2);color:var(--travertine);
  font-family:Jost;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.wa:hover .wa-label,.wa:focus-visible .wa-label{opacity:1;transform:translateY(-50%) translateX(0)}

/* promotional lead capture */
.offer-promo{position:fixed;left:0;bottom:26px;z-index:60;display:flex;align-items:stretch}
.offer-tab{position:relative;border:0;padding:.85rem 1.1rem .85rem .9rem;
  background:var(--stone);color:var(--ink);font-family:Jost;font-size:.7rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;
  cursor:pointer;transition:padding .25s ease,background .25s ease}
.offer-tab:hover,.offer-tab:focus-visible{padding-left:1.2rem;background:var(--travertine)}
.offer-modal[hidden]{display:none}
.offer-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.25rem;background:rgba(13,17,23,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.offer-card{position:relative;width:min(100%,31rem);padding:2.2rem;background:var(--paper);color:var(--ink)}
.offer-close{position:absolute;right:.85rem;top:.75rem;border:0;background:transparent;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.offer-card .eyebrow{color:var(--bronze);margin-bottom:.85rem}
.offer-card h2{font-size:clamp(1.65rem,4vw,2.2rem);line-height:1.15}
.offer-card p{margin:.75rem 0 1.35rem;color:var(--text-2);font-size:.95rem;line-height:1.5}
.offer-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.offer-form input,.offer-form select{width:100%;min-width:0;padding:.8rem;border:1px solid rgba(13,17,23,.22);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:.88rem}
.offer-form .wide{grid-column:1/-1}
.offer-form .btn{justify-content:center;border-color:var(--stone);color:var(--ink);cursor:pointer}
.offer-form .btn:hover{background:var(--ink);border-color:var(--ink);color:var(--travertine)}
@media (max-width:560px){.offer-promo{bottom:16px}.offer-tab{font-size:.64rem}.offer-card{padding:1.8rem 1.35rem}.offer-form{grid-template-columns:1fr}.offer-form .wide{grid-column:auto}}


/* ---------- finale: before you go ---------- */
.finale{position:relative;overflow:hidden;background:var(--ink);padding:7.5rem 0;border-top:1px solid rgba(201,186,160,.1)}
.finale-media{position:absolute;inset:0;z-index:1}
.finale-media img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;display:block;filter:saturate(.9) contrast(1.03) brightness(.9)}
.finale-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,17,23,.95) 0%,rgba(13,17,23,.88) 32%,rgba(13,17,23,.52) 58%,rgba(13,17,23,.16) 100%),
    linear-gradient(0deg,rgba(13,17,23,.6),rgba(13,17,23,0) 55%)}
.finale .wrap{position:relative;z-index:2}
.finale-copy{max-width:39rem}
.finale h2{font-family:Roboto,system-ui,sans-serif;font-weight:400;font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.04;letter-spacing:.09em;text-transform:uppercase;color:var(--travertine)}
.finale .lede{margin-top:1.5rem;max-width:26rem;font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.6;color:#C7C3BC}
.finale .actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
.finale .fine-print{margin-top:1.7rem;letter-spacing:.08em;width:max-content;max-width:100%}
@media (min-width:961px){.finale .fine-print{max-width:none}}

/* quote form — optional photo */
.drop{position:relative;display:flex;align-items:center;gap:1rem;padding:1rem;border:1px dashed rgba(201,186,160,.38);color:var(--pewter);cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.drop:hover,.drop.over{border-color:var(--stone);background:rgba(233,225,213,.05)}
.drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop .ico{color:var(--stone)}
.drop b{display:block;font-family:Jost;font-weight:300;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--travertine)}
.drop small{display:block;font-size:.72rem;letter-spacing:.05em;color:var(--pewter);margin-top:.15rem}
.drop img{width:56px;height:56px;object-fit:cover;flex:none;display:none}
.drop.has img{display:block}
.drop.has .ico{display:none}
/* footer */
footer{position:relative;background:var(--ink);padding:5.5rem 0 2rem;font-size:.9rem;color:var(--concrete);overflow:hidden}
footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(201,186,160,.35),transparent)}
footer a{transition:color .25s}
footer a:hover{color:var(--stone)}
.fcta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:3rem;padding-bottom:3.5rem;margin-bottom:3.5rem;border-bottom:1px solid rgba(201,186,160,.12)}
.fcta .logo-foot{width:120px;margin:0}
.fcta .eyebrow{margin-bottom:.8rem}
.fcta h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;letter-spacing:.01em;color:var(--travertine)}
.fcta h2 em{font-style:normal;color:var(--stone)}
.fgrid{display:grid;grid-template-columns:1.3fr 1.1fr .9fr 1.5fr;gap:3rem;align-items:start}
footer h4{font-family:Jost;font-weight:400;font-size:.7rem;line-height:1;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);margin:0 0 1.6rem}
.flist{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.flist li,.flist a{display:flex;align-items:center;gap:.7rem;line-height:1.3}
.flist a{color:rgba(233,225,213,.78)}
.flist .ico{width:16px;height:16px;color:var(--stone)}
.flist small{color:var(--pewter);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase}
.fnav{grid-auto-flow:column;grid-template-rows:repeat(4,auto);column-gap:2rem;justify-content:start}
.fareas li{color:var(--travertine)}
.fmap{position:relative;align-self:stretch;min-height:170px;overflow:hidden;border:1px solid rgba(201,186,160,.14)}
.fmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.legal{margin-top:4rem;padding-top:1.5rem;border-top:1px solid rgba(201,186,160,.12);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.74rem;letter-spacing:.06em;color:var(--pewter)}
.legal a{font-family:Jost;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}
@media (max-width:1100px){.fgrid{grid-template-columns:1fr 1fr;gap:3rem 2.5rem}.fmap{min-height:200px}}
@media (max-width:760px){.fcta{grid-template-columns:auto 1fr}.fcta .btn{grid-column:1/-1;justify-self:start}}
@media (max-width:560px){footer{padding-top:4rem}.fcta{padding-bottom:2.5rem;margin-bottom:2.5rem}.fcta{grid-template-columns:1fr;gap:1.8rem}.fcta .btn{width:100%;justify-content:center}.fcta .logo-foot{width:100px}.fgrid{grid-template-columns:1fr}.fmap{height:220px}.legal{flex-direction:column;align-items:flex-start}}
.people{display:grid;gap:1.25rem;margin:1.6rem 0 1.8rem}
.person{display:grid;gap:.35rem}
.people .num{display:flex;align-items:center;gap:.6rem;color:var(--travertine);font-family:Jost;font-size:.98rem;letter-spacing:.06em}
.people .num:hover{color:var(--stone)}
.via{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem;padding-left:calc(18px + .6rem)}
.via a{padding:.34rem .7rem;border:1px solid rgba(201,186,160,.28);font-family:Jost;font-weight:300;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);transition:background .25s,color .25s,border-color .25s}
.via a:hover{background:var(--stone);border-color:var(--stone);color:var(--ink)}
.people small{display:block;font-family:Karla;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pewter);margin-bottom:.15rem}

@media (max-width:1440px){nav{gap:1.15rem;font-size:.67rem;letter-spacing:.15em}.bar{gap:1.3rem}}
@media (max-width:1260px){nav{gap:.85rem;font-size:.63rem;letter-spacing:.11em}.bar{gap:1rem}.bar-actions{gap:.85rem}header .btn{padding:.6rem 1rem}}
@media (max-width:1160px){.bar-actions .btn{padding:.62rem 1.05rem}.hero .lede{max-width:22rem}}
@media (max-width:960px){
  .prods{grid-template-columns:repeat(2,1fr);gap:2rem 1.25rem}
  .cta,.steps,.rev,.faq-grid{grid-template-columns:1fr;gap:2.5rem}
  .compare{aspect-ratio:4/3}
  .compare-head{margin-bottom:2.2rem}
  .drag-hint{font-size:.66rem;letter-spacing:.16em;padding:.5rem .9rem}
  .marquee-row{font-size:.64rem;letter-spacing:.22em;gap:1.7rem}
  .marquee-row li{gap:1.7rem}
  nav,.sep,.mega{display:none}
  .bar{grid-template-columns:1fr auto}
  .menu-btn{display:grid}
  .bar-actions .btn{display:none}
  .mnav{display:block}
  section{padding:4rem 0}
  .cta{padding:2rem}
  .wa{right:16px;bottom:16px;width:54px;height:54px}
  .wa .wa-label{display:none}
  .hero{min-height:auto;padding:8.5rem 0 4.5rem}
  .hero-media{left:0;-webkit-clip-path:none;clip-path:none;opacity:.4}
  .hero-scrim{height:170px}
  .hero-media img{object-position:62% 50%}
  .hero-media::after{background:linear-gradient(180deg,rgba(13,17,23,.92),rgba(13,17,23,.7) 45%,rgba(13,17,23,.97))}
  .hero-edge,.hero-glow,.scroll-cue{display:none}
  .hero-copy{max-width:100%}
  .hero .lede{max-width:26rem}
  .offer{max-width:100%}
  .assure{gap:1.7rem;margin-top:2.6rem}
  .finale{padding:4.5rem 0}
  .finale-media img{object-position:62% 50%;opacity:.55}
  .finale-media::after{background:linear-gradient(180deg,rgba(13,17,23,.9),rgba(13,17,23,.74) 45%,rgba(13,17,23,.97))}
  .finale-copy{max-width:100%}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr}
  .logo-bar{height:79px}
  header.pinned .logo-bar{height:62px}
  /* mais respiro entre o logo e o texto do hero */
  .hero{padding-top:10.75rem}
  .hero h1{letter-spacing:.07em;margin-right:-.07em}
  .hero .actions{gap:.7rem}
  .offer li{gap:.9rem;letter-spacing:.14em;font-size:.76rem}
  .hero .actions .btn{flex:1 1 100%;justify-content:center}
  .assure{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;justify-items:center}
  .assure div{width:100%;gap:.6rem}
  .assure b{font-size:.55rem;letter-spacing:.14em}
  .finale h2{letter-spacing:.06em}
  .finale .actions{gap:.7rem}
  .finale .actions .btn{flex:1 1 100%;justify-content:center}
}

/* ---------- home: 5 familias ---------- */
.prods.fams{grid-template-columns:repeat(5,1fr);gap:1.1rem}
.prod-sub{margin:.3rem 0 0;font-size:.82rem;line-height:1.45;color:var(--text-3);max-width:none}
.fams-foot{display:flex;justify-content:center;margin-top:3.2rem}
@media (max-width:1100px){.prods.fams{grid-template-columns:repeat(3,1fr);gap:2rem 1.1rem}}
@media (max-width:560px){
  .prods.fams{grid-template-columns:repeat(2,1fr);gap:1.4rem .8rem}
  .prods.fams .prod:first-child{grid-column:1/-1}
  .prods.fams .prod:first-child .prod-media{aspect-ratio:4/3}
  .prod-sub{font-size:.76rem}
  .fams-foot .btn{width:100%;justify-content:center}
}

/* ---------- catalogo (panels.html) ---------- */
.cat-page header{background:rgba(13,17,23,.96)}
.cat-hero{padding:calc(6rem + 20px) 0 2rem;background:var(--ink);border-bottom:1px solid rgba(201,186,160,.1)}
.crumbs{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-family:Jost;font-weight:300;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--pewter)}
.crumbs a:hover{color:var(--travertine)}
.crumbs span{opacity:.5}
.cat-hero h1{font-size:clamp(2.2rem,4.4vw,3.2rem);font-weight:300;line-height:1.1;letter-spacing:.01em;color:var(--travertine)}
.cat-hero p{margin-top:.8rem;color:var(--concrete);max-width:36rem}
.cat-search{position:relative;margin-top:1.5rem;max-width:36rem}
.cat-search .ico{position:absolute;left:1.05rem;top:50%;margin-top:-9px;color:var(--stone);pointer-events:none}
.cat-search input[type=search]{width:100%;padding:1.05rem 3rem 1.05rem 3rem;background:rgba(233,225,213,.06);border:1px solid rgba(201,186,160,.22);color:var(--travertine);font-family:Karla;font-size:1rem;-webkit-appearance:none;appearance:none;border-radius:0;transition:border-color .25s,background .25s}
.cat-search input[type=search]::placeholder{color:#7d7b75}
.cat-search input[type=search]:focus{outline:none;border-color:var(--stone);background:rgba(233,225,213,.09)}
.cat-search input[type=search]::-webkit-search-cancel-button{display:none}
.cat-search .clear-q{position:absolute;right:.6rem;top:50%;width:34px;height:34px;margin-top:-17px;border:0;background:none;color:var(--pewter);cursor:pointer;display:grid;place-items:center}
.cat-search .clear-q:hover{color:var(--travertine)}
.cat-search .clear-q[hidden]{display:none}

.cat-bar{position:sticky;top:var(--hdr-h,90px);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-dark)}
.cat-bar .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.1rem;padding:.9rem 0}
.chips{display:flex;gap:.4rem;flex-wrap:nowrap;min-width:0}
.prod[hidden]{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border:1px solid rgba(13,17,23,.16);background:transparent;color:var(--text-2);font-family:Jost;font-weight:300;font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--travertine)}
.chip small{font-size:.6rem;letter-spacing:.08em;opacity:.55}
.chip i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(13,17,23,.2)}
.cat-bar .sep-v{width:1px;height:24px;background:var(--line-dark);flex:none}
.cat-sort{margin-left:auto;display:flex;align-items:center;gap:.6rem;font-family:Jost;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.cat-sort select{width:auto;padding:.5rem 1.8rem .5rem .7rem;border:1px solid rgba(13,17,23,.16);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D1117' stroke-width='1.6'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right .45rem center/14px;color:var(--ink);font-family:Karla;font-size:.85rem;-webkit-appearance:none;appearance:none;border-radius:0;cursor:pointer}
.cat-sort select:focus{outline:none;border-color:var(--ink);background-color:transparent}

.cat-main{background:#fff;color:var(--ink);padding:2.2rem 0 6rem}
.cat-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;font-size:.85rem;color:var(--text-3)}
.cat-meta b{font-weight:500;color:var(--ink)}
.reset{border:0;background:none;padding:0 0 .2rem;border-bottom:1px solid rgba(42,46,51,.3);font-family:Jost;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:color .25s,border-color .25s}
.reset:hover{color:var(--bronze);border-color:var(--bronze)}
.reset[hidden]{display:none}
.prods.cat{grid-template-columns:repeat(6,1fr);gap:1.8rem 1rem}
.prods.cat .prod h3{font-size:.9rem;letter-spacing:.02em}
.prods.cat .prod-fam{display:block;margin-top:.2rem;font-family:Jost;font-weight:300;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.prods.cat .prod-quote{font-size:.58rem;margin-top:.5rem}
.prods.cat .prod-nav{width:24px;height:24px;margin-top:-12px}
.prods.cat .prod-nav.prev{left:.5rem}.prods.cat .prod-nav.next{right:.5rem}
.prods.cat .prod-dots{left:.7rem;bottom:.8rem}
.prods.cat .prod-dots i{width:10px}.prods.cat .prod-dots i.on{width:18px}
.prods.cat .prod-badge{left:.5rem;top:.5rem;font-size:.5rem;padding:.26rem .5rem}
.prods.cat mark{background:rgba(201,186,160,.45);color:inherit;padding:0 .05em}
.cat-empty{padding:4rem 0;text-align:center;color:var(--text-3)}
.cat-empty[hidden]{display:none}
.cat-empty h3{font-size:1.2rem;letter-spacing:.1em;color:var(--ink);margin-bottom:.8rem}
.cat-empty p{margin:0 auto 1.6rem}
.cat-help{margin-top:4rem;padding:2.4rem;background:var(--travertine);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cat-help h2{font-size:clamp(1.25rem,2vw,1.6rem)}
.cat-help p{margin:.5rem 0 0;color:var(--text-2);font-size:.92rem}
@media (max-width:1280px){.prods.cat{grid-template-columns:repeat(4,1fr)}}
@media (max-width:960px){
  .prods.cat{grid-template-columns:repeat(3,1fr);gap:1.8rem 1rem}
  .cat-hero{padding:7rem 0 1.75rem}
  .cat-bar .wrap{flex-wrap:wrap;gap:.7rem}
  .cat-bar .sep-v{display:none}
  .chips{flex:0 0 calc(100% + 10vw);overflow-x:auto;scrollbar-width:none;margin:0 -5vw;padding:0 5vw}
  .chips::-webkit-scrollbar{display:none}
  .cat-sort{margin-left:0}
}
@media (max-width:560px){
  .prods.cat{grid-template-columns:repeat(2,1fr);gap:1.4rem .8rem}
  .cat-help{padding:1.8rem 1.35rem}
  .cat-help .btn{width:100%;justify-content:center}
}
/* CTA escuro sobre fundo claro (home > familias, catalogo) */
.btn.ink{background:var(--ink);border-color:var(--ink);color:var(--travertine)}
.btn.ink:hover{background:var(--graphite);border-color:var(--graphite);color:var(--travertine)}

/* =====================================================================
   HARMONIA — escala tipografica, ritmo vertical e CTAs padronizados.
   Display (H1) = Roboto caixa-alta | Titulos (H2/H3) = Jost 300/400 | Texto = Karla
   ===================================================================== */
:root{
  --sec-y:7rem;
  --head-gap:3.5rem;
  --fs-h1:clamp(3.2rem,7.6vw,6rem);
  --fs-display:clamp(2.3rem,5.2vw,4rem);
  --fs-h1-page:clamp(2.2rem,4.4vw,3.2rem);
  --fs-h2:clamp(1.9rem,3.2vw,2.6rem);
  --fs-h2-sm:clamp(1.5rem,2.3vw,1.9rem);
  --fs-h3:1.05rem;
  --fs-small:.92rem;
}
@media (max-width:960px){:root{--sec-y:4.5rem;--head-gap:2.5rem}}

/* ritmo vertical unico */
section{padding:var(--sec-y) 0}
.about{padding:0}
.about-copy{padding:var(--sec-y) clamp(1.5rem,7%,6.5rem)}
.finale{padding:var(--sec-y) 0}
.sec-head{margin-bottom:var(--head-gap)}
.faq .sec-head{margin-bottom:0}
.sec-head p,.cta-lede{margin-top:1.2rem}
.cta-lede{color:var(--concrete)}
@media (max-width:960px){.about-copy{padding:var(--sec-y) 5vw}}

/* eyebrow: um so padrao */
.eyebrow,.fcta .eyebrow,.offer-card .eyebrow,.about-copy .eyebrow{margin-bottom:1.1rem;font-weight:300}
.light .eyebrow,.about-copy .eyebrow,.offer-card .eyebrow{color:var(--bronze)}

/* H1 / display */
.hero h1,.cat-hero h1,.finale h2{font-family:Roboto,system-ui,sans-serif;font-weight:400;line-height:1.04;letter-spacing:.1em;margin-right:-.1em;text-transform:uppercase;color:var(--travertine)}
.hero h1{font-size:var(--fs-h1)}
.finale h2{font-size:var(--fs-display)}
.cat-hero h1{font-size:var(--fs-h1-page)}
@media (max-width:560px){.hero h1,.cat-hero h1,.finale h2{letter-spacing:.07em;margin-right:-.07em}}

/* H2 */
section h2,.fcta h2{font-family:Jost,system-ui,sans-serif;font-weight:500;font-size:var(--fs-h2);line-height:1.15;letter-spacing:.01em;text-transform:none}
.h-grotesk{font-weight:500;line-height:1.15}
.about-copy h2{letter-spacing:.05em;margin-bottom:1.6rem}
.fcta h2,.cat-help h2,.offer-card h2{font-size:var(--fs-h2-sm);line-height:1.2}

/* H3 */
.prod h3,.step h3,.card h3,.cat-empty h3{font-family:Jost,system-ui,sans-serif;font-size:var(--fs-h3);font-weight:400;line-height:1.3;letter-spacing:.02em;text-transform:none}
.step h3,.card h3{margin-bottom:.5rem}
.prods.cat .prod h3{font-size:.92rem}
.cat-empty h3{margin-bottom:.8rem}

/* texto secundario em um tamanho */
.step p,.card p,.faq-list details p,.steps-foot p{font-size:var(--fs-small)}

/* CTAs: mesmo sistema de botao em todo o site */
.about-cta{gap:.7rem;padding:.78rem 1.6rem;border:1px solid var(--ink);font-weight:300;font-size:.74rem;letter-spacing:.2em;transition:background .3s,border-color .3s}
.about-cta .arw{width:18px;height:18px;padding:0;border-radius:0;background:none;color:currentColor}
.about-cta:hover{background:var(--graphite);border-color:var(--graphite)}
.about-cta:hover .arw{background:none;transform:translateX(5px)}
.gbadge-link,.link-arrow{font-weight:400}

/* sem brilho decorativo */
.hero-glow{display:none}

/* before & after mais baixo: secao mais compacta */
.compare{aspect-ratio:21/9}
@media (max-width:960px){.compare{aspect-ratio:16/10}}
@media (max-width:560px){.compare{aspect-ratio:4/3}}

/* lista do hero 30% menor (fonte, respiro e marcador) */
.offer li{gap:.8rem;padding:.55rem 0;font-size:clamp(.56rem,.74vw,.63rem)}
.offer li::before{width:3px;height:3px}
@media (max-width:560px){.offer li{gap:.65rem;font-size:.6rem}}

/* icones do processo: traco simples, sem circulo; cresce levemente no hover da etapa */
.step-ico{width:2.1rem;height:2.1rem;padding:0;border:0;border-radius:0;background:none;stroke-width:1.2;margin-bottom:1.4rem;transform-origin:left center;transition:transform .35s cubic-bezier(.2,.7,.25,1)}
.step:hover .step-ico{transform:scale(1.15)}

/* reviews compacto */
#reviews .rev{gap:2.4rem}
#reviews .gbadge{gap:.8rem;padding:1.8rem 2rem}
#reviews .gbadge-score b{font-size:3rem}
#reviews .gbadge-link{margin-top:.2rem}
#reviews .cards{gap:1.4rem 2.2rem}
#reviews .card{padding-top:1.1rem}
#reviews .card svg{width:20px;height:20px;margin-bottom:.6rem}
#reviews .card h3{margin-bottom:.3rem}
#reviews .card p{line-height:1.55}
#reviews .gquotes{margin-top:2rem}
#reviews .gquote{gap:.7rem;padding:1.5rem 2rem}
#reviews .gquote blockquote{font-size:1.1rem}

/* about compacto */
.about{min-height:min(76vh,700px)}
.about-copy{padding:4.5rem clamp(1.5rem,6%,5.5rem)}
.about-copy h2{margin-bottom:1.2rem}
.about-copy p{font-size:.95rem;line-height:1.65;margin-bottom:.7rem}
.about-copy .about-lead{margin-top:1rem;font-size:1.02rem}
.about-points{margin-top:1.5rem}
.about-points li{padding:.6rem 0;font-size:.86rem}
.about-cta{margin-top:1.8rem}
@media (max-width:960px){.about{min-height:0}.about-copy{padding:var(--sec-y) 5vw}}

/* contact compacto */
#contact .cta{padding:2.6rem 3rem;gap:2.6rem}
#contact .cta-lede{margin:1rem 0 0;font-size:.95rem;line-height:1.6}
#contact .people{gap:.9rem;margin:1.4rem 0 1.2rem}
#contact .person{gap:.25rem}
#contact .people small{margin-bottom:0}
#contact .via{margin-top:.2rem}
#contact .via a{padding:.28rem .6rem}
#contact form{gap:.65rem}
#contact input[type=text],#contact input[type=tel],#contact select,#contact textarea{padding:.7rem 1rem}
#contact .cc{padding:0 .7rem 0 1rem}
#contact textarea{min-height:3.8rem;height:3.8rem}
#contact .drop{padding:.7rem 1rem}
#contact .via-pick legend{margin-bottom:.35rem}
#contact .via-pick span{padding:.6rem .5rem}
@media (max-width:960px){#contact .cta{padding:2rem}}

/* =====================================================================
   SEM BORDAS: separacao por espaco e tom de fundo.
   Bordas ficam so em elementos que SAO contorno (botoes outline, chips).
   ===================================================================== */
header,header.pinned,.mnav.open,.mnav a,.mega,.mega-tile.all,.mega-tile.all:hover,
.hero,.finale,.cat-hero,.cat-bar,
.offer,.offer li,
.step .n,.steps-foot,
.card,.about-points li,.about-copy .about-lead,
.gbadge,.gbadge:hover,.gquote,
.faq-list,.faq-list details,.light .faq-list,.light .faq-list details,
.fcta,.legal,.fmap,
.phone-field,.phone-field:focus-within,.cc,
input[type=text],input[type=email],input[type=tel],select,textarea,
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,select:focus,textarea:focus,
.cat-search input[type=search],.cat-search input[type=search]:focus,
.cat-sort select,.cat-sort select:focus,
.offer-form input,.offer-form select{border:0}
.cc img{outline:0}
.sep,.cat-bar .sep-v,footer::before{display:none}

/* compensa o respiro que as linhas davam */
.offer li{padding:.4rem 0}
.offer{margin:1.6rem 0 2.2rem}
.step .n{padding-bottom:0;margin-bottom:.9rem}
.steps-foot{padding-top:0}
.card{padding-top:0}
.about-copy .about-lead{padding-left:0}
.about-points li{padding:.45rem 0}
.faq-list summary{padding:1.05rem 0}
.faq-list details p{margin:-.2rem 0 1rem}
.fcta{padding-bottom:0}
.legal{padding-top:0}
.gquote{border-left:0}

/* campos: o foco e o estado ficam no tom de fundo */
.cc{background:rgba(233,225,213,.04)}
.cat-sort select{background-color:#f1ece4}
.offer-form input,.offer-form select{background:#fff}
.offer-form input:focus,.offer-form select:focus{outline:1px solid var(--bronze);outline-offset:0}
.drop{border:0;background:rgba(233,225,213,.05)}
.drop:hover,.drop.over{background:rgba(233,225,213,.09)}
.cat-bar{background:rgba(246,242,236,.97)}

/* faixa do rodape sem titulo: so logo e botao */
.fcta{grid-template-columns:auto auto;justify-content:space-between}
@media (max-width:560px){.fcta{grid-template-columns:1fr}}

/* =====================================================================
   MOVIMENTO NA ROLAGEM (ativado pelo motion.js; sem JS tudo fica visivel)
   ===================================================================== */
.rv-on [data-rv]{transition:opacity 1s cubic-bezier(.2,.7,.25,1),transform 1s cubic-bezier(.2,.7,.25,1),clip-path 1.3s cubic-bezier(.65,0,.25,1);transition-delay:calc(var(--i,0) * 110ms)}
.rv-on [data-rv="up"]{opacity:0;transform:translateY(32px)}
.rv-on [data-rv="fade"]{opacity:0}
.rv-on [data-rv="zoom"]{opacity:0;transform:scale(1.12);transition-duration:1.6s}
.rv-on [data-rv="clip"]{clip-path:inset(10% 12% 10% 12%)}
.rv-on [data-rv].in{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
/* o parallax usa transform inline; suaviza o movimento das fotos grandes */
.hero-media video,.hero-media img,.finale-media img{will-change:transform;transform:scale(1.1)}
@media (max-width:960px){.rv-on [data-rv="up"]{transform:translateY(22px)}}

/* =====================================================================
   BEFORE & AFTER refinado: titulo + apoio lado a lado, foto limpa,
   linha fina, alca de vidro, rotulos so em texto
   ===================================================================== */
.cmp-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:end;gap:2rem 4rem;margin-bottom:var(--head-gap)}
.cmp-top .sec-head{margin-bottom:0}
.cmp-aside p{margin:0;font-size:.95rem;line-height:1.7;color:var(--text-2)}

.compare::after{content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;background:linear-gradient(0deg,rgba(13,17,23,.42),rgba(13,17,23,0))}
.handle{width:1px;margin-left:0;background:rgba(244,239,231,.9)}
.handle span{width:52px;height:52px;background:rgba(244,239,231,.22);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);color:#fff;transition:transform .3s cubic-bezier(.2,.7,.25,1),background .3s}
.handle span .ico{width:20px;height:20px;stroke-width:1.2}
.compare:active .handle span{transform:translate(-50%,-50%) scale(.9);background:rgba(244,239,231,.34)}

.tag{bottom:1.4rem;z-index:1;padding:0;background:none;color:#fff;font-family:Jost;font-weight:400;font-size:.68rem;letter-spacing:.3em;transition:opacity .35s}
.tag.l{left:1.6rem}.tag.r{right:1.6rem}
.compare.near-l .tag.l,.compare.near-r .tag.r{opacity:0}

@media (max-width:960px){
  .cmp-top{grid-template-columns:1fr;gap:1.2rem}
  .cmp-aside p{max-width:34rem}
}
@media (max-width:560px){
  .handle span{width:44px;height:44px}
  .tag{bottom:1rem}.tag.l{left:1rem}.tag.r{right:1rem}
}
/* bolinha do meio estatica */
.compare.idle .handle span{animation:none}
.handle span,.compare:active .handle span{transform:translate(-50%,-50%);transition:none}

/* linhas editoriais do before & after */
.cmp-top{position:relative;padding-bottom:2.4rem}
.cmp-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(42,46,51,.18)}
.cmp-top .eyebrow{display:flex;align-items:center;gap:1rem}
.cmp-top .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--bronze);opacity:.55}

/* before & after: acabamento final */
.cmp-top{grid-template-columns:minmax(0,1fr) minmax(0,20rem);gap:2rem 5rem;padding-bottom:2.2rem;margin-bottom:2.2rem}
.cmp-aside{position:relative;padding-left:1.6rem}
.cmp-aside::before{content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:1px;background:var(--bronze);opacity:.5}
.cmp-aside p{font-size:1rem;line-height:1.75;color:var(--graphite)}

.handle{background:#fff}
.handle span{width:46px;height:46px;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--ink)}
.handle span .ico{width:18px;height:18px;stroke-width:1.4}

.compare-foot{justify-content:space-between;margin-top:1.4rem}
.cmp-cue{display:inline-flex;align-items:center;gap:.6rem;font-family:Jost;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--text-3)}
.cmp-cue .ico{width:15px;height:15px;color:var(--bronze)}

@media (max-width:960px){.cmp-top{grid-template-columns:1fr;gap:1.4rem}}
@media (max-width:560px){.cmp-cue{display:none}.handle span{width:42px;height:42px}}

/* rotulos before/after em caixinha de vidro */
.compare::after{display:none}
.tag,.tag.r{bottom:1.25rem;display:inline-flex;align-items:center;padding:.5rem .85rem;border-radius:2px;
  background:rgba(13,17,23,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#F4EFE7;font-size:.64rem;letter-spacing:.28em;line-height:1}
.tag.l{left:1.25rem}.tag.r{right:1.25rem}
@media (max-width:560px){.tag,.tag.r{bottom:.9rem;padding:.42rem .7rem}.tag.l{left:.9rem}.tag.r{right:.9rem}}

/* moldura deslocada em contorno atras da foto */
.cmp-frame{position:relative}
.cmp-frame::before{content:"";position:absolute;inset:0;transform:translate(16px,16px);border:1px solid rgba(138,106,66,.5);pointer-events:none}
.cmp-frame .compare{position:relative;z-index:1}
.cmp-frame + .compare-foot{margin-top:2.4rem}
@media (max-width:560px){.cmp-frame::before{transform:translate(9px,9px)}.cmp-frame + .compare-foot{margin-top:1.8rem}}

/* =====================================================================
   WHAT WE BUILD refinado: cabecalho dividido com o botao a direita,
   numeracao editorial, selos iguais aos do before & after
   ===================================================================== */
.fams-top{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem 4rem;padding-bottom:2.2rem;margin-bottom:2.6rem}
.fams-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(42,46,51,.14)}
.fams-top .sec-head{margin-bottom:0}
.fams-top .sec-head p{max-width:31rem}
.fams-top .eyebrow{display:flex;align-items:center;gap:1rem}
.fams-top .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--bronze);opacity:.55}
.fams-top .fams-foot{margin:0;flex:none}

.prods.fams{counter-reset:fam;gap:1.4rem}
.prods.fams .prod{counter-increment:fam}
.prods.fams .prod-info{padding-top:1.2rem}
.prods.fams .prod-info::before{content:counter(fam,decimal-leading-zero);display:block;margin-bottom:.55rem;font-family:Jost;font-weight:400;font-size:.66rem;letter-spacing:.22em;color:var(--bronze)}
.prods.fams .prod h3{font-size:1.08rem;letter-spacing:.02em}
.prods.fams .prod-sub{margin-top:.35rem}
.prods.fams .prod-quote{margin-top:.9rem}

.prods.fams .prod-badge{left:.9rem;top:.9rem;padding:.45rem .72rem;border-radius:2px;background:rgba(13,17,23,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  font-weight:400;font-size:.58rem;letter-spacing:.26em;line-height:1;color:#F4EFE7}

@media (max-width:960px){
  .fams-top{flex-direction:column;align-items:flex-start;gap:1.6rem}
}
@media (max-width:560px){
  .fams-top .fams-foot{width:100%}
  /* celular: uma familia por linha, compacta (foto pequena a esquerda, texto a direita) para rolar rapido */
  .prods.fams{grid-template-columns:1fr;gap:1rem}
  .prods.fams .prod,.prods.fams .prod:first-child{grid-column:auto;flex-direction:row;align-items:center;gap:1.1rem}
  .prods.fams .prod-media,.prods.fams .prod:first-child .prod-media{flex:0 0 40%;aspect-ratio:1/1}
  .prods.fams .prod-info{flex:1;min-width:0;padding-top:0}
  .prods.fams .prod-info::before{margin-bottom:.35rem;font-size:.6rem}
  .prods.fams .prod h3{font-size:1rem}
  .prods.fams .prod-sub{margin-top:.25rem;font-size:.74rem;line-height:1.4}
  .prods.fams .prod-quote{margin-top:.55rem;font-size:.6rem}
  .prods.fams .prod-nav{width:22px;height:22px;margin-top:-11px}
  .prods.fams .prod-nav.prev{left:.35rem}.prods.fams .prod-nav.next{right:.35rem}
  .prods.fams .prod-nav .ico{width:10px;height:10px}
  .prods.fams .prod-dots{left:.55rem;bottom:.55rem}
  .prods.fams .prod-dots i{width:8px}.prods.fams .prod-dots i.on{width:14px}
}

/* =====================================================================
   PROCESSO: linha do tempo continua do passo 01 ao 05
   (a linha se desenha passo a passo e cada ponto acende na entrada)
   ===================================================================== */
#process .sec-head .eyebrow{display:flex;align-items:center;gap:1rem}
#process .sec-head .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--stone);opacity:.5}
#process .sec-head{margin-bottom:4rem}

.steps-5{gap:2.4rem;margin-top:.5rem}
.step{position:relative}
.step-ico{stroke:var(--stone);margin-bottom:1.6rem}
.step .n{position:relative;display:block;margin:0 0 1.5rem;padding:0 0 1.9rem}
.step .n b{display:block;font-weight:200;font-size:2rem;letter-spacing:.02em;color:var(--stone)}
/* trilho: cada passo desenha ate o ponto do proximo */
.step .n::before{content:"";position:absolute;left:0;bottom:4px;width:calc(100% + 2.4rem);height:1px;background:rgba(201,186,160,.32);transform-origin:left center}
.step:last-child .n::before{width:100%;background:linear-gradient(90deg,rgba(201,186,160,.32),rgba(201,186,160,0))}
/* ponto */
.step .n::after{content:"";position:absolute;left:0;bottom:0;width:9px;height:9px;box-sizing:border-box;border-radius:50%;background:var(--stone);outline:5px solid var(--ink)}
.step h3{color:var(--travertine);margin-bottom:.55rem}
.step > p{color:var(--concrete);line-height:1.6}
.step-more{margin-top:1rem}
.step-more summary{display:inline-flex;align-items:center;gap:.5rem;color:var(--stone);transition:color .3s}
.step-more summary:hover{color:var(--travertine)}
.step-more[open] p{animation:rise .5s cubic-bezier(.2,.7,.25,1) both}

.steps-foot{margin-top:4rem;align-items:baseline}
.steps-foot p{margin:0;color:var(--travertine);opacity:.75}
.steps-seal{display:inline-flex;align-items:center;gap:.8rem;color:var(--stone);opacity:.8}
.steps-seal::before{content:"";width:2rem;height:1px;background:currentColor;opacity:.6}

/* entrada: linha corre da esquerda pra direita, pontos acendem em sequencia */
.rv-on .step[data-rv] .n::before{transform:scaleX(0);transition:transform .75s cubic-bezier(.65,0,.35,1);transition-delay:calc(.3s + var(--i,0) * .2s)}
.rv-on .step[data-rv] .n::after{transform:scale(0);transition:transform .45s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(.2s + var(--i,0) * .2s)}
.rv-on .step[data-rv].in .n::before{transform:scaleX(1)}
.rv-on .step[data-rv].in .n::after{transform:scale(1)}

/* tablet e celular: vira linha do tempo vertical */
@media (max-width:1100px){
  .steps-5{grid-template-columns:1fr;gap:0;max-width:34rem}
  .step{padding:0 0 2.6rem 2.4rem}
  .step:last-child{padding-bottom:0}
  .step::before{content:"";position:absolute;left:4px;top:.5rem;bottom:-.5rem;width:1px;background:rgba(201,186,160,.32)}
  .step:last-child::before{bottom:0;background:linear-gradient(180deg,rgba(201,186,160,.32),rgba(201,186,160,0))}
  .step .n{position:static;padding:0;margin-bottom:.6rem}
  .step .n::before{display:none}
  .step .n::after{top:.5rem;bottom:auto}
  .step-ico{position:absolute;right:0;top:.2rem;margin:0;width:1.8rem;height:1.8rem;opacity:.8}
  .step .n b{font-size:1.6rem}
  .step-ico~h3{padding-right:2.6rem}
  #process .sec-head{margin-bottom:3rem}
  .rv-on .step[data-rv]::before{transform:scaleY(0);transform-origin:top;transition:transform .7s cubic-bezier(.65,0,.35,1) .3s}
  .rv-on .step[data-rv].in::before{transform:scaleY(1)}
}
@media (max-width:560px){.steps-foot{flex-direction:column;align-items:flex-start;gap:.8rem}}

/* selo de confianca do processo */
.steps-seal{display:inline-flex;align-items:center;gap:.95rem;padding:.75rem 1.4rem .75rem .75rem;border-radius:999px;background:rgba(201,186,160,.08);opacity:1;color:var(--travertine);text-transform:none;letter-spacing:0}
.steps-seal::before{display:none}
.seal-ico{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(201,186,160,.16);color:var(--stone)}
.seal-ico .ico{width:18px;height:18px;stroke-width:1.3}
.seal-txt{display:flex;flex-direction:column;gap:.2rem;line-height:1.2}
.seal-txt b{font-family:Jost;font-weight:500;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--travertine)}
.seal-txt small{font-family:Karla;font-size:.8rem;color:var(--concrete)}
.steps-foot{align-items:center}
/* selo sem caixa: so o icone de verificado + texto */
.steps-seal{padding:0;border-radius:0;background:none;gap:.85rem}
.seal-ico{width:auto;height:auto;border-radius:0;background:none}
.seal-ico .ico{width:34px;height:34px;stroke-width:1.1}

/* passo: titulo abre os detalhes, com + que vira - */
.step-more{margin-top:0}
.step-more summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;color:var(--travertine);cursor:pointer}
.step-more[open] summary{margin-bottom:0}
.step-more summary h3{margin:0;color:inherit;transition:color .3s}
.step-more summary:hover h3{color:var(--stone)}
.step-plus{position:relative;flex:none;width:12px;height:12px;margin-top:.45em;color:var(--stone)}
.step-plus::before,.step-plus::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;margin-top:-.5px;background:currentColor;transition:transform .35s cubic-bezier(.2,.7,.25,1)}
.step-plus::after{transform:rotate(90deg)}
.step-more[open] .step-plus::after{transform:rotate(0)}
.step-body{padding-top:.8rem}
.step-body p{margin:0;font-size:.88rem;line-height:1.65;color:var(--concrete)}
.step-body .step-lead{margin-bottom:.5rem;color:var(--travertine);opacity:.85}
.step-more[open] .step-body{animation:rise .5s cubic-bezier(.2,.7,.25,1) both}
.step-more[open] p{animation:none}
@media (max-width:1100px){.step-more summary{padding-right:2.6rem}}
/* + logo apos o texto do titulo, mesmo espacamento em todos */
.step-more summary{display:block}
.step-more summary h3{display:inline}
.step-plus{display:inline-block;margin:0 0 0 .7rem;vertical-align:.22em}
/* alinhamento do + centralizado com o titulo */
.step-more summary{display:inline-flex;align-items:center;gap:.7rem}
.step-more summary h3{display:block;line-height:1.3}
.step-plus{display:block;margin:0;vertical-align:baseline}
@media (max-width:1100px){.step-more summary{padding-right:0}}

/* =====================================================================
   ABOUT refinado: bloco de texto com largura unica, destaque com linha
   bronze, diferenciais em grade 2x2 com icones, CTA + area de atendimento
   ===================================================================== */
.about-copy > *{max-width:34rem}
.about-copy .eyebrow{display:flex;align-items:center;gap:1rem}
.about-copy .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--bronze);opacity:.55}
.about-copy h2{margin-bottom:1.6rem}
.about-copy p{margin-bottom:.8rem}
.about-copy .about-lead{position:relative;margin:1.4rem 0 0;padding-left:1.3rem;font-size:1.05rem;line-height:1.55;color:var(--ink)}
.about-copy .about-lead::before{content:"";position:absolute;left:0;top:.3rem;bottom:.3rem;width:1px;background:var(--bronze);opacity:.7}

.about-points{position:relative;grid-template-columns:1fr 1fr;gap:1.6rem 2.4rem;margin-top:2.2rem;padding-top:2.2rem}
.about-points::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(42,46,51,.16)}
.about-points li,.about-points li:last-child{grid-column:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:0;font-size:.88rem;line-height:1.5;color:#2f2d29}
.about-points li::before{display:none}
.about-points li .ico{width:24px;height:24px;stroke:var(--bronze);stroke-width:1.2}

.about-foot{display:flex;align-items:center;gap:1.4rem 2rem;flex-wrap:wrap;margin-top:2.4rem}
.about-foot .about-cta{margin-top:0}
.about-area{display:inline-flex;align-items:center;gap:.7rem;font-size:.8rem;line-height:1.45;color:var(--text-2)}
.about-area .ico{width:20px;height:20px;stroke:var(--bronze);stroke-width:1.2}

@media (max-width:560px){
  .about-points{gap:1.4rem 1.2rem}
  .about-foot .about-cta{align-self:stretch;width:100%;justify-content:space-between}
}
/* mais respiro acima e abaixo do botao do about */
.about-foot{margin-top:calc(3.2rem + 30px);margin-bottom:1.2rem}

/* foto about us: enquadra os fundadores + sobreposicao gradiente preta */
.about-media img{object-position:45% 50%;filter:saturate(.9) brightness(.92)}
.about-media::after{background:
  linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 38%,rgba(0,0,0,.12) 75%,rgba(0,0,0,0) 100%),
  linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 62%,rgba(0,0,0,.8) 100%)}
@media (max-width:560px){.about-media img{object-position:50% 50%}}

/* =====================================================================
   REVIEWS: painel escuro com depoimento em destaque + nota do Google,
   diferenciais em linha logo abaixo
   ===================================================================== */
#reviews .sec-head .eyebrow{display:flex;align-items:center;gap:1rem}
#reviews .sec-head .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--bronze);opacity:.55}

.rv-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);background:var(--ink);color:var(--travertine);overflow:hidden}
.rv-quote{position:relative;margin:0;padding:clamp(2.5rem,5vw,4.5rem);display:flex;flex-direction:column;gap:1.4rem}
.rv-mark{width:46px;height:auto;fill:var(--bronze);opacity:.9}
.rv-quote .stars{display:flex;gap:.25rem;color:#c9953c}
.rv-quote .stars .ico{width:16px;height:16px}
.rv-quote blockquote{margin:0;max-width:34rem;font-family:Jost;font-weight:300;font-size:clamp(1.45rem,2.3vw,2.05rem);line-height:1.38;letter-spacing:.005em;color:var(--paper)}
.rv-quote figcaption{display:flex;align-items:center;gap:.95rem;margin-top:.8rem}
.rv-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--stone);color:var(--ink);font-family:Jost;font-weight:500;font-size:.78rem;letter-spacing:.08em}
.rv-who{display:flex;flex-direction:column;gap:.15rem;line-height:1.3}
.rv-who b{font-family:Jost;font-weight:500;font-size:.95rem;letter-spacing:.02em;color:var(--paper)}
.rv-who span{font-size:.8rem;color:var(--pewter)}

.rv-score{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.9rem;padding:clamp(2.5rem,4vw,4rem);background:var(--ink-2);color:var(--travertine);transition:background .4s}
.rv-score::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:rgba(201,186,160,.2)}
.rv-score:hover{background:#1a202a}
.rv-g{display:inline-flex;align-items:center;gap:.65rem;font-family:Jost;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pewter)}
.rv-g .gbadge-g{width:20px;height:20px}
.rv-score b{margin:.8rem 0 .5rem;font-family:Jost;font-weight:200;font-size:clamp(3.2rem,5vw,4.6rem);line-height:.9;letter-spacing:-.01em;color:var(--paper)}
.rv-score .stars{display:flex;gap:.3rem;color:#c9953c}
.rv-score .stars .ico{width:20px;height:20px}
.rv-note{font-size:.85rem;color:var(--pewter)}
.rv-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:.9rem;padding-bottom:.4rem;border-bottom:1px solid rgba(201,186,160,.4);font-family:Jost;font-weight:400;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);transition:color .3s,border-color .3s}
.rv-link .arw{transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.rv-score:hover .rv-link{color:var(--paper);border-color:var(--paper)}
.rv-score:hover .rv-link .arw{transform:translateX(5px)}

#reviews .rv-cards{grid-template-columns:repeat(4,1fr);gap:2rem 2.6rem;margin-top:3.6rem}
#reviews .rv-cards .card{padding:0}
#reviews .rv-cards .card svg{width:26px;height:26px;margin-bottom:1rem;stroke-width:1.15}
#reviews .rv-cards .card h3{margin-bottom:.4rem}

@media (max-width:960px){
  .rv-hero{grid-template-columns:1fr}
  .rv-score::before{left:clamp(2.5rem,4vw,4rem);right:clamp(2.5rem,4vw,4rem);top:0;bottom:auto;width:auto;height:1px}
  #reviews .rv-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .rv-quote,.rv-score{padding:2.2rem 1.6rem}
  .rv-score::before{left:1.6rem;right:1.6rem}
  .rv-mark{width:36px}
  #reviews .rv-cards{grid-template-columns:1fr;gap:1.8rem}
}

/* reviews: versao clara com a paleta da marca (paper + travertine + bronze) */
.rv-hero{background:var(--paper);color:var(--ink)}
.rv-quote blockquote{color:var(--ink)}
.rv-avatar{background:var(--ink);color:var(--travertine)}
.rv-who b{color:var(--ink)}
.rv-who span{color:var(--text-3)}
.rv-score{background:var(--travertine);color:var(--ink)}
.rv-score::before{background:rgba(42,46,51,.14)}
.rv-score:hover{background:#e2d8c9}
.rv-g{color:var(--text-2)}
.rv-score b{color:var(--ink)}
.rv-note{color:var(--text-2)}
.rv-link{color:var(--ink);border-color:rgba(42,46,51,.35)}
.rv-score:hover .rv-link{color:var(--bronze);border-color:var(--bronze)}
.rv-quote .stars,.rv-score .stars{color:#b8862f}

/* reviews: mesmo tom nos dois lados, separados por respiro (sem linha/borda) */
.rv-hero{background:none;gap:4px;overflow:visible}
.rv-quote,.rv-score{background:var(--paper)}
.rv-score::before{display:none}
.rv-score{align-items:center;text-align:center}
.rv-score:hover{background:#EDE6DB}
/* contato: icone do whatsapp preenchido */
.ico-wa{fill:currentColor;stroke:none}
/* opcao de SMS no contato: so no celular */
.only-mobile{display:none}
@media (max-width:760px){.person.only-mobile{display:grid}}

/* =====================================================================
   FAQ refinado: linhas separando as perguntas, numeracao bronze,
   titulo fixo ao rolar, resposta entra suave
   ===================================================================== */
.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:3rem 5rem}
.faq .sec-head{position:sticky;top:120px}
.faq .sec-head .eyebrow{display:flex;align-items:center;gap:1rem}
.faq .sec-head .eyebrow::after{content:"";width:3.5rem;height:1px;background:var(--bronze);opacity:.55}
.faq .sec-head p{max-width:24rem}
.faq .sec-head .link-arrow{margin-top:1.8rem}

.light .faq-list{counter-reset:fq;border-top:1px solid rgba(42,46,51,.2)}
.light .faq-list details{counter-increment:fq;border-bottom:1px solid rgba(42,46,51,.2)}
.light .faq-list summary{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:0 1rem;padding:1.5rem 0;font-size:1.06rem;line-height:1.45}
.light .faq-list summary::before{content:counter(fq,decimal-leading-zero);font-family:Jost;font-weight:400;font-size:.7rem;letter-spacing:.2em;color:var(--bronze)}
.light .faq-list summary .ico{width:18px;height:18px;stroke-width:1.3}
.light .faq-list details[open] summary{color:var(--bronze)}
.light .faq-list details p{margin:-.4rem 0 1.6rem 3.6rem;padding-right:3rem;line-height:1.7;animation:rise .5s cubic-bezier(.2,.7,.25,1) both}

@media (max-width:960px){
  .faq .sec-head{position:static}
}
@media (max-width:560px){
  .light .faq-list summary{grid-template-columns:2rem 1fr auto;font-size:.98rem;padding:1.25rem 0}
  .light .faq-list details p{margin-left:3rem;padding-right:0}
}
/* faq sem numeracao */
.light .faq-list summary{grid-template-columns:1fr auto;gap:0 1.5rem}
.light .faq-list summary::before{display:none}
.light .faq-list details p{margin-left:0}
@media (max-width:560px){.light .faq-list summary{grid-template-columns:1fr auto}.light .faq-list details p{margin-left:0}}
/* about: mais respiro entre paragrafos */
.about-copy p{margin-bottom:1.25rem}
/* marca em negrito no texto corrido */
p strong,.rv-note strong{font-weight:700;color:inherit}
.rv-g{color:var(--ink)}
.rv-note,.rv-link{color:var(--ink)}
.rv-link{border-color:var(--ink)}

/* =====================================================================
   SELECT PROPRIO: mesma margem interna no campo e nas opcoes
   ===================================================================== */
.sel{position:relative}
.sel select{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.sel-btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.85rem 1rem;border:0;border-radius:0;background:rgba(233,225,213,.05);color:#a9a59d;font-family:Karla;font-size:.95rem;text-align:left;cursor:pointer;transition:background .25s}
.sel.has .sel-btn{color:var(--travertine)}
.sel-btn:hover,.sel.open .sel-btn{background:rgba(233,225,213,.09)}
.sel-btn .ico{width:16px;height:16px;flex:none;color:var(--stone);transition:transform .3s cubic-bezier(.2,.7,.25,1)}
.sel.open .sel-btn .ico{transform:rotate(180deg)}
.sel-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:.35rem 0;list-style:none;max-height:17rem;overflow-y:auto;background:#1c222b;color:var(--travertine);animation:rise .25s cubic-bezier(.2,.7,.25,1) both}
.sel-list.up{top:auto;bottom:calc(100% + 4px)}
.sel-list{overscroll-behavior:contain}
.sel-list li{padding:.7rem 1rem;font-family:Karla;font-size:.95rem;line-height:1.35;cursor:pointer}
.sel-list li.hi{background:rgba(233,225,213,.08)}
.sel-list li[aria-selected="true"]{color:var(--stone)}
#contact .sel-btn{padding:.7rem 1rem}

/* versao clara (popup da oferta) */
.offer-form .sel-btn{padding:.8rem;background:#fff;color:#6f6e69;font-size:.88rem}
.offer-form .sel.has .sel-btn{color:var(--ink)}
.offer-form .sel-btn:hover,.offer-form .sel.open .sel-btn{background:#fff;outline:1px solid var(--bronze);outline-offset:0}
.offer-form .sel-btn .ico{color:var(--bronze)}
.offer-form .sel-list{background:#fff;color:var(--ink);outline:1px solid rgba(13,17,23,.14)}
.offer-form .sel-list li{padding:.65rem .8rem;font-size:.88rem}
.offer-form .sel-list li.hi{background:var(--paper)}
.offer-form .sel-list li[aria-selected="true"]{color:var(--bronze)}

/* =====================================================================
   TITULOS DE SECAO: Inter (grotesca neutra, peso medio, tracking fechado)
   ===================================================================== */
section h2,.fcta h2{font-family:Inter,system-ui,sans-serif;font-weight:500;letter-spacing:-.025em;line-height:1.1}
.about-copy h2{letter-spacing:-.01em}

/* =====================================================================
   PROCESSO v2: cinco cartoes em sequencia que clareiam ate o resultado
   (o ultimo passo, a parede instalada, fecha em tom pedra)
   ===================================================================== */
.psteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}
.pstep{position:relative;display:flex;flex-direction:column;min-height:25rem;padding:1.7rem 1.6rem 1.9rem;background:#141922;color:var(--travertine)}
.pstep:nth-child(2){background:#181e27}
.pstep:nth-child(3){background:#1d232d}
.pstep:nth-child(4){background:#232a34}
.pstep:nth-child(5){background:var(--stone);color:var(--ink)}
.pstep-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:auto;padding-bottom:3rem}
.pstep-ico{width:34px;height:34px;flex:none;fill:none;stroke:var(--stone);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.pstep-n{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.14em;color:rgba(201,186,160,.6)}
.pstep h3{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:1.12rem;line-height:1.25;letter-spacing:-.01em;color:inherit;margin:0 0 .45rem}
.pstep p{margin:0;max-width:none;font-size:.86rem;line-height:1.6;color:var(--concrete)}
.pstep .pstep-lead{margin-bottom:.9rem;color:var(--stone);font-size:.9rem}
.pstep:nth-child(5) .pstep-ico{stroke:var(--ink)}
.pstep:nth-child(5) .pstep-n{color:rgba(13,17,23,.55)}
.pstep:nth-child(5) .pstep-lead{color:var(--ink)}
.pstep:nth-child(5) p{color:#3b3a35}
#process .steps-foot{margin-top:3rem}

@media (max-width:1100px){
  /* carrossel horizontal com encaixe: cada cartao ocupa boa parte da tela */
  .psteps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(15.5rem,40%);overflow-x:auto;scroll-snap-type:x mandatory;
    margin-right:-5vw;padding-right:5vw;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .psteps::-webkit-scrollbar{display:none}
  .pstep{scroll-snap-align:start;min-height:22rem}
}
@media (max-width:560px){
  .psteps{grid-auto-columns:78%}
  .pstep{min-height:20rem;padding:1.5rem 1.4rem 1.7rem}
}
/* celular: um passo por gesto (para em cada cartao), dica de "arraste" e indicador de posicao */
.psteps-dots{display:none}
/* um unico vai-e-volta, lento e suave */
@keyframes pnudge{0%{transform:none}45%{transform:translateX(-44px)}100%{transform:none}}
@media (max-width:760px){
  .pstep{scroll-snap-stop:always}
  .psteps.hint .pstep{animation:pnudge 2.2s cubic-bezier(.45,.05,.35,1) both}
  .psteps-dots{display:flex;gap:.4rem;margin-top:1.4rem}
  .psteps-dots i{width:14px;height:2px;background:rgba(201,186,160,.28);transition:width .35s,background .35s}
  .psteps-dots i.on{width:28px;background:var(--stone)}
}
/* processo: titulos e textos alinhados no topo, na mesma altura em todos os cartoes */
.pstep-top{margin-bottom:0;padding-bottom:0;height:34px}
.pstep h3{margin:5.5rem 0 .8rem;min-height:2.5em;display:flex;align-items:flex-end}
.pstep{min-height:0}
@media (max-width:1100px){.pstep h3{margin-top:4rem}}

/* =====================================================================
   TRANSICAO ENTRE PAGINAS (index <-> panels)
   View Transitions nativas: Chrome/Edge 126+, Safari 18.2+.
   Onde nao existe, a pagina nova so aparece com um fade curto.
   ===================================================================== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:pg-out .35s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:pg-in .55s cubic-bezier(.2,.7,.25,1) both}
@keyframes pg-out{to{opacity:0}}
@keyframes pg-in{from{opacity:0;transform:translateY(12px)}}
@supports not (view-transition-name:a){
  body{animation:pg-fade .5s ease-out both}
  @keyframes pg-fade{from{opacity:0}}
}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
}

/* =====================================================================
   CATALOGO (panels.html): cards maiores, filtros com contagem,
   tags de filtro ativo removiveis
   ===================================================================== */
.prods.cat{grid-template-columns:repeat(4,1fr);gap:2.4rem 1.25rem}
.prods.cat .prod h3{font-size:1rem}
.prods.cat .prod-fam{font-size:.62rem;margin-top:.3rem}
.prods.cat .prod-quote{font-size:.62rem;margin-top:.6rem}
.prods.cat .prod-nav{width:30px;height:30px;margin-top:-15px}
.prods.cat .prod-nav.prev{left:.7rem}.prods.cat .prod-nav.next{right:.7rem}
.prods.cat .prod-dots{left:.9rem;bottom:1rem}
.prods.cat .prod-dots i{width:12px}.prods.cat .prod-dots i.on{width:22px}
.prods.cat .prod-badge{left:.7rem;top:.7rem;font-size:.54rem;padding:.3rem .56rem}
.chip:disabled,.chip:disabled:hover{opacity:.35;cursor:default;border-color:rgba(13,17,23,.1);color:var(--text-3)}
.chip[aria-pressed="true"] i{border-color:rgba(233,225,213,.4)}
.cat-meta{flex-wrap:wrap;justify-content:flex-start;min-height:2rem}
.cat-meta .reset{margin-left:auto}
.cat-meta .cat-sort{margin-left:auto}
.cat-meta .reset:not([hidden])+.cat-sort{margin-left:1.6rem}
.active-f{display:flex;flex-wrap:wrap;gap:.4rem}
.active-f:empty{display:none}
.af{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .45rem .3rem .65rem;border:1px solid rgba(13,17,23,.16);background:none;font-family:Jost;font-weight:300;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:border-color .25s}
.af .ico{width:12px;height:12px;stroke-width:1.6;color:var(--text-3);transition:color .25s}
.af:hover{border-color:var(--ink)}
.af:hover .ico{color:var(--ink)}
@media (max-width:1100px){.prods.cat{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.prods.cat{grid-template-columns:repeat(2,1fr);gap:1.8rem .8rem}.prods.cat .prod h3{font-size:.92rem}}

/* botoes: um tamanho so no site inteiro (o do header fica compacto por espaco) */
.btn .ico{width:15px;height:15px}

/* dica "drag to compare": caixinha de vidro escuro (mesmo estilo do before/after) no topo da foto, centrada na linha;
   some quando a pessoa comeca a arrastar */
.cmp-hint{position:absolute;z-index:2;left:var(--split,50%);top:1.4rem;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:.75rem;padding:.72rem 1.15rem;border-radius:2px;
  background:rgba(13,17,23,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#F4EFE7;font-family:Jost;font-weight:400;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;line-height:1;white-space:nowrap;
  pointer-events:none;animation:cmp-hint-in 1s cubic-bezier(.2,.7,.25,1) .5s both;transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.25,1)}
.compare .cmp-hint .ico{width:18px;height:18px;flex:none;stroke-width:1.5}
.compare.touched .cmp-hint{opacity:0;transform:translate(-50%,-8px)}
@keyframes cmp-hint-in{from{opacity:0;transform:translate(-50%,-8px)}}
@media (max-width:560px){.cmp-hint{top:.9rem;padding:.55rem .85rem;font-size:.58rem;letter-spacing:.2em;gap:.55rem}.compare .cmp-hint .ico{width:15px;height:15px}}
/* mega menu: entra suave, sai rapido; clicavel enquanto aberto */
.mega{pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}
header.mega-open .mega{pointer-events:auto;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.7,.25,1),visibility 0s}

/* before & after: no corte largo (desktop) segura o topo, onde fica o pico do painel */
/* fotos recortadas com a TV no centro exato; centralizar mantem a TV no meio em qualquer tela */
.compare .pane img{object-position:50% 50%}

/* =====================================================================
   CATALOGO (panels.html): mais respiro no topo, na barra de filtros
   e na grade; selos iguais aos da home
   ===================================================================== */
.cat-hero{padding:calc(6rem + 16px) 0 2.4rem}
.cat-hero .crumbs{margin-bottom:1.1rem}
.cat-hero p{margin-top:.9rem;max-width:34rem;line-height:1.65}
.cat-search{margin-top:1.5rem;max-width:34rem}

.cat-bar .wrap{gap:1rem 1.6rem;padding:1.25rem 0}
.chips{gap:.5rem}
.chip{padding:.62rem 1rem;font-size:.64rem;letter-spacing:.18em}
#toneChips{padding-left:1.6rem;position:relative}
#toneChips::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;background:rgba(13,17,23,.14)}
.cat-sort{gap:.8rem}
.cat-sort select{padding:.62rem 2rem .62rem .9rem;background-color:transparent;outline:1px solid rgba(13,17,23,.16);outline-offset:-1px}
.cat-sort select:focus{outline-color:var(--ink)}

.cat-main{padding:3.2rem 0 7rem}
.cat-meta{margin-bottom:2.4rem}
.prods.cat{gap:3.4rem 1.6rem}
.prods.cat .prod-info{padding-top:1.1rem}
.prods.cat .prod-badge{left:.9rem;top:.9rem;padding:.45rem .72rem;border-radius:2px;background:rgba(13,17,23,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  font-weight:400;font-size:.56rem;letter-spacing:.26em;line-height:1;color:#F4EFE7}
.cat-help{margin-top:5.5rem;padding:3rem 3.2rem}

@media (max-width:960px){
  .cat-hero{padding:7rem 0 2rem}
  #toneChips{padding-left:5vw}
  #toneChips::before{display:none}
  .cat-bar .wrap{gap:.8rem;padding:1rem 0}
  /* mobile: topo do catálogo compacto */
  .cat-hero{padding:calc(var(--hdr-h,72px) + 1.1rem) 0 1.1rem}
  .cat-hero .crumbs{margin-bottom:.5rem}
  .cat-hero h1{font-size:1.6rem}
  .cat-hero p{margin-top:.4rem;font-size:.84rem;line-height:1.5}
  .cat-search{margin-top:.85rem}
  .cat-search input[type=search]{padding:.7rem 2.6rem .7rem 2.6rem;font-size:.9rem}
  .cat-search .ico{left:.85rem}
  /* mobile: sem filtro de tom e linha de filtros mais baixa */
  #toneChips{display:none}
  .cat-bar .wrap{padding:.55rem 0}
  .chips{gap:.35rem}
  .chip{padding:.42rem .7rem;font-size:.58rem;letter-spacing:.14em;gap:.35rem}
  .chip small{font-size:.54rem}
}
@media (max-width:760px){.prods.cat{gap:2.4rem .9rem}}
@media (max-width:560px){.cat-help{padding:2rem 1.4rem}.cat-main{padding:2.4rem 0 5rem}}

/* =====================================================================
   MOBILE: tudo na mesma grade (margem de 5vw) e alinhado a esquerda
   ===================================================================== */
@media (max-width:960px){
  .faq-grid{grid-template-columns:1fr;gap:2.4rem}
  .faq .sec-head p{max-width:none}
  .about-mark,.about-names{left:5vw}
}
@media (max-width:760px){
  /* contato: sem caixa interna, conteudo alinhado com o resto da pagina */
  #contact .cta{padding:0;background:none;gap:2.6rem}
  /* textos de apoio sem recuo */
  .cmp-aside{padding-left:0}
  .cmp-aside::before{display:none}
  .about-copy .about-lead{padding-left:0}
  .about-copy .about-lead::before{display:none}
  /* nota do google alinhada a esquerda */
  .rv-score{align-items:flex-start;text-align:left}
  /* rodape do processo empilhado a esquerda */
  .steps-foot{flex-direction:column;align-items:flex-start;gap:1rem;text-align:left}
  .steps-foot p{text-align:left}
}

/* =====================================================================
   CATALOGO: foto clicavel abre ampliada; so "Get a quote" leva ao contato
   ===================================================================== */
.prods.cat .prod-zoom{position:absolute;inset:0;z-index:2;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.prods.cat .prod-zoom:focus-visible{outline:1px solid var(--bronze);outline-offset:-4px}
.prods.cat .prod:hover .prod-quote{gap:.45rem;color:var(--bronze)}
.prods.cat .prod-quote:hover,.prods.cat .prod-quote:focus-visible{gap:.75rem;color:var(--ink)}

.lb-lock{overflow:hidden}
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:4.5rem 5.5rem 5rem;background:rgba(10,12,16,.95);opacity:0;transition:opacity .3s;touch-action:pan-y}
.lb.open{opacity:1}
.lb[hidden]{display:none}
.lb-fig{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb-img{display:block;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none}
.lb-cap{position:absolute;left:0;right:0;bottom:1.7rem;margin:0;display:flex;justify-content:center;align-items:baseline;gap:1rem;font-family:Jost;font-weight:300;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(233,225,213,.62)}
.lb-cap b{font-weight:400;color:var(--travertine)}
/* mesmo circulo do botao do About: preenchido em stone, sem borda */
.lb-btn{position:absolute;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .3s,transform .3s cubic-bezier(.2,.7,.25,1)}
.lb-btn:hover,.lb-btn:focus-visible{outline:none;background:var(--stone)}
.lb-prev:hover{transform:translateX(-3px)}
.lb-next:hover{transform:translateX(3px)}
.lb-btn[hidden]{display:none}
.lb-btn .ico{width:16px;height:16px}
.lb-close{top:1.2rem;right:1.2rem}
.lb-prev{left:1.4rem;top:50%;margin-top:-23px}
.lb-next{right:1.4rem;top:50%;margin-top:-23px}
@media (max-width:760px){
  .lb{padding:4rem 0 6.5rem}
  .lb-prev,.lb-next{top:auto;bottom:1.1rem;margin-top:0;width:42px;height:42px}
  .lb-prev{left:1rem}.lb-next{right:1rem}
  .lb-cap{bottom:1.5rem;flex-direction:column;align-items:center;gap:.35rem;font-size:.62rem}
  .lb-close{top:.8rem;right:.8rem}
}
/* =====================================================================
   MENU MOBILE: tela cheia, sem telefone; cupom some e so o WhatsApp flutua
   ===================================================================== */
@media (max-width:960px){
  html.menu-open{overflow:hidden}
  html.menu-open header{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
  html.menu-open .offer-promo{display:none}
  /* z-index -1: fica sob a barra (logo + X) mas cobre a tela toda */
  .mnav{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:none;overflow-y:auto;
    padding:var(--mnav-top,110px) 0 calc(6rem + env(safe-area-inset-bottom,0px));background:var(--ink);
    opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s .35s}
  .mnav.open{max-height:none;opacity:1;visibility:visible;transition:opacity .35s ease}
  .mnav .wrap{flex:1;display:flex;flex-direction:column;padding:1.6rem 0 0}
  .mnav a{padding:1.05rem 0;font-weight:300;font-size:1.05rem;letter-spacing:.24em;color:var(--travertine);
    opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .5s cubic-bezier(.2,.7,.25,1),color .25s}
  .mnav a:hover{color:var(--stone)}
  .mnav.open a{opacity:1;transform:none}
  .mnav.open a:nth-child(1){transition-delay:.05s}
  .mnav.open a:nth-child(2){transition-delay:.09s}
  .mnav.open a:nth-child(3){transition-delay:.13s}
  .mnav.open a:nth-child(4){transition-delay:.17s}
  .mnav.open a:nth-child(5){transition-delay:.21s}
  .mnav.open a:nth-child(6){transition-delay:.25s}
  .mnav.open a:nth-child(7){transition-delay:.29s}
  .mnav.open a:nth-child(8){transition-delay:.33s}
  .mnav .btn{margin-top:auto;padding:1.15rem 1.4rem;justify-content:center;font-size:.76rem;letter-spacing:.22em;background:var(--stone);color:var(--ink)}
  .mnav .btn:hover{background:var(--travertine);color:var(--ink)}
  /* lista mais leve: letras menores, divisorias finas e seta discreta */
  .mnav .wrap{padding:.6rem 0 0}
  .mnav a:not(.btn){display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-size:.78rem;letter-spacing:.22em;
    border-bottom:1px solid rgba(201,186,160,.1)}
  .mnav a:not(.btn)::after{content:"";width:6px;height:6px;margin-right:4px;border-top:1px solid currentColor;border-right:1px solid currentColor;
    transform:rotate(45deg);opacity:.35;transition:opacity .25s,transform .25s}
  .mnav a:not(.btn):hover::after{opacity:.9;transform:translateX(3px) rotate(45deg)}
  .mnav .btn{margin-top:auto;padding:1rem 1.2rem;font-size:.68rem;letter-spacing:.2em;border:0}
  .mnav a:nth-last-child(2){margin-bottom:1.8rem}
  html.menu-open .menu-btn{border-color:transparent}
}
/* =====================================================================
   REVIEWS NO CELULAR: mesmo layout, bem mais compacto
   ===================================================================== */
@media (max-width:560px){
  .rv-quote,.rv-score{padding:1.4rem 1.3rem}
  .rv-quote{gap:.75rem}
  .rv-mark{width:24px}
  .rv-quote .stars .ico{width:12px;height:12px}
  .rv-quote blockquote{font-size:1.08rem;line-height:1.45}
  .rv-quote figcaption{margin-top:.2rem;gap:.7rem}
  .rv-avatar{width:34px;height:34px;font-size:.66rem}
  .rv-who b{font-size:.85rem}
  .rv-who span{font-size:.72rem}
  .rv-score{gap:.45rem}
  .rv-g{font-size:.58rem;gap:.5rem}
  .rv-g .gbadge-g{width:16px;height:16px}
  .rv-score b{font-size:2.1rem;margin:.7rem 0 .45rem}
  .rv-score .stars .ico{width:14px;height:14px}
  .rv-note{font-size:.76rem}
  .rv-link{margin-top:.35rem;font-size:.62rem}
}
/* hero no celular: video vertical proprio, centralizado */
@media (max-width:760px){.hero-media video{object-position:50% 50%}}
/* rodape em uma linha: logo | contato | area atendida | mapa */
.fgrid{grid-template-columns:auto minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.4fr);gap:3.5rem;align-items:start}
.fbrand .logo-foot{display:block;width:118px;margin:0}
@media (max-width:1100px){.fgrid{grid-template-columns:1fr 1fr;gap:3rem 3.5rem}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr;gap:2.6rem}.fbrand .logo-foot{width:100px}}
/* about no celular: foto baixa (faixa larga) em vez de retrato */
@media (max-width:560px){
  .about-media{aspect-ratio:16/10;order:2}
  .about-media img{object-position:55% 40%}
  .about-names{bottom:1rem;font-size:.56rem;letter-spacing:.2em}
  /* secao mais curta: texto primeiro, foto no final, espacos e fontes menores */
  .about-copy{order:1;padding:3rem 5vw 2.4rem}
  .about-copy .eyebrow{margin-bottom:.8rem}
  .about-copy h2{margin-bottom:1.1rem}
  .about-copy p{font-size:.9rem;line-height:1.6;margin-bottom:.7rem}
  .about-copy .about-lead{margin-top:.9rem;font-size:.95rem}
  .about-points{margin-top:1.4rem;padding-top:1.4rem;gap:1.1rem 1rem}
  .about-points li,.about-points li:last-child{gap:.5rem;font-size:.8rem;line-height:1.45}
  .about-points li .ico{width:20px;height:20px}
  .about-foot{margin:1.8rem 0 0}
}
/* contato no celular: secao mais curta (menos respiro e textos um pouco menores) */
@media (max-width:560px){
  #contact{padding-top:3rem;padding-bottom:3rem}
  #contact .cta{gap:1.8rem}
  #contact .eyebrow{margin-bottom:.7rem}
  #contact .cta-lede{margin-top:.7rem;font-size:.88rem;line-height:1.55}
  #contact .people{gap:.65rem;margin:1.1rem 0 .8rem}
  #contact .people small{font-size:.58rem}
  #contact .fine-print{font-size:.76rem;margin:0}
  #contact form{gap:.5rem}
  #contact input[type=text],#contact input[type=tel],#contact select,#contact textarea,#contact .sel-btn{padding:.62rem .9rem;font-size:.9rem}
  #contact textarea{min-height:3.1rem;height:3.1rem}
  #contact form .btn{margin-top:.3rem;padding:.8rem 1rem}
}/* FAQ no celular: sem o link "Ask us on WhatsApp" (o botao flutuante ja cumpre esse papel) */
@media (max-width:560px){.faq .sec-head .link-arrow{display:none}}
/* =====================================================================
   IDIOMA: seletor EN / PT / ES no cabecalho (desktop e celular; no celular fica ao lado do menu)
   ===================================================================== */
.lang-sw{display:flex;align-items:center;flex:none}
.lang-sw button{position:relative;padding:.4rem .5rem;border:0;background:none;cursor:pointer;
  font-family:Jost;font-weight:300;font-size:.66rem;letter-spacing:.16em;line-height:1;color:rgba(233,225,213,.5);transition:color .25s}
.lang-sw button+button::before{content:"";position:absolute;left:0;top:50%;width:1px;height:10px;margin-top:-5px;background:rgba(201,186,160,.28)}
.lang-sw button:hover{color:var(--travertine)}
.lang-sw button[aria-pressed="true"]{color:var(--stone);font-weight:400;cursor:default}
.lang-sw button:focus-visible{outline:1px solid var(--stone);outline-offset:2px}
@media (max-width:960px){.lang-sw button{padding:.65rem .5rem;font-size:.68rem}}
@media (max-width:380px){.lang-sw button{padding:.65rem .38rem;letter-spacing:.1em}}