 :root{
    --black:#0B0B0C;
    --charcoal:#17171A;
    --charcoal-2:#1F2023;
    --white:#F7F6F2;
    --off:#EFEDE7;
    --red:#D91921;
    --red-deep:#8A1015;
    --silver:#9A9A9D;
    --line: rgba(247,246,242,0.12);
    --line-dark: rgba(11,11,12,0.10);
    --max: 720px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    background:var(--white);
    color:var(--black);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Oswald', sans-serif;
    font-weight:600;
    letter-spacing:0.2px;
    line-height:1.15;
  }
  img{max-width:100%; display:block;}

  
  a{color:inherit;}
  .wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 24px;
  }
  .prose{
    max-width:var(--max);
  }
  .center{ text-align:center; margin-left:auto; margin-right:auto; }

  /* ---------- NAV ---------- */
  .nav{
    background:var(--black);
    padding:18px 0;
    border-bottom:1px solid var(--line);
  }
  .nav .wrap{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .logo-img{
    height:100px;
    width:auto;
  }

  .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

  /* ---------- HERO ---------- */
  .hero{
    background:
      linear-gradient(180deg, rgba(11,11,12,0.80) 0%, rgba(11,11,12,0.72) 55%, rgba(11,11,12,0.92) 100%),
      url('content/banner.jpg') center 30% / cover no-repeat;
    color:var(--white);
    padding:110px 0 96px;
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:6px;
    background:linear-gradient(90deg, var(--red-deep), var(--red) 35%, var(--red) 65%, var(--red-deep));
  }
  .hero .wrap{
    max-width:820px;
  }
  .hero h1{
    font-size:clamp(30px, 5vw, 48px);
    text-align:center;
    color:var(--white);
  }
  .hero .sub{
    text-align:center;
    color:var(--silver);
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:18px;
    font-family:'Oswald', sans-serif;
  }
  .hero-cta{
    display:flex;
    justify-content:center;
    margin-top:44px;
  }

  /* ---------- BUTTON ---------- */
  .btn-buy{
    position:relative;
    display:inline-block;
    font-family:'Oswald', sans-serif;
    font-weight:600;
    font-size:18px;
    letter-spacing:0.5px;
    color:var(--white);
    background:linear-gradient(180deg, var(--red) 0%, var(--red-deep) 100%);
    padding:18px 46px;
    border:none;
    border-radius:4px;
    cursor:pointer;
    text-decoration:none;
    overflow:hidden;
    box-shadow: 0 0 0 0 rgba(227,30,36,0.55);
    animation: buy-pulse 2.6s ease-in-out infinite;
    transition: transform .18s ease;
  }
  .btn-buy:hover{ transform: translateY(-2px); }
  .btn-buy::before{
    content:"";
    position:absolute;
    top:0; left:-60%;
    width:40%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg);
    animation: buy-shine 3.2s ease-in-out infinite;
  }
  @keyframes buy-shine{
    0%{ left:-60%; }
    45%{ left:130%; }
    100%{ left:130%; }
  }
  @keyframes buy-pulse{
    0%{ box-shadow: 0 0 0 0 rgba(227,30,36,0.55); }
    60%{ box-shadow: 0 0 0 14px rgba(227,30,36,0); }
    100%{ box-shadow: 0 0 0 0 rgba(227,30,36,0); }
  }
  @media (prefers-reduced-motion: reduce){
    .btn-buy{ animation:none; }
    .btn-buy::before{ animation:none; display:none; }
  }

  /* ---------- SECTIONS GENERIC ---------- */
  section{ padding:76px 0; }
  .section-light{ background:var(--white); }
  .section-off{ background:var(--off); }
  .section-dark{ background:var(--charcoal); color:var(--white); }
  .section-black{ background:var(--black); color:var(--white); }

  .eyebrow{
    font-family:'Oswald', sans-serif;
    font-size:13px;
    letter-spacing:2px;
    color:var(--red);
    margin-bottom:10px;
  }
  h2.title{
    font-size:clamp(24px, 3.4vw, 32px);
    margin-bottom:22px;
  }
  .rule{
    width:56px; height:3px;
    background:var(--red);
    margin:0 auto 28px;
  }
  p{ margin-bottom:16px; font-size:16px; }
  p:last-child{ margin-bottom:0; }

  /* ---------- LISTS ---------- */
  ul.check-list{ list-style:none; margin-top:26px; }
  ul.check-list li{
    position:relative;
    padding-left:30px;
    margin-bottom:16px;
    font-size:16.5px;
  }
  ul.check-list li::before{
    content:"";
    position:absolute;
    left:0; top:8px;
    width:14px; height:14px;
    border:2px solid var(--red);
    transform:rotate(45deg);
  }
  .section-dark ul.check-list li::before,
  .section-black ul.check-list li::before{
    border-color:var(--red);
  }

  ul.dash-list{ list-style:none; margin-top:24px; }
  ul.dash-list li{
    position:relative;
    padding-left:22px;
    margin-bottom:14px;
  }
  ul.dash-list li::before{
    content:"—";
    position:absolute; left:0; top:0;
    color:var(--red);
  }

  /* ---------- WHO IT'S FOR ---------- */
  .for-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:36px;
  }
  .for-card{
    border-left:3px solid var(--red);
    padding:18px 20px;
    background:rgba(255,255,255,0.03);
  }
  .section-light .for-card, .section-off .for-card{
    background:var(--white);
    box-shadow:0 1px 0 var(--line-dark);
  }
  .for-card p{ font-size:15px; margin:0; }
  @media (max-width:760px){
    .for-grid{ grid-template-columns:1fr; }
  }

  /* ---------- SALES PUSH ---------- */
  .sales-push{
    text-align:center;
  }
  .sales-push .prose{ margin:0 auto 40px; }

  /* ---------- TESTIMONIALS ---------- */
  .testi-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
    margin-top:40px;
  }
  .testi-card{
    background:var(--white);
    border:1px solid var(--line-dark);
    padding:22px;
  }
  .testi-avatar{
    width:44px; height:44px;
    border-radius:50%;
    background:var(--off);
    border:1px solid var(--line-dark);
    margin-bottom:14px;
  }
  .testi-card .name{
    font-family:'Oswald', sans-serif;
    font-size:20px;
    letter-spacing:0.5px;
    margin-bottom:6px;
    color: #D91921;
  }
  
  .cardfeed {
    margin-top: 15px;
  }

  @media (max-width:760px){
    .testi-grid{ grid-template-columns:1fr; }
  }

  /* ---------- COUNTDOWN ---------- */
  .countdown-wrap{ text-align:center; }
  .countdown{
    display:flex;
    justify-content:center;
    gap:18px;
    margin:34px 0 40px;
  }
  .cd-unit{
    min-width:78px;
    padding:14px 8px;
    background:var(--charcoal-2);
    border:1px solid var(--line);
  }
  .cd-num{
    font-family:'Oswald', sans-serif;
    font-size:32px;
    font-weight:600;
    color:var(--red);
    line-height:1;
  }
  .cd-label{
    font-size:11px;
    letter-spacing:1.5px;
    color:var(--silver);
    text-transform:uppercase;
    margin-top:6px;
  }

  /* ---------- ABOUT PROFESSIONAL ---------- */
  .about-grid{
    display:grid;
    grid-template-columns: 300px 1fr;
    gap:44px;
    align-items:start;
  }
  .about-photo-slot{
    background:var(--charcoal-2);
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--silver);
    font-size:13px;
    text-align:center;
    padding:12px;
  }
  .about-name{
    font-family:'Oswald', sans-serif;
    font-size:22px;
    color:var(--red);
    margin-bottom:4px;
  }
  .about-role{
    font-size:13px;
    color:var(--silver);
    margin-bottom:20px;
  }
  @media (max-width:700px){
    .about-grid{ grid-template-columns:1fr; }
    .about-photo-slot{ max-width:220px; margin:0 auto 8px; }
  }

  /* ---------- GUARANTEE ---------- */
  .guarantee{
    text-align:center;
  }
  .guarantee-badge{
    width:78px; height:78px;
    border:2px solid var(--red);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    font-family:'Oswald', sans-serif;
    color:var(--red);
    font-size:22px;
    font-weight:600;
  }

  /* ---------- FINAL OFFER ---------- */
  .offer{
    text-align:center;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(227,30,36,0.22), transparent 60%),
      var(--black);
    color:var(--white);
    padding:88px 0 80px;
  }
  .price{
    font-family:'Oswald', sans-serif;
    font-size:clamp(38px, 6vw, 56px);
    color:var(--white);
    margin:14px 0 34px;
  }
  .price span{ color:var(--red); }
  .secure{
    margin-top:22px;
    font-size:12.5px;
    letter-spacing:1.5px;
    color:var(--silver);
    text-transform:uppercase;
  }

  /* ---------- LEARN + VIDEOS ---------- */
  .learn-layout{
    display:grid;
    grid-template-columns: 1fr minmax(0,560px) 1fr;
    gap:34px;
    align-items:center;
    margin-top:10px;
  }
  .learn-video{
    position:relative;
    aspect-ratio: 3 / 4;
    overflow:hidden;
    background:var(--black);
    border:1px solid var(--line-dark);
  }
  .learn-video video{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
  }
  @media (max-width:880px){
    .learn-layout{
      grid-template-columns:1fr;
    }
    .learn-video{
      max-width:320px;
      margin:0 auto;
      aspect-ratio: 3 / 4;
    }
  }

  /* ---------- GALERIA ---------- */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    grid-auto-rows:220px;
    gap:14px;
    margin-top:38px;
  }
  .gallery-grid a{
    display:block;
    overflow:hidden;
    position:relative;
  }
  .gallery-grid img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
  }
  .gallery-grid a:hover img{ transform:scale(1.05); }
  .gallery-grid a:nth-child(1){ grid-column:span 2; grid-row:span 2; }
  @media (max-width:760px){
    .gallery-grid{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:160px; }
    .gallery-grid a:nth-child(1){ grid-column:span 2; grid-row:span 1; }
  }

  .lightbox{
  position:fixed;
  inset:0;
  background:rgba(11,11,12,0.85);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999;
  padding:24px;
}
.lightbox.is-open{ display:flex; }

