/* ===== glass ===== */
.glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 20px 50px -20px rgba(31,33,26,.35);border-radius:var(--r-md);color:var(--c-branco)}
.glass.dark{background:var(--glass-dark-bg);border-color:var(--glass-dark-border)}
.glass.light{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--c-carvao-900)}
@supports not (backdrop-filter:blur(1px)){.glass{background:rgba(31,33,26,.72)}.glass.light{background:rgba(242,239,231,.96)}}

/* ===== botões ===== */
.btn{display:inline-flex;align-items:center;gap:var(--s-3);padding:16px 28px;border-radius:var(--r-pill);font:500 var(--t-button)/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--d-fast) var(--ease-out),border-color var(--d-fast),color var(--d-fast)}
.btn svg{width:14px;height:14px;flex:none;transition:transform var(--d-fast) var(--ease-out)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--c-oliva-700);color:var(--c-branco)}.btn-primary:hover{background:var(--c-oliva-900)}
.btn-glass{background:var(--glass-bg);border-color:var(--glass-border);color:var(--c-branco);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.btn-glass:hover{background:rgba(251,250,246,.22);border-color:rgba(251,250,246,.5)}
.btn-secondary{background:transparent;border-color:var(--c-oliva-700);color:var(--c-oliva-700)}.btn-secondary:hover{background:var(--c-salvia-100)}
.btn-light{background:var(--c-branco);color:var(--c-oliva-900)}.btn-light:hover{background:var(--c-linho-50)}
.link{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-oliva-500);text-decoration:none;font-weight:500;font-size:var(--t-small);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--c-areia-200);padding-bottom:2px;transition:border-color var(--d-fast)}
.link:hover{border-color:var(--c-oliva-500)}
.link svg{width:12px;height:12px}
.on-dark .link{color:var(--c-branco);border-color:rgba(251,250,246,.3)}
.on-dark .link:hover{border-color:var(--c-branco)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-5);align-items:center}

