:root{
  --gold:#C9A13E;--gold-d:#a8842c;--gold-text:#8a6a1f;--ink:#111;--black:#0b0b0b;--cream:#f7f4ee;--sand:#efe9de;--text:#3a3a3a;--muted:#6b6b6b;
  --container:1200px;--header:76px;--radius:2px;
  --s1:clamp(.5rem,.4rem + .3vw,.75rem);--s2:clamp(1rem,.8rem + .6vw,1.5rem);--s3:clamp(1.5rem,1.2rem + 1vw,2.5rem);
  --s4:clamp(2.5rem,2rem + 2vw,4rem);--section:clamp(4.5rem,3rem + 5vw,8rem);
  --serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,system-ui,Arial,sans-serif;--cond:Oswald,'Arial Narrow',sans-serif;
  --fs-body:clamp(1rem,.96rem + .2vw,1.0625rem);--fs-small:clamp(.875rem,.85rem + .1vw,.9375rem);
  --fs-h3:clamp(1.4rem,1.2rem + .6vw,1.75rem);--fs-h2:clamp(2.2rem,1.6rem + 2.4vw,3.5rem);--fs-hero:clamp(1.9rem,1.2rem + 3vw,3.75rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) - 8px)}
body{font-family:var(--sans);font-weight:300;font-size:var(--fs-body);color:var(--text);line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}ul{list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--gold);color:#000;padding:.5rem 1rem}.skip:focus{left:8px}
.container{width:min(100% - 2*var(--s3),var(--container));margin-inline:auto}
.section{padding-block:var(--section)}
.eyebrow{display:inline-block;font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-text);margin-bottom:var(--s1)}
.title{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);letter-spacing:.06em;line-height:1.1;color:var(--ink)}
.title.light{color:#fff}
.sec-head{text-align:center;margin-bottom:var(--s4)}
.sec-head .title::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:var(--s2) auto 0}
.sec-sub{max-width:56ch;margin:var(--s2) auto 0;color:var(--muted)}
/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:0 1.9rem;font:500 .8rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .3s var(--ease),color .3s,border-color .3s,transform .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#111}.btn-gold:hover{background:#d8b252}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:#111}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--gold);color:#111}
.btn-sm{min-height:40px;padding:0 1.2rem;font-size:.72rem}
.btn-wa{background:#1f9d55;color:#fff;margin-top:var(--s2)}.btn-wa:hover{background:#17864a}.btn-wa img{width:20px;height:20px;filter:brightness(0) invert(1)}
/* cabeçalho */
.topbar{position:fixed;inset:0 0 auto;z-index:50;height:var(--header);background:linear-gradient(rgba(0,0,0,.55),transparent);transition:background .4s,height .4s,box-shadow .4s}
.topbar.solid{background:rgba(8,8,8,.96);height:64px;box-shadow:0 1px 0 rgba(201,161,62,.25);backdrop-filter:blur(8px)}
.nav{width:min(100% - 2*var(--s3),var(--container));margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;font-family:var(--cond);letter-spacing:.22em;font-size:.95rem}
.brand img{height:40px;width:auto}
.menu{display:flex;align-items:center;gap:clamp(.25rem,1.2vw,1.5rem)}
.menu a:not(.btn){font-family:var(--cond);font-weight:500;letter-spacing:.1em;text-decoration:none;color:var(--gold);padding:.5rem .6rem;font-size:.92rem;position:relative;transition:color .25s}
.menu a:not(.btn)::after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.2rem;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s var(--ease)}
.menu a:not(.btn):hover,.menu a.active{color:#fff}.menu a:not(.btn):hover::after,.menu a.active::after{transform:scaleX(1)}
.menu-cta{margin-left:.5rem}
.burger{display:none;background:none;border:0;cursor:pointer;padding:10px}
.burger span{display:block;width:26px;height:2px;background:var(--gold);margin:6px 0;transition:.3s}
/* hero */
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:#000 url(../assets/img/hero-poster.webp) center/cover}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 60%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.1) 40%,rgba(0,0,0,.7) 100%)}
.hero-content{position:relative;text-align:center;padding:var(--header) var(--s2) 0;display:flex;flex-direction:column;align-items:center}
.hero-logo{width:clamp(110px,8vw + 60px,190px);height:auto}
.slogan{font-family:var(--serif);font-weight:500;font-size:var(--fs-hero);letter-spacing:.22em;line-height:1.2;margin-top:var(--s3);text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s4)}
.scroll-cue{position:absolute;bottom:clamp(1.5rem,4vh,2.5rem);left:50%;transform:translateX(-50%);width:26px;height:42px;border:1.5px solid rgba(255,255,255,.75);border-radius:14px}
.scroll-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:var(--gold);border-radius:2px;animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
/* processo */
.processo{background:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.step{position:relative;display:flex;flex-direction:column}
.step-img{overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.step-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.step:hover .step-img img{transform:scale(1.05)}
.step-num{font-family:var(--serif);font-size:clamp(3rem,2.5rem + 2vw,4.5rem);line-height:1;color:var(--gold);margin:-.55em 0 0 var(--s2);position:relative;background:#fff;align-self:flex-start;padding:0 .2em}
.step h3{font-family:var(--serif);font-weight:600;font-size:var(--fs-h3);color:var(--ink);line-height:1.2;margin:var(--s1) 0 var(--s1)}
.step p{font-size:var(--fs-small);color:var(--text);max-width:42ch}
/* quem somos */
.quem{background:var(--cream)}
.quem-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.quem-media{position:relative;padding:0 12% 14% 0}
.quem-media::before{content:"";position:absolute;inset:8% 4% 6% -6%;border:1px solid var(--gold)}
.m-main{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px -20px rgba(0,0,0,.35)}
.m-sub{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1;object-fit:cover;border:8px solid var(--cream);box-shadow:0 20px 40px -15px rgba(0,0,0,.35)}
.m-badge{position:absolute;left:-4%;bottom:6%;background:var(--gold);color:#111;padding:1rem 1.3rem;text-align:center;box-shadow:0 15px 30px -10px rgba(0,0,0,.3)}
.m-badge strong{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1}.m-badge span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.quem-text{max-width:60ch}
.quem-text .title{margin-bottom:var(--s3)}
.quem-text .title::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin-top:var(--s2)}
.quem-text p{margin-bottom:var(--s2)}
.lead{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);color:var(--ink)}
blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,1.1rem + .9vw,1.85rem);line-height:1.35;color:var(--ink);border-left:2px solid var(--gold);padding-left:var(--s2);margin-top:var(--s3)}
/* produtos */
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}
.prod{position:relative;display:block;overflow:hidden;aspect-ratio:3/2;text-decoration:none;background:#222}
.prod img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.prod::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75));transition:opacity .4s}
.prod:hover img,.prod:focus-visible img{transform:scale(1.07)}
.prod-label{position:absolute;z-index:1;left:var(--s3);right:var(--s3);bottom:var(--s3);display:flex;justify-content:space-between;align-items:center;color:#fff;font-family:var(--cond);font-size:clamp(1.15rem,1rem + .6vw,1.6rem);letter-spacing:.16em;border-bottom:1px solid rgba(201,161,62,.7);padding-bottom:.6rem}
.prod-label i{font-style:normal;color:var(--gold);transition:transform .4s var(--ease)}.prod:hover .prod-label i{transform:translateX(6px)}
.pdf-row{text-align:center;margin-top:var(--s4)}
/* contadores */
.counters-band{position:relative;overflow:hidden;padding-block:var(--s4)}
.band-overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.72))}
.counters{position:relative;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;color:#fff}
.counters>div{padding:var(--s2);border-left:1px solid rgba(201,161,62,.35)}.counters>div:first-child{border-left:0}
.counters strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,2rem + 2.5vw,4.25rem);line-height:1;color:var(--gold);margin-bottom:.5rem}
.counters span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
/* móveis */
.moveis{background:var(--cream)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s3)}
.item{margin:0}
.item img,.item .ph{width:100%;aspect-ratio:4/5;object-fit:cover}
.item .ph{background:linear-gradient(135deg,#e9e1d1,#d9ccb3);position:relative}
.item .ph::after{content:"";position:absolute;inset:38% 38%;border:1px solid rgba(138,106,31,.45)}
.item figcaption{padding-top:var(--s1)}
.item h3{font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--ink)}.item p{font-size:var(--fs-small);color:var(--muted)}
/* contacto */
.contacto{background:var(--cream);padding-bottom:var(--section)}
.contacto-banner{position:relative;height:clamp(260px,32vw,440px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.contacto-banner .title{position:relative;font-size:clamp(2.6rem,1.8rem + 3.5vw,5rem);letter-spacing:.12em}
.contacto-card{position:relative;margin-top:calc(-1 * var(--s4));background:#fff;display:grid;grid-template-columns:3fr 2fr;box-shadow:0 30px 70px -30px rgba(0,0,0,.25)}
.form-wrap{padding:clamp(1.75rem,4vw,3.5rem)}
.info{padding:clamp(1.75rem,4vw,3.5rem);background:var(--black);color:#e8e8e8}
.contacto-card h3{font-family:var(--serif);font-weight:600;font-size:var(--fs-h3);color:var(--ink);margin-bottom:var(--s3)}
.info h3{color:#fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s2)}
.form label{display:block;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#555}
.form label:nth-child(n+3){grid-column:1/-1}
.form label:nth-child(4){grid-column:auto}.form label:nth-child(3){grid-column:auto}
.form input,.form textarea{display:block;width:100%;height:50px;margin-top:.4rem;border:1px solid #cfc8bb;background:#fcfbf8;padding:0 .9rem;font:400 1rem var(--sans);color:#111;border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.form textarea{height:auto;min-height:150px;padding:.85rem .9rem;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,161,62,.25)}
.form button{grid-column:1/-1;justify-self:start;min-width:180px}
.info-list li{display:flex;gap:.9rem;margin-bottom:var(--s2);font-size:var(--fs-small)}
.info a{color:#fff;text-decoration-color:rgba(201,161,62,.6);text-underline-offset:3px}.info a:hover{color:var(--gold)}
.ico{color:var(--gold);width:1.2rem;flex:none;text-align:center}
.orcamento{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid rgba(255,255,255,.15);font-family:var(--serif);font-size:1.35rem;color:#fff}
.orcamento span{color:var(--gold)}.orcamento a{text-decoration:none}
.social{display:flex;gap:.8rem;margin-top:var(--s3)}
.social a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(201,161,62,.5);border-radius:50%;transition:background .3s,border-color .3s}
.social a:hover{background:rgba(201,161,62,.15);border-color:var(--gold)}
.social img{width:20px;height:20px}
/* rodapé */
.footer{background:var(--black);color:#bdbdbd;padding-top:var(--s4);font-size:var(--fs-small)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:var(--s3);padding-bottom:var(--s4)}
.f-brand img{width:70px;height:auto}.f-slogan{font-family:var(--serif);color:#fff;letter-spacing:.2em;margin-top:var(--s2);font-size:1.05rem}
.footer h4{font-family:var(--cond);font-weight:500;color:var(--gold);letter-spacing:.18em;font-size:.85rem;margin-bottom:var(--s2)}
.footer li{margin-bottom:.5rem}.footer a{text-decoration:none}.footer a:hover{color:var(--gold)}
.footer .social{margin-top:0}
.f-bottom{border-top:1px solid #262626;padding-block:var(--s2);font-size:.8rem;color:#8a8a8a}
/* whatsapp flutuante */
.wa-float{position:fixed;right:clamp(1rem,2vw,1.75rem);bottom:clamp(1rem,2vw,1.75rem);z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 25px -5px rgba(0,0,0,.4);transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.08)}
/* revelação */
.js-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* responsivo */
@media(max-width:1100px){.menu-cta{display:none}}
@media(max-width:900px){
  :root{--header:64px}
  .burger{display:block}
  .menu{position:fixed;top:64px;left:0;right:0;background:rgba(8,8,8,.98);flex-direction:column;gap:0;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  .menu.open{max-height:520px;padding:var(--s1) 0 var(--s3)}
  .menu a:not(.btn){display:block;padding:.85rem;font-size:1.1rem;text-align:center}
  .menu-cta{display:block;margin:var(--s1) 0 0}
  .burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .steps{grid-template-columns:1fr;max-width:620px;margin:0 auto;gap:var(--s4)}
  .quem-grid{grid-template-columns:1fr}.quem-media{max-width:520px;margin:0 auto;width:100%}
  .counters{grid-template-columns:1fr 1fr}.counters>div:nth-child(3){border-left:0}.counters>div:nth-child(n+3){border-top:1px solid rgba(201,161,62,.35)}
  .contacto-card{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .brand span{display:none}
  .prod-grid{grid-template-columns:1fr}.prod{aspect-ratio:16/10}
  .form{grid-template-columns:1fr}.form label:nth-child(n){grid-column:1/-1}.form button{justify-self:stretch}
  .hero-ctas{flex-direction:column;width:100%;max-width:300px}
  .slogan{letter-spacing:.14em}
  .footer-grid{grid-template-columns:1fr}
  .m-badge{left:0}
}
.title,.step-num,.counters strong,.m-badge strong,.orcamento,.item h3,blockquote,.slogan{font-variant-numeric:lining-nums}
@media(max-width:600px){.gallery{grid-template-columns:1fr 1fr;gap:var(--s2)}.quem-media{padding:0 10% 12% 0}.m-main{aspect-ratio:1}}
/* cartão claro atrás do logótipo original (imagem não alterada) */
.hero-logo{background:rgba(250,247,240,.92);border-radius:14px;padding:clamp(14px,1.4vw,22px);box-shadow:0 18px 40px -12px rgba(0,0,0,.45);box-sizing:content-box;width:clamp(100px,7vw + 50px,160px)}
.brand img{background:rgba(250,247,240,.92);border-radius:6px;padding:4px 5px;height:44px;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
.topbar.solid .brand img{height:40px}
.f-brand img{background:rgba(250,247,240,.92);border-radius:10px;padding:12px;width:80px;box-sizing:content-box;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
