:root{--navy:#183b5b;--navy-deep:#102b44;--blue:#183b5b;--orange:#f4a11a;--orange-soft:#ffe0a6;--ink:#141414;--muted:#575757;--paper:#fff;--cream:#fff6e8;--line:#e7e1d8;--white:#fff;--shadow:0 22px 60px rgba(16,43,68,.13);--radius:18px;--shell:min(1120px,calc(100% - 40px))}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Manrope", sans-serif; font-size: 16px; line-height: 1.68; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2, h3 { color: var(--navy-deep); font-family: "Manrope", Arial, sans-serif; font-weight: 750; line-height: 1.08; }
h1 { max-width: 720px; margin-bottom: 24px; font-size: clamp(3.35rem, 5.5vw, 5.65rem); letter-spacing: -.045em; text-wrap: balance; }
h2 { margin-bottom: 22px; font-size: clamp(2.55rem, 4.8vw, 4.85rem); letter-spacing: -.045em; }
h3 { font-size: 1.45rem; }
em { color: var(--blue); font-style: italic; }
.section-shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: -70px; left: 16px; padding: 11px 15px; border-radius: 7px; background: var(--navy); color: white; }
.skip-link:focus { top: 16px; }
.eyebrow { margin-bottom: 15px; color: var(--blue); font-size: .76rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-light { color: var(--orange-soft); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 14px 22px; border: 1px solid var(--navy); border-radius: 9px; background: var(--navy); color: white; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; box-shadow: 0 10px 28px rgba(74,19,36,.14); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--navy-deep); box-shadow: 0 13px 32px rgba(74,19,36,.2); }
.button:focus-visible, a:focus-visible, .accordion button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.button-small { min-height: 44px; padding: 10px 16px; font-size: .86rem; }
.button-primary { min-height: 58px; padding-inline: 25px; }
.button-orange { border-color: var(--orange); background: var(--orange); color: var(--navy-deep); box-shadow: 0 12px 30px rgba(200,154,75,.24); }
.button-orange:hover { background: #dbb164; box-shadow: 0 14px 34px rgba(200,154,75,.32); }

.site-header { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 78px; padding: 11px max(24px, calc((100% - 1160px) / 2)); border-bottom: 1px solid rgba(74,19,36,.11); background: rgba(255,250,242,.95); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { width: 52px; height: 52px; object-fit: contain; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { color: var(--navy-deep); font-family: "Manrope", Arial, sans-serif; font-size: 1.3rem; font-weight: 750; letter-spacing: -.01em; }
.brand-copy small { color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.hero { display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: clamp(42px, 5.5vw, 78px); min-height: calc(100vh - 78px); padding-block: 54px 64px; }
.hero-copy { max-width: 700px; }
.hero-lead { max-width: 620px; margin-bottom: 20px; color: var(--muted); font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.65; }
.hero-promise { max-width: 610px; margin-bottom: 29px; padding: 14px 0 14px 18px; border-left: 3px solid var(--orange); color: var(--ink); font-size: .98rem; font-weight: 600; line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; }
.text-link { color: var(--navy); font-size: .88rem; font-weight: 700; text-underline-offset: 5px; }
.secure-line { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 22px; color: var(--muted); font-size: .78rem; }
.secure-line span::before { content: "✓"; margin-right: 6px; color: var(--blue); font-weight: 700; }
.hero-photo { position: relative; height: min(620px, 72vh); min-height: 540px; margin: 0; overflow: hidden; border-radius: 22px; background: var(--cream); box-shadow: var(--shadow); }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.hero-photo figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(5,35,63,.92); color: white; backdrop-filter: blur(7px); }
.hero-photo figcaption strong, .hero-photo figcaption span { display: block; }
.hero-photo figcaption span { margin-top: 3px; color: var(--orange-soft); font-size: .78rem; }

.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); background: var(--cream); }
.trust-strip div { min-width: 0; padding: 23px 20px; text-align: center; }
.trust-strip div + div { border-left: 1px solid var(--line); }
.trust-strip strong, .trust-strip span { display: block; }
.trust-strip strong { color: var(--navy); font-family: "Manrope", Arial, sans-serif; font-size: 1.35rem; font-weight: 750; }
.trust-strip span { margin-top: 4px; color: var(--muted); font-size: .75rem; }
.audience { padding-block: 108px; }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.audience-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 12px 36px rgba(74,19,36,.06); }
.audience-card > span { display: block; margin-bottom: 22px; color: var(--orange); font-size: .74rem; font-weight: 800; letter-spacing: .1em; }
.audience-card h3 { margin-bottom: 12px; font-size: 1.35rem; }
.audience-card p { margin-bottom: 0; color: var(--muted); }

.framework-video { padding-block: 105px; border-bottom: 1px solid var(--line); background: #fff; }
.framework-video-shell { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px, 7vw, 90px); align-items: center; }
.framework-video-placeholder { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 26px; background: var(--navy-deep); box-shadow: var(--shadow); }
.framework-video-placeholder::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(50,16,26,.78)); content: ""; }
.framework-video-placeholder img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.framework-video-placeholder small { position: absolute; z-index: 2; right: 22px; bottom: 19px; left: 22px; color: white; font-size: .78rem; font-weight: 700; text-align: center; }
.play-mark { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 76px; height: 76px; place-items: center; padding-left: 5px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(255,250,242,.9); color: var(--navy); box-shadow: 0 15px 40px rgba(0,0,0,.22); }
.framework-copy > p { color: var(--muted); }
.loop-line { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 28px 0; }
.loop-line span { padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--cream); color: var(--navy); font-size: .76rem; font-weight: 700; }
.loop-line b { color: var(--orange); }
.framework-note { padding-left: 17px; border-left: 3px solid var(--orange); color: var(--ink) !important; font-weight: 600; }

