:root {
  --espresso: #160b07;
  --coffee: #2b160f;
  --cacao: #4a2417;
  --caramel: #a66b43;
  --sand: #d9cfc2;
  --cream: #f5efe6;
  --ivory: #fffaf3;
  --sun: #f4cb70;
  --ink: #211713;
  --serif: "Bodoni 72", Didot, "Bodoni MT", "Times New Roman", serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --shadow: 0 28px 80px rgba(31, 13, 7, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; }
p { margin: 0 0 1.15rem; }
h1, h2, h3, blockquote { font-family: var(--serif); font-weight: 400; line-height: .98; }
h1, h2, h3 { margin: 0 0 1.3rem; }
h1 { font-size: clamp(2.7rem, 5.3vw, 6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.5rem, 4.8vw, 5rem); letter-spacing: -.04em; }
h3 { font-size: clamp(1.55rem, 2.3vw, 2.35rem); }
strong { font-weight: 700; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: clamp(80px, 10vw, 150px) 0; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 1000; padding: 10px 14px; background: var(--ivory); border-radius: 8px; }
.skip-link:focus { top: 12px; }

.brand-crop { position: relative; display: block; overflow: hidden; background: #fff; }
.brand-crop img { position: absolute; max-width: none; }

.button { display: inline-flex; justify-content: center; align-items: center; min-height: 58px; padding: 15px 24px; border: 0; border-radius: 999px; background: var(--coffee); color: white; text-align: center; text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .055em; line-height: 1.25; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(22,11,7,.22); }
.button:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid var(--sun); outline-offset: 3px; }
.button--small { min-height: 46px; padding-inline: 20px; }
.button--sun { color: var(--espresso); background: linear-gradient(135deg, #ffe19b, #d99e4d); box-shadow: 0 16px 35px rgba(217,158,77,.24); }
.button--dark { background: var(--espresso); }
.button--wide { width: 100%; }

.hero { position: relative; overflow: hidden; min-height: 100svh; color: var(--ivory); background: radial-gradient(circle at 12% 18%, rgba(181,111,63,.36), transparent 30%), linear-gradient(115deg, #120805 0%, #2d160e 53%, #0f0705 100%); }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .12; background-image: radial-gradient(rgba(255,255,255,.8) .5px, transparent .7px); background-size: 5px 5px; mix-blend-mode: soft-light; }
.hero__glow { position: absolute; right: 10%; top: 18%; width: 420px; aspect-ratio: 1; border: 1px solid rgba(255,219,139,.55); border-radius: 50%; box-shadow: 0 0 80px 12px rgba(255,192,76,.17), inset 0 0 80px 12px rgba(255,192,76,.1); }
.hero__layout { position: relative; z-index: 1; min-height: calc(100svh - 54px); display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(32px, 6vw, 90px); align-items: center; padding-block: clamp(60px, 8vw, 110px) 90px; }
.brand-card { width: 340px; height: 175px; margin-bottom: 26px; border-radius: 4px; overflow: hidden; background: white; box-shadow: var(--shadow); }
.hero__logo { width: min(360px, 72vw); margin-bottom: 30px; }
.hero__logo img { width: 100%; height: auto; }
.eyebrow { margin: 0 0 20px; color: var(--sun); font-size: .77rem; font-weight: 800; letter-spacing: .22em; line-height: 1.45; text-transform: uppercase; }
.eyebrow--brown { color: var(--caramel); }
.hero h1 { font-size: clamp(2.35rem, 2.58vw, 3rem); }
.hero h1 em { color: var(--sun); font-style: italic; }
.hero__lead { max-width: 670px; margin-bottom: 30px; color: rgba(255,250,243,.8); font-size: clamp(1.05rem, 1.6vw, 1.28rem); }
.hero__portrait { position: relative; width: min(100%, 480px); justify-self: end; margin: 0; }
.hero__portrait::before { content: ""; position: absolute; z-index: -1; inset: 7% -8% -5% 12%; border: 1px solid rgba(244,203,112,.48); border-radius: 50% 50% 24px 24px; }
.hero__portrait img { width: 100%; height: min(70vh, 720px); object-fit: cover; object-position: 50% 20%; border-radius: 48% 48% 22px 22px; filter: saturate(.9) contrast(1.02); box-shadow: 0 35px 90px rgba(0,0,0,.42); }
.hero__marquee { position: relative; z-index: 2; overflow: hidden; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,250,243,.68); font-size: .72rem; font-weight: 800; letter-spacing: .2em; white-space: nowrap; }
.hero__marquee-track { display: flex; width: max-content; animation: marquee-right 18s linear infinite; will-change: transform; }
.hero__marquee-set { display: flex; flex: none; gap: 25px; align-items: center; padding-right: 25px; }
.hero__marquee i { width: 5px; height: 5px; border-radius: 50%; background: var(--sun); }
@keyframes marquee-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

.story { background: var(--ivory); }
.story__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 120px); align-items: start; }
.story__visual { position: sticky; top: 110px; }
.story__visual img { width: 100%; max-height: 760px; object-fit: cover; object-position: 50% 20%; border-radius: 220px 220px 18px 18px; box-shadow: var(--shadow); }
.story__copy { max-width: 620px; }
.story blockquote { margin: 0 0 28px; color: var(--cacao); font-size: clamp(1.8rem, 2.04vw, 2.25rem); line-height: 1.05; }
.story__narrative { columns: 2 250px; column-gap: 34px; column-rule: 1px solid rgba(74,36,23,.16); }
.story__narrative p { break-inside: avoid; margin-bottom: .9rem; }

.learning { color: var(--ivory); background: var(--coffee); }
.section-heading { max-width: 840px; margin-bottom: 55px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.learning__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.learning-card { position: relative; min-height: 310px; padding: 42px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); }
.learning-card::after { content: ""; position: absolute; inset: auto -20% -45% 20%; height: 150px; border-radius: 50%; background: rgba(217,158,77,.13); filter: blur(30px); }
.learning-card span { display: block; margin-bottom: 48px; color: var(--sun); font-family: var(--serif); font-size: 3rem; }
.learning-card p { position: relative; z-index: 1; margin: 0; font-size: 1.04rem; }

.authority { background: linear-gradient(180deg, var(--cream), #e7ddd1); }
.authority__layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(45px, 8vw, 110px); align-items: start; }
.authority__copy h2 { color: var(--cacao); font-style: italic; }
.authority__intro { font-size: 1.2rem; }
.question-list { list-style: none; padding: 0; margin: 25px 0; }
.question-list li { padding: 13px 0; border-bottom: 1px solid rgba(74,36,23,.18); font-family: var(--serif); font-size: 1.25rem; }
.pull-quote { padding-left: 24px; border-left: 3px solid var(--caramel); color: var(--cacao); font-family: var(--serif); font-size: clamp(1.65rem, 2.5vw, 2.4rem); line-height: 1.15; }
.authority__gallery { position: sticky; top: 105px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.photo { margin: 0; overflow: hidden; border-radius: 18px; box-shadow: var(--shadow); }
.photo img { width: 100%; height: 100%; object-fit: cover; }
.photo--tall { grid-column: 1 / -1; height: 600px; }
.photo--small { grid-column: 2; width: 88%; height: 300px; margin-top: -130px; border: 10px solid #e8ded2; }

.transformation { color: var(--ivory); background: var(--espresso); }
.comparison { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.comparison__panel { padding: clamp(30px, 4vw, 55px); border-radius: 28px; }
.comparison__panel--before { color: #d9cdc6; background: #241713; border: 1px solid rgba(255,255,255,.12); }
.comparison__panel--after { color: var(--coffee); background: linear-gradient(145deg, #f8e7be, #d3a066); box-shadow: 0 30px 70px rgba(193,128,62,.2); }
.comparison__label { font-size: .72rem; font-weight: 900; letter-spacing: .28em; }
.comparison ul { list-style: none; padding: 0; margin: 30px 0 0; }
.comparison li { position: relative; padding: 18px 0 18px 34px; border-top: 1px solid currentColor; }
.comparison li::before { content: "✓"; position: absolute; left: 0; font-weight: 900; }
.comparison__panel--before li::before { content: "×"; color: #e7a486; font-size: 1.25rem; line-height: 1.15; }

.truth { position: relative; overflow: hidden; min-height: 930px; display: flex; align-items: center; color: white; background: #050302; }
.truth::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #050302 0%, rgba(5,3,2,.94) 48%, rgba(5,3,2,.25) 100%); }
.truth__portrait { position: absolute; inset: 0 0 0 50%; }
.truth__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.truth__content { position: relative; z-index: 1; margin-left: max(20px, calc((100vw - 1180px)/2)); width: min(620px, calc(100% - 40px)); }
.truth__content > p:first-child { margin-bottom: 14px; color: rgba(255,255,255,.72); font-size: .92rem; letter-spacing: .03em; }
.truth__content h2 { color: var(--sun); font-size: clamp(2.3rem, 2.43vw, 2.7rem); line-height: 1.02; }
.truth__body { display: grid; gap: 12px; }
.truth__beat { padding: 2px 0 2px 16px; border-left: 1px solid rgba(244,203,112,.28); }
.truth__beat p { margin: 0 0 .38rem; line-height: 1.48; }
.truth__beat p:last-child { margin-bottom: 0; }
.truth__beat--accent { padding-block: 12px; color: var(--sun); background: linear-gradient(90deg, rgba(244,203,112,.1), transparent); border-left-width: 3px; }
.truth__final { margin-top: 20px; color: var(--sun); font-family: var(--serif); font-size: 1.82rem; line-height: 1.12; }

.gains { background: var(--ivory); }
.gains__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(43,22,15,.17); border-left: 1px solid rgba(43,22,15,.17); }
.gain { min-height: 330px; padding: 35px; border-right: 1px solid rgba(43,22,15,.17); border-bottom: 1px solid rgba(43,22,15,.17); }
.gain span { color: var(--caramel); font-family: var(--serif); font-size: 2.3rem; }
.gain h3 { margin-top: 60px; font-family: var(--sans); font-size: 1rem; font-weight: 900; line-height: 1.25; letter-spacing: .04em; }

.offer { color: var(--ivory); background: linear-gradient(135deg, #3a1e14, #160b07 70%); }
.offer__layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(35px, 6vw, 85px); align-items: start; }
.offer__image { position: sticky; top: 105px; }
.offer__image img { height: 740px; width: 100%; object-fit: cover; object-position: 50% 15%; border-radius: 240px 240px 20px 20px; box-shadow: 0 35px 90px rgba(0,0,0,.45); }
.offer__card { padding: clamp(30px, 5vw, 65px); border: 1px solid rgba(255,255,255,.13); border-radius: 28px; background: rgba(255,255,255,.04); box-shadow: 0 35px 90px rgba(0,0,0,.24); }
.offer__logo { width: min(230px, 52%); margin: 0 auto 34px; }
.offer__logo img { width: 100%; height: auto; }
.value-list { list-style: none; padding: 0; margin: 32px 0; }
.value-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.value-list li::before { content: "✓"; grid-column: 1; grid-row: 1; color: var(--sun); }
.value-list span { grid-column: 2; grid-row: 1; }
.value-list strong { grid-column: 3; grid-row: 1; color: var(--sun); white-space: nowrap; }
.offer__pricing { margin: 38px 0 22px; padding: clamp(22px, 3vw, 34px); border: 1px solid rgba(244,203,112,.35); border-radius: 22px; background: linear-gradient(145deg, rgba(244,203,112,.1), rgba(255,255,255,.025)); text-align: center; }
.offer__total { display: flex; justify-content: center; align-items: baseline; gap: 9px; margin: 0 0 14px; color: rgba(255,255,255,.72); font-size: 1rem; }
.offer__total s { color: var(--caramel); font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 1.9rem); text-decoration-color: var(--sun); text-decoration-thickness: 2px; }
.offer__price { display: grid; justify-items: center; gap: 8px; margin: 0; font-family: var(--serif); line-height: 1.04; }
.offer__price span { font-size: clamp(1.05rem, 1.4vw, 1.3rem); }
.offer__price strong { color: var(--sun); font-size: clamp(3.2rem, 5.4vw, 5.8rem); letter-spacing: -.045em; }

.imagine { color: var(--coffee); background: linear-gradient(135deg, var(--ivory), #eadfd3); }
.imagine__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 110px); align-items: start; }
.imagine__heading { position: sticky; top: 110px; }
.imagine__heading h2 { color: var(--cacao); font-size: clamp(2.55rem, 3.8vw, 4.1rem); }
.imagine blockquote { margin: 30px 0 0; padding-left: 24px; border-left: 3px solid var(--caramel); color: var(--caramel); font-size: clamp(1.75rem, 1.9vw, 2.15rem); line-height: 1.12; }
.imagine__body { padding-left: clamp(28px, 4vw, 56px); border-left: 1px solid rgba(74,36,23,.2); }
.imagine__body .button { margin: 20px 0 30px; }

.guarantee { background: #eadfd3; }
.guarantee__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 7vw, 100px); align-items: center; }
.guarantee__seal { justify-self: center; width: min(420px, 100%); margin: 0; filter: drop-shadow(0 24px 32px rgba(74,36,23,.22)); }
.guarantee__seal img { width: 100%; height: auto; }
.guarantee__copy h2 { font-size: clamp(2.2rem, 2.66vw, 2.85rem); }
.guarantee__copy h3 { color: var(--cacao); font-family: var(--sans); font-size: 1.2rem; font-weight: 900; letter-spacing: .08em; }

.final-cta { color: white; background: var(--coffee); }
.final-cta__layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(35px, 7vw, 90px); align-items: start; }
.final-cta__copy h2 { font-size: clamp(2.15rem, 2.53vw, 2.75rem); }
.final-cta__photo { position: sticky; top: 100px; }
.final-cta__photo img { width: 100%; height: 760px; object-fit: cover; object-position: 50% 15%; border-radius: 220px 220px 20px 20px; box-shadow: 0 35px 90px rgba(0,0,0,.35); }
.spark-list, .pin-list { list-style: none; padding: 0; margin: 28px 0; }
.spark-list li, .pin-list li { position: relative; padding: 11px 0 11px 34px; border-bottom: 1px solid rgba(255,255,255,.12); }
.spark-list li::before { content: "✦"; position: absolute; left: 0; color: var(--sun); }
.pin-list li::before { content: "•"; position: absolute; left: 5px; color: var(--sun); font-size: 1.4rem; }

.faq { background: var(--ivory); }
.faq__layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(40px, 8vw, 100px); align-items: start; }
.faq__heading { position: sticky; top: 110px; }
.accordion { border-top: 1px solid rgba(43,22,15,.22); }
.accordion details { border-bottom: 1px solid rgba(43,22,15,.22); }
.accordion summary { position: relative; padding: 25px 52px 25px 0; cursor: pointer; list-style: none; font-family: var(--serif); font-size: 1.35rem; line-height: 1.2; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: "+"; position: absolute; right: 8px; top: 18px; color: var(--caramel); font-family: var(--sans); font-size: 1.8rem; }
.accordion details[open] summary::after { content: "−"; }
.accordion details p { padding: 0 44px 24px 0; color: #5d4b43; }
.faq__cta { margin-top: 52px; max-width: 900px; }

.mobile-cta { display: none; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal--delay { transition-delay: .14s; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .hero__layout, .story__layout, .authority__layout, .offer__layout, .imagine__layout, .final-cta__layout, .faq__layout { grid-template-columns: 1fr; }
  .hero__layout { padding-top: 55px; }
  .hero__content { order: 2; }
  .hero__portrait { order: 1; justify-self: center; width: min(76vw, 460px); }
  .hero__portrait img { height: 560px; }
  .story__visual, .authority__gallery, .offer__image, .imagine__heading, .final-cta__photo, .faq__heading { position: relative; top: auto; }
  .story__visual { width: min(600px, 92%); margin-inline: auto; }
  .story__narrative { columns: 1; column-rule: 0; }
  .authority__gallery { order: 1; max-width: 720px; margin-inline: auto; }
  .authority__copy { order: 2; }
  .offer__image { display: none; }
  .imagine__layout { gap: 42px; }
  .imagine__body { padding: 34px 0 0; border-left: 0; border-top: 1px solid rgba(74,36,23,.2); }
  .final-cta__photo { grid-row: 1; width: min(520px, 86%); margin-inline: auto; }
  .final-cta__photo img { height: 620px; }
  .gains__grid { grid-template-columns: repeat(2, 1fr); }
  .truth__portrait { left: 35%; opacity: .55; }
}

@media (max-width: 680px) {
  body { padding-bottom: 70px; }
  .shell { width: min(100% - 28px, 1180px); }
  .section { padding-block: 74px; }
  .hero__layout { min-height: auto; padding-block: 34px 58px; }
  .hero__portrait { width: 78vw; }
  .hero__portrait img { height: 440px; }
  .hero__logo { width: min(206px, 55vw); }
  .hero h1 { font-size: clamp(1.75rem, 6.043vw, 2rem); }
  .hero__marquee-track { animation-duration: 15s; }
  .learning__grid, .comparison, .gains__grid { grid-template-columns: 1fr; }
  .learning-card { min-height: 0; padding: 30px; }
  .learning-card span { margin-bottom: 28px; }
  .photo--tall { height: 470px; }
  .photo--small { height: 230px; margin-top: -90px; }
  .truth { min-height: 900px; }
  .truth__portrait { inset: 0; opacity: .38; }
  .truth::after { background: linear-gradient(180deg, rgba(5,3,2,.62), #050302 80%); }
  .truth__content { margin-inline: auto; width: calc(100% - 28px); }
  .truth__content h2 { font-size: 2.35rem; }
  .gain { min-height: 0; padding: 30px; }
  .gain h3 { margin-top: 35px; }
  .offer__card { padding: 28px 20px; }
  .offer__logo { width: min(190px, 54vw); margin-bottom: 28px; }
  .value-list li { grid-template-columns: auto 1fr; gap: 7px 12px; }
  .value-list strong { grid-column: 2; grid-row: 2; justify-self: start; }
  .offer__pricing { margin-top: 30px; padding: 22px 16px; }
  .offer__total { flex-wrap: wrap; }
  .offer__price strong { font-size: clamp(3.15rem, 15vw, 4.35rem); }
  .guarantee__layout { grid-template-columns: 1fr; }
  .guarantee__seal { width: min(270px, 78vw); margin-inline: auto; }
  .final-cta__photo { width: 88%; }
  .final-cta__photo img { height: 510px; }
  .faq__heading { text-align: center; }
  .accordion summary { padding-block: 20px; font-size: 1.08rem; line-height: 1.25; }
  .accordion summary::after { top: 14px; font-size: 1.55rem; }
  .mobile-cta { position: fixed; z-index: 80; inset: auto 10px 10px; display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 12px 18px; color: var(--espresso); background: linear-gradient(135deg, #ffe19b, #d99e4d); border-radius: 999px; box-shadow: 0 12px 35px rgba(25,10,5,.35); text-align: center; text-decoration: none; font-size: .75rem; font-weight: 900; letter-spacing: .04em; }
}

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