@charset "UTF-8";
:root{
  --brand-green:#98c742;
  --paper:#fafafa;--white:#fff;--ink:#1f1f1f;--muted:#58636e;--brand-blue:#3270c9;
  --brand-blue-hover:#25589f;--green-tint:#edf5df;--green-tint-light:#f5f9ed;--line:#dce3e6;
  --accent:#3270c9;--accent-soft:#eaf1fa;--sand:#f4f4f5;--warning:#25589f;
  --serif:"Noto Serif TC","Noto Serif CJK TC","Songti TC","PMingLiU",Georgia,serif;
  --sans:"PingFang TC","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
  color-scheme:light;font-family:var(--sans);font-synthesis:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}
button:disabled{cursor:not-allowed;opacity:.42}
a{color:var(--brand-blue);text-underline-offset:5px}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #3270c9;outline-offset:5px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;line-height:1.5}
p{margin-bottom:18px}
img{max-width:100%;display:block}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:600}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-blue);width:19px;height:19px;flex:none;cursor:pointer}
input[type=text],input:not([type]),input[type=number]{width:100%;padding:12px 14px;border:1px solid #bac9da;border-radius:7px;background:var(--white);color:var(--ink);min-height:48px}
.site-header{max-width:1260px;margin:0 auto;padding:23px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);min-height:94px}
.brand{padding:0;background:transparent;text-align:left;display:inline-flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--brand-blue);line-height:1.35;flex:none}
.brand strong{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.16em}
.brand strong>span{font-family:var(--sans);font-size:.55em;letter-spacing:.055em;font-weight:400;margin-left:4px}
.brand small{font-size:9px;letter-spacing:.24em;text-transform:uppercase}
.brand-symbol{display:none}
.header-right{display:flex;gap:27px;align-items:center}
.nav-link{background:transparent;color:var(--muted);font-size:13px;padding:9px 0;line-height:1.5;text-decoration:none;white-space:nowrap}
.nav-link:hover{color:var(--brand-blue);text-decoration:underline}
.header-mark{font-family:Georgia,serif;border-left:1px solid var(--line);padding-left:24px}
.header-right>span{font-size:11px;letter-spacing:.1em;color:#677582}
.main,main#main{max-width:1180px;margin:0 auto;padding:0 28px;min-height:62vh;outline:none}
.eyebrow,.section-number{font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}
.eyebrow{display:block;margin-bottom:22px}
.section-number{display:inline-block;margin-bottom:12px}
.primary,.secondary{min-height:52px;padding:13px 25px;display:inline-flex;justify-content:center;align-items:center;gap:22px;border-radius:5px;font-weight:500;line-height:1.6;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s}
.primary{background:var(--brand-blue);color:var(--white);border:1px solid var(--brand-blue)}
.primary:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}
.secondary{background:transparent;color:var(--brand-blue);border:1px solid #b7cbe8}
.secondary:hover{background:var(--green-tint-light);border-color:#7fa5d9}
.text-button,.quiet-link{background:transparent;padding:8px 0;color:var(--muted);font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.text-button:hover,.quiet-link:hover{color:var(--brand-blue)}
.quiet-link{text-decoration:none}
.quiet-link:hover{text-decoration:underline}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100px;left:20px;z-index:50;background:#fff;padding:10px 16px}
.skip-link:focus{top:12px}
/* Home: one clear invitation, with a distinct professional signature. */
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:40px;align-items:center;padding:47px 14px 26px;min-height:615px;position:relative}
.hero-copy{position:relative;z-index:2;padding-bottom:14px}
.hero-copy .eyebrow{margin-bottom:23px;letter-spacing:.2em}
.hero-copy h1{font-family:var(--serif);font-size:clamp(37px,3.9vw,51px);line-height:1.45;letter-spacing:.045em;font-weight:500;margin:0 0 23px}
.hero-copy h1 span{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(62px,7.5vw,94px);font-weight:400;line-height:1.05;letter-spacing:-.055em;color:var(--brand-blue);margin-bottom:9px}
.hero-description{font-size:19px;color:var(--muted);line-height:2;max-width:430px;margin-bottom:18px}
.mobile-credential{display:none}
.hero-intro{max-width:430px;font-size:13px;color:var(--muted);line-height:2;margin-bottom:18px}
.hero-meta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--brand-blue);margin-bottom:24px}
.hero-meta span{white-space:nowrap}
.hero-meta span+span:before{content:"·";color:#98c742;margin-right:13px}
.begin-area{max-width:440px}
.begin-area .primary{min-width:220px;font-size:16px;justify-content:space-between;margin-top:15px}
.eligibility{display:flex;align-items:flex-start;gap:11px;color:var(--muted);font-size:12px;line-height:1.9;max-width:430px;cursor:pointer;margin-bottom:2px}
.eligibility input{margin:4px 0 0}
.eligibility span{display:block}
.start-error{color:#c42955;font-size:12px;margin:10px 0 0;min-height:0}
.start-error:empty{display:none}
.hero-media{position:relative;min-width:0;height:555px;align-self:end;isolation:isolate}
.portrait-caption{position:absolute;z-index:2;right:10px;top:107px;writing-mode:vertical-rl;font-family:Georgia,serif;font-size:9px;letter-spacing:.19em;color:#3d5a26;white-space:nowrap}
.portrait-bg{position:absolute;z-index:-1;left:16px;right:0;top:67px;bottom:20px;background:var(--green-tint);border-radius:48% 48% 3px 3px;overflow:hidden}
.portrait-bg:before{content:"";position:absolute;inset:22px;border:1px solid #98c7429c;border-radius:48% 48% 0 0}
.portrait-bg:after{content:"";position:absolute;width:230px;height:440px;border:1px solid #c8dda0;border-radius:50%;transform:rotate(30deg);left:-120px;top:80px}
.portrait{position:absolute;height:525px;width:auto;max-width:91%;object-fit:contain;object-position:center bottom;bottom:20px;left:50%;transform:translateX(-50%);z-index:1;filter:drop-shadow(0 8px 14px #3270c908)}
.expert-signature{position:absolute;right:-4px;bottom:12px;z-index:2;background:#fffffff5;border:1px solid #dce3e6;padding:20px 24px 17px;min-width:280px;max-width:340px;box-shadow:0 12px 30px #3270c908}
.expert-signature:before{content:"";width:34px;height:2px;background:var(--brand-green);display:block;margin-bottom:12px}
.expert-signature>small{display:block;font-size:9px;letter-spacing:.14em;color:var(--accent);margin-bottom:4px;text-transform:uppercase}
.expert-signature>strong{display:block;font-family:var(--serif);font-weight:500;font-size:27px;letter-spacing:.12em;line-height:1.5;margin-bottom:5px}
.expert-signature>strong>span{font-family:var(--sans);font-size:.48em;font-weight:400;letter-spacing:.03em;margin-left:5px}
.expert-signature p{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:4px}
.expert-signature a{font-size:11px;text-decoration:none;display:inline-block;margin-top:6px}
.expert-signature a:hover{text-decoration:underline}
.hero-quote{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:17px;line-height:1.9;color:var(--brand-blue);margin-top:30px;margin-bottom:0;max-width:460px}
.hero-quote small{display:block;font-family:Georgia,serif;font-size:13px;font-style:italic;letter-spacing:.015em;margin-top:5px;color:#677582}
.dimension-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:31px 14px 24px;padding:26px 0;gap:0}
.dimension-item{padding:0 24px;border-left:1px solid var(--line);min-width:0}
.dimension-item:first-child{border-left:0;padding-left:0}
.dimension-item:last-child{padding-right:0}
.dimension-item small{display:block;font-family:Georgia,serif;color:var(--accent);font-size:11px;line-height:1.5;letter-spacing:.05em;margin-bottom:9px}
.dimension-item strong{display:block;font-size:15px;font-weight:500;letter-spacing:.04em;line-height:1.6}
.home-note{font-size:12px;color:var(--muted);line-height:1.9;max-width:830px;margin:0 14px 34px}
.home-note a,.home-note button{font-size:12px}
.home-faq{margin:20px 14px 58px;border-top:1px solid var(--line)}
.home-faq details{padding:18px 0;border-bottom:1px solid var(--line)}
.home-faq summary{font-size:14px;font-weight:500;cursor:pointer;line-height:1.7;list-style:none;position:relative;padding-right:35px}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq summary:after{content:"+";position:absolute;right:3px;top:-4px;color:var(--accent);font:24px Georgia,serif}
.home-faq details[open] summary:after{content:"−"}
.home-faq p{font-size:13px;color:var(--muted);max-width:900px;line-height:1.9;margin:14px 0 0}
/* UprightCome brand colors: green #98c742 and blue #3270c9; light tints support reading. */
/* An optional appointment invitation after the full results. */
.consult-cta{margin:42px 0 18px;padding:44px 48px 37px;background:#edf5df;border:1px solid #d0e3ac;border-radius:28px;color:#25589f;box-shadow:inset 0 5px 0 var(--brand-green)}
.consult-eyebrow{display:block;color:#25589f;font-size:12px;font-weight:500;line-height:1.9;letter-spacing:.12em;margin-bottom:19px}
.consult-cta h2{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.55;letter-spacing:.025em;margin:0 0 19px;color:#25589f;text-wrap:pretty}
.consult-description{max-width:840px;font-size:16px;line-height:2;letter-spacing:.025em;margin:0 0 28px;color:#3a4853}
.consult-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.consult-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:15px 33px;border:1px solid #3270c9;border-radius:999px;background:#3270c9;color:#fff;text-decoration:none;font-size:16px;font-weight:600;line-height:1.7;letter-spacing:.06em;transition:background-color .16s,border-color .16s}
.consult-button:hover{background:#25589f;border-color:#25589f;color:#fff}
.consult-button:focus-visible{outline:3px solid var(--brand-blue);outline-offset:5px}
.consult-button>span{font-size:20px;line-height:1}
.consult-note{font-size:13px;line-height:1.9;letter-spacing:.025em;color:#52606b;margin:19px 0 0;padding-top:20px;border-top:1px solid #cdddac}
@media(max-width:620px){
  .consult-cta{margin:33px 0 12px;padding:29px 23px 25px;border-radius:23px}
  .consult-eyebrow{font-size:10px;letter-spacing:.055em;margin-bottom:16px}
  .consult-cta h2{font-size:26px;line-height:1.6;letter-spacing:.015em;margin-bottom:16px}
  .consult-description{font-size:14px;line-height:1.95;margin-bottom:23px}
  .consult-actions{display:block}
  .consult-button{display:flex;width:100%;min-height:55px;padding:14px 17px;font-size:14px;gap:18px;letter-spacing:.025em}
  .consult-note{font-size:11px;margin-top:19px;padding-top:18px}
}

/* Standardized questionnaire: restrained, neutral, and easy to touch. */
.quiz-wrap{max-width:740px;margin:43px auto 65px}
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.quiz-label{color:var(--brand-blue);font-size:11px;letter-spacing:.11em}
.quiz-counter{color:var(--muted);font-size:12px;white-space:nowrap}
.quiz-wrap progress{display:block;width:100%;height:4px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:#e6edf6}
.quiz-wrap progress::-webkit-progress-bar{background:#e6edf6}
.quiz-wrap progress::-webkit-progress-value{background:var(--brand-blue);border-radius:4px}
.quiz-wrap progress::-moz-progress-bar{background:var(--brand-blue);border-radius:4px}
.question-card{background:var(--white);border:1px solid var(--line);padding:31px 38px 28px;margin-top:25px;border-radius:9px;box-shadow:0 10px 45px #3270c904}
.question-index{display:block;font-family:Georgia,serif;letter-spacing:.12em;font-size:11px;color:var(--accent);margin:0 0 13px}
.question-title{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.65;letter-spacing:.015em;margin:0 0 25px}
.question-title:focus{outline:none}
.answer-options{display:grid;gap:10px}
.answer-option{display:flex;align-items:center;gap:12px;border:1px solid #dce3e6;min-height:58px;padding:12px 17px;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .13s,background-color .13s}
.answer-option:hover{background:#f5f8fc;border-color:#8badde}
.answer-option:has(input:checked){border-color:var(--brand-blue);background:#eaf1fa;box-shadow:inset 0 0 0 1px var(--brand-blue)}
.answer-option input{margin:0;flex:none}
.choice-letter{display:inline-flex;align-items:center;justify-content:center;font:11px Georgia,serif;color:#687887;width:23px;height:23px;border:1px solid #dfe6ee;border-radius:4px;flex:none}
.answer-option:has(input:checked) .choice-letter{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}
.choice-text{font-size:16px;line-height:1.65;min-width:0}
.question-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}
.question-actions .primary,.question-actions .secondary{font-size:14px;min-height:48px;padding:12px 22px}
.skip-question{display:block;margin:8px auto 0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:12px 8px;line-height:1.6}
.quiz-footnote{font-size:11px;line-height:1.9;color:var(--muted);margin:16px 0 0;display:flex;justify-content:space-between;gap:18px;align-items:center}
.quiz-footnote .text-button,.quiz-footnote .quiet-link{font-size:11px;white-space:nowrap}
.untreated-note{background:var(--green-tint-light);border-left:2px solid #98c742;padding:13px 16px;font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0 4px}
.untreated-note p{margin:0 0 8px}
.untreated-note button{padding:5px 0;font-size:12px;color:var(--brand-blue);background:transparent;text-decoration:underline;text-underline-offset:4px}
.other-fields{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.other-fields summary{font-size:12px;color:var(--muted);cursor:pointer;line-height:1.7}
.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}
.input-grid label{font-size:12px;color:var(--muted);display:block}
.input-grid input{margin-top:7px;font-size:14px}
.other-fields p{font-size:11px;color:var(--muted);margin:12px 0 0}
/* Review before calculating. */
.review-wrap{max-width:820px;margin:48px auto 65px}
.review-wrap h1{font-family:var(--serif);font-size:34px;line-height:1.6;margin-bottom:15px}
.review-wrap>p{font-size:14px;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0}
.review-item{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:5px 12px;background:#fff;border:1px solid var(--line);color:var(--ink);padding:13px 15px;text-align:left;min-height:62px;border-radius:6px;font-size:13px;line-height:1.6}
.review-item:hover{background:var(--green-tint-light);border-color:#8badde}
.review-text{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.review-number{grid-row:1 / 3;display:flex;justify-content:center;align-items:center;width:30px;height:30px;background:#eaf1fa;color:#355b8d;font:15px Georgia,serif;border-radius:4px;flex:none}
.review-answer{grid-column:2;margin:0;color:var(--brand-blue);font-size:11px;max-width:none;text-align:left;line-height:1.8}
.review-item.is-missing .review-number{background:#edf2f8;color:#355b8d}
.review-item.is-missing .review-answer{color:#355b8d}
/* Results: domain values lead; no diagnostic colors or invented thresholds. */
.results-wrap{max-width:1010px;margin:44px auto 58px}
.results-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 25px;margin-bottom:28px}
.results-header .eyebrow{grid-column:1 / -1;margin-bottom:12px}
.results-header h1{grid-column:1 / -1;font-family:var(--serif);font-size:35px;line-height:1.5;font-weight:500;letter-spacing:.035em;margin-bottom:12px}
.results-header p{font-size:14px;color:var(--muted);line-height:1.9;max-width:670px;margin-bottom:0}
.result-date{font-size:11px;white-space:nowrap;letter-spacing:.05em;color:var(--muted);padding-bottom:4px}
.score-layout{padding:29px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}
.score-layout>.scale-note{margin:0 0 19px}
.score-layout>h2{font-family:var(--serif);font-size:23px;margin-bottom:11px}
.score-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.domain-card{background:#fafafa;border:1px solid #dde5ee;border-radius:6px;padding:19px 15px 17px;min-width:0}
.domain-card h2{font-size:14px;font-weight:500;margin:0 0 11px;line-height:1.6;white-space:nowrap}
.domain-score{display:flex;align-items:baseline;gap:6px;min-height:54px;line-height:1.2;color:var(--brand-blue);font-size:16px}
.domain-score strong{font:40px/1.2 Georgia,serif;letter-spacing:-1.8px}
.domain-score small{font-size:11px;color:var(--muted)}
.domain-bar{margin:6px 0 13px}.domain-bar.empty{height:7px;border-radius:4px;background:#e6edf6;margin:8px 0 12px}
.domain-bar meter,.domain-card meter{width:100%;display:block;height:7px;border:0;border-radius:4px;appearance:none;background:#e6edf6;margin:8px 0 12px}
.domain-card meter::-webkit-meter-bar{background:#e6edf6;border:0;border-radius:4px}
.domain-card meter::-webkit-meter-optimum-value{background:#3270c9;border-radius:4px}
.domain-card meter::-moz-meter-bar{background:#3270c9;border-radius:4px}
.domain-explainer{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 10px;min-height:40px}
.domain-completeness{font-size:10px;color:#667482;line-height:1.6;margin:0}
.score-summary{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px 30px;padding:22px 0 0;margin-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.score-summary>div{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:3px 10px}.score-summary>div>span{font-size:12px;color:var(--ink)}.score-summary>div>strong{font-weight:400}.score-summary>div>small{grid-column:1 / -1;font-size:10px;line-height:1.8}.score-summary>.quiet-link{font-size:11px}.summary-number small{font-family:var(--sans);font-size:11px;color:var(--muted);letter-spacing:0}
.score-summary h3{font-size:13px;margin:0 0 5px;color:var(--ink)}
.score-summary p{grid-column:1 / -1;font-size:11px;margin:3px 0 0;line-height:1.8}
.summary-number{font:27px/1.4 Georgia,serif;color:var(--ink);margin-left:10px;letter-spacing:-.5px;display:inline-block}
.scale-note{font-size:12px;color:var(--muted);line-height:1.9;margin:17px 0 0}
.scale-note p{margin-bottom:8px}
.scale-note button,.scale-note a{font-size:12px}
.missing-note{background:#edf2f8;border-left:2px solid #8eacd1;color:#365579;padding:15px 19px;font-size:13px;line-height:1.9;margin:0 0 22px;border-radius:0 5px 5px 0}
.missing-note p{margin:0 0 8px}
.missing-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.missing-links button,.missing-links a{background:#f8fafe;border:1px solid #c1d2e9;color:#355b8d;border-radius:4px;padding:5px 11px;font-size:12px;text-decoration:none}
.result-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:25px 0}
.result-actions .primary,.result-actions .secondary{font-size:14px;padding:12px 22px}
.result-actions .text-button{margin-left:auto}
.expert-note{display:grid;grid-template-columns:98px 1fr;gap:25px;align-items:center;background:#f1f6e8;border:1px solid #d8e5c2;border-radius:7px;padding:28px 30px;margin:30px 0 24px;position:relative;overflow:hidden}
.expert-avatar{width:98px;height:125px;object-fit:cover;object-position:center 12%;background:#dfeec6;border-radius:45px 45px 4px 4px;align-self:center}
.expert-copy{min-width:0}
.expert-copy .eyebrow{margin-bottom:7px;font-size:9px;letter-spacing:.16em;color:#24549b}
.expert-copy h2,.expert-copy h3{font-family:var(--serif);font-size:23px;font-weight:500;margin-bottom:12px;line-height:1.65;letter-spacing:.025em}
.expert-copy p{font-size:13px;color:#52606b;line-height:1.9;margin-bottom:10px;max-width:760px}
.expert-credentials{font-size:11px!important;line-height:1.9;color:#445563!important;margin-bottom:9px!important}
.expert-credentials>span{display:block;margin-top:4px}
.expert-credentials strong{font-size:14px;color:var(--ink);font-weight:600}
.expert-link{font-size:12px;color:#24549b;text-decoration:none;display:inline-flex;gap:12px;align-items:center;margin-top:3px}
.expert-link:hover{text-decoration:underline}
.answers-detail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0;padding:18px 0;font-size:13px}
.answers-detail summary{cursor:pointer;color:var(--muted);font-size:13px;line-height:1.8}
.answers-detail table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;font-size:12px;line-height:1.8}
.answers-detail th,.answers-detail td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px 12px}
.answers-detail th{font-weight:500}
.answers-detail th:first-child,.answers-detail td:first-child{width:42px}
.answers-detail th:last-child,.answers-detail td:last-child{width:29%;min-width:100px}
.privacy-note{color:var(--muted);font-size:11px;line-height:1.9;margin:18px 0}
.privacy-note button,.privacy-note a{font-size:11px}
.bottom-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:25px 0}
.bottom-actions button{font-size:12px}
/* Footer and compact reference dialogs. */
.site-footer{max-width:1180px;margin:0 auto;padding:29px 42px 32px;border-top:1px solid var(--line);color:var(--muted)}
.site-footer>p{font:italic 17px/1.8 Georgia,serif;color:#3270c9;margin:0 0 15px}
.footer-links{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;line-height:1.8}
.footer-links button,.footer-links a{font-size:10px}
.footer-links>span{color:var(--muted)}
.site-footer small{font-size:10px}
.site-footer .text-button{font-size:10px}
dialog{width:700px;max-width:calc(100vw - 34px);max-height:85vh;border:1px solid #dce3e6;border-radius:9px;padding:27px 33px 31px;color:var(--ink);background:#ffffff;box-shadow:0 24px 80px #17385830;overscroll-behavior:contain}
dialog::backdrop{background:#173858a6;backdrop-filter:blur(3px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dialog-top .eyebrow{margin:0}
.icon-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf1fa;color:var(--brand-blue);font-size:24px;line-height:1}
dialog h2{font-family:var(--serif);font-size:26px;line-height:1.6;margin:16px 0 18px}
dialog h3{font-size:16px;margin:24px 0 10px;font-weight:600}
dialog p,dialog li{font-size:13px;line-height:1.9}
dialog p{margin-bottom:14px}
dialog ul,dialog ol{padding-left:22px}
dialog li{margin-bottom:8px}
dialog a{overflow-wrap:anywhere}
dialog table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.8;margin:17px 0}
dialog th,dialog td{text-align:left;border-bottom:1px solid var(--line);padding:9px 11px}
.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px;flex-wrap:wrap}
.dialog-actions button{font-size:13px}
.print-only{display:none}
.noscript{max-width:700px;margin:30px auto;padding:25px;font-size:14px}
@media(min-width:1400px){.hero{padding-top:57px;min-height:640px}.hero-media{height:580px}.portrait{height:550px}.hero-copy h1{font-size:54px}.hero-copy h1 span{font-size:99px}}
@media(max-width:1000px){
  .site-header{padding:22px 30px}.main,main#main{padding:0 26px}.hero{gap:25px;padding-left:0;padding-right:0;min-height:580px}.hero-copy h1{font-size:40px}.hero-copy h1 span{font-size:78px}.hero-media{height:520px}.portrait{height:490px;max-width:97%}.expert-signature{min-width:250px;max-width:295px;right:-2px;padding:18px 20px}.expert-signature>strong{font-size:25px}.hero-description{font-size:18px}.dimension-strip{margin-left:0;margin-right:0}.dimension-item{padding-left:19px;padding-right:19px}.dimension-item strong{font-size:14px}.home-note,.home-faq{margin-left:0;margin-right:0}.score-grid{gap:9px}.score-layout{padding:24px}.domain-card{padding:17px 12px}.domain-card h2{font-size:13px}.domain-score strong{font-size:35px}.domain-explainer{font-size:10px}.score-summary{gap:18px}
}
@media(max-width:800px){
  .hero{grid-template-columns:1fr .9fr;gap:15px;min-height:550px;padding-top:35px}.hero-copy h1{font-size:35px}.hero-copy h1 span{font-size:68px}.hero-media{height:470px}.portrait{height:440px}.portrait-bg{left:0;top:60px}.expert-signature{padding:15px 18px;min-width:230px;max-width:260px;bottom:6px}.expert-signature>strong{font-size:23px}.expert-signature p{font-size:10px}.expert-signature a{font-size:10px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-description{font-size:17px}.hero-quote{font-size:15px;margin-top:22px}.hero-meta{font-size:11px;gap:9px}.hero-meta span+span:before{margin-right:9px}.begin-area .primary{min-width:200px}.eligibility{font-size:11px}.dimension-item{padding:0 12px}.dimension-item strong{font-size:13px}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.domain-explainer{font-size:11px;min-height:0}.domain-card{padding:19px 15px}.domain-card h2{font-size:14px}.domain-score strong{font-size:38px}.results-header h1{font-size:30px}.results-header{align-items:start}.expert-copy h2,.expert-copy h3{font-size:21px}
}
@media(max-width:620px){
  body{font-size:15px}.site-header{padding:18px 21px;min-height:79px;gap:14px}.brand strong{font-size:22px}.brand small{font-size:8px}.header-right{gap:18px}.header-right>span{display:none}.nav-link{font-size:11px}.main,main#main{padding:0 21px}.hero{display:flex;flex-direction:column;gap:0;padding:35px 0 0;min-height:0;align-items:stretch}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:17px}.hero-copy h1{font-size:39px;letter-spacing:.035em;line-height:1.45;margin-bottom:20px}.hero-copy h1 span{font-size:83px;line-height:1.07;margin-bottom:7px}.hero-description{font-size:18px;line-height:1.9;max-width:none;margin-bottom:16px}.hero-intro{font-size:12px;line-height:1.95;margin-bottom:12px}.mobile-credential{display:block;margin:0 0 15px;font-size:12px;font-weight:600;line-height:1.7;color:var(--brand-blue)}.mobile-credential span{display:block;margin-top:2px;font-size:10px;font-weight:400;line-height:1.7;letter-spacing:.025em;color:var(--muted)}.portrait-caption{font-size:8px;right:5px;top:61px;letter-spacing:.16em}.hero-meta{font-size:11px;gap:10px;margin-bottom:20px}.hero-meta span+span:before{margin-right:10px}.begin-area{max-width:none}.eligibility{font-size:11px;line-height:1.9;max-width:none}.eligibility input{width:18px;height:18px;margin-top:3px}.begin-area .primary{width:100%;margin-top:15px;min-height:52px;justify-content:space-between;font-size:15px}.hero-quote{font-size:15px;line-height:1.9;margin-top:24px;max-width:none}.hero-quote small{font-size:12px}.hero-media{width:100%;height:408px;margin-top:22px;align-self:stretch}.portrait-bg{left:19px;right:19px;top:29px;bottom:25px;border-radius:45% 45% 3px 3px}.portrait{height:391px;max-width:80%;bottom:25px;left:47%}.expert-signature{right:0;bottom:6px;min-width:242px;max-width:280px;padding:15px 18px 14px;background:#ffffffef}.expert-signature:before{margin-bottom:8px;width:27px}.expert-signature>small{font-size:8px;margin-bottom:3px}.expert-signature>strong{font-size:24px;letter-spacing:.1em;margin-bottom:3px}.expert-signature p{font-size:10px;line-height:1.85}.expert-signature a{font-size:10px;margin-top:4px}.dimension-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 0;margin:27px 0 19px;padding:24px 0 22px}.dimension-item{padding:0 16px;border-left:1px solid var(--line)}.dimension-item:first-child{padding-left:0}.dimension-item:nth-child(4){border-left:0;padding-left:0}.dimension-item small{font-size:10px;margin-bottom:7px}.dimension-item strong{font-size:13px;line-height:1.7}.home-note{font-size:11px;line-height:1.9;margin-bottom:25px}.home-faq{margin:24px 0 40px}.home-faq details{padding:16px 0}.home-faq summary{font-size:13px}.home-faq p{font-size:12px;line-height:1.9}.quiz-wrap{margin:28px auto 42px}.quiz-top{gap:12px;margin-bottom:13px}.quiz-label{font-size:10px;letter-spacing:.055em}.quiz-counter{font-size:11px}.question-card{padding:24px 20px 22px;margin-top:19px;border-radius:8px}.question-index{font-size:10px;margin-bottom:12px}.question-title{font-size:22px;line-height:1.65;letter-spacing:0;margin-bottom:22px}.answer-options{gap:10px}.answer-option{min-height:55px;gap:10px;padding:12px 13px}.answer-option input{width:18px;height:18px}.choice-letter{width:20px;height:20px;font-size:10px}.choice-text{font-size:15px;line-height:1.65}.question-actions{flex-wrap:wrap;gap:10px;margin-top:23px}.question-actions .primary,.question-actions .secondary{min-width:calc(50% - 5px);font-size:13px;min-height:47px;padding:12px 15px;gap:10px}.skip-question{width:100%;order:3;text-align:center;padding:8px 0 0;font-size:12px}.quiz-footnote{font-size:10px;gap:12px;align-items:start;line-height:1.85;flex-wrap:wrap;margin-top:14px}.quiz-footnote .text-button,.quiz-footnote .quiet-link{font-size:10px;padding:0}.untreated-note{font-size:11px;padding:13px 14px;margin-top:18px}.untreated-note button{font-size:11px}.input-grid{grid-template-columns:1fr;gap:13px}.input-grid label{font-size:11px}.input-grid input{min-height:45px}.other-fields summary{font-size:11px}.other-fields p{font-size:10px}.review-wrap{margin:31px auto 42px}.review-wrap h1{font-size:29px;line-height:1.6}.review-wrap>p{font-size:13px}.review-grid{grid-template-columns:1fr;gap:8px;margin:20px 0}.review-item{padding:12px;font-size:12px;gap:10px;min-height:59px}.review-number{width:29px;height:29px;font-size:14px}.review-answer{font-size:11px;max-width:none}.results-wrap{margin:29px auto 42px}.results-header{display:block;margin-bottom:23px}.results-header .eyebrow{font-size:9px;margin-bottom:11px}.results-header h1{font-size:29px;line-height:1.6;letter-spacing:.015em;margin-bottom:12px}.results-header p{font-size:13px;line-height:1.9}.result-date{display:block;margin-top:13px;font-size:10px}.score-layout{padding:20px 17px;border-radius:7px;margin-bottom:21px}.score-layout>h2{font-size:21px}.score-grid{grid-template-columns:1fr 1fr;gap:11px 10px}.domain-card{padding:17px 13px 15px}.domain-card:last-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:center}.domain-card:last-child h2{margin-bottom:0;align-self:center}.domain-card:last-child .domain-score{justify-content:flex-end;min-height:45px}.domain-card:last-child .domain-bar{grid-column:1 / -1;margin:0}.domain-card:last-child .domain-explainer{margin-bottom:0}.domain-card:last-child .domain-completeness{text-align:right}.domain-card h2{font-size:13px;line-height:1.65;margin-bottom:9px}.domain-score{min-height:47px;font-size:15px}.domain-score strong{font-size:36px}.domain-score small{font-size:10px}.domain-bar{margin:3px 0 9px}.domain-explainer{font-size:10px;min-height:38px;line-height:1.8;margin-bottom:9px}.domain-completeness{font-size:9px;line-height:1.7}.score-summary{display:block;padding-top:17px;margin-top:18px}.score-summary>div+div{margin-top:15px}.score-summary>div>span{font-size:11px}.score-summary>div>small{font-size:9px}.score-summary>p{margin-top:14px}.score-summary h3{font-size:12px;display:inline}.score-summary p{font-size:10px;margin-top:5px}.summary-number{font-size:24px;margin:0;float:none}.scale-note{font-size:11px;line-height:1.9;margin-top:16px}.scale-note p{margin-bottom:6px}.scale-note button,.scale-note a{font-size:11px}.missing-note{padding:14px 15px;font-size:12px;line-height:1.85}.missing-links button,.missing-links a{font-size:11px;padding:5px 10px}.result-actions{gap:10px;margin:21px 0;display:grid;grid-template-columns:1fr 1fr}.result-actions .primary{grid-column:1 / -1}.result-actions .primary,.result-actions .secondary{font-size:12px;padding:12px 14px;min-height:48px;gap:9px}.result-actions .text-button{margin:0;font-size:11px;justify-self:center}.expert-note{grid-template-columns:67px 1fr;gap:17px;padding:22px 19px;margin:27px 0 22px;align-items:start}.expert-avatar{width:67px;height:91px;border-radius:33px 33px 3px 3px;align-self:start;object-position:center 10%}.expert-copy h2,.expert-copy h3{font-size:20px;line-height:1.65;margin-bottom:12px}.expert-copy .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:6px}.expert-copy p{font-size:12px;line-height:1.9;margin-bottom:10px}.expert-credentials{font-size:10px!important;line-height:1.9}.expert-credentials strong{font-size:13px}.expert-link{font-size:11px;line-height:1.8;margin-top:3px}.answers-detail{font-size:11px;margin:21px 0;padding:17px 0}.answers-detail summary{font-size:12px}.answers-detail table{font-size:10px;line-height:1.8;margin-top:16px}.answers-detail th,.answers-detail td{padding:10px 8px}.answers-detail th:first-child,.answers-detail td:first-child{width:28px;padding-left:6px;padding-right:5px}.answers-detail th:last-child,.answers-detail td:last-child{width:30%;min-width:75px}.privacy-note{font-size:10px;line-height:1.9}.privacy-note button,.privacy-note a{font-size:10px}.bottom-actions{gap:12px;flex-wrap:wrap;margin:23px 0}.bottom-actions button{font-size:11px}.bottom-actions .secondary{padding:11px 15px;min-height:45px}.site-footer{padding:25px 21px 28px}.site-footer>p{font-size:15px;line-height:1.8;margin-bottom:16px;max-width:320px}.footer-links{justify-content:start;gap:10px 17px;font-size:9px}.footer-links button,.footer-links a{font-size:9px}.footer-links>span:last-child{width:100%}dialog{padding:22px 22px 25px;max-height:86vh;max-width:calc(100vw - 28px)}dialog h2{font-size:23px;line-height:1.6}dialog h3{font-size:15px;margin-top:20px}dialog p,dialog li{font-size:12px;line-height:1.9}dialog table{font-size:11px}dialog td,dialog th{padding:8px}.dialog-actions{gap:10px}.dialog-actions button{font-size:12px;min-height:46px;padding:11px 16px}
}
@media(max-width:365px){
  .site-header{padding-left:17px;padding-right:17px}.header-right{gap:13px}.brand strong{font-size:20px}.nav-link{font-size:10px}.main,main#main{padding-left:17px;padding-right:17px}.hero-copy h1{font-size:35px}.hero-copy h1 span{font-size:75px}.hero-description{font-size:17px}.hero-meta{gap:7px;font-size:10px}.hero-meta span+span:before{margin-right:7px}.question-card{padding:21px 16px}.question-title{font-size:20px}.answer-option{padding:11px 12px;gap:8px}.choice-letter{display:none}.hero-media{height:388px}.portrait{height:371px}.expert-signature{min-width:229px;max-width:250px}.expert-copy h2,.expert-copy h3{font-size:18px}.expert-note{grid-template-columns:57px 1fr;gap:14px;padding:20px 16px}.expert-avatar{width:57px;height:80px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{
  @page{size:A4;margin:15mm 14mm}
  html{scroll-behavior:auto}body{background:#fff;color:#111;font-size:10pt;line-height:1.65}
  .site-header,.site-footer,.no-print,.hero,.dimension-strip,.home-note,.home-faq,.quiz-wrap,.review-wrap,.expert-note,.result-actions,.bottom-actions,.privacy-note,.missing-links,dialog,.text-button,.quiet-link{display:none!important}
  .main,main#main,.results-wrap{max-width:none;margin:0;padding:0;min-height:0}
  .results-header{display:block;margin:0 0 16px}.results-header .eyebrow{font-size:8pt;color:#555;margin-bottom:5px}.results-header h1{font-size:23pt;line-height:1.4;margin-bottom:8px}.results-header p{font-size:9pt;line-height:1.7;max-width:none;color:#333}.result-date{font-size:9pt;display:block;margin-top:8px;color:#333}
  .score-layout{padding:13px;border:1px solid #aaa;border-radius:0;box-shadow:none;break-inside:avoid;margin-bottom:15px}.score-layout>h2{font-size:14pt}
  .score-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.domain-card,.domain-card:last-child{display:block;grid-column:auto;padding:8px 6px;border:0;background:#fff}.domain-card h2{font-size:9pt;white-space:normal;line-height:1.6;margin-bottom:5px}.domain-score,.domain-card:last-child .domain-score{font-size:10pt;display:block;min-height:36px;color:#111}.domain-score strong{font-size:26pt;letter-spacing:-1px}.domain-score small{font-size:8pt;margin-left:4px}.domain-bar,.domain-card meter{display:none!important}.domain-explainer{font-size:8pt;line-height:1.6;color:#333;min-height:0;margin:5px 0}.domain-completeness,.domain-card:last-child .domain-completeness{font-size:7pt;line-height:1.6;text-align:left;color:#444}.score-summary{display:grid;grid-template-columns:1fr 1fr;border-color:#aaa;padding-top:12px;margin-top:12px;gap:25px;align-items:start}.score-summary>div>span{font-size:9pt}.score-summary>div>small{font-size:7pt}.score-summary h3{font-size:9pt}.score-summary p{font-size:8pt;color:#333}.summary-number{font-size:18pt;float:none;margin-left:8px}.scale-note{font-size:8pt;line-height:1.7;color:#333;margin-top:10px}.missing-note{font-size:9pt;color:#222;border-color:#aaa;background:#fff;padding:10px;border:1px solid #aaa}
  .answers-detail{border:0;padding:0;margin:16px 0;font-size:9pt}.answers-detail summary{display:none}.answers-detail table{display:table!important;font-size:8pt;line-height:1.7;margin-top:0}.answers-detail th,.answers-detail td{padding:6px 7px;border-color:#bbb}.answers-detail th:first-child,.answers-detail td:first-child{width:25px}.answers-detail th:last-child,.answers-detail td:last-child{width:28%}.answers-detail tr{break-inside:avoid}.answers-detail thead{display:table-header-group}
  .print-only{display:block!important;font-size:8pt;line-height:1.7;color:#333;break-inside:avoid}.print-only h2,.print-only h3{font-size:12pt;margin-bottom:7px}.print-only p{margin-bottom:7px}.print-only a{color:#111;text-decoration:none;overflow-wrap:anywhere}
}

/* Search-readable, pre-rendered landing-page guidance. */
.page-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;padding:21px 14px 0;font-size:12px;color:var(--muted)}
.page-breadcrumb a{color:var(--brand-blue);text-decoration:none}.page-breadcrumb a:hover{text-decoration:underline}
.seo-guide{max-width:980px;margin:42px auto 60px;padding:32px 0 0;border-top:1px solid var(--line);font-size:15px;line-height:1.95;color:var(--ink)}
.seo-guide h2{font-family:var(--serif);font-size:26px;line-height:1.55;color:var(--brand-blue);margin:30px 0 17px}
.seo-guide h2:first-child{margin-top:0}.seo-guide h3{font-size:18px;margin:25px 0 12px}
.seo-guide p{margin-bottom:20px}.seo-guide ul{padding-left:23px}.seo-guide li{margin:7px 0}
.seo-faq{border-top:1px solid var(--line)}.seo-faq details{padding:18px 0;border-bottom:1px solid var(--line)}
.seo-faq summary{cursor:pointer;font-weight:500;font-size:16px;line-height:1.8;padding-right:16px}
.seo-faq details p{color:var(--muted);margin:15px 0 0;line-height:1.95}
.seo-sources{margin-top:30px;padding:24px 27px;background:var(--green-tint-light);border:1px solid #d8e5c2;border-radius:8px}
.seo-sources h2{font-size:23px;margin-top:0}.seo-sources p{margin-bottom:0}.seo-sources a{overflow-wrap:anywhere}
@media(max-width:620px){.page-breadcrumb{padding:19px 0 0;font-size:10px;gap:8px}.seo-guide{font-size:14px;margin:32px auto 40px;padding-top:25px}.seo-guide h2{font-size:23px;margin-top:25px}.seo-faq summary{font-size:15px}.seo-faq details{padding:16px 0}.seo-sources{padding:21px 18px}.seo-sources h2{font-size:21px}.header-right{gap:15px}.header-right .nav-link{font-size:10px}}
@media print{.page-breadcrumb,.seo-guide{display:none!important}}
