/* ============================================================
   VILLA AURORA — Espaço de eventos & buffet · Holambra-SP
   Tokens: trocar --accent (e --accent-2) recolore o site inteiro.
   Fontes: Cormorant (títulos) + Jost (texto).
   ============================================================ */
:root{
  --marfim:#f8f4ef;        /* fundo principal */
  --marfim-2:#f1eae1;      /* fundo alternado */
  --branco:#fffdfa;        /* cartões */
  --texto:#2a2320;         /* texto principal */
  --texto-2:#6b5e58;       /* texto secundário (AA sobre marfim) */
  --accent:#9b4a5a;        /* rosé/vinho — botões, links, destaques */
  --accent-2:#7d3846;      /* rosé escuro — hover */
  --ouro:#c8a96a;          /* dourado — filetes, números, detalhes */
  --ouro-claro:#e2d4b6;    /* dourado claro — bordas */
  --escuro:#2b2124;        /* seções escuras (plum) */
  --escuro-2:#392c31;      /* cartões nas seções escuras */
  --linha:rgba(200,169,106,.45);
  --sombra:0 18px 50px -24px rgba(42,35,32,.35);
  --f-tit:"Cormorant",Georgia,"Times New Roman",serif;
  --f-txt:"Jost","Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1180px;
  --topo:78px;
  --raio:2px;
  --t:.35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--topo);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-txt);font-weight:300;font-size:1.0625rem;line-height:1.65;color:var(--texto);background:var(--marfim);overflow-x:hidden}
img,svg{max-width:100%;display:block}
h1,h2,h3{font-family:var(--f-tit);font-weight:500;line-height:1.1;margin:0 0 .6em;letter-spacing:.005em}
h2{font-size:clamp(2.1rem,4vw,3.3rem)}
h3{font-size:1.65rem}
h1 em,h2 em,h3 em{font-style:italic;color:var(--accent)}
p{margin:0 0 1rem}
a{color:var(--accent);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--accent-2)}
b,strong{font-weight:500}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--marfim)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--marfim-2)}
::-webkit-scrollbar-thumb{background:var(--ouro);border:2px solid var(--marfim-2);border-radius:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
.skip{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--accent);color:var(--marfim);padding:.6rem 1rem;border-radius:var(--raio)}
.skip:focus{top:1rem}
.wrap{width:min(var(--wrap),100% - 3rem);margin-inline:auto}
.wrap--estreito{max-width:820px}
.eyebrow{font-size:.78rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;display:flex;align-items:center;gap:.8rem}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--ouro);flex:none}
.sec__cab .eyebrow{justify-content:center}
.sec__cab--esq .eyebrow,.contato__txt .eyebrow{justify-content:flex-start}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.8rem;background:var(--accent);color:var(--marfim);font-weight:400;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);border-radius:var(--raio);transition:background var(--t),color var(--t),border-color var(--t),transform var(--t)}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--marfim);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.btn--ghost:hover{background:var(--marfim);color:var(--accent);border-color:var(--marfim)}
.btn--sm{padding:.6rem 1.15rem;font-size:.78rem}
.btn--full{width:100%}
.link-fio{position:relative;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;padding-bottom:.25rem}
.link-fio::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro);transform-origin:left;transition:transform var(--t)}
.link-fio:hover::after{transform:scaleX(.5)}

