/* 2.2.1: navigation and interface refinements. No external assets. */
:root { --tg-header-height: 78px; }
html { scroll-padding-top: 24px; }
.tg-vq-site [id], .tg-guide [id] { scroll-margin-top: 24px; }
.tg-header { position: relative; z-index: 100; color: #f8f2f5; background: #25161e; border-bottom: 1px solid #48313e; font-family: var(--tg-vq-sans); }
.tg-header * { box-sizing: border-box; }
.tg-header__bar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; min-height: var(--tg-header-height); }
.tg-header a { text-decoration: none; color: inherit; }
.tg-header__brand { display: inline-flex; gap: 12px; align-items: center; grid-column: 1; grid-row: 1; }
.tg-header__monogram { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #a98665; border-radius: 50%; color: #e3c79f; font: 500 15px var(--tg-vq-serif); letter-spacing: -.08em; }
.tg-header__brand strong { display: block; font: 500 22px/1.15 var(--tg-vq-serif); }
.tg-header__brand small { display: block; margin-top: 4px; color: #cbbac4; text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.tg-header__actions { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 8px; }
.tg-header__exit, .tg-header__toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 14px; border: 1px solid #765c6b; border-radius: 999px; background: transparent; color: inherit; font: 600 12px/1.3 var(--tg-vq-sans); cursor: pointer; }
.tg-header__toggle[hidden] { display: none !important; }
.tg-header svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tg-header__nav { grid-row: 1; grid-column: 2; display: flex; justify-content: center; align-items: center; gap: 24px; }
.tg-header__nav a { display: inline-flex; min-height: 44px; align-items: center; border-bottom: 2px solid transparent; color: #e0d2da; font-size: 13px; white-space: nowrap; }
.tg-header__nav a[aria-current="page"], .tg-header__nav a:hover { border-color: #d5b68a; color: #fff; }
.tg-header a:focus-visible, .tg-header button:focus-visible { outline: 3px solid #e3c79f; outline-offset: 4px; }
.tg-header__exit:hover, .tg-header__toggle:hover { background: #432635; }
.tg-vq-hero { min-height: 0; padding: 80px 0 76px; }
.tg-vq-hero__grid { grid-template-columns: minmax(0, 1.14fr) minmax(360px, .86fr); gap: 64px; }
.tg-vq-hero h1 { font-size: clamp(44px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.038em; text-wrap: balance; }
.tg-vq-lead { max-width: 590px; font-size: 17px; line-height: 1.75; color: #d9cbd3; }
.tg-vq-eyebrow { color: #d7bfcb; margin-bottom: 22px; letter-spacing: .13em; }
.tg-vq-hero__actions { gap: 12px; flex-wrap: wrap; }
.tg-vq-hero__actions .tg-vq-button--ghost { color: #f8eff4; border-color: #896b7c; background: transparent; box-shadow: none; }
.tg-vq-hero__actions .tg-vq-button--primary { box-shadow: 0 8px 28px #160a1233; }
.tg-vq-hero__visual { min-height: 0; padding: 28px; border: 1px solid #735162; border-radius: 26px; background: #ffffff06; }
.tg-vq-orbit { display: none; }
.tg-hero-visual-label { position: relative; z-index: 1; margin: 0 0 20px; font: 400 23px/1.3 var(--tg-vq-serif); color: #f2dfeb; }
.tg-vq-result-stack { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: auto; height: auto; }
.tg-vq-result-stack .tg-vq-type-chip { position: static; width: auto; min-width: 0; transform: none; padding: 16px 14px; gap: 10px; min-height: 94px; border: 1px solid #ffffff1f; border-radius: 14px; background: #fff; box-shadow: none; transition: border-color .15s, background .15s; }
.tg-vq-result-stack .tg-vq-type-chip:first-child { grid-column: 1 / -1; }
.tg-vq-result-stack .tg-vq-type-chip:hover { background: #fff7fa; border-color: #d7a7bc; }
.tg-vq-type-chip__icon { flex: 0 0 38px; width: 38px; height: 38px; }
.tg-vq-type-chip__icon svg { width: 30px; height: 30px; }
.tg-vq-result-stack .tg-vq-type-chip strong { font-size: 21px; letter-spacing: -.02em; }
.tg-vq-result-stack .tg-vq-type-chip small { font-size: 10px; line-height: 1.35; letter-spacing: 0; }
.tg-vq-trust-list { row-gap: 12px; }
.tg-vq-trust-list li { color: #e0d3da; }
.tg-vq-proof { padding: 22px 0; }
.tg-vq-proof__grid strong { font-size: 30px; }
.tg-vq-proof__grid span { font-size: 12px; }
.tg-vq-quiz-section { padding-top: 64px; }
.tg-vq-section-heading h2 { text-wrap: balance; }
.tg-vq-quiz { max-width: 920px; border-radius: 24px; box-shadow: 0 16px 48px #3014220d; }
.tg-vq-quiz-screen { padding: 40px; }
.tg-vq-quiz-welcome { max-width: 700px; margin: auto; }
.tg-vq-quiz-welcome h3 { font-size: clamp(29px, 3vw, 40px); line-height: 1.15; }
.tg-vq-welcome-icon { width: 64px; height: 64px; margin-bottom: 20px; }
.tg-vq-welcome-points { gap: 8px; margin: 22px 0; }
.tg-vq-storage-choice { border: 1px solid #decfd6; background: #fcf9fa; border-radius: 12px; padding: 14px; margin: 16px 0 24px; font-size: 13px; }
.tg-vq-small-note { line-height: 1.6; }
.tg-question-group { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: #7f2848; margin-bottom: 14px; }
.tg-vq-progress-meta { font-size: 12px; }
.tg-vq-option { min-height: 76px; transition: background .12s, border-color .12s; }
.tg-vq-option:has(input:checked) { background: #fbf1f5; border-color: #7f2848; box-shadow: inset 0 0 0 1px #7f2848; }
.tg-vq-question-actions { gap: 12px; }
.tg-vq-review-rows { grid-template-columns: 1fr 1fr; }
.tg-vq-review-row { height: 100%; padding: 16px; border-radius: 12px; }
.tg-vq-review-row strong { font-size: 13px; line-height: 1.5; }
.tg-vq-review-row span { font-size: 12px; line-height: 1.6; }
.tg-vq-review-row:hover { border-color: #7f2848; background: #fffafd; }
.tg-vq-review-row[data-conflict] { border-color: #943752; background: #fff3f5; }
.tg-vq-review-row .tg-review-change { display: inline-block; margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.tg-vq-result__hero { gap: 22px; }
.tg-vq-result__hero h3 { font-size: clamp(29px, 3vw, 40px); line-height: 1.13; text-wrap: balance; }
.tg-vq-result__icon { width: 78px; height: 78px; flex-basis: 78px; border-radius: 20px; }
.tg-vq-result__topline { gap: 12px; flex-wrap: wrap; }
.tg-result-primary-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0 30px; }
.tg-vq-result__grid { gap: 14px; }
.tg-vq-result-card { padding: 22px 20px; border-radius: 16px; }
.tg-vq-result-card h4 { line-height: 1.4; font-size: 14px; }
.tg-vq-result-card li { line-height: 1.65; font-size: 13px; }
.tg-vq-alternative { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 24px 0; padding: 22px 24px; background: #f8f1f4; }
.tg-vq-alternative > span { letter-spacing: .07em; font-size: 10px; }
.tg-vq-alternative > strong { font-size: 25px; }
.tg-vq-alternative > p { max-width: 70ch; }
.tg-vq-alternative > a { margin-top: 0; font-weight: 600; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.tg-result-detail { margin: 24px 0; border: 1px solid #dfd2d8; border-radius: 14px; padding: 0 20px; }
.tg-result-detail > summary { cursor: pointer; min-height: 58px; padding: 17px 0; font-size: 14px; font-weight: 650; color: #57172f; }
.tg-result-detail[open] > summary { border-bottom: 1px solid #ecdee5; margin-bottom: 18px; }
.tg-result-detail > .tg-result-detail-body { padding-bottom: 22px; }
.tg-result-tradeoffs { border-left: 3px solid #ab6984; background: #fcf8fa; padding: 20px 22px; margin: 22px 0; }
.tg-result-tradeoffs h4 { font: 650 14px var(--tg-vq-sans); }
.tg-result-tradeoffs li { font-size: 13px; line-height: 1.65; }
.tg-vq-result__actions { border-top: 1px solid #e7dce1; padding-top: 20px; gap: 12px; }
.tg-vq-result__actions .tg-vq-button { padding: 11px 16px; min-height: 44px; font-size: 12px; }
.tg-vq-result__actions + p, .tg-vq-copy-status { margin-top: 14px; }
.tg-vq-copy-status:empty { display: none; }
.tg-restart-confirm { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 20px; margin: 20px 0; background: #fcf4f7; border: 1px solid #b4899c; border-radius: 14px; }
.tg-restart-confirm p { flex-basis: 100%; margin: 0; font-size: 14px; }
.tg-guide { padding-top: 34px; }
.tg-guide-lead { font-size: 18px; line-height: 1.75; }
.tg-guide p { line-height: 1.8; }
.tg-guide-layout { gap: 48px; }
.tg-guide-card { transition: border-color .15s; }
.tg-guide-card:hover, .tg-guide-card:focus-within { border-color: #916277; }
.tg-guide-aside { border: 1px solid #dfd1d8; background: #fff; border-radius: 18px; }
.tg-compare-controls { padding: 22px; background: #fff; border: 1px solid #ded2d8; border-radius: 16px; align-items: end; }
.tg-compare-controls label { flex: 1 1 210px; font-size: 13px; font-weight: 600; }
.tg-compare-controls select { font-size: 16px; width: 100%; }
.tg-compare-table th:first-child { position: sticky; left: 0; z-index: 1; min-width: 140px; box-shadow: 1px 0 #dfd1d8; }
.tg-compare-cards { display: none; }
.tg-compare-card { background: #fff; border: 1px solid #dcccD4; border-radius: 16px; padding: 24px; }
.tg-compare-card h2 { margin: 0 0 20px; font-size: 26px; }
.tg-compare-card dl { margin: 0; }
.tg-compare-card dl > div { padding: 12px 0; border-top: 1px solid #ece2e7; }
.tg-compare-card dt { font-weight: 650; font-size: 12px; color: #7f2848; }
.tg-compare-card dd { margin: 6px 0 0; font-size: 14px; }
.tg-vq-subpage-main { padding-top: 56px; }
.tg-vq-legal-copy h1 { font-size: clamp(34px, 4.5vw, 60px); line-height: 1.12; overflow-wrap: anywhere; }
.tg-company-footer .tg-company-footer__name { font-size: 26px; }
@media (max-width: 1050px) {
 .tg-header__bar { gap: 18px; } .tg-header__nav { gap: 16px; }
 .tg-header__nav a { font-size: 12px; }
 .tg-vq-hero__grid { gap: 32px; grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); }
 .tg-vq-hero__visual { padding: 22px; }
}
@media (max-width: 820px) {
 .tg-header__bar { grid-template-columns: 1fr auto; padding-top: 12px; padding-bottom: 12px; row-gap: 0; }
 .tg-header__actions { grid-column: 2; } .tg-header__nav { grid-row: 2; grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-start; gap: 4px 20px; margin-top: 12px; }
 .tg-header.is-ready .tg-header__nav:not(.is-open) { display: none; }
 .tg-header.is-ready .tg-header__toggle { display: inline-flex; }
 .tg-header__nav a { font-size: 13px; }
 .tg-vq-hero { padding: 52px 0; }
 .tg-vq-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
 .tg-vq-hero__copy { max-width: 670px; }
 .tg-vq-hero__visual { width: 100%; max-width: 650px; }
 .tg-vq-result-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .tg-vq-result-stack .tg-vq-type-chip:first-child { grid-column: auto; }
 .tg-vq-result-stack .tg-vq-type-chip { min-height: 82px; }
 .tg-vq-result__grid { grid-template-columns: 1fr; }
 .tg-vq-result__grid article { padding: 22px; }
 .tg-vq-quiz-section { padding-top: 44px; }
 .tg-vq-quiz-screen { padding: 30px; }
}
@media (min-width: 821px) { .tg-header.is-ready .tg-header__toggle { display: none; } }
@media (max-width: 600px) {
 .tg-header__brand { gap: 8px; } .tg-header__brand strong { font-size: 19px; } .tg-header__brand small { font-size: 8px; letter-spacing: .08em; }
 .tg-header__monogram { display: none; }
 .tg-header__bar { gap: 8px; min-height: 70px; }
 .tg-header__toggle, .tg-header__exit { padding: 9px 10px; gap: 5px; font-size: 11px; }
 .tg-header__nav { justify-content: space-between; row-gap: 0; padding-top: 12px; border-top: 1px solid #5f3c4e; }
 .tg-header__nav a { width: calc(50% - 12px); }
 .tg-vq-hero { padding: 42px 0 38px; }
 .tg-vq-hero h1 { font-size: clamp(40px, 10.5vw, 56px); }
 .tg-vq-lead { font-size: 16px; line-height: 1.7; margin-bottom: 28px; }
 .tg-vq-hero__actions { flex-direction: column; align-items: stretch; }
 .tg-vq-hero__actions .tg-vq-button { justify-content: center; width: 100%; font-size: 13px; }
 .tg-vq-trust-list { display: grid; gap: 10px; margin-top: 24px; }
 .tg-vq-hero__visual { padding: 20px; border-radius: 18px; }
 .tg-hero-visual-label { font-size: 22px; }
 .tg-vq-result-stack { grid-template-columns: 1fr 1fr; }
 .tg-vq-result-stack .tg-vq-type-chip { padding: 12px 10px; min-height: 76px; gap: 8px; }
 .tg-vq-result-stack .tg-vq-type-chip:first-child { grid-column: 1 / -1; }
 .tg-vq-result-stack .tg-vq-type-chip small { font-size: 9px; }
 .tg-vq-result-stack .tg-vq-type-chip strong { font-size: 18px; }
 .tg-vq-type-chip__icon { width: 28px; height: 30px; flex-basis: 28px; }
 .tg-vq-proof { padding: 18px 0; }
 .tg-vq-proof__grid { gap: 18px; }
 .tg-vq-proof__grid strong { font-size: 24px; }
 .tg-vq-proof__grid span { font-size: 11px; }
 .tg-vq-quiz { border-radius: 18px; }
 .tg-vq-quiz-screen { padding: 24px 20px; }
 .tg-vq-question-title { font-size: 27px; }
 .tg-vq-option { padding: 16px 14px; }
 .tg-vq-question-actions .tg-vq-button { min-height: 48px; padding: 12px 16px; font-size: 13px; }
 .tg-vq-review-rows { grid-template-columns: 1fr; }
 .tg-vq-review-row { padding: 14px; }
 .tg-vq-result__hero { flex-direction: column; align-items: flex-start; gap: 16px; }
 .tg-result-primary-actions { flex-direction: column; }
 .tg-result-primary-actions a { width: 100%; justify-content: center; font-size: 13px; padding: 14px; }
 .tg-vq-result__actions { flex-direction: column; align-items: stretch; }
 .tg-vq-result__actions .tg-vq-button { width: 100%; justify-content: center; }
 .tg-vq-result__match { font-size: 11px; }
 .tg-result-detail { padding: 0 16px; } .tg-result-tradeoffs { padding: 18px 16px; }
 .tg-guide { padding-top: 24px; }
 .tg-guide h1 { font-size: 36px; }
 .tg-guide-lead { font-size: 16px; }
 .tg-compare-controls { padding: 18px; gap: 14px; }
 .tg-compare-controls label { min-width: 0; }
 .tg-compare-controls .tg-vq-button { width: 100%; justify-content: center; }
 .tg-compare-enhanced .tg-table-scroll { display: none; }
 .tg-compare-enhanced .tg-compare-cards { display: grid; gap: 16px; }
 .tg-vq-subpage-main { padding-top: 32px; }
}
@media (max-width: 350px) { .tg-vq-hero__visual { padding: 14px; } .tg-vq-type-chip__icon { display: none; } .tg-header__brand strong { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .tg-vq-site * { scroll-behavior: auto !important; transition: none !important; } }
@media print {
 .tg-header, .tg-company-footer, .tg-result-primary-actions, .tg-vq-result__actions, .tg-restart-confirm, .tg-vq-library, .tg-compare-controls { display: none !important; }
 .tg-compare-enhanced .tg-table-scroll { display: block !important; }
 .tg-compare-cards { display: none !important; }
 .tg-result-detail { border: 0; padding: 0; }
 .tg-vq-result-card { break-inside: avoid; }
}
/* Explicit palette for interactive hero cards; inherited hero text is light. */
.tg-vq-site .tg-vq-result-stack .tg-vq-type-chip { color: #24151d; }
.tg-vq-site .tg-vq-result-stack .tg-vq-type-chip strong { color: #24151d; }
.tg-vq-site .tg-vq-result-stack .tg-vq-type-chip small { color: #6a4b5b; }
.tg-vq-site .tg-vq-result-stack .tg-vq-type-chip__icon { color: #7f2848; }
.tg-vq-site .tg-vq-result-stack .tg-vq-type-chip__icon svg { stroke: #7f2848; }
.tg-vq-site .tg-vq-hero .tg-vq-trust-list { margin-top: 22px; }
.tg-vq-proof__grid > div { padding: 10px 22px; }
.tg-vq-proof__grid > div { min-height: 60px; }
@media (max-width: 600px) {
 .tg-vq-proof__grid > div { min-height: 54px; padding: 6px 12px; }
}

/* 2.3.0: optional preferences, independent of category scoring. */
.tg-personal-intro h3 { font: 400 clamp(29px, 3vw, 40px)/1.18 var(--tg-vq-serif); margin: 14px 0 22px; }
.tg-personal-intro > p { max-width: 65ch; }
.tg-personal-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 28px 0 20px; }
.tg-personal-actions .tg-vq-button { min-height: 48px; white-space: normal; text-align: center; }
.tg-personal-question .tg-question-group { margin-bottom: 22px; }
.tg-personal-question .tg-vq-button--text { margin-top: 12px; min-height: 44px; color: #57172f; text-decoration: underline; text-underline-offset: 4px; }
.tg-personal-nav { flex-wrap: wrap; gap: 12px; }
.tg-personal-review { border-top: 1px solid #ded2d8; padding-top: 24px; margin: 28px 0; }
.tg-personal-review h4 { font: 650 16px/1.4 var(--tg-vq-sans); margin: 0 0 12px; }
.tg-personal-review .tg-vq-button--text { min-height: 44px; white-space: normal; }
.tg-personal-summary { border: 1px solid #dcc9d3; border-left: 4px solid #7f2848; border-radius: 16px; background: #fcf7fa; padding: 24px; margin: 0 0 24px; }
.tg-personal-summary h4 { font: 400 25px/1.25 var(--tg-vq-serif); margin: 0 0 16px; }
.tg-personal-summary p { font-size: 14px; line-height: 1.75; margin: 12px 0 0; }
.tg-personal-highlights, .tg-personal-comparison { margin: 24px 0; }
.tg-personal-highlights h4, .tg-personal-comparison > h4 { font: 650 16px/1.5 var(--tg-vq-sans); margin-bottom: 16px; }
.tg-personal-highlights ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; }
.tg-personal-highlights li { padding: 18px; background: #fcf7fa; border: 1px solid #e3d5dd; border-radius: 14px; font-size: 14px; line-height: 1.6; }
.tg-personal-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tg-personal-comparison-card { background: #fff; border: 1px solid #d8c7d0; border-radius: 16px; padding: 24px; min-width: 0; }
.tg-personal-comparison-card:first-child { border-top: 3px solid #7f2848; }
.tg-personal-comparison-card h5 { font: 400 26px/1.2 var(--tg-vq-serif); margin: 14px 0; }
.tg-personal-comparison-card p { font-size: 14px; line-height: 1.75; }
.tg-personal-comparison-card a { color: #57172f; text-decoration: underline; text-underline-offset: 3px; display: inline-block; margin-top: 12px; font-size: 13px; }
@media (max-width: 680px) {
    .tg-personal-highlights ul, .tg-personal-comparison-grid { grid-template-columns: minmax(0, 1fr); }
    .tg-personal-actions { flex-direction: column; }
    .tg-personal-actions .tg-vq-button { width: 100%; padding: 14px 16px; font-size: 13px; }
    .tg-personal-summary, .tg-personal-comparison-card { padding: 20px; }
    .tg-personal-nav .tg-vq-button { font-size: 12px; padding: 12px 14px; white-space: normal; }
}
@media print {
    .tg-personal-intro, .tg-personal-question, .tg-personal-review { display: none !important; }
    .tg-personal-summary, .tg-personal-comparison-card, .tg-personal-highlights li { break-inside: avoid; }
}
/* Keep radio-card hit targets stationary, including reduced-motion mode. */
.tg-vq-site .tg-vq-option:hover { transform: none; }
.tg-personal-question legend { font: 400 clamp(26px, 3vw, 34px)/1.25 var(--tg-vq-serif); }
