.calculator-intro { padding-block:56px 48px; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; }
.calculator-intro h1 { font-size:clamp(40px,5.1vw,68px); }
.calculator-intro>p { max-width:34ch; font-size:22px; line-height:1.5; padding-bottom:4px; color:var(--muted); }
.calculator-input-section { background:var(--paper); padding-block:36px 40px; }
.input-heading { display:flex; gap:32px; justify-content:space-between; align-items:start; margin-bottom:30px; }
.input-heading h2 { font-size:28px; line-height:1.3; }
.input-heading p { font-size:15px; line-height:1.55; color:var(--muted); }
.rating-inputs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.rating-field { display:flex; flex-direction:column; gap:12px; min-width:0; }
.rating-label { display:flex; gap:6px; align-items:center; font-weight:700; font-size:22px; }
.rating-label svg { width:22px; height:22px; fill:var(--blue); }
.rating-label>span { margin-left:3px; font-size:15px; font-weight:400; color:var(--muted); }
.rating-field input { display:block; width:100%; min-width:0; height:92px; border:1px solid #aab7c5; border-radius:var(--radius); background:var(--white); color:var(--ink); font:700 36px/1 Golos,Arial,sans-serif; padding:14px 18px; font-variant-numeric:tabular-nums; caret-color:var(--blue); }
.rating-field input::placeholder { color:var(--muted); font-weight:400; }
.rating-field input:hover { border-color:var(--blue); }
.rating-field input:focus-visible,.scenario-heading select:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.rating-field input[aria-invalid=true] { border-color:#b32929; outline-color:#b32929; }
.form-actions { display:flex; flex-wrap:wrap; gap:20px 26px; align-items:center; margin-top:28px; }
.calculate-button { min-height:62px; font-size:19px; }
.reset-button { border:0; border-bottom:1px solid var(--muted); padding:6px 0; background:transparent; color:var(--muted); }
.reset-button:hover { color:var(--blue); border-color:var(--blue); }
.form-count { color:var(--muted); font-size:14px; margin-left:auto; }
.form-error { color:#9b2424; margin-top:18px; font-size:16px; }
.calculator-result-area { padding-top:44px; }
.result-placeholder { max-width:65ch; color:var(--muted); font-size:17px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.results-heading { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-bottom:24px; }
.results-heading h2 { font-size:32px; }
.results-heading p { color:var(--muted); font-size:15px; }
.stale-notice { margin-bottom:22px; color:var(--muted); }
.score-summary { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; padding-bottom:32px; border-bottom:1px solid var(--line); }
.average-score>p,.display-score>p:first-child { font-size:16px; color:var(--muted); }
.average-score>strong { display:inline-block; font-size:clamp(52px,6vw,80px); font-weight:700; letter-spacing:-.035em; line-height:1.25; color:var(--blue); font-variant-numeric:tabular-nums; }
.average-score>span { margin-left:12px; color:var(--muted); font-size:19px; }
.display-score>strong { display:block; margin-top:5px; font-size:40px; line-height:1.25; font-variant-numeric:tabular-nums; }
.display-score>p:last-child { color:var(--muted); font-size:15px; max-width:42ch; margin-top:12px; }
.threshold-heading { display:flex; flex-wrap:wrap; gap:10px 32px; align-items:baseline; justify-content:space-between; margin-top:32px; }
.threshold-heading p { color:var(--muted); font-size:15px; }
.thresholds { display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:22px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.thresholds>div { padding:24px 28px; }
.thresholds>div+div { border-left:1px solid var(--line); }
.thresholds p { font-size:15px; color:var(--muted); }
.thresholds strong { display:block; font-size:32px; font-variant-numeric:tabular-nums; line-height:1.4; margin-block:5px; }
.thresholds .threshold-position { background:var(--paper); }
.threshold-position strong { color:var(--blue); }
.rounding-note { font-size:13px; color:var(--muted); margin-top:16px; max-width:95ch; }
.next-level { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; padding:32px; background:var(--lime); border-radius:var(--radius); margin-top:36px; }
.next-level h3 { max-width:25ch; font-size:25px; }
.next-level p { font-size:16px; line-height:1.55; margin-top:12px; }
.next-answer>strong { font-size:25px; line-height:1.3; display:block; }
.next-answer .positive-alternative { border-top:1px solid #8eae6a; padding-top:14px; margin-top:18px; }
.scenario-section { margin-top:40px; }
.scenario-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:start; gap:20px; }
.scenario-heading p { font-size:15px; color:var(--muted); margin-top:10px; }
.scenario-heading label { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:12px; }
.scenario-heading select { font:inherit; font-size:16px; color:var(--ink); background:var(--white); border:1px solid #aab7c5; border-radius:8px; min-height:48px; padding:8px 34px 8px 12px; }
.scenario-results { margin:24px 0 0; }
.scenario-results>div { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; padding-block:20px; border-top:1px solid var(--line); }
.scenario-results>div:last-child { border-bottom:1px solid var(--line); }
.scenario-results dt { font-size:17px; font-weight:700; }
.scenario-results dd { margin:0; font-size:16px; }
.scenario-results dd strong { font-variant-numeric:tabular-nums; }
.scenario-results dd span { display:block; margin-top:5px; color:var(--muted); font-size:14px; }
.scenario-note { font-size:13px; margin-top:12px; color:var(--muted); }
.rating-results.result-enter { animation:result-enter .32s var(--ease); }
@keyframes result-enter { from { clip-path:inset(0 0 12% 0); } to { clip-path:inset(0); } }
.calculator-explanation { display:grid; grid-template-columns:1fr 1.35fr; gap:72px; padding-block:88px 96px; }
.calculator-explanation h2 { font-size:clamp(30px,3.2vw,42px); }
.explanation-copy p { margin-top:20px; }
.explanation-copy .explanation-lead { font-size:21px; line-height:1.55; margin-top:0; }
.explanation-copy h3 { margin-top:38px; }
.calculator-page .footer { border-top:1px solid var(--line); }
@media(min-width:901px) and (max-width:1100px) { .rating-inputs { gap:14px; } .rating-field input { font-size:30px; padding-inline:12px; } }
@media(max-width:900px) {
  .calculator-intro { grid-template-columns:1fr; gap:24px; padding-top:38px; }
  .calculator-intro>p { max-width:50ch; font-size:20px; }
  .input-heading { flex-direction:column; gap:12px; }
  .rating-inputs { gap:14px; }
  .rating-label>span { display:none; }
  .rating-field input { font-size:27px; padding-inline:10px; height:76px; }
  .form-count { width:100%; margin:0; }
  .calculator-explanation { grid-template-columns:1fr; gap:30px; padding-block:64px; }
  .score-summary { gap:28px; }
  .thresholds>div { padding:20px 16px; }
  .next-level { padding:28px; gap:28px; }
}
@media(max-width:600px) {
  .calculator-page .header-inner { flex-wrap:nowrap; min-height:76px; padding-block:16px; gap:12px; }
  .calculator-page .header-cta { font-size:13px; }
  .calculator-page .header-cta span { display:none; }
  .calculator-intro { padding-block:28px 32px; gap:20px; }
  .calculator-intro h1 { font-size:40px; }
  .calculator-intro>p { font-size:18px; }
  .calculator-input-section { padding-block:28px; }
  .input-heading h2 { font-size:25px; }
  .input-heading { margin-bottom:24px; }
  .input-heading p { font-size:14px; }
  .input-heading br { display:none; }
  .rating-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
  .rating-field:first-child { grid-column:1 / -1; }
  .rating-label>span { display:inline; }
  .rating-field { gap:8px; }
  .rating-field input { height:72px; font-size:32px; padding-inline:16px; }
  .form-actions { gap:16px 22px; margin-top:24px; }
  .calculate-button { width:100%; justify-content:center; font-size:17px; }
  .form-count { width:auto; font-size:12px; flex:1; }
  .calculator-result-area { padding-top:32px; }
  .results-heading { flex-direction:column; align-items:start; gap:10px; }
  .score-summary { grid-template-columns:1fr; gap:24px; }
  .average-score>strong { font-size:60px; }
  .display-score { display:grid; grid-template-columns:1fr auto; gap:6px 12px; align-items:center; }
  .display-score>strong { font-size:34px; margin:0; }
  .display-score>p:last-child { grid-column:1 / -1; margin-top:0; }
  .threshold-heading { margin-top:28px; }
  .thresholds { grid-template-columns:1fr; margin-top:18px; }
  .thresholds>div { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 14px; padding:16px 20px; }
  .thresholds>div+div { border-left:0; border-top:1px solid var(--line); }
  .thresholds strong { font-size:28px; margin:0; }
  .thresholds p:last-child { grid-column:1 / -1; font-size:14px; }
  .next-level { grid-template-columns:1fr; padding:24px; gap:24px; margin-top:28px; }
  .next-level h3,.next-answer>strong { font-size:23px; }
  .next-level p { font-size:15px; }
  .scenario-results>div { grid-template-columns:1fr; gap:8px; padding-block:18px; }
  .scenario-heading label { width:100%; justify-content:space-between; }
  .calculator-explanation { padding-block:52px 56px; gap:24px; }
  .explanation-copy { font-size:16px; }
  .explanation-copy .explanation-lead { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) { .rating-results.result-enter { animation:none; } }