/* ---------- Topo ---------- */
.topo{position:fixed;inset:0 0 auto;z-index:100;height:var(--topo);color:var(--marfim);transition:background var(--t),color var(--t),box-shadow var(--t)}
.topo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--linha);opacity:0;transition:opacity var(--t)}
.topo--solido{background:rgba(248,244,239,.94);color:var(--texto);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.topo--solido::after{opacity:1}
.topo__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.marca{display:flex;align-items:center;gap:.8rem;color:inherit}
.marca:hover{color:inherit}
.marca__mono{color:var(--ouro);flex:none}
.marca__txt{display:flex;flex-direction:column;line-height:1.1}
.marca__txt strong{font-family:var(--f-tit);font-size:1.5rem;font-weight:500;letter-spacing:.04em}
.marca__txt small{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;opacity:.8;margin-top:.15rem}
.nav{display:flex;align-items:center;gap:1.7rem}
.nav a:not(.btn){color:inherit;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;position:relative;padding:.3rem 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ouro);transform:scaleX(0);transform-origin:right;transition:transform var(--t)}
.nav a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.nav .btn{margin-left:.4rem}
.topo:not(.topo--solido) .nav .btn{background:transparent;border-color:rgba(248,244,239,.55)}
.topo:not(.topo--solido) .nav .btn:hover{background:var(--accent);border-color:var(--accent)}
.menu-btn{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu-btn span{width:26px;height:1.5px;background:currentColor;transition:transform var(--t),opacity var(--t)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100vh,900px);display:flex;flex-direction:column;color:var(--marfim);background:linear-gradient(160deg,#4a3037 0%,#2b2124 55%,#1d181a 100%);isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.55;filter:saturate(.85) sepia(.15)}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,33,36,.55) 0%,rgba(92,55,63,.32) 45%,rgba(43,33,36,.82) 100%)}
.hero__in{flex:1;display:flex;align-items:center;padding:calc(var(--topo) + 3rem) 0 3rem}
.hero__box{position:relative;max-width:700px;padding:2.75rem 3rem 2.4rem;border:1px solid rgba(200,169,106,.75);background:rgba(43,33,36,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero__box::before{content:"";position:absolute;inset:7px;border:1px solid rgba(248,244,239,.18);pointer-events:none}
.hero__box .eyebrow{color:var(--ouro)}
.hero h1{font-size:clamp(2.7rem,5.4vw,4.8rem);font-weight:400;margin-bottom:.4em;color:var(--marfim)}
.hero h1 em{color:var(--ouro)}
.hero__sub{font-size:1.1rem;max-width:34em;margin-bottom:1.8rem;color:rgba(248,244,239,.88)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__ramo{color:var(--ouro);margin-top:1.9rem;opacity:.9}
.hero__datas{background:rgba(29,24,26,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(200,169,106,.5)}
.hero__datas-in{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;padding:1.1rem 0}
.hero__datas-tit{font-family:var(--f-tit);font-style:italic;font-size:1.4rem;color:var(--ouro);white-space:nowrap}
.datas-lista{display:flex;flex-wrap:wrap;gap:.7rem;flex:1}
.data-chip{display:flex;align-items:center;gap:.65rem;padding:.45rem 1rem .45rem .85rem;border:1px solid rgba(248,244,239,.3);color:var(--marfim);text-align:left;transition:border-color var(--t),background var(--t)}
.data-chip:hover{border-color:var(--ouro);background:rgba(200,169,106,.12)}
.data-chip b{font-family:var(--f-tit);font-size:2rem;font-weight:500;line-height:1;color:var(--ouro)}
.data-chip span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
.data-chip i{display:block;font-style:normal;opacity:.7;letter-spacing:.06em;text-transform:none}
.hero__datas .link-fio{color:var(--marfim);white-space:nowrap}

/* ---------- Números ---------- */
.numeros{background:var(--marfim-2);border-bottom:1px solid var(--linha)}
.numeros__in{display:grid;grid-template-columns:repeat(4,1fr);padding:2.4rem 0}
.numeros__in>div{text-align:center;padding:.4rem 1rem;border-left:1px solid var(--linha)}
.numeros__in>div:first-child{border-left:0}
.numeros b{display:block;font-family:var(--f-tit);font-size:3.2rem;font-weight:500;line-height:1;color:var(--accent)}
.numeros span{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2)}

/* ---------- Seções ---------- */
.sec{padding:6rem 0}
.sec--marfim2{background:var(--marfim-2)}
.sec--escura{background:var(--escuro);color:var(--marfim)}
.sec--escura h2 em{color:var(--ouro)}
.sec--escura .eyebrow{color:var(--ouro)}
.sec__cab{text-align:center;max-width:720px;margin:0 auto 3.5rem}
.sec__cab--esq{text-align:left;margin-left:0}
.sec__cab>p:last-child{color:var(--texto-2);font-size:1.08rem;margin:0}
.sec--escura .sec__cab>p:last-child{color:rgba(248,244,239,.75)}
.nota{font-size:.85rem;color:var(--texto-2);text-align:center;max-width:720px;margin:2rem auto 0}

/* ---------- Fotos (moldura) ---------- */
.foto{position:relative;margin:0;padding:10px;border:1px solid var(--ouro-claro);background:var(--branco)}
.foto img{width:100%;aspect-ratio:10/7;object-fit:cover;background:#e6dccf}
.foto--card::after{content:"";position:absolute;inset:4px;border:1px solid var(--linha);pointer-events:none}

/* ---------- Espaços ---------- */
.espacos{display:grid;gap:4.5rem}
.espaco{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}
.espaco:nth-child(even) .foto{order:2}
.espaco__topo{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.35rem}
.espaco__topo h3{font-size:2.2rem;margin:0}
.tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--ouro);padding:.3rem .7rem;white-space:nowrap}
.espaco__meta{font-family:var(--f-tit);font-style:italic;font-size:1.2rem;color:var(--texto-2);margin-bottom:1rem}
.lista-check{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;margin-top:1.2rem;font-size:.95rem}
.lista-check li{display:flex;gap:.55rem;align-items:flex-start}
.lista-check svg{color:var(--ouro);flex:none;margin-top:.3rem}

/* ---------- Como funciona ---------- */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;counter-reset:p}
.passos li{padding-top:1.4rem;border-top:1px solid rgba(200,169,106,.5);position:relative}
.passos li::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:1px;background:var(--ouro)}
.passos__n{display:block;font-family:var(--f-tit);font-size:2.6rem;font-style:italic;color:var(--ouro);line-height:1;margin-bottom:.8rem}
.passos h3{font-size:1.55rem;color:var(--marfim)}
.passos p{color:rgba(248,244,239,.75);font-size:.97rem;margin:0}

/* ---------- Pacotes / abas ---------- */
.abas{display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 2.2rem;margin-bottom:2.8rem;border-bottom:1px solid var(--linha)}
.abas [role="tab"]{position:relative;padding:.9rem .3rem;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2);transition:color var(--t)}
.abas [role="tab"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--t)}
.abas [role="tab"]:hover{color:var(--texto)}
.abas [role="tab"][aria-selected="true"]{color:var(--accent);font-weight:400}
.abas [role="tab"][aria-selected="true"]::after{transform:scaleX(1)}
.painel{animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pacotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;align-items:stretch}
.pacote{position:relative;background:var(--branco);border:1px solid var(--ouro-claro);padding:2.4rem 2.1rem 2rem;display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t)}
.pacote:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.pacote::before{content:"";position:absolute;inset:6px;border:1px solid rgba(200,169,106,.25);pointer-events:none}
.pacote h3{font-size:1.9rem;font-style:italic;margin-bottom:.2rem}
.pacote__preco{font-family:var(--f-tit);font-size:2.6rem;line-height:1;color:var(--accent);margin:0 0 1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--linha)}
.pacote__preco small{display:block;font-family:var(--f-txt);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2);margin-bottom:.4rem}
.pacote__preco span{font-family:var(--f-txt);font-size:.85rem;color:var(--texto-2);margin-left:.3rem}
.pacote ul{display:grid;gap:.55rem;font-size:.95rem;flex:1}
.pacote li{padding-left:1.2rem;position:relative}
.pacote li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border:1px solid var(--ouro);transform:rotate(45deg)}
.pacote__obs{margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid var(--linha);font-family:var(--f-tit);font-style:italic;font-size:1.08rem;color:var(--texto-2)}
.pacote--dest{background:var(--escuro);color:var(--marfim);border-color:var(--ouro)}
.pacote--dest::before{border-color:rgba(200,169,106,.5)}
.pacote--dest .pacote__preco{color:var(--ouro)}
.pacote--dest .pacote__preco small,.pacote--dest .pacote__preco span,.pacote--dest .pacote__obs{color:rgba(248,244,239,.72)}
.pacote__selo{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--ouro);color:var(--escuro);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:.4rem .9rem;white-space:nowrap}