.lightbox-card{
  position:relative;
  background:#F7F6F2;
  padding:14px;
  border-radius:8px;
  box-shadow:0 25px 70px rgba(0,0,0,0.55);
  max-width:min(900px, 92vw);
  max-height:88vh;
  display:flex;
}
.lightbox-img{
  display:block;
  max-width:100%;
  max-height:calc(88vh - 28px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:3px;
}
.lightbox-close{
  position:absolute;
  top:24px; right:24px;
  width:34px; height:34px;
  border-radius:50%;
  background:rgba(11,11,12,0.75);
  border:none;
  color:#F7F6F2;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.lightbox-close:hover{ background:#D91921; }

.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px; height:42px;
  border-radius:50%;
  background:rgba(11,11,12,0.75);
  border:none;
  color:#F7F6F2;
  font-size:15px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.lightbox-nav:hover{ background:#D91921; }
.lightbox-prev{ left:24px; }
.lightbox-next{ right:24px; }

@media (max-width:600px){
  .lightbox-card{ padding:8px; }
  .lightbox-close{ width:30px; height:30px; font-size:17px; top:16px; right:16px; }
  .lightbox-nav{ width:36px; height:36px; font-size:13px; }
  .lightbox-prev{ left:16px; }
  .lightbox-next{ right:16px; }
}

  /* ---------- CONTATO ---------- */
  .contact-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:34px;
  }
  .contact-card{
    border:1px solid var(--line-dark);
    padding:22px 18px;
    text-align:center;
    text-decoration:none;
    color:var(--black);
    transition:border-color .15s ease;
  }
  .contact-card:hover{ border-color:var(--red); }
  .contact-card .c-label{
    font-family:'Oswald', sans-serif;
    font-size:14px;
    letter-spacing:1px;
    color:var(--red);
    margin-bottom:6px;
  }
  .contact-card .c-value{ font-size:14.5px; }
  @media (max-width:700px){
    .contact-grid{ grid-template-columns:1fr; }
  }
  .presencial{
    margin-top:52px;
    padding-top:44px;
    border-top:1px solid var(--line-dark);
    text-align:center;
  }
  .presencial .btn-buy{
    background:linear-gradient(180deg, var(--black) 0%, #000 100%);
    animation:none;
  }
  .presencial .btn-buy::before{ display:none; }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--black);
    color:var(--silver);
    padding:34px 0;
    text-align:center;
    font-size:13px;
    border-top:1px solid var(--line);
  }
  footer .foot-brand{
    font-family:'Oswald', sans-serif;
    color:var(--white);
    font-size:15px;
    margin-bottom:6px;
    letter-spacing:0.5px;
  }
  
  a{
    text-decoration: none;
  }