/* Mahogany Clean Lab v1: mineral clara, silenciosa e tatil. */
:root {
  --preto:#22312b; --cafe:#f5f7f4; --cafe2:#e9efeb; --mogno:#49675a;
  --brasa:#587567; --cobre:#80998c; --ouro:#49675a; --ouro2:#dbe7df;
  --creme:#f1f4f0; --marfim:#fff;
  --ink:#22312b; --muted:#66736d; --paper:#f7f8f5; --surface:#fff;
  --mist:#e9efeb; --line:#d7dfda; --accent:#49675a; --accent-strong:#315044; --accent-soft:#dbe7df;
  --fs-1:.75rem; --fs-2:1rem; --fs-3:1.125rem; --fs-4:1.375rem;
  --fs-5:1.75rem; --fs-6:2.25rem; --fs-7:3rem; --fs-8:4rem;
  --serif:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  --sans:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;
}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;letter-spacing:-.008em}
::selection{background:var(--accent-soft);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #78988a;outline-offset:4px}
.wrap{width:min(1180px,90vw)}
.kicker{color:var(--accent)!important;font-size:.72rem;font-weight:700;letter-spacing:.22em}
h1,h2,.display{font-family:var(--serif);font-weight:430;line-height:1.03;letter-spacing:-.045em}

.lab-flag{position:fixed;right:18px;bottom:18px;z-index:1000;padding:10px 14px;border:1px solid rgba(49,80,68,.18);border-radius:999px;background:rgba(255,255,255,.9);color:var(--accent-strong);box-shadow:0 10px 30px rgba(34,49,43,.12);backdrop-filter:blur(12px);font-size:.72rem;font-weight:650;letter-spacing:.04em}
.lab-notice{position:fixed;left:50%;bottom:74px;z-index:1001;width:min(560px,calc(100vw - 32px));transform:translateX(-50%);padding:14px 18px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 18px 50px rgba(16,28,23,.24);text-align:center;font-size:.86rem}
.lab-notice[hidden]{display:none}

/* Navegacao */
nav{border-bottom:1px solid rgba(255,255,255,.18)}
nav.solid{background:rgba(247,248,245,.92);border-color:var(--line);box-shadow:0 8px 30px rgba(34,49,43,.06)}
.nav-in{height:76px}.logo{gap:3px}
.logo-word{color:#fff;font-family:var(--sans);font-size:1.05rem;font-weight:720;letter-spacing:.16em;text-transform:uppercase}
.logo-tag{color:rgba(255,255,255,.72);font-size:.64rem;font-weight:550;letter-spacing:.09em;text-transform:none}
nav.solid .logo-word,nav.solid .nav-links a{color:var(--ink)}nav.solid .logo-tag{color:var(--muted)}
.nav-links{gap:24px;font-size:.69rem;letter-spacing:.16em}.nav-links a{color:rgba(255,255,255,.82)}
.nav-links a:hover,nav.solid .nav-links a:hover{color:var(--accent)}
.nav-menu a::after{background:currentColor;bottom:-5px}
.btn-nav{border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff!important;padding:11px 20px}
nav.solid .btn-nav{border-color:var(--accent);color:var(--accent)!important}
.btn-nav:hover,nav.solid .btn-nav:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff!important}
.nav-toggle{border-radius:50%;border-color:rgba(255,255,255,.5);color:#fff}nav.solid .nav-toggle{border-color:var(--line);color:var(--ink)}

/* Hero */
.hero{min-height:min(880px,96svh);align-items:center}.hero-bg{inset:0;animation:none;background-position:center 48%}
.hero::after{background:linear-gradient(90deg,rgba(24,38,32,.78) 0%,rgba(24,38,32,.46) 43%,rgba(24,38,32,.08) 78%),linear-gradient(180deg,rgba(24,38,32,.22),transparent 45%,rgba(24,38,32,.30))}
.hero-in{padding:94px 0 44px}
.hero h1{max-width:10.5ch;color:#fff;font-size:clamp(3.15rem,6.8vw,6.35rem);font-weight:420;line-height:.96;text-shadow:0 4px 26px rgba(12,22,18,.24)}
.hero h1 .ouro{color:#dce9e2}.hero p.sub{margin-top:26px;max-width:47ch;color:rgba(255,255,255,.84);font-size:1.08rem;line-height:1.65}
.hero-cta{margin-top:34px}.btn{min-height:50px;border-radius:999px;padding:15px 26px;font-size:.72rem;letter-spacing:.15em}
.btn-solid{background:#fff;color:var(--accent-strong)}.btn-solid:hover{background:var(--accent-soft);box-shadow:0 12px 32px rgba(15,28,22,.18)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.1)}
.hero-foot{border-top:1px solid rgba(255,255,255,.16);background:rgba(24,38,32,.18)}
.hero-foot .wrap{padding:14px 0;color:rgba(255,255,255,.62);font-size:.66rem;letter-spacing:.16em}.scroll-cue{display:none}

/* Prova rapida */
.stats{background:var(--surface);border-color:var(--line)}.stats .wrap{padding:26px 0}.stat{align-items:center}
.stat b{color:var(--accent-strong);font-size:1.75rem;font-weight:520;letter-spacing:-.04em}
.stat span{color:var(--muted);font-size:.68rem;letter-spacing:.14em;line-height:1.45}

/* Camadas editoriais */
.manifesto,.oficio,.faq,.orcamento{background:var(--paper);color:var(--ink)}
.manifesto,.galeria,.materia,.oficio,.compromissos,.prova,.faq,.cta,.orcamento{padding:clamp(84px,11vw,144px) 0}
.manifesto h2,.galeria h2,.materia h2,.oficio h2,.compromissos h2,.faq h2,.orcamento h2,.cta h2{color:var(--ink);font-size:clamp(2.4rem,4.6vw,4.8rem)}
.manifesto h2 .brasa,.materia h2 .ouro,.oficio h2 .brasa,.faq h2 .brasa,.orcamento h2 .brasa,.cta h2 .ouro{color:var(--accent)}
.manifesto p,.materia p,.oficio p,.orcamento .lead,.gal-head p{color:var(--muted);line-height:1.75}
.mani-grid{grid-template-columns:1.05fr .95fr;gap:8vw}.mani-foto img{border-radius:30px;box-shadow:0 24px 70px rgba(34,49,43,.10)}
.tag-real{left:18px;bottom:18px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--accent-strong);letter-spacing:.1em;box-shadow:0 8px 24px rgba(34,49,43,.12)}
.marquee{display:none}

/* Momentos */
.momentos{background:var(--mist);border-color:var(--line);padding:clamp(82px,10vw,132px) 0}
.momentos h2{color:var(--ink);font-size:clamp(2.4rem,4.4vw,4.5rem);letter-spacing:-.045em}
.mom-grid{gap:18px;margin-top:54px}.mom{min-height:0;padding:0 0 26px;justify-content:flex-start;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 14px 42px rgba(34,49,43,.06)}
.mom::after{display:none}.mom>img{position:static;z-index:auto;width:100%;height:228px;object-fit:cover;transition:transform .55s ease}.mom:hover>img{transform:scale(1.025)}
.mom span,.mom b,.mom p{margin-left:24px;margin-right:24px;text-shadow:none}.mom span{margin-top:22px;margin-bottom:8px;color:var(--accent);letter-spacing:.15em}
.mom b{color:var(--ink);font-family:var(--sans);font-size:1.12rem;font-weight:680;letter-spacing:-.02em}.mom p{color:var(--muted);line-height:1.65}

/* Portfolio */
.galeria{background:var(--surface)}.gal-head{margin-bottom:48px}.galeria h2{max-width:13ch}.gal-grid{gap:14px}.card{border-radius:20px}
.card::after{background:linear-gradient(to top,rgba(17,31,25,.78),rgba(17,31,25,.06) 58%)}.card:hover img{transform:scale(1.035);filter:none}
.card-cap{left:22px;right:22px;bottom:20px}.card-cap b{color:#fff;font-family:var(--sans);font-size:1.1rem;font-weight:650;text-shadow:0 2px 14px rgba(17,31,25,.35)}
.card-cap span{color:rgba(255,255,255,.76);font-size:.65rem;letter-spacing:.15em}

/* Materia */
.materia{background:var(--mist);color:var(--ink)}.materia::before,.materia::after{display:none}.mat-grid{gap:7vw}
.mat-foto img{border:0;border-radius:26px;box-shadow:0 24px 70px rgba(34,49,43,.10)}
.mat-foto figcaption{left:18px;bottom:18px;border-radius:999px;background:rgba(255,255,255,.90);color:var(--accent-strong);letter-spacing:.1em}

/* Oficio */
.oficio{background:var(--paper)}.ofi-grid{gap:8vw}.ofi-grid>img{border-radius:28px;box-shadow:0 24px 70px rgba(34,49,43,.10)}
.ofi-strip{gap:14px;margin-top:44px}.ofi-strip figure{border-radius:18px}.ofi-strip figure:hover img{transform:scale(1.025)}

/* Compromissos */
.compromissos{background:var(--surface);border-color:var(--line)}.compromissos>.wrap>p{color:var(--muted)!important}.comp-grid{gap:16px;margin-top:48px}
.comp{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.comp:hover{transform:translateY(-3px);border-color:#b7c7bf}
.comp b{color:var(--ink);font-family:var(--sans);font-size:1.18rem;font-weight:690;letter-spacing:-.025em}.comp p{color:var(--muted);line-height:1.7}

/* Avaliacoes */
.prova{background:var(--mist);color:var(--ink)}.prova::before{right:-2%;color:rgba(49,80,68,.045)}
.nota{color:var(--accent-strong);text-shadow:none;font-size:clamp(5rem,11vw,8rem);font-weight:430}.estrelas{color:#6b8779}
.prova small{color:var(--muted);letter-spacing:.13em}.prova blockquote{color:var(--ink);font-family:var(--sans);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:450;line-height:1.45;letter-spacing:-.025em}
.prova blockquote footer{letter-spacing:.14em}.prova blockquote footer a{color:var(--accent-strong);border-color:#9fb5aa}
.depo-grid{gap:16px;margin-top:54px}.depo{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 14px 40px rgba(34,49,43,.06)}
.depo:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(34,49,43,.09)}.depo-head b{color:var(--ink)}
.depo-head small,.depo p,.depo footer{color:var(--muted)}.depo footer a{color:var(--accent-strong)}.avatar{background:var(--accent)!important}

/* FAQ */
.faq{background:var(--paper)}.faq-list{margin-top:50px;border-color:var(--line)}.faq details{border-color:var(--line)}
.faq summary{color:var(--ink);font-family:var(--sans);font-size:1.13rem;font-weight:650;padding:25px 4px}.faq summary:hover,.faq summary::after{color:var(--accent)}
.faq details p{color:var(--muted);line-height:1.75}

/* CTA */
.cta{background:var(--accent-soft)}.cta::before,.cta::after{display:none}.cta p{color:var(--muted);line-height:1.7}
.cta .btn-solid{background:var(--accent-strong);color:#fff}.cta .btn-solid:hover{background:var(--ink)}.cta .btn-ghost{border-color:var(--accent);color:var(--accent-strong)}
.cta .contato-mini{color:var(--muted);letter-spacing:.12em}.cta .contato-mini b,.cta .contato-mini a{color:var(--accent-strong)}

/* Formulario */
.orcamento{background:var(--surface)}.orc-form{gap:18px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}
.campo label{color:var(--accent);letter-spacing:.15em}.campo input,.campo select{min-height:52px;border-color:var(--line);border-radius:12px;background-color:var(--surface);color:var(--ink)}
.campo input:focus,.campo select:focus{border-color:var(--accent);background:var(--surface)}.orc-form .btn{border-radius:999px;background:var(--accent-strong);color:#fff}
.orc-form .btn:hover{background:var(--ink);color:#fff;box-shadow:0 12px 32px rgba(34,49,43,.15)}.orc-nota{color:var(--muted)}

/* Rodape */
footer.foot{background:#e6ece8;color:var(--ink);padding-top:80px}.foot-grid{gap:36px;padding-bottom:60px}.foot h3{color:var(--accent-strong);letter-spacing:.18em}
.foot li,.foot address,.foot-note{color:var(--muted)}.foot li a:hover,.foot address a,.foot-bar a:hover{color:var(--accent-strong)}
.foot .btn-ghost{border-color:var(--accent);color:var(--accent-strong)}.foot .btn-ghost:hover{background:var(--accent-strong);color:#fff}
.foot-bar{border-top:1px solid var(--line);background:rgba(255,255,255,.28)}.foot-bar .wrap,.foot-bar a{color:#68766f}

/* Rodape v7.1: diretorio compacto inspirado no padrao Minimal Footer do 21st.dev. */
.foot--directory{padding-top:64px}
.foot--directory .foot-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding-bottom:42px;border-bottom:1px solid var(--line)}
.foot--directory .foot-brand{display:inline-block;padding-block:2px;margin-block:-2px;font-family:var(--serif);font-size:clamp(2.65rem,5vw,4.8rem);line-height:.9;letter-spacing:-.045em;color:var(--ink)}
.foot--directory .foot-lead p{max-width:52ch;margin-top:18px;color:var(--muted);font-size:.96rem;line-height:1.75}
.foot--directory .foot-primary{min-height:52px;padding-inline:26px;border:1px solid var(--accent-strong);background:var(--accent-strong);color:#fff;white-space:nowrap}
.foot--directory .foot-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.foot--directory .foot-grid{grid-template-columns:.8fr 1.05fr 1.15fr 1.2fr;gap:32px;padding:42px 0 50px}
.foot--directory .foot-grid>*{min-width:0}
.foot--directory .foot-grid h3{margin-bottom:16px}
.foot--directory .foot-grid li{margin-bottom:8px}
.foot--directory .foot-note{margin-top:10px}
.foot--directory .foot-bar .wrap{grid-template-columns:1fr auto 1fr;padding:18px 0;letter-spacing:.12em;text-transform:none}
.foot--directory .foot-bar .wrap>span{justify-self:start}
.foot--directory .foot-social{display:flex;align-items:center;gap:18px}
.foot--directory .foot-social a{padding-block:15px;margin-block:-15px}
.foot--directory .foot-credit{justify-self:end;text-align:right}

@media(max-width:820px){
  .foot--directory{padding-top:52px}
  .foot--directory .foot-lead{grid-template-columns:1fr;align-items:start;gap:28px;padding-bottom:34px}
  .foot--directory .foot-primary{width:100%;justify-content:center}
  .foot--directory .foot-grid{grid-template-columns:1fr 1fr;gap:34px 24px;padding:34px 0 42px}
  .foot--directory .foot-contact{grid-column:1/-1;grid-row:1;padding-bottom:28px;border-bottom:1px solid var(--line)}
  .foot--directory .foot-contact ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
  .foot--directory .foot-contact li:last-child{grid-column:1/-1}
  .foot--directory .foot-guarantees{grid-column:1/-1;padding-top:28px;border-top:1px solid var(--line)}
  .foot--directory .foot-guarantees ul{display:flex;flex-wrap:wrap;gap:4px 22px}
  .foot--directory .foot-bar .wrap{display:grid;grid-template-columns:1fr;justify-items:start;gap:10px;padding:20px 0}
  .foot--directory .foot-bar .wrap>span,.foot--directory .foot-credit{justify-self:start;text-align:left}
  .foot--directory .foot-social{gap:22px}
}

@media(max-width:430px){
  .foot--directory{padding-top:46px}
  .foot--directory .foot-brand{font-size:3rem}
  .foot--directory .foot-lead{gap:24px;padding-bottom:30px}
  .foot--directory .foot-grid{gap:30px 18px;padding:30px 0 36px}
  .foot--directory .foot-contact ul{grid-template-columns:1fr}
  .foot--directory .foot-contact li:last-child{grid-column:1}
  .foot--directory .foot-grid h3{font-size:.69rem;letter-spacing:.14em}
  .foot--directory .foot-grid li,.foot--directory .foot-grid address{font-size:.84rem}
  .foot--directory .foot-bar .wrap{font-size:.67rem;letter-spacing:.08em}
}

/* Preview independente de CDN e de scroll. */
.js-anim .rv,.js-anim .rv.in,.gsap-on .rv{opacity:1;transform:none;transition:none}

@media(max-width:920px){
  .manifesto,.galeria,.materia,.oficio,.compromissos,.prova,.faq,.cta,.orcamento{padding:84px 0}
  .mom-grid{grid-template-columns:repeat(2,1fr)}.mom{min-height:0}.mom>img{height:220px}
}
@media(max-width:820px){
  .nav-menu{top:77px;border-color:var(--line);background:rgba(247,248,245,.98)}.nav-menu a,.menu-cta{color:var(--ink)!important;border-color:var(--line)!important}
  .hero{min-height:820px;align-items:flex-end}.hero::after{background:linear-gradient(180deg,rgba(24,38,32,.2),rgba(24,38,32,.18) 28%,rgba(24,38,32,.82) 82%)}
  .hero-in{padding-bottom:118px}.hero h1{font-size:clamp(3rem,14vw,5rem)}.hero-foot{display:none}
  .stats .wrap{gap:0}.stat{padding:10px 0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}
  .mom-grid{grid-template-columns:1fr}.mom>img{height:250px}.comp-grid{gap:12px}.lab-flag{left:14px;right:auto;bottom:14px}
}
@media(max-width:560px){
  .wrap{width:min(calc(100% - 36px),1180px)}.logo-tag{display:none}.hero{min-height:760px}.hero h1{font-size:clamp(2.8rem,15vw,4.35rem)}.hero p.sub{font-size:1rem}
  .hero-cta{gap:10px}.hero-cta .btn{width:100%;justify-content:center}.gal-grid{gap:10px}.card.full img{aspect-ratio:4/3}.orc-form{padding:20px}.lab-flag{font-size:.66rem}
}