/* ---------- Disponibilidade ---------- */
.dispo{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.cal,.form{background:var(--branco);border:1px solid var(--ouro-claro);padding:2rem}
.cal__cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.cal__mes{margin:0;font-size:1.7rem;text-transform:capitalize}
.cal__nav{width:40px;height:40px;border:1px solid var(--ouro-claro);font-size:1.6rem;line-height:1;color:var(--accent);transition:background var(--t),color var(--t)}
.cal__nav:hover{background:var(--accent);color:var(--marfim)}
.cal__nav:disabled{opacity:.3;cursor:default;background:none;color:var(--accent)}
.cal__grade{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal__ds{text-align:center;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2);padding:.4rem 0 .6rem}
.dia{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.95rem;border:1px solid transparent;transition:background var(--t),color var(--t),border-color var(--t)}
.dia--livre{border-color:var(--ouro-claro);color:var(--texto)}
.dia--livre:hover{border-color:var(--accent);color:var(--accent)}
.dia--ocup{color:var(--texto-2);text-decoration:line-through;background:repeating-linear-gradient(135deg,transparent 0 5px,rgba(107,94,88,.12) 5px 6px);cursor:not-allowed}
.dia--passado{color:#c4b9b1;cursor:default}
.dia--hoje{font-weight:500}
.dia--sel,.dia--sel:hover{background:var(--accent);border-color:var(--accent);color:var(--marfim)}
.cal__leg{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.3rem;font-size:.8rem;color:var(--texto-2)}
.cal__leg li{display:flex;align-items:center;gap:.5rem}
.leg{width:14px;height:14px;border:1px solid var(--ouro-claro);display:inline-block}
.leg--ocup{background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(107,94,88,.25) 3px 4px)}
.leg--sel{background:var(--accent);border-color:var(--accent)}
.form h3{font-size:1.9rem;margin-bottom:1.2rem}
.form label{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2);margin-bottom:1.1rem}
.form input,.form select{display:block;width:100%;margin-top:.4rem;padding:.75rem .9rem;font:inherit;font-size:1rem;color:var(--texto);background:var(--marfim);border:1px solid var(--ouro-claro);border-radius:var(--raio);transition:border-color var(--t)}
.form input:focus,.form select:focus{outline:none;border-color:var(--accent)}
.form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239b4a5a' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem}
.form__2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form__range output{float:right;font-family:var(--f-tit);font-size:1.4rem;color:var(--accent);letter-spacing:0;text-transform:none;line-height:1}
.form input[type="range"]{padding:0;border:0;background:none;accent-color:var(--accent);height:28px;cursor:pointer}
.form .btn{margin-top:.4rem}
.form__ok{font-size:.9rem;color:var(--accent);margin:1rem 0 0;min-height:1.2em;text-align:center}
.form__ok:empty{margin:0;min-height:0}

