:root{
  --nude-100:#f6ece3; --nude-200:#f3e3d8; --nude-300:#ecd8cb; --nude-400:#efdfd3;
  --ivory:#fbf4ee; --line:#e4d2c4;
  --navy-700:#2c2c42; --navy-900:#23233a;
  --gold:#b08d57; --gold-200:#e7cfa3;
  --ink:#2c2c42; --ink-soft:#5f5347; --ink-mute:#7a6a5e;
  --wpp:#25d366;
  --maxw:1180px;
  --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{font-family:var(--sans);color:var(--ink);background:var(--nude-200);line-height:1.6;font-weight:300;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:var(--serif)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:64px 0}
.label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
.label--center{text-align:center}
i{font-style:italic}

.btn{display:inline-block;background:var(--navy-700);color:var(--nude-200);font-family:var(--sans);
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:16px 32px;border-radius:40px;
  transition:transform .15s,opacity .15s,box-shadow .15s;cursor:pointer}
.btn:hover{transform:translateY(-2px);opacity:.95;box-shadow:0 10px 24px rgba(44,44,66,.22)}
.btn--gold{background:var(--gold);color:var(--navy-900);font-weight:400}
.btn--outline{background:transparent;border:1px solid var(--gold);color:var(--ink);margin-top:8px}
.btn--outline:hover{background:var(--gold);color:var(--navy-900)}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(243,227,216,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(176,141,87,.18)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;padding-top:15px;padding-bottom:15px;
  font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-soft)}
.nav__brand{letter-spacing:3px;font-size:16px;color:var(--ink);font-weight:600}
.nav__link{transition:color .15s}.nav__link:hover{color:var(--gold)}
.nav__link--cta{color:var(--gold)}

