:root{
  --ink:#0D0D0D;
  --ivory:#FAF7F5;
  --rose:#C9A28C;
  --blush:#E8D5CC;
  --gold:#C9A97C;
  --muted:#7A6D66;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,92vw);margin:0 auto}

h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.08;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,6.4vw,4.6rem)}
h2{font-size:clamp(2rem,4.6vw,3.3rem)}
em{font-style:italic;color:var(--rose)}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--rose);font-weight:400}

/* NAV */
.nav{
  position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:2rem;padding:1.1rem clamp(1rem,4vw,3rem);
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease;
}
.nav.is-stuck{background:rgba(250,247,245,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(13,13,13,.07);padding-block:.7rem}
.nav__brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.22em;color:var(--ivory)}
.nav.is-stuck .nav__brand{color:var(--ink)}
.nav__links{display:flex;gap:1.7rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,247,245,.85)}
.nav.is-stuck .nav__links{color:var(--muted)}
.nav__links a:hover{color:var(--rose)}
@media(max-width:820px){.nav__links{display:none}}

/* BUTTONS */
.btn{
  display:inline-block;padding:1rem 2.3rem;font-size:.76rem;letter-spacing:.24em;
  text-transform:uppercase;border:1px solid transparent;transition:.35s ease;cursor:pointer;
}
.btn--gold{background:linear-gradient(120deg,var(--rose),var(--gold));color:#fff;box-shadow:0 14px 34px -16px rgba(201,162,140,.9)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(201,162,140,.95)}
.btn--ghost{border-color:rgba(232,213,204,.5);color:var(--blush)}
.btn--ghost:hover{border-color:var(--rose);color:#fff}

/* HERO */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;color:var(--ivory)}
.hero__bg{
  position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 50% 25%,rgba(201,162,140,.5),transparent 70%),
    radial-gradient(90% 70% at 80% 90%,rgba(232,213,204,.28),transparent 70%),
    linear-gradient(160deg,#1a1512 0%,#0D0D0D 55%,#241c18 100%);
  animation:breathe 16s ease-in-out infinite alternate;
}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,.85),rgba(13,13,13,.35))}
@keyframes breathe{to{transform:scale(1.08)}}
.hero__inner{position:relative;padding:7rem 1.4rem 6rem;display:grid;justify-items:center;gap:1.35rem}
.hero__logo{width:clamp(120px,20vw,180px);height:auto;border-radius:50%;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);animation:fadeUp 1.1s .1s ease both}
.hero__sub{max-width:44ch;color:rgba(250,247,245,.78)}
.hero__scroll{position:absolute;bottom:2.2rem;left:50%;width:1px;height:64px;background:linear-gradient(var(--rose),transparent)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* SECTIONS */
.section{padding:clamp(5rem,11vw,9rem) 0}
.section--dark{background:var(--ink);color:var(--ivory)}
.section--dark p{color:rgba(250,247,245,.72)}
.section__head{max-width:56ch;margin-bottom:clamp(2.6rem,5vw,4rem);display:grid;gap:1rem}
.section__sub{color:var(--muted)}

/* SOBRE */
.sobre__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.sobre__photo{position:relative}
.sobre__photo img{border-radius:2px;box-shadow:0 40px 70px -40px rgba(13,13,13,.5)}
.sobre__photo::after{content:"";position:absolute;inset:auto -18px -18px auto;width:55%;height:55%;border:1px solid var(--blush);z-index:-1}
.sobre__text{display:grid;gap:1.1rem}
.sobre__text p{color:var(--muted)}
.claim{font-family:var(--serif);font-size:1.5rem;color:var(--ink)!important;margin-top:.6rem}
.claim span{color:var(--rose)}
@media(max-width:820px){.sobre__grid{grid-template-columns:1fr}}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{
  border:1px solid rgba(232,213,204,.16);padding:2.6rem 2rem;display:grid;gap:1rem;
  align-content:start;position:relative;transition:.4s ease;background:rgba(250,247,245,.02);
}
.card:hover{border-color:rgba(201,162,140,.6);transform:translateY(-6px)}
.card--feature{background:linear-gradient(180deg,rgba(201,162,140,.14),rgba(250,247,245,.02));border-color:rgba(201,162,140,.45)}
.card__tag{position:absolute;top:-.75rem;left:2rem;background:linear-gradient(120deg,var(--rose),var(--gold));color:#fff;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .8rem}
.card__num{font-family:var(--serif);font-size:2.4rem;color:var(--rose);line-height:1}
.card h3{font-size:1.85rem}
.card ul{list-style:none;display:grid;gap:.5rem;font-size:.95rem;color:rgba(250,247,245,.72)}
.card li{padding-left:1.1rem;position:relative}
.card li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border:1px solid var(--rose);transform:rotate(45deg)}
.card__price{font-family:var(--serif);font-size:2rem;color:var(--ivory)!important}
.card__price small{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rose)}
.card .btn{margin-top:.5rem;justify-self:start}
@media(max-width:900px){.cards{grid-template-columns:1fr}}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.gallery figure{position:relative;overflow:hidden;background:var(--blush)}
.gallery img{width:100%;height:clamp(230px,32vw,380px);object-fit:cover;transition:transform .8s ease;filter:saturate(.95)}
.gallery figure:hover img{transform:scale(1.06)}
.gallery figcaption{
  position:absolute;inset:auto 0 0;padding:1.6rem 1.2rem .9rem;
  background:linear-gradient(transparent,rgba(13,13,13,.78));color:var(--ivory);
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr}}

