:root{
    --purple:#55489d;
    --purple-light:#a8a8d4;
    --purple-tint:rgba(85,72,157,.08);
    --orange:#f37053;
    --orange-tint:rgba(243,112,83,.08);
    --pink:#ea5178;
    --blue:#2581c4;
    --gray-600:#6e6e6e;
    --gray-500:#6e6a85;
    --gray-400:#b6b6b6;
    --gray-300:#dadada;
    --gray-200:#f2f2f2;
  }

  body{
    font-family:'allerregular', Arial, sans-serif;
    color:var(--gray-600);
    -webkit-font-smoothing:antialiased;
  }
  .or-b{font-family:'allerbold', Arial, sans-serif;}
  .or-l{font-family:'allerlight', Arial, sans-serif;}

  .or-container{
    max-width:1024px;
    margin:0 auto;
    padding:0 16px;
  }

  .or-eyebrow{
    font-family:'allerbold', Arial, sans-serif;
    color:var(--orange);
    font-size:12px;
    letter-spacing:.2px;
    text-transform:uppercase;
    margin:0 0 8px;
  }
  .or-h2{
    font-family:'allerbold', Arial, sans-serif;
    color:var(--purple);
    font-size:22px;
    line-height:1.3;
    margin:0 0 16px;
  }
  .or-p{
    font-size:13px;
    line-height:1.6;
    color:var(--gray-600);
  }
  .or-tag-hash{
    font-family:'allerbold', Arial, sans-serif;
    font-size:12px;
    white-space:nowrap;
  }
  .or-tag-hash .light{font-family:'allerlight', Arial, sans-serif;}
  .or-btn-purple, a.or-btn-purple{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--purple);
    color:#fff;
    font-family:'allerbold', Arial, sans-serif;
    font-size:13px;
    border-radius:999px;
    padding:12px 22px;
    border:0;
    text-decoration:none;
  }
  .or-btn-purple:hover, .or-btn-purple:focus{color:#fff; text-decoration:none; opacity:.92;}
  .or-btn-orange, a.or-btn-orange{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--orange);
    color:#fff;
    font-family:'allerbold', Arial, sans-serif;
    font-size:13px;
    border-radius:999px;
    padding:14px 22px;
    border:0;
    text-decoration:none;
    width:100%;
  }
  .or-btn-orange:hover, .or-btn-orange:focus{color:#fff; text-decoration:none; opacity:.92;}
  .or-icon{display:inline-block; vertical-align:middle;}

  /* ---------- HERO ---------- */
  .or-hero{
    position:relative;
    overflow:hidden;
    background:var(--purple);
    color:#fff;
  }
  .or-hero-track{
    display:flex;
    transition:transform .6s ease;
  }
  .or-hero-slide{
    min-width:100%;
    box-sizing:border-box;
    position:relative;
    overflow:hidden;
    padding:48px 0;
  }
  .or-hero-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .or-hero-text{max-width:506px;}
  .or-hero-text h1, .or-hero-text h2{
    font-family:'allerbold', Arial, sans-serif;
    font-size:34px;
    line-height:1.2;
    margin:16px 0;
  }
  .or-hero-text p{font-size:16px; line-height:1.4; margin:0;}
  .or-hero-ctas{
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
    max-width:475px;
    margin-top:32px;
  }
  .or-hero-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border:1px solid var(--purple-light);
    border-radius:8px;
    padding:14px 20px;
    flex-wrap:wrap;
  }
  .or-hero-cta span{font-size:14px;}
  .or-hero-cta .or-btn-purple{background:var(--gray-200); color:var(--purple); font-size:13px;}
  .or-hero-cta .or-btn-purple .or-cta-label{color:var(--purple);}
  .or-hero-cta:last-child .or-btn-purple{background:#fff;}

  .or-hero-photo{
    width:100%;
    max-width:340px;
    margin:24px auto 0;
    display:block;
  }
  .or-hero-discount .or-discount-figure{position:relative;}
  .or-hero-bg-swirl{
    position:absolute;
    right:0;
    top:-10px;
    width:47.6%;
    max-width:610px;
    opacity:.9;
    pointer-events:none;
  }
  .or-hero-bg-swirl-mobile{
    position:absolute;
    left:-6%;
    top:48%;
    width:111%;
    opacity:.9;
    pointer-events:none;
  }

  .or-hero-dots{
    position:absolute;
    left:0; right:0; bottom:16px;
    display:flex;
    justify-content:center;
    gap:8px;
  }
  .or-hero-dots button{
    width:8px; height:8px; border-radius:50%;
    background:var(--purple-light);
    border:0; padding:0; cursor:pointer;
  }
  .or-hero-dots button.active{background:#fff;}

  /* ---------- CONTENT (mama / próstata) ---------- */
  .or-content{background:#fff; padding:48px 0;}
  .or-content.tint-purple{background:var(--purple-tint);}
  .or-content.tint-orange{background:var(--orange-tint);}
  .or-content-row{display:flex; align-items:center; gap:56px; flex-wrap:wrap;}
  .or-content-row.reverse{flex-direction:row-reverse;}
  .or-content-figure{flex:0 0 auto; margin:0 auto; text-align:center;}
  .or-content-figure img{width:260px; max-width:100%; height:auto;}
  .or-content-text{flex:1 1 320px; min-width:0;}
  .or-content-divider{border:0; border-top:1px solid var(--gray-300); margin:20px 0;}
  .or-signals-title{
    font-family:'allerbold', Arial, sans-serif;
    color:var(--purple);
    font-size:16px;
    margin:0 0 12px;
  }
  .or-list{list-style:none; margin:0; padding:0;}
  .or-list li{
    position:relative;
    padding-left:20px;
    font-size:13px;
    line-height:1.6;
    color:var(--gray-600);
    margin-bottom:8px;
  }
  .or-list li img.or-bullet{
    position:absolute; left:0; top:8px; width:6px; height:6px;
  }
  .or-tags{display:flex; flex-wrap:wrap; gap:8px; margin:16px 0;}
  .or-tags span{
    border:1px solid var(--gray-400);
    border-radius:4px;
    padding:10px 14px;
    font-size:13px;
    color:var(--gray-600);
    display:inline-block;
  }

  /* ---------- DIFERENCIAIS ---------- */
  .or-dif{background:#fff; padding:48px 0;}
  .or-dif-track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    margin:0 -16px;
    padding-left:16px;
    padding-right:16px;
  }
  .or-dif-card{
    scroll-snap-align:start;
    flex:0 0 82%;
    background:#fff;
    border:1px solid var(--gray-300);
    border-radius:8px;
    padding:24px;
  }
  .or-dif-card img{width:24px; height:24px; margin-bottom:14px; display:block;}
  .or-dif-card h3{
    font-family:'allerbold', Arial, sans-serif;
    color:var(--purple);
    font-size:14px;
    margin:0 0 10px;
  }
  .or-dif-card p{font-size:12px; line-height:1.6; margin:0; color:var(--gray-600);}
  .or-dif-dots{display:flex; justify-content:center; gap:8px; margin-top:16px;}
  .or-dif-dots span{width:8px; height:8px; border-radius:50%; background:var(--gray-300); display:inline-block;}
  .or-dif-dots span.active{background:var(--purple);}

  /* ---------- DISCOUNT / COUPON ---------- */
  .or-promo{
    position:relative;
    background:var(--purple);
    color:#fff;
    padding:48px 0;
    overflow:hidden;
  }
  .or-promo-bg{position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; z-index:0;}
  .or-promo-bg img{position:absolute; opacity:.5;}
  .or-promo-bg img.c1{right:-60px; top:-120px; width:340px;}
  .or-promo-bg img.c2{left:-260px; top:100px; width:340px;}
  .or-promo-bg img.vec{right:-30px; bottom:-40px; width:60%; max-width:460px;}
  .or-promo-inner{position:relative; z-index:1;}
  .or-promo-lead{font-size:16px; margin:0 0 12px;}
  .or-promo-off{
    font-family:'allerbold', Arial, sans-serif;
    font-size:44px;
    line-height:1.1;
    margin:0 0 8px;
  }
  .or-promo-off-note{font-size:12px; margin:0 0 24px;}
  .or-promo-cols{display:flex; gap:32px; flex-wrap:wrap;}
  .or-promo-cols > div{flex:1 1 200px;}
  .or-promo-cols h4{
    font-family:'allerbold', Arial, sans-serif;
    color:#fff;
    font-size:14px;
    margin:0 0 12px;
  }
  .or-promo-cols .or-list li{color:#fff;}
  .or-promo-cols .or-list li img.or-bullet{filter:brightness(0) invert(1);}

  .or-coupon{
    background:#fff;
    border-radius:14px;
    padding:24px;
    color:var(--gray-500);
    text-align:center;
    max-width:280px;
    margin:32px auto 0;
  }
  .or-coupon-title{
    font-family:'allerbold', Arial, sans-serif;
    font-size:11px;
    letter-spacing:.2px;
    margin:0 0 14px;
  }
  .or-coupon-code{
    background:var(--gray-200);
    border:1.5px dashed var(--purple-light);
    border-radius:10px;
    color:var(--purple);
    font-family:'allerbold', Arial, sans-serif;
    font-size:16px;
    padding:12px;
    margin-bottom:12px;
  }
  .or-coupon-note{font-size:11px; margin:14px 0; line-height:1.5;}
  .or-coupon-divider{border:0; border-top:1px solid #e7e5f0; margin:14px 0;}
  .or-coupon-phone{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:16px;
  }
  .or-coupon-phone img{width:20px; height:20px; background:var(--gray-200); border-radius:50%; padding:7px; box-sizing:content-box;}
  .or-coupon-phone .lbl{font-size:11px; display:block;}
  .or-coupon-phone .num{font-family:'allerbold', Arial, sans-serif; font-size:16px; color:#191534; display:block;}

  /* ---------- STEPS ---------- */
  .or-steps{background:#fff; padding:48px 0; text-align:center;}
  .or-steps .or-h2{font-size:22px;}
  .or-steps-toggle{
    display:flex;
    width:100%;
    border:1px solid var(--gray-300);
    border-radius:8px;
    overflow:hidden;
    margin:24px 0 40px;
  }
  .or-steps-toggle button{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1 1 0;
    min-width:0;
    border:0;
    border-right:1px solid var(--gray-300);
    background:transparent;
    padding:12px 14px;
    font-family:'allerregular', Arial, sans-serif;
    font-size:13px;
    line-height:1.3;
    text-align:left;
    color:var(--gray-600);
    cursor:pointer;
  }
  .or-steps-toggle button:last-child{border-right:0;}
  .or-steps-toggle button img{flex:0 0 auto;}
  .or-steps-toggle button.active{
    background:var(--purple-tint);
    color:var(--purple);
    font-family:'allerbold', Arial, sans-serif;
  }
  .or-steps-track{
    display:flex;
    flex-direction:column;
    gap:32px;
    position:relative;
    margin-top:32px;
    text-align:left;
  }
  .or-steps-line{
    position:absolute;
    left:6px; top:13px; bottom:13px;
    width:2px;
    background:#eaeafa;
  }
  .or-step{display:flex; align-items:flex-start; gap:16px;}
  .or-step .marker{position:relative; z-index:1; flex:0 0 14px; width:14px; height:14px; margin-top:6px;}
  .or-step-body{flex:1; min-width:0;}
  .or-step .num{
    font-family:'allerlight', Arial, sans-serif;
    color:var(--orange);
    font-size:26px;
    display:inline-block;
    vertical-align:middle;
    margin-right:8px;
  }
  .or-step h3{
    font-family:'allerbold', Arial, sans-serif;
    color:var(--gray-600);
    font-size:15px;
    display:inline;
    margin:0;
  }
  .or-step p{font-size:13px; line-height:1.5; margin:6px 0 0;}
  .or-step p a{color:var(--gray-600); text-decoration:underline;}
  .or-steps-cta{margin-top:40px;}
  .or-steps-panel.is-hidden{display:none;}

  /* ---------- RESPONSIVE (desktop, >=768px) ---------- */
  @media (min-width:768px){
    .or-container{padding:0 24px;}
    .or-hero-slide{padding:80px 0;}
    .or-hero-inner{flex-wrap:nowrap;}
    .or-hero-text h1, .or-hero-text h2{font-size:48px;}
    .or-hero-text p{font-size:18px;}
    .or-hero-ctas{margin-top:0;}
    .or-hero-discount .or-hero-inner{position:relative;}
    .or-hero-photo{max-width:480px; margin:0;}

    .or-content-row{flex-wrap:nowrap;}
    .or-content-figure img{width:340px;}
    .or-h2{font-size:28px;}

    .or-dif-track{overflow-x:visible; scroll-snap-type:none; margin:0; padding:0;}
    .or-dif-card{flex:1 1 0;}
    .or-dif-dots{display:none;}

    .or-promo-inner .row{display:flex; align-items:center;}
    .or-coupon{margin:0 0 0 auto;}

    .or-steps-toggle{margin:24px auto 56px; display:inline-flex; width:auto;}
    .or-steps-toggle button{flex:0 0 auto; padding:14px 20px; font-size:14px; white-space:nowrap;}
    .or-steps-track{flex-direction:row; justify-content:space-between; flex-wrap:nowrap; text-align:center;}
    .or-steps-line{left:0; right:0; top:6px; bottom:auto; width:auto; height:2px;}
    .or-step{display:block; flex:1 1 200px; max-width:252px; margin:0 auto; gap:0;}
    .or-step .marker{display:block; margin:0 auto 12px;}
    .or-step .num{display:block; margin-right:0;}
    .or-step h3{display:block; margin:6px 0;}
    .or-step p{margin-top:0;}
  }
  @media (min-width:992px){
    .or-hero-text p{max-width:460px;}
  }