  @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Work+Sans:wght@400;500;600;700&display=swap');

  :root{
    --cream:      #FBF4EE;
    --cream-2:    #F4E4D8;
    --paper:      #FFFCF9;
    --rose:       #B85C45;
    --rose-deep:  #8C4331;
    --panel:      #E7DCC8;
    --panel-2:    #DECCAF;
    --ink:        #37291F;
    --gold:       #b4a68f;
    --gold-deep:  #93692F;
    --taupe:      #8A7A6E;
    --line:       rgba(55,41,31,0.14);
    --line-lt:    rgba(55,41,31,0.12);
    --bordo:      #6E1F2B;
    --bordo-deep: #4C151E;
    --bordo-soft: rgba(110,31,43,0.09);
    --cream-on-bordo: #F4E9DD;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:'Work Sans', sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.5;
  }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  h1,h2,h3{
    font-family:'Playfair Display', serif;
    font-weight:600;
    line-height:1.08;
  }
  ::selection{ background:var(--gold); color:var(--ink); }
  a:focus-visible, button:focus-visible{ outline:2px solid var(--rose); outline-offset:3px; }

  .wrap{ max-width:1080px; margin:0 auto; padding-left:6vw; padding-right:6vw; }

  /* ============ NAV ============ */
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:26px 6vw;
  }
  .nav .brand{
    font-family:'Playfair Display', serif;
    font-style:italic; font-weight:600;
    font-size:20px; letter-spacing:0.01em;
  }
  .nav .brand span{ color:var(--rose); }
  .nav a.nav-cta{
    font-size:13px; font-weight:600; letter-spacing:0.02em;
    border:1px solid var(--ink); padding:10px 20px; border-radius:999px;
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    background:radial-gradient(120% 100% at 80% 0%, var(--cream-2) 0%, var(--cream) 55%);
    padding:6vh 0 9vh;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; top:-120px; right:-140px;
    width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(184,92,69,0.16), transparent 70%);
  }
  .hero-inner{
    display:flex; flex-wrap:wrap; gap:60px; align-items:center;
    position:relative; z-index:2;
  }
  .hero-inner > div{ flex:1 1 420px; }
  .eyebrow{
    font-size:11.5px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--rose); margin-bottom:18px; display:block;
  }
  .hero h1{
    font-size:clamp(38px, 4.6vw, 58px);
    margin-bottom:22px;
  }
  .hero h1 em{ color:var(--rose); font-style:italic; }
  .hero p.lead{
    font-size:17px; color:#5C4A44; max-width:460px; margin-bottom:32px;
  }
  .hero-photos{ display:flex; gap:14px; margin-bottom:32px; }
  .hero-photos .ph{
    flex:1 1 0; aspect-ratio:3/4; border-radius:16px;
   /* aq*/
    display:flex; align-items:center; justify-content:center;
    text-align:center; padding:0px;
    font-family:'Playfair Display', serif; font-style:italic; font-size:12.5px; color:var(--taupe);
  }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
  
  .fotolash   { width: 100%; height: 85%; border-radius: 16px; }

  .btn-primary{
    background:var(--ink); color:var(--cream);
    padding:16px 30px; border-radius:999px;
    font-weight:600; font-size:14.5px;
    display:inline-flex; align-items:center; gap:8px;
    transition:transform .18s ease, background .18s ease;
  }
  .btn-primary:hover{ background:var(--gold-deep); transform:translateY(-2px); }
  .btn-ghost{
    font-size:13.5px; font-weight:600; color:var(--ink);
    border-bottom:1px solid var(--ink); padding-bottom:2px;
  }
  .hero-card{
    background:var(--panel);
    color:var(--ink);
    border:1px solid var(--line);
    border-radius:26px;
    padding:38px 34px;
    position:relative;
  }
  .hero-card .k{
    font-family:'Playfair Display', serif; font-style:italic; font-size:15px; color:var(--gold-deep);
    margin-bottom:18px; display:block;
  }
  .hero-card ul{ list-style:none; display:flex; flex-direction:column; gap:16px; }
  .hero-card li{ display:flex; gap:12px; font-size:14.5px; align-items:flex-start; }
  .hero-card li .dot{
    width:6px; height:6px; border-radius:50%; background:var(--gold-deep);
    margin-top:8px; flex-shrink:0;
  }

  /* ============ SECTION generic ============ */
  section{ padding:9vh 0; }
  .section-head{ max-width:620px; margin-bottom:52px; }
  .section-head .eyebrow{ margin-bottom:14px; }
  .section-head h2{ font-size:clamp(28px, 3.4vw, 40px); }
  .section-head p{ color:var(--taupe); font-size:15.5px; margin-top:14px; }

  /* ============ DOR / DIAGNÓSTICO ============ */
  .pain{ background:var(--paper); }
  .pain-intro{ max-width:680px; margin-bottom:36px; }
  .pain-intro h2{ font-size:clamp(26px,3.2vw,36px); margin-top:10px; }
  .pain-intro h2 em{ font-style:italic; color:var(--bordo); }
  .pain-intro p{ margin-top:16px; font-size:15.5px; color:#5C4A44; font-weight:600; }
  .pain-list{
    list-style:none; display:flex; flex-direction:column; gap:0;
    max-width:680px; margin-bottom:34px;
  }
  .pain-list li{
    display:flex; gap:14px; align-items:flex-start;
    padding:16px 0; border-top:1px solid var(--line);
    font-size:15px; color:var(--ink);
  }
  .pain-list li:last-child{ border-bottom:1px solid var(--line); }
  .pain-list svg{ width:18px; height:18px; stroke:var(--bordo); flex-shrink:0; margin-top:2px; }
  .pain-punch{
    font-family:'Playfair Display', serif; font-style:italic; font-weight:600;
    font-size:clamp(22px,2.6vw,28px); color:var(--bordo);
    border-left:3px solid var(--bordo); padding-left:20px;
    max-width:620px;
  }

  /* ============ PARA QUEM ============ */
  .for-who{ background:var(--cream-2); }
  .who-grid{
    display:flex; flex-wrap:wrap; gap:20px;
  }
  .who-card{
    background:var(--cream); border:1px solid var(--line); border-radius:18px;
    padding:26px 22px; flex:1 1 220px;
  }
  .who-card .n{
    font-family:'Playfair Display', serif; font-style:italic; color:var(--rose);
    font-size:22px; margin-bottom:14px; display:block;
  }
  .who-card p{ font-size:14px; color:#584842; }

  /* ============ BENEFÍCIOS ============ */
  .benefits{ background:var(--panel); color:var(--ink); }
  .benefits .section-head p{ color:var(--taupe); }
  .benefits .eyebrow{ color:var(--gold-deep); }
  .benefit-grid{
    display:flex; flex-wrap:wrap; gap:1px;
    background:var(--line-lt); border:1px solid var(--line-lt); border-radius:20px; overflow:hidden;
  }
  .benefit-card{
    background:#f3e4d3; padding:30px 26px; flex:1 1 300px;
  }
  .benefit-card .icon{
    width:38px; height:38px; border-radius:10px;
    background:rgba(147,105,47,0.14);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
  }
  .benefit-card .icon svg{ width:18px; height:18px; stroke:var(--gold-deep); }
  .benefit-card h3{ font-size:17.5px; font-weight:600; margin-bottom:10px; font-style:italic; }
  .benefit-card p{ font-size:13.5px; color:var(--taupe); line-height:1.55; }

  /* ============ A RUPTURA ============ */
  .rupture{ background:var(--cream-2); }
  .rupture-inner{
    max-width:760px; border-left:3px solid var(--bordo); padding-left:36px;
  }
  .rupture .eyebrow{ color:var(--bordo); }
  .rupture h2{ font-size:clamp(28px,3.4vw,40px); margin-bottom:20px; }
  .rupture h2 em{ font-style:italic; color:var(--bordo); }
  .rupture p{ font-size:16px; color:#5C4A44; max-width:640px; }

  /* ============ CURRICULO ============ */
  .curriculum{ background:var(--cream); }
  .modules{ display:flex; flex-direction:column; }
  .module{
    display:flex; gap:24px;
    padding:26px 0; border-top:1px solid var(--line);
    position:relative;
  }
  .module:last-child{ border-bottom:1px solid var(--line); }
  .module .num{
    font-family:'Playfair Display', serif; font-style:italic; font-weight:600;
    font-size:34px; color:var(--rose); line-height:1;
    flex:0 0 90px;
  }
  .module h3{ font-size:19px; margin-bottom:8px; }
  .module p{ font-size:14.5px; color:#5C4A44; max-width:560px; }
  .module .tag{
    display:inline-block; margin-top:12px; font-size:11px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--taupe); font-weight:600;
  }

  /* ============ INCLUSO ============ */
  .included{ background:var(--cream-2); }
  .inc-grid{ display:flex; flex-wrap:wrap; gap:20px; }
  .inc-card{
    background:var(--paper); border-radius:16px; padding:24px 20px; text-align:center;
    border:1px solid var(--line); flex:1 1 220px;
  }
  .inc-card svg{ width:26px; height:26px; stroke:var(--rose); margin:0 auto 14px; }
  .inc-card p{ font-size:13.5px; font-weight:600; }

  /* ============ INSTRUTORA ============ */
  .instructor{ background:var(--paper); }
  .instr-grid{ display:flex; flex-wrap:wrap; gap:56px; align-items:center; }
  .instr-photo{
    aspect-ratio:4/5; border-radius:24px;
    background:
    
    display:flex; align-items:center; justify-content:center;
    color:var(--ink); font-family:'Playfair Display', serif; font-style:italic; font-size:15px;
    text-align:center; padding:0px; flex:1 1 280px; max-width:340px;
    
  }
  .instr-text{ flex:1.6 1 380px; }
  .instr-text .eyebrow{ margin-bottom:14px; }
  .instr-text h2{ font-size:clamp(26px,3vw,34px); margin-bottom:16px; }
  .instr-text p{ font-size:15px; color:#5C4A44; margin-bottom:14px; max-width:520px; }
  .foto-veri{ width: 100%; height: 95%; border-radius: 24px; }

  

  /* ============ PONTO DE INFLEXÃO ============ */
  .inflection{
    background:var(--bordo); color:var(--cream-on-bordo); text-align:center;
    position:relative; overflow:hidden;
  }
  .inflection::before{
    content:""; position:absolute; top:-160px; left:50%; transform:translateX(-50%);
    width:520px; height:520px; border-radius:50%;
    background:radial-gradient(circle, rgba(244,233,221,0.08), transparent 70%);
  }
  .inflection .wrap{ position:relative; z-index:2; }
  .inflection-quote{
    font-family:'Playfair Display', serif; font-style:italic; font-weight:600;
    font-size:clamp(28px,4.2vw,46px); line-height:1.2; margin-bottom:34px;
  }
  .inflection-quote span{ color:#fff; font-style:normal; }
  .inflection .btn-primary{
    background:var(--cream-on-bordo); color:var(--bordo-deep);
    display:inline-flex;
  }
  .inflection .btn-primary:hover{ background:#fff; transform:translateY(-2px); }

  /* ============ CERTIFICADO ============ */
  .certificate{ background:var(--paper); text-align:center; }
  .certificate .eyebrow{ color:var(--bordo); }
  .certificate h2{ font-size:clamp(26px,3vw,34px); max-width:560px; margin:10px auto 34px; }
  .cert-frame{
    max-width:760px; margin:0 auto; aspect-ratio:4/3; border-radius:20px;
    background:
     
    display:flex; align-items:center; justify-content:center;
    font-family:'Playfair Display', serif; font-style:italic; color:var(--bordo);
    font-size:14px; padding:20px; text-align:center;
  }
  .cert-frame img{ width:120%; height:120%; object-fit:cover; border-radius:19px; }

 

  /* ============ OFERTA / CTA ============ */
  .offer{ background:var(--panel); color:var(--ink); text-align:center; }
  .offer .eyebrow{ color:var(--gold-deep); }
  .offer h2{ font-size:clamp(30px,4vw,46px); max-width:640px; margin:0 auto 18px; }
  .offer p.lead{ color:var(--taupe); max-width:480px; margin:0 auto 36px; font-size:15.5px; }
  .offer-box{
    max-width:420px; margin:0 auto; background:var(--paper);
    border:1px solid var(--line); border-radius:22px; padding:38px 32px;
  }
  .offer-box .price{
    font-family:'Playfair Display', serif; font-style:italic; font-size:15px; color:var(--taupe);
    margin-bottom:6px;
  }
  .offer-box .price strong{
    display:block; font-size:38px; color:var(--ink); font-style:normal; font-weight:700; margin-top:6px;
  }
  .offer-box ul{ list-style:none; text-align:left; margin:26px 0; display:flex; flex-direction:column; gap:12px; }
  .offer-box li{ display:flex; gap:10px; font-size:13.5px; color:var(--ink); }
  .offer-box li svg{ width:16px; height:16px; stroke:var(--gold-deep); flex-shrink:0; margin-top:2px; }
  .offer .btn-primary{ background:var(--bordo); width:100%; justify-content:center; }
  .offer .btn-primary:hover{ background:var(--bordo-deep); }
  .offer-fine{ font-size:12px; color:var(--taupe); margin-top:16px; }

  /* ============ FAQ ============ */
  .faq{ background:var(--paper); }
  .faq-list{ max-width:720px; }
  .faq-item{ border-top:1px solid var(--line); padding:22px 0; }
  .faq-item:last-child{ border-bottom:1px solid var(--line); }
  .faq-item summary{
    cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;
    font-weight:600; font-size:15.5px; font-family:'Playfair Display', serif; font-style:italic;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .plus{ font-size:20px; color:var(--rose); transition:transform .2s ease; }
  .faq-item[open] summary .plus{ transform:rotate(45deg); }
  .faq-item p{ margin-top:14px; font-size:14px; color:#5C4A44; max-width:600px; }

  /* ============ FOOTER ============ */
  footer{ background:var(--panel-2); color:var(--taupe); padding:50px 0 30px; border-top:1px solid var(--line); }
  .foot-grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  .foot-brand{ font-family:'Playfair Display', serif; font-style:italic; color:var(--ink); font-size:18px; }
  footer .foot-links{ display:flex; gap:22px; font-size:13px; color:var(--ink); }
  footer .copy{ font-size:12px; margin-top:26px; color:var(--taupe); text-align:center; }

  /* ============ RESPONSIVE ============ */
  @media (max-width:880px){
    .module .num{ flex-basis:56px; font-size:26px; }
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
  }