/* DEPOIMENTOS */
.depo__box{position:relative;max-width:820px;margin:0 auto;text-align:center;padding:0 .5rem}
.depo__box::before{content:"\201C";font-family:var(--serif);font-size:9rem;line-height:.7;color:var(--gold);opacity:.55;display:block;margin-bottom:.6rem}
.depo__track{position:relative;min-height:220px}
.depo__item{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.depo__item.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.depo__item p{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.5;color:var(--ivory)!important;font-style:italic}
.depo__item cite{display:block;margin-top:1.4rem;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.depo__nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:1.4rem}
.depo__arrow{background:none;border:1px solid rgba(232,213,204,.28);color:var(--blush);width:44px;height:44px;font-size:1rem;transition:.3s}
.depo__arrow:hover{border-color:var(--rose);color:#fff}
.depo__dots{display:flex;gap:.5rem}
.depo__dots button{width:7px;height:7px;border-radius:50%;border:none;background:rgba(232,213,204,.3);cursor:pointer;padding:0}
.depo__dots button.is-active{background:var(--gold);transform:scale(1.4)}

/* LOCAL */
.local__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.local__text{display:grid;gap:1.2rem;justify-items:start}
.local__text p{color:var(--muted)}
.local__list{list-style:none;display:grid;gap:.7rem;width:100%;border-top:1px solid var(--blush);padding-top:1.2rem}
.local__list li{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;color:var(--muted);border-bottom:1px solid rgba(232,213,204,.6);padding-bottom:.7rem}
.local__list strong{font-weight:400;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
.local__map svg{width:100%;height:auto;box-shadow:0 40px 70px -45px rgba(13,13,13,.5)}
@media(max-width:820px){.local__grid{grid-template-columns:1fr}}

/* FOOTER */
.footer{background:var(--ink);color:var(--ivory);padding:4.5rem 0 2rem;text-align:center}
.footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:center;padding-bottom:2.5rem;border-bottom:1px solid rgba(232,213,204,.14)}
.footer__logo{border-radius:50%;margin:0 auto}
.footer h3{font-size:1.5rem}
.footer p{color:rgba(250,247,245,.66);font-size:.92rem}
.footer a:hover{color:var(--rose)}
.footer__copy{margin-top:1.6rem;font-size:.72rem;letter-spacing:.14em;color:rgba(250,247,245,.45)}
@media(max-width:820px){.footer__grid{grid-template-columns:1fr;gap:1.6rem}}

/* WHATSAPP FLOAT */
.wpp{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#25D366,#128C7E);
  box-shadow:0 16px 34px -12px rgba(18,140,126,.75);transition:transform .3s ease;
}
.wpp:hover{transform:scale(1.08)}
.wpp svg{width:30px;height:30px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
  .hero__bg{animation:none}
  html{scroll-behavior:auto}
}
