
@font-face {
  font-family:'Everett';
  src:url('fonts/everett-light.otf') format('opentype');
  font-weight:300;font-style:normal;
}
@font-face {
  font-family:'Everett';
  src:url('fonts/everett-regular.otf') format('opentype');
  font-weight:400;font-style:normal;
}
@font-face {
  font-family:'Everett';
  src:url('fonts/everett-medium.otf') format('opentype');
  font-weight:500;font-style:normal;
}
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --lav:#92879F;--sal:#8D9072;--cor:#EE7C65;--esc:#28211F;
  --off:#F7F5F2;--lav10:rgba(146,135,159,.1);--cor15:rgba(238,124,101,.12);
}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',system-ui,sans-serif;color:var(--esc);background:#fff;}

/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 56px;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-bottom:.5px solid rgba(40,33,31,.07);
}
.nav-logo{font-family:'Everett','Montserrat',sans-serif;letter-spacing:.30em;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1.7;}
.nav-logo span{font-size:12px;font-weight:300;letter-spacing:.18em;display:block;color:var(--lav);}
.nav-links{display:flex;gap:36px;}
.nav-links a{font-size:13px;letter-spacing:.12em;color:var(--esc);text-decoration:none;font-weight:400;opacity:.72;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-cta{
  border:.5px solid var(--esc);color:var(--esc);padding:10px 24px;
  font-size:13px;letter-spacing:.16em;font-weight:500;text-transform:uppercase;
  cursor:pointer;transition:all .2s;
}
.nav-cta:hover{background:var(--esc);color:#fff;}

/* ── HERO ── */
.hero{
  display:grid;grid-template-columns:58% 42%;min-height:min(76vh,700px);overflow:hidden;
}
.hero-text{
  padding:clamp(52px,5vw,84px) 60px clamp(44px,4vw,68px) 56px;display:flex;flex-direction:column;
  justify-content:center;position:relative;z-index:2;
}
.hero-accent-line{width:24px;height:1.5px;background:var(--cor);margin-bottom:28px;}
.hero-h1{
  font-family:'Everett','Montserrat',sans-serif;
  font-size:clamp(44px,4.2vw,64px);font-weight:300;line-height:1.22;
  color:var(--esc);margin-bottom:22px;letter-spacing:-.02em;
}
.hero-h1 em{font-style:normal;font-weight:500;}
.hero-tagline{
  font-size:13px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--lav);font-weight:400;margin-bottom:24px;
}
.hero-p{
  font-size:17px;line-height:1.95;color:rgba(40,33,31,.5);
  max-width:400px;margin-bottom:40px;font-weight:300;
}
.hero-btns{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.btn-fill{
  background:var(--cor);color:#fff;padding:14px 28px;
  font-size:13px;letter-spacing:.18em;font-weight:600;text-transform:uppercase;
  cursor:pointer;transition:opacity .2s;border:none;display:flex;align-items:center;gap:8px;
}
.btn-fill:hover{opacity:.88;}
.btn-fill i{font-size:20px;}
.btn-ghost{
  display:flex;align-items:center;gap:8px;
  font-size:13px;letter-spacing:.14em;font-weight:400;
  color:var(--esc);cursor:pointer;opacity:.55;transition:opacity .2s;
}
.btn-ghost:hover{opacity:1;}
.hero-crm{
  font-size:12px;letter-spacing:.08em;color:rgba(40,33,31,.50);
  margin-top:6px;font-weight:300;
}
.hero-credential{
  display:flex;align-items:center;gap:7px;
  font-size:12px;letter-spacing:.1em;
  color:rgba(40,33,31,.4);font-weight:400;
  margin-top:22px;
}
.hero-credential i{font-size:14px;color:var(--cor);}
/* HERO PHOTO — sem moldura, foto ocupa toda a coluna */
.hero-photo{
  position:relative;overflow:hidden;
}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 45%;
  display:block;
}
/* acento coral na borda */
.hero-photo::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--cor);z-index:2;
}
/* círculo decorativo da marca — lente visual */
.brand-lens{
  position:absolute;
  width:min(340px,55vw);height:min(340px,55vw);
  border-radius:50%;
  border:.5px solid rgba(255,255,255,.18);
  bottom:-60px;left:-80px;
  pointer-events:none;z-index:2;
}
.brand-lens::after{
  content:'';position:absolute;inset:14%;
  border-radius:50%;
  border:.5px solid rgba(255,255,255,.10);
}
/* círculo decorativo da marca sobreposto */
.hero-circle{
  position:absolute;bottom:-60px;right:-60px;
  width:220px;height:220px;border-radius:50%;
  border:.5px solid rgba(255,255,255,.2);z-index:2;pointer-events:none;
}

/* ── BARRA CROMÁTICA ── */
.color-bar{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;height:2px;}
.color-bar div:nth-child(1){background:var(--lav);}
.color-bar div:nth-child(2){background:var(--sal);}
.color-bar div:nth-child(3){background:var(--cor);}
.color-bar div:nth-child(4){background:var(--esc);}