/* ===== nav ===== */
.nav{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:50;width:min(calc(100% - 32px),1180px);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:10px 12px 10px 22px;border-radius:var(--r-pill);transition:background var(--d-base),border-color var(--d-base),color var(--d-base)}
.nav .brand{display:block;height:32px}
.nav .brand img{height:100%;width:auto}
.nav .brand .dark{display:none}
.nav ul{display:flex;gap:clamp(14px,2vw,28px);font-size:var(--t-small);letter-spacing:.04em}
.nav ul a{color:inherit;text-decoration:none;opacity:.9;transition:opacity var(--d-fast)}
.nav ul a:hover{opacity:1}
.nav .btn{padding:12px 20px}
.nav.is-light{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--c-carvao-900)}
.nav.is-light .brand .light{display:none}.nav.is-light .brand .dark{display:block}
.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;place-items:center}
.nav-toggle span{display:block;width:20px;height:1.5px;background:currentColor;position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform var(--d-base) var(--ease-out)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
@media(max-width:1023px){
  .nav ul,.nav .btn{display:none}
  .nav-toggle{display:grid}
}
.menu{position:fixed;inset:0;z-index:49;background:rgba(47,54,25,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:var(--c-branco);display:grid;grid-template-rows:1fr auto;padding:120px var(--gutter) var(--s-7);opacity:0;pointer-events:none;transition:opacity var(--d-base) var(--ease-out)}
.menu.is-open{opacity:1;pointer-events:auto}
.menu ul{display:grid;gap:var(--s-4)}
.menu ul a{font-family:var(--f-display);font-size:2.25rem;font-weight:300;color:inherit;text-decoration:none;line-height:1.1}
.menu-foot{display:grid;gap:var(--s-4);font-size:var(--t-small);color:var(--c-salvia-300)}
body.menu-open{overflow:hidden}
body.menu-open .nav-toggle span{background:transparent}
body.menu-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
body.menu-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}

/* ===== chips numéricos ===== */
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}
@media(max-width:800px){.chips{grid-template-columns:repeat(2,1fr)}}
.chip-stat{padding:var(--s-4) var(--s-5)}
.chip-stat .n{font-family:var(--f-display);font-weight:400;font-size:var(--t-stat);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.chip-stat .l{font-size:var(--t-small);font-weight:300;opacity:.9;margin-top:4px}

/* ===== foto ===== */
.ph{position:relative;overflow:hidden;background:var(--c-areia-100)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.r{border-radius:var(--r-sm)}

/* ===== card segmento ===== */
.seg{display:grid;gap:var(--s-4);text-decoration:none;color:inherit;align-content:start}
.seg .ph{aspect-ratio:3/4;border-radius:var(--r-sm)}
.seg .ph img{transition:transform 600ms var(--ease-out)}
.seg:hover .ph img{transform:scale(1.03)}
.seg .h2{transition:color var(--d-fast)}
.seg:hover .h2{color:var(--c-oliva-700)}
.seg p{font-size:var(--t-small);color:var(--c-carvao-600);max-width:34ch}

/* ===== tour (carrossel centralizado, 3 visíveis) ===== */
.tour{--card-w:clamp(240px,26vw,400px);--card-gap:var(--s-5);overflow:hidden;padding-block:var(--s-6);cursor:grab;user-select:none;width:min(100%,calc(3*var(--card-w) + 2*var(--card-gap)));margin-inline:auto}
.tour.dragging{cursor:grabbing}
.tour-track{display:flex;align-items:center;gap:var(--card-gap);width:max-content;transition:transform 700ms var(--ease-out);will-change:transform}
.tour.dragging .tour-track{transition:none}
.tour-track.no-anim{transition:none}
.tour .card{flex:0 0 var(--card-w);aspect-ratio:3/4;position:relative;border-radius:var(--r-sm);overflow:hidden;isolation:isolate;display:grid;align-items:end;padding:var(--s-3);color:var(--c-branco);transform:scale(.86);opacity:.7;transition:transform 700ms var(--ease-out),opacity 700ms var(--ease-out)}
.tour .card.is-active{transform:scale(1);opacity:1}
.tour .card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.tour .cap{padding:var(--s-4);border-radius:var(--r-sm);opacity:.55;transition:opacity 400ms var(--ease-out)}
.tour .card.is-active .cap{opacity:1}
.tour .cap .h3{font-weight:400}
.tour .cap p{font-size:var(--t-small);font-weight:300;opacity:.9;margin-top:4px}
@media(max-width:700px){.tour{--card-w:min(78vw,340px);width:100%}}
.tour-nav{display:flex;justify-content:center;gap:var(--s-4);margin-top:var(--s-4)}
.arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--c-areia-200);display:grid;place-items:center;color:var(--c-oliva-700);transition:background var(--d-fast),opacity var(--d-fast)}
.arrow:hover{background:var(--c-salvia-100)}
.arrow:disabled{opacity:.35;pointer-events:none}
.arrow svg{width:16px;height:16px}

/* ===== listas ===== */
.list{border-top:var(--line)}
.list .row{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:var(--s-3) var(--s-6);padding-block:var(--s-5);border-bottom:var(--line);align-items:baseline}
@media(max-width:700px){.list .row{grid-template-columns:1fr;gap:var(--s-2)}}
.list .row p{color:var(--c-carvao-600);max-width:62ch}
.list .stat{font-family:var(--f-display);font-weight:400;font-size:var(--t-stat);line-height:1;font-variant-numeric:lining-nums tabular-nums;color:var(--c-oliva-700)}

/* ===== foto fixa ===== */
.fixed{position:relative;isolation:isolate;color:var(--c-branco);background-size:cover;background-position:center;background-attachment:fixed}
.fixed::before{content:"";position:absolute;inset:0;background:rgba(47,54,25,.78);z-index:-1}
.fixed.veil-soft::before{background:linear-gradient(180deg,rgba(31,33,26,.6),rgba(31,33,26,.82))}
@media(hover:none),(max-width:1023px){.fixed{background-attachment:scroll}}
.band{height:64px;background:var(--c-oliva-900)}

