:root {
  --ink: #101416;
  --ink-soft: #4f5a5f;
  --paper: #f4f2ed;
  --white: #fff;
  --dark: #071014;
  --dark-2: #0c171c;
  --teal: #075d70;
  --teal-light: #c8e4e6;
  --orange: #ff5a12;
  --line: rgba(16, 20, 22, .13);
  --radius: 18px;
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.announcement {
  height: 34px; background: var(--orange); color: #fff; display: flex; align-items: center;
  justify-content: center; gap: 40px; font-size: 11px; font-weight: 700; letter-spacing: .08em;
}
.announcement span { display: flex; align-items: center; gap: 8px; }
.announcement i { width: 5px; height: 5px; background: white; border-radius: 50%; box-shadow: 0 0 0 4px rgba(255,255,255,.2); }
.announcement a { border-bottom: 1px solid rgba(255,255,255,.65); }

.site-header {
  height: 82px; position: absolute; top: 34px; z-index: 20; width: 100%; padding: 0 4.2vw;
  color: white; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.16);
}
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-logo-crop { --logo-h: 76px; position: relative; overflow: hidden; display: block; width: calc(var(--logo-h) * 2.182); height: var(--logo-h); flex: 0 0 auto; }
.brand-logo-crop img { position: absolute; max-width: none; width: calc(var(--logo-h) * 5.585); height: auto; left: calc(var(--logo-h) * -.4); top: calc(var(--logo-h) * -1.055); }
.brand-mark { width: 42px; height: 34px; fill: currentColor; }
.brand-accent { fill: var(--orange); }
.brand-name { font-family: var(--font-display); letter-spacing: .23em; font-size: 14px; line-height: 1.1; white-space: nowrap; }
.brand-name strong { font-weight: 800; }
.brand-name small { display: block; font-size: 6.5px; letter-spacing: .35em; margin-top: 5px; color: var(--orange); }
.desktop-nav { display: flex; gap: 34px; font-size: 13px; color: rgba(255,255,255,.8); }
.desktop-nav a, .phone-link { transition: color .2s; }
.desktop-nav a:hover, .phone-link:hover { color: white; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.phone-link { font-size: 12px; font-weight: 700; }
.phone-link span { display: block; color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }

.button {
  border: 1px solid currentColor; border-radius: 3px; padding: 15px 20px; display: inline-flex; align-items: center;
  justify-content: space-between; gap: 24px; font-weight: 700; font-size: 13px; background: transparent; color: inherit; transition: .22s ease;
}
.button:hover { transform: translateY(-2px); }
.button-small { padding: 12px 16px; border-color: rgba(255,255,255,.45); }
.button-primary { background: var(--orange); border-color: var(--orange); color: #fff; box-shadow: 0 8px 30px rgba(255,90,18,.22); }
.button-primary:hover { background: #e94d08; border-color: #e94d08; box-shadow: 0 11px 32px rgba(255,90,18,.3); }
.menu-button { display: none; width: 42px; height: 42px; background: none; border: 1px solid rgba(255,255,255,.35); }
.menu-button span { width: 17px; height: 1px; background: white; display: block; margin: 5px auto; transition: .2s; }
.mobile-menu { display: none; }

.hero { min-height: 780px; height: calc(100vh - 34px); position: relative; color: white; overflow: hidden; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,9,12,.94) 0%, rgba(3,9,12,.76) 29%, rgba(3,9,12,.16) 67%, rgba(3,9,12,.12)), linear-gradient(0deg, rgba(3,9,12,.6), transparent 45%); }
.hero-glow { position: absolute; width: 600px; height: 600px; left: -220px; top: 100px; background: rgba(0,89,112,.3); filter: blur(130px); border-radius: 50%; }
.hero-content { position: absolute; left: 8.5vw; top: 52%; transform: translateY(-43%); max-width: 690px; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 25px; font-size: 10px; letter-spacing: .2em; font-weight: 700; margin-bottom: 28px; }
.eyebrow span:first-child::before { content: ""; display: inline-block; width: 38px; height: 1px; background: var(--orange); margin: 0 14px 3px 0; }
.eyebrow.light { color: rgba(255,255,255,.65); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--font-display); letter-spacing: -.055em; }
h1 { font-size: clamp(58px, 6.6vw, 104px); line-height: .96; margin-bottom: 28px; font-weight: 700; }
h1 em, h2 em { color: var(--orange); font-style: normal; }
.hero-content > p { font-size: 17px; color: rgba(255,255,255,.72); line-height: 1.65; max-width: 540px; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.hero-actions .button { min-width: 205px; padding: 18px 20px; }
.text-link { font-weight: 700; font-size: 13px; display: inline-flex; align-items: center; gap: 10px; }
.light-link { color: white; }
.dark-link { color: var(--ink); padding-bottom: 5px; border-bottom: 1px solid var(--ink); }
.play { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; display: inline-grid; place-items: center; font-size: 9px; padding-left: 2px; }
.hero-proof { position: absolute; left: 8.5vw; bottom: 40px; z-index: 2; display: flex; align-items: center; gap: 15px; }
.proof-avatars { display: flex; }
.proof-avatars span { width: 31px; height: 31px; border-radius: 50%; background: #174755; display: grid; place-items: center; font-size: 8px; font-weight: 800; border: 2px solid var(--dark); margin-left: -7px; }
.proof-avatars span:first-child { margin-left: 0; background: #bfc8c7; color: #122; }
.proof-avatars span:nth-child(2) { background: #bb6d43; }
.proof-avatars span:nth-child(3) { background: #3a5969; }
.hero-proof strong { font-size: 12px; display: block; }
.hero-proof strong span { color: var(--orange); letter-spacing: .08em; }
.hero-proof small { color: rgba(255,255,255,.52); font-size: 9px; }
.scroll-cue { position: absolute; right: 4.2vw; bottom: 36px; display: flex; flex-direction: column; align-items: center; gap: 15px; z-index: 2; }
.scroll-cue span { font-size: 8px; letter-spacing: .25em; writing-mode: vertical-rl; }
.scroll-cue i { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; display: grid; place-items: center; font-style: normal; }

.trust-strip { min-height: 126px; display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 6vw; background: #fff; border-bottom: 1px solid var(--line); }
.trust-strip > div { padding: 32px 28px; display: flex; align-items: center; gap: 15px; border-right: 1px solid var(--line); }
.trust-strip > div:first-child { border-left: 1px solid var(--line); }
.trust-strip strong { font-family: var(--font-display); font-size: 27px; }
.trust-strip span { color: var(--ink-soft); font-size: 10px; line-height: 1.35; }
.trust-strip .arr strong { font-size: 12px; line-height: 1.35; }
.shield { width: 37px; height: 42px; border: 1px solid var(--teal); color: var(--teal)!important; display: grid; place-items: center; clip-path: polygon(50% 0, 94% 15%, 88% 75%, 50% 100%, 12% 75%, 6% 15%); }

.gold-proof {
  min-height: 112px; display: grid; grid-template-columns: auto 1.1fr .8fr 1.5fr 1fr auto;
  align-items: center; gap: 24px; padding: 22px 8.5vw; color: #1a1a17;
  background: linear-gradient(100deg, #f8f3e4, #fffdf7 58%, #f2e7c5);
  border-bottom: 1px solid #dfd1a5; transition: background .2s ease;
}
.gold-proof:hover { background: linear-gradient(100deg, #f4ebcf, #fffdf7 58%, #eddfb4); }
.gold-seal { width: 62px; height: 62px; border-radius: 50%; border: 1px solid #a98322; color: #8d6b18; display: grid; place-items: center; position: relative; }
.gold-seal::before, .gold-seal::after { content: ""; position: absolute; inset: 5px; border: 1px dashed rgba(141,107,24,.45); border-radius: 50%; }
.gold-seal span { font-size: 18px; line-height: 1; }.gold-seal b { font-size: 7px; letter-spacing: .13em; margin-top: -16px; }
.gold-title small, .gold-location small, .gold-scan small { display: block; font-size: 7px; letter-spacing: .18em; color: #806f45; font-weight: 800; margin-bottom: 5px; }
.gold-title strong { font: 700 22px var(--font-display); color: #7d6119; }
.gold-rating { display: flex; align-items: center; gap: 11px; padding-left: 24px; border-left: 1px solid rgba(125,97,25,.22); }
.gold-rating > strong { font: 800 34px var(--font-display); letter-spacing: -.06em; }
.gold-rating span { display: block; color: #d39b13; font-size: 10px; letter-spacing: .06em; }
.gold-rating small { display: block; font-size: 8px; color: #7c745f; margin-top: 3px; }
.gold-location, .gold-scan { padding-left: 24px; border-left: 1px solid rgba(125,97,25,.22); }
.gold-location strong, .gold-scan strong { font-size: 11px; }
.gold-arrow { width: 36px; height: 36px; border: 1px solid rgba(125,97,25,.35); display: grid; place-items: center; border-radius: 50%; color: #8d6b18; }

.section { padding: 120px 8.5vw; }
.section-tight { padding: 0 8.5vw 120px; }
.intro { display: grid; grid-template-columns: .7fr 2fr 1fr; gap: 5vw; align-items: end; }
.section-label { font-size: 9px; letter-spacing: .22em; font-weight: 800; color: #6a7579; display: flex; align-items: center; gap: 11px; }
.section-label span { color: var(--orange); }
.section-label.light { color: rgba(255,255,255,.5); }
.kicker { font-size: 12px; font-weight: 700; color: var(--teal); margin-bottom: 15px; }
h2 { font-size: clamp(42px, 5vw, 72px); line-height: 1.04; margin-bottom: 0; }
.intro-note p, .section-heading > p, .calculator-copy > p, .faq-intro > p { color: var(--ink-soft); font-size: 14px; line-height: 1.7; }
.intro-note .text-link { margin-top: 20px; }

.benefit-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 16px; }
.benefit-card { background: white; min-height: 545px; border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(16,20,22,.06); transition: .25s; }
.benefit-card:hover { transform: translateY(-5px); box-shadow: 0 20px 60px rgba(11,27,34,.08); }
.benefit-visual { flex: 1; min-height: 300px; position: relative; overflow: hidden; }
.featured .benefit-visual { background: linear-gradient(145deg, #cee8e9, #8ec5cb); }
.orbit { position: absolute; border: 1px solid rgba(7,93,112,.27); border-radius: 50%; }
.orbit-one { width: 280px; height: 280px; left: calc(50% - 140px); top: 25px; }
.orbit-two { width: 210px; height: 210px; left: calc(50% - 105px); top: 60px; border-style: dashed; }
.calm-face { width: 100px; height: 100px; position: absolute; left: calc(50% - 50px); top: 115px; display: grid; place-items: center; font-size: 67px; font-weight: 300; color: var(--teal); transform: rotate(90deg); }
.float-tag { position: absolute; background: white; padding: 11px 14px; border-radius: 4px; font-size: 10px; font-weight: 700; box-shadow: 0 10px 25px rgba(7,40,50,.1); }
.tag-one { left: 12%; top: 24%; }.tag-two { right: 9%; bottom: 21%; }
.card-copy { padding: 30px 32px 35px; position: relative; }
.card-number { position: absolute; right: 28px; top: 31px; color: var(--orange); font-size: 9px; font-weight: 800; }
.card-copy h3 { font-family: var(--font-display); font-size: 21px; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 12px; }
.card-copy p { color: var(--ink-soft); font-size: 12px; line-height: 1.6; margin-bottom: 0; max-width: 370px; }
.schedule-visual { background: #f8f8f6; display: grid; align-content: center; padding: 38px 22px; }
.week { display: grid; grid-template-columns: repeat(6,1fr); gap: 5px; align-items: start; }
.week > span { background: white; border: 1px solid var(--line); min-height: 110px; padding: 10px 3px; text-align: center; font-size: 8px; font-weight: 800; border-radius: 4px; }
.week .selected { background: var(--teal); color: white; transform: translateY(-13px); box-shadow: 0 10px 22px rgba(7,93,112,.23); }
.week .second { background: var(--orange); }
.week i { display: block; writing-mode: vertical-rl; font-style: normal; font-size: 8px; margin: 13px auto; }
.time-chip { justify-self: center; background: white; padding: 11px 15px; box-shadow: 0 9px 20px rgba(0,0,0,.08); font-size: 9px; font-weight: 700; margin-top: -5px; z-index: 2; }
.dark-card { background: #101c21; color: white; border-color: #101c21; }
.dashboard-visual { padding: 45px 30px; background: radial-gradient(circle at 70% 0, rgba(0,102,125,.35), transparent 48%); }
.dash-head { display: flex; align-items: center; justify-content: space-between; font-size: 8px; letter-spacing: .15em; color: rgba(255,255,255,.5); }
.dash-head strong { color: white; font-size: 24px; letter-spacing: -.06em; }
.progress-track { height: 5px; background: rgba(255,255,255,.12); margin: 15px 0 25px; }
.progress-track i { display: block; height: 100%; width: 73%; background: var(--orange); }
.skill { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.skill > span { width: 25px; height: 25px; border-radius: 50%; background: rgba(62,175,141,.16); color: #7ed8b8; display: grid; place-items: center; font-size: 10px; }
.skill b, .skill small { display: block; }.skill b { font-size: 10px; }.skill small { color: rgba(255,255,255,.4); font-size: 8px; margin-top: 3px; }
.skill.active > span { color: var(--orange); background: rgba(255,90,18,.15); }
.dark-card .card-copy p { color: rgba(255,255,255,.48); }

.dark-section { background: var(--dark); color: white; padding: 120px 8.5vw; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 60px; }
.section-heading h2 { margin-top: 24px; }
.section-heading > p { max-width: 330px; color: rgba(255,255,255,.5); margin-bottom: 3px; }
.package-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; align-items: stretch; }
.package-card { border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 32px; position: relative; background: rgba(255,255,255,.025); }
.package-card.popular { border-color: var(--orange); background: #101c20; transform: translateY(-10px); }
.popular-label { position: absolute; top: -11px; left: 30px; padding: 6px 12px; background: var(--orange); color: white; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.package-top { display: flex; justify-content: space-between; align-items: center; }
.package-type { color: rgba(255,255,255,.44); letter-spacing: .18em; font-size: 8px; font-weight: 800; }
.gear { width: 37px; height: 37px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: grid; place-items: center; font-weight: 700; color: var(--orange); }
.package-card h3 { font-family: var(--font-display); font-size: 32px; margin: 20px 0 8px; }
.package-desc { min-height: 40px; color: rgba(255,255,255,.45); font-size: 11px; line-height: 1.55; max-width: 270px; }
.price { display: flex; align-items: center; gap: 13px; margin: 24px 0; }
.price strong { font-family: var(--font-display); font-size: 42px; letter-spacing: -.06em; }
.price span { color: rgba(255,255,255,.4); font-size: 8px; line-height: 1.5; }
.package-card ul { padding: 22px 0; margin: 0 0 25px; list-style: none; border-top: 1px solid rgba(255,255,255,.11); }
.package-card li { font-size: 11px; padding: 7px 0; color: rgba(255,255,255,.72); }
.package-card li::before { content: "✓"; color: var(--orange); margin-right: 11px; }
.package-card .button { width: 100%; }
.guarantee { margin-top: 42px; display: grid; grid-template-columns: auto 1fr 1.4fr auto; align-items: center; gap: 25px; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); padding: 28px 0; }
.guarantee-icon { width: 59px; height: 59px; border: 1px solid var(--orange); border-radius: 50%; display: grid; place-items: center; color: var(--orange); font-size: 23px; font-weight: 800; line-height: .75; }
.guarantee-icon span { display: block; font-size: 7px; letter-spacing: .1em; }
.guarantee > div:nth-child(2) span { font-size: 7px; letter-spacing: .18em; color: var(--orange); }
.guarantee h3 { font-family: var(--font-display); font-size: 18px; margin: 5px 0 0; }
.guarantee > p { color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.5; max-width: 420px; margin: 0; }

.calculator { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; align-items: center; }
.calculator-copy h2 { margin: 24px 0; }
.calculator-copy > p { max-width: 370px; }
.calculator-promise { display: flex; gap: 12px; align-items: center; margin-top: 32px; }
.calculator-promise > span { width: 35px; height: 35px; border-radius: 50%; background: var(--teal-light); color: var(--teal); display: grid; place-items: center; }
.calculator-promise strong, .calculator-promise small { display: block; }
.calculator-promise strong { font-size: 11px; }.calculator-promise small { font-size: 9px; color: var(--ink-soft); margin-top: 3px; }
.calculator-card { background: white; border-radius: var(--radius); box-shadow: 0 22px 70px rgba(16,34,42,.09); padding: 37px; min-height: 470px; }
.calc-progress { display: flex; align-items: center; gap: 6px; margin-bottom: 45px; }
.calc-progress i { width: 32px; height: 3px; background: #e4e4e1; }.calc-progress i.active { background: var(--orange); }
.calc-progress span { margin-left: auto; font-size: 8px; letter-spacing: .13em; color: #879093; }
.calc-question { font-size: 8px; font-weight: 800; color: var(--orange); letter-spacing: .2em; }
.calc-step { display: none; }.calc-step.active { display: block; animation: slideIn .3s ease; }
@keyframes slideIn { from { opacity: 0; transform: translateX(12px); } }
.calc-step h3 { font-family: var(--font-display); font-size: 27px; margin: 10px 0 28px; }
.option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 25px; }
.option { border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--ink); padding: 19px; text-align: left; position: relative; transition: .2s; }
.option:hover, .option.selected { border-color: var(--teal); background: #f5fbfb; }
.option-icon { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; margin-bottom: 20px; font-weight: 800; color: var(--teal); }
.option strong, .option small { display: block; }.option strong { font-size: 13px; }.option small { color: var(--ink-soft); font-size: 9px; margin-top: 5px; }
.option > i { position: absolute; right: 12px; top: 12px; width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--line); color: transparent; display: grid; place-items: center; font-size: 8px; font-style: normal; }
.option.selected > i { background: var(--teal); color: white; border-color: var(--teal); }
.calc-step > .button { width: 100%; }
.calc-nav { display: flex; align-items: center; gap: 20px; }.calc-nav .button { margin-left: auto; }
.calc-back, .send-plan { border: 0; background: none; color: var(--ink-soft); font-size: 11px; font-weight: 700; }
.calc-result h3 { margin-bottom: 20px; }
.result-total, .installments div { display: flex; justify-content: space-between; align-items: center; }
.result-total { background: var(--dark); color: white; padding: 22px; border-radius: 7px; }
.result-total span { font-size: 10px; color: rgba(255,255,255,.5); }.result-total strong { font-family: var(--font-display); font-size: 15px; }.result-total b { font-size: 28px; }
.installments { margin: 10px 0 18px; border: 1px solid var(--line); border-radius: 7px; }
.installments div { padding: 12px 15px; border-bottom: 1px solid var(--line); font-size: 10px; }.installments div:last-child { border: 0; }
.calc-result .button { width: 100%; }.send-plan { width: 100%; padding: 14px; color: var(--teal); }

.process { background: white; }
.process .section-heading > p { color: var(--ink-soft); }
.timeline { display: grid; grid-template-columns: repeat(4,1fr); position: relative; gap: 30px; margin-top: 80px; }
.timeline::before { content: ""; position: absolute; top: 58px; left: 10%; right: 10%; border-top: 1px dashed #c8cdcd; }
.timeline article { position: relative; text-align: center; }
.timeline article > span { position: absolute; top: -20px; left: calc(50% + 38px); font-size: 8px; color: var(--orange); font-weight: 800; }
.timeline-icon { position: relative; width: 73px; height: 73px; border-radius: 50%; background: #d7e9e9; color: var(--teal); display: grid; place-items: center; margin: 22px auto 27px; font-size: 20px; border: 10px solid white; box-shadow: 0 0 0 1px #d7e9e9; }
.timeline-icon.orange { background: var(--orange); color: white; box-shadow: 0 0 0 1px var(--orange); }
.timeline h3 { font-family: var(--font-display); font-size: 17px; }
.timeline p { color: var(--ink-soft); font-size: 11px; line-height: 1.55; max-width: 200px; margin: auto; }

.instructors { background: #0b151a; color: white; padding: 110px 8.5vw; display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; align-items: center; }
.instructor-copy h2 { margin: 25px 0; }
.instructor-copy > p { color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.7; max-width: 400px; }
.instructor-copy .button { margin-top: 20px; }
.instructor-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.instructor-card { background: white; color: var(--ink); border-radius: 12px; overflow: hidden; }
.portrait { height: 290px; background: linear-gradient(160deg, #c7d8d8 0 58%, #236070 58%); position: relative; display: grid; place-items: center; overflow: hidden; }
.portrait::before { content: ""; position: absolute; width: 150px; height: 180px; border-radius: 80px 80px 20px 20px; bottom: -25px; background: #172b34; }
.portrait::after { content: ""; position: absolute; width: 86px; height: 100px; border-radius: 50%; top: 48px; background: #d9b293; box-shadow: 0 -20px 0 #3a2922; }
.portrait-two { background: linear-gradient(160deg, #d9d0c5 0 58%, #b75026 58%); }
.portrait-two::before { background: #e4e1dc; }.portrait-two::after { background: #d9a981; box-shadow: 0 -25px 0 #3a2822; }
.portrait > span { z-index: 2; position: absolute; top: 88px; font-weight: 800; color: rgba(255,255,255,.9); }
.portrait > i { position: absolute; z-index: 3; left: 13px; top: 13px; background: #effaf4; color: #17764f; border-radius: 20px; padding: 7px 10px; font-size: 7px; font-weight: 800; font-style: normal; letter-spacing: .1em; }
.instructor-info { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px 11px; }
.instructor-info h3 { font-family: var(--font-display); font-size: 17px; margin-bottom: 3px; }
.instructor-info span { font-size: 8px; color: var(--ink-soft); }.instructor-info > strong { color: var(--orange); font-size: 10px; }
.tags { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 20px 20px; }
.tags span { background: #f1f3f1; color: #566065; border-radius: 20px; padding: 6px 8px; font-size: 7px; font-weight: 700; }

.reviews { display: grid; grid-template-columns: .7fr 2fr; gap: 3vw 8vw; align-items: start; }
.review-summary > span { font-size: 8px; letter-spacing: .2em; font-weight: 800; color: var(--orange); }
.review-summary > strong { display: block; font-family: var(--font-display); font-size: 70px; letter-spacing: -.07em; margin-top: 8px; }
.review-summary i { display: block; color: var(--orange); font-family: var(--font-body); font-size: 13px; letter-spacing: .15em; font-style: normal; }
.review-summary p { color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
blockquote { margin: 0; background: white; padding: 32px; border-radius: 12px; min-height: 260px; display: flex; flex-direction: column; }
blockquote > span { color: var(--orange); font: 50px Georgia; height: 40px; }
blockquote > p { font-family: var(--font-display); font-size: 16px; line-height: 1.55; flex: 1; }
blockquote footer { display: flex; align-items: center; gap: 10px; }
blockquote footer > i { width: 34px; height: 34px; border-radius: 50%; background: #c7dadb; display: grid; place-items: center; font-size: 8px; font-style: normal; font-weight: 800; }
blockquote footer strong, blockquote footer small { display: block; } blockquote footer strong { font-size: 10px; } blockquote footer small { font-size: 8px; color: var(--ink-soft); margin-top: 2px; }
blockquote footer b { margin-left: auto; color: var(--orange); font-size: 8px; letter-spacing: .1em; }
.reviews-source { grid-column: 2; justify-self: end; color: var(--teal); font-size: 11px; font-weight: 800; border-bottom: 1px solid currentColor; padding-bottom: 4px; }

.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; border-top: 1px solid var(--line); }
.faq-intro h2 { margin: 22px 0; }
.whatsapp-link { color: #178b59; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; }
.whatsapp-link span { width: 32px; height: 32px; background: #daf1e5; border-radius: 50%; display: grid; place-items: center; }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { list-style: none; cursor: pointer; padding: 24px 0; font-family: var(--font-display); font-size: 17px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { font: 300 25px var(--font-body); transition: transform .2s; }
.accordion details[open] summary span { transform: rotate(45deg); color: var(--orange); }
.accordion details p { color: var(--ink-soft); font-size: 12px; line-height: 1.65; max-width: 560px; padding: 0 35px 22px 0; }

.final-cta { background: linear-gradient(115deg, #0a3c49, #06232b); color: white; padding: 95px 8.5vw; display: grid; grid-template-columns: 1.1fr .9fr; gap: 9vw; position: relative; overflow: hidden; }
.final-cta::after { content: "AT"; position: absolute; left: 4%; bottom: -110px; font: 800 280px var(--font-display); color: rgba(255,255,255,.025); letter-spacing: -.12em; }
.cta-copy > span { font-size: 9px; color: #77c3c9; letter-spacing: .2em; font-weight: 800; }
.cta-copy h2 { margin: 22px 0; position: relative; z-index: 1; }
.cta-copy p { color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.7; max-width: 490px; position: relative; z-index: 1; }
.lead-form { background: white; color: var(--ink); border-radius: 12px; padding: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; position: relative; z-index: 2; }
.lead-form label { font-size: 8px; font-weight: 800; color: #697377; letter-spacing: .08em; text-transform: uppercase; }
.lead-form label:nth-child(3), .lead-form .button, .lead-form small { grid-column: 1 / -1; }
.lead-form .consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 8px; color: #697377; font-size: 9px; line-height: 1.45; text-transform: none; letter-spacing: 0; }
.lead-form .consent input { width: auto; margin: 0; accent-color: var(--teal); }
.lead-form input, .lead-form select { width: 100%; background: #f3f4f1; border: 1px solid transparent; padding: 14px 13px; margin-top: 7px; outline: none; font-size: 12px; color: var(--ink); }
.lead-form input:focus, .lead-form select:focus { border-color: var(--teal); }
.lead-form .button { width: 100%; margin-top: 3px; }
.lead-form small { color: #8b9294; font-size: 8px; text-align: center; }

footer { background: #060c0f; color: white; padding: 70px 8.5vw 25px; }
.footer-main { display: grid; grid-template-columns: 1.4fr .65fr .8fr .9fr; gap: 6vw; padding-bottom: 55px; }
.footer-brand .brand-logo-crop { --logo-h: 98px; }
.footer-brand + p { color: rgba(255,255,255,.34); font-size: 11px; line-height: 1.6; margin-top: 22px; }
.footer-links, .footer-action { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-links > span, .footer-action > span { color: var(--orange); font-size: 7px; letter-spacing: .2em; font-weight: 800; margin-bottom: 6px; }
.footer-links a, .footer-links p { color: rgba(255,255,255,.56); font-size: 10px; line-height: 1.7; margin: 0; }
.footer-action .button { width: 100%; margin: 7px 0 5px; }
.footer-action .whatsapp-link { font-size: 9px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: 24px; display: flex; justify-content: space-between; color: rgba(255,255,255,.3); font-size: 8px; }
.footer-bottom div { display: flex; gap: 20px; }
.floating-whatsapp { position: fixed; z-index: 30; right: 22px; bottom: 20px; background: white; color: var(--ink); padding: 10px 16px 10px 10px; border-radius: 30px; display: flex; align-items: center; gap: 10px; box-shadow: 0 12px 35px rgba(0,0,0,.18); }
.floating-whatsapp > span { width: 35px; height: 35px; background: #1cba70; color: white; border-radius: 50%; display: grid; place-items: center; }
.floating-whatsapp b, .floating-whatsapp small { display: block; font-size: 9px; }.floating-whatsapp small { color: var(--ink-soft); font-weight: 500; margin-top: 2px; }
.toast { position: fixed; z-index: 60; left: 50%; bottom: 25px; transform: translate(-50%, 120px); opacity: 0; background: #fff; color: var(--ink); padding: 15px 18px; border-radius: 6px; box-shadow: 0 15px 50px rgba(0,0,0,.2); font-size: 12px; transition: .3s; }
.toast.show { transform: translate(-50%,0); opacity: 1; }.toast button { border: 0; background: none; margin-left: 20px; font-size: 18px; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .desktop-nav, .phone-link { display: none; }
  .menu-button { display: block; }
  .mobile-menu { display: flex; position: fixed; z-index: 19; inset: 34px 0 auto; background: var(--dark); color: white; padding: 105px 6vw 35px; flex-direction: column; transform: translateY(-120%); transition: .3s; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
  .mobile-menu.open { transform: none; }.mobile-menu a:not(.button) { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; }
  .mobile-menu .button { margin-top: 20px; }
  .benefit-grid { grid-template-columns: 1fr 1fr; }.benefit-card.featured { grid-column: 1/-1; }
  .intro { grid-template-columns: .4fr 1.6fr 1fr; }
  .calculator { gap: 5vw; }
  .instructors { grid-template-columns: 1fr; }.instructor-copy { max-width: 600px; }
}

@media (max-width: 760px) {
  .announcement { justify-content: space-between; padding: 0 16px; gap: 10px; font-size: 8px; }
  .site-header { height: 67px; padding: 0 17px; }.brand-logo-crop { --logo-h: 58px; }.brand-mark { width: 35px; }.brand-name { font-size: 11px; }.header-actions .button-small { display: none; }
  .hero { height: 760px; min-height: 0; }.hero-image { object-position: 67% center; }.hero-shade { background: linear-gradient(0deg, rgba(3,9,12,.92) 0%, rgba(3,9,12,.7) 55%, rgba(3,9,12,.18)); }
  .hero-content { left: 20px; right: 20px; top: auto; bottom: 130px; transform: none; }
  .eyebrow { margin-bottom: 18px; }.eyebrow span:last-child { display: none; }
  h1 { font-size: 49px; }.hero-content > p { font-size: 14px; line-height: 1.55; }
  .hero-actions { align-items: stretch; gap: 15px; margin-top: 25px; }.hero-actions .button { min-width: 0; padding: 15px; }.hero-actions .text-link { font-size: 10px; }
  .hero-proof { left: 20px; bottom: 35px; }.scroll-cue { display: none; }
  .trust-strip { grid-template-columns: 1fr 1fr; padding: 0; }.trust-strip > div { padding: 23px 20px; }.trust-strip > div:first-child { border-left: 0; }.trust-strip .arr { display: none; }.trust-strip strong { font-size: 22px; }
  .gold-proof { grid-template-columns: auto 1fr auto; gap: 14px; padding: 18px 20px; }.gold-rating { border: 0; padding: 0; justify-self: end; }.gold-location, .gold-scan { grid-column: 1/-1; border-left: 0; border-top: 1px solid rgba(125,97,25,.18); padding: 12px 0 0; }.gold-location { display: none; }.gold-arrow { display: none; }.gold-seal { width: 50px; height: 50px; }.gold-title strong { font-size: 18px; }
  .section { padding: 80px 20px; }.section-tight { padding: 0 20px 80px; }
  .intro { grid-template-columns: 1fr; gap: 25px; }.intro-copy h2 { font-size: 43px; }.intro-note { max-width: 500px; }
  .benefit-grid { grid-template-columns: 1fr; }.benefit-card.featured { grid-column: auto; }.benefit-card { min-height: 500px; }
  .dark-section { padding: 80px 20px; }.section-heading { display: block; }.section-heading > p { margin-top: 25px; }.package-grid { grid-template-columns: 1fr; gap: 20px; }.package-card.popular { transform: none; }
  .guarantee { grid-template-columns: auto 1fr; }.guarantee > p, .guarantee > a { grid-column: 1/-1; }
  .calculator { grid-template-columns: 1fr; gap: 45px; }.calculator-card { padding: 26px 18px; min-height: 470px; }.calc-progress { margin-bottom: 35px; }
  .timeline { grid-template-columns: 1fr 1fr; row-gap: 55px; }.timeline::before { display: none; }
  .instructors { padding: 80px 20px; }.instructor-cards { overflow-x: auto; scroll-snap-type: x mandatory; grid-template-columns: 80vw 80vw; padding-bottom: 10px; }.instructor-card { scroll-snap-align: start; }
  .reviews { grid-template-columns: 1fr; gap: 30px; }.review-grid { grid-template-columns: 86vw 86vw 86vw 86vw; overflow-x: auto; margin-right: -20px; }.reviews-source { grid-column: 1; justify-self: start; }
  .faq { grid-template-columns: 1fr; gap: 30px; }.accordion summary { font-size: 15px; }
  .final-cta { grid-template-columns: 1fr; padding: 80px 20px; gap: 40px; }.lead-form { grid-template-columns: 1fr; }.lead-form label { grid-column: 1/-1; }
  footer { padding: 60px 20px 25px; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-main > div:first-child, .footer-action { grid-column: 1/-1; }.footer-action { max-width: 300px; }
  .footer-bottom { flex-wrap: wrap; gap: 15px; }.floating-whatsapp b { display: none; }.floating-whatsapp { padding: 8px; right: 13px; bottom: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; transition-duration: .01ms!important; }
  .reveal { opacity: 1; transform: none; }
}
