@font-face {
  font-family: "Fraunces";
  src: url("../fonts/Fraunces-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/Fraunces-Italic-Variable.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ivory: #fbf8f1;
  --cream: #f3ecdd;
  --paper: #efe5d0;
  --ink: #1b1713;
  --ink-deep: #12100d;
  --muted: #5f574f;
  --wine: #6e2632;
  --wine-deep: #4e1722;
  --gold: #b58a52;
  --gold-soft: #d8bd8f;
  --gold-deep: #765229;
  --line: rgba(27, 23, 19, .16);
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Inter", Arial, Helvetica, sans-serif;
  --shell: 1240px;
  --gutter: clamp(22px, 5.4vw, 88px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; }
::selection { background: var(--wine); color: var(--ivory); }

.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 18px; color: var(--ivory); background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.section-shell { width: min(100% - (var(--gutter) * 2), var(--shell)); margin-inline: auto; }
.site-header { position: sticky; z-index: 30; top: 0; background: rgba(251, 248, 241, .96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; width: min(100% - (var(--gutter) * 2), 1380px); min-height: 82px; margin-inline: auto; gap: 24px; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; flex-shrink: 0; }
.wordmark-seal { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--gold-deep); border-radius: 50%; color: var(--wine); font: 600 26px/1 var(--serif); }
.wordmark-text { display: grid; line-height: 1.1; }
.wordmark-text strong { font-size: 12px; letter-spacing: .15em; }
.wordmark-text small { margin-top: 5px; color: var(--gold-deep); font-size: 9px; letter-spacing: .24em; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.site-nav > a:not(.nav-cta) { position: relative; color: #39332e; font-size: 13px; font-weight: 500; text-decoration: none; }
.site-nav > a:not(.nav-cta)::after { position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; background: var(--gold-deep); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.site-nav > a:not(.nav-cta):hover::after, .site-nav > a:not(.nav-cta):focus-visible::after { transform: scaleX(1); }
.nav-cta { position: relative; isolation: isolate; display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 21px; border: 1px solid var(--gold); border-radius: 999px; background: linear-gradient(145deg, #252019, #12100d 76%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 3px 0 rgba(118, 82, 41, .52), 0 8px 18px rgba(18, 16, 13, .18), 0 0 20px rgba(181, 138, 82, .13); color: var(--ivory); font-size: 15px; font-weight: 600; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.nav-cta::after { position: absolute; inset: 3px; border: 1px solid rgba(216, 189, 143, .28); border-radius: inherit; content: ""; pointer-events: none; }
.nav-cta:hover { transform: translateY(-2px); border-color: #f1ddb4; background: linear-gradient(135deg, #ead8b3, #c19a62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 0 rgba(118, 82, 41, .42), 0 11px 22px rgba(18, 16, 13, .2); color: var(--ink-deep); }
.nav-cta:hover::after { border-color: rgba(18, 16, 13, .2); }
.nav-cta:focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 4px; }
.nav-cta span, .button span, .text-link span { display: inline-block; transition: transform .2s ease; }
.nav-cta > span, .button-primary > span { display: inline-grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border: 1px solid rgba(18, 16, 13, .2); border-radius: 50%; background: linear-gradient(135deg, #ead8b3, #c19a62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45); color: var(--ink-deep); font-size: 14px; line-height: 1; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.nav-cta:hover > span, .button-primary:hover > span { border-color: var(--ink-deep); background: var(--ink-deep); color: var(--gold-soft); }
.nav-cta:hover span, .button:hover span, .text-link:hover span { transform: translate(2px, -2px); }
.menu-toggle { display: none; }

.hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .82fr); align-items: center; gap: clamp(38px, 7vw, 100px); padding-block: clamp(54px, 8vw, 116px) clamp(65px, 8vw, 116px); }
.hero-copy { max-width: 710px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: var(--gold-deep); font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-mark { width: 8px; height: 8px; background: var(--wine); transform: rotate(45deg); }
.eyebrow-divider { color: var(--gold); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; }
.hero h1 { max-width: 750px; margin-bottom: 24px; font-size: clamp(42px, 5.25vw, 72px); letter-spacing: -.045em; line-height: 1.04; }
.hero h1 em, h2 em { color: var(--wine); font-weight: 400; }
.hero-lede { max-width: 620px; margin-bottom: 27px; color: #49423b; font-size: clamp(16px, 1.38vw, 18px); line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.button { position: relative; isolation: isolate; display: inline-flex; min-height: 56px; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; border-radius: 999px; padding: 0 25px; font-size: 16px; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { border-color: var(--gold); background: linear-gradient(145deg, #252019, #12100d 76%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 3px 0 rgba(118, 82, 41, .52), 0 8px 18px rgba(18, 16, 13, .16), 0 0 20px rgba(181, 138, 82, .13); color: var(--ivory); }
.button-primary::after, .button-gold::after { position: absolute; inset: 4px; border: 1px solid rgba(216, 189, 143, .28); border-radius: inherit; content: ""; pointer-events: none; }
.button-primary:hover { border-color: #f1ddb4; background: linear-gradient(135deg, #ead8b3, #c19a62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 0 rgba(118, 82, 41, .42), 0 11px 22px rgba(18, 16, 13, .2); color: var(--ink-deep); }
.button-primary:hover::after { border-color: rgba(18, 16, 13, .2); }
.button-gold { border-color: #d7b984; background: linear-gradient(135deg, #ead8b3, #c9a46e); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 3px 0 rgba(118, 82, 41, .44), 0 8px 16px rgba(18, 16, 13, .11); color: var(--ink-deep); }
.button-gold::after { border-color: rgba(18, 16, 13, .18); }
.button-gold:hover { border-color: #f1ddb4; background: linear-gradient(135deg, #f3e7cf, #d9bd8f); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), 0 4px 0 rgba(118, 82, 41, .4), 0 11px 20px rgba(18, 16, 13, .16); color: var(--ink-deep); }
.button-outline { border-color: var(--gold-deep); background: rgba(255, 255, 255, .2); box-shadow: 0 3px 0 rgba(118, 82, 41, .14); color: var(--ink-deep); }
.button-outline:hover { border-color: var(--gold-soft); background: var(--ink-deep); box-shadow: 0 4px 0 rgba(18, 16, 13, .2); color: var(--gold-soft); }
.button:active, .nav-cta:active { transform: translateY(1px); box-shadow: 0 1px 0 rgba(118, 82, 41, .45); }
.button:focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 4px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--wine); font-size: 15px; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.hero-price { display: flex; width: fit-content; flex-wrap: wrap; align-items: baseline; gap: 7px 11px; margin-top: 30px; padding: 13px 17px; border-left: 2px solid var(--gold); background: #f3eedf; }
.hero-price-label { width: 100%; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero-price strong { font-family: var(--serif); font-size: 25px; font-weight: 600; line-height: 1.2; }
.hero-price strong span { font-family: var(--sans); font-size: 13px; font-weight: 500; }
.hero-price-note { color: var(--muted); font-size: 12px; }
.hero-qualities { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 25px; color: #514940; font-size: 11px; font-weight: 600; letter-spacing: .03em; }
.hero-qualities i { width: 4px; height: 4px; border-radius: 50%; background: var(--gold-deep); }
.hero-visual { position: relative; width: min(100%, 435px); justify-self: center; margin: 0; padding: 0 18px 20px 0; }
.hero-photo-frame { position: relative; z-index: 1; overflow: hidden; aspect-ratio: 1000 / 1497; background: #171411; }
.hero-photo-frame::before { position: absolute; z-index: 2; inset: 10px; border: 1px solid rgba(216, 189, 143, .6); content: ""; pointer-events: none; }
.hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual::after { position: absolute; right: 0; bottom: 0; width: 56%; height: 58%; border: 1px solid var(--gold); content: ""; }
.hero-caption { position: absolute; z-index: 3; right: 0; bottom: 49px; display: flex; align-items: center; gap: 12px; min-width: 153px; padding: 13px 17px; background: var(--ivory); box-shadow: 0 10px 30px rgba(27, 23, 19, .1); }
.caption-rule { width: 2px; height: 34px; background: var(--wine); }
.hero-caption span:last-child { display: grid; line-height: 1.25; }
.hero-caption small { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.hero-caption strong { font: 500 17px var(--serif); }
.signature-band { display: flex; min-height: 67px; align-items: center; justify-content: center; gap: clamp(12px, 3.2vw, 43px); padding: 13px var(--gutter); background: var(--ink); color: var(--ivory); font-size: clamp(9px, 1vw, 12px); font-weight: 600; letter-spacing: .23em; }
.signature-band i { color: var(--gold-soft); font-size: 13px; font-style: normal; }

.section { padding-block: clamp(78px, 10vw, 142px); }
.section-includes { background: var(--paper); }
.section-heading { margin-bottom: 47px; }
.heading-split { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading h2, .fit-intro h2, .problem-heading h2, .method-intro h2, .flor-copy h2, .price-intro h2, .faq-intro h2, .section-social h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(39px, 5vw, 62px); letter-spacing: -.04em; line-height: 1.06; }
.heading-aside { max-width: 335px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.include-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.include-card { min-width: 0; background: var(--ivory); }
.include-image { overflow: hidden; aspect-ratio: 1.36 / 1; background: #ddd2bf; }
.include-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.include-card:hover .include-image img { transform: scale(1.035); }
.include-body { padding: 22px 20px 24px; }
.card-index { display: inline-flex; align-items: center; gap: 7px; color: var(--gold-deep); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.card-index i { color: var(--wine); font-style: normal; }
.include-body h3 { margin: 12px 0 9px; font-size: 23px; letter-spacing: -.02em; line-height: 1.15; }
.include-body p { margin-bottom: 12px; color: #514940; font-size: 13px; line-height: 1.65; }
.include-body .card-takeaway { margin: 17px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--wine); font-size: 12px; font-weight: 600; }
.include-card-text { display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; background: var(--wine); color: var(--ivory); }
.include-card-text .include-number { padding: 14px 20px 0; color: var(--gold-soft); font: 400 clamp(50px, 5vw, 76px)/1 var(--serif); }
.include-card-text .include-body { padding-top: 0; }
.include-card-text .card-index, .include-card-text .include-body p { color: #e7dac6; }
.include-card-text .card-index i, .include-card-text .include-body h3 { color: var(--ivory); }
.include-card-text .include-body .card-takeaway { border-color: rgba(251, 248, 241, .26); color: var(--gold-soft); }
.include-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 23px; padding-top: 18px; border-top: 1px solid rgba(27, 23, 19, .18); }
.include-bottom p { max-width: 670px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.include-bottom .text-link { flex-shrink: 0; font-size: 13px; }
.section-cta-row { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 54px; padding: 27px 0 0; border-top: 1px solid rgba(27, 23, 19, .18); }
.section-cta-row p { margin: 0; color: var(--muted); font: 400 20px/1.4 var(--serif); }
.section-cta-row p strong { color: var(--ink); font-weight: 500; }

.section-fit { background: var(--ivory); }
.fit-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px, 9vw, 138px); }
.fit-intro { position: sticky; top: 125px; align-self: start; }
.fit-intro h2 { margin-bottom: 22px; }
.fit-intro > p:not(.eyebrow) { max-width: 430px; margin-bottom: 26px; color: var(--muted); }
.fit-list-wrap { padding-top: 8px; }
.fit-list { margin: 0; padding: 0; list-style: none; }
.fit-list li { position: relative; padding: 17px 8px 17px 37px; border-bottom: 1px solid var(--line); font: 400 clamp(17px, 1.8vw, 21px)/1.45 var(--serif); }
.fit-list li::before { position: absolute; top: 24px; left: 2px; width: 13px; height: 1px; background: var(--gold-deep); content: ""; }
.fit-caveat { display: flex; gap: 16px; margin-top: 27px; padding: 19px 20px; background: #f0e8d7; }
.caveat-mark { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border: 1px solid var(--wine); border-radius: 50%; color: var(--wine); font: 600 14px var(--serif); }
.fit-caveat p { margin: 0; color: #473f38; font-size: 13px; line-height: 1.65; }
.fit-caveat strong { color: var(--wine); }
.fit-promise { margin: 26px 0 0; color: var(--wine); font: 500 21px/1.45 var(--serif); }

.section-problem { padding-block: clamp(65px, 8vw, 108px); background: #e9dfcd; }
.problem-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(45px, 8vw, 115px); align-items: start; }
.problem-heading h2 { font-size: clamp(36px, 4.6vw, 56px); }
.problem-story { max-width: 650px; color: #403a33; font-size: 16px; line-height: 1.8; }
.problem-story p { margin-bottom: 20px; }
.problem-shift { display: flex; flex-direction: column; gap: 3px; padding-left: 19px; border-left: 2px solid var(--wine); }
.problem-shift span { color: var(--muted); font-size: 13px; }
.problem-shift strong { color: var(--wine); font: 500 24px var(--serif); }
.problem-sequence { display: grid; gap: 0; margin: 0 0 28px; padding: 0; list-style: none; }
.problem-sequence li { display: grid; grid-template-columns: minmax(0, 1.2fr) 24px minmax(0, 1fr); align-items: center; gap: 14px; padding: 17px 0; border-bottom: 1px solid rgba(118, 82, 41, .24); line-height: 1.5; }
.problem-sequence li > span:first-child { font-size: 14px; }
.problem-sequence strong { color: var(--wine); font: 500 21px/1.25 var(--serif); }
.problem-sequence .sequence-arrow { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--gold-deep); border-radius: 50%; color: var(--gold-deep); font: 400 15px/1 var(--sans); }

.section-learning { background: var(--ivory); }
.curriculum-count { display: flex; align-items: baseline; gap: 11px; margin: 0 0 24px; padding-bottom: 13px; border-bottom: 1px solid var(--line); color: var(--wine); font-size: 14px; font-weight: 600; }
.curriculum-count strong { font: 500 40px/.9 var(--serif); }
.curriculum-count span { color: var(--muted); font-size: 12px; font-weight: 500; }
.curriculum-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 42px; }
.curriculum-card { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 27px 0 29px; border-bottom: 1px solid var(--line); }
.curriculum-no { color: var(--gold-deep); font: 400 28px/1 var(--serif); }
.curriculum-card h3 { margin: 0 0 4px; font-size: 25px; line-height: 1.2; }
.curriculum-total { display: block; margin-bottom: 15px; color: var(--wine); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.curriculum-card ul { display: grid; gap: 8px; margin: 0; padding-left: 18px; color: #514940; font-size: 13px; line-height: 1.5; }
.curriculum-card li::marker { color: var(--gold-deep); }
.curriculum-cta { margin-top: 32px; }

.section-method { background: var(--wine); color: var(--ivory); }
.section-method .eyebrow { color: var(--gold-soft); }
.section-method .eyebrow-divider { color: #c59c66; }
.section-method h2 { max-width: 620px; margin: 0 0 19px; font-size: clamp(42px, 5.6vw, 69px); letter-spacing: -.045em; line-height: 1.02; }
.section-method h2 em { color: var(--gold-soft); }
.method-intro > p:not(.eyebrow) { max-width: 560px; margin-bottom: 54px; color: #eadfce; font-size: 17px; }
.method-content { max-width: 1010px; margin-left: auto; }
.method-contrast { display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; }
.method-other, .method-flor { padding: clamp(24px, 4vw, 43px); border-radius: 22px; }
.method-other { border: 1px solid rgba(216, 189, 143, .45); background: linear-gradient(145deg, #252019, #12100d); }
.method-other .card-index { color: var(--gold-soft); }
.method-other p { margin: 24px 0 0; color: #e1d3c0; font: 400 clamp(19px, 2.2vw, 26px)/1.7 var(--serif); }
.method-flor { border: 1px solid var(--gold-soft); background: var(--ivory); box-shadow: 0 8px 26px rgba(18, 16, 13, .12); color: var(--ink); }
.method-flor .card-index { color: var(--wine); }
.method-flor h3 { max-width: 490px; margin: 20px 0 18px; font-size: clamp(25px, 3.3vw, 39px); line-height: 1.15; }
.method-flor ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 23px; margin: 0; padding-left: 17px; color: #504941; font-size: 13px; }
.method-flor li::marker { color: var(--gold-deep); }
.pillars-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 38px 0 15px; }
.pillars-heading p { margin: 0; color: #eadfce; font-size: 13px; }
.pillars-list { display: grid; gap: 10px; }
.pillar-item { min-width: 0; border: 1px solid rgba(216, 189, 143, .38); border-radius: 18px; background: rgba(18, 16, 13, .32); }
.pillar-item[open] { border-color: var(--gold-soft); background: var(--ink-deep); box-shadow: 0 9px 22px rgba(18, 16, 13, .12); }
.pillar-item summary { display: flex; align-items: center; gap: 18px; min-height: 76px; padding: 14px 23px; border-radius: inherit; cursor: pointer; list-style: none; }
.pillar-item summary::-webkit-details-marker { display: none; }
.pillar-number { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid rgba(216, 189, 143, .5); border-radius: 50%; color: var(--gold-soft); font: 400 20px/1 var(--serif); }
.pillars-list h3 { flex: 1; margin: 0; color: var(--ivory); font: 500 clamp(18px, 1.8vw, 23px)/1.25 var(--serif); }
.pillar-toggle { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border: 1px solid var(--gold-soft); border-radius: 50%; color: var(--gold-soft); font: 400 20px/1 var(--sans); transition: transform .2s ease; }
.pillar-item[open] .pillar-toggle { transform: rotate(45deg); }
.pillar-answer { max-width: 840px; padding: 0 68px 23px 79px; color: #e8dbca; font-size: 14px; line-height: 1.75; }
.pillar-answer p { margin: 0; }
.method-ownership { margin-top: 38px; padding: clamp(25px, 4vw, 44px); border: 1px solid var(--gold-soft); border-radius: 26px; background: linear-gradient(145deg, #252019, #12100d 76%); box-shadow: 0 16px 36px rgba(18, 16, 13, .18); }
.method-ownership h3 { max-width: 740px; margin: 0 0 21px; color: var(--ivory); font: 500 clamp(28px, 3.5vw, 43px)/1.1 var(--serif); letter-spacing: -.035em; }
.method-ownership h3 em { color: var(--gold-soft); font-weight: 400; }
.method-ownership > p:not(.eyebrow) { max-width: 760px; color: #e8dbca; font-size: 14px; }
.method-ownership ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 23px 0 0; padding: 0; list-style: none; }
.method-ownership li { padding: 12px 0; border-top: 1px solid rgba(216, 189, 143, .3); color: var(--gold-soft); font-size: 14px; font-weight: 600; }
.method-ownership .ownership-close { margin: 25px 0 0; font: 400 21px/1.45 var(--serif); }

.section-results { padding-block: clamp(70px, 8vw, 108px); background: var(--ink); color: var(--ivory); }
.results-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 112px); width: min(100% - (var(--gutter) * 2), 1240px); margin-inline: auto; }
.eyebrow-light { color: var(--gold-soft); }
.results-kicker { margin: 35px 0 14px; color: var(--gold-soft); font: 400 clamp(20px, 2.5vw, 30px)/1.25 var(--serif); }
.results-copy h2 { max-width: 520px; margin: 0; color: var(--ivory); font: 400 clamp(24px, 3.1vw, 37px)/1.23 var(--serif); letter-spacing: -.02em; }
.results-footnote { max-width: 430px; margin: 23px 0 0; color: #d3c8b8; font-size: 12px; line-height: 1.65; }
.results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; }
.result-stat { min-height: 180px; padding: 27px 24px 24px 0; border-bottom: 1px solid rgba(251, 248, 241, .24); }
.result-stat:nth-child(odd) { padding-right: 20px; }
.result-stat:nth-child(even) { padding-left: 22px; border-left: 1px solid rgba(251, 248, 241, .24); }
.result-stat:nth-last-child(-n + 2) { border-bottom: 0; }
.result-stat strong { display: block; color: var(--gold-soft); font: 500 clamp(35px, 4.6vw, 58px)/1.05 var(--serif); letter-spacing: -.045em; white-space: nowrap; }
.result-stat strong span { font-size: .58em; letter-spacing: -.01em; }
.result-stat p { max-width: 245px; margin: 11px 0 0; color: #e9dfd1; font-size: 13px; line-height: 1.55; }

.section-flor { background: #f0e8da; }
.flor-layout { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(48px, 9vw, 130px); }
.flor-portrait { position: relative; width: min(100%, 445px); margin: 0; padding: 0 17px 17px 0; }
.flor-portrait::after { position: absolute; right: 0; bottom: 0; width: 45%; height: 46%; border: 1px solid var(--gold); content: ""; }
.flor-portrait img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1000 / 1333; object-fit: cover; }
.flor-portrait figcaption { position: relative; z-index: 2; width: fit-content; margin: -1px 0 0 auto; padding: 10px 13px; background: var(--ivory); color: var(--muted); font-size: 11px; }
.flor-portrait figcaption span { color: var(--gold-deep); }
.flor-copy h2 { max-width: 650px; margin-bottom: 20px; }
.flor-subtitle { margin: 0 0 24px; color: var(--wine); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.flor-copy > p:not(.eyebrow):not(.flor-subtitle) { max-width: 630px; margin-bottom: 14px; color: #4f4841; font-size: 15px; line-height: 1.8; }
.flor-copy blockquote { max-width: 550px; margin: 30px 0 0; padding: 18px 0 0 22px; border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); color: var(--wine); font: 400 25px/1.35 var(--serif); }

.section-price { background: var(--wine-deep); color: var(--ivory); }
.section-price .eyebrow, .section-price .eyebrow-divider { color: var(--gold-soft); }
.price-layout { display: grid; grid-template-columns: 1fr minmax(360px, .83fr); align-items: center; gap: clamp(50px, 10vw, 145px); }
.price-intro h2 { margin-bottom: 25px; color: var(--ivory); }
.price-intro h2 em { color: var(--gold-soft); }
.price-intro > p:not(.eyebrow) { max-width: 475px; color: #e8dbca; font-size: 16px; }
.price-intro .price-thought { max-width: 520px; margin-top: 27px; padding-top: 22px; border-top: 1px solid rgba(251, 248, 241, .3); font: 400 19px/1.6 var(--serif); }
.price-card { padding: clamp(27px, 4vw, 43px); background: var(--ivory); color: var(--ink); box-shadow: 0 18px 50px rgba(18, 16, 13, .22); }
.price-card-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; padding-bottom: 21px; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.price-pill { padding: 5px 9px; background: #efe5d0; color: var(--wine); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.price-main { display: flex; align-items: baseline; gap: 9px; margin-top: 23px; }
.price-main strong { font: 500 clamp(48px, 5.5vw, 67px)/1 var(--serif); letter-spacing: -.05em; }
.price-main span { color: var(--muted); font-size: 15px; }
.price-cancel { margin: 9px 0 0; color: var(--wine); font-size: 13px; font-weight: 600; }
.price-includes { display: grid; gap: 9px; margin: 22px 0 25px; padding: 19px 0 0; border-top: 1px solid var(--line); list-style: none; }
.price-includes li { position: relative; padding-left: 22px; color: #453f38; font-size: 13px; }
.price-includes li::before { position: absolute; left: 0; color: var(--gold-deep); content: "✓"; font-weight: 700; }
.price-card .button { width: 100%; min-height: 56px; }
.refund-line { margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.price-contact { display: flex; justify-content: flex-end; align-items: center; gap: 15px; margin-top: 26px; color: #e8dbca; font-size: 13px; }
.price-contact p { margin: 0; }
.price-contact .text-link { color: var(--gold-soft); font-size: 14px; }

.section-faq { background: var(--ivory); }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(45px, 8vw, 118px); align-items: start; }
.faq-intro { position: sticky; top: 122px; }
.faq-intro h2 { margin-bottom: 20px; }
.faq-intro > p:not(.eyebrow) { max-width: 300px; margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.faq-intro .text-link { align-items: flex-start; font-size: 13px; line-height: 1.5; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { position: relative; padding: 19px 38px 19px 0; cursor: pointer; list-style: none; font: 500 20px/1.35 var(--serif); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { position: absolute; top: 17px; right: 4px; color: var(--wine); content: "+"; font: 400 25px/1 var(--sans); transition: transform .2s ease; }
.faq-item[open] > summary::after { transform: rotate(45deg); }
.faq-answer { padding: 0 34px 21px 0; color: #504941; font-size: 13px; line-height: 1.75; }
.faq-answer p { margin: 0 0 12px; }
.cancel-video { max-width: 285px; margin: 20px 0; padding: 15px; background: #f0e8da; }
.video-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px; color: var(--ink); font-weight: 700; }
.video-title span { color: var(--muted); font-size: 10px; font-weight: 500; }
.cancel-video video { display: block; width: 100%; max-height: 400px; background: #171411; object-fit: contain; }
.video-caption { margin: 8px 0 0 !important; color: var(--muted); font-size: 10px; }
.steps-details { margin-top: 17px; padding: 13px 15px; border: 1px solid var(--line); }
.steps-details summary { color: var(--wine); cursor: pointer; font-size: 13px; font-weight: 700; }
.steps-details ol { display: grid; gap: 8px; margin: 13px 0 0; padding-left: 19px; }
.steps-details li { padding-left: 3px; }

.section-secondary { background: #eee4d2; }
.ai-card { display: grid; grid-template-columns: minmax(230px, .75fr) 1.25fr; gap: clamp(30px, 6vw, 82px); align-items: center; padding: clamp(24px, 5vw, 58px); background: var(--ink); color: var(--ivory); }
.ai-cover { width: min(100%, 360px); justify-self: center; }
.ai-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.ai-copy .card-index { color: var(--gold-soft); }
.ai-copy h3 { margin: 10px 0 16px; color: var(--ivory); font-size: clamp(34px, 4vw, 48px); }
.ai-copy > p { max-width: 625px; color: #e4d8c8; font-size: 14px; line-height: 1.8; }
.secondary-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 23px 0 19px; }
.secondary-price strong { color: var(--gold-soft); font: 500 32px var(--serif); }
.secondary-price span { color: #e4d8c8; font-size: 12px; }
.ai-copy .button-outline { border-color: var(--gold-soft); color: var(--ivory); }
.ai-copy .button-outline:hover { background: var(--gold-soft); color: var(--ink); }
.ebook-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.ebook-card { display: grid; grid-template-columns: minmax(120px, .7fr) 1.3fr; gap: 23px; align-items: start; padding: 25px; background: var(--ivory); }
.ebook-cover { display: grid; min-height: 215px; place-items: center; background: #e9dfcd; }
.ebook-cover img { width: 100%; height: 100%; max-height: 260px; object-fit: contain; }
.ebook-copy .card-index { font-size: 9px; }
.ebook-copy h3 { margin: 9px 0 4px; font-size: 26px; line-height: 1.2; }
.ebook-copy > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.ebook-copy ul { display: grid; gap: 5px; margin: 0 0 15px; padding-left: 16px; color: #4f4841; font-size: 11px; line-height: 1.45; }
.ebook-copy li::marker { color: var(--gold-deep); }
.ebook-copy .secondary-price { gap: 6px; margin: 12px 0; }
.ebook-copy .secondary-price strong { color: var(--wine); font-size: 26px; }
.ebook-copy .secondary-price span { color: var(--muted); font-size: 10px; }
.ebook-copy .button { min-height: 47px; padding-inline: 13px; font-size: 15px; }

.section-social { padding-block: clamp(66px, 8vw, 104px); background: var(--ivory); }
.social-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; align-items: start; }
.section-social h2 { margin-bottom: 15px; }
.section-social > .section-shell > div:first-child > p:last-child { max-width: 360px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.social-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-top: 10px; }
.social-group { display: grid; align-content: start; gap: 10px; }
.social-group h3 { margin: 0 0 3px; color: var(--gold-deep); font: 700 11px var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.social-group a { display: flex; justify-content: space-between; gap: 5px; color: var(--ink); font-size: 12px; font-weight: 600; text-decoration: none; }
.social-group a span { color: var(--wine); }
.social-group a:hover { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }

.section-close { padding-block: clamp(74px, 8vw, 110px); background: var(--wine); color: var(--ivory); text-align: center; }
.close-inner { max-width: 1000px; }
.close-inner > .eyebrow { justify-content: center; }
.close-inner h2 { margin: 0 auto 18px; font-size: clamp(37px, 5.4vw, 66px); font-weight: 400; letter-spacing: -.045em; line-height: 1.08; }
.close-inner h2 em { color: var(--gold-soft); }
.close-inner > p:not(.eyebrow):not(.close-signature) { margin-bottom: 27px; color: #e7dac6; font-size: 15px; }
.close-action { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; }
.close-action > span { color: #f0e4d3; font-size: 13px; }
.close-action i { color: var(--gold-soft); font-style: normal; }
.close-signature { margin: 43px 0 0; padding-top: 23px; border-top: 1px solid rgba(251, 248, 241, .25); color: #e8dbca; font: 400 18px/1.5 var(--serif); }
.close-signature strong { color: var(--gold-soft); font-weight: 500; }
.site-footer { background: var(--ink-deep); color: var(--ivory); }
.footer-inner { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 20px; width: min(100% - (var(--gutter) * 2), 1380px); margin-inline: auto; }
.wordmark-footer .wordmark-seal { border-color: var(--gold-soft); color: var(--gold-soft); }
.wordmark-footer .wordmark-text small { color: var(--gold-soft); }
.footer-inner > p { margin: 0; color: #d4c6b1; font-size: 9px; font-weight: 600; letter-spacing: .18em; }
.footer-top { color: #e8dbca; font-size: 12px; text-decoration: none; }
.footer-top:hover { color: var(--gold-soft); }

:focus-visible { outline: 3px solid #a8783b; outline-offset: 3px; }
.hero :focus-visible, .section-method :focus-visible, .section-price :focus-visible, .section-close :focus-visible, .ai-card :focus-visible, .site-footer :focus-visible { outline: 3px solid var(--gold-soft); outline-offset: 4px; }
.price-card .button:focus-visible { outline-color: var(--gold-deep); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1080px) {
  :root { --gutter: clamp(22px, 4vw, 52px); }
  .site-nav { gap: 17px; }
  .site-nav > a:not(.nav-cta) { font-size: 12px; }
  .include-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .include-image { aspect-ratio: 1.7 / 1; }
  .include-body { min-height: 225px; }
  .include-card-text { min-height: 225px; }
  .ebook-card { grid-template-columns: minmax(110px, .6fr) 1.4fr; padding: 20px; }
}

@media (max-width: 760px) {
  :root { --gutter: 22px; }
  html { scroll-padding-top: 76px; }
  .header-inner { min-height: 70px; }
  .wordmark-seal { width: 36px; height: 36px; font-size: 23px; }
  .wordmark-text strong { font-size: 10px; }
  .wordmark-text small { font-size: 8px; }
  .menu-toggle { display: grid; width: 46px; height: 46px; place-content: center; gap: 6px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
  .menu-toggle span { display: block; width: 18px; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 10px var(--gutter) 19px; border-bottom: 1px solid var(--line); background: var(--ivory); box-shadow: 0 16px 24px rgba(27, 23, 19, .08); }
  .site-nav.is-open { display: flex; flex-direction: column; }
  .site-nav > a:not(.nav-cta) { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
  .site-nav > a:not(.nav-cta)::after { display: none; }
  .nav-cta { min-height: 50px; justify-content: center; margin-top: 13px; font-size: 15px; }
  .hero { grid-template-columns: 1fr; gap: 34px; padding-block: 46px 62px; }
  .hero h1 { max-width: 680px; font-size: clamp(41px, 10vw, 65px); }
  .hero-lede { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .hero-actions .button { width: 100%; min-height: 56px; gap: 8px; padding-inline: 14px; font-size: 15px; }
  .hero-price { margin-top: 23px; }
  .hero-visual { width: min(82%, 385px); justify-self: center; }
  .signature-band { min-height: 58px; gap: 8px; font-size: 8px; letter-spacing: .13em; }
  .signature-band i { font-size: 10px; }
  .section { padding-block: 72px; }
  .heading-split { align-items: flex-start; flex-direction: column; gap: 16px; }
  .section-heading { margin-bottom: 31px; }
  .section-heading h2, .fit-intro h2, .problem-heading h2, .flor-copy h2, .price-intro h2, .faq-intro h2, .section-social h2 { font-size: clamp(37px, 9vw, 53px); }
  .heading-aside { max-width: 480px; font-size: 14px; }
  .include-grid { gap: 11px; }
  .include-image { aspect-ratio: 1.22 / 1; }
  .include-body { min-height: 0; padding: 17px 14px 18px; }
  .include-body h3 { font-size: 20px; }
  .include-body p { font-size: 12px; }
  .include-body .card-takeaway { font-size: 11px; }
  .include-card-text { min-height: 100%; }
  .include-card-text .include-number { padding: 15px 14px 0; font-size: 57px; }
  .include-bottom { align-items: flex-start; flex-direction: column; gap: 11px; }
  .include-bottom p { font-size: 12px; }
  .section-cta-row { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 36px; }
  .section-cta-row .button { width: 100%; min-height: 56px; gap: 8px; padding-inline: 14px; font-size: 15px; }
  .fit-layout, .problem-layout, .results-shell, .flor-layout, .price-layout, .faq-layout, .social-layout { grid-template-columns: 1fr; gap: 35px; }
  .fit-intro, .faq-intro { position: static; }
  .fit-intro > p:not(.eyebrow) { max-width: 540px; }
  .fit-list li { padding-block: 15px; font-size: 19px; }
  .fit-list li::before { top: 23px; }
  .fit-caveat { padding: 16px; }
  .fit-promise { font-size: 20px; }
  .problem-layout { gap: 18px; }
  .problem-story { font-size: 15px; }
  .curriculum-grid { grid-template-columns: 1fr; }
  .curriculum-card { grid-template-columns: 38px 1fr; gap: 11px; padding-block: 23px; }
  .curriculum-card h3 { font-size: 23px; }
  .curriculum-card ul { font-size: 13px; }
  .method-intro > p:not(.eyebrow) { margin-bottom: 33px; font-size: 15px; }
  .method-contrast { grid-template-columns: 1fr; }
  .method-other, .method-flor { padding: 23px; }
  .method-other p { margin-top: 16px; font-size: 20px; }
  .method-flor ul { grid-template-columns: 1fr; }
  .pillars-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .pillar-item summary { min-height: 72px; gap: 11px; padding: 14px; }
  .pillar-number { width: 30px; height: 30px; flex-basis: 30px; font-size: 18px; }
  .pillars-list h3 { font-size: 19px; }
  .pillar-answer { padding: 0 18px 21px; }
  .method-ownership ul { grid-template-columns: 1fr; gap: 0; }
  .method-ownership .ownership-close { padding-right: 64px; }
  .problem-sequence li { grid-template-columns: minmax(0, 1fr) 24px; gap: 5px 10px; padding-block: 15px; }
  .problem-sequence strong { grid-column: 1; font-size: 21px; }
  .problem-sequence .sequence-arrow { grid-column: 2; grid-row: 1 / span 2; }
  .results-shell { gap: 27px; }
  .results-kicker { margin-top: 21px; }
  .results-copy h2 { font-size: 27px; }
  .results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-stat { min-height: 145px; padding: 23px 10px 19px 0; }
  .result-stat:nth-child(even) { padding-left: 13px; }
  .result-stat strong { font-size: clamp(30px, 8vw, 43px); }
  .result-stat p { font-size: 12px; }
  .flor-layout { gap: 27px; }
  .flor-portrait { width: clamp(180px, 52vw, 230px); justify-self: center; padding: 0 10px 10px 0; }
  .flor-portrait::after { width: 38%; height: 40%; }
  .flor-portrait figcaption { padding: 8px 10px; font-size: 10px; }
  .flor-copy blockquote { font-size: 22px; }
  .price-layout { gap: 30px; }
  .price-intro > p:not(.eyebrow) { font-size: 15px; }
  .price-intro .price-thought { font-size: 17px; }
  .price-card { padding: 24px 20px; }
  .price-main strong { font-size: 57px; }
  .price-card .button { min-height: 56px; font-size: 16px; }
  .price-contact { justify-content: flex-start; align-items: flex-start; flex-direction: column; gap: 8px; }
  .faq-layout { gap: 27px; }
  .faq-intro > p:not(.eyebrow) { margin-bottom: 15px; }
  .faq-item summary { padding-block: 17px; font-size: 19px; }
  .faq-answer { padding-right: 0; }
  .ai-card { grid-template-columns: 1fr; gap: 23px; padding: 22px; }
  .ai-cover { width: min(70%, 300px); }
  .ai-copy h3 { font-size: 39px; }
  .ai-copy > p { font-size: 13px; }
  .ai-copy .button { width: 100%; min-height: 54px; font-size: 15px; }
  .ebook-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 12px; }
  .ebook-card { grid-template-columns: minmax(105px, .62fr) 1.38fr; gap: 15px; padding: 16px; }
  .ebook-cover { min-height: 180px; }
  .ebook-copy h3 { font-size: 23px; }
  .ebook-copy ul { font-size: 11px; }
  .ebook-copy .button { width: 100%; min-height: 48px; font-size: 15px; }
  .social-layout { gap: 23px; }
  .social-groups { grid-template-columns: 1fr 1fr; gap: 22px 17px; }
  .social-group a { font-size: 12px; }
  .section-close { padding-block: 72px; }
  .close-inner h2 { font-size: clamp(37px, 9vw, 54px); }
  .close-inner h2 br { display: none; }
  .close-action { align-items: stretch; flex-direction: column; }
  .close-action .button { width: 100%; min-height: 56px; gap: 8px; padding-inline: 14px; font-size: 15px; }
  .close-signature { margin-top: 33px; font-size: 17px; }
  .footer-inner { flex-wrap: wrap; justify-content: space-between; padding-block: 18px; }
  .footer-inner > p { order: 3; width: 100%; padding-top: 11px; border-top: 1px solid rgba(251, 248, 241, .18); text-align: center; }
}

@media (max-width: 390px) {
  :root { --gutter: 18px; }
  .hero h1 { font-size: 40px; }
  .hero .eyebrow { gap: 6px; font-size: 10px; letter-spacing: .1em; }
  .signature-band { gap: 6px; font-size: 7px; letter-spacing: .09em; }
  .include-grid { grid-template-columns: 1fr; }
  .include-image { aspect-ratio: 1.65 / 1; }
  .include-body { padding: 18px; }
  .include-card-text { min-height: 260px; }
  .include-card-text .include-number { font-size: 66px; }
  .social-groups { grid-template-columns: 1fr; }
  .ebook-card { grid-template-columns: 105px 1fr; gap: 13px; padding: 13px; }
  .ebook-cover { min-height: 155px; }
  .ebook-copy h3 { font-size: 21px; }
  .ebook-copy .secondary-price { align-items: flex-start; flex-direction: column; gap: 1px; }
  .result-stat strong { font-size: 29px; }
  .result-stat { min-height: 135px; }
  .wordmark-text strong { font-size: 9px; }
}


/* Dirección editorial: manifiesto visual, ritmo asimétrico y acentos de marca. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding-inline: max(var(--gutter), calc((100% - var(--shell)) / 2));
  background: radial-gradient(circle at 82% 45%, rgba(181, 138, 82, .2), transparent 27rem), var(--wine-deep);
  color: var(--ivory);
}
.hero::before {
  position: absolute;
  z-index: 0;
  right: 1.5%;
  bottom: -.18em;
  color: rgba(251, 248, 241, .045);
  content: "FLOR";
  font: 400 clamp(170px, 28vw, 390px)/.8 var(--serif);
  letter-spacing: -.1em;
  pointer-events: none;
}
.hero-copy, .hero-visual { position: relative; z-index: 1; }
.hero-copy { align-self: center; }
.hero .eyebrow { color: var(--gold-soft); }
.hero h1 { color: var(--ivory); }
.hero h1 em { color: var(--gold-soft); }
.hero-lede { color: #eadfce; }
.hero .text-link { color: var(--gold-soft); }
.hero .button-primary { background: linear-gradient(145deg, #252019, #12100d 76%); color: var(--ivory); }
.hero .button-primary:hover { background: linear-gradient(135deg, #ead8b3, #c19a62); color: var(--ink-deep); }
.hero .button-primary::after, .hero .button-primary:hover::after { border-color: rgba(18, 16, 13, .22); }
.hero-price { background: var(--ivory); box-shadow: 5px 5px 0 rgba(216, 189, 143, .35); }
.hero-price-note { color: var(--wine); }
.hero-qualities { color: #efe5d0; }
.hero-photo-frame { transform: rotate(1.2deg); box-shadow: 14px 14px 0 rgba(181, 138, 82, .28); }
.hero-visual::before {
  position: absolute;
  z-index: 0;
  top: 7%;
  left: -22%;
  width: 82%;
  aspect-ratio: 1;
  border: 1px solid rgba(216, 189, 143, .72);
  border-radius: 50%;
  content: "";
}
.hero-visual::after { z-index: -1; width: 56%; height: 58%; }
.hero-caption { border-left: 3px solid var(--gold); }

@media (min-width: 761px) {
  .section-includes .include-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "feature feature" "community mentor" "more more";
    gap: 20px 24px;
  }
  .section-includes .include-card-featured {
    display: grid;
    grid-area: feature;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
    border-left: 5px solid var(--gold);
  }
  .section-includes .include-card-featured .include-image { min-height: 300px; height: 100%; aspect-ratio: auto; }
  .section-includes .include-card-featured .include-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 50px); }
  .section-includes .include-grid > article:nth-of-type(2) { grid-area: community; border-top: 2px solid var(--wine); }
  .section-includes .include-grid > article:nth-of-type(3) { grid-area: mentor; border-top: 2px solid var(--gold); }
  .section-includes .include-grid > article:nth-of-type(2) .include-image,
  .section-includes .include-grid > article:nth-of-type(3) .include-image { aspect-ratio: 1.75 / 1; }
  .section-includes .include-card-text {
    display: grid;
    grid-area: more;
    grid-template-columns: minmax(140px, .25fr) minmax(0, 1fr);
    align-items: center;
    min-height: 205px;
    border-right: 5px solid var(--gold-soft);
  }
  .section-includes .include-card-text .include-number { padding: 0 25px; font-size: clamp(88px, 12vw, 156px); }
  .section-includes .include-card-text .include-body { padding: 27px clamp(24px, 4vw, 50px); }
  .section-includes .include-card { box-shadow: 0 8px 22px rgba(27, 23, 19, .06); transition: box-shadow .28s ease, transform .28s ease; }
  .section-includes .include-card:hover { box-shadow: 0 14px 32px rgba(27, 23, 19, .12); transform: translateY(-4px); }
  .curriculum-card:nth-of-type(even) { transform: translateY(18px); }
}

.section-problem { position: relative; overflow: hidden; background: linear-gradient(112deg, #e9dfcd 0 58%, #f3ecdd 58%); }
.section-problem::before {
  position: absolute;
  top: -.37em;
  right: 1.5%;
  color: rgba(110, 38, 50, .075);
  content: "?";
  font: 400 clamp(300px, 42vw, 640px)/1 var(--serif);
  pointer-events: none;
}
.problem-layout { position: relative; z-index: 1; }
.problem-heading { padding-left: 23px; border-left: 3px solid var(--wine); }
.curriculum-count {
  width: fit-content;
  gap: 11px;
  margin-bottom: 36px;
  padding: 10px 17px;
  transform: rotate(-1deg);
  border: 1px solid var(--gold-soft);
  background: var(--wine);
  box-shadow: 4px 4px 0 var(--gold-soft);
  color: var(--ivory);
}
.curriculum-count strong { color: var(--gold-soft); }
.curriculum-count span { color: #f1e8dc; }
.price-card { border: 1px solid var(--gold-soft); border-left: 5px solid var(--gold); box-shadow: 12px 12px 0 rgba(216, 189, 143, .24); }
.section-close { position: relative; overflow: hidden; }
.section-close::before {
  position: absolute;
  top: -.5em;
  left: 2%;
  color: rgba(216, 189, 143, .12);
  content: "✳";
  font: 400 clamp(180px, 34vw, 500px)/1 var(--sans);
  pointer-events: none;
  transform: rotate(-14deg);
}
.close-inner { position: relative; z-index: 1; }

@media (max-width: 760px) {
  .hero { gap: 30px; padding-block: 40px 54px; padding-inline: var(--gutter); }
  .hero::before { right: -7%; bottom: 30%; font-size: 44vw; }
  .hero-photo-frame { transform: none; }
  .hero-visual::before { top: 2%; left: -18%; width: 77%; }
  .hero-visual::after { width: 50%; height: 45%; }
  .section-includes .include-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "feature" "community" "mentor" "more";
    gap: 15px;
  }
  .section-includes .include-card-featured { display: block; border-left: 0; border-top: 4px solid var(--gold); }
  .section-includes .include-card-featured .include-image { min-height: 0; height: auto; aspect-ratio: 1.55 / 1; }
  .section-includes .include-card-featured .include-body { display: block; padding: 19px; }
  .section-includes .include-grid > article:nth-of-type(2) { border-top: 2px solid var(--wine); }
  .section-includes .include-grid > article:nth-of-type(3) { border-top: 2px solid var(--gold); }
  .section-includes .include-card-text { display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: start; min-height: 0; border-right: 0; border-left: 4px solid var(--gold-soft); }
  .section-includes .include-card-text .include-number { grid-column: 1; padding: 23px 7px; font-size: 48px; }
  .section-includes .include-card-text .include-body { grid-column: 2; padding: 19px 15px 20px 4px; }
  .section-problem { background: linear-gradient(155deg, #e9dfcd 0 58%, #f3ecdd 58%); }
  .section-problem::before { top: 4%; right: -8%; font-size: 70vw; }
  .problem-heading { padding-left: 16px; }
  .curriculum-card:nth-of-type(even) { transform: none; }
  .curriculum-count { margin-bottom: 28px; }
  .price-card { box-shadow: 7px 7px 0 rgba(216, 189, 143, .24); }
}

@media (prefers-reduced-motion: reduce) {
  .section-includes .include-card { transition: none; }
}

.hero-price, .hero-price strong { color: var(--ink); }
.hero-caption { color: var(--ink); }


/* 02 · 03 · 05 — ritmo editorial asimétrico */
.fit-list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "a a a a a a b b b b b b"
    "c c c c c c . . . . . ."
    ". d d d d d . e e e e e"
    "f f f f f f f . . . . ."
    ". . g g g g g g . . . .";
  gap: 13px 14px;
}
.fit-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-height: 0;
  padding: 17px 15px 18px;
  border: 1px solid rgba(27, 23, 19, .11);
  background: #f4eedf;
  box-shadow: 4px 4px 0 rgba(216, 189, 143, .38);
  font: 400 clamp(15px, 1.35vw, 18px)/1.42 var(--serif);
}
.fit-list li::before { display: none; }
.fit-list li:nth-child(1) { grid-area: a; transform: translateY(8px) rotate(-.4deg); }
.fit-list li:nth-child(2) { grid-area: b; background: var(--wine); color: var(--ivory); transform: rotate(.5deg); }
.fit-list li:nth-child(3) { grid-area: c; margin-left: 8%; background: #ece2d1; }
.fit-list li:nth-child(4) { grid-area: d; background: #faf7ef; }
.fit-list li:nth-child(5) { grid-area: e; margin-top: 16px; background: #e9dfcd; }
.fit-list li:nth-child(6) { grid-area: f; margin-left: 6%; background: var(--ink); color: var(--ivory); transform: rotate(-.35deg); }
.fit-list li:nth-child(7) { grid-area: g; margin-left: 8%; background: #f0e8d7; }
.fit-index { flex: 0 0 auto; padding-top: 3px; color: var(--gold-deep); font: 700 10px/1 var(--sans); letter-spacing: .08em; }
.fit-list li:nth-child(2) .fit-index,
.fit-list li:nth-child(6) .fit-index { color: var(--gold-soft); }
.fit-caveat { width: 88%; margin-left: auto; border-left: 4px solid var(--gold); background: var(--wine); box-shadow: 5px 5px 0 rgba(216, 189, 143, .45); }
.fit-caveat p { color: var(--ivory); }
.fit-caveat strong { color: var(--gold-soft); }
.caveat-mark { border-color: var(--gold-soft); color: var(--gold-soft); }
.fit-promise { max-width: 82%; margin-left: 0; padding-left: 19px; border-left: 1px solid var(--gold); }

.curriculum-count {
  justify-content: center;
  margin: 2px auto 38px;
  padding: 12px 21px;
  transform: rotate(-1.5deg);
  box-shadow: 6px 6px 0 var(--gold-soft);
}
.curriculum-count strong { font-size: 52px; }
.curriculum-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  grid-template-areas: "one two" "three four";
  align-items: start;
  gap: 20px clamp(28px, 4.5vw, 66px);
}
.curriculum-card {
  position: relative;
  align-self: start;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 15px;
  padding: 23px 20px 28px;
  border: 1px solid rgba(27, 23, 19, .12);
  background: #f5f0e5;
  box-shadow: 5px 5px 0 rgba(216, 189, 143, .42);
}
  .curriculum-card:nth-of-type(1) { grid-area: one; margin-top: 5px; transform: rotate(-.35deg); border-top: 3px solid var(--gold); }
  .curriculum-card:nth-of-type(2) { grid-area: two; margin-top: 12px; transform: rotate(.55deg); border-top: 3px solid var(--wine); background: #eee5d5; }
  .curriculum-card:nth-of-type(3) { grid-area: three; margin-top: 6px; transform: rotate(.25deg); border-top: 3px solid var(--ink); background: #f1e9da; }
  .curriculum-card:nth-of-type(4) { grid-area: four; margin-top: 14px; transform: rotate(-.4deg); border-top: 3px solid var(--gold); }
.curriculum-no {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
  background: var(--wine);
  color: var(--gold-soft);
  font-size: 25px;
}
.curriculum-card:nth-of-type(even) .curriculum-no { background: var(--ink); }
.curriculum-card h3 { font-size: clamp(21px, 2.2vw, 26px); }
.curriculum-card ul { gap: 7px; }

.results-shell { align-items: center; }
.results-grid { display: grid; grid-template-columns: 1fr; gap: 21px; align-content: initial; }
.results-grid .result-stat-primary {
  position: relative;
  display: grid;
  min-height: 0;
  gap: 2px;
  overflow: hidden;
  padding: 25px 27px 24px;
  border: 1px solid var(--gold-soft);
  border-left: 5px solid var(--gold);
  background: #f3eedf;
  box-shadow: 8px 8px 0 rgba(216, 189, 143, .28);
}
.result-stat-primary::after {
  position: absolute;
  right: -12px;
  bottom: -78px;
  color: rgba(110, 38, 50, .08);
  content: "✳";
  font: 400 clamp(150px, 19vw, 260px)/1 var(--sans);
  pointer-events: none;
}
.result-index { display: block; color: var(--gold-soft); font: 700 10px/1.2 var(--sans); letter-spacing: .13em; }
.result-stat-primary .result-index { color: var(--wine); }
.result-stat-primary strong { position: relative; z-index: 1; margin-top: 8px; color: var(--wine); font-size: clamp(60px, 7vw, 96px); }
.result-stat-primary p { position: relative; z-index: 1; max-width: 340px; margin-top: 7px; color: var(--ink); font-size: 15px; }
.results-satellites { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.results-satellites .result-stat-satellite {
  min-height: 0;
  padding: 18px 12px 0 0;
  border-top: 1px solid rgba(251, 248, 241, .27);
  border-bottom: 0;
}
.results-satellites .result-stat-satellite:nth-child(even) { padding-left: 12px; border-left: 0; }
.result-stat-satellite:nth-child(2) { margin-top: 15px; }
.result-stat-satellite:nth-child(3) { margin-top: 30px; }
.result-stat-satellite .result-index { margin-bottom: 9px; color: #d1b484; }
.result-stat-satellite strong { font-size: clamp(25px, 2.65vw, 35px); white-space: normal; }
.result-stat-satellite p { margin-top: 8px; font-size: 12px; }

@media (max-width: 1080px) and (min-width: 761px) {
  .results-satellites { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-stat-satellite:nth-child(3) { grid-column: 1 / -1; margin-top: 0; }
}

@media (max-width: 760px) {
  .fit-list { grid-template-columns: 1fr; grid-template-areas: none; gap: 9px; }
  .fit-list li,
  .fit-list li:nth-child(n) { grid-area: auto; grid-column: auto; margin: 0; padding: 14px 15px; transform: none; }
  .fit-list li:nth-child(2) { margin-left: 9%; }
  .fit-list li:nth-child(4) { margin-right: 8%; }
  .fit-list li:nth-child(6) { margin-left: 5%; }
  .fit-caveat { width: 100%; margin-top: 19px; padding: 15px; }
  .fit-promise { max-width: 100%; margin-top: 22px; font-size: 18px; }
  .curriculum-count { margin: 0 auto 28px; padding: 10px 17px; }
  .curriculum-count strong { font-size: 46px; }
  .curriculum-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: none; gap: 10px; }
  .curriculum-card,
  .curriculum-card:nth-of-type(n) { grid-area: auto; margin: 0; transform: none; grid-template-columns: 43px minmax(0, 1fr); gap: 11px; padding: 19px 15px 21px; }
  .curriculum-card:nth-of-type(even) { margin-left: 13px; }
  .curriculum-card:nth-of-type(3) { margin-right: 13px; }
  .curriculum-no { width: 39px; height: 39px; font-size: 22px; }
  .curriculum-card h3 { font-size: 22px; }
  .curriculum-card ul { font-size: 13px; }
  .results-grid { gap: 17px; }
  .results-grid .result-stat-primary { padding: 22px 19px 20px; }
  .result-stat-primary strong { font-size: clamp(52px, 13vw, 76px); }
  .result-stat-primary p { font-size: 14px; }
  .results-satellites { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 13px; }
  .results-satellites .result-stat-satellite,
  .results-satellites .result-stat-satellite:nth-child(even) { padding: 15px 8px 0 0; border-left: 0; }
  .result-stat-satellite:nth-child(2), .result-stat-satellite:nth-child(3) { margin-top: 0; }
  .result-stat-satellite:nth-child(3) { grid-column: 1 / -1; }
  .result-stat-satellite strong { font-size: clamp(25px, 7.5vw, 34px); }
}

@media (max-width: 390px) {
  .fit-list li { font-size: 16px; }
  .curriculum-card,
  .curriculum-card:nth-of-type(n) { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; padding-inline: 12px; }
  .curriculum-no { width: 36px; height: 36px; font-size: 20px; }
  .curriculum-card h3 { font-size: 20px; }
  .results-grid .result-stat-primary { padding-inline: 15px; }
  .result-stat-primary strong { font-size: clamp(49px, 14vw, 62px); }
  .result-stat-satellite strong { font-size: 26px; }
}


/* Afinado del ritmo tipográfico y de la ruta de aprendizaje */
.fit-list li:nth-child(1) { font-size: clamp(16px, 1.45vw, 19px); }
.fit-list li:nth-child(2) { font-size: clamp(15px, 1.24vw, 16px); }
.fit-list li:nth-child(3) { font-size: clamp(16px, 1.38vw, 18px); }
.fit-list li:nth-child(4) { font-size: clamp(17px, 1.55vw, 20px); }
.fit-list li:nth-child(5) { font-size: clamp(15px, 1.3vw, 17px); }
.fit-list li:nth-child(6) { font-size: clamp(15px, 1.25vw, 16px); }
.fit-list li:nth-child(7) { font-size: clamp(16px, 1.4vw, 18px); }
.curriculum-grid { position: relative; isolation: isolate; }
.curriculum-route { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.curriculum-card { z-index: 1; }

@media (max-width: 760px) {
  .fit-list li:nth-child(1) { font-size: clamp(16px, 4.5vw, 18px); }
  .fit-list li:nth-child(2) { font-size: clamp(15px, 4vw, 16px); }
  .fit-list li:nth-child(3) { font-size: clamp(16px, 4.3vw, 17.5px); }
  .fit-list li:nth-child(4) { font-size: clamp(17px, 4.75vw, 19px); }
  .fit-list li:nth-child(5) { font-size: clamp(15px, 4.1vw, 16.5px); }
  .fit-list li:nth-child(6) { font-size: clamp(15px, 4.1vw, 16.5px); }
  .fit-list li:nth-child(7) { font-size: clamp(16px, 4.3vw, 17.5px); }
  .curriculum-route { display: none; }
  .curriculum-card:not(:last-child)::after {
    position: absolute;
    top: 100%;
    left: 34px;
    z-index: 2;
    width: 17px;
    border-top: 1px dashed var(--gold-deep);
    content: "";
    pointer-events: none;
    transform: rotate(37deg);
    transform-origin: left center;
  }
  .curriculum-card:nth-of-type(even):not(:last-child)::after { transform: rotate(143deg); }
}

@media (max-width: 390px) {
  .curriculum-card:not(:last-child)::after { left: 30px; width: 16px; }
}


/* Identidad recibida y mosaico desktop legible de la sección 02 */
.wordmark { min-height: 64px; }
.wordmark-logo { display: block; width: 146px; height: auto; mix-blend-mode: multiply; }
.wordmark-footer .wordmark-logo { width: 154px; }
.menu-toggle:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }

@media (min-width: 761px) {
  .fit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "a b" "c d" "e f" "g g";
    align-items: stretch;
    gap: 13px 15px;
  }
  .fit-list li,
  .fit-list li:nth-child(n) {
    min-width: 0;
    min-height: 116px;
    margin: 0;
    padding: 17px 16px;
    transform: none;
    border: 1px solid rgba(27, 23, 19, .13);
    box-shadow: 3px 3px 0 rgba(216, 189, 143, .32);
    font-size: clamp(16px, 1.22vw, 18px);
    line-height: 1.4;
  }
  .fit-list li:nth-child(1) { grid-area: a; background: #f4eedf; }
  .fit-list li:nth-child(2) { grid-area: b; background: var(--wine); color: var(--ivory); }
  .fit-list li:nth-child(3) { grid-area: c; background: #ece2d1; }
  .fit-list li:nth-child(4) { grid-area: d; min-height: 104px; background: #faf7ef; }
  .fit-list li:nth-child(5) { grid-area: e; background: #e9dfcd; }
  .fit-list li:nth-child(6) { grid-area: f; background: var(--ink); color: var(--ivory); }
  .fit-list li:nth-child(7) { grid-area: g; justify-self: center; width: 78%; min-height: 88px; align-items: center; background: #f0e8d7; }
  .fit-list li:nth-child(2) .fit-index,
  .fit-list li:nth-child(6) .fit-index { color: var(--gold-soft); }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .fit-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .fit-intro { position: static; max-width: 720px; }
  .fit-list-wrap { padding-top: 0; }
}

@media (max-width: 760px) {
  .wordmark { min-height: 0; }
  .wordmark-logo { width: 126px; }
  .wordmark-footer .wordmark-logo { width: 138px; }
  .header-inner { min-height: 70px; }
  .menu-toggle {
    display: grid;
    width: 50px;
    height: 50px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--gold-soft);
    border-radius: 50%;
    background: rgba(255, 255, 255, .55);
    color: var(--ink);
    box-shadow: 0 2px 8px rgba(27, 23, 19, .06);
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
  }
  .menu-toggle:hover { border-color: var(--gold); background: #fff; transform: translateY(-1px); }
  .menu-toggle span { display: block; width: 18px; height: 1.5px; background: currentColor; transition: transform .2s ease, opacity .16s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6.5px) rotate(-45deg); }
}


/* Escala final del logotipo horizontal en la navegación */
.wordmark-logo { width: 164px; }
.wordmark-footer .wordmark-logo { width: 172px; }
@media (max-width: 760px) {
  .header-inner { min-height: 78px; }
  .wordmark-logo { width: 145px; }
  .wordmark-footer .wordmark-logo { width: 150px; }
}

/* Acceso persistente y accesible a WhatsApp */
.whatsapp-fab {
  position: fixed;
  right: clamp(16px, 2.4vw, 30px);
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 60;
  display: inline-flex;
  width: 64px;
  min-width: 64px;
  height: 64px;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
  background: var(--wine);
  box-shadow: 0 8px 25px rgba(27, 23, 19, .22);
  color: var(--ivory);
  font: 700 15px/1 var(--sans);
  text-decoration: none;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.whatsapp-fab:hover { background: #541b27; box-shadow: 0 11px 30px rgba(27, 23, 19, .3); transform: translateY(-2px); }
.whatsapp-fab:focus-visible { outline: 3px solid var(--gold-soft); outline-offset: 3px; }
.whatsapp-fab svg { display: block; width: 30px; height: 30px; fill: currentColor; flex: 0 0 auto; }
.site-footer { padding-bottom: 82px; }

@media (max-width: 760px) {
  .whatsapp-fab {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
    padding: 0;
    border: 1px solid var(--gold-soft);
    border-radius: 50%;
    background: var(--wine);
    box-shadow: 0 8px 25px rgba(27, 23, 19, .22);
  }
  .whatsapp-fab:hover { background: #541b27; box-shadow: 0 11px 30px rgba(27, 23, 19, .3); transform: scale(1.04); }
  .whatsapp-fab svg { width: 30px; height: 30px; }
  .site-footer { padding-bottom: 88px; }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-fab { transition: none; }
}


/* Página 404 estática para Cloudflare Pages */
.not-found-page { min-height: 100vh; display: grid; grid-template-rows: auto 1fr; padding: 24px var(--gutter) clamp(32px, 7vw, 88px); background: var(--ivory); }
.not-found-logo { display: block; width: min(300px, 70vw); margin: 8px auto clamp(24px, 6vw, 62px); }
.not-found-logo img { display: block; width: 100%; height: auto; }
.not-found { align-self: center; width: min(100%, 940px); margin-inline: auto; padding: clamp(32px, 7vw, 78px); background: var(--paper); text-align: center; }
.not-found .eyebrow { justify-content: center; }
.not-found h1 { max-width: 770px; margin: 0 auto 20px; font-size: clamp(42px, 7vw, 72px); letter-spacing: -.045em; line-height: 1.05; }
.not-found p:not(.eyebrow) { max-width: 630px; margin: 0 auto 28px; color: var(--muted); font-size: 16px; }
.not-found-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; }
@media (max-width: 760px) {
  .not-found-page { padding-top: 18px; }
  .not-found-logo { margin-bottom: 24px; }
  .not-found { padding: 28px 20px; }
  .not-found-actions { align-items: stretch; flex-direction: column; }
  .not-found-actions .button { width: 100%; }
  .not-found-actions .text-link { justify-content: center; min-height: 44px; }
}


/* Precio robusto en móviles muy estrechos */
@media (max-width: 760px) {
  .price-layout { grid-template-columns: minmax(0, 1fr); }
  .price-layout > * { min-width: 0; }
}
@media (max-width: 340px) {
  .price-main { flex-wrap: wrap; gap: 3px 8px; }
  .price-main strong { font-size: 46px; }
  .price-main span { flex-basis: 100%; }
}


/*
 * 2026 · Integración final de copy y estructura
 * Este bloque queda al final para resolver las iteraciones anteriores sin
 * rehacer el sitio ni depender de cambios en HTML, JavaScript o imágenes.
 */
:root {
  --charcoal: #171717;
  --charcoal-soft: #202020;
  --gold-cta: #d8bd8f;
  --gold-cta-deep: #b58a52;
}

html,
body {
  overflow-x: hidden;
}

h1,
h2,
h3,
p,
li,
a,
button {
  overflow-wrap: anywhere;
}

/* Cabecera: el PNG recibido conserva sus proporciones y no se mezcla con el fondo. */
.wordmark-logo {
  width: clamp(220px, 19vw, 250px);
  height: auto;
  mix-blend-mode: normal;
  filter: none;
}
.wordmark-footer .wordmark-logo {
  width: clamp(190px, 18vw, 220px);
  mix-blend-mode: normal;
  filter: none;
}

@media (max-width: 1050px) and (min-width: 761px) {
  .header-inner {
    position: relative;
    min-height: 82px;
  }
  .menu-toggle {
    display: grid;
    width: 50px;
    height: 50px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--gold-soft);
    border-radius: 50%;
    background: rgba(255, 255, 255, .62);
    color: var(--ink);
    box-shadow: 0 2px 8px rgba(27, 23, 19, .06);
    cursor: pointer;
  }
  .menu-toggle span {
    display: block;
    width: 18px;
    height: 1.5px;
    background: currentColor;
  }
  .site-nav {
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 10px var(--gutter) 19px;
    border-bottom: 1px solid var(--line);
    background: var(--ivory);
    box-shadow: 0 16px 24px rgba(27, 23, 19, .08);
  }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.nav-cta) {
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
  }
  .site-nav > a:not(.nav-cta)::after { display: none; }
  .nav-cta { min-height: 50px; margin-top: 13px; }
}

/* Hero: la jerarquía se mantiene por áreas, no por orden flex ni scripts. */
.hero.section-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .98fr);
  grid-template-areas:
    "kicker visual"
    "title visual"
    "summary visual"
    "actions visual"
    "price visual";
  align-items: start;
  gap: 0 clamp(32px, 5vw, 82px);
  width: min(100% - (var(--gutter) * 2), var(--shell));
  margin-inline: auto;
  padding: clamp(54px, 7vw, 92px) clamp(24px, 5vw, 76px) clamp(58px, 7vw, 94px);
  overflow: clip;
  isolation: isolate;
  background: var(--charcoal);
  color: var(--ivory);
}
.hero.section-shell::before,
.hero.section-shell::after,
.hero-visual::before,
.hero-visual::after {
  display: none;
}
.hero-copy { display: contents; }
.hero-copy > .eyebrow {
  grid-area: kicker;
  align-self: end;
  margin: 0 0 18px;
  color: var(--gold-soft);
}
.hero-copy > h1 {
  grid-area: title;
  max-width: 700px;
  margin: 0 0 20px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(50px, 4.35vw, 58px);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.03;
}
.hero-copy > h1 em {
  color: var(--gold-soft);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.045em;
}
.hero-copy > .hero-lede {
  grid-area: summary;
  max-width: 625px;
  margin: 0 0 26px;
  color: #eadfce;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.7;
}
.hero-copy > .hero-actions {
  grid-area: actions;
  align-self: start;
  margin: 0;
}
.hero-actions .button-primary {
  border-color: var(--gold-cta);
  background: linear-gradient(145deg, #2d281f, #111111 78%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 3px 0 rgba(181, 138, 82, .5), 0 8px 18px rgba(0, 0, 0, .22), 0 0 20px rgba(216, 189, 143, .13);
  color: var(--ivory);
}
.hero-actions .button-primary:hover {
  border-color: #f1ddb4;
  background: linear-gradient(135deg, #ead8b3, #c19a62);
  color: var(--ink-deep);
}
.hero-actions .text-link {
  color: var(--gold-soft);
  font-size: 16px;
}
.hero-copy > .hero-price {
  grid-area: price;
  align-self: start;
  margin: 24px 0 0;
  background: var(--ivory);
  box-shadow: 5px 5px 0 rgba(216, 189, 143, .34);
  color: var(--ink);
}
.hero-price strong { color: var(--ink); }
.hero-price-note { color: var(--wine); }

.hero-visual {
  grid-area: visual;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(146px, .55fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "product teacher"
    "product note";
  align-self: center;
  width: 100%;
  max-width: 660px;
  min-width: 0;
  margin: 0;
  padding: 0;
  gap: 14px;
}
.hero-product {
  grid-area: product;
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(216, 189, 143, .55);
  background: var(--charcoal-soft);
}
.hero-product img {
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 435;
  object-fit: contain;
  background: #252525;
}
.hero-product figcaption {
  display: grid;
  gap: 5px;
  padding: 13px 15px 15px;
  border-top: 1px solid rgba(216, 189, 143, .22);
}
.hero-product figcaption .card-index { color: var(--gold-soft); }
.hero-product figcaption strong {
  color: var(--ivory);
  font-size: 14px;
  font-weight: 650;
}
.hero-teacher {
  grid-area: teacher;
  align-self: end;
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(216, 189, 143, .42);
  background: var(--charcoal-soft);
}
.hero-teacher img {
  width: 100%;
  height: auto;
  aspect-ratio: 432 / 506;
  object-fit: contain;
  background: #252525;
}
.hero-teacher figcaption {
  display: grid;
  gap: 2px;
  padding: 9px 10px 11px;
  color: var(--ivory);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
}
.hero-teacher figcaption span {
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 500;
}
.hero-visual-note {
  grid-area: note;
  align-self: start;
  margin: 0;
  padding: 8px 0 0;
  border-top: 1px solid rgba(216, 189, 143, .45);
  color: #e8dbca;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .04em;
  line-height: 1.45;
}

/* Problema: texto y lista compacta, sin convertir el dolor en tarjetas. */
.section-problem {
  background: var(--cream);
}
.section-problem::before { display: none; }
.problem-heading {
  padding-left: 20px;
  border-left: 2px solid var(--gold-deep);
}
.problem-heading h2 {
  max-width: 590px;
  font-family: var(--sans);
  font-size: clamp(36px, 4.4vw, 54px);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.04;
}
.problem-heading h2 em {
  color: var(--wine);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
}
.problem-story {
  max-width: 680px;
  color: #403a33;
  font-size: 16px;
  line-height: 1.72;
}
.problem-pains {
  display: grid;
  gap: 0;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(118, 82, 41, .28);
}
.problem-pains li {
  padding: 15px 0 16px;
  border-bottom: 1px solid rgba(118, 82, 41, .28);
}
.problem-pains li strong {
  display: block;
  margin-bottom: 3px;
  color: var(--wine);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.35;
}
.problem-pains li:not(:has(strong)) { padding-left: 0; }
.problem-shift {
  gap: 4px;
  margin: 25px 0 20px;
  padding: 2px 0 2px 17px;
  border-left: 2px solid var(--wine);
}
.problem-shift span { font-size: 13px; }
.problem-shift strong {
  color: var(--wine);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}
.problem-resolution {
  margin-top: 28px;
  padding-top: 21px;
  border-top: 1px solid rgba(118, 82, 41, .35);
}
.problem-resolution h3 {
  margin-bottom: 8px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 750;
}
.problem-resolution p { margin-bottom: 0; }

/* Incluye: las fotos se muestran completas, incluyendo screenshots y retrato 432×506. */
.section-includes { background: var(--paper); }
.section-includes .include-lede {
  max-width: 680px;
  margin: -21px 0 36px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}
.section-includes .include-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "feature feature" "community mentor" "more more";
  gap: 20px 24px;
}
.section-includes .include-card {
  min-width: 0;
  border: 0;
  box-shadow: none;
  transform: none;
}
.section-includes .include-card-featured {
  display: grid;
  grid-area: feature;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  border-top: 3px solid var(--gold);
  background: var(--ivory);
}
.section-includes .include-card-featured .include-image {
  min-height: 0;
  height: auto;
  aspect-ratio: auto;
}
.section-includes .include-grid > article:nth-of-type(2) {
  grid-area: community;
  border-top: 2px solid var(--wine);
}
.section-includes .include-grid > article:nth-of-type(3) {
  grid-area: mentor;
  border-top: 2px solid var(--gold);
}
.section-includes .include-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  height: auto;
  aspect-ratio: auto;
  overflow: hidden;
  background: #e6dcc9;
}
.section-includes .include-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  transition: none;
}
.section-includes .include-card-featured .include-image { background: #242424; }
.section-includes .include-card-featured .include-image img { object-fit: contain; }
.section-includes .include-body {
  min-width: 0;
  padding: clamp(23px, 3.4vw, 43px);
  background: var(--ivory);
}
.section-includes .include-body h3 {
  margin: 11px 0 12px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(25px, 2.5vw, 34px);
  font-weight: 550;
  line-height: 1.12;
}
.section-includes .include-body p {
  margin-bottom: 14px;
  color: #514940;
  font-size: 16px;
  line-height: 1.68;
}
.section-includes .include-body .card-takeaway {
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
  color: var(--wine);
  font-size: 14px;
  font-weight: 650;
}
.section-includes .include-card-text {
  display: grid;
  grid-area: more;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  min-height: 0;
  border: 0;
  border-left: 4px solid var(--gold-soft);
  background: var(--wine);
}
.section-includes .include-card-text .include-number {
  padding: 0 18px;
  color: var(--gold-soft);
  font: 700 24px/1 var(--sans);
  letter-spacing: .05em;
}
.section-includes .include-card-text .include-body {
  background: transparent;
}
.section-includes .include-card-text .include-body h3 { color: var(--ivory); }
.section-includes .include-card-text .include-body p,
.section-includes .include-card-text .card-index { color: #e7dac6; }
.section-includes .include-card-text .include-body .card-takeaway {
  border-color: rgba(251, 248, 241, .26);
  color: var(--gold-soft);
}
.include-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 30px;
  align-items: center;
  margin-top: 35px;
  padding: 25px clamp(20px, 3vw, 35px);
  border-top: 1px solid rgba(27, 23, 19, .18);
  background: var(--charcoal);
  color: var(--ivory);
}
.include-offer h3 {
  margin: 0 0 5px;
  color: var(--gold-soft);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 700;
}
.include-offer p { margin: 0; color: #e8dbca; font-size: 15px; line-height: 1.55; }
.include-offer .offer-action,
.results-decision .offer-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 16px;
}
.offer-action .button { min-height: 54px; font-size: 16px; }
.offer-action .price,
.include-offer .price,
.results-decision .price {
  color: var(--gold-soft);
  font-size: 14px;
  white-space: nowrap;
}

/* Resultados: dos satélites, comunidad separada y disclaimer visible. */
.section-results {
  background: var(--charcoal);
  color: var(--ivory);
}
.section-results::before,
.section-results::after,
.result-stat-primary::after { display: none; }
.results-shell { width: min(100% - (var(--gutter) * 2), var(--shell)); }
.results-grid { gap: 22px; }
.results-satellites {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.results-satellites .result-stat-satellite,
.results-satellites .result-stat-satellite:nth-child(even) {
  margin: 0;
  padding: 17px 10px 0 0;
  border-top: 1px solid rgba(251, 248, 241, .27);
  border-left: 0;
}
.results-satellites .result-stat-satellite:nth-child(2) { padding-left: 18px; }
.results-community {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(30px, 7vw, 94px);
  align-items: center;
  width: min(100% - (var(--gutter) * 2), var(--shell));
  margin: clamp(57px, 8vw, 96px) auto 0;
  padding-top: clamp(34px, 5vw, 56px);
  border-top: 1px solid rgba(251, 248, 241, .25);
}
.results-community-copy { min-width: 0; }
.results-community-copy .result-stat-community {
  min-height: 0;
  margin: 21px 0 26px;
  padding: 0;
  border: 0;
}
.result-stat-community strong {
  display: block;
  color: var(--gold-soft);
  font: 500 clamp(43px, 6vw, 75px)/1 var(--serif);
  letter-spacing: -.045em;
}
.result-stat-community p {
  max-width: 250px;
  margin: 7px 0 0;
  color: #e9dfd1;
  font-size: 14px;
  line-height: 1.5;
}
.results-community-copy h3 {
  max-width: 480px;
  margin: 0 0 12px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.12;
}
.results-community-copy > p:not(.result-stat-community p) {
  max-width: 500px;
  margin: 0;
  color: #d3c8b8;
  font-size: 16px;
  line-height: 1.7;
}
.results-community figure {
  min-width: 0;
  margin: 0;
}
.results-community figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 700 / 444;
  object-fit: contain;
  background: #252525;
}
.results-community figcaption {
  margin-top: 9px;
  color: #d3c8b8;
  font-size: 12px;
}
.results-decision {
  width: min(100% - (var(--gutter) * 2), 900px);
  margin: clamp(58px, 8vw, 92px) auto 0;
  padding-top: 32px;
  border-top: 1px solid rgba(216, 189, 143, .45);
}
.results-decision h3 {
  max-width: 760px;
  margin: 0 0 14px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(28px, 4vw, 45px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.results-decision h3 span {
  display: block;
  color: var(--gold-soft);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
}
.results-decision > p {
  max-width: 690px;
  margin: 0 0 24px;
  color: #d3c8b8;
  font-size: 16px;
  line-height: 1.7;
}
.results-decision .offer-action { justify-content: flex-start; }

/* FAQ y ebooks: encabezados comerciales sans, lectura de respuesta generosa. */
.faq-intro h2 {
  max-width: 470px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: clamp(36px, 4vw, 42px);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.08;
}
.faq-intro h2 em {
  color: var(--wine);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
}
.faq-item summary {
  font-family: var(--sans);
  font-size: clamp(18px, 1.55vw, 20px);
  font-weight: 650;
}
.faq-answer {
  color: #504941;
  font-size: 16px;
  line-height: 1.72;
}
.ebooks-faq {
  margin-top: 21px;
  padding: 17px 19px;
  border: 1px solid var(--line);
  background: rgba(251, 248, 241, .7);
}
.ebooks-faq summary {
  color: var(--wine);
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}
.ebooks-faq p {
  max-width: 680px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}

/* Cierre: un solo bloque comercial, charcoal y sin ornamento gigante. */
.section-close {
  background: var(--charcoal);
  color: var(--ivory);
  text-align: left;
}
.section-close::before,
.section-close::after { display: none; }
.close-inner {
  width: min(100%, 900px);
  max-width: 900px;
  margin-inline: auto;
}
.close-inner > .eyebrow { justify-content: flex-start; }
.close-inner h2 {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(38px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.04;
}
.close-inner h2 em {
  color: var(--gold-soft);
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
}
.close-inner > p:not(.eyebrow):not(.close-signature):not(.close-help) {
  max-width: 720px;
  margin-bottom: 17px;
  color: #e7dac6;
  font-size: 17px;
  line-height: 1.7;
}
.close-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .82fr);
  gap: 24px 38px;
  align-items: center;
  margin: 32px 0 28px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--gold-soft);
  border-left: 4px solid var(--gold-cta);
  background: var(--ivory);
  color: var(--ink);
  text-align: left;
}
.close-offer h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 750;
}
.close-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 13px;
}
.close-price strong {
  color: var(--wine);
  font: 600 clamp(42px, 5vw, 62px)/1 var(--serif);
  letter-spacing: -.045em;
}
.close-price span { color: var(--muted); font-size: 15px; }
.close-includes {
  max-width: 480px;
  margin: 0;
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
.close-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px 16px;
}
.close-action .button-gold {
  min-height: 56px;
  font-size: 16px;
}
.close-action > span {
  color: var(--muted);
  font-size: 14px;
}
.close-conditions {
  max-width: 680px;
  margin: 0 0 25px;
  padding-top: 20px;
  border-top: 1px solid rgba(216, 189, 143, .38);
}
.close-conditions h3 {
  margin: 0 0 7px;
  color: var(--gold-soft);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 700;
}
.close-conditions p {
  margin: 0 0 8px;
  color: #e7dac6;
  font-size: 16px;
  line-height: 1.65;
}
.close-conditions .refund-line {
  color: var(--gold-soft);
  font-weight: 650;
  text-align: left;
}
.close-help {
  max-width: 660px;
  color: #e7dac6;
  font-size: 16px;
  line-height: 1.65;
}
.close-help .text-link { color: var(--gold-soft); }
.close-signature {
  max-width: 680px;
  margin-top: 36px;
  text-align: left;
}

/* Footer sobre superficie clara: el logo no se invierte ni queda ilegible. */
.site-footer {
  padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  background: var(--ivory);
  color: var(--ink);
}
.footer-inner {
  min-height: 104px;
  border-top: 1px solid var(--line);
}
.footer-inner > p { color: var(--muted); }
.footer-top { color: var(--wine); }
.footer-top:hover { color: var(--gold-deep); }
.wordmark-footer .wordmark-text strong { color: var(--ink); }
.wordmark-footer .wordmark-text small { color: var(--gold-deep); }

@media (max-width: 760px) {
  :root { --gutter: 18px; }
  .wordmark-logo { width: clamp(180px, 51vw, 200px); }
  .wordmark-footer .wordmark-logo { width: clamp(180px, 51vw, 200px); }
  .header-inner { min-height: 78px; }
  .menu-toggle {
    display: grid;
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--gold-soft);
    border-radius: 50%;
    background: rgba(255, 255, 255, .62);
  }

  .hero.section-shell {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "kicker"
      "title"
      "visual"
      "summary"
      "actions"
      "price";
    gap: 0;
    width: min(100% - (var(--gutter) * 2), var(--shell));
    padding: 37px 20px 46px;
  }
  .hero-copy > .eyebrow { margin-bottom: 14px; }
  .hero-copy > h1 {
    max-width: 560px;
    margin-bottom: 19px;
    font-size: clamp(34px, 8.8vw, 36px);
    line-height: 1.08;
  }
  .hero-copy > h1 em { letter-spacing: -.04em; }
  .hero-copy > .hero-lede {
    max-width: 580px;
    margin: 21px 0 23px;
    font-size: 16px;
    line-height: 1.63;
  }
  .hero-visual {
    grid-template-columns: minmax(0, 1fr) minmax(88px, 29%);
    grid-template-rows: auto auto;
    grid-template-areas:
      "product product"
      "teacher note";
    gap: 10px;
    width: 100%;
    margin: 0;
  }
  .hero-product figcaption { padding: 10px 12px 12px; }
  .hero-product figcaption strong { font-size: 13px; }
  .hero-teacher figcaption { padding: 7px 8px 9px; font-size: 11px; }
  .hero-teacher figcaption span { font-size: 9px; }
  .hero-visual-note { padding-top: 7px; font-size: 10px; }
  .hero-copy > .hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .hero-actions .button-primary { width: 100%; min-height: 55px; font-size: 16px; }
  .hero-actions .text-link { min-height: 42px; justify-content: flex-start; }
  .hero-copy > .hero-price {
    width: fit-content;
    max-width: 100%;
    margin-top: 19px;
  }

  .problem-layout { gap: 24px; }
  .problem-heading { padding-left: 14px; }
  .problem-heading h2 { font-size: clamp(34px, 9vw, 42px); }
  .problem-story { font-size: 16px; }
  .problem-pains li strong { font-size: 16px; }
  .problem-shift strong { font-size: 22px; }

  .section-includes .include-lede { margin-top: -12px; font-size: 16px; }
  .section-includes .include-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "feature" "community" "mentor" "more";
    gap: 15px;
  }
  .section-includes .include-card-featured {
    display: block;
    border-top-width: 3px;
  }
  .section-includes .include-card-featured .include-image { height: auto; }
  .section-includes .include-body { padding: 19px; }
  .section-includes .include-body h3 { font-size: 26px; }
  .section-includes .include-body p { font-size: 16px; }
  .section-includes .include-card-text {
    grid-template-columns: 54px minmax(0, 1fr);
    border-left-width: 3px;
  }
  .section-includes .include-card-text .include-number {
    padding: 21px 7px;
    font-size: 17px;
  }
  .section-includes .include-card-text .include-body { padding: 19px 15px 20px 2px; }
  .include-offer {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-top: 27px;
    padding: 22px 18px;
  }
  .include-offer .offer-action,
  .results-decision .offer-action {
    justify-content: flex-start;
  }
  .include-offer .offer-action .button { width: 100%; }

  .results-shell,
  .results-community,
  .results-decision { width: min(100% - (var(--gutter) * 2), var(--shell)); }
  .results-community {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    margin-top: 55px;
    padding-top: 31px;
  }
  .results-community-copy h3 { font-size: 28px; }
  .results-community figure { order: 2; }
  .results-decision { margin-top: 57px; padding-top: 27px; }
  .results-decision h3 { font-size: clamp(28px, 8vw, 36px); }
  .results-decision .offer-action .button { width: 100%; }

  .faq-intro h2 { font-size: clamp(35px, 9vw, 42px); }
  .faq-item summary { font-size: 18px; }
  .faq-answer { font-size: 16px; }
  .ebooks-faq { padding: 15px; }
  .ebooks-faq p { font-size: 16px; }

  .section-close { padding-block: 62px; }
  .close-inner h2 { font-size: clamp(36px, 9vw, 48px); }
  .close-inner > p:not(.eyebrow):not(.close-signature):not(.close-help) { font-size: 16px; }
  .close-offer {
    grid-template-columns: minmax(0, 1fr);
    gap: 21px;
    margin-top: 26px;
    padding: 23px 18px;
  }
  .close-price strong { font-size: 50px; }
  .close-action { align-items: stretch; flex-direction: column; }
  .close-action .button-gold { width: 100%; min-height: 56px; }
  .close-action > span { text-align: center; }
  .close-conditions p,
  .close-help { font-size: 16px; }
  .close-signature { margin-top: 31px; font-size: 16px; }
  .footer-inner { min-height: 96px; }
  .site-footer { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 390px) {
  .hero.section-shell { padding-inline: 16px; }
  .hero-copy > h1 { font-size: 34px; }
  .hero-visual { grid-template-columns: minmax(0, 1fr) 84px; }
  .hero-visual-note { font-size: 9px; }
  .hero-price { padding-inline: 14px; }
  .section-includes .include-body h3 { font-size: 24px; }
  .results-satellites { gap: 10px; }
  .results-satellites .result-stat-satellite:nth-child(2) { padding-left: 10px; }
  .result-stat-satellite strong { font-size: 25px; }
  .close-offer { padding-inline: 16px; }
}

@media (max-width: 340px) {
  .wordmark-logo { width: 180px; }
  .wordmark-footer .wordmark-logo { width: 180px; }
  .hero.section-shell { padding-inline: 14px; }
  .hero-visual { grid-template-columns: minmax(0, 1fr) 76px; }
  .hero-price { gap: 5px 8px; }
  .close-price strong { font-size: 44px; }
}


/* En móvil, el CTA y el precio ganan prioridad visual; el enlace queda después sin order flex. */
@media (max-width: 760px) {
  .hero.section-shell {
    grid-template-areas:
      "kicker"
      "title"
      "visual"
      "summary"
      "actions"
      "price"
      "secondary";
  }
  .hero-copy > .hero-actions { display: contents; }
  .hero-actions .button-primary {
    grid-area: actions;
    margin: 0;
  }
  .hero-actions .text-link {
    grid-area: secondary;
    margin-top: 9px;
  }
  .hero-copy > .hero-price {
    grid-area: price;
    margin-top: 18px;
  }
}


/* Afinado sobre la prueba real: producto visible sin desplazar la decisión. */
html, body { overflow-x: visible; }
.site-header { background: #fff; }
.site-footer { background: #fff; }
.hero.section-shell {
  width: 100%;
  margin: 0;
  padding-inline: max(var(--gutter), calc((100% - var(--shell)) / 2));
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  padding-block: clamp(48px, 5vw, 76px);
}
.hero-copy > h1 { font-size: clamp(44px, 4.2vw, 60px); line-height: 1.08; }
.hero-actions .button-primary {
  background: linear-gradient(135deg, #ead8b3, #c9a46e);
  color: var(--ink-deep);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 3px 0 rgba(118, 82, 41, .4), 0 9px 22px rgba(0, 0, 0, .23);
}
.hero-actions .button-primary:hover { background: linear-gradient(135deg, #f3e7cf, #d9bd8f); color: var(--ink-deep); }
.hero-actions .button-primary > span { background: var(--ink-deep); color: var(--gold-soft); }
.hero-actions .button-primary::after { border-color: rgba(18, 16, 13, .2); }
.hero-product, .hero-teacher { border: 0; background: transparent; }
.hero-product img, .hero-teacher img { border-radius: 12px; }
.hero-product figcaption { border: 0; padding: 0 0 12px; }
.hero-teacher figcaption { padding: 10px 0 0; }
.hero-price { padding: 0; border: 0; background: transparent !important; box-shadow: none !important; }
.hero-price, .hero-price strong { color: var(--ivory); }
.hero-price strong { font-family: var(--sans); font-size: 25px; }
.hero-price-label { color: #d3c8b8; }
.hero-price-note { color: var(--gold-soft); }
.problem-heading h2 em, .section-includes h2 em, .faq-intro h2 em, .close-inner h2 em {
  font-family: var(--sans);
  font-style: normal;
  font-weight: 650;
  letter-spacing: inherit;
}
.close-inner { width: min(100% - (var(--gutter) * 2), 900px); }
.section-includes .include-body h3 { font-family: var(--sans); font-weight: 650; font-size: clamp(23px, 2.3vw, 30px); line-height: 1.2; }

@media (max-width: 760px) {
  .hero.section-shell {
    grid-template-columns: minmax(0, 1fr);
    padding: 25px var(--gutter) 36px;
    overflow: visible;
  }
  .hero-copy > .eyebrow { margin-bottom: 14px; }
  .hero-copy > h1 { font-size: clamp(32px, 8.5vw, 36px); margin-bottom: 18px; line-height: 1.08; }
  .hero-visual {
    grid-template-columns: minmax(0, 1fr) 94px;
    grid-template-rows: auto;
    grid-template-areas: "product teacher";
    align-items: center;
    gap: 12px;
  }
  .hero-product figcaption { gap: 3px; padding: 0 0 8px; }
  .hero-product figcaption .card-index { font-size: 9px; letter-spacing: .09em; }
  .hero-product figcaption strong { font-size: 12px; }
  .hero-teacher { align-self: center; }
  .hero-teacher figcaption { padding-top: 7px; font-size: 12px; }
  .hero-teacher figcaption span { display: none; }
  .hero-visual-note { display: none; }
  .hero-copy > .hero-lede { margin: 19px 0 20px; font-size: 16px; line-height: 1.55; }
  .hero-copy > .hero-price { display: flex; gap: 6px 10px; margin-top: 16px; }
  .hero-price-label { display: none; }
  .hero-price strong { font-size: 22px; }
  .hero-price-note { font-size: 13px; }
  .hero-actions .text-link { margin-top: 12px; }
  .close-inner h2 { font-size: clamp(32px, 8.5vw, 42px); }
  .close-offer { gap: 16px; }
  .close-conditions { padding-right: 52px; }
  .whatsapp-fab { width: 56px; min-width: 56px; height: 56px; min-height: 56px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
  .whatsapp-fab svg { width: 27px; height: 27px; }
}
@media (max-width: 340px) {
  .hero-visual { grid-template-columns: minmax(0, 1fr) 78px; gap: 10px; }
  .hero-copy > h1 { font-size: 32px; }
  .hero-price-note { width: 100%; }
}

/* Foco sobre las superficies claras dentro del cierre y del footer. */
.close-offer :focus-visible, .site-footer :focus-visible { outline-color: var(--wine); }


/* Corrección de índices y oferta: estructura explícita, no colocación automática. */
.section-includes .include-card-text { display: block; }
.section-includes .include-card-text .include-body { padding: clamp(22px, 3vw, 35px); }
.curriculum-no, .pillar-number {
  display: grid;
  place-items: center;
  padding: 0;
  font-family: var(--sans);
  font-weight: 650;
  font-size: 16px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
.fit-index, .result-index {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow-wrap: normal;
}
.include-offer {
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
  grid-template-areas: "message decision" "summary decision" "refund refund";
  align-items: start;
  gap: 12px 32px;
}
.include-offer > * { min-width: 0; }
.include-offer > h3 { grid-area: message; margin: 0; font-size: 23px; line-height: 1.3; }
.include-offer > p:not(.refund-line) { grid-area: summary; max-width: 690px; font-size: 16px; line-height: 1.65; }
.include-offer > .offer-action {
  grid-area: decision;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  align-self: center;
  gap: 12px;
}
.include-offer .offer-action .button { width: 100%; padding-inline: 16px; font-size: 16px; }
.include-offer .offer-action > span { color: var(--gold-soft); font-size: 14px; text-align: center; line-height: 1.5; }
.include-offer > .refund-line {
  grid-area: refund;
  width: 100%;
  max-width: none;
  margin: 10px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(216, 189, 143, .28);
  color: #e8dbca;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}
@media (max-width: 900px) {
  .include-offer {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "message" "summary" "decision" "refund";
    gap: 15px;
  }
  .include-offer > .offer-action { width: 100%; max-width: 380px; align-self: start; }
  .include-offer > .refund-line { margin-top: 0; }
}
@media (max-width: 760px) {
  .section-includes .include-card-text .include-body { padding: 20px; }
  .pillar-number { font-size: 14px; }
  .curriculum-no { font-size: 16px; }
  .include-offer > h3 { font-size: 22px; }
  .include-offer > .refund-line { font-size: 14px; }
}