.recognition { padding-block: 118px; }
.section-heading { max-width: 850px; margin-bottom: 52px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading > p:last-child { max-width: 690px; margin-inline: auto; color: var(--muted); font-size: 1.05rem; }
.symptom-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.symptom-grid-three { grid-template-columns: repeat(3, 1fr); max-width: 1020px; margin-inline: auto; }
.symptom-card { min-height: 265px; padding: 28px 25px; border: 1px solid var(--line); border-radius: 17px; background: var(--cream); }
.symptom-card > span { display: block; margin-bottom: 42px; color: var(--orange); font-size: .72rem; font-weight: 700; letter-spacing: .11em; }
.symptom-card h3 { margin-bottom: 12px; font-size: 1.35rem; }
.symptom-card p { margin-bottom: 0; color: var(--muted); font-size: .94rem; }
.recognition-callout { max-width: 850px; margin: 30px auto 0; padding: 33px 38px; border-radius: 16px; background: var(--navy-deep); color: white; text-align: center; }
.recognition-callout p { margin-bottom: 8px; color: white; font-family: "Manrope", Arial, sans-serif; font-size: clamp(1.55rem, 2.35vw, 2.2rem); font-weight: 700; }
.recognition-callout span { color: #f0e4da; font-size: .88rem; }

.pattern-quiz { padding-block: 112px; border-top: 1px solid var(--line); background: var(--cream); }
.pattern-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; max-width: 900px; margin: -20px auto 34px; }
.pattern-pills span { padding: 8px 13px; border: 1px solid #dbcdbf; border-radius: 999px; background: white; color: var(--navy); font-size: .76rem; font-weight: 700; }
.quiz-card { max-width: 820px; margin-inline: auto; padding: clamp(28px, 5vw, 52px); border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.quiz-progress { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-bottom: 35px; color: var(--blue); font-size: .76rem; font-weight: 700; }
.quiz-progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: #eadfd5; }
.quiz-progress-track span { display: block; width: 12.5%; height: 100%; border-radius: inherit; background: var(--orange); transition: width .25s ease; }
.quiz-question h3 { max-width: 700px; margin-bottom: 25px; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.22; }
.quiz-options { display: grid; gap: 10px; }
.quiz-option { display: flex; align-items: flex-start; gap: 13px; width: 100%; padding: 17px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.quiz-option::before { content: ""; flex: 0 0 19px; width: 19px; height: 19px; margin-top: 2px; border: 2px solid #bca89d; border-radius: 50%; background: white; box-shadow: inset 0 0 0 4px white; }
.quiz-option:hover { border-color: var(--blue); transform: translateY(-1px); }
.quiz-option[aria-pressed="true"] { border-color: var(--blue); background: #faecef; font-weight: 700; }
.quiz-option[aria-pressed="true"]::before { border-color: var(--blue); background: var(--blue); }
.quiz-option:focus-visible, .quiz-back:focus-visible, .quiz-restart:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.quiz-controls { display: flex; justify-content: space-between; gap: 16px; margin-top: 30px; }
.quiz-back, .quiz-restart { border: 0; background: transparent; color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.quiz-back:disabled { opacity: .35; cursor: default; }
.quiz-controls .button:disabled { opacity: .45; transform: none; cursor: not-allowed; }
.quiz-controls .button { display: none; }
.quiz-result { text-align: center; }
.quiz-result h3 { margin-bottom: 16px; font-size: clamp(2.35rem, 5vw, 4.2rem); }
.quiz-score { max-width: 650px; margin: 0 auto 28px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); }
.quiz-score span { display: block; margin-bottom: 4px; color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quiz-score strong { display: block; color: var(--navy); font-family: var(--serif); font-size: clamp(2.8rem, 7vw, 4.8rem); line-height: 1; }
.quiz-score p { max-width: 520px; margin: 12px auto 0; color: var(--ink); font-size: .96rem; }
.quiz-result > p:not(.eyebrow) { max-width: 650px; margin: 0 auto 22px; color: var(--muted); font-size: 1.04rem; }
.quiz-result-note { max-width: 650px; margin: 0 auto 28px; padding: 18px 20px; border-left: 3px solid var(--orange); border-radius: 8px; background: var(--cream); color: var(--ink); text-align: left; }
.quiz-result .button { margin-inline: auto; }
.quiz-restart { display: block; margin: 20px auto 0; }
.quiz-disclaimer { max-width: 760px; margin: 20px auto 0; color: var(--muted); font-size: .72rem; text-align: center; }
.quiz-noscript { margin: 20px 0 0; color: var(--muted); text-align: center; }

.offer { padding-block: 115px; background: var(--navy-deep); color: white; }
.offer-shell { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(40px, 7vw, 96px); align-items: center; }
.offer h2, .offer h3 { color: white; }
.offer-copy > p:not(.eyebrow) { max-width: 610px; color: #f0e4da; font-size: 1.05rem; }
.check-list { display: grid; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 34px; color: #fff6ed; }
.check-list li::before { content: "✓"; position: absolute; left: 0; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--orange); color: var(--navy-deep); font-size: .76rem; font-weight: 800; }
.price-card { padding: clamp(34px, 5vw, 58px); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); background: white; color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.22); }
.price-label { margin-bottom: 6px; color: var(--blue); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.price { display: flex; align-items: flex-start; color: var(--navy-deep); font-family: "Manrope", Arial, sans-serif; font-size: clamp(4.7rem, 8vw, 7.5rem); font-weight: 800; line-height: .95; letter-spacing: -.07em; }
.price span { margin: 9px 4px 0 0; font-family: "Manrope", sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0; }
.price-subtitle { margin: 16px 0 27px; color: var(--muted); }
.price-card .button { width: 100%; }
.mini-assurances { display: grid; gap: 7px; margin: 20px 0 0; padding: 0; color: var(--muted); font-size: .76rem; list-style: none; }
.mini-assurances li::before { content: "✓"; margin-right: 7px; color: var(--blue); font-weight: 700; }

.proof { padding-block: 118px; }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.testimonial-more-wrap { display: flex; justify-content: center; margin-top: 26px; }
.testimonial-more-button { min-width: 250px; }
.video-grid-more { grid-template-columns: repeat(2, 1fr); max-width: 820px; margin: 20px auto 0; }
.video-grid-more[hidden] { display: none; }
.video-grid-more .video-card:last-child { grid-column: auto; width: auto; justify-self: stretch; }
.video-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 12px 36px rgba(74,19,36,.07); }
.video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--navy-deep); }
.video-frame video { display: block; width: 100%; height: 100%; object-fit: cover; }
.video-frame > span { position: absolute; top: 11px; right: 11px; padding: 5px 8px; border-radius: 999px; background: rgba(5,35,63,.82); color: white; font-size: .67rem; font-weight: 700; pointer-events: none; }
.video-copy { padding: 20px 22px 23px; }
.video-copy p { margin-bottom: 8px; color: var(--orange); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.video-copy h3 { margin-bottom: 5px; font-size: 1.45rem; }
.video-copy > span { color: var(--muted); font-size: .8rem; }
.quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.quote-card { position: relative; display: flex; flex-direction: column; min-height: 270px; margin: 0; padding: 29px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--cream); }
.quote-card > span { position: absolute; top: 0; right: 18px; color: rgba(17,104,155,.11); font-family: "Manrope", Arial, sans-serif; font-size: 6.7rem; line-height: 1; }
.quote-card p { position: relative; margin-bottom: 25px; font-family: "Manrope", Arial, sans-serif; font-size: 1.22rem; font-weight: 600; line-height: 1.5; }
.quote-card footer { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); color: var(--blue); font-size: .76rem; font-weight: 700; }
.inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 30px; padding: 27px 29px; border-radius: 15px; background: var(--navy-deep); color: white; }
.inline-cta p { max-width: 590px; margin: 0; font-family: "Manrope", Arial, sans-serif; font-size: clamp(1.25rem, 1.8vw, 1.6rem); font-weight: 700; }

.method { padding-block: 118px; background: var(--blue); color: white; }
.method-shell { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(42px, 8vw, 105px); align-items: center; }
.method h2, .method h3 { color: white; }
.method h2 em { color: var(--orange-soft); }
.method-heading > p:last-child { max-width: 500px; color: #e2eff7; }
.method-steps { display: grid; gap: 13px; }
.method-step { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 25px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(255,255,255,.08); }
.method-step > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--orange); color: var(--navy-deep); font-weight: 800; }
.method-step h3 { margin-bottom: 7px; }
.method-step p { margin-bottom: 0; color: #e2eff7; }

.about { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(40px, 8vw, 108px); align-items: center; padding-block: 118px; }
.about-photo { height: 520px; margin: 0; overflow: hidden; border-radius: 24px; box-shadow: var(--shadow); }
.about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.about-copy { max-width: 620px; }
.about-copy > p:not(.eyebrow) { color: var(--muted); font-size: 1.03rem; }
.credential-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 31px; }
.credential-list span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--cream); color: var(--blue); font-size: .76rem; font-weight: 700; }