/* ── SOBRE ── */
.sobre{
  display:grid;grid-template-columns:46% 54%;min-height:min(64vh,620px);
}
/* foto sem moldura */
.sobre-photo{
  position:relative;overflow:hidden;
}
.sobre-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;
}
/* gradiente para integrar com texto */
.sobre-photo::after{
  content:'';position:absolute;top:0;right:0;bottom:0;width:80px;
  background:linear-gradient(to right,transparent,#fff);
}
.sobre-text{
  padding:clamp(44px,4.5vw,68px) 64px clamp(44px,4.5vw,68px) 52px;display:flex;flex-direction:column;justify-content:center;
}
.eyebrow{
  font-size:12px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--cor);margin-bottom:20px;font-weight:500;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::before{
  content:'';display:inline-block;width:20px;height:.5px;background:var(--cor);
}
.sobre-quote{
  font-size:clamp(28px,2.5vw,40px);font-weight:300;line-height:1.65;
  color:var(--esc);margin-bottom:28px;letter-spacing:-.005em;
}
.sobre-quote em{font-style:normal;color:var(--lav);font-weight:400;}
.sobre-bio{
  font-size:16px;line-height:2;color:rgba(40,33,31,.52);margin-bottom:32px;font-weight:300;
}
.sobre-items{display:flex;flex-direction:column;gap:10px;}
.sobre-item{
  display:flex;align-items:flex-start;gap:12px;
  font-size:15px;color:rgba(40,33,31,.55);font-weight:300;letter-spacing:.02em;
}
.sobre-item i{font-size:19px;color:var(--cor);margin-top:1px;flex-shrink:0;}
.sobre-cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:28px;
  font-size:13px;letter-spacing:.14em;font-weight:500;text-transform:uppercase;
  color:var(--esc);border-bottom:1px solid var(--cor);padding-bottom:3px;
  transition:opacity .2s;
}
.sobre-cta:hover{opacity:.65;}
.sobre-cta i{font-size:15px;color:var(--cor);}
html.night-mode .sobre-cta{color:#e6e0d8;}
/* CTA em fundos escuros (Formação) */
.formacao-body .sobre-cta{color:rgba(255,255,255,.65);}
.formacao-body .sobre-cta i{color:var(--cor);}
.formacao-body .sobre-cta:hover{opacity:.85;}

/* ── ESPECIALIDADES ── */
.espec{padding:96px 56px;background:var(--off);}
.section-header{margin-bottom:60px;}
.sec-title{
  font-size:clamp(32px,2.8vw,46px);font-weight:300;color:var(--esc);
  letter-spacing:-.01em;margin-top:6px;
}
.sec-sub{
  font-size:15px;color:rgba(40,33,31,.38);font-weight:300;
  letter-spacing:.04em;margin-top:8px;
}
.espec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(40,33,31,.06);}
.espec-card{
  background:#fff;padding:40px 28px 36px;position:relative;
  transition:background .25s;
}
.espec-card:hover{background:#fff;}
/* linha superior fina — único marcador cromático */
.espec-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1.5px;
  transition:height .25s;
}
.espec-card:hover::before{height:3px;}
.espec-card:nth-child(1)::before{background:var(--lav);}
.espec-card:nth-child(2)::before{background:var(--sal);}
.espec-card:nth-child(3)::before{background:var(--cor);}
.espec-card:nth-child(4)::before{background:var(--esc);}
.espec-icon{
  width:44px;height:44px;border:.5px solid rgba(40,33,31,.12);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
}
.espec-icon i{font-size:24px;color:var(--esc);opacity:.7;}
.espec-num{font-size:12px;letter-spacing:.2em;color:rgba(40,33,31,.18);font-weight:300;margin-bottom:10px;}
.espec-card h3{
  font-size:15px;font-weight:600;color:var(--esc);
  letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase;
}
.espec-card p{font-size:15px;line-height:1.95;color:rgba(40,33,31,.45);font-weight:300;}.espec-cta{text-align:center;margin-top:60px;}

/* ── FORMAÇÃO ── */
.formacao{background:var(--esc);display:flex;align-items:stretch;}
.formacao-body{flex:1;padding:96px 56px;}
.formacao-photo-col{flex:0 0 33%;position:relative;overflow:hidden;min-height:520px;}
.formacao-photo-col img{width:100%;height:100%;object-fit:cover;
  object-position:center 15%;display:block;
  filter:brightness(.58) saturate(.45);}
