/* Parallel review only. Keep legacy interaction classes; change presentation. */
body.parallel-tools {
  --bg: #f7f5ef; --bg-2: #fffdf8; --bg-3: #edf0e8;
  --ink: #181a16; --ink-2: #434b40; --ink-3: #5f645d; --ink-4: #687062;
  --accent: #46664b; --bone: #77542b; --blood: #a34535;
  --rule: #daddd3; --rule-2: #c9d1c4; --pad-x: 24px;
  --bg-primary: #f7f5ef; --bg-secondary: #fffdf8; --bg-tertiary: #edf0e8;
  --text-primary: #181a16; --text-secondary: #4f584c; --text-muted: #62695f;
  --accent-gold: #46664b; --border-color: #daddd3;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: clip;
}
.parallel-tools [hidden] { display: none !important; }
.parallel-tools :is(button,input,select,textarea) { font: inherit; }
.parallel-tools :is(button,a,input,select,textarea):focus-visible { outline: 2px solid #46664b; outline-offset: 4px; }
.pt-masthead { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(230px,.6fr); align-items: end; gap: 60px; padding-block: 45px 38px; }
.pt-masthead h1 { margin-top: 18px; max-width: 750px; font-size: clamp(36px,4.1vw,58px); letter-spacing: -.055em; }
.pt-masthead > p { max-width: 400px; color: var(--j-muted); font-size: 16px; line-height: 1.75; padding-bottom: 3px; }
.pt-featured { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.pt-feature { display: flex; flex-direction: column; min-width: 0; border-radius: 18px; overflow: hidden; background: #e4eadd; }
.pt-feature:nth-child(2) { background: #dfeaf0; }
.pt-feature:nth-child(3) { background: #eee2d6; }
.pt-feature-image { position: relative; height: clamp(160px,16vw,230px); overflow: hidden; }
.pt-feature-image img { height: 100%; width: 100%; object-fit: cover; object-position: center 36%; transition: transform .5s ease; }
.pt-feature:hover img { transform: scale(1.035); }
.pt-feature-image > span { position: absolute; right: 16px; top: 16px; background: #fffdf8ed; border-radius: 30px; padding: 5px 12px; font-size: 11px; }
.pt-feature > div:last-child { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.pt-eyebrow { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .07em; color: #52604e; }
.pt-feature h2 { font-size: clamp(23px,2.3vw,30px); letter-spacing: -.045em; margin-top: 10px; }
.pt-feature p { color: #4f594b; font-size: 14px; line-height: 1.7; margin-top: 13px; margin-bottom: 23px; }
.pt-feature .pt-link { margin-top: auto; }
.pt-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 13px; font-weight: 550; }
.pt-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pt-library { padding-block: 64px 42px; scroll-margin-top: 95px; }
.pt-library-top { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.pt-library h2 { margin-top: 13px; font-size: clamp(28px,3vw,40px); letter-spacing: -.045em; }
.pt-search { display: flex; align-items: center; min-width: 240px; max-width: 310px; height: 50px; padding-left: 18px; border: 1px solid #cbd1c6; border-radius: 100px; }
.pt-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--j-ink); font-size: 14px; }
.pt-search:focus-within { outline: 2px solid #46664b; outline-offset: 2px; }
.pt-search button { display: grid; place-items: center; flex: 0 0 48px; min-height: 48px; padding: 0; border: 0; border-radius: 100px; background: transparent; }
.pt-categories { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 27px; }
.pt-categories a { display: inline-flex; min-height: 44px; align-items: center; padding: 9px 18px; font-size: 12px; color: #4f584c; border: 1px solid #cfd5cb; border-radius: 100px; transition: background .2s,color .2s; }
.pt-categories a:hover { background: #e3e9dd; }
.pt-categories a[aria-current] { background: #263c2b; border-color: #263c2b; color: #fff; }
.pt-results-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 26px 0 18px; color: #62695f; font-size: 12px; }
.pt-results-meta a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 3px; }
.pt-catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.pt-catalog-card { min-width: 0; }
.pt-catalog-card > a { display: flex; flex-direction: column; height: 100%; padding: 24px; background: #fffdf8; border: 1px solid #dce0d6; border-radius: 16px; transition: border-color .2s,box-shadow .2s; }
.pt-catalog-card > a:hover { border-color: #90a287; box-shadow: 0 6px 20px #18251606; }
.pt-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; font-size: 11px; color: #62695f; }
.pt-tool-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #e4ebde; color: #46664b; }
.pt-tool-icon svg { width: 23px; height: 23px; }
.pt-tool-icon[data-group="reflection"] { background: #dfe8ec; color: #4e6876; }
.pt-tool-icon[data-group="learning"] { background: #ece2d8; color: #805d42; }
.pt-tool-icon[data-group="wellbeing"] { background: #e8e4ed; color: #6a5d76; }
.pt-catalog-card h3 { font-size: 23px; letter-spacing: -.035em; line-height: 1.2; text-wrap: pretty; }
.pt-catalog-card p { font-size: 14px; color: #5c6558; line-height: 1.7; margin-top: 14px; padding-bottom: 24px; }
.pt-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: auto; font-size: 11px; color: #5c6558; }
.pt-tests-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pt-tests-grid .pt-catalog-card > a { padding: 30px; }
.pt-tests-grid .pt-catalog-card:last-child { grid-column: 1/-1; }
.pt-tests-grid .pt-catalog-card:last-child p { max-width: 620px; }
.pt-empty { padding: 48px; border-radius: 16px; background: #e8ede2; text-align: center; }
.pt-empty h3 { font-size: 28px; }
.pt-empty p { margin: 14px 0 24px; }
.pt-library-note { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-bottom: 60px; }
.pt-library-note > p { max-width: 700px; font-size: 13px; line-height: 1.7; color: #62695f; }
.pt-library-note > a { max-width: 290px; flex-shrink: 0; }
.pt-bridge { background: #dfe7da; padding-block: 65px; }
.pt-bridge > div { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.pt-bridge h2 { font-size: clamp(34px,4vw,52px); letter-spacing: -.05em; margin-top: 17px; }
.pt-bridge p:not(.j-kicker) { margin-top: 18px; color: #53604e; }

/* Legacy tool layouts retain their IDs and visibility behavior. */
.pt-detail-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 25px; padding-bottom: 14px; font-size: 11px; color: #62695f; }
.pt-detail-crumb a { min-height: 32px; display: inline-flex; align-items: center; }
.pt-detail-crumb a:hover { text-decoration: underline; }
.parallel-tools .pt-legacy { --pad-x: 24px; padding-top: 12px; padding-bottom: 30px; }
.parallel-tools .pt-legacy:is(.tool-page-shell,.test-page-shell) { width: min(920px,calc(100% - 48px)); max-width: 920px; margin-inline: auto; padding-inline: 0; }
.parallel-tools .pt-legacy.test-page-shell { max-width: 800px; }
.parallel-tools .pt-legacy .article-head { padding: 22px 24px 30px; background: transparent; border: 0; }
.parallel-tools .pt-legacy .head-wrap { max-width: 860px; margin-inline: auto; }
.parallel-tools .pt-legacy .crumb { display: none; }
.parallel-tools .pt-legacy :is(.tool-hero,.test-hero) { padding-block: 16px 22px; text-align: left; }
.parallel-tools .pt-legacy :is(h1,.article-h1) { color: #181a16; font-family: Inter,sans-serif; font-weight: 550; font-size: clamp(34px,4.2vw,54px); line-height: 1.1; letter-spacing: -.05em; max-width: 850px; }
.parallel-tools .pt-legacy h1 em { color: inherit; font: inherit; }
.parallel-tools .pt-legacy :is(.head-deck,.article-deck,.tool-hero>p,.test-hero-subtitle) { color: #5c6558; max-width: 710px; font: 400 16px/1.75 Inter,sans-serif; margin: 18px 0 0; }
.parallel-tools .pt-legacy :is(.tool-badge,.test-badge) { border: 0; padding: 0; background: transparent; color: #5f6b58; font-size: 10px; letter-spacing: .12em; margin-bottom: 16px; }
.parallel-tools .pt-legacy :is(.tool-card,.hcc-card,.dlc-card,.iss-intro-card,.iss-quiz-container,.iss-result-card,.test-result-card) { background: #fffdf8; border: 1px solid #d9dfd1; border-radius: 18px; padding: clamp(22px,3vw,36px); box-shadow: 0 8px 35px #25351f04; }
.parallel-tools .pt-legacy .tool-card { margin-top: 20px; }
.parallel-tools .pt-legacy :is(h2,h3) { color: #253120; font-family: Inter,sans-serif; letter-spacing: -.03em; line-height: 1.25; }
.parallel-tools .pt-legacy h2 { font-size: clamp(25px,3vw,34px); }
.parallel-tools .pt-legacy h3 { font-size: 20px; }
.parallel-tools .pt-legacy :is(.tool-section,.tool-card) > p { margin-block: 10px; line-height: 1.75; }
.parallel-tools .pt-legacy :is(.tool-btn,.tool-submit,.tool-submit-btn,.hcc-submit-btn,.dlc-submit-btn,.iss-btn-primary,.test-start-btn,.test-next-btn,.test-restart-btn,.assessment-start-btn,.mr-generate-btn) { min-height: 48px; border: 0; border-radius: 100px; background: #263c2b; color: #fff; padding: 13px 23px; font-family: Inter,sans-serif; font-size: 14px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.parallel-tools .pt-legacy :is(.tool-btn-secondary,.tool-btn-ghost,.hcc-copy-btn,.test-back-btn) { min-height: 44px; border: 1px solid #c8d2c2; border-radius: 100px; background: #fffdf8; color: #33482c; font: 500 13px/1.4 Inter,sans-serif; letter-spacing: 0; text-transform: none; }
.parallel-tools .pt-legacy :is(.tool-input,.tool-select,.tool-textarea) { background: #f3f5ee; border-color: #ccd5c5; border-radius: 12px; padding: 13px 15px; font-size: 16px; min-height: 48px; color: #263120; }
.parallel-tools .pt-legacy :is(.tool-label,.hcc-label,.dlc-label,.tool-help,.hcc-label-value,.tool-label .value,.test-hero-meta) { font-family: Inter,sans-serif; text-transform: none; letter-spacing: 0; }
.parallel-tools .pt-legacy :is(.tool-label,.hcc-label,.dlc-label) { font-size: 14px; color: #394933; }
.parallel-tools .pt-legacy :is(.tool-help,.hcc-sublabel,.dlc-sublabel) { font-size: 13px; line-height: 1.65; color: #64705d; }
.parallel-tools .pt-legacy :is(.tool-seg,.hcc-radios,.dlc-radio-group) { border-radius: 12px; overflow: hidden; }
.parallel-tools .pt-legacy :is(.tool-seg button,.hcc-radio label,.dlc-radio-option,.test-option,.iss-scale-option) { min-height: 44px; letter-spacing: 0; text-transform: none; font-family: Inter,sans-serif; font-size: 13px; }
.parallel-tools .pt-legacy :is(.tool-kpi,.tool-pill,.test-disclaimer,.test-result-profile,.test-result-details) { background: #edf2e7; border-color: #d4dfcc; color: #46573f; }
.parallel-tools .pt-legacy .tool-kpi { padding: 22px; border-radius: 14px; }
.parallel-tools .pt-legacy .tool-kpi-value { color: #2e492e; font-family: Inter,sans-serif; font-weight: 550; letter-spacing: -.05em; }
.parallel-tools .pt-legacy :is(.tool-progress-fill,.test-progress-fill,.test-progress-segment-fill) { background: #617f52; }
.parallel-tools .pt-legacy .test-progress { top: var(--j-header-height); background: #f7f5ef; }
.parallel-tools .pt-legacy :is(.test-start-btn,.test-next-btn):hover { box-shadow: 0 4px 15px #263c2b16; }
.parallel-tools .pt-legacy .test-hero-meta { justify-content: flex-start; }
.parallel-tools .pt-legacy :is(.test-disclaimer,.test-interpret-note) { text-align: left; font-size: 14px; line-height: 1.75; }
.parallel-tools .pt-legacy .test-option { background: #fffdf8; border-color: #ced8c7; color: #304429; }
.parallel-tools .pt-legacy .test-option.selected { background: #e0ead8; border-color: #789468; }
.parallel-tools .pt-legacy .test-option:hover { background: #edf3e7; }
.parallel-tools .pt-legacy :is(.faq,.tool-faq,.hcc-faq,.dlc-faq,.iss-faq,.test-faq) { background: transparent; }
.parallel-tools .pt-legacy :is(.tool-faq-q,.test-faq-q,.hcc-faq-q,.dlc-faq-q,.iss-faq-q) { min-height: 48px; color: #293923; }
.parallel-tools .pt-legacy :is(.tool-faq-a,.test-faq-a,.hcc-faq-a,.dlc-faq-a,.iss-faq-a) { color: #5b6853; font-size: 15px; line-height: 1.8; }
.parallel-tools .pt-legacy :is(.tool-cta,.hcc-final-cta,.dlc-final-cta,.iss-final-cta) { background: #dfe8d7; color: #263c2b; border-color: #c7d5bb; border-radius: 18px; }
.parallel-tools .pt-legacy :is(.tool-list,ol,ul) { padding-left: 21px; line-height: 1.75; }
.parallel-tools .pt-legacy li + li { margin-top: 7px; }
.parallel-tools .pt-legacy .trust-card { border-color: #d4dccd; background: #edf1e8; }
.parallel-tools .pt-legacy :is(.author-card,.bto-author-card) { display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: start; gap: 22px; max-width: 800px; margin: 38px auto; padding: 26px; background: #e8eee2; color: #52604b; border: 1px solid #d4dccd; border-radius: 16px; }
.parallel-tools .pt-legacy :is(.author-card .portrait,.bto-author-card__media) { display: block; width: 72px; height: 72px; }
.parallel-tools .pt-legacy :is(.author-card .portrait img,.bto-author-card__image) { width: 72px; height: 72px; max-width: 72px; border-radius: 100%; object-fit: cover; }
.parallel-tools .pt-legacy :is(.author-card .meta,.bto-author-card__eyebrow) { color: #5e6d55; font: 500 10px/1.5 Inter,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.parallel-tools .pt-legacy :is(.author-card h3,.bto-author-card__name) { margin: 7px 0; color: #263c2b; font: 550 22px/1.25 Inter,sans-serif; }
.parallel-tools .pt-legacy :is(.author-card p,.bto-author-card__bio,.bto-author-card__role,.bto-author-card__dates) { color: #53614d; font: 400 13px/1.75 Inter,sans-serif; }
.parallel-tools .pt-legacy :is(.author-card a,.bto-author-card a) { color: #304b2b; }
.parallel-tools .pt-legacy .bto-author-card__chips { margin-top: 14px; gap: 8px; }
.parallel-tools .pt-legacy .bto-author-card__chips a { background: #f7f9f2; border-color: #cbd8c1; font-size: 11px; }
.pt-detail-return { display: flex; justify-content: space-between; gap: 24px; padding-block: 25px 65px; }
.pt-detail-return > a:first-child .j-arrow { transform: rotate(180deg); }
.pt-profile-links { max-width: 800px; margin: 45px auto; padding: 28px; background: #e4ebdd; border-radius: 18px; }
.pt-profile-links nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.pt-profile-links nav a { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; padding: 9px 17px; border: 1px solid #bccdb0; border-radius: 100px; }
.pt-profile-links nav [aria-current] { background: #263c2b; color: #fff; }
.pt-profile-links > .pt-link { margin-top: 20px; }
@media (max-width: 900px) {
  .pt-masthead { gap: 25px; grid-template-columns: 1.2fr .8fr; }
  .pt-feature > div:last-child { padding: 18px; }
  .pt-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pt-library-top { align-items: flex-start; flex-direction: column; gap: 24px; }
  .pt-search { width: 100%; max-width: none; }
  .pt-library-note { flex-direction: column; align-items: flex-start; gap: 16px; }
}
@media (max-width: 600px) {
  .pt-masthead { grid-template-columns: 1fr; padding-block: 26px 27px; gap: 18px; }
  .pt-masthead h1 { font-size: 38px; }
  .pt-masthead > p { font-size: 15px; line-height: 1.7; }
  .pt-featured { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; scrollbar-color: #99aa8e transparent; }
  .pt-feature { flex-direction: row; flex: 0 0 92%; scroll-snap-align: start; }
  .pt-feature-image { width: 30%; height: auto; flex-shrink: 0; }
  .pt-feature-image > span { right: 6px; top: 8px; padding: 4px 8px; font-size: 10px; }
  .pt-feature h2 { font-size: 24px; margin-top: 8px; }
  .pt-feature p { font-size: 13px; margin-top: 9px; margin-bottom: 7px; }
  .pt-feature .pt-eyebrow { font-size: 9px; }
  .pt-library { padding-top: 42px; }
  .pt-categories { gap: 7px; }
  .pt-categories a { padding-inline: 13px; font-size: 11px; }
  .pt-results-meta { align-items: flex-start; font-size: 11px; }
  .pt-results-meta > span:last-child { max-width: 130px; text-align: right; }
  .pt-catalog-grid { grid-template-columns: 1fr; gap: 12px; }
  .pt-catalog-card > a,.pt-tests-grid .pt-catalog-card > a { padding: 23px; }
  .pt-catalog-card h3 { font-size: 25px; }
  .pt-catalog-card p { font-size: 15px; }
  .pt-card-top { margin-bottom: 17px; }
  .pt-bridge { padding-block: 44px; }
  .pt-bridge > div { align-items: flex-start; flex-direction: column; }
  .pt-library-note { padding-bottom: 40px; }
  .pt-detail-crumb { padding-top: 14px; padding-bottom: 9px; font-size: 10px; }
  .parallel-tools .pt-legacy { --pad-x: 20px; }
  .parallel-tools .pt-legacy:is(.tool-page-shell,.test-page-shell) { width: calc(100% - 40px); }
  .parallel-tools .pt-legacy .article-head { padding: 16px 20px 25px; }
  .parallel-tools .pt-legacy :is(h1,.article-h1) { font-size: 36px; }
  .parallel-tools .pt-legacy :is(.tool-grid,.tool-results-grid) { grid-template-columns: 1fr; }
  .parallel-tools .pt-legacy :is(.tool-inline-row) { flex-wrap: wrap; }
  .parallel-tools .pt-legacy :is(.tool-card,.hcc-card,.dlc-card,.iss-intro-card,.iss-quiz-container,.test-result-card) { padding: 21px; border-radius: 15px; }
  .parallel-tools .pt-legacy :is(.tool-seg button,.hcc-radio label,.dlc-radio-option) { font-size: 11px; padding-inline: 6px; }
  .parallel-tools .pt-legacy :is(.tool-label,.hcc-label,.dlc-label) { flex-wrap: wrap; font-size: 14px; }
  .parallel-tools .pt-legacy #horizon-group { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .parallel-tools .pt-legacy .calc-btn-option { min-width: 0; padding: 13px 5px; font-size: 11px; }
  .parallel-tools .pt-legacy :is(.author-card,.bto-author-card) { grid-template-columns: 52px minmax(0,1fr); padding: 20px; gap: 16px; }
  .parallel-tools .pt-legacy :is(.author-card .portrait,.bto-author-card__media,.author-card .portrait img,.bto-author-card__image) { width: 52px; height: 52px; max-width: 52px; }
  .pt-detail-return { flex-direction: column; gap: 12px; padding-bottom: 40px; }
  .pt-profile-links { margin-inline: 20px; padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .parallel-tools *, .parallel-tools *::before, .parallel-tools *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
