body{margin:0;background:#17110D}
a{color:#FF6A00}a:hover{color:#FF8A33}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0;text-transform:uppercase;letter-spacing:-0.5px}
.eyebrow{font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#FF6A00}
.card{background:#221913;border:1px solid #3A2B20;border-radius:14px;padding:24px;box-sizing:border-box}
.ck{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#FF6A00;color:#17110D;font-weight:800;font-size:15px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:16px 36px;border-radius:12px;background:#FF6A00;color:#17110D;font-weight:900;font-size:18px;text-transform:uppercase;text-decoration:none;letter-spacing:0.3px;box-sizing:border-box;text-align:center;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.cta:hover{background:#FF8A33;color:#17110D;transform:translateY(-4px) scale(1.02);animation:none}
.cta:active{transform:translateY(1px) scale(.97);animation:none}
.muted{color:#CDBFB2}
.band{background:#1D1611;border-top:1px solid #33261C;border-bottom:1px solid #33261C;padding:72px 0}
details{background:#221913;border:1px solid #3A2B20;border-radius:12px;padding:18px 22px}
summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none}
summary::-webkit-details-marker{display:none}


.violino-carousel-section{background:#fff;color:#17110d;padding:72px 0;overflow:hidden}
.violino-carousel-heading{max-width:1080px;margin:0 auto 36px;padding:0 20px;text-align:center}
.violino-carousel-heading h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(28px,4vw,42px);line-height:1.1;margin:10px 0 0;text-transform:uppercase}
.violino-carousel-wrap{overflow:hidden;position:relative;touch-action:pan-y;cursor:grab}
.violino-carousel-wrap+.violino-carousel-wrap{margin-top:14px}
.violino-carousel-wrap:active{cursor:grabbing}
.violino-carousel-track{display:flex;gap:14px;width:max-content;animation:violino-scroll-left 34s linear infinite;will-change:transform}
.violino-carousel-track.is-dragging{animation-play-state:paused}
.violino-carousel-track.reverse{animation-name:violino-scroll-right;animation-duration:38s}
.violino-carousel-item{flex:0 0 clamp(280px,34vw,430px);height:clamp(200px,24vw,305px);border:1px solid #e4dcd2;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(23,17,13,.12)}
.violino-carousel-item img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.hero-delivery{margin:22px 0 8px;text-align:center}
.hero-delivery-text{margin:0 0 12px;color:#C5CEDD;font-size:.82rem}
.hero-delivery-chips{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.delivery-chip{display:flex;align-items:center;gap:8px;background:#18243A;border:1px solid #36445C;color:#FFFFFF;padding:10px 18px;border-radius:50px;font-size:.82rem;font-weight:700}
.delivery-chip img{width:18px;height:18px;flex-shrink:0;object-fit:contain}
@keyframes violino-scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes violino-scroll-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes cta-float-pulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 8px 20px rgba(255,106,0,.18)}50%{transform:translateY(-5px) scale(1.015);box-shadow:0 16px 32px rgba(255,106,0,.4),0 0 0 7px rgba(255,106,0,.12)}}


/* Extracted page components and reusable utilities */
.access-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.announcement-bar {
  background: #FF6A00;
  color: #17110D;
  text-align: center;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 1.5px;
  padding: 12px 16px;
  text-transform: uppercase;
}

.audience-title {
  font-weight: 800;
  font-size: 18px;
  color: #FF6A00;
}

.author-bio {
  flex: 1 1 420px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.author-copy {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
}

.author-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
}

.author-photo {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.author-photo-column {
  flex: 1 1 320px;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.author-photo-frame {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  background: #221913;
  border: 2px dashed #5A4532;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-style: solid;
}

.bonus-image {
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
  margin-bottom:6px;
}

.bonus-kicker {
  font-weight:800;
  font-size:13px;
  letter-spacing:1.5px;
  color:#F28B6B;
}

.bonus-note {
  margin: 0;
  font-size: 16px;
}

.bonus-title {
  font-weight:800;
  font-size:19px;
}

.carousel-eyebrow {
  color:#B83E00;
}

.check-muted {
  background: #3A2B20;
  color: #CDBFB2;
}

.check-row {
  display:flex;
  gap:10px;
}

.comparison-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.comparison-card-featured {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 2px solid #FF6A00;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.comparison-row {
  display: flex;
  gap: 10px;
  line-height: 1.5;
}

.comparison-title {
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  color: #FF6A00;
}

.comparison-title-muted {
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  color: #CDBFB2;
}

.content-stack {
  display:flex;
  flex-direction:column;
  gap:36px;
}

.copyright {
  margin:0;
  font-size:13px;
  line-height:1.6;
  font-weight:700;
}

.credential-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.credential-pill {
  border: 1px solid #5A4532;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
}

.cta-center {
  display: flex;
  justify-content: center;
}

.cta-compact {
  min-height: 52px;
  padding: 12px 26px;
  font-size: 16px;
}

.disclaimer {
  margin: 24px 0 0;
  font-size: 13px;
  line-height: 1.6;
  max-width: 760px;
}

.faq-answer {
  line-height: 1.6;
  margin: 12px 0 0;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-section {
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 860px;
}

.final-cta {
  border-top: 1px solid #33261C;
  padding: 64px 0 40px;
}

.final-cta-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}

.full-width {
  width:100%;
}

.gallery-frame {
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:14px;
  border:1px solid #3A2B20;
  background:#0B101D;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}

.gallery-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.guarantee-badge {
  flex: 0 0 120px;
  height: 120px;
  border-radius: 50%;
  border: 3px solid #FF6A00;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.guarantee-card {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  align-items: center;
  padding: 36px;
  max-width: 900px;
  margin: 0 auto;
}

.guarantee-copy {
  flex: 1 1 320px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.guarantee-days {
  font-weight: 900;
  font-size: 44px;
  color: #FF6A00;
  line-height: 1;
}

.guarantee-description {
  margin: 0;
  line-height: 1.6;
  font-size: 17px;
}

.guarantee-section {
  padding-top: 80px;
  padding-bottom: 72px;
}

.guarantee-title {
  font-size: 28px;
}

.guarantee-unit {
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 1.5px;
}

.hero {
  padding-top: 64px;
  padding-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid #FF6A00;
  color: #FF6A00;
  border-radius: 999px;
  padding: 8px 18px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.hero-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 28px;
  font-weight: 700;
  font-size: 16px;
}

.hero-image {
  display:block;
  width:100%;
  max-width:1100px;
  height:auto;
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}

.hero-summary {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.5;
  margin: 0;
  max-width: 820px;
  font-weight: 500;
}

.hero-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: clamp(32px, 5.4vw, 60px);
  line-height: 1.06;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: -1px;
  max-width: 1000px;
}

.icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.intro-copy {
  margin: 0;
  max-width: 720px;
  font-size: 17px;
  line-height: 1.55;
}

.legal-meta {
  margin: 0;
  font-size: 13px;
}

.limited-accent {
  color:#F28B6B;
}

.module-card-featured {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 2px solid #FF6A00;
}

.module-number {
  font-weight: 900;
  font-size: 30px;
  color: #FF6A00;
}

.module-title {
  font-weight: 900;
  font-size: 17px;
  text-transform: uppercase;
}

.modules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}

.old-price {
  color:#D95C5C;
  font-weight:800;
  text-decoration:line-through;
  text-decoration-color:#D95C5C;
  text-decoration-thickness:3px;
}

.plan-features {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  font-size:16px;
  line-height:1.45;
  text-align:left;
}

.plan-image {
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}

.plan-label {
  align-self:flex-start;
  background:#FF6A00;
  color:#FFFFFF;
  font-weight:800;
  font-size:12px;
  letter-spacing:1.2px;
  padding:7px 12px;
  border-radius:999px;
}

.plan-price-style {
  font-weight:900;
  font-size:clamp(48px,10vw,68px);
  color:#00E676;
  line-height:1;
}

.plan-title {
  font-weight:900;
  font-size:26px;
  text-transform:uppercase;
}

.price-block {
  display:flex;
  flex-direction:column;
  gap:6px;
  border-top:1px solid #3A2B20;
  padding-top:18px;
  text-align:center;
}

.pricing-card {
  border:2px solid #FF6A00;
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:18px;
  text-align:left;
}

.pricing-grid {
  display:grid;
  grid-template-columns:minmax(0,560px);
  justify-content:center;
  width:100%;
}

.pricing-section {
  padding:80px 0;
}

.professor-gallery {
  flex:1 1 100%;
  width:100%;
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.professor-gallery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  width:100%;
}

.professor-gallery-title {
  font-weight:900;
  font-size:clamp(20px,3vw,28px);
  text-transform:uppercase;
  text-align:center;
  color:#FFFFFF;
}

.responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}

.sales-page {
  font-family: 'Montserrat', sans-serif;
  color: #F6EFE7;
  background: #17110D;
  width: 100%;
  min-height: 100%;
}

.scarcity-copy {
  text-align:center;
  color:#FFFFFF;
  font-weight:900;
  font-size:15px;
  line-height:1.5;
}

.scarcity-underline {
  text-decoration-line:underline;
  text-decoration-color:#FF0000;
  text-decoration-thickness:3px;
  text-underline-offset:5px;
}

.section-heading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: center;
  align-items: center;
}

.section-stack {
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.spaced-top {
  margin-top: 8px;
}

.stack-md {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.stack-sm {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.step-number {
  font-weight: 900;
  font-size: 36px;
  color: #FF6A00;
}

.step-title {
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.text-accent {
  color: #FF6A00;
}

.text-base {
  font-size:16px;
}

.text-relaxed {
  line-height: 1.55;
}

.text-small {
  font-size:14px;
}

.urgency {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#061A44 0%,#0A2F70 58%,#071B3D 100%);
  color:#FFFFFF;
  padding:72px 0;
  border-top:1px solid rgba(255,106,0,.65);
  border-bottom:1px solid rgba(255,106,0,.65);
  box-shadow:inset 0 24px 80px rgba(0,0,0,.24);
}

.urgency-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.urgency-copy {
  margin: 0;
  font-size: 18px;
  max-width: 720px;
  line-height: 1.5;
}

.urgency-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 16px 36px;
  border-radius: 12px;
  background: #17110D;
  color: #FF6A00;
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  transition: transform .18s ease, color .18s ease, box-shadow .18s ease;
}

.urgency-cta:hover {
  transform: translateY(-4px) scale(1.02);
  animation: none;
}

.urgency-cta:active {
  transform: translateY(1px) scale(.97);
  animation: none;
}

.cta,.urgency-cta {
  animation: cta-float-pulse 2.4s ease-in-out infinite;
  will-change: transform, box-shadow;
}

.urgency-label {
  display:inline-flex;
  align-items:center;
  padding:7px 14px;
  border-radius:999px;
  background:#FF6A00;
  color:#17110D;
  font-weight:900;
  font-size:12px;
  letter-spacing:1.8px;
}

.urgency-title {
  color:#FFFFFF;
  font-size:clamp(30px,4.5vw,48px);
  text-shadow:0 3px 20px rgba(0,0,0,.32);
}

.whatsapp-art {
  min-height:190px;
  border-radius:12px;
  background:linear-gradient(135deg,#128C7E,#25D366);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  box-sizing:border-box;
  color:#FFFFFF;
}

.whatsapp-icon {
  font-size:42px;
  line-height:1;
  margin-bottom:10px;
}

.whatsapp-kicker {
  font-weight:900;
  font-size:14px;
  letter-spacing:1.5px;
}

.whatsapp-title {
  font-weight:900;
  font-size:28px;
}

@media (prefers-reduced-motion:reduce) {
  .violino-carousel-track { animation-play-state: paused; }
  .cta, .hero .cta, .urgency-cta { animation: none; transition: none; }
  .cta:hover, .cta:active, .urgency-cta:hover, .urgency-cta:active { transform: none; }
}
