:root{
  /* superfícies dark (do mais profundo ao mais claro) */
  --bg-0:#070707; --bg-1:#0d0d0d; --bg-2:#121212; --bg-3:#171717;
  --panel:#161616; --panel-2:#1b1b1b;
  --line:rgba(205,163,73,.16); --line-soft:rgba(255,255,255,.07);
  /* acentos */
  --gold:#cda349; --gold-200:#e6cd92; --gold-deep:#a9863a;
  /* texto */
  --text:#ededed; --text-soft:#bcbcbc; --text-mute:#8c8c8c;
  --ink:#0d0d0d; /* texto escuro sobre o dourado */
  --wpp:#25d366;
  --maxw:1180px;
  --serif:'Sora',system-ui,-apple-system,sans-serif;   /* display (mantém class="serif") */
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--sans);color:var(--text);background:var(--bg-1);line-height:1.65;font-weight:300;overflow-x:clip;max-width:100%;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:var(--serif);letter-spacing:-.01em}
.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:normal;color:var(--gold)}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,#dcb45e 0%,#c89c3e 55%,#a9863a 100%);color:#0a0a0a;
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  padding:17px 36px;border-radius:40px;cursor:pointer;
  box-shadow:0 8px 22px rgba(205,163,73,.26);
  transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(205,163,73,.4)}
.btn:active{transform:translateY(-1px)}
.btn::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);pointer-events:none}
.btn:hover::before{animation:btnSheen .75s ease}
@keyframes btnSheen{from{left:-130%}to{left:150%}}
.btn--gold{background:linear-gradient(135deg,#e6c87f 0%,#d4ab4c 55%,#b8923f 100%);color:#0a0a0a}
.btn--outline{background:transparent;border:1px solid var(--gold);color:var(--gold);box-shadow:none;margin-top:8px}
.btn--outline::before{display:none}
.btn--outline:hover{background:var(--gold);color:var(--ink);box-shadow:0 12px 30px rgba(205,163,73,.35)}
.btn--cta::after{content:"→";font-size:15px;line-height:1;transition:transform .2s ease}
.btn--cta:hover::after{transform:translateX(5px)}
.btn--cta{animation:btnPulse 2.6s ease-in-out infinite}
.btn--cta:hover{animation-play-state:paused}
@keyframes btnPulse{
  0%,100%{box-shadow:0 8px 22px rgba(205,163,73,.26)}
  50%{box-shadow:0 10px 26px rgba(205,163,73,.38),0 0 0 5px rgba(205,163,73,.07)}}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(10,10,10,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav__inner{position:relative;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(--text-soft)}
.nav__brand{position:absolute;left:0;right:0;text-align:center;letter-spacing:4px;font-size:15px;color:var(--text);font-weight:700;pointer-events:none}
.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,#080808 0%,#131313 55%,#0c0c0c 100%);overflow:hidden}
.hero__orb{position:absolute;right:-90px;top:60px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(205,163,73,.45),rgba(205,163,73,0) 70%);opacity:.7;filter:blur(8px)}
.hero__grid{position:relative;display:grid;gap:30px;padding:26px 22px 58px}
.hero__wm{text-align:center;letter-spacing:5px;font-weight:700;font-size:21px;color:var(--text)}
.hero__wm small{display:block;font-family:var(--sans);letter-spacing:4px;font-size:9px;font-weight:400;color:var(--gold);margin-top:5px}
.hero__logo{height:184px;width:auto;margin:0 auto}
@media(min-width:900px){.hero__logo{margin:0}}
.hero h1{font-size:clamp(40px,11vw,60px);line-height:1.04;font-weight:800;letter-spacing:-.02em;margin:30px 0 16px}
.hero h1 i{color:var(--gold)}
.hero__lead{max-width:48ch;color:var(--text-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 40%;box-shadow:0 24px 60px rgba(0,0,0,.6);border:1px solid var(--line-soft)}

/* TRUST */
.trust{background:var(--bg-3);color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust__row{display:flex;justify-content:space-between;align-items:center;text-align:center;padding:30px 22px;gap:8px}
.trust__sep{width:1px;align-self:stretch;background:var(--line)}
.trust__n{display:block;font-size:22px;font-weight:700;color:var(--gold-200);line-height:1.15}
.trust__t{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-mute);margin-top:4px}

/* SOBRE */
.sobre{background:var(--bg-1)}
.sobre__grid{display:grid;gap:28px}
.sobre__media img{border-radius:18px;width:100%;max-height:560px;object-fit:cover;object-position:center;border:1px solid var(--line-soft)}
.sobre h2{font-size:clamp(32px,9vw,46px);font-weight:800;letter-spacing:-.02em;margin:4px 0 16px;line-height:1.06}
.sobre__copy p{color:var(--text-soft);max-width:54ch;margin-bottom:14px}
.sobre__sign{margin-top:18px!important;color:var(--gold);font-size:18px;font-weight:600}

/* RITUAL / COMO FUNCIONA */
.ritual{background:var(--bg-2);text-align:center}
.ritual__title{font-size:clamp(30px,8vw,42px);font-weight:800;letter-spacing:-.02em;margin-bottom:30px}
.ritual__steps{list-style:none;display:grid;gap:14px;text-align:left;max-width:560px;margin:0 auto}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;gap:18px;align-items:center}
.step__n{font-size:34px;font-weight:800;color:var(--gold);line-height:1;width:40px;flex:none;text-align:center}
.step b{font-size:18px;display:block;margin-bottom:3px;color:var(--text)}
.step span{font-size:13px;color:var(--text-mute)}

/* VÍDEO */
.video{background:var(--bg-1)}
.video__h{font-size:clamp(28px,8vw,42px);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:28px}
.video__frame{position:relative;width:100%;max-width:900px;margin:0 auto;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.55)}
.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* SERVIÇOS */
.proto{background:var(--bg-1)}
.proto__h{font-size:clamp(30px,8vw,42px);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:6px}
.proto__h--mt{margin-top:54px}
.proto__sub{text-align:center;color:var(--text-mute);font-size:13px;margin-bottom:28px}
.pgrid{display:grid;grid-template-columns:1fr;gap:12px}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 19px;transition:transform .15s,box-shadow .15s,border-color .15s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.5);border-color:rgba(205,163,73,.4)}
.pcard b{font-size:18px;display:block;margin-bottom:6px;color:var(--text)}
.pcard span{font-size:13px;line-height:1.55;color:var(--text-mute)}
.pcard__n{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gold);display:block;margin-bottom:10px}
.proto__cta{text-align:center;margin-top:40px}

