/* Readable sections, with natural document flow at every zoom level. */
.client-original-answers { border-block:1px solid var(--line); margin:18px 0; }
.client-original-answers > summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:48px; padding:12px 0; font-size:14px; list-style:none; }
.client-original-answers > summary::-webkit-details-marker { display:none; }
.client-original-answers:not([open]) > summary::after { content:'＋'; }
.client-original-answers[open] > summary::after { content:'−'; }
.client-original-answers .client-answer { margin:0 0 20px; padding-top:16px; }
.client-story-section .client-story { padding-bottom:40px; }
.archive-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:22px; }
.archive-pagination button { border:1px solid #a9b8ce; min-height:44px; padding:8px 18px; background:transparent; font-size:13px; }
.archive-pagination button:disabled { opacity:.4; }
.archive-pagination p { font-size:13px; color:var(--muted); }
.home-first-step { padding-bottom:28px; }
.home-first-step .diagnosis-invite { margin-top:0; }
.editorial-layout--wide .editorial-heading { grid-template-columns:minmax(0,1fr); }
.service-title-part { display:inline-block; }

@media (min-width:1024px) {
 .editorial-section,.section { padding-block:44px; }
 .editorial-layout { gap:48px; grid-template-columns:minmax(210px,.72fr) minmax(0,1.7fr); }
 .editorial-layout--wide { display:block; }
 .editorial-layout--wide .editorial-heading { gap:12px 48px; margin-bottom:25px; }
 .editorial-heading .eyebrow { margin-bottom:14px; }
 .editorial-heading h2 { font-size:32px; line-height:1.55; }
 .editorial-heading > p { margin-top:16px; line-height:1.85; }
 .editorial-content > .editorial-lead { font-size:29px; line-height:1.65; margin-bottom:20px; }
 .editorial-content > p,.editorial-prose p { font-size:15px; line-height:1.9; }
 .editorial-prose p + p { margin-top:14px; }
 .editorial-heading--statement h2 { font-size:31px; line-height:1.65; }
 .editorial-heading--statement h2 .line { display:inline; }
 .editorial-heading--statement h2 .statement-phrase { display:inline; }
 .editorial-heading--statement h2 { max-width:36em!important; }
 .page-top { padding-top:24px; padding-bottom:36px; }
 .page-top .breadcrumb { margin-bottom:24px; }
 .page-top .eyebrow { margin-bottom:16px; }
 .page-title { font-size:44px; line-height:1.55; margin-bottom:18px; }
 .page-top .page-lead { font-size:15px; line-height:1.9; }
 .page-top .page-lead p { margin:0; }
 .text-link { min-height:44px; padding-block:8px; }
 .editorial-content > .text-link { margin-top:18px; }
 .contact-band { padding-block:42px; }
 .contact-band h2 { font-size:31px; line-height:1.6; }
 .contact-band p { margin-top:12px; font-size:14px; }
 .footer { padding-top:38px; }
 .footer-top { gap:30px; padding-bottom:28px; }
 .footer-bottom { padding-block:20px; }

 /* Company overview: a short read before selecting a service. */
 .track-record { padding-block:26px; }
 .track-record-value strong { font-size:64px; }
 .page-home #services .editorial-heading h2 { font-size:32px; }
 .page-home .service-row { padding-block:14px; }
 .page-home .service-row h3 { font-size:21px; line-height:1.6; }
 .page-home .service-row .english { margin-top:3px; font-size:10px; }
 .page-home .service-row .circle-arrow { width:42px; height:42px; }
 .page-home .service-row .desc { font-size:14px; }
 .diagnosis-invite { padding:18px 0; margin-top:22px; gap:6px 24px; }
 .diagnosis-invite .eyebrow { margin-bottom:5px; font-size:10px; }
 .diagnosis-invite h3 { font-size:20px!important; }
 .diagnosis-invite p { margin-top:3px; font-size:13px; }
 .diagnosis-invite .button { min-height:48px; }
 .diagnosis-duration { font-size:11px; }
 .page-home #voices .client-card .client-photo,.page-home #voices .client-card .client-photo img { height:150px; max-height:150px; }
 .page-home #voices .client-card-body { padding:22px 24px; }
 .page-home #voices .client-card--type .client-card-body { padding-top:28px; }
 .page-home #voices .client-card--type .client-card-body::before { font-size:54px; margin-bottom:14px; }
 .page-home #voices .client-category { margin-bottom:12px; }
 .page-home #voices .client-card blockquote>p { font-size:21px; line-height:1.8; }
 .page-home #voices .client-card blockquote cite { margin:14px 0 18px; }
 .page-home #voices .client-read { min-height:44px; padding-top:10px; }
 .news-row { padding-block:15px; }
 .news-row > a,.news-row > p { line-height:1.8; }
 .origin-visual { padding-block:20px; margin-bottom:20px; }
 .origin-word { font-size:62px; }
 .origin-definition { margin-top:12px; }
 .strength-item { padding-block:18px; grid-template-columns:34px minmax(0,.55fr) minmax(0,1.2fr); }
 .strength-item h3 { font-size:21px; }
 .strength-item p { font-size:15px; line-height:1.85; }
 .progression article { padding-top:20px; }
 .progression h3 { font-size:21px; }
 .progression p { font-size:15px; line-height:1.85; }

 /* Unabridged biographies; each person has their own section. */
 .member-profile { grid-template-columns:280px minmax(0,1fr); gap:56px; padding:32px 0; }
 .member-photo img { max-height:400px; object-fit:contain; }
 .member-name { font-size:36px; }
 .member-bio { margin-top:20px; }
 .member-bio p { line-height:1.9; }

 /* Keep the quote and outcome visible; retain complete survey answers in details. */
 .client-jump { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .client-jump a { padding:12px 16px; min-height:52px; font-size:13px; }
 .client-story-section .client-story { padding:30px 0 36px; }
 .client-story-intro { margin-bottom:20px; }
 .client-story-intro .editorial-label { margin-bottom:10px; }
 .client-story-intro h2 { font-size:31px; line-height:1.6; }
 .client-story-layout { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:52px; }
 .client-story-side .client-photo img { max-height:215px; object-fit:cover; }
 .client-identity { min-height:180px; padding:24px; }
 .client-identity-mark { font-size:54px; }
 .client-identity h3 { font-size:25px; }
 .client-identity>p { margin:18px 0 8px; }
 .client-rating { margin-top:16px; padding-top:14px; }
 .client-rating-source { margin-top:5px; }
 .client-outcome { margin-top:15px; padding-top:14px; }
 .client-outcome strong { font-size:28px; margin-top:5px; }
 .client-outcome>span { margin-top:5px; }
 .client-statement>p { font-size:24px; line-height:1.8; }
 .client-statement cite { margin-top:12px; }
 .client-facts { margin:17px 0 12px; }
 .client-facts>div { padding:9px 0; line-height:1.8; }
 .client-evidence-note { padding:20px 0 35px; }

 /* Preserve all four AI entry points and the explicit manual-paste guidance. */
 .ai-consult,.ai-consult--compact { padding-top:26px; margin-top:26px; }
 .ai-consult .eyebrow { margin-bottom:12px; }
 .ai-consult h2 { font-size:28px; margin-bottom:12px; }
 .ai-consult h2 br { display:none; }
 .ai-consult-lead { font-size:14px; line-height:1.85; }
 .ai-consult-providers { margin:20px 0 14px; }
 .ai-consult-provider { display:grid; grid-template-columns:42px minmax(0,1fr); gap:2px 13px; align-content:center; min-height:106px; padding:16px 27px 16px 17px; }
 .ai-consult-provider .ai-consult-provider-logo { grid-row:1/3; width:40px; height:40px; margin:0; align-self:center; }
 .ai-consult-provider[data-ai-provider="copilot"] .ai-consult-provider-logo { width:42px; }
 .ai-consult-provider-name { font-size:18px; }
 .ai-consult-provider-to { font-size:11px; margin-left:2px; }
 .ai-consult-arrow { right:10px; top:14px; font-size:18px; }
 .ai-consult-editor { margin-top:15px; }
 .ai-consult-editor>summary { min-height:48px; padding-block:10px; }
 .ai-consult-return { margin-top:16px; }
 .ai-consult-safety-note,.ai-consult-disclosure { margin-top:13px; }

 /* Interactive content is allowed to grow when the visitor opens it. */
 .contact-paths-body { padding-top:22px; }
 .contact-diagnosis-card { padding:24px 30px; }
 .contact-diagnosis-card h2 { font-size:27px; margin:8px 0; }
 .contact-layout { gap:64px; }
 .form-field { margin-bottom:16px; }
 .form-field label { margin-bottom:6px; }
 .form-field input,.form-field select { padding:10px 13px; min-height:44px; }
 #contact-form textarea { min-height:160px; }
 .contact-ai-note { font-size:13px; }
 .diagnosis-intro { padding:34px 0 22px; }
 .diagnosis-intro .page-title { margin-bottom:16px; }
 .diagnosis-facts { margin-top:16px; }
 .diagnosis-shell { padding:18px 0 44px; }
 .diagnosis-screen { max-width:980px; padding:26px 32px; }
 .diagnosis-track { margin:15px 0 24px; }
 .diagnosis-question__title { font-size:27px; }
 .diagnosis-question__note { margin:10px 0 18px; }
 .diagnosis-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .diagnosis-choice { padding:12px 15px; min-height:64px; gap:12px; }
 .diagnosis-choice__label { font-size:14px; }
 .diagnosis-controls { margin-top:22px; }
 .diagnosis-privacy { margin-top:18px; }
 .diagnosis-result--primary { padding:24px 28px; }
 .diagnosis-result-heading { padding-bottom:18px; }
 .diagnosis-result-heading h2 { margin:10px 0 14px; font-size:29px; }
 .diagnosis-result__english { margin-top:12px; }
 .diagnosis-result__name { margin:8px 0 12px; }
 .diagnosis-reasons { margin:16px 0; gap:8px; }
 .diagnosis-next-step { padding-top:14px; margin-bottom:18px; }
}
@media(min-width:1024px) and (max-height:800px) {
 .editorial-section,.section { padding-block:32px; }
 .editorial-heading h2,.page-home #services .editorial-heading h2 { font-size:29px; }
 .editorial-layout--wide .editorial-heading { margin-bottom:20px; }
 .page-home .service-row { padding-block:11px; }
 .page-home #voices .client-card .client-photo,.page-home #voices .client-card .client-photo img { height:120px; max-height:120px; }
 .page-home #voices .editorial-heading { margin-bottom:16px; }
 .page-home #voices .client-card-body { padding:18px 24px; }
 .page-home #voices { padding-block:28px; }
 .diagnosis-shell { padding-bottom:30px; }
 .page-news-index .editorial-section { padding-block:29px; }
 .page-contact .section { padding-block:24px; }
 .page-contact .form-field { margin-bottom:14px; }
 .page-contact #contact-form textarea { min-height:140px; }
}
@media(max-width:580px) {
 .client-original-answers>summary { font-size:13px; }
 .client-story-section .client-story { padding-bottom:38px; }
 .archive-pagination { gap:12px; }
 .archive-pagination button { padding:8px 14px; }
}