/* HERO */
.hero{position:relative;background:linear-gradient(160deg,var(--nude-200),var(--nude-300));overflow:hidden}
.hero__orb{position:absolute;right:-90px;top:60px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f9f0e7,#d9b9a3);opacity:.5;filter:blur(4px)}
.hero__grid{position:relative;display:grid;gap:30px;padding:26px 22px 58px}
.hero__wm{text-align:center;letter-spacing:5px;font-weight:600;font-size:21px;color:var(--ink)}
.hero__wm small{display:block;font-family:var(--sans);letter-spacing:4px;font-size:9px;font-weight:400;color:var(--ink-mute);margin-top:4px}
.hero h1{font-size:clamp(44px,12vw,58px);line-height:1.02;font-weight:500;margin:30px 0 16px}
.hero h1 i{color:var(--gold)}
.hero__lead{max-width:46ch;color:var(--ink-soft);font-size:15px}
.hero__micro{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:14px 0 26px;display:flex;align-items:center;gap:8px}
.hero__micro::before{content:"";width:22px;height:1px;background:var(--gold)}
.hero__media img{border-radius:18px;width:100%;max-height:560px;object-fit:cover;object-position:center 22%;box-shadow:0 22px 50px rgba(44,44,66,.20)}

/* TRUST */
.trust{background:var(--navy-700);color:var(--nude-200)}
.trust__row{display:flex;justify-content:space-between;align-items:center;text-align:center;padding:26px 22px;gap:8px}
.trust__sep{width:1px;align-self:stretch;background:rgba(231,207,163,.25)}
.trust__n{display:block;font-size:24px;color:var(--gold-200);line-height:1.1}
.trust__t{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#b9b6c4}

/* SOBRE */
.sobre{background:var(--nude-100)}
.sobre__grid{display:grid;gap:28px}
.sobre__media img{border-radius:18px;width:100%;max-height:560px;object-fit:cover;object-position:center 20%}
.sobre h2{font-size:clamp(34px,9vw,46px);font-weight:500;margin:4px 0 16px;line-height:1.04}
.sobre__copy p{color:var(--ink-soft);max-width:52ch}
.sobre__sign{margin-top:18px!important;color:var(--gold);font-style:italic;font-size:18px}

/* RITUAL */
.ritual{background:var(--nude-400);text-align:center}
.ritual__title{font-size:clamp(30px,8vw,42px);font-weight:500;margin-bottom:30px}
.ritual__steps{list-style:none;display:grid;gap:14px;text-align:left;max-width:560px;margin:0 auto}
.step{background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;gap:18px;align-items:center}
.step__n{font-size:38px;color:var(--gold);line-height:1;width:38px;flex:none;text-align:center}
.step b{font-size:19px;display:block;margin-bottom:2px}
.step span{font-size:13px;color:var(--ink-mute)}

/* PROTOCOLOS */
.proto{background:var(--nude-100)}
.proto__h{font-size:clamp(30px,8vw,40px);font-weight:500;text-align:center;margin-bottom:6px}
.proto__h--mt{margin-top:54px}
.proto__sub{text-align:center;color:var(--ink-mute);font-size:13px;margin-bottom:28px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pcard{background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:20px 17px;transition:transform .15s,box-shadow .15s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(44,44,66,.10)}
.pcard b{font-size:19px;display:block;margin-bottom:5px}
.pcard span{font-size:12.5px;line-height:1.5;color:var(--ink-mute)}
.proto__cta{text-align:center;margin-top:40px}

/* RESULTADOS */
.result{background:var(--nude-300)}
.result__h{font-size:clamp(30px,8vw,40px);font-weight:500;text-align:center;margin-bottom:6px}
.result__sub{text-align:center;color:var(--ink-mute);font-size:12px;margin-bottom:28px;max-width:46ch;margin-left:auto;margin-right:auto}
.result__grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.result__item{margin:0}
.result__item img{aspect-ratio:1/1;width:100%;height:auto;display:block;object-fit:cover;border-radius:16px;box-shadow:0 12px 30px rgba(44,44,66,.14)}
.result__item figcaption{margin-top:12px;text-align:center;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-mute)}

/* EXPERIÊNCIA */
.exp{background:var(--navy-700);color:var(--nude-200)}
.exp__h{font-size:clamp(32px,8vw,42px);font-weight:500;margin-bottom:24px}
.exp__h i{color:var(--gold-200)}
.exp__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.exp__grid figure{height:340px}
.exp__grid img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:14px}
@media(min-width:768px){.exp__grid figure{height:480px}}

/* DEPOIMENTOS */
.depo{background:var(--nude-100);text-align:center}
.depo__h{font-size:clamp(32px,8vw,42px);font-weight:500;margin-bottom:32px}
.depo__grid{display:grid;grid-template-columns:1fr;gap:16px;text-align:left}
.qbox{background:var(--ivory);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column}
.qbox blockquote{font-style:italic;font-size:19px;line-height:1.42;color:#3a3344;flex:1}
.qbox figcaption{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink);margin-top:18px;font-family:var(--sans);font-weight:400}
.qbox figcaption span{display:block;color:var(--gold);margin-top:3px;letter-spacing:1px}

/* FAQ */
.faq{background:var(--nude-400)}
.faq__wrap{max-width:760px}
.faq__h{font-size:clamp(30px,8vw,42px);font-weight:500;text-align:center;margin-bottom:28px}
.qitem{background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:10px}
.qitem summary{font-size:19px;padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.qitem summary::-webkit-details-marker{display:none}
.qitem summary::after{content:'+';color:var(--gold);font-size:24px;line-height:1;transition:transform .2s;flex:none}
.qitem[open] summary::after{transform:rotate(45deg)}
.qitem p{padding:0 0 18px;color:var(--ink-mute);font-size:14px;max-width:62ch}

/* FILOSOFIA */
.filo{background:linear-gradient(160deg,var(--nude-300),#e3c9b8);text-align:center;padding:84px 0}
.filo p{font-style:italic;font-size:clamp(24px,6vw,38px);line-height:1.34;color:var(--ink);max-width:760px;margin:0 auto}

/* LOCAL */
.local{background:var(--nude-100)}
.local__grid{display:grid;gap:26px}
.local__map iframe{width:100%;height:300px;border:0;border-radius:18px;display:block}
.local h2{font-size:clamp(30px,8vw,42px);font-weight:500;margin:4px 0 18px}
.local__info p{margin-bottom:16px;color:var(--ink-soft);font-size:14px}
.local__info b{color:var(--ink)}
.local__info a{color:var(--gold)}

/* FINAL */
.final{background:var(--navy-700);color:var(--nude-200);text-align:center;padding:84px 0}
.final h2{font-size:clamp(34px,9vw,52px);font-weight:500;margin-bottom:14px}
.final h2 i{color:var(--gold-200)}
.final p{color:#b9b6c4;font-size:14px;margin-bottom:28px}

/* FOOTER */
.foot{background:var(--navy-900);color:#8f8ca0;padding:26px 0}
.foot .wrap{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.foot__brand{font-size:20px;letter-spacing:4px;color:var(--nude-200)}
.foot__meta{font-size:10px;letter-spacing:1px;text-transform:uppercase}

/* WHATSAPP FLOAT */
.wpp-float{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;
  background:var(--wpp);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.30);z-index:50;transition:transform .15s}
.wpp-float:hover{transform:scale(1.07)}

/* FOCUS */
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* ===== DESKTOP ===== */
@media(min-width:768px){
  .section{padding:100px 0}
  .trust__row{justify-content:center;gap:80px}
  .trust__n{font-size:34px}
  .pgrid{grid-template-columns:repeat(4,1fr)}
  .result__grid{grid-template-columns:repeat(2,1fr)}
  .depo__grid{grid-template-columns:repeat(3,1fr)}
  .ritual__steps{grid-template-columns:repeat(3,1fr);max-width:none}
}
@media(min-width:900px){
  .hero__grid{grid-template-columns:1.04fr .96fr;align-items:center;padding:54px 22px 92px}
  .hero__wm{text-align:left}
  .hero h1{margin-top:20px}
  .result__grid{grid-template-columns:repeat(3,1fr)}
  .sobre__grid{grid-template-columns:.82fr 1.18fr;align-items:center;gap:50px}
  .local__grid{grid-template-columns:1.2fr .8fr;align-items:center}
  .local__map iframe{height:380px}
}