/* CLIENTES / SEGMENTOS (ex-resultados) */
.result{background:var(--bg-2)}
.result__h{font-size:clamp(30px,8vw,42px);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:6px}
.result__sub{text-align:center;color:var(--text-mute);font-size:13px;margin-bottom:30px;max-width:50ch;margin-left:auto;margin-right:auto}
.result__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.seg{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .15s,border-color .15s}
.seg:hover{transform:translateY(-4px);border-color:rgba(205,163,73,.4)}
.seg svg{width:30px;height:30px;color:var(--gold);flex:none}
.seg span{font-size:13px;font-weight:500;color:var(--text-soft);line-height:1.4}

/* BANDA / POR QUE */
.exp{background:var(--bg-0);color:var(--text);position:relative}
.exp__h{font-size:clamp(30px,8vw,44px);font-weight:800;letter-spacing:-.02em;margin-bottom:22px}
.exp__h i{color:var(--gold-200)}
.exp__grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:center}
.exp__grid img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid var(--line-soft)}
.exp__copy p{color:var(--text-soft);font-size:15px;margin-bottom:16px;max-width:52ch}
.exp__list{list-style:none;display:grid;gap:12px;margin-top:8px}
.exp__list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text-soft)}
.exp__list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:7px;flex:none}
@media(min-width:768px){.exp__grid{grid-template-columns:1.1fr .9fr;gap:44px}}

/* FAQ */
.faq{background:var(--bg-2)}
.faq__wrap{max-width:760px}
.faq__h{font-size:clamp(30px,8vw,42px);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:28px}
.qitem{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:10px}
.qitem summary{font-size:17px;font-weight:600;padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--text)}
.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(--text-mute);font-size:14px;max-width:64ch}