.formacao-photo-col::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--esc) 0%,transparent 35%);}
.formacao-inner{display:grid;grid-template-columns:1fr 2fr;gap:72px;align-items:flex-start;}
.form-h2{
  font-size:clamp(28px,2.5vw,40px);font-weight:300;color:#fff;
  line-height:1.45;letter-spacing:-.01em;margin-top:10px;
}
.timeline{
  display:flex;flex-direction:column;
  padding-left:24px;border-left:.5px solid rgba(255,255,255,.1);
}
.tl-item{padding:0 0 40px 32px;position:relative;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:'';position:absolute;left:-5px;top:8px;
  width:9px;height:9px;border-radius:50%;border:.5px solid rgba(255,255,255,.25);
  background:var(--esc);
}
.tl-item:hover::before{border-color:var(--cor);}
.tl-year{font-size:12px;letter-spacing:.22em;color:var(--cor);font-weight:500;margin-bottom:7px;}
.tl-title{font-size:16px;font-weight:500;color:#fff;letter-spacing:.04em;margin-bottom:5px;}
.tl-desc{font-size:15px;color:rgba(255,255,255,.35);font-weight:300;line-height:1.75;}

/* ── JORNADA ── */
.jornada{padding:96px 56px;background:var(--off);position:relative;overflow:hidden;}
/* foto de acento flutuando no fundo */
.jornada-bg-photo{
  position:absolute;right:-40px;top:0;bottom:0;width:320px;
  opacity:.07;pointer-events:none;
}
.jornada-bg-photo img{width:100%;height:100%;object-fit:cover;}
.jornada-steps{
  display:grid;grid-template-columns:repeat(5,1fr);
  margin-top:64px;position:relative;
}
.jornada-steps::before{
  content:'';position:absolute;top:18px;left:10%;right:10%;
  height:1px;background:rgba(200,132,106,.35);z-index:0;
}
.step{text-align:center;padding:0 12px;}
.step-icon{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(200,132,106,.6);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;background:var(--off);position:relative;z-index:1;
}
.step-icon i{font-size:19px;color:var(--cor);}
.step-n{font-size:12px;letter-spacing:.18em;color:var(--cor);font-weight:500;display:block;margin-bottom:10px;}
.step-title{font-size:13px;font-weight:600;color:var(--esc);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.step-desc{font-size:13px;line-height:1.85;color:rgba(40,33,31,.42);font-weight:300;}

/* ── DEPOIMENTOS ── */
.depo{padding:96px 56px;background:#fff;}
.depo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:60px;}
.depo-card{border:.5px solid rgba(40,33,31,.1);padding:36px 30px;}
.depo-mark{width:20px;height:1.5px;background:var(--cor);margin-bottom:22px;}
.depo-icon{margin-bottom:16px;}
.depo-icon i{font-size:26px;color:rgba(40,33,31,.12);}
.depo-text{
  font-size:16px;line-height:2;color:rgba(40,33,31,.58);
  font-weight:300;font-style:italic;margin-bottom:24px;
}
.depo-name{font-size:13px;letter-spacing:.12em;font-weight:600;color:var(--esc);text-transform:uppercase;}
.depo-proc{
  display:flex;align-items:center;gap:6px;
  font-size:12px;color:var(--lav);letter-spacing:.08em;font-weight:300;margin-top:4px;
}
.depo-proc i{font-size:13px;color:#e8a020;}

/* ── FAQ ── */
.faq{padding:96px 56px;background:var(--off);}
.faq-inner{max-width:1100px;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 48px;margin-top:48px;}
.faq-item{border-bottom:.5px solid rgba(40,33,31,.1);padding:28px 0;}
.faq-icon{width:38px;height:38px;border-radius:50%;background:var(--cor15);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0;}
.faq-icon i{font-size:18px;color:var(--cor);}
.faq-q{font-size:16px;font-weight:500;color:var(--esc);line-height:1.45;letter-spacing:-.01em;}
.faq-q i{display:none;}
.faq-a{font-size:15px;line-height:1.95;color:rgba(40,33,31,.55);font-weight:300;margin-top:10px;}

/* ── CTA FINAL ── */
.ctafinal{display:grid;grid-template-columns:1fr 1fr;min-height:420px;}
.cta-left{
  background:var(--esc);padding:80px 64px;
  display:flex;flex-direction:column;justify-content:center;
}
.cta-left h2{
  font-size:clamp(32px,2.6vw,46px);font-weight:300;color:#fff;
  line-height:1.4;margin-bottom:18px;letter-spacing:-.01em;
}
.cta-left p{font-size:16px;color:rgba(255,255,255,.4);font-weight:300;line-height:1.85;}
.cta-loc{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:rgba(255,255,255,.25);margin-top:28px;
  font-weight:300;letter-spacing:.06em;
}
.cta-loc i{font-size:18px;color:var(--cor);}
.cta-right{
  background:var(--cor);padding:80px 64px;
  display:flex;flex-direction:column;justify-content:center;gap:14px;
}
.btn-wpp{
  background:#fff;color:var(--cor);padding:16px 28px;
  font-size:15px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;
  text-align:center;cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:10px;transition:opacity .2s;
}
.btn-wpp:hover{opacity:.9;}
.btn-wpp i{font-size:22px;}
.btn-form-o{
  border:1px solid rgba(255,255,255,.45);color:#fff;padding:15px 28px;
  font-size:15px;letter-spacing:.16em;font-weight:400;text-transform:uppercase;
  text-align:center;cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:10px;transition:all .2s;
}
.btn-form-o:hover{background:rgba(255,255,255,.1);}
.btn-form-o i{font-size:20px;}
.cta-social{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:rgba(255,255,255,.5);
  font-weight:300;letter-spacing:.06em;margin-top:6px;
}
.cta-social i{font-size:20px;}

/* ── BARRA CROMÁTICA — topo do footer ── */
.footer-bar{height:3px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;}
.footer-bar div:nth-child(1){background:var(--lav);}
.footer-bar div:nth-child(2){background:var(--sal);}
.footer-bar div:nth-child(3){background:var(--cor);}
.footer-bar div:nth-child(4){background:var(--esc);}

/* ── FOOTER ── */
footer{
  background:var(--esc);border-top:.5px solid rgba(255,255,255,.06);
  padding:24px 56px;display:flex;justify-content:space-between;align-items:center;
}
footer p{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
footer p:first-child{color:rgba(255,255,255,.35);font-weight:400;}
footer p:last-child{color:rgba(255,255,255,.18);font-weight:300;}

/* ═══════════════════════════════════════
   TABLET  (≤ 1024px)
═══════════════════════════════════════ */
@media(max-width:1024px){
  nav{padding:16px 32px;}
  .nav-hamburger{display:block;}
  .nav-links,.nav-cta{display:none;}
  .nav-links{gap:20px;}
  .nav-links a{font-size:12px;}

  .hero{grid-template-columns:54% 46%;}
  .hero-text{padding:72px 36px 56px 32px;}
  .hero-p{font-size:15px;}

  .sobre{grid-template-columns:42% 58%;}
  .sobre-text{padding:60px 40px 60px 36px;}
  .sobre-bio{font-size:15px;}

  .espec{padding:72px 32px;}
  .espec-grid{grid-template-columns:repeat(2,1fr);}

  .formacao-body{padding:72px 32px;}
  .formacao-inner{gap:56px;}
  .formacao-photo-col{flex:0 0 28%;}

  .jornada{padding:72px 32px;}
  .jornada-steps{grid-template-columns:repeat(3,1fr);gap:24px 16px;}
  .step-title{font-size:11px;}
  .step-desc{font-size:12px;}

  .depo{padding:72px 32px;}
  .depo-grid{grid-template-columns:1fr 1fr;gap:20px;}

  /* faq */
  .faq{padding:72px 32px;}
  .faq-grid{grid-template-columns:1fr 1fr;}

  /* ctafinal — nome correto */
  .ctafinal{grid-template-columns:1fr 1fr;}
  .cta-left{padding:64px 40px;}
  .cta-right{padding:64px 40px;}

  footer{padding:28px 32px;}
}

/* ═══════════════════════════════════════
   MOBILE  (≤ 768px)
═══════════════════════════════════════ */
@media(max-width:768px){
  /* — NAV — */
  nav{padding:14px 20px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:none !important;}
  .nav-logo{font-size:13px;}

  /* — HERO — */
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-text{
    padding:52px 24px 48px;
    order:2;
  }
  .hero-photo{
    order:1;
    height:70vw;
    min-height:300px;
    max-height:440px;
  }
  .hero-photo img{object-position:center 35%;}
  .hero-photo::after{
    left:0;top:auto;right:0;bottom:0;
    width:auto;height:3px;
  }
  .hero-h1{font-size:clamp(30px,8vw,44px);}
  .hero-p{max-width:100%;font-size:15px;}
  .hero-circle{display:none;}
  .hero-crm{margin-top:20px;}

  /* — SOBRE — */
  .sobre{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .sobre-photo{
    height:78vw;
    min-height:300px;
    max-height:460px;
    order:1;
  }
  .sobre-photo img{object-position:center 15%;}
  .sobre-photo::after{
    top:auto;right:0;left:0;bottom:0;
    width:auto;height:100px;
    background:linear-gradient(to bottom,transparent,#fff);
  }
  .sobre-text{
    padding:44px 24px 56px;
    order:2;
  }
  .sobre-quote{font-size:clamp(22px,6vw,32px);}
  .sobre-bio{font-size:15px;}

  /* — ESPECIALIDADES — */
  .espec{padding:56px 20px;}
  .espec-grid{grid-template-columns:1fr 1fr;gap:1px;}
  .espec-card{padding:28px 16px 24px;}
  .espec-card p{font-size:14px;}

  /* — FORMAÇÃO — */
  .formacao-photo-col{display:none;}
  .formacao-body{padding:56px 20px;}
  .formacao-inner{
    grid-template-columns:1fr;
    gap:36px;
  }
  .form-h2{font-size:clamp(26px,7vw,38px);}
  .timeline{padding-left:16px;}
  .tl-item{padding:0 0 28px 20px;}

  /* — JORNADA — */
  .jornada{padding:56px 20px;}
  .jornada-bg-photo{display:none;}
  .jornada-steps{
    grid-template-columns:1fr 1fr;
    gap:36px 20px;
  }
  .jornada-steps::before{display:none;}
  .step{text-align:left;padding:0;}
  .step-icon{margin:0 0 12px 0;}

  /* — DEPOIMENTOS — */
  .depo{padding:56px 20px;}
  .depo-grid{grid-template-columns:1fr;gap:16px;}

  /* — FAQ — */
  .faq{padding:56px 20px;}
  .faq-inner{max-width:100%;}
  .faq-grid{grid-template-columns:1fr 1fr;}.faq-q{font-size:15px;}

  /* — CTA FINAL — */
  .ctafinal{grid-template-columns:1fr;}
  .cta-left{padding:56px 24px;}
  .cta-left h2{font-size:clamp(26px,7vw,38px);}
  .cta-right{padding:48px 24px;gap:12px;}
  .btn-wpp{width:100%;padding:16px 20px;}
  .btn-form-o{width:100%;padding:15px 20px;}

  /* — FOOTER — */
  footer{padding:24px 20px;flex-direction:column;gap:8px;text-align:center;}

  /* — SECTION HEADERS — */
  .espec .section-header,
  .jornada .section-header,
  .depo .section-header,
  .faq .section-header{margin-bottom:36px;}
  .sec-title{font-size:clamp(26px,7vw,38px);}

  /* Instagram section */
  .insta-section{padding:56px 20px !important;}

  /* FAQ 1 coluna */
  .faq-grid{grid-template-columns:1fr !important;}

  /* Jornada: 1 col em telas pequenas */
  .jornada-steps{grid-template-columns:1fr 1fr;}

  /* ── LENTES — maiores e mais visíveis no mobile ── */
  .lens-dark,.lens-light{
    width:80vw;height:80vw;
  }
  .lens-dark{border-color:rgba(255,255,255,.22);}
  .lens-dark::after{border-color:rgba(255,255,255,.14);}
  .lens-light{border-color:rgba(40,33,31,.18);}
  .lens-light::after{border-color:rgba(40,33,31,.12);}

  /* ── SOBRE FOTO — ajuste posição e fade no mobile ── */
  .sobre-photo{
    height:90vw;
    min-height:340px;
    max-height:500px;
  }
  .sobre-photo img{object-position:center 28%;}
  .sobre-photo::after{
    height:70px;
    background:linear-gradient(to bottom,transparent 20%,#fff);
  }

}


/* lente de marca — variantes por seção */
.lens-dark{
  position:absolute;pointer-events:none;border-radius:50%;z-index:1;
  width:min(420px,45vw);height:min(420px,45vw);
  border:1px solid rgba(255,255,255,.13);
}
.lens-dark::after{
  content:'';position:absolute;inset:16%;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
}
.lens-light{
  position:absolute;pointer-events:none;border-radius:50%;z-index:1;
  width:min(380px,42vw);height:min(380px,42vw);
  border:1px solid rgba(40,33,31,.10);
}
.lens-light::after{
  content:'';position:absolute;inset:16%;border-radius:50%;
  border:1px solid rgba(40,33,31,.07);
}





/* a11y-fab: movido para a nav superior */

/* Painel flutuante de acessibilidade */
.a11y-float-panel{
  position:fixed;
  top:64px;right:16px;
  background:#fff;
  border-radius:18px;
  padding:22px 20px 16px;
  box-shadow:0 8px 36px rgba(40,33,31,.18);
  z-index:801;
  display:none;
  min-width:240px;
  border:1px solid rgba(40,33,31,.07);
}
.a11y-float-panel.open{display:block;}
.a11y-float-panel h4{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(40,33,31,.4);margin:0 0 14px;font-weight:500;
}
.a11y-fp-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;
  border-bottom:.5px solid rgba(40,33,31,.08);
}
.a11y-fp-row:last-child{border-bottom:none;}
.a11y-fp-label{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--esc);font-weight:400;
}
.a11y-fp-label svg{width:16px;height:16px;opacity:.65;fill:currentColor;}

/* Mobile: painel acessibilidade centrado acima da bottom bar */
@media(max-width:768px){
  .a11y-float-panel{
    top:auto !important;
    bottom:72px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    min-width:280px;
    max-width:92vw;
  }
}

/* Night mode: painel sempre legível */
html.night-mode .a11y-float-panel{background:#fff !important;color:#28211f !important;}
html.night-mode .a11y-fp-label{color:#28211f !important;}
html.night-mode .a11y-float-panel h4{color:rgba(40,33,31,.4) !important;}
html.night-mode .a11y-fp-row{border-bottom-color:rgba(40,33,31,.08) !important;}

/* ── NAV — transparência durante scroll ── */
nav{transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease;}
nav.nav-scrolling{
  background:rgba(245,241,236,.52) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  box-shadow:0 2px 20px rgba(40,33,31,.07);
}

/* ── Acessibilidade dentro do menu hambúrguer ── */
.nav-a11y{
  margin-top:16px;
  border-top:1px solid rgba(40,33,31,.14);
  padding-top:20px;
  width:100%;
  max-width:300px;
  display:flex;flex-direction:column;gap:0;
}
.nav-a11y-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 0;
  border-bottom:.5px solid rgba(40,33,31,.08);
  font-size:13px;letter-spacing:.06em;
  color:var(--esc);opacity:.75;
}
.nav-a11y-row:last-child{border-bottom:none;}
.nav-a11y-row span{display:flex;align-items:center;gap:8px;}
.nav-a11y-row i{font-size:15px;}
/* Reutiliza .a11y-toggle e .a11y-font-btns já definidos */

/* ── Botão acessibilidade na nav ── */
.nav-a11y-btn{
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  color:var(--esc);opacity:.72;
  border-radius:40px;
  transition:opacity .2s, background .2s;
  padding:6px 10px;flex-shrink:0;
  font-family:inherit;font-size:12px;letter-spacing:.08em;
}
.nav-a11y-btn:hover{opacity:1;background:rgba(40,33,31,.06);}
/* No mobile ocultar da nav (está na barra inferior) */
@media(max-width:768px){
  .nav-a11y-btn{display:none;}
}

/* ── HAMBURGER ── */
.nav-hamburger{
  display:none;background:none;border:none;cursor:pointer;
  padding:4px;color:var(--esc);font-size:24px;line-height:1;
}
.nav-mobile{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(245,241,236,.70);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  z-index:999;
  flex-direction:column;align-items:center;
  justify-content:flex-start;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:72px 28px 40px;
  gap:0;
}
.nav-mobile.open{display:flex;}
.nav-mobile > a, .nav-mobile > .nav-mobile-cta{
  font-size:19px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--esc);text-decoration:none;font-weight:300;opacity:.8;
  transition:opacity .2s;
  display:block;
  padding:10px 0;
  width:100%;text-align:center;
}
.nav-mobile a:hover{opacity:1;}
.nav-mobile-close{
  position:fixed;top:20px;right:20px;
  background:rgba(245,241,236,.8);backdrop-filter:blur(8px);
  border:none;cursor:pointer;font-size:28px;color:var(--esc);
  z-index:1000;border-radius:50%;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
}
.nav-mobile-cta{
  display:inline-block !important;
  margin-top:16px;margin-bottom:8px;
  border:1px solid var(--esc);padding:14px 32px;
  font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  color:var(--esc) !important;text-decoration:none;
  text-align:center;
}

html{scroll-behavior:smooth;}

/* ══════════════════════════════════════════════════════
   BOTTOM NAV PWA — Mobile only
══════════════════════════════════════════════════════ */
.mobile-bottom-nav{
  display:none;
  position:sticky;
  bottom:0;
  height:60px;
  background:var(--off);
  border-top:1px solid rgba(40,33,31,.12);
  align-items:center;
  justify-content:space-around;
  padding:0 4px;
  padding-bottom:env(safe-area-inset-bottom,0px);
}

.mbn-menu{
  background:none;border:none;cursor:pointer;
  color:var(--esc);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;flex:1;padding:8px 4px;
  font-family:inherit;
}
.mbn-menu i{font-size:20px;line-height:1;}
.mbn-menu span{font-size:9.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
/* fim mobile-bottom-nav */
.mbn-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;flex:1;
  text-decoration:none;color:var(--esc);opacity:.55;
  font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  transition:opacity .2s;
  padding:8px 4px;
}
.mbn-item i{font-size:20px;line-height:1;}
.mbn-item span{font-size:9.5px;font-weight:500;}
.mbn-item.mbn-cta{
  background:var(--cor);border-radius:14px;
  color:#fff;opacity:1;
  padding:8px 10px;
  margin:6px 4px;
}
.mbn-item.mbn-cta i{font-size:22px;}

/* ══════════════════════════════════════════════════════
   BOTÃO FLUTUANTE WHATSAPP
══════════════════════════════════════════════════════ */
.fab-wpp{
  position:fixed;
  bottom:28px;right:22px;
  width:54px;height:54px;
  background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:26px;
  z-index:500;
  box-shadow:0 4px 18px rgba(37,211,102,.45);
  text-decoration:none;
  transition:transform .2s,box-shadow .2s;
}
.fab-wpp:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(37,211,102,.55);}
.fab-wpp i{line-height:1;}

/* ══════════════════════════════════════════════════════
   PAINEL DE ACESSIBILIDADE
══════════════════════════════════════════════════════ */
/* a11y-trigger e panel movidos para dentro do menu */
/* Toggle switch */
.a11y-toggle{position:relative;width:40px;height:22px;flex-shrink:0;}
.a11y-toggle input{opacity:0;width:0;height:0;position:absolute;}
.a11y-slider{
  position:absolute;inset:0;
  background:rgba(40,33,31,.15);
  border-radius:22px;cursor:pointer;
  transition:background .2s;
}
.a11y-slider::before{
  content:'';position:absolute;
  width:16px;height:16px;
  left:3px;top:3px;
  background:#fff;border-radius:50%;
  transition:transform .2s;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.a11y-toggle input:checked + .a11y-slider{background:var(--cor);}
.a11y-toggle input:checked + .a11y-slider::before{transform:translateX(18px);}
/* Font size buttons */
.a11y-font-btns{display:flex;gap:6px;}
.a11y-font-btns button{
  width:28px;height:28px;border-radius:8px;
  border:1px solid rgba(40,33,31,.18);
  background:none;cursor:pointer;
  font-size:14px;color:var(--esc);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.a11y-font-btns button:hover{background:var(--cor15);}

/* ══════════════════════════════════════════════════════
   MODOS ESPECIAIS (classes no <html>)
══════════════════════════════════════════════════════ */
/* Filtro de luz azul */
.blue-light-layer{
  display:none;
  position:fixed;inset:0;
  background:rgba(255,138,0,.14);
  pointer-events:none;
  z-index:9000;
  mix-blend-mode:multiply;
}
html.blue-light .blue-light-layer{display:block;}

/* ── MODO NOITE — dark mode real sem inverter cores ── */
html.night-mode { --off:#1c1814; --esc:#e6e0d8; }
html.night-mode body            { background:#1c1814; color:#e6e0d8; }
html.night-mode nav             { background:rgba(26,22,18,.96) !important; border-bottom-color:rgba(230,224,216,.08) !important; }
html.night-mode .nav-links a    { color:#e6e0d8; }
html.night-mode .nav-cta        { color:#e6e0d8; border-color:rgba(230,224,216,.4); }
html.night-mode .hero-text      { background:#1c1814; }
html.night-mode .hero-h1,
html.night-mode .hero-p         { color:#e6e0d8; }
html.night-mode .sobre-text     { background:#1c1814; }
html.night-mode .sobre-quote    { color:#e6e0d8; }
html.night-mode .sobre-bio      { color:rgba(230,224,216,.55); }
html.night-mode .espec          { background:#141210 !important; }
html.night-mode .espec-card     { background:#201c18; border-color:rgba(230,224,216,.08); }
html.night-mode .espec-card h3  { color:#e6e0d8; }
html.night-mode .espec-card p   { color:rgba(230,224,216,.55); }
html.night-mode .espec-card:hover{ background:#2a2520; }
html.night-mode .formacao       { background:#1c1814; }
html.night-mode .formacao-body  { background:#1c1814; }
html.night-mode .form-h2,
html.night-mode .tl-year,
html.night-mode .tl-title       { color:#e6e0d8; }
html.night-mode .tl-inst        { color:rgba(230,224,216,.55); }
html.night-mode .tl-item        { border-left-color:rgba(230,224,216,.15); }
html.night-mode .jornada        { background:#1c1814; }
html.night-mode .step-title     { color:#e6e0d8; }
html.night-mode .step-desc      { color:rgba(230,224,216,.55); }
html.night-mode .depo           { background:#141210; }
html.night-mode .depo-card      { background:#201c18; }
html.night-mode .depo-text      { color:rgba(230,224,216,.7); }
html.night-mode .depo-name      { color:#e6e0d8; }
html.night-mode .faq            { background:#141210 !important; }
html.night-mode .faq-q          { color:#e6e0d8; }
html.night-mode .faq-a          { color:rgba(230,224,216,.55); }
html.night-mode .faq-item       { border-bottom-color:rgba(230,224,216,.1); }
html.night-mode footer          { background:#0e0c0a; color:rgba(230,224,216,.5); }
html.night-mode .sec-title,
html.night-mode .eyebrow        { color:#e6e0d8; }
html.night-mode .color-bar      { opacity:.4; }
/* Seção CTA */
html.night-mode .cta-left       { background:#1c1814; }
html.night-mode .cta-left h2,
html.night-mode .cta-left p     { color:#e6e0d8; }
html.night-mode .nav-a11y         { border-top-color:rgba(230,224,216,.15); }
html.night-mode .nav-a11y-row     { color:#e6e0d8 !important; opacity:.85; border-bottom-color:rgba(230,224,216,.1); }
/* Fotos — sempre naturais */
html.night-mode img             { filter:none !important; }
/* Hero extras */
html.night-mode .hero-crm       { color:rgba(230,224,216,.38); }
html.night-mode .hero-credential{ color:rgba(230,224,216,.38); }
/* Buttons */
html.night-mode .btn-ghost      { color:#e6e0d8; }
/* Sobre items */
html.night-mode .sobre-item     { color:rgba(230,224,216,.62); }
html.night-mode .sobre-item i   { color:var(--lav); }
/* Section subtitles */
html.night-mode .sec-sub        { color:rgba(230,224,216,.42); }
/* Timeline description */
html.night-mode .tl-desc        { color:rgba(230,224,216,.5); }
/* Instagram section */
html.night-mode .insta-section  { background:#1c1814 !important; }
html.night-mode .insta-section p{ color:#e6e0d8 !important; }
html.night-mode .insta-section a{ color:#e6e0d8 !important; }
/* Nav mobile overlay */
html.night-mode .nav-mobile     { background:rgba(24,20,16,.97); }
html.night-mode .nav-mobile-link,
html.night-mode .nav-mobile > a { color:#e6e0d8 !important; }
html.night-mode .nav-mobile-close{ background:rgba(24,20,16,.9); color:#e6e0d8; }
html.night-mode .nav-mobile-cta { color:#e6e0d8 !important; border-color:rgba(230,224,216,.28) !important; }
/* Nav a11y button */
html.night-mode .nav-a11y-btn   { color:#e6e0d8; }
/* Bottom mobile nav */
html.night-mode .mobile-bottom-nav{ background:#141210; border-top-color:rgba(230,224,216,.1); }
html.night-mode .mbn-item       { color:rgba(230,224,216,.72); }
/* LGPD modal */
html.night-mode #lgpd-modal     { background:#2a2520; }
html.night-mode #lgpd-modal h4  { color:#e6e0d8; }
html.night-mode #lgpd-modal p   { color:rgba(230,224,216,.6); }

/* ── DALTONISMO — alto contraste + saturação (NÃO é grayscale)
   Aplicado por seção para não deslocar elementos position:fixed ── */
/* Saturação de Cores (5 níveis via JS) */
html.sat-0 { filter: saturate(0.15); }
html.sat-1 { filter: saturate(0.55); }
/* sat-2 = normal, sem filtro */
html.sat-3 { filter: saturate(1.45); }
html.sat-4 { filter: saturate(1.9); }

/* Ajuste mobile para FAB e a11y acima da bottom bar */
@media(max-width:768px){
  .mobile-bottom-nav{display:flex;}
  .fab-wpp{bottom:76px;}
}



/* ══ LGPD — Modal de consentimento ══ */
#lgpd-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(40,33,31,.45);
  z-index: 999998;
  backdrop-filter: blur(2px);
  align-items: center;
  justify-content: center;
}
#lgpd-modal-overlay.active { display: flex; }
#lgpd-modal {
  background: var(--off, #F7F5F2);
  border-radius: 18px;
  padding: 32px 28px 24px;
  max-width: 380px;
  width: calc(100% - 40px);
  box-shadow: 0 12px 48px rgba(40,33,31,.18);
  text-align: center;
  font-family: 'Montserrat', system-ui, sans-serif;
  animation: lgpdIn .25s cubic-bezier(.34,1.56,.64,1);
}
@keyframes lgpdIn {
  from { opacity: 0; transform: scale(.93) translateY(12px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
#lgpd-modal .lgpd-icon {
  font-size: 28px;
  margin-bottom: 12px;
  color: var(--cor, #EE7C65);
}
#lgpd-modal h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--esc, #28211F);
  margin: 0 0 10px;
  letter-spacing: .04em;
}
/* ── LGPD Modal ── */
#lgpd-modal p {
  font-size: 13px;
  color: #6b5e5a;
  line-height: 1.75;
  margin: 0 0 20px;
}
#lgpd-modal p a {
  color: var(--cor);
  text-decoration: underline;
}
.lgpd-btn-ok {
  display: block;
  width: 100%;
  background: var(--cor);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  margin-bottom: 10px;
  transition: opacity .2s;
  font-family: 'Montserrat', system-ui, sans-serif;
}
.lgpd-btn-ok:hover { opacity: .85; }
.lgpd-btn-cancel {
  display: block;
  width: 100%;
  background: none;
  border: 1px solid rgba(40,33,31,.18);
  border-radius: 8px;
  padding: 11px 20px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  color: rgba(40,33,31,.5);
  cursor: pointer;
  transition: opacity .2s;
  font-family: 'Montserrat', system-ui, sans-serif;
}
.lgpd-btn-cancel:hover { opacity: .7; }
html.night-mode .lgpd-btn-cancel {
  border-color: rgba(230,224,216,.2);
  color: rgba(230,224,216,.5);
}

/* ── Botão Voltar ao Topo ── */
#backToTop {
  position: fixed;
  bottom: 88px;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(247,245,242,0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(40,33,31,0.10);
  border-radius: 20px;
  cursor: pointer;
  padding: 6px 14px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--esc);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s, transform .3s;
  z-index: 9990;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 2px 12px rgba(40,33,31,0.08);
}
#backToTop.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
#backToTop i {
  font-size: 14px;
  color: var(--cor);
}
#backToTop:hover { opacity: .75; }
html.night-mode #backToTop {
  background: rgba(30,25,20,0.88);
  border-color: rgba(230,224,216,0.12);
  color: #e6e0d8;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25);
}
html.night-mode #backToTop i { color: var(--cor); }

@media(max-width:600px){
  #backToTop { bottom: 76px; font-size: 10px; }
}

/* ── Touch: remove tap flash on iOS para botões interativos ── */
.mbn-item, .mbn-cta, .fab-wpp, .lgpd-btn-ok, .lgpd-btn-cancel,
.btn-fill, .btn-ghost, .sobre-cta, .nav-cta, .nav-mobile-cta,
a[onclick], button { -webkit-tap-highlight-color: transparent; }

/* ══ POLÍTICA DE PRIVACIDADE (rodapé) ══ */
.lgpd-footer {
  background: #1a1614;
  border-top: 1px solid rgba(255,255,255,.06);
}
.lgpd-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 56px;
}
.lgpd-footer details {
  border: none;
  outline: none;
}
.lgpd-footer summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  transition: color .2s;
  user-select: none;
}
.lgpd-footer summary::-webkit-details-marker { display: none; }
.lgpd-footer summary:hover { color: rgba(255,255,255,.6); }
.lgpd-footer details[open] summary { color: rgba(255,255,255,.55); }
.lgpd-footer summary i { font-size: 14px; }
.lgpd-footer summary .chevron {
  margin-left: auto;
  font-size: 14px;
  transition: transform .25s;
}
.lgpd-footer details[open] summary .chevron {
  transform: rotate(180deg);
}
.lgpd-footer-content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 28px 0 40px;
  border-top: 1px solid rgba(255,255,255,.06);
  animation: lgpdOpen .2s ease;
}
@keyframes lgpdOpen {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lgpd-footer-content h5 {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cor);
  margin: 0 0 10px;
}
.lgpd-footer-content p {
  font-size: 12px;
  line-height: 1.8;
  color: rgba(255,255,255,.38);
  margin: 0;
  font-weight: 300;
}
.lgpd-footer-content a {
  color: rgba(255,255,255,.55);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.lgpd-footer-content a:hover { color: var(--cor); }
.lgpd-footer-content strong {
  color: rgba(255,255,255,.55);
  font-weight: 500;
}

@media(max-width:1024px){
  .lgpd-footer-inner { padding: 0 32px; }
  .lgpd-footer-content { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media(max-width:600px){
  .lgpd-footer-inner { padding: 0 20px; }
  .lgpd-footer-content { grid-template-columns: 1fr; gap: 20px; padding-bottom: 32px; }
  .lgpd-footer summary { font-size: 10px; }
}