.public-moments { padding-block: 112px; border-top: 1px solid var(--line); background: var(--cream); }
.moments-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.moments-grid-primary { grid-template-columns: repeat(2, minmax(0, 330px)); justify-content: center; }
.moments-grid-primary .moment-card { grid-column: auto; }
.moment-card { position: relative; grid-column: span 2; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; border-radius: 18px; background: var(--navy-deep); box-shadow: 0 18px 48px rgba(74,19,36,.12); }
.moment-card:nth-child(4) { grid-column: 2 / span 2; }
.moment-card:nth-child(5) { grid-column: 4 / span 2; }
.moment-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.moment-card:hover img { transform: scale(1.025); }
.moment-card figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 14px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: rgba(5,35,63,.9); color: white; backdrop-filter: blur(8px); }
.moment-card figcaption strong, .moment-card figcaption span { display: block; }
.moment-card figcaption strong { font-family: "Manrope", Arial, sans-serif; font-size: 1.18rem; font-weight: 700; }
.moment-card figcaption span { margin-top: 2px; color: #f0e4da; font-size: .7rem; }
.moments-note { max-width: 760px; margin: 25px auto 0; color: var(--muted); font-size: .7rem; text-align: center; }
.more-moments { max-width: 1040px; margin: 24px auto 0; }
.more-moments summary { width: max-content; margin: 0 auto; padding: 12px 18px; border: 1px solid var(--navy); border-radius: 9px; color: var(--navy); font-size: .82rem; font-weight: 700; cursor: pointer; list-style-position: inside; }
.more-moments[open] summary { margin-bottom: 20px; }
.moments-grid-more-public { grid-template-columns: repeat(3, 1fr); }
.moments-grid-more-public .moment-card { grid-column: auto; }

.books { padding-block: 110px; background: var(--navy-deep); color: white; }
.books-heading { max-width: 850px; margin: 0 auto 50px; text-align: center; }
.books h2, .books h3 { color: white; }
.books h2 em { color: var(--orange-soft); }
.books-heading > p:last-child { max-width: 640px; margin-inline: auto; color: #f0e4da; }
.book-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 900px; margin-inline: auto; }
.book { padding: 28px 23px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.065); text-align: center; }
.book img { width: auto; height: 215px; margin: 0 auto 23px; object-fit: contain; filter: drop-shadow(0 15px 15px rgba(0,0,0,.26)); }
.book h3 { margin-bottom: 8px; font-size: 1.35rem; }
.book p { margin-bottom: 0; color: #f0e4da; font-size: .79rem; }
.books-note { max-width: 720px; margin: 28px auto 0; color: #aebfd0; font-size: .7rem; text-align: center; }

.fit { padding-block: 105px; }
.fit-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(35px, 8vw, 100px); align-items: center; padding: clamp(35px, 6vw, 70px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); box-shadow: var(--shadow); }
.fit-card h2 { margin-bottom: 0; font-size: clamp(2.2rem, 4vw, 3.9rem); }
.dark-checks { margin: 0; }
.dark-checks li { color: var(--ink); }
.not-fit-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(35px, 8vw, 100px); align-items: center; margin-top: 20px; padding: clamp(35px, 6vw, 70px); border-radius: var(--radius); background: linear-gradient(140deg, var(--navy-deep), var(--navy)); color: white; box-shadow: var(--shadow); }
.not-fit-card h2 { margin-bottom: 0; color: white; font-size: clamp(2.2rem, 4vw, 3.9rem); }
.not-fit-card .eyebrow { color: var(--orange-soft); }
.not-list { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.not-list li { position: relative; padding-left: 38px; color: #fff6ed; }
.not-list li::before { position: absolute; top: .08em; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--orange-soft); content: "×"; font-weight: 800; line-height: 1; }

.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 8vw, 105px); padding-block: 112px; }
.accordion article { border-top: 1px solid var(--line); }
.accordion article:last-child { border-bottom: 1px solid var(--line); }
.accordion button { display: flex; justify-content: space-between; gap: 22px; width: 100%; padding: 23px 0; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.accordion button span:first-child { font-weight: 700; }
.accordion button span:last-child { color: var(--blue); font-size: 1.4rem; }
.answer { padding: 0 38px 23px 0; color: var(--muted); }
.answer p { margin: 0; }

.final-cta { padding-bottom: 105px; }
.final-card { display: flex; flex-direction: column; align-items: center; padding: clamp(48px, 8vw, 88px); border-radius: 28px; background: linear-gradient(140deg, var(--navy-deep), var(--navy)); color: white; text-align: center; box-shadow: var(--shadow); }
.final-card > img { width: 98px; height: 98px; margin-bottom: 25px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.15)); }
.final-card h2 { max-width: 970px; color: white; font-size: clamp(2.3rem, 4.3vw, 4.25rem); }
.final-card h2 em { color: var(--orange-soft); }
.final-card > p:not(.eyebrow) { max-width: 650px; margin-bottom: 28px; color: #f0e4da; }
.final-note { margin-top: 18px; color: #bfcfdd; font-size: .74rem; }

.site-footer { display: grid; grid-template-columns: 1fr auto 1fr; gap: 26px; align-items: center; padding: 44px max(24px, calc((100% - 1160px) / 2)); border-top: 1px solid var(--line); background: var(--cream); }
.footer-brand { display: flex; align-items: center; gap: 11px; }
.footer-brand img { width: 46px; height: 46px; object-fit: contain; }
.footer-brand strong, .footer-brand small { display: block; }
.footer-brand strong { color: var(--navy); font-family: "Manrope", Arial, sans-serif; font-size: 1.28rem; font-weight: 750; }
.footer-brand small, .site-footer > a, .footer-legal p { color: var(--muted); font-size: .72rem; }
.site-footer > a { text-decoration: none; }
.site-footer > a:hover { color: var(--blue); }
.footer-legal { text-align: right; }
.footer-legal p { margin-bottom: 0; }
.footer-legal p + p { margin-top: 4px; }
.mobile-apply { display: none; }

.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.js .reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .js .reveal { opacity: 1; transform: none; transition: none; } .button { transition: none; } }

@media (max-width: 980px) {
  :root { --shell: min(100% - 36px, 780px); }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-block: 55px 70px; }
  .hero-copy { max-width: 720px; }
  .hero-photo { width: min(100%, 620px); height: 700px; margin-inline: auto; }
  .framework-video-shell { grid-template-columns: 1fr; }
  .framework-media { max-width: 720px; width: 100%; margin-inline: auto; }
  .audience-grid { grid-template-columns: 1fr; }
  .symptom-grid { grid-template-columns: 1fr 1fr; }
  .symptom-grid-three .symptom-card:last-child { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }
  .offer-shell, .method-shell, .about, .fit-card, .not-fit-card, .faq { grid-template-columns: 1fr; }
  .moments-grid { grid-template-columns: repeat(2, 1fr); }
  .moments-grid-primary { grid-template-columns: repeat(2, minmax(0, 330px)); }
  .moments-grid-more-public { grid-template-columns: repeat(3, 1fr); }
  .moment-card, .moment-card:nth-child(4), .moment-card:nth-child(5) { grid-column: auto; }
  .moment-card:last-child { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
  .offer-copy { max-width: 700px; }
  .price-card { max-width: 620px; width: 100%; margin-inline: auto; }
  .video-grid, .quote-grid { grid-template-columns: 1fr 1fr; }
  .video-card:last-child, .quote-card:last-child { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
  .video-grid-more .video-card:last-child { grid-column: auto; width: auto; justify-self: stretch; }
  .about-photo { height: 500px; }
  .about-copy { max-width: 720px; }
  .site-footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand { justify-content: center; }
  .footer-legal { text-align: center; }
}

@media (max-width: 660px) {
  :root { --shell: calc(100% - 28px); }
  body { padding-bottom: 72px; }
  h1 { font-size: clamp(3.05rem, 15vw, 4.7rem); }
  h2 { font-size: clamp(2.1rem, 10vw, 3.3rem); }
  .site-header { min-height: 70px; padding: 9px 14px; }
  .brand-mark { width: 45px; height: 45px; }
  .brand-copy strong { font-size: .8rem; }
  .brand-copy small { display: none; }
  .header-cta { min-height: 42px; padding: 9px 12px; font-size: .73rem; }
  .hero { gap: 35px; padding-block: 43px 54px; }
  .hero .button { width: 100%; }
  .secure-line { display: grid; }
  .hero-photo { height: 530px; min-height: 0; border-radius: 18px; }
  .trust-strip { grid-template-columns: 1fr 1fr; }
  .trust-strip div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .trust-strip div:nth-child(4) { border-top: 1px solid var(--line); }
  .trust-strip div { padding: 20px 12px; }
  .trust-strip strong { font-size: 1rem; }
  .audience, .recognition, .framework-video, .pattern-quiz, .offer, .proof, .method, .about, .public-moments, .books, .fit, .faq { padding-block: 80px; }
  .symptom-grid, .video-grid, .quote-grid, .book-row { grid-template-columns: 1fr; }
  .symptom-grid-three .symptom-card:last-child { grid-column: auto; width: 100%; }
  .loop-line { gap: 7px; }
  .loop-line span { padding: 8px 10px; font-size: .68rem; }
  .symptom-card { min-height: 210px; }
  .symptom-card > span { margin-bottom: 27px; }
  .recognition-callout { padding: 28px 23px; }
  .pattern-pills { justify-content: flex-start; margin-top: -12px; }
  .quiz-card { padding: 28px 20px; }
  .quiz-progress { grid-template-columns: 1fr; gap: 8px; }
  .quiz-controls { align-items: stretch; flex-direction: column-reverse; }
  .quiz-controls .button { width: 100%; }
  .quiz-back { min-height: 44px; }
  .price-card { padding: 35px 25px; }
  .video-card:last-child, .quote-card:last-child { grid-column: auto; width: 100%; }
  .video-grid-more { grid-template-columns: 1fr; }
  .testimonial-more-button { width: 100%; }
  .inline-cta { align-items: stretch; flex-direction: column; }
  .inline-cta .button { width: 100%; }
  .method-step { grid-template-columns: 44px 1fr; padding: 21px; }
  .about-photo { height: 385px; }
  .moments-grid, .moments-grid-primary, .moments-grid-more-public { grid-template-columns: 1fr; }
  .moment-card, .moment-card:last-child { grid-column: auto; width: 100%; }
  .moment-card { aspect-ratio: 4 / 5; }
  .book img { height: 205px; }
  .fit-card, .not-fit-card { padding: 34px 24px; }
  .final-cta { padding-bottom: 78px; }
  .final-card { padding: 48px 24px; }
  .final-card .button { width: 100%; }
  .mobile-apply { position: fixed; z-index: 29; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 72px; padding: 10px 13px; border-top: 1px solid var(--line); background: rgba(255,250,242,.98); box-shadow: 0 -8px 28px rgba(74,19,36,.12); }
  .mobile-apply strong, .mobile-apply span { display: block; }
  .mobile-apply strong { color: var(--navy); font-size: .78rem; }
  .mobile-apply span { color: var(--muted); font-size: .68rem; }
  .mobile-apply .button { min-width: 112px; }
}

/* v21 final cascade */
body{background:#fff;font-family:"Manrope",Arial,sans-serif;color:#141414}
h1,h2,h3{font-family:"Manrope",Arial,sans-serif;font-weight:800;color:#141414;line-height:1.08}
h1{max-width:1050px;margin-inline:auto;font-size:clamp(2.55rem,5.4vw,5rem);letter-spacing:-.055em}
h2{font-size:clamp(2.2rem,4.4vw,4rem);letter-spacing:-.05em}
em,.eyebrow{color:#f4a11a;font-style:normal}
.site-header{min-height:72px;background:rgba(255,255,255,.96);border-color:#ececec}
.brand-copy strong{font-family:"Manrope",Arial,sans-serif;color:#141414;font-weight:800}
.button,.button-orange{border-color:#183b5b;border-radius:6px;background:#183b5b;color:#fff;box-shadow:none;font-weight:800}
.button:hover,.button-orange:hover{background:#102b44}
.hero{display:block;min-height:auto;padding-block:clamp(58px,8vw,100px) 76px;text-align:center}
.hero-copy{max-width:1080px;margin-inline:auto}
.hero-lead{max-width:850px;margin:0 auto 18px;color:#333;font-size:clamp(1.03rem,1.5vw,1.28rem)}
.hero-promise{max-width:820px;margin:0 auto 34px;padding:0;border:0;font-size:clamp(1rem,1.25vw,1.16rem)}
.hero-video{position:relative;max-width:920px;aspect-ratio:16/9;margin:38px auto 28px;overflow:hidden;border:8px solid #fff;border-radius:8px;background:#111;box-shadow:0 22px 65px rgba(0,0,0,.22)}
.hero-video img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.58))}
.hero-video .play-mark{position:absolute;top:50%;left:50%;display:grid;width:82px;height:82px;transform:translate(-50%,-50%);place-items:center;border-radius:50%;background:#f4a11a;color:#fff;font-size:1.65rem;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.hero-video-note{position:absolute;right:20px;bottom:18px;left:20px;color:#fff}.hero-video-note strong,.hero-video-note small{display:block}.hero-video-note small{opacity:.82}
.hero-actions,.secure-line{justify-content:center}.hero-actions .button{width:min(760px,100%);min-height:64px;font-size:1.05rem}.hero-photo{display:none}
.trust-strip{background:#183b5b}.trust-strip strong{color:#fff}.trust-strip span{color:rgba(255,255,255,.72)}
.audience,.recognition,.proof,.about,.faq,.final-cta{padding-block:clamp(72px,9vw,120px)}
.audience{width:100%;max-width:none;padding-inline:max(20px,calc((100% - 1120px)/2));background:#fff6e8}
.section-heading{max-width:900px}.section-heading p{max-width:760px;font-size:1.08rem}
.audience-card,.symptom-card{min-height:270px;border:1px solid #eee5d6;border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(17,17,17,.05)}
.audience-card>span,.symptom-card>span{color:#f4a11a;font-weight:800}
.recognition-callout{border-radius:10px;background:#183b5b}.recognition-callout p,.recognition-callout span{color:#fff}
.pattern-quiz{padding-block:clamp(78px,9vw,120px);background:#f7f7f7}.quiz-card{max-width:850px;border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.1)}
.offer{padding-block:clamp(78px,9vw,120px);background:#183b5b}.offer h2,.offer h3,.offer-copy,.offer-copy p,.offer-copy li{color:#fff}.offer h2 em{color:#f4a11a}
.price-card,.video-card,.fit-card,.not-fit-card,.about-photo{border-radius:12px}.price-card .button{width:100%}
.inline-cta{border-radius:10px;background:#fff6e8}.framework-video,.about{background:#fff6e8}.framework-video-placeholder{border-radius:10px}
.method{background:#183b5b}.method h2,.method h3,.method p{color:#fff}.method-step{border-color:rgba(255,255,255,.2)}
.fit{padding-block:clamp(78px,9vw,120px)}.public-moments,.books{padding-block:76px}.final-cta{text-align:center}.final-cta .button{width:min(720px,100%)}
@media(max-width:720px){.brand-copy small{display:none}.hero{padding-top:46px}h1{font-size:clamp(2.25rem,11vw,3.3rem)}.hero-video{margin-top:28px;border-width:4px}.hero-video .play-mark{width:58px;height:58px;font-size:1.15rem}.hero-video-note{bottom:10px}.hero-video-note strong{font-size:.78rem}.hero-video-note small{display:none}.trust-strip{grid-template-columns:1fr 1fr}.audience-card,.symptom-card{min-height:auto}}

.trust-building{padding-block:clamp(78px,9vw,124px);text-align:center}
.trust-building .section-heading{margin-inline:auto}
.trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;text-align:left}
.trust-card{padding:34px 30px;border:1px solid #e8e2d9;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(16,43,68,.07)}
.trust-card>span{display:grid;width:44px;height:44px;margin-bottom:25px;place-items:center;border-radius:50%;background:#fff2d9;color:#d78000;font-weight:800}
.trust-card h3{margin-bottom:13px;font-size:1.28rem}
.trust-card p{margin:0;color:#575757}
.trust-statement{display:flex;align-items:center;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-top:28px;padding:22px 28px;border-radius:10px;background:#183b5b;color:#fff}
.trust-statement strong{font-size:1rem}.trust-statement span{color:rgba(255,255,255,.77)}
.price-trust{margin:0 0 17px;padding:10px 12px;border-radius:6px;background:#fff2d9;color:#7f5000;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}
@media(max-width:820px){.trust-cards{grid-template-columns:1fr}.trust-card{padding:28px 24px}.trust-statement{align-items:flex-start;flex-direction:column;text-align:left}}

.quiz-lead-form{max-width:680px;margin-inline:auto;text-align:center}
.quiz-lead-form h3{margin-bottom:12px;font-size:clamp(2rem,4vw,3.25rem)}
.quiz-lead-form>p:not(.eyebrow):not(.lead-privacy):not(.lead-status){max-width:540px;margin:0 auto 26px;color:#575757}
.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px;text-align:left}
.lead-fields label>span{display:block;margin-bottom:7px;color:#2b2b2b;font-size:.8rem;font-weight:800}
.lead-fields input{width:100%;min-height:52px;padding:12px 14px;border:1px solid #cfc7bd;border-radius:7px;background:#fff;color:#141414;font:inherit}
.lead-fields input:focus{border-color:#183b5b;outline:3px solid rgba(24,59,91,.13)}
.lead-consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;color:#575757;font-size:.77rem;line-height:1.5;text-align:left}
.lead-consent input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:#183b5b}
.quiz-lead-form .button{width:100%;min-height:58px}
.lead-privacy{margin:12px 0 0;color:#777;font-size:.72rem}
.lead-status{min-height:24px;margin:10px 0 0;color:#9b2534;font-size:.82rem;font-weight:700}
.lead-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.quiz-result-content{text-align:center}
.quiz-result-content>h3{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.02}
#quizResultDescription{max-width:850px;margin:0 auto 28px;text-align:left}
.result-term,.result-explanation,.result-subheading,.result-curiosity{display:block}
.result-term{margin-bottom:10px;text-align:center;font-size:1.05rem}
.result-explanation{margin-bottom:25px;text-align:center}
.result-subheading{margin:22px 0 10px;color:#173d5d;font-weight:850}
.result-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none}
.result-points li{padding:15px 17px;border-radius:10px;background:#fff6e8;border:1px solid #efd9b8}
.result-pleasure li{background:#eff8f2;border-color:#c8dfcf}
.result-curiosity{margin-top:24px;padding:18px 20px;border-left:4px solid #f5a016;border-radius:8px;background:#fff8ed}
.quiz-result-note{text-align:left}
@media(max-width:620px){.result-points{grid-template-columns:1fr}}
@media(max-width:620px){.lead-fields{grid-template-columns:1fr}}

/* v9 — keep the pain point and video visible together above the fold */
.hero.section-shell{width:min(1500px,calc(100% - 40px));padding-block:34px 64px}
.hero h1{max-width:1450px;margin-bottom:22px;font-size:clamp(2.65rem,4.25vw,4.55rem);line-height:1.04}
.hero .eyebrow{margin-bottom:12px}
.hero-lead{max-width:980px;margin-bottom:24px;font-size:clamp(1rem,1.2vw,1.18rem)}
.hero-video{max-width:1080px;margin-top:24px}
@media(max-width:720px){.hero.section-shell{width:min(100% - 24px,1500px);padding-top:30px}.hero h1{font-size:clamp(2.15rem,10vw,3.15rem);line-height:1.07}.hero-lead{font-size:.98rem}.hero-video{margin-top:22px}}

/* v14 consolidated landing-page flow */
.recognition{padding-top:clamp(72px,8vw,108px)}
.recognition .section-heading{margin-inline:auto}
.method-heading{max-width:640px}
.loop-line-light{margin-top:28px;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}
.loop-line-light span,.loop-line-light b{color:#fff}
.quiz-result-content>h3{max-width:900px;margin-inline:auto;font-size:clamp(2.05rem,4.2vw,3.9rem);line-height:1.05}
.fit-card .check-list li::before,.not-fit-card .not-list li::before{content:"";width:9px;height:9px;top:.62em;border:0;border-radius:50%;background:#f4a11a}
.hero-video{cursor:default}
.hero-video-note{padding:12px 16px;border-radius:7px;background:rgba(16,43,68,.78)}
.result-delivery-note{max-width:720px;margin:0 auto 20px;padding:12px 16px;border-radius:8px;background:#fff4dc;color:#704600;font-weight:700}

/* V15 — simple, rewarding quiz reveal */
.quiz-result-content{max-width:920px;margin-inline:auto;padding-top:8px}
.result-reveal-icon{display:grid;width:64px;height:64px;margin:0 auto 14px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffbd3d,#f28a12);box-shadow:0 12px 30px rgba(242,138,18,.26);color:#fff;font-size:1.7rem;animation:result-pop .55s cubic-bezier(.2,.8,.2,1) both}
.quiz-result-content>.eyebrow{margin-bottom:10px;color:#d97000}
.quiz-result-content>h3{max-width:760px;margin:0 auto 18px;color:#123d60;font-size:clamp(2.15rem,5vw,4.2rem);line-height:1.04;letter-spacing:-.045em}
.quiz-score{max-width:560px;margin:0 auto 24px;padding:16px 22px 18px;border:0;border-radius:16px;background:#f3f8fc}
.quiz-score strong{font-family:"Manrope",Arial,sans-serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:850;letter-spacing:-.04em}
.quiz-score p{margin-top:8px;color:#496171;font-size:.9rem;line-height:1.45}
.quiz-match-track{height:10px;margin-top:12px;overflow:hidden;border-radius:999px;background:#dce8f1}
.quiz-match-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f4a11a,#ffbd3d);transition:width .8s cubic-bezier(.2,.8,.2,1)}
#quizResultDescription{max-width:840px;margin:0 auto 20px;text-align:center}
.result-explanation{max-width:720px;margin:0 auto 8px;color:#17242d;font-size:clamp(1.08rem,2vw,1.3rem);font-weight:650;line-height:1.5}
.result-term{margin-bottom:22px;color:#5f7180;font-size:.88rem;font-weight:650}
.result-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
.result-mini-card{padding:22px;border-radius:16px;border:1px solid #e0e8ee;background:#fff}
.result-mini-card>span{display:block;margin-bottom:12px;color:#123d60;font-size:1rem;font-weight:850}
.result-mini-card ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.result-mini-card li{position:relative;padding-left:24px;color:#253640;line-height:1.45}
.result-mini-card li::before{position:absolute;left:0;top:.05em;font-weight:900}
.result-recognition{background:#fff8ed;border-color:#efd9b8}
.result-recognition li::before{content:"•";color:#ef8d00;font-size:1.4rem;line-height:1}
.result-possibility{background:#eff8f2;border-color:#c8dfcf}
.result-possibility li::before{content:"✓";color:#218351}
.quiz-result-note{display:grid;gap:5px;max-width:720px;margin:18px auto 24px;padding:18px 20px;border:0;border-radius:14px;background:#123d60;color:#fff;text-align:center}
.quiz-result-note .next-label{color:#ffbd3d;font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.quiz-result-note strong{font-size:1.02rem;line-height:1.5}
.quiz-result-note small{margin-top:3px;color:#d8e6ef;font-size:.83rem}
.quiz-result-note small strong{color:#fff;font-size:inherit}
.quiz-result-content .button{min-width:min(100%,360px)}
@keyframes result-pop{0%{opacity:0;transform:scale(.55) rotate(-12deg)}70%{transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.result-reveal-icon{animation:none}.quiz-match-track span{transition:none}}
@media(max-width:620px){.result-columns{grid-template-columns:1fr}.quiz-result-content>h3{font-size:clamp(2rem,10vw,2.8rem)}.quiz-score{padding-inline:16px}.result-mini-card{padding:18px}.quiz-result-note{text-align:left}}

/* V17 — audience-specific pain and possibility */
.stakes-section{padding-block:clamp(76px,9vw,118px);background:#f4f8fb}
.stakes-section .section-heading{max-width:850px;margin-inline:auto}
.stakes-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px}
.stakes-panel{padding:clamp(24px,3.2vw,38px);border:1px solid #dfe8ee;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(18,61,96,.07)}
.stakes-label{display:block;margin-bottom:22px;font-size:.8rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.pain-panel .stakes-label{color:#b96120}.possibility-panel .stakes-label{color:#227652}
.stakes-panel ul{display:grid;gap:17px;margin:0;padding:0;list-style:none}
.stakes-panel li{position:relative;padding-left:29px}
.stakes-panel li::before{position:absolute;left:0;top:.08em;width:19px;height:19px;border-radius:50%;font-size:.75rem;font-weight:900;line-height:19px;text-align:center}
.pain-panel li::before{content:"!";background:#fff0e2;color:#c46a1d}
.possibility-panel li::before{content:"✓";background:#e6f5ec;color:#247653}
.stakes-panel strong,.stakes-panel span{display:block}
.stakes-panel strong{margin-bottom:3px;color:#123d60;font-size:1.06rem}
.stakes-panel li span{color:#566976;line-height:1.5}
.stakes-bridge{max-width:800px;margin:28px auto 0;padding:18px 22px;border-radius:14px;background:#123d60;color:#fff;font-size:1.05rem;line-height:1.55;text-align:center}
.stakes-bridge strong{color:#ffbd3d}
@media(max-width:760px){.stakes-grid{grid-template-columns:1fr}.stakes-panel{padding:24px}.stakes-bridge{text-align:left}}
@media(max-width:720px){
  .recognition{padding-top:64px}
  .quiz-result-content>h3{font-size:clamp(1.9rem,9vw,2.8rem)}
  .loop-line-light{display:grid;grid-template-columns:1fr;gap:7px;text-align:center}
  .loop-line-light b{transform:rotate(90deg)}
}

/* V20 — one centred visual funnel */
.hero,
.offer-shell,
.method-shell,
.about,
.fit-card,
.not-fit-card,
.faq {
  text-align: center;
}

.hero-copy,
.offer-copy,
.method-heading,
.about-copy,
.faq-intro {
  margin-inline: auto;
}

.offer-shell,
.method-shell,
.about,
.fit-card,
.not-fit-card,
.faq {
  grid-template-columns: 1fr;
  max-width: 920px;
}

.offer-copy > p:not(.eyebrow),
.method-heading > p:last-child,
.about-copy,
.about-copy > p:not(.eyebrow) {
  margin-inline: auto;
}

.offer-copy .check-list,
.fit-card .check-list,
.not-fit-card .not-list {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.price-card {
  width: min(100%, 640px);
  margin-inline: auto;
}

.method-steps {
  width: min(100%, 760px);
  margin-inline: auto;
  text-align: left;
}

.loop-line-light,
.credential-list {
  justify-content: center;
}

.about-photo {
  width: min(100%, 720px);
  height: auto;
  aspect-ratio: 16 / 9;
  margin-inline: auto;
}

.about-copy {
  max-width: 760px;
}

.fit-card,
.not-fit-card {
  width: min(100%, 920px);
  margin-inline: auto;
}

.not-fit-card {
  margin-top: 20px;
}

.faq-intro h2 {
  margin-inline: auto;
}

.accordion {
  text-align: left;
}

.inline-cta {
  flex-direction: column;
  text-align: center;
}

.inline-cta p {
  margin-inline: auto;
}

.site-footer {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
}

.footer-legal {
  text-align: center;
}

@media (max-width: 720px) {
  .offer-shell,
  .method-shell,
  .about,
  .fit-card,
  .not-fit-card,
  .faq {
    width: min(100% - 24px, 920px);
  }

  .about-photo {
    aspect-ratio: 4 / 3;
  }
}

/* V24: compact proof placed early in the decision journey */
.early-proof {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding-block: 38px;
  border-bottom: 1px solid var(--line);
}

.early-proof blockquote {
  position: relative;
  max-width: 820px;
  margin: 0;
  padding-left: 38px;
}

.early-proof blockquote > span {
  position: absolute;
  top: -18px;
  left: 0;
  color: var(--orange);
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 1;
}

.early-proof p {
  margin: 0;
  color: var(--navy);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  line-height: 1.45;
}

.early-proof footer {
  margin-top: 9px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.early-proof > a {
  color: var(--navy);
  font-size: .82rem;
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .early-proof {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 30px;
  }

  .early-proof > a {
    margin-left: 38px;
    white-space: normal;
  }
}

/* V21 — visual, logical explanation of relationship patterns */
.logic-section,
.choice-section {
  padding-block: clamp(78px, 9vw, 118px);
}

.logic-section {
  background: #f4f8fb;
}

.pattern-loop {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  max-width: 1120px;
  margin-inline: auto;
}

.pattern-loop article {
  min-height: 215px;
  padding: 25px 20px;
  border: 1px solid #dce7ee;
  border-radius: 18px;
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(18, 61, 96, .07);
}

.pattern-loop article span {
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0 auto 18px;
  place-items: center;
  border-radius: 50%;
  background: #183b5b;
  color: #fff;
  font-weight: 800;
}

.pattern-loop article strong,
.pattern-loop article small {
  display: block;
}

.pattern-loop article strong {
  margin-bottom: 10px;
  color: #102b44;
  font-size: 1.22rem;
}

.pattern-loop article small {
  color: #596b78;
  font-size: .8rem;
  line-height: 1.55;
}

.pattern-loop > b {
  color: #f4a11a;
  font-size: 1.55rem;
}

.logic-insight {
  display: flex;
  align-items: center;
  gap: 21px;
  max-width: 850px;
  margin: 30px auto 0;
  padding: 25px 30px;
  border-radius: 16px;
  background: #183b5b;
  color: #fff;
}

.insight-mark {
  flex: 0 0 58px;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: #f4a11a;
  color: #102b44;
  font-size: 2rem;
  font-weight: 900;
}

.logic-insight strong {
  display: block;
  margin-bottom: 5px;
  font-size: 1.08rem;
}

.logic-insight p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: .9rem;
}

.response-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.response-card {
  padding: 30px 22px;
  border: 1px solid #ece4d8;
  border-radius: 16px;
  background: #fffaf2;
  text-align: center;
}

.response-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin: 0 auto 19px;
  place-items: center;
  border-radius: 15px;
  background: #183b5b;
  color: #f9b43b;
  font-size: 1.6rem;
  font-weight: 900;
}

.response-card h3 {
  margin-bottom: 8px;
  font-size: 1.22rem;
}

.response-card p {
  margin: 0;
  color: #5d6870;
  font-size: .88rem;
}

.choice-section {
  background: #fff6e8;
}

.choice-compare {
  display: grid;
  grid-template-columns: 1fr 76px 1fr;
  align-items: stretch;
  max-width: 1000px;
  margin-inline: auto;
}

.choice-side {
  padding: clamp(27px, 4vw, 42px);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(16, 43, 68, .08);
}

.choice-side > span {
  display: block;
  margin-bottom: 23px;
  color: #183b5b;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mini-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 92px;
  padding: 18px;
  border-radius: 13px;
  background: #f5f7f9;
  text-align: center;
}

.mini-flow b {
  color: #102b44;
  font-size: .83rem;
}

.mini-flow i {
  color: #f4a11a;
  font-style: normal;
  font-weight: 900;
}

.choice-side ul {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.choice-side li {
  position: relative;
  padding-left: 25px;
}

.choice-side li::before {
  position: absolute;
  left: 0;
  content: "•";
  color: #f4a11a;
  font-size: 1.45rem;
  line-height: .8;
}

.aware-side {
  border: 2px solid #183b5b;
}

.choice-divider {
  display: grid;
  place-items: center;
}

.choice-divider span {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 50%;
  background: #f4a11a;
  color: #102b44;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 10px 28px rgba(244, 161, 26, .28);
}

.choice-note {
  max-width: 800px;
  margin: 28px auto 0;
  color: #344856;
  font-size: 1.02rem;
  font-weight: 650;
  text-align: center;
}

@media (max-width: 920px) {
  .pattern-loop {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .pattern-loop article {
    min-height: auto;
  }

  .pattern-loop > b {
    transform: rotate(90deg);
    text-align: center;
  }

  .response-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .logic-insight {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px;
  }

  .response-grid {
    grid-template-columns: 1fr;
  }

  .choice-compare {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .choice-divider {
    min-height: 76px;
  }
}

/* V22 — premium ivory and wine expert-funnel presentation */
:root {
  --navy: #6d1837;
  --navy-deep: #491024;
  --blue: #6d1837;
  --orange: #bd8b43;
  --orange-soft: #f0d8ae;
  --ink: #241a1e;
  --muted: #675b60;
  --paper: #fffdf9;
  --cream: #f8efe2;
  --line: #eadbca;
  --shadow: 0 22px 58px rgba(73, 16, 36, .11);
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
}

h1,
h2,
h3 {
  color: var(--ink);
  font-family: "DM Sans", Arial, sans-serif;
}

h1 {
  max-width: 1040px;
  font-size: clamp(2.55rem, 4.6vw, 4.65rem);
  line-height: 1.06;
}

h2 {
  font-size: clamp(2.1rem, 3.8vw, 3.7rem);
  line-height: 1.09;
}

em,
.eyebrow {
  color: var(--navy);
}

h1 em,
h2 em {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
}

.site-header {
  background: rgba(255, 253, 249, .96);
  border-color: var(--line);
}

.brand-copy strong {
  color: var(--navy-deep);
}

.button,
.button-orange {
  border-color: var(--navy);
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  box-shadow: 0 12px 28px rgba(109, 24, 55, .18);
}

.button:hover,
.button-orange:hover {
  background: var(--navy-deep);
}

.hero.section-shell {
  width: min(1180px, calc(100% - 40px));
  padding-block: 52px 68px;
}

.hero .eyebrow {
  margin-bottom: 16px;
}

.hero-lead {
  max-width: 790px;
  margin-bottom: 22px;
  color: var(--muted);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
}

.hero-video {
  max-width: 880px;
  margin-top: 28px;
  border: 5px solid #fff;
  border-radius: 22px;
  box-shadow: 0 24px 65px rgba(73, 16, 36, .18);
}

.hero-video-note {
  background: rgba(73, 16, 36, .84);
}

.hero-actions .button {
  width: min(650px, 100%);
  min-height: 62px;
}

.trust-strip {
  background: var(--navy-deep);
}

.trust-strip div + div {
  border-color: rgba(255, 255, 255, .14);
}

.section-heading {
  margin-bottom: 40px;
}

.section-heading > p:last-child {
  font-size: 1rem;
}

.logic-section {
  background: var(--cream);
}

.pattern-loop article,
.response-card,
.choice-side,
.quiz-card,
.video-card,
.quote-card {
  border-color: var(--line);
  border-radius: 18px;
}

.pattern-loop article span,
.response-icon,
.logic-insight,
.method,
.offer,
.final-card {
  background: var(--navy-deep);
}

.pattern-loop > b,
.choice-side li::before {
  color: var(--orange);
}

.logic-insight .insight-mark,
.choice-divider span {
  background: var(--orange);
  color: var(--navy-deep);
}

.response-card {
  background: #fffaf3;
}

.choice-section,
.pattern-quiz,
.about,
.site-footer {
  background: #fbf4e9;
}

.aware-side {
  border-color: var(--navy);
}

.quiz-card {
  box-shadow: var(--shadow);
}

.quiz-progress-track span,
.quiz-match-track span {
  background: linear-gradient(90deg, var(--navy), #a44568);
}

.quiz-option[aria-pressed="true"] {
  border-color: var(--navy);
  background: #f7e9ef;
}

.price-card {
  border-radius: 22px;
}

.price,
.price-label,
.video-copy p,
.video-copy > span {
  color: var(--navy);
}

.proof,
.recognition,
.fit,
.faq {
  padding-block: clamp(70px, 8vw, 105px);
}

.about-photo {
  max-width: 680px;
  border-radius: 24px;
}

.books {
  background: var(--navy-deep);
}

.books h2,
.books h3,
.books-heading p {
  color: #fff;
}

.faq {
  gap: 28px;
}

.faq-intro h2 {
  margin-bottom: 0;
}

.accordion {
  width: min(100%, 880px);
  margin-inline: auto;
}

.accordion button {
  padding: 20px 0;
}

.site-footer {
  padding-block: 34px;
}

@media (max-width: 720px) {
  h1 {
    font-size: clamp(2.15rem, 9.8vw, 3.15rem);
  }

  h2 {
    font-size: clamp(1.9rem, 8.5vw, 2.8rem);
  }

  .hero.section-shell {
    width: min(100% - 24px, 1180px);
    padding-top: 34px;
  }

  .hero-video {
    border-width: 3px;
    border-radius: 14px;
  }
}