/* ---------- Galeria ---------- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.foto--g{padding:6px;cursor:zoom-in;overflow:hidden;width:100%;height:100%}
.foto--g img{height:100%;aspect-ratio:auto;transition:transform .8s ease,filter .8s ease}
.foto--g:hover img{transform:scale(1.04);filter:saturate(1.1)}
.g-1{grid-column:span 2;grid-row:span 2}
.g-6{grid-column:span 2}

/* ---------- Depoimentos ---------- */
.depos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.depo{margin:0;padding:2.6rem 2rem 2rem;background:var(--escuro-2);border:1px solid rgba(200,169,106,.35);position:relative;display:flex;flex-direction:column}
.depo::before{content:"“";position:absolute;top:.4rem;left:1.4rem;font-family:var(--f-tit);font-size:5rem;line-height:1;color:var(--ouro);opacity:.7}
.depo p{font-family:var(--f-tit);font-size:1.3rem;line-height:1.45;flex:1;margin-bottom:1.4rem}
.depo footer{border-top:1px solid rgba(200,169,106,.35);padding-top:1rem;display:flex;flex-direction:column;gap:.15rem}
.depo footer b{color:var(--ouro);font-size:1rem;letter-spacing:.04em}
.depo footer span{font-size:.82rem;color:rgba(248,244,239,.7)}

