/* =========================================
   VARIÁVEIS PRINCIPAIS (edite aqui as cores)
========================================= */
:root{
  --gold:#d7a94d; --gold-l:#e7bd67; --gold-d:#c9973f;
  --gold-grad:linear-gradient(135deg,#c9973f,#ecc878 50%,#c9973f);
  --dark:#050807; --dark2:#080b0a; --dark3:#0c0f0e;
  --cream:#f3ede2; --cream2:#f7f1e7; --white:#f7f3eb; --ink:#10110f;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:Inter,system-ui,sans-serif;
  --script:"Pinyon Script","Mrs Saint Delafield",cursive;
  --wrap:1800px; --pad:clamp(20px,4vw,56px);
}
/* =========================================
   BASE
========================================= */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--dark);color:var(--white);font:400 14px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
i[data-lucide],svg.lucide{width:1.1em;height:1.1em;stroke-width:1.5;flex:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.gold{color:var(--gold-l)}
.script{font-family:var(--script);font-weight:400;color:var(--white)}
.eyebrow{font:500 10.5px/1 var(--sans);letter-spacing:.28em;color:var(--gold);margin-bottom:14px}
.eyebrow.dark{color:var(--gold-d)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(30px,3.4vw,46px)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* =========================================
   BOTÕES
========================================= */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:7px;font:500 13.5px var(--sans);transition:transform .3s,box-shadow .3s,background .3s,color .3s;cursor:pointer}
.btn-gold{background:var(--gold-grad);background-size:200% 100%;color:var(--ink);border:1px solid #f0d08a}
.btn-gold:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 8px 24px rgba(215,169,77,.3)}
.btn-gold .lucide:last-child{transition:transform .3s}.btn-gold:hover .lucide:last-child{transform:translateX(4px)}
.btn-line{border:1px solid rgba(247,243,235,.55)}
.btn-line:hover{border-color:var(--gold);color:var(--gold-l);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:12.5px}
.btn-lg{padding:18px 34px;font-size:15px;white-space:nowrap}

/* =========================================
   HEADER
========================================= */
.header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--pad);transition:background .4s,box-shadow .4s,backdrop-filter .4s}
.header.solid{background:rgba(5,8,7,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 30px rgba(0,0,0,.45)}
.logo{display:flex;flex-direction:column;align-items:center;line-height:1;width:fit-content}
.logo svg{width:92px;height:20px;margin-bottom:-4px}
.logo small{font:500 8px var(--serif);letter-spacing:.42em;color:var(--gold-l);margin-top:2px}
.logo strong{font:600 26px/1 var(--serif);letter-spacing:.14em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo em{font:400 6.5px var(--sans);letter-spacing:.25em;color:var(--gold);margin-top:4px;font-style:normal}
.nav{display:flex;gap:30px;font-size:12.5px}
.nav a{position:relative;padding:6px 0;color:rgba(247,243,235,.88)}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--gold-l)}
.burger{display:none;background:none;border:0;width:40px;height:40px;position:relative}
.burger span{position:absolute;left:8px;right:8px;height:1.5px;background:var(--white);transition:.3s}
.burger span:first-child{top:15px}.burger span:last-child{top:24px}
.burger.open span:first-child{top:20px;transform:rotate(45deg)}.burger.open span:last-child{top:20px;transform:rotate(-45deg)}