/* FILOSOFIA */
.filo{background:linear-gradient(160deg,#141414,#0b0b0b);text-align:center;padding:84px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filo p{font-style:italic;font-size:clamp(24px,6vw,38px);line-height:1.36;color:var(--text);max-width:780px;margin:0 auto;font-family:var(--serif);font-weight:300}
.filo p i{color:var(--gold);font-style:italic}

/* CONTATO / LOCAL */
.local{background:var(--bg-1)}
.local__grid{display:grid;gap:26px}
#contato .local__grid{max-width:620px;margin:0 auto;text-align:center}
#contato .local__info p{max-width:none;margin-bottom:22px}
#contato .label{display:inline-block;margin-bottom:18px}
#contato h2{margin:0 0 24px;line-height:1.12}
#contato .local__info>p:first-of-type{margin-bottom:32px}
#contato .btn{margin-top:14px}
.local__map iframe{width:100%;height:300px;border:0;border-radius:18px;display:block;filter:grayscale(.3) contrast(1.05) brightness(.9)}
.local h2{font-size:clamp(30px,8vw,42px);font-weight:800;letter-spacing:-.02em;margin:4px 0 18px}
.local__info p{margin-bottom:16px;color:var(--text-soft);font-size:14px}
.local__info b{color:var(--text)}
.local__info a:not(.btn){color:var(--gold)}

/* FINAL */
.final{background:var(--bg-0);color:var(--text);text-align:center;padding:88px 0;border-top:1px solid var(--line)}
.final h2{font-size:clamp(32px,9vw,52px);font-weight:800;letter-spacing:-.02em;margin-bottom:14px;line-height:1.05}
.final h2 i{color:var(--gold-200)}
.final p{color:var(--text-mute);font-size:14px;margin-bottom:28px}

/* FOOTER */
.foot{background:#050505;color:#7a7a7a;padding:28px 0;border-top:1px solid var(--line-soft)}
.foot .wrap{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.foot__brand{font-size:19px;letter-spacing:4px;color:var(--text);font-weight:700}
.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 24px rgba(0,0,0,.5);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:30px}
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .result__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}
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .result__grid{grid-template-columns:repeat(3,1fr)}
  .sobre__grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px}
  .local__grid{grid-template-columns:1.2fr .8fr;align-items:center}
  .local__map iframe{height:380px}
}

/* ===================== ANIMAÇÕES ===================== */
/* Só ativam quando há JS e o usuário não pediu menos movimento (classe .js no <html>) */

/* Abertura */
.intro{display:none}
.js .intro{display:flex;position:fixed;inset:0;z-index:200;background:var(--bg-1);
  align-items:center;justify-content:center;animation:introOut 1.4s ease 2.1s forwards}
.intro__wm{text-align:center;letter-spacing:8px;font-weight:700;font-size:clamp(26px,7vw,40px);color:var(--text);
  opacity:0;animation:introWm 2s ease forwards}
.intro__wm small{display:block;font-family:var(--sans);letter-spacing:5px;font-size:11px;font-weight:400;color:var(--gold);margin-top:10px}
@keyframes introWm{0%{opacity:0;letter-spacing:20px}60%{opacity:1}100%{opacity:1;letter-spacing:8px}}
@keyframes introOut{to{opacity:0;visibility:hidden}}

/* Hero: entra logo após a abertura levantar */
.js .hero__wm,.js .hero h1,.js .hero__lead,.js .hero__micro,.js .hero .btn,.js .hero__media{
  opacity:0;animation:heroIn 1.6s cubic-bezier(.2,.7,.2,1) forwards}
.js .hero__media{animation-delay:2.0s}
.js .hero__wm{animation-delay:1.9s}
.js .hero h1{animation-delay:2.2s}
.js .hero__lead{animation-delay:2.5s}
.js .hero__micro{animation-delay:2.7s}
.js .hero .btn{animation-delay:2.9s}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* Scroll reveal: estado inicial escondido (aplicado já no 1º paint, sem flash) */
.js .label,
.js .ritual__title,.js .proto__h,.js .result__h,.js .faq__h,.js .exp__h,.js .video__h,
.js .sobre h2,.js .local h2,.js .final h2,
.js .proto__sub,.js .result__sub,.js .final p,.js .filo p,.js .sobre__copy p,.js .exp__copy,
.js .sobre__media,.js .local__map,.js .local__info,.js .proto__cta,.js .final .btn,.js .video__frame,
.js .pcard,.js .step,.js .seg,.js .qitem,.js .trust__item,.js .exp__grid figure{
  opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.js .is-visible{opacity:1 !important;transform:none !important}

@media (prefers-reduced-motion: reduce){.intro{display:none}.btn--cta{animation:none}.btn::before{display:none}}
