:root{
--color-primary:#C4847A;--color-primary-dark:#8F5A53;--color-secondary:#FAF7F2;--color-background:#F1E5D7;
--color-background-dark:#211A17;--color-text:#2B2421;--color-text-secondary:#766963;--color-accent:#C9A84C;
--color-accent-soft:#E6D5A8;--color-border:#DED1C5;--text-on-dark:#FAF7F2;--text-on-dark-secondary:#D8CBC1;
--font-heading:'Cormorant Garamond',serif;--font-body:'DM Sans',sans-serif;
--radius-lg:16px;--radius-pill:999px;--shadow-md:0 20px 50px rgba(43,36,33,.10);--ease:cubic-bezier(.22,1,.36,1);
}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;src:url('https://fonts.gstatic.com/s/cormorantgaramond/v16/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrHIAiw.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 700;src:url('https://fonts.gstatic.com/s/cormorantgaramond/v16/co3WmX5slCNuHLi8bLeY9MK7whWMhyzYq2Alv-Yv.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;src:url('https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxJxgWr5wixSg.woff2') format('woff2')}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--color-secondary);color:var(--color-text);overflow-x:hidden}
a{color:var(--color-primary);text-decoration:none}
a:hover{color:var(--color-primary-dark)}
img{display:block;max-width:100%}
i{font-style:italic}
.btn{font-family:var(--font-body);font-weight:600;border:none;cursor:pointer;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:8px;transition:background .25s var(--ease),color .25s var(--ease);font-size:14px;padding:14px 28px}
.btn-lg{padding:17px 34px;font-size:15px}
.btn-sm{padding:10px 20px;font-size:13px}
.btn-primary{background:var(--color-primary);color:#fff}
.btn-primary:hover{background:var(--color-primary-dark)}
.btn-dark{background:var(--color-background-dark);color:var(--color-secondary)}
.btn-dark:hover{background:#33281f}
.arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.badge{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}
.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}
h2.heading{font-family:var(--font-heading);font-weight:500;font-size:clamp(30px,4vw,46px);color:var(--color-text);margin:0}
.section-head{display:flex;flex-direction:column;gap:12px}
.section-head.center{align-items:center;text-align:center}
.section-head p{font-family:var(--font-body);font-size:16px;color:var(--color-text-secondary);max-width:480px;margin:0}
.wrap{max-width:1440px;margin:0 auto}
.announce{background:var(--color-background-dark);color:var(--text-on-dark-secondary);font-size:12px;text-align:center;padding:8px 16px;letter-spacing:.03em}
header{background:var(--color-secondary);border-bottom:1px solid var(--color-border);position:relative}
nav.navbar{display:flex;align-items:center;justify-content:space-between;padding:clamp(16px,3vw,22px) clamp(20px,6vw,64px)}
.logo{display:flex;align-items:center;gap:10px;color:var(--color-text)}
.mono{width:36px;height:36px;border-radius:50%;border:1px solid var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-style:italic;font-size:18px;color:var(--color-primary);flex-shrink:0}
.mono.dark{width:32px;height:32px;border-color:var(--color-accent);color:var(--color-accent);font-size:16px}
.logo-text{font-family:var(--font-heading);font-size:26px}
.nav-links{display:flex;align-items:center;gap:32px;font-size:14px}
.nav-links a{color:var(--color-text)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{width:22px;height:2px;background:var(--color-text);border-radius:2px}
.mobile-menu{display:none;flex-direction:column;gap:20px;padding:8px 24px 28px;background:var(--color-secondary);border-top:1px solid var(--color-border)}
.mobile-menu.open{display:flex}
@media (max-width:860px){.nav-links,.cta-desktop{display:none}.hamburger{display:flex}}
#hero{position:relative;min-height:clamp(520px,82vh,760px);display:flex;align-items:center;overflow:hidden}
#hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(33,26,23,.8) 0%,rgba(33,26,23,.45) 42%,rgba(33,26,23,.05) 70%)}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;align-items:flex-start;max-width:520px;padding:clamp(40px,7vw,64px) clamp(20px,6vw,64px)}
.hero-content h1{font-family:var(--font-heading);font-weight:500;font-size:clamp(36px,5vw + 1rem,56px);line-height:1.05;color:var(--text-on-dark);margin:0}
.hero-content p{font-size:17px;color:var(--text-on-dark-secondary);max-width:420px;margin:0}
.hero-ctas{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.hero-ctas a.link{color:var(--text-on-dark);font-size:14px;text-decoration:underline;text-decoration-color:var(--color-accent)}
.strip{background:var(--color-background);padding:18px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}
section{padding:clamp(64px,10vw,128px) clamp(20px,6vw,64px)}
#sobre{display:flex;flex-wrap:wrap;gap:48px;align-items:center;background:var(--color-secondary)}
#sobre .img-col,#sobre .text-col{flex:1 1 380px}
#sobre .img-col{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-accent-soft)}
#sobre .img-col img{width:100%;height:100%;object-fit:cover}
#sobre .text-col{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
#sobre .text-col p{font-size:16px;color:var(--color-text-secondary);line-height:1.7;max-width:440px;margin:0}
#servicos{background:var(--color-background);display:flex;flex-direction:column;gap:48px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}
.service-tile{display:flex;flex-direction:column;gap:12px}
.service-tile .img-wrap{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-accent-soft)}
.service-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.service-tile:hover img{transform:scale(1.04)}
.service-tile .name{font-family:var(--font-heading);font-size:18px;color:var(--color-text)}
.service-tile .desc{font-size:13px;color:var(--color-text-secondary)}
#premium{background:var(--color-background-dark);display:flex;flex-wrap:wrap;gap:48px;align-items:center}
#premium .text-col,#premium .img-col{flex:1 1 380px}
#premium .text-col{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
#premium h2{font-family:var(--font-heading);font-weight:500;font-size:clamp(30px,4vw,40px);color:var(--text-on-dark);margin:0}
#premium h2 i{color:var(--color-accent)}
#premium p{color:var(--text-on-dark-secondary);font-size:15px;max-width:400px;margin:0}
#premium .img-col{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#33281f}
#premium .img-col img{width:100%;height:100%;object-fit:cover}
#depoimentos{background:var(--color-secondary);display:flex;flex-direction:column;gap:48px}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.testi-card{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.testi-card .stars{color:var(--color-accent);font-size:14px;letter-spacing:2px}
.testi-card p{font-size:15px;color:var(--color-text);line-height:1.6;margin:0}
.testi-card .who{display:flex;align-items:center;gap:12px}
.testi-card .avatar{width:40px;height:40px;border-radius:50%;background:var(--color-accent-soft)}
.testi-card .name{font-family:var(--font-heading);font-size:16px;color:var(--color-text)}
#faq{background:var(--color-background);display:flex;flex-direction:column;gap:32px}
.faq-list{max-width:640px;margin:0 auto;width:100%;display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--color-border);padding:20px 0}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}
.faq-q span.q{font-family:var(--font-heading);font-size:19px;color:var(--color-text)}
.faq-icon{display:inline-block;font-size:22px;line-height:1;color:var(--color-primary);transition:transform .3s var(--ease)}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s var(--ease)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a p{margin:12px 0 0;color:var(--color-text-secondary);font-size:15px;line-height:1.6;overflow:hidden}
#final-cta{position:relative;overflow:hidden;min-height:clamp(320px,40vw,480px);display:flex;align-items:center;justify-content:center;padding:clamp(48px,8vw,64px)}
#final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#final-cta .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,26,23,.55),rgba(33,26,23,.8))}
#final-cta .content{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;align-items:center;text-align:center;max-width:640px}
#final-cta .content span.eyebrow{color:var(--text-on-dark-secondary)}
#final-cta h2{font-family:var(--font-heading);font-weight:500;font-size:clamp(32px,5vw,48px);color:var(--text-on-dark);margin:0}
#final-cta p{color:var(--text-on-dark-secondary);font-size:16px;margin:0}
footer{background:var(--color-background-dark);padding:clamp(48px,8vw,64px) clamp(20px,6vw,64px) 32px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-col p,.footer-col span{color:var(--text-on-dark-secondary);font-size:13px;margin:0}
.footer-col .col-title{color:var(--color-accent);font-size:13px;font-weight:600}
.footer-col a{color:var(--text-on-dark-secondary);font-size:13px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;text-align:center;font-size:12px;color:var(--text-on-dark-secondary)}
.wa-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25D366;border:none;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;z-index:1000}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
@media (max-width:640px){.reveal{transform:translateY(14px);transition-duration:.5s}}