/* =========================================
   HERO
========================================= */
.hero{position:relative;display:grid;grid-template-columns:42% 58%;min-height:clamp(640px,calc(100vh),800px);max-height:820px;background:var(--dark);overflow:hidden;padding-top:0}
.hero-photo{position:absolute;inset:0 0 0 36%;overflow:hidden}
.hero-photo img{width:100%;height:112%;object-fit:cover;object-position:12% 20%;will-change:transform}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--dark) 0,rgba(5,8,7,.55) 9%,rgba(5,8,7,0) 30%),linear-gradient(0deg,var(--dark) 0,rgba(5,8,7,0) 22%),linear-gradient(180deg,rgba(5,8,7,.65),rgba(5,8,7,0) 20%)}
.hero-script{position:absolute;z-index:2;right:6%;bottom:16%;font-size:clamp(34px,3.6vw,56px);line-height:1.08;transform:rotate(-8deg);text-shadow:0 2px 14px rgba(0,0,0,.6)}
.hero-copy{position:relative;z-index:3;grid-column:1;padding:clamp(110px,15vh,150px) 0 40px var(--pad);max-width:calc(var(--wrap)*.5)}
.hero h1{font-size:clamp(38px,3.85vw,58px);line-height:1.02;margin-bottom:22px}
.hero .lead{max-width:430px;font-size:14px;color:rgba(247,243,235,.88);margin-bottom:28px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.trust{display:grid;grid-template-columns:repeat(4,auto);gap:22px;font-size:11px;line-height:1.35;color:rgba(247,243,235,.82);width:fit-content}
.trust li{display:flex;align-items:center;gap:9px}
.trust i,.trust svg{width:26px;height:26px;color:var(--gold);stroke-width:1.2}
.scroll-hint{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);display:none;flex-direction:column;align-items:center;gap:6px;font-size:9px;letter-spacing:.3em;color:rgba(247,243,235,.6)}
.scroll-hint span{width:1px;height:26px;background:linear-gradient(var(--gold),transparent);animation:drop 2s infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(min-width:1100px){.scroll-hint{display:flex;left:calc(var(--pad) + 6px);transform:none;bottom:12px;flex-direction:row}.scroll-hint span{display:none}}

/* =========================================
   SERVIÇOS
========================================= */
.services{background:var(--cream);color:var(--ink);padding:clamp(40px,5vw,60px) 0 clamp(40px,5vw,60px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:26px}
.sec-head h2{font-size:clamp(30px,3.2vw,46px)}
.sec-head>p{max-width:400px;font-size:12.5px;color:#3a3a35}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.2vw,18px);perspective:1200px}
.card{position:relative;aspect-ratio:.71;border-radius:6px;overflow:hidden;background:var(--dark);border:1px solid rgba(215,169,77,.55);box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;transform-style:preserve-3d}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,7,.97) 0,rgba(5,8,7,.9) 38%,rgba(5,8,7,0) 66%);pointer-events:none}
.card::before{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(231,189,103,.28),transparent 55%);opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 18px 40px rgba(0,0,0,.4),0 0 0 1px var(--gold)}
.card:hover::before{opacity:1}.card:hover img{transform:scale(1.06)}
.card-body{position:absolute;z-index:3;inset:auto 0 0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 14px 14px;color:var(--white)}
.card-body>i,.card-body>svg{width:26px;height:26px;color:var(--gold);stroke-width:1.2;margin-bottom:6px}
.card h3{font-size:clamp(16px,1.35vw,20px);line-height:1.1;margin-bottom:6px}
.card p{font-size:clamp(10.5px,.8vw,11.5px);line-height:1.4;color:rgba(247,243,235,.82);margin-bottom:10px;min-height:4.2em}
.go{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);transition:.3s}
.go:hover{background:var(--gold);color:var(--ink);transform:scale(1.12)}

