.iso-page { background: var(--pale); }
.iso-intro { padding-block: clamp(32px, 5.5vw, 70px); color: var(--white); background: radial-gradient(ellipse at top right, #224669, var(--navy) 70%); }
.iso-intro .eyebrow { color: #bbd8f5; }
.iso-intro .eyebrow span { background: #a6d4ff; }
.iso-intro h1 { margin-top: 12px; max-width: 23ch; font-size: clamp(2.2rem, 4.8vw, 3.85rem); }
.iso-intro .shell > p:not(.eyebrow) { margin-top: 14px; max-width: 58ch; color: #deebf7; }
.iso-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 16px 0 0; list-style: none; color: #c5dff7; font-size: .86rem; font-weight: 650; }
.iso-facts li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 8px 2px 0; border-radius: 2px; background: #92c3f1; }
.iso-main { padding-block: clamp(24px, 4vw, 50px); }
.iso-layout { display: grid; grid-template-columns: minmax(190px, .29fr) minmax(0, 1fr); align-items: start; gap: clamp(15px, 3vw, 34px); }
.iso-guide, .iso-check { border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.iso-guide { padding: 18px; }
.iso-guide h2 { font-size: 1.22rem; }
.iso-progress { display: grid; gap: 7px; padding: 0; margin: 13px 0; list-style: none; }
.iso-progress li { display: flex; align-items: center; gap: 8px; padding: 6px; border-radius: 5px; color: var(--slate); font-size: .86rem; }
.iso-progress span { padding: 3px 5px; color: var(--blue-dark); background: #e7f0fa; border-radius: 3px; font: 700 .72rem/1.1 var(--mono); }
.iso-progress [aria-current] { color: var(--navy); background: #edf4fb; font-weight: 700; }
.iso-progress [aria-current] span { color: var(--white); background: var(--blue-dark); }
.iso-guide > p { color: var(--slate); font-size: .8rem; }
.iso-check { padding: clamp(17px, 3.3vw, 38px); }
.iso-panel > .micro { color: var(--blue-dark); }
.iso-panel h2 { margin: 6px 0 9px; font-size: clamp(1.55rem, 3.2vw, 2.35rem); text-wrap: wrap; }
.iso-panel h2:focus { outline: none; }
.iso-panel p:not(.micro) { color: var(--slate); }
.iso-panel fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.iso-goals legend { padding: 0; margin-bottom: 12px; color: var(--slate); }
.iso-choice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; margin: 0 0 8px; border: 1px solid #c6d6e5; border-radius: 7px; font-size: .95rem; font-weight: 400; cursor: pointer; }
.iso-choice:has(input:checked), .iso-answers label:has(input:checked) { border-color: var(--blue); background: #edf4fb; }
.iso-choice:focus-within, .iso-answers label:focus-within { outline: 2px solid var(--blue); outline-offset: 2px; }
.iso-panel input[type="checkbox"], .iso-panel input[type="radio"] { width: 17px; height: 17px; min-height: 0; margin: 3px 0 0; padding: 0; accent-color: var(--blue); }
.iso-choice strong, .iso-choice small { display: block; }
.iso-choice small { margin-top: 3px; color: var(--slate); font-size: .84rem; line-height: 1.4; }
.iso-tag { padding: 4px 7px; border-radius: 4px; color: var(--blue-dark); background: #e7f0fa; font: 700 .72rem/1.25 var(--mono); white-space: nowrap; }
.iso-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 17px; margin-top: 16px; }
.iso-quiet { min-height: 44px; padding: 4px 0; border: 0; background: transparent; color: var(--blue-dark); font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.iso-panel p.iso-error { margin-top: 10px; color: #9b2424; font-size: .87rem; }
.iso-panel .iso-question { margin-top: 15px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.iso-question legend { padding: 0; font-weight: 700; }
.iso-question p { margin: 4px 0 8px; font-size: .9rem; }
.iso-answers { display: flex; flex-wrap: wrap; gap: 6px; }
.iso-answers label { display: flex; align-items: center; gap: 6px; min-height: 44px; margin: 0; padding: 5px 9px; border: 1px solid #c6d6e5; border-radius: 5px; font-size: .83rem; font-weight: 600; cursor: pointer; }
.iso-answers input[type="radio"] { margin: 0; }
.iso-result-block { margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line); }
.iso-result-block h3, .iso-lead h3 { font-size: 1.12rem; line-height: 1.25; }
.iso-result-block ul, .iso-result-block ol { padding-left: 1.2rem; margin: 6px 0 0; color: var(--slate); font-size: .93rem; }
.iso-result-block li + li { margin-top: 6px; }
.iso-lead { margin-top: 18px; padding: 15px; border: 1px solid #c6d7e8; border-inline-start: 4px solid var(--blue); border-radius: 7px; background: #edf4fb; }
.iso-lead p { margin: 6px 0 10px; font-size: .9rem; }
.iso-lead p.iso-mail-note { margin: 7px 0 0; font-size: .78rem; }
#iso-edit { margin-top: 8px; }
.iso-scope { max-width: 75ch; margin-top: 16px; color: var(--slate); font-size: .83rem; }

@media (max-width: 720px) {
  .iso-layout { grid-template-columns: minmax(0, 1fr); }
  .iso-guide { padding: 12px; }
  .iso-progress { display: flex; flex-wrap: wrap; gap: 3px; margin: 6px 0; }
  .iso-guide h2 { display: none; }
}
@media (max-width: 460px) {
  .iso-choice { grid-template-columns: auto minmax(0, 1fr); }
  .iso-tag { grid-column: 2; justify-self: start; }
  .iso-progress li { font-size: .76rem; }
}
