/* V5.3.4 comparison variant of the current V5.4 engine and content. */
.quiz-page { background: var(--paper); }
.quiz-config-loading .announce a,
.quiz-config-loading .nav-quiz,
.quiz-config-loading .nav-pill__quiz { visibility: hidden; }
.quiz-body { display:flex; justify-content:center; padding:clamp(24px,3vw,42px) clamp(18px,4.5vw,72px) 42px; }
.quiz-card { width:100%; max-width:1120px; min-width:0; }
.quiz-card *, .quiz-card *::before, .quiz-card *::after { box-sizing:border-box; }
.button { min-height:46px; text-transform:none; }
.button:disabled { opacity:.56; cursor:wait; transform:none; }
.button-quiet { color:var(--green-900); border:1px solid rgba(28,47,5,.2); background:transparent; box-shadow:none; }
.button-quiet:hover { background:rgba(135,160,124,.11); box-shadow:none; }
.disclaimer { max-width:850px; margin-top:24px; color:var(--gray-600); font-size:12px; line-height:20px; }
.eyebrow { color:var(--green-900); font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Welcome: editorial copy and a real lab image share a quiet, wide composition. */
.welcome-layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr); gap:clamp(30px,5vw,68px); align-items:center; }
.welcome-copy { min-width:0; padding-block:12px; }
.welcome-copy>.eyebrow,.result-heading__copy>.eyebrow { margin:0 0 16px; color:var(--green-900); font-size:12px; }
.welcome-copy h1 { max-width:640px; margin:0 0 18px; font-size:clamp(38px,5vw,var(--fs-display)); font-weight:500; line-height:1.04; letter-spacing:-1.4px; }
.welcome-description { max-width:590px; color:var(--gray-600); font-size:16px; line-height:25px; }
.path-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:28px; scroll-margin-top:28px; }
.path-choice { display:flex; min-width:0; min-height:126px; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:18px 20px; border-radius:var(--r-md); white-space:normal; text-align:left; transition:transform .18s ease,background-color .18s ease,border-color .18s ease; }
.path-choice:hover { transform:translateY(-2px); }
.path-choice--quick { color:#fff; background:var(--green-900); }
.path-choice--quick:hover { color:#fff; background:var(--green-700); }
.path-choice--deep { color:var(--green-900); border:1px solid rgba(28,47,5,.19); background:var(--plate); box-shadow:none; }
.path-choice--deep:hover { border-color:var(--sage); background:#f0f1e9; }
.path-choice__topline { font-size:10px; line-height:15px; font-weight:500; letter-spacing:.1em; opacity:.8; }
.path-choice__title { font-size:18px; line-height:23px; font-weight:500; letter-spacing:-.25px; }
.path-choice__detail { font-size:13px; line-height:19px; opacity:.9; }
.path-choice:focus-visible,.button:focus-visible,.choice-option:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--green-900); outline-offset:3px; }
.privacy-line { max-width:560px; margin-top:17px; color:var(--gray-600); font-size:12px; line-height:20px; }
.welcome-visual { position:relative; height:clamp(300px,36vw,440px); min-width:0; overflow:hidden; margin:0; border-radius:var(--r-lg); background:var(--plate); }
.welcome-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:52% center; }
.welcome-visual::after { position:absolute; inset:40% 0 0; content:""; pointer-events:none; background:linear-gradient(transparent,rgba(20,31,15,.52)); }
.welcome-visual__caption { position:absolute; z-index:1; right:20px; bottom:18px; left:20px; display:flex; align-items:center; gap:11px; color:#fff; font-size:13px; line-height:20px; }
.welcome-visual__mark { display:grid; width:38px; height:38px; flex:none; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:9px; letter-spacing:.1em; }
.preview-notice,.v5-preview-notice { padding:10px 14px; border:1px solid rgba(28,47,5,.12); border-radius:var(--r-sm); background:var(--plate); color:var(--gray-600); font-size:12px; line-height:19px; }
.preview-notice { margin-bottom:16px; }
.v5-preview-notice { margin-bottom:18px; }

/* Question flow: phase labels orient without implying a fixed count or speed. */
.progress-wrap { max-width:900px; margin:0 auto 24px; }
.progress-info { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.progress-phases { display:flex; flex-wrap:wrap; gap:clamp(12px,2.3vw,26px); color:var(--gray-500); font-size:12px; line-height:20px; }
.progress-phases span { position:relative; }
.progress-phases span.is-current { color:var(--green-900); font-weight:500; }
.progress-phases span.is-current::after { position:absolute; right:0; bottom:-5px; left:0; height:2px; content:""; border-radius:2px; background:var(--sage); }
.progress-phases span.is-complete { color:var(--gray-600); }
.step-label { color:var(--gray-600); font-size:12px; line-height:20px; text-align:right; }
.progress-summary { color:var(--gray-600); font-size:12px; line-height:19px; }
.step-layout { display:grid; width:min(100%,1060px); grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr); gap:clamp(24px,4.8vw,66px); align-items:start; margin-inline:auto; }
.step-layout--solo { grid-template-columns:minmax(0,1fr); max-width:900px; }
.step-layout__main,.step-form { min-width:0; }
.choice-fieldset { min-width:0; margin:0; padding:0; border:0; }
.question-title { display:block; width:100%; padding:0; color:var(--ink); font-size:clamp(30px,4vw,var(--fs-section)); font-weight:500; line-height:1.13; letter-spacing:-1px; }
.question-title:focus,.contact-heading h2:focus,#result-title:focus,#booking-title:focus { outline:none; }
.question-subtitle { max-width:680px; margin-top:12px; color:var(--gray-600); font-size:15px; line-height:24px; }
.choice-hint { margin-top:11px; color:var(--gray-600); font-size:12px; line-height:20px; }
.choice-list { display:grid; gap:10px; margin-top:22px; }
.choice-option { position:relative; display:flex; min-width:0; min-height:58px; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px; border:1px solid rgba(28,47,5,.17); border-radius:var(--r-sm); background:var(--plate); cursor:pointer; text-align:left; font:inherit; transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }
.choice-option:hover { border-color:var(--sage); background:rgba(135,160,124,.1); }
.choice-option:active { transform:scale(.993); }
.choice-option.is-selected { border-color:var(--green-900); background:#e4ebd8; box-shadow:inset 0 0 0 2px var(--green-900); }
.choice-copy { display:flex; min-width:0; flex-direction:column; gap:4px; color:var(--ink); font-size:15px; line-height:21px; }
.choice-label { font-weight:500; }
.choice-description { color:var(--gray-600); font-size:12px; line-height:18px; }
.choice-arrow { flex:none; color:var(--green-900); font-size:17px; opacity:.65; }
.choice-list--interests { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.choice-option--topic { min-height:152px; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; padding:0 0 10px; overflow:hidden; }
.choice-option--topic:not(.choice-option--topic--text-only) { padding-inline:0; }
.choice-thumbnail { display:block; width:100%; height:88px; flex:none; object-fit:cover; object-position:center 42%; background:#e8eadf; }
.choice-thumbnail--library { height:auto; aspect-ratio:1600/1195; object-position:center; }
.choice-thumbnail__note { padding-inline:12px; color:var(--gray-600); font-size:9px; line-height:13px; }
.choice-option--topic .choice-copy { padding:0 28px 0 12px; }
.choice-option--topic--text-only { min-height:88px; justify-content:center; padding:14px 15px; }
.choice-option--topic--text-only .choice-copy { padding:0; }
.choice-option--topic--text-only .choice-arrow { bottom:50%; transform:translateY(50%); }
.choice-option--topic .choice-label { font-size:14px; }
.choice-option--topic .choice-description { font-size:11px; line-height:16px; }
.choice-option--topic .choice-arrow { position:absolute; right:11px; bottom:13px; padding-left:3px; background:var(--plate); }
.choice-list--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.choice-option:has(input) { justify-content:flex-start; gap:12px; }
.choice-option input[type=checkbox],.choice-option input[type=radio] { appearance:none; -webkit-appearance:none; display:grid; place-content:center; flex:none; width:22px; height:22px; margin:0; border:2px solid var(--green-900); background:#fff; cursor:pointer; }
.choice-option input[type=checkbox] { border-radius:3px; }
.choice-option input[type=checkbox]::before { content:''; width:10px; height:6px; border-left:2px solid var(--ivory,#fffff5); border-bottom:2px solid var(--ivory,#fffff5); transform:translateY(-1px) rotate(-45deg) scale(0); }
.choice-option input[type=checkbox]:checked { background:var(--green-900); }
.choice-option input[type=checkbox]:checked::before { transform:translateY(-1px) rotate(-45deg) scale(1); }
.choice-option input[type=radio] { border-radius:50%; }
.choice-option input[type=radio]::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--green-900); transform:scale(0); }
.choice-option input[type=radio]:checked::before { transform:scale(1); }
.choice-option--topic input[type=radio],.choice-option--topic input[type=checkbox] { position:absolute; right:10px; bottom:12px; }
.choice-option.choice-option--topic .choice-copy { padding-right:42px; }
.comparison-notice { margin:0; padding:10px 20px; background:#e4ebd8; color:var(--green-900); text-align:center; font-size:13px; line-height:20px; }
.actions [data-continue]:disabled { opacity:.5; cursor:not-allowed; }
@media (forced-colors:active) { .choice-option input[type=radio],.choice-option input[type=checkbox] { forced-color-adjust:none; background:Canvas; border-color:CanvasText; } .choice-option input[type=checkbox]:checked { background:Highlight; } .choice-option input[type=checkbox]::before { border-color:HighlightText; } .choice-option input[type=radio]::before { background:Highlight; } .choice-option.is-selected { outline:2px solid Highlight; } }
.choice-option:has(input:focus-visible) { outline:2px solid var(--green-900); outline-offset:3px; }
.choice-fieldset textarea { display:block; width:100%; min-height:96px; margin-top:8px; padding:12px 14px; border:1px solid rgba(28,47,5,.2); border-radius:var(--r-sm); background:var(--plate); color:var(--ink); font:inherit; font-size:15px; line-height:22px; resize:vertical; }
.choice-fieldset textarea:focus,.form-field input:focus { border-color:var(--green-900); outline:2px solid rgba(28,47,5,.25); outline-offset:2px; }
.additional-interests { margin-block:26px; padding:22px; border:1px solid rgba(28,47,5,.17); border-radius:var(--r-md); background:var(--plate); }
.additional-interests h3 { margin:0 0 12px; color:var(--ink); font-size:22px; font-weight:500; }
.additional-interests__focus,.additional-interests p { color:var(--gray-600); font-size:14px; line-height:23px; }
.additional-interests__item { margin-top:18px; padding-top:18px; border-top:1px solid rgba(28,47,5,.12); }
.additional-interests__item h4 { margin:0 0 8px; font-size:17px; font-weight:500; }
.additional-interests__item summary { margin-top:12px; color:var(--green-900); font-size:13px; cursor:pointer; }
.field-label { display:block; margin-bottom:8px; color:var(--ink); font-size:14px; }
.step-visual { position:sticky; top:24px; min-width:0; overflow:hidden; border:1px solid rgba(28,47,5,.1); border-radius:var(--r-md); background:var(--plate); }
.step-visual__photo { display:block; width:100%; height:clamp(190px,24vw,290px); object-fit:cover; object-position:center; background:#e9eadf; }
.step-visual__photo--compact { height:190px; }
.step-visual__caption { padding:17px 19px 19px; }
.step-visual__caption .eyebrow { margin-bottom:7px; font-size:10px; }
.step-visual__caption p:last-child { color:var(--gray-600); font-size:13px; line-height:20px; }
.step-visual__caption--personalized { padding:16px 18px 18px; }
.step-visual__caption--personalized h2 { margin:0 0 7px; font-size:17px; font-weight:500; line-height:23px; color:var(--green-900); }
.step-visual__caption--personalized p { margin:0; }
.step-context { position:sticky; top:24px; min-width:0; padding:25px 23px; border-left:2px solid var(--sage); background:#f0f1e9; }
.step-context .eyebrow { margin-bottom:12px; font-size:10px; }
.step-context h3 { margin-bottom:10px; font-size:21px; font-weight:500; line-height:1.2; }
.step-context>p:last-child { color:var(--gray-600); font-size:14px; line-height:22px; }
.step-visual--refresh { animation:context-arrive .28s ease both; }
@keyframes context-arrive { from { opacity:.55; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.form-field { margin-top:17px; }
.form-field input { width:100%; height:52px; padding:13px 16px; border:1px solid rgba(28,47,5,.2); border-radius:var(--r-sm); background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.form-field input::placeholder { color:var(--gray-500); }
.contact-heading { margin-bottom:23px; }
.contact-heading .eyebrow { margin-bottom:10px; font-size:12px; }
.contact-heading h2 { margin:0 0 11px; font-size:clamp(28px,3.3vw,var(--fs-section)); font-weight:500; line-height:1.15; letter-spacing:-.9px; }
.contact-heading p { color:var(--gray-600); font-size:15px; line-height:24px; }
.consent-option { display:flex; align-items:flex-start; gap:12px; margin-top:18px; color:var(--gray-600); cursor:pointer; font-size:13px; line-height:21px; }
.consent-option input { width:18px; height:18px; flex:none; margin:2px 0 0; accent-color:var(--green-900); }
.website-field,.copy-buffer { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.actions { display:flex; align-items:center; gap:12px; margin-top:25px; }
.actions-between { justify-content:space-between; }
.secure-note { color:var(--gray-600); font-size:12px; line-height:20px; }
.finish-early { margin-left:auto; }
.quiz-privacy { max-width:560px; margin-top:17px; color:var(--gray-600); font-size:12px; line-height:20px; }
.quiz-privacy a,.reading-link,.text-link { color:var(--green-900); text-decoration:underline; text-underline-offset:3px; }
.form-error { margin-top:17px; padding:12px 15px; border-left:2px solid #9b4b37; background:rgba(193,105,79,.08); color:#71341f; font-size:14px; line-height:22px; }
.loading-state { display:flex; min-height:220px; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:var(--gray-600); }
.loader { width:25px; height:25px; border:2px solid var(--gray-400); border-top-color:var(--green-900); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.message-state { padding:40px 0; }
.message-state .button { margin-top:24px; }

/* Results: overview and question preparation lead; Bennett conversation is a connected next step. */
.quiz-results .quiz-card { max-width:1180px; }
.result-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:30px; padding:0 0 28px; border-bottom:1px solid rgba(28,47,5,.16); }
.result-heading__copy { min-width:0; }
.result-heading__copy>.eyebrow { margin-bottom:12px; font-size:12px; }
.result-heading h2 { max-width:780px; margin:0 0 15px; overflow-wrap:anywhere; font-size:clamp(32px,4vw,var(--fs-section)); font-weight:500; line-height:1.12; letter-spacing:-1px; }
.result-introduction { max-width:730px; color:var(--gray-600); font-size:16px; line-height:25px; }
.result-scope-note { max-width:700px; margin-top:10px; color:var(--gray-600); font-size:14px; line-height:22px; }
.result-goal { display:flex; width:fit-content; max-width:100%; flex-direction:column; gap:5px; margin-top:17px; color:var(--green-900); }
.result-goal__label { color:var(--gray-600); font-size:12px; line-height:18px; }
.result-goal__value { overflow-wrap:anywhere; font-size:16px; font-weight:500; line-height:23px; }
.result-heading__action { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.result-booking-button { white-space:normal; text-align:left; }
.result-booking-note { max-width:210px; padding-left:4px; color:var(--gray-600); font-size:12px; line-height:18px; }
.result-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:26px; margin-top:28px; }
.result-content,.result-additional,.booking-card { min-width:0; }
.result-section-title { margin-bottom:16px; font-size:var(--fs-card); font-weight:500; line-height:1.27; letter-spacing:-.5px; }
.result-feature { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); align-items:stretch; gap:clamp(18px,3vw,30px); overflow:hidden; padding:18px; border:1px solid rgba(28,47,5,.12); border-radius:var(--r-md); background:var(--plate); }
.result-feature:not(:has(>.result-feature__artwork)) { grid-template-columns:minmax(0,1fr); }
.result-feature:has(>.result-feature__artwork) { padding:0; gap:0; }
.result-feature:has(>.result-feature__artwork) .result-feature__copy { padding:20px; }
.result-feature__artwork { align-self:start; min-width:0; margin:0; }
.result-feature__image-frame { width:100%; overflow:hidden; background:#eeecdf; }
.result-feature__artwork .result-feature__image { width:100%; height:100%; min-height:0; aspect-ratio:auto; border-radius:0; object-fit:cover; object-position:center; }
.result-artwork-caption { padding:8px 12px; color:var(--gray-600); font-size:10px; line-height:16px; }
.result-feature__image { display:block; width:100%; height:100%; min-height:230px; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:var(--r-sm); background:#eeecdf; }
.result-feature__image--portrait { object-position:center 30%; }
.result-feature__copy { align-self:center; min-width:0; padding-block:6px; }
.result-feature__copy h4 { margin-bottom:10px; font-size:clamp(20px,2.2vw,var(--fs-card)); font-weight:500; line-height:1.25; letter-spacing:-.45px; }
.result-feature__copy p,.takeaway-copy p { color:var(--gray-600); font-size:15px; line-height:24px; }
.takeaway-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:13px; }
.takeaway-card { min-width:0; padding:19px 20px; border:1px solid rgba(28,47,5,.12); border-radius:var(--r-sm); background:#f8f8f1; }
.takeaway-copy h4 { margin:0 0 7px; font-size:17px; font-weight:500; line-height:24px; letter-spacing:-.35px; }
.deep-context { margin-top:19px; padding-top:17px; border-top:1px solid rgba(28,47,5,.12); }
.deep-context h3 { margin-bottom:10px; font-size:18px; font-weight:500; line-height:25px; }
.deep-context__item { padding:12px 0; border-top:1px solid rgba(28,47,5,.1); }
.deep-context__item h4 { margin-bottom:5px; color:var(--green-900); font-size:14px; font-weight:500; line-height:21px; }
.deep-context__item p { color:var(--gray-600); font-size:14px; line-height:22px; }
.evidence-card { margin-top:13px; padding:17px 19px; border:1px solid rgba(28,47,5,.13); border-radius:var(--r-sm); background:#f4f5ed; }
.evidence-card h4 { margin-bottom:7px; font-size:15px; font-weight:500; line-height:22px; }
.evidence-card p { color:var(--gray-600); font-size:14px; line-height:22px; }
.evidence-card details { margin-top:8px; }
.evidence-card summary,.result-disclosure summary { display:flex; min-height:44px; align-items:center; color:var(--green-900); cursor:pointer; font-size:13px; line-height:20px; }
.reference-list { display:grid; gap:10px; margin-top:6px; }
.reference-item { padding-top:10px; border-top:1px solid rgba(28,47,5,.12); }
.reference-item h5 { margin-bottom:4px; font-size:13px; font-weight:500; line-height:19px; }
.reference-item p { color:var(--gray-600); font-size:12px; line-height:19px; }
.reference-details { margin-top:5px; }
.reference-details summary { display:flex; min-height:40px; align-items:center; color:var(--green-900); cursor:pointer; font-size:12px; line-height:19px; }
.reference-details p { margin-top:5px; }
.reference-item a { display:inline-block; min-height:36px; margin-top:4px; color:var(--green-900); font-size:12px; line-height:20px; text-decoration:underline; text-underline-offset:3px; }
.result-preparation { margin-top:24px; padding:clamp(19px,3vw,28px); border-radius:var(--r-md); background:#eef1e7; }
.result-preparation>h3 { margin-bottom:14px; font-size:20px; font-weight:500; line-height:27px; }
.result-preparation__item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; align-items:start; padding:13px 0; border-top:1px solid rgba(28,47,5,.13); }
.result-preparation__number { color:var(--sage); font-size:12px; line-height:22px; font-variant-numeric:tabular-nums; }
.result-preparation__copy { min-width:0; }
.result-preparation__copy h4 { margin-bottom:5px; font-size:15px; font-weight:500; line-height:22px; }
.result-preparation__copy p { color:var(--gray-600); font-size:14px; line-height:22px; }
.result-tools { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
.result-tool-button { min-height:42px; padding:9px 15px; font-size:13px; }
.result-tools__status { min-height:20px; margin-top:8px; color:var(--green-900); font-size:12px; line-height:20px; }
.featured-reading { display:grid; grid-template-columns:minmax(120px,170px) minmax(0,1fr); align-items:center; gap:19px; margin-top:20px; padding:18px; border:1px solid rgba(28,47,5,.12); border-radius:var(--r-md); background:#eef1e7; color:var(--green-900); text-decoration:none; transition:background-color .15s ease,border-color .15s ease; }
.featured-reading:hover { border-color:rgba(28,47,5,.25); background:#e7ecde; }
.featured-reading:not(:has(>.featured-reading__image)) { grid-template-columns:minmax(0,1fr); }
.featured-reading:not(:has(img)) { grid-template-columns:minmax(0,1fr); }
.featured-reading__image { display:block; width:100%; height:128px; object-fit:cover; border-radius:var(--r-xs); background:#eeecdf; }
.featured-reading__copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:7px; }
.featured-reading .eyebrow { color:var(--green-900); font-size:11px; }
.featured-reading__title { overflow-wrap:anywhere; font-size:18px; line-height:24px; }
.featured-reading__description { color:var(--gray-600); font-size:13px; line-height:20px; }
.featured-reading__action { display:inline-flex; min-height:40px; align-items:center; gap:9px; margin-top:3px; padding:7px 13px; border:1px solid rgba(28,47,5,.2); border-radius:var(--r-pill); background:var(--paper); font-size:13px; }
.result-disclosure { padding:6px 0; border-bottom:1px solid rgba(28,47,5,.14); }
.result-disclosure[open] summary { margin-bottom:8px; }
.selection-explanation,.conversation-list,.summary-list { color:var(--gray-600); font-size:14px; line-height:23px; }
.conversation-list { padding-left:20px; list-style:disc; }
.conversation-list li+li { margin-top:8px; }
.summary-list { padding:0; list-style:none; }
.summary-list li { padding:6px 0; overflow-wrap:anywhere; }
.reading-link { display:block; padding:7px 0; overflow-wrap:anywhere; font-size:13px; line-height:21px; }
.booking-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.6fr); align-items:center; gap:15px 28px; padding:22px 24px; border:1px solid rgba(28,47,5,.13); border-radius:var(--r-md); background:var(--plate); scroll-margin-top:26px; }
.booking-profile { display:flex; align-items:center; gap:13px; margin-bottom:6px; }
.booking-profile img { width:58px; height:58px; object-fit:cover; object-position:center 28%; border-radius:50%; }
.booking-profile p { color:var(--gray-600); font-size:13px; line-height:20px; }
.booking-card h3 { margin:0 0 9px; font-size:clamp(22px,2.5vw,28px); font-weight:500; line-height:1.15; letter-spacing:-.5px; }
#booking-title,.calendar-section { scroll-margin-top:28px; outline:none; }
.booking-card>p { color:var(--gray-600); font-size:14px; line-height:22px; }
.booking-card>.button { justify-self:start; grid-column:1; margin-top:2px; }
.calendar-section { grid-column:2; grid-row:1 / span 3; min-width:0; }
.bennett-calendar { display:block; width:100%; height:560px; margin:0 0 12px; border:0; border-radius:var(--r-sm); background:#fff; }
.text-link { display:inline-flex; min-height:44px; align-items:center; font-size:13px; line-height:22px; }
.booking-pending { margin-top:10px; }
.booking-preview { padding:16px; border:1px solid rgba(28,47,5,.12); border-radius:var(--r-sm); background:#fff; color:var(--gray-600); font-size:13px; line-height:21px; }
.booking-card .local-notice { grid-column:1/-1; margin-top:0; }
.local-notice { margin-top:14px; color:var(--gray-600)!important; font-size:12px!important; line-height:20px!important; }
.restart-button { margin-top:28px; }
.footer-cta--bare { padding-top:32px; gap:0; min-height:0; }
.footer__legal .links { flex-wrap:wrap; }

/* Only the final request gets this image-and-cell composition. */
.results-preparing { display:grid; grid-template-columns:minmax(0,.85fr) minmax(300px,1.15fr); min-height:clamp(360px,48vw,530px); overflow:hidden; border:1px solid rgba(28,47,5,.09); border-radius:var(--r-lg); background:#f4f5ed; }
.results-preparing__panel { display:flex; flex-direction:column; justify-content:center; gap:17px; padding:clamp(24px,5vw,58px); }
.results-preparing__panel>.eyebrow { font-size:11px; }
.results-preparing__visual { position:relative; min-width:0; min-height:300px; overflow:hidden; margin:0; background:#e8eadf; }
.results-preparing__image { display:block; width:100%; height:100%; min-height:300px; object-fit:cover; object-position:center; }
.results-preparing__visual::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(240,241,233,.2),transparent 45%),linear-gradient(0deg,rgba(16,28,10,.3),transparent 32%); }
.results-preparing__visual figcaption { position:absolute; z-index:2; right:20px; bottom:16px; left:20px; color:#fff; font-size:11px; line-height:18px; }
.processing-status { color:var(--gray-600); }
.processing-status__copy { display:grid; gap:5px; min-width:0; }
.processing-status__title { color:var(--green-900); font-size:20px; line-height:27px; font-weight:500; }
.processing-status__description { max-width:310px; color:var(--gray-600); font-size:14px; line-height:22px; }
.cell-motion { position:absolute; z-index:1; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; opacity:.87; }
.cell-motion__outline { fill:rgba(245,247,234,.13); stroke:rgba(255,255,239,.85); stroke-width:2; stroke-dasharray:9 7; transform-origin:250px 250px; animation:cell-membrane 19s ease-in-out infinite alternate,cell-trace 36s linear infinite; }
.cell-motion__inner { fill:rgba(207,223,191,.16); stroke:rgba(226,238,209,.65); stroke-width:1.5; transform-origin:250px 250px; animation:cell-inner 12s ease-in-out infinite alternate; }
.cell-motion__nucleus { fill:rgba(221,236,201,.37); stroke:rgba(255,255,242,.85); stroke-width:1.5; transform-origin:249px 249px; animation:cell-pulse 5.5s ease-in-out infinite; }
.cell-motion__orbit { fill:none; stroke:rgba(255,255,242,.55); stroke-width:1.2; stroke-dasharray:3 10; transform-origin:250px 250px; animation:cell-orbit 24s linear infinite; }
.cell-motion__particle { fill:#fff; filter:drop-shadow(0 0 7px rgba(255,255,239,.8)); transform-origin:250px 250px; animation:cell-orbit 8s linear infinite; }
@keyframes cell-membrane { from { transform:rotate(-4deg) scale(.97,.99); } to { transform:rotate(3deg) scale(1.02,1); } }
@keyframes cell-inner { from { transform:rotate(3deg) scale(.98); opacity:.65; } to { transform:rotate(-3deg) scale(1.04); opacity:1; } }
@keyframes cell-pulse { 0%,100% { transform:scale(.92); opacity:.65; } 50% { transform:scale(1.08); opacity:1; } }
@keyframes cell-orbit { to { transform:rotate(360deg); } }
@keyframes cell-trace { to { stroke-dashoffset:-220; } }

@media(max-width:1000px) {
 .welcome-layout { grid-template-columns:minmax(0,1fr) minmax(270px,.8fr); gap:30px; }
 .path-choices { grid-template-columns:1fr; }
 .path-choice { min-height:96px; }
 .choice-list--interests { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .result-heading { grid-template-columns:minmax(0,1fr); gap:18px; }
 .result-heading__action { align-items:flex-start; }
 .result-booking-note { max-width:none; }
 .takeaway-list { grid-template-columns:1fr; }
 .quiz-results .quiz-card { max-width:850px; }
}
@media(max-width:720px) {
 .quiz-body { padding:26px 20px 44px; }
 .welcome-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .welcome-copy { padding:0; }
 .welcome-copy h1 { max-width:680px; font-size:clamp(35px,8vw,52px); letter-spacing:-1.1px; }
 .welcome-description { max-width:680px; }
 .path-choices { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }
 .path-choice { min-height:94px; padding:14px 15px; }
 .welcome-visual { grid-row:1; height:clamp(180px,42vw,270px); border-radius:var(--r-md); }
 .welcome-visual__caption { right:14px; bottom:13px; left:14px; }
 .welcome-visual__mark { width:32px; height:32px; }
 .progress-wrap { margin-bottom:25px; }
 .progress-info { flex-direction:column; align-items:flex-start; gap:10px; }
 .progress-phases { gap:18px; font-size:12px; }
 .step-label { max-width:none; font-size:12px; text-align:left; }
 .step-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 .step-visual,.step-context { position:static; }
 .step-visual__photo { height:clamp(170px,43vw,250px); }
 .step-context { padding:19px; }
 .question-title { font-size:clamp(28px,7vw,36px); }
 .choice-list--interests { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .choice-option--topic { min-height:142px; }
 .choice-thumbnail { height:78px; }
 .result-heading { padding-bottom:22px; }
 .result-layout { gap:22px; margin-top:22px; }
 .result-feature { grid-template-columns:minmax(0,1fr); gap:14px; padding:14px; }
 .result-feature__image { height:clamp(185px,51vw,270px); min-height:0; aspect-ratio:16/10; }
 .result-feature__copy { padding:2px 3px 4px; }
 .featured-reading { grid-template-columns:minmax(90px,130px) minmax(0,1fr); gap:13px; padding:14px; }
 .featured-reading__image { height:112px; }
 .featured-reading__title { font-size:16px; line-height:22px; }
 .booking-card { grid-template-columns:minmax(0,1fr); gap:12px; padding:19px; }
 .booking-card>.button,.calendar-section { grid-column:1; grid-row:auto; }
 .bennett-calendar { height:620px; }
 .results-preparing { grid-template-columns:minmax(0,1fr); min-height:0; }
 .results-preparing__panel { min-height:185px; padding:25px; }
 .results-preparing__visual { min-height:clamp(220px,52vw,310px); }
 .results-preparing__image { min-height:inherit; }
}
@media(max-width:430px) {
 .quiz-body { padding:22px 15px 38px; }
 .welcome-copy h1 { font-size:36px; }
 .welcome-visual { height:174px; }
 .welcome-visual__caption { font-size:11px; }
 .path-choices { gap:8px; }
 .path-choice { min-height:100px; padding:12px; gap:7px; }
 .path-choice__topline { font-size:9px; }
 .path-choice__title { font-size:16px; line-height:20px; }
 .path-choice__detail { font-size:11px; line-height:16px; }
 .privacy-line { margin-top:13px; }
 .progress-phases { gap:14px; font-size:12px; }
 .step-label { max-width:none; font-size:12px; line-height:19px; }
 .choice-list--interests { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .choice-option--topic { min-height:128px; }
.choice-option--topic--text-only { min-height:80px; }
 .choice-thumbnail { height:69px; }
 .choice-option--topic .choice-copy { padding-inline:10px 29px; }
 .choice-option--topic .choice-label { font-size:14px; line-height:19px; }
 .choice-option--topic .choice-description { font-size:10px; line-height:14px; }
 .choice-list--compact { grid-template-columns:minmax(0,1fr); }
 .choice-option { padding-inline:13px; }
 .actions { flex-wrap:wrap; justify-content:space-between; }
 .finish-early { margin-left:0; }
 .result-heading h2 { font-size:32px; }
 .result-tools { display:grid; grid-template-columns:minmax(0,1fr); }
 .result-tool-button { justify-content:center; }
 .featured-reading { grid-template-columns:minmax(0,1fr); }
 .featured-reading__image { height:155px; }
 .booking-card { padding:16px; }
 .bennett-calendar { height:600px; }
}
@media(max-width:350px) {
 .quiz-body { padding-inline:12px; }
 .welcome-copy h1 { font-size:33px; }
 .path-choice__detail { font-size:10px; }
 .progress-phases { gap:12px; font-size:11px; }
 .step-label { max-width:none; }
 .choice-option--topic { min-height:120px; }
 .choice-thumbnail { height:62px; }
}
@media(prefers-reduced-motion:reduce) {
 .quiz-card *, .quiz-card *::before, .quiz-card *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
 .cell-motion { display:none; }
}
@media print {
 .announce,.site-header,.footer-cta,.result-heading__action,.result-tools,.calendar-section,.booking-card>.button,.restart-button,.preview-notice,.v5-preview-notice { display:none!important; }
 .quiz-body { display:block; padding:0; }
 .quiz-card,.quiz-results .quiz-card { max-width:none; }
 .result-heading { display:block; padding-bottom:16px; }
 .result-layout { display:block; margin-top:18px; }
 .result-feature,.takeaway-card,.result-preparation,.evidence-card,.booking-card { break-inside:avoid; box-shadow:none; }
 .booking-card { display:block; margin-top:18px; }
 .result-additional { display:block; margin-top:20px; }
 .reference-item a::after,.reading-link::after { content:" (" attr(href) ")"; overflow-wrap:anywhere; }
 .result-disclosure,.reference-item { break-inside:avoid; }

 a { color:inherit!important; text-decoration:none!important; }
}

/* Browser review: one calm image through every question, with no changing caption. */
.step-visual--continuous { border:0; background:transparent; }
.step-visual--continuous .step-visual__photo { height:clamp(290px,32vw,400px); object-position:58% center; }
@media (max-width:760px) { .step-visual--continuous { display:none; } }

/* Visible answer progress; completion reflects questions, not results processing. */
.quiz-progress-track { width:100%; height:7px; margin:16px 0 13px; overflow:hidden; border-radius:99px; background:#e1e5d7; }
.quiz-progress-fill { display:block; height:100%; border-radius:inherit; background:var(--green-900); transition:width .3s ease; }
@media (prefers-reduced-motion:reduce) { .quiz-progress-fill { transition:none; } }

/* Jacob’s V5.3.4 title hierarchy: quiet SOMA accent above the question. */
.welcome-copy>.quiz-eyebrow,.step-form>.quiz-eyebrow { color:var(--accent); font-size:12px; line-height:18px; margin:0 0 12px; }
.question-legend { display:block; width:100%; padding:0; }
.question-title { margin:0; }
.question-legend:focus { outline:none; }

/* Quiz wording and a clear, counted question cue. */
.progress-info .step-label { color:var(--green-900); font-size:16px; font-weight:700; }
.choice-hint { color:var(--green-900); }

/* Opening answers are compact text choices, without image cards. */
.choice-list--interests .choice-option--topic { min-height:90px; }
.choice-list--interests .choice-option--topic .choice-copy { min-height:0; padding:16px 44px 16px 16px; }
@media(max-width:430px) { .choice-list--interests { grid-template-columns:minmax(0,1fr); } .choice-list--interests .choice-option--topic { min-height:74px; } }

/* Jacob: restore the original quiz answer rows, October 8. */
.step-layout--solo,.progress-wrap { max-width:822px; }
.choice-list,.choice-list--interests,.choice-list--compact { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:24px; }
.choice-option,.choice-list--interests .choice-option--topic { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:16px; min-height:53px; padding:12px 20px; border:.5px solid #7e7c78; border-radius:5px; background:rgba(255,255,255,.3); overflow:visible; box-shadow:none; }
.choice-option .choice-copy,.choice-list--interests .choice-option--topic .choice-copy { flex:1; min-height:0; padding:0; font-size:15px; line-height:22px; }
.choice-option input[type=radio],.choice-option input[type=checkbox],.choice-option--topic input[type=radio],.choice-option--topic input[type=checkbox] { position:relative; right:auto; bottom:auto; width:20px; height:20px; flex:none; margin:0; border:1px solid #7e7c78; }
.choice-description { display:none; }
.choice-option:hover { border-color:var(--accent); background:rgba(193,105,79,.06); }
.choice-option.is-selected { border-color:var(--accent); background:rgba(193,105,79,.18); box-shadow:none; }
.choice-option input[type=checkbox]:checked { border-color:var(--accent); background:var(--accent); }
.choice-option input[type=radio]:checked { border-color:var(--accent); }
.choice-option input[type=radio]::before { background:var(--accent); }
@media(max-width:600px) { .choice-option,.choice-list--interests .choice-option--topic { min-height:53px; padding:12px 14px; gap:14px; } }

.area-evidence-note { padding:12px 14px; border-left:2px solid var(--sage); background:rgba(135,160,124,.08); }

.field-error { margin:7px 0 0; color:#71341f; font-size:13px; line-height:21px; }
[aria-invalid=true] { border-color:#9b4b37!important; }
.consent-option:has(.field-error) { flex-wrap:wrap; }
.consent-option .field-error { flex-basis:100%; margin-left:30px; }