/* ---------- Fornecedores ---------- */
.forn{display:grid;grid-template-columns:1fr 1.5fr;gap:3.5rem;align-items:start}
.forn .sec__cab{margin-bottom:0}
.forn__lista{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 2.5rem;margin:0}
.forn__lista div{border-top:1px solid var(--ouro);padding-top:1rem}
.forn__lista dt{font-family:var(--f-tit);font-size:1.45rem;margin-bottom:.35rem}
.forn__lista dd{margin:0;font-size:.95rem;color:var(--texto-2);line-height:1.6}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--linha)}
.faq details:first-child{border-top:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;padding:1.3rem 3rem 1.3rem 0;font-family:var(--f-tit);font-size:1.4rem;position:relative;transition:color var(--t)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:.6rem;top:50%;width:16px;height:1px;background:var(--accent);transition:transform var(--t)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary{color:var(--accent)}
.faq details[open] summary::after{transform:rotate(0)}
.faq summary:hover{color:var(--accent)}
.faq p{margin:0 0 1.4rem;color:var(--texto-2);max-width:60em}

/* ---------- Contato ---------- */
.contato{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.contato__txt>p:not(.eyebrow){color:var(--texto-2);font-size:1.08rem}
.contato__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.8rem}
.contato__card{position:relative;background:var(--branco);border:1px solid var(--ouro);padding:2.8rem 2.6rem 2.4rem;text-align:center}
.contato__card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(200,169,106,.35);pointer-events:none}
.contato__mono{color:var(--accent);margin:0 auto 1.2rem}
.contato__card address{font-style:normal;line-height:1.6;margin-bottom:1.6rem}
.contato__card address b{display:block;font-family:var(--f-tit);font-size:1.7rem;margin-bottom:.3rem}
.contato__info{margin:0;text-align:left;display:grid;gap:1rem}
.contato__info div{border-top:1px solid var(--linha);padding-top:.9rem;display:grid;grid-template-columns:110px 1fr;gap:1rem}
.contato__info dt{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);padding-top:.25rem}
.contato__info dd{margin:0;font-size:.95rem;color:var(--texto-2)}