/* =========================================
   SOBRE
========================================= */
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--dark2);min-height:520px}
.about-photo{position:relative;overflow:hidden;min-height:440px;background:#0b0d0c}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:brightness(.92) contrast(1.05)}
.about-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,7,.9) 0,rgba(5,8,7,.55) 28%,rgba(5,8,7,0) 52%),linear-gradient(270deg,var(--dark2) 0,rgba(8,11,10,0) 18%),linear-gradient(0deg,rgba(5,8,7,.6),transparent 30%);pointer-events:none}
.about-photo blockquote{position:absolute;z-index:2;left:7%;bottom:12%;font-size:clamp(22px,2.1vw,32px);line-height:1.2;transform:rotate(-7deg);transform-origin:left bottom;max-width:45%}
.about-photo cite{display:block;font-style:normal;font-family:"Mrs Saint Delafield",var(--script);font-size:1.7em;margin:6px 0 0 18px}
.about-copy{padding:clamp(34px,4vw,50px) var(--pad) 34px clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.gold-h{font-size:clamp(30px,3.1vw,44px);color:var(--gold-l);margin-bottom:18px}
.about-copy>p:not(.eyebrow){max-width:520px;color:rgba(247,243,235,.9);font-size:13.5px;margin-bottom:14px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:12px 0 18px;font-size:11px;line-height:1.35;max-width:540px}
.facts li{display:flex;align-items:center;gap:8px}
.facts i,.facts svg{width:26px;height:26px;color:var(--gold);stroke-width:1.2}
.link-ig{color:var(--gold-l);font-size:13px;width:fit-content;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;transition:.3s}
.link-ig:hover{border-color:var(--gold);gap:12px}

/* =========================================
   RESULTADOS + BEFORE/AFTER
========================================= */
.results{background:var(--cream);color:var(--ink);padding:36px 0}
.results-grid{display:grid;grid-template-columns:.8fr 2fr;gap:36px;align-items:center}
.results-copy p:last-child{font-size:12.5px;color:#3a3a35;max-width:290px;margin-top:12px}
.ba-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ba{position:relative;aspect-ratio:1.3;border-radius:6px;overflow:hidden;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;border:1px solid rgba(215,169,77,.4)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:1.5px;background:var(--white);transform:translateX(-50%);pointer-events:none}
.knob{position:absolute;z-index:3;top:50%;left:var(--pos);transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:var(--dark);border:1px solid var(--gold);color:var(--white);display:grid;place-items:center;cursor:ew-resize;transition:box-shadow .3s}
.ba:hover .knob,.knob:focus-visible{box-shadow:0 0 0 5px rgba(215,169,77,.25)}
.knob i,.knob svg{width:14px;height:14px}
.tag{position:absolute;z-index:3;bottom:9px;padding:3px 12px;font:500 9px var(--sans);letter-spacing:.14em;background:rgba(5,8,7,.88);color:var(--gold-l);border:1px solid var(--gold-d);border-radius:4px}
.tag.l{left:9px}.tag.r{right:9px}

/* =========================================
   COMO FUNCIONA
========================================= */
.how{background:var(--dark3);padding:40px 0;border-top:1px solid rgba(215,169,77,.15)}
.how-grid{display:grid;grid-template-columns:.9fr 2fr;gap:40px;align-items:center}
.how h2{font-size:clamp(28px,3vw,42px);margin-bottom:12px}
.how-grid>div>p:last-child{font-size:12.5px;color:rgba(247,243,235,.82);max-width:300px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;counter-reset:s}
.steps li{display:flex;gap:14px;position:relative}
.steps li:not(:last-child)::after{content:"›";position:absolute;right:-22px;top:24px;color:var(--gold);font-size:22px}
.ring{flex:none;display:grid;place-items:center;width:62px;height:62px;border:1.5px solid var(--gold);border-radius:50%;color:var(--gold-l)}
.ring i,.ring svg{width:26px;height:26px;stroke-width:1.2}
.steps b{font:500 15px var(--serif);color:var(--gold-l);display:block}
.steps h3{font-size:19px;margin:2px 0 6px}
.steps p{font-size:11.5px;line-height:1.45;color:rgba(247,243,235,.78)}

/* =========================================
   CTA FINAL
========================================= */
.cta{position:relative;background:var(--dark) url(../img/cta-bg.webp) center/cover;border-top:1px solid rgba(215,169,77,.2);padding:34px 0}
.cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,7,.97) 0,rgba(5,8,7,.8) 48%,rgba(5,8,7,.55))}
.cta-in{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{font:500 clamp(22px,2.3vw,32px) var(--serif);letter-spacing:.07em;margin-bottom:8px}
.cta .eyebrow{margin-bottom:6px}
.cta-in p:last-child{font-size:12.5px;max-width:470px;color:rgba(247,243,235,.88)}
.cta-btn{display:flex;flex-direction:column;align-items:center;gap:12px}
.cta-btn ul{display:flex;gap:16px;font-size:10px;color:rgba(247,243,235,.8)}
.cta-btn li{display:flex;gap:5px;align-items:center}.cta-btn i,.cta-btn svg{color:var(--gold);width:12px;height:12px}

/* =========================================
   FOOTER
========================================= */
.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px var(--pad);background:var(--dark);border-top:1px solid rgba(215,169,77,.15)}
.footer .nav{font-size:12px}
.loc{display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.3}.loc small{display:block;font-size:9.5px;color:rgba(247,243,235,.6)}
.loc i,.loc svg{color:var(--gold);width:20px;height:20px}
.social{display:flex;gap:16px}.social a{color:var(--white);transition:.3s}.social a:hover{color:var(--gold-l);transform:translateY(-2px)}
.social i,.social svg{width:22px;height:22px}
.mobile-cta{display:none}