/* ===== depoimento ===== */
.quote{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-8);align-items:start}
@media(max-width:800px){.quote{grid-template-columns:1fr}}
.quote .mark{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:4rem;line-height:.6;color:var(--c-ouro-500)}
.quote blockquote{font-family:var(--f-display);font-size:1.5rem;line-height:1.35;font-weight:400;margin-top:var(--s-3)}
.quote cite{display:block;font-style:normal;margin-top:var(--s-4);font-weight:500}
.quote cite span{display:block;font-weight:400;font-size:var(--t-small);color:var(--c-carvao-600)}
.rating{padding:var(--s-5);border:var(--line);border-radius:var(--r-sm);background:var(--c-branco);display:grid;gap:var(--s-2)}
.rating+.rating{margin-top:var(--s-4)}
.stars{color:var(--c-ouro-500);letter-spacing:.1em}
.rating .n{font-family:var(--f-display);font-size:2.5rem;font-weight:400;line-height:1;font-variant-numeric:lining-nums}
.quote-nav{display:flex;gap:var(--s-2);margin-top:var(--s-5)}
.quote-nav button{width:8px;height:8px;border-radius:50%;background:var(--c-areia-200)}
.quote-nav button[aria-current="true"]{background:var(--c-oliva-500)}
.q-item{display:none}.q-item.is-active{display:block}

/* ===== faq ===== */
.faq details{border-bottom:var(--line)}
.faq details:first-of-type{border-top:var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding-block:var(--s-5);cursor:pointer;font-family:var(--f-display);font-weight:500;font-size:var(--t-h3);line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-body);font-weight:300;font-size:1.5rem;color:var(--c-oliva-500);transition:transform 300ms var(--ease-out);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--s-5);color:var(--c-carvao-600);max-width:62ch}

/* ===== whatsapp flutuante ===== */
.wa{position:fixed;right:24px;bottom:24px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--c-whatsapp);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px -8px rgba(0,0,0,.4);opacity:0;transform:translateY(12px);transition:opacity var(--d-base) var(--ease-out),transform var(--d-base) var(--ease-out)}
.wa.is-visible{opacity:1;transform:none}
.wa svg{width:28px;height:28px}
.wa::before{content:"Agendar visita";position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--c-oliva-900);color:var(--c-branco);font-size:var(--t-small);padding:8px 14px;border-radius:var(--r-pill);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--d-fast)}
.wa:hover::before{opacity:1}

/* ===== footer ===== */
.footer{background:var(--c-oliva-900);color:var(--c-branco);padding-block:var(--s-9) var(--s-6)}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-7)}
@media(max-width:900px){.footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer .cols{grid-template-columns:1fr}}
.footer .sig{font-family:var(--f-display);font-style:italic;font-size:1.375rem;font-weight:300;margin-top:var(--s-4);color:var(--c-salvia-300);max-width:22ch}
.footer h4{font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--c-salvia-300);margin-bottom:var(--s-3);font-family:var(--f-body);font-weight:500}
.footer ul{display:grid;gap:8px;font-size:var(--t-small)}
.footer a{color:inherit;text-decoration:none;opacity:.9}
.footer a:hover{opacity:1}
.footer .bottom{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid rgba(251,250,246,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);font-size:var(--t-small);color:var(--c-salvia-300)}

/* ===== lightbox de vídeo ===== */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(31,33,26,.9);display:grid;place-items:center;padding:var(--gutter);opacity:0;pointer-events:none;transition:opacity var(--d-base)}
.lightbox.is-open{opacity:1;pointer-events:auto}
.lightbox .frame{width:min(100%,1100px);aspect-ratio:16/9;background:#000;border-radius:var(--r-sm);overflow:hidden}
.lightbox iframe{width:100%;height:100%;border:0}
.lightbox .close{position:absolute;top:24px;right:24px;color:var(--c-branco);font-size:var(--t-small);letter-spacing:.14em;text-transform:uppercase}