/* ---------- Rodapé ---------- */
.rodape{background:var(--escuro);color:rgba(248,244,239,.75);padding:3.5rem 0 2rem;border-top:3px double var(--ouro)}
.rodape__in{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.rodape__marca{display:flex;align-items:center;gap:1rem;color:var(--ouro)}
.rodape__marca p{margin:0;font-size:.88rem;color:rgba(248,244,239,.7);line-height:1.5}
.rodape__marca strong{display:inline-block;font-family:var(--f-tit);font-size:1.4rem;color:var(--marfim);margin-right:.6rem}
.rodape__nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.rodape__nav a{color:rgba(248,244,239,.8);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.rodape__nav a:hover{color:var(--ouro)}
.rodape__copy{grid-column:1/-1;margin:1.5rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(200,169,106,.25);font-size:.82rem;text-align:center}
.rodape__copy a{color:var(--ouro)}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:300;background:rgba(29,24,26,.94);display:flex;align-items:center;justify-content:center;padding:4rem 5rem}
.lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.9rem}
.lb__fig img{max-width:min(1100px,100%);max-height:calc(100vh - 10rem);width:auto;height:auto;object-fit:contain;border:1px solid rgba(200,169,106,.6);padding:8px;background:rgba(248,244,239,.06)}
.lb__fig figcaption{font-family:var(--f-tit);font-style:italic;font-size:1.25rem;color:var(--marfim)}
.lb__fechar,.lb__nav{position:absolute;color:var(--marfim);width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(248,244,239,.3);font-size:2rem;line-height:1;transition:border-color var(--t),color var(--t)}
.lb__fechar:hover,.lb__nav:hover{border-color:var(--ouro);color:var(--ouro)}
.lb__fechar{top:1.2rem;right:1.2rem}
.lb__nav{top:50%;transform:translateY(-50%)}
.lb__prev{left:1.2rem}
.lb__next{right:1.2rem}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.reveal.on{opacity:1;transform:none}
.no-io .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .nav{gap:1.2rem}
  .nav a:not(.btn){font-size:.8rem}
  .galeria{grid-auto-rows:180px}
}
@media (max-width:960px){
  :root{--topo:68px}
  .menu-btn{display:flex}
  .nav{position:fixed;top:var(--topo);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--marfim);color:var(--texto);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:.6rem 1.5rem 1.4rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity var(--t),transform var(--t),visibility var(--t);box-shadow:var(--sombra)}
  .nav.aberto{opacity:1;transform:none;visibility:visible}
  .nav a:not(.btn){padding:.85rem 0;border-bottom:1px solid rgba(200,169,106,.25);font-size:.9rem}
  .nav a:not(.btn)::after{display:none}
  .nav .btn{margin:1rem 0 0;justify-content:center}
  .topo:not(.topo--solido) .nav .btn{background:var(--accent);border-color:var(--accent)}
  .marca__mono{width:38px;height:38px}
  .marca__txt strong{font-size:1.3rem}
  .sec{padding:4.5rem 0}
  .espaco,.dispo,.forn,.contato{grid-template-columns:1fr;gap:2.2rem}
  .espaco:nth-child(even) .foto{order:0}
  .espacos{gap:3.5rem}
  .passos{grid-template-columns:1fr 1fr}
  .pacotes{grid-template-columns:1fr;max-width:560px;margin-inline:auto;gap:2rem}
  .depos{grid-template-columns:1fr}
  .galeria{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .g-1{grid-column:span 2;grid-row:span 2}
  .rodape__in{grid-template-columns:1fr}
  .lb{padding:4.5rem 1rem 5rem}
  .lb__nav{top:auto;bottom:1rem;transform:none}
}
@media (max-width:640px){
  body{font-size:1rem}
  .wrap{width:min(var(--wrap),100% - 2.2rem)}
  .hero__in{padding-top:calc(var(--topo) + 1.5rem);padding-bottom:2rem}
  .hero__box{padding:1.8rem 1.4rem 1.6rem}
  .hero h1{font-size:clamp(2.4rem,11vw,3.2rem)}
  .hero__sub{font-size:1rem}
  .hero__cta .btn{width:100%}
  .hero__datas-in{gap:.8rem}
  .hero__datas-tit{font-size:1.2rem;width:100%}
  .datas-lista{flex:0 0 100%;gap:.5rem}
  .data-chip{flex:1;padding:.4rem .6rem;gap:.45rem;min-width:0}
  .data-chip b{font-size:1.6rem}
  .data-chip span{font-size:.62rem}
  .numeros__in{grid-template-columns:1fr 1fr;padding:1.6rem 0;gap:1.2rem 0}
  .numeros__in>div:nth-child(3){border-left:0}
  .numeros b{font-size:2.5rem}
  .espaco__topo h3{font-size:1.8rem}
  .lista-check{grid-template-columns:1fr}
  .passos{grid-template-columns:1fr}
  .abas{gap:0 1.2rem}
  .abas [role="tab"]{font-size:.78rem;padding:.8rem .1rem}
  .cal,.form{padding:1.3rem}
  .cal__mes{font-size:1.4rem}
  .form__2{grid-template-columns:1fr}
  .galeria{grid-auto-rows:130px;gap:8px}
  .forn__lista{grid-template-columns:1fr}
  .faq summary{font-size:1.2rem;padding-right:2.4rem}
  .contato__card{padding:2rem 1.3rem 1.8rem}
  .contato__info div{grid-template-columns:1fr;gap:.3rem}
  .rodape__marca{align-items:flex-start}
  .rodape__nav{gap:.8rem 1.2rem}
}