/* =========================================
   SCROLL REVEAL (subtil)
========================================= */
.reveal{opacity:0;transform:translateY(18px);filter:blur(3px);transition:opacity .8s,transform .8s,filter .8s}
.reveal.in{opacity:1;transform:none;filter:none}
.card.reveal.in{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,opacity .8s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}html{scroll-behavior:auto}}

/* =========================================
   RESPONSIVO
========================================= */
@media(max-width:1100px){
  .nav{gap:18px}.header>.btn{display:none}
  .trust{grid-template-columns:repeat(2,auto)}
  .cards{grid-template-columns:repeat(5,minmax(210px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
  .card{scroll-snap-align:start}
  .steps{grid-template-columns:1fr}.steps li::after{display:none}
  .how-grid,.results-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .burger{display:block}
  .header .nav{position:fixed;inset:64px 0 auto;flex-direction:column;gap:0;background:rgba(5,8,7,.96);backdrop-filter:blur(14px);padding:10px var(--pad) 24px;transform:translateY(-130%);transition:transform .4s}
  .header .nav.open{transform:none}.header .nav a{padding:14px 0;border-bottom:1px solid rgba(215,169,77,.15);font-size:15px}
  .hero{display:flex;flex-direction:column;max-height:none}
  .hero-photo{position:relative;inset:auto;order:2;height:62vw;min-height:280px}
  .hero-photo img{object-position:30% 30%}
  .hero-photo::before{background:linear-gradient(180deg,var(--dark),rgba(5,8,7,0) 30%)}
  .hero-copy{padding:100px var(--pad) 10px}
  .actions{margin-bottom:26px}
  .scroll-hint{display:none!important}
  .about{grid-template-columns:1fr}.about-photo{min-height:120vw;max-height:620px}
  .about-photo::after{background:linear-gradient(0deg,var(--dark2),transparent 40%),linear-gradient(90deg,rgba(5,8,7,.6),transparent 60%)}
  .about-photo blockquote{max-width:75%}
  .about-copy{padding:30px var(--pad)}
  .sec-head{flex-direction:column;align-items:flex-start;gap:12px}
  .ba-list{grid-template-columns:1fr}
  .cta-in,.footer{flex-direction:column;align-items:flex-start}
  .cta-btn{align-items:flex-start;width:100%}.btn-lg{padding:16px 22px;font-size:14px}.cta-btn ul{flex-wrap:wrap}
  .footer .nav{flex-wrap:wrap;gap:6px 18px}
  .mobile-cta{display:flex;position:fixed;z-index:60;left:16px;right:16px;bottom:14px;justify-content:center;align-items:center;gap:8px;padding:14px;border-radius:8px;background:var(--gold-grad);color:var(--ink);font:600 13px var(--sans);letter-spacing:.08em;box-shadow:0 8px 24px rgba(0,0,0,.5)}
  body{padding-bottom:78px}
}
@media(hover:none){.card:hover{transform:none}}
/* Desktop: sobe o enquadramento da foto "Sobre" para mostrar o rosto */
/* Desktop: foto "Sobre" mais afastada, com o rosto visível */
@media (min-width: 861px) {
  .about-photo img {
    left: auto;
    right: 0;
    width: 70%;              /* menor = mais afastado */
    object-position: 50% 12%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%);
            mask-image: linear-gradient(90deg, transparent 0, #000 22%);
  }
}