:root{
  --deep:#0F2D2A;
  --deep-2:#14332E;
  --gold:#C9A05C;
  --gold-2:#B8934D;
  --sand:#E8E0D0;
  --white:#F7F5F0;
  --olive:#8A9A7E;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Work Sans",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--deep);color:var(--white);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.01em;line-height:1.15;margin:0 0 .5em}
h2{font-size:clamp(2rem,5vw,3.1rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
a{color:inherit}
.wrap{width:min(1120px,90vw);margin:0 auto}
.wrap--narrow{width:min(760px,90vw)}
.center{text-align:center}
.lead{font-size:1.075rem;max-width:62ch;margin-inline:auto;opacity:.85}
.section{padding:clamp(72px,11vw,140px) 0}
.section--sand{background:var(--sand);color:#20302b}
.section--sand h2,.section--sand h3{color:#0F2D2A}
.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;text-align:center}
.eyebrow--dark{color:var(--gold-2)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px clamp(16px,5vw,48px);backdrop-filter:blur(10px);background:color-mix(in oklab,var(--deep) 72%,transparent);border-bottom:1px solid rgba(201,160,92,.16)}
.nav__brand{font-family:var(--serif);font-size:1.15rem;text-decoration:none;line-height:1.1;display:block}
.nav__brand span{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav__links{display:flex;align-items:center;gap:1.6rem;font-size:.85rem}
.nav__links a{text-decoration:none;opacity:.85;transition:.25s}
.nav__links a:hover{opacity:1;color:var(--gold)}
.nav__cta{border:1px solid var(--gold);color:var(--gold)!important;padding:.5rem 1.1rem;border-radius:999px;opacity:1!important}
.nav__cta:hover{background:var(--gold);color:var(--deep)!important}
@media(max-width:820px){.nav__links a:not(.nav__cta){display:none}}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 0 80px;overflow:hidden}
.hero__bg{position:absolute;inset:-10% 0;background:
  radial-gradient(ellipse at 50% 15%,rgba(138,154,126,.22),transparent 60%),
  radial-gradient(ellipse at 80% 80%,rgba(201,160,92,.14),transparent 55%),
  linear-gradient(180deg,var(--deep-2),var(--deep));will-change:transform}
.hero__inner{position:relative;width:min(760px,88vw)}
.hero__photo{width:clamp(180px,42vw,250px);aspect-ratio:1;margin:0 auto 2rem;border-radius:50%;padding:6px;background:linear-gradient(140deg,var(--gold),rgba(201,160,92,.18),var(--gold-2));box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
.hero__photo img{border-radius:50%;object-fit:cover;width:100%;height:100%}
.hero h1{font-size:clamp(2.4rem,8vw,4.4rem);margin-bottom:.3em}
.hero h1 em{display:block;font-style:normal;font-family:var(--sans);font-weight:300;font-size:.24em;letter-spacing:.36em;text-transform:uppercase;color:var(--sand)}
.rule{display:block;width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:.45em auto}
.hero__quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,3.4vw,1.7rem);color:var(--sand);margin-bottom:2rem}

.btn{display:inline-block;text-decoration:none;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 2.1rem;border-radius:999px;transition:.3s}
.btn--gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#14251f;font-weight:500;box-shadow:0 14px 40px -16px rgba(201,160,92,.75)}
.btn--gold:hover{transform:translateY(-2px);filter:brightness(1.07)}
.btn--lg{padding:1.15rem 2.4rem;font-size:.9rem}
@keyframes breathe{0%,100%{box-shadow:0 14px 40px -16px rgba(201,160,92,.6);transform:scale(1)}50%{box-shadow:0 18px 54px -14px rgba(201,160,92,.95);transform:scale(1.025)}}
.breathe{animation:breathe 3.6s ease-in-out infinite}

.stats{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(1.5rem,6vw,3.5rem);margin-top:3.2rem}
.stats strong{display:block;font-family:var(--serif);font-size:clamp(1.9rem,5vw,2.6rem);color:var(--gold);font-weight:400}
.stats span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}

/* sobre */
.grid-2{display:grid;gap:clamp(2rem,6vw,4.5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:900px){.grid-2{grid-template-columns:.85fr 1fr}}
.framed{padding:8px;border:1px solid var(--gold);border-radius:4px;background:rgba(15,45,42,.06)}
.framed img{border-radius:2px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%}
.list{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.9rem}
.list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.98rem}
.leaf{flex:0 0 auto;width:10px;height:16px;margin-top:5px;border-radius:0 100% 0 100%;background:var(--olive)}

/* cards */
.cards{display:grid;gap:1.4rem;margin-top:3rem;grid-template-columns:1fr}
@media(min-width:820px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid rgba(201,160,92,.25);border-radius:6px;padding:2.2rem 1.8rem;background:linear-gradient(180deg,rgba(232,224,208,.05),transparent);transition:.35s}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card p{opacity:.8;margin:0;font-size:.95rem}
.draw{width:46px;height:46px;fill:none;stroke:var(--olive);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.2rem;stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1.6s ease}
.is-visible .draw,.card.is-visible .draw{stroke-dashoffset:0}

/* steps */
.steps{list-style:none;counter-reset:s;padding:0;margin:3rem 0 0;display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{padding:2rem 1.6rem;border-top:1px solid rgba(15,45,42,.18)}
.step__num{font-family:var(--serif);font-size:2.4rem;color:var(--gold-2);display:block;margin-bottom:.4rem}
.steps p{margin:0;font-size:.95rem;opacity:.8}

/* carousel */
.carousel{margin-top:2.6rem;overflow:hidden}
.carousel__track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.carousel__track blockquote{flex:0 0 100%;margin:0;padding:0 clamp(0px,4vw,60px);text-align:center}
.quote{font-family:var(--serif);font-size:4rem;line-height:.6;color:var(--gold);display:block;margin-bottom:1rem}
.carousel__track p{font-family:var(--serif);font-size:clamp(1.2rem,3vw,1.6rem);font-style:italic;color:var(--sand)}
.carousel__track cite{font-style:normal;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6}
.carousel__nav{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:2.2rem}
.carousel__nav button{background:none;border:1px solid rgba(201,160,92,.4);color:var(--gold);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:.25s}
.carousel__nav button:hover{background:var(--gold);color:var(--deep)}
.dots{display:flex;gap:.5rem}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(232,224,208,.3);display:block;cursor:pointer;transition:.25s}
.dots i.on{background:var(--gold);width:20px;border-radius:99px}

/* accordion */
.accordion{margin-top:2.4rem;display:grid;gap:.7rem}
.accordion details{border:1px solid rgba(15,45,42,.16);border-radius:5px;background:rgba(255,255,255,.35);padding:0 1.3rem}
.accordion summary{cursor:pointer;list-style:none;padding:1.15rem 0;font-family:var(--serif);font-size:1.2rem;color:#0F2D2A;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";color:var(--gold-2);font-family:var(--sans);font-size:1.3rem;transition:.3s}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion p{margin:0 0 1.2rem;font-size:.96rem;opacity:.82}

/* contato */
.contato{background:radial-gradient(ellipse at 50% 0%,rgba(201,160,92,.12),transparent 62%),var(--deep-2)}
.social a{color:var(--gold);text-decoration:none;font-size:.85rem;letter-spacing:.16em;margin-top:1.6rem;display:inline-block}

/* footer */
.footer{border-top:1px solid rgba(201,160,92,.2);padding:3rem 0 2rem;background:var(--deep)}
.footer__inner{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}
.footer__name{font-family:var(--serif);font-size:1.5rem;margin:0}
.footer__crp{margin:0;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.footer__links{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.85rem}
.footer__links a{text-decoration:none;opacity:.75}
.footer__links a:hover{opacity:1;color:var(--gold)}
.copyright{text-align:center;font-size:.72rem;opacity:.45;margin:2.4rem 0 0}

/* whatsapp */
.whats{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#14251f;box-shadow:0 12px 32px -10px rgba(0,0,0,.7);animation:breathe 3.6s ease-in-out infinite}
.whats svg{width:30px;height:30px}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.breathe,.whats{animation:none}}