.cs-capacity-root {
  --cs-primary: var(--wp--preset--color--teal, #296674);
  --cs-bright: var(--wp--preset--color--bright-teal, #31b2ba);
  --cs-gold: var(--wp--preset--color--gold, #fcc307);
  --cs-coral: #e9785b;
  --cs-mist: #eaf3f3;
  --cs-cream: #fdf8f0;
  --cs-white: #fdfefe;
  --cs-text: #2a3a3a;
  --cs-muted: rgba(42, 58, 58, .68);
  --cs-border: #d8e4e4;
  color: var(--cs-text);
  font-family: var(--wp--preset--font-family--body, "Glacial Indifference", Inter, system-ui, sans-serif);
  font-size: 16px;
  line-height: 1.55;
  max-width: none !important;
}

.cs-capacity-root *, .cs-capacity-root *::before, .cs-capacity-root *::after { box-sizing: border-box; }
.cs-capacity-loading { background: #eaf3f3; color: #296674; font-weight: 700; min-height: 240px; padding: 80px 24px; text-align: center; }
.cs-capacity-app { background: var(--cs-mist); min-height: 100vh; }
.cs-capacity-topline { height: 4px; background: var(--cs-gold); }
.cs-capacity-header { background: var(--cs-white); border-bottom: 1px solid var(--cs-border); position: sticky; top: 0; z-index: 20; }
.cs-capacity-header-inner { align-items: center; display: flex; justify-content: center; margin: 0 auto; max-width: 1180px; padding: 12px clamp(18px, 4vw, 48px); }
.cs-capacity-progress { display: flex; gap: 20px; }
.cs-capacity-progress-item { align-items: center; color: var(--cs-muted); display: flex; font-size: 13px; font-weight: 700; gap: 7px; padding: 5px 0; }
.cs-capacity-progress-item > span { background: #e1eded; border-radius: 50%; color: var(--cs-primary); display: grid; font-size: 11px; height: 22px; place-items: center; width: 22px; }
.cs-capacity-progress-item.is-current { border-bottom: 2px solid var(--cs-gold); color: var(--cs-primary); }
.cs-capacity-progress-item.is-current > span { background: var(--cs-primary); color: white; }
.cs-capacity-progress-item.is-done > span { background: #d6ebec; }
.cs-capacity-main { margin: 0 auto; max-width: 1180px; padding: clamp(36px, 6vw, 76px) clamp(18px, 4vw, 48px) 92px; }
.cs-capacity-footer { background: var(--cs-white); border-top: 1px solid var(--cs-border); display: flex; flex-wrap: wrap; font-size: 13px; gap: 10px 30px; justify-content: space-between; padding: 20px clamp(18px, 4vw, 48px); }
.cs-capacity-footer a { color: var(--cs-primary); }
.cs-capacity-root h1, .cs-capacity-root h2, .cs-capacity-root h3 { color: var(--cs-primary); font-family: var(--wp--preset--font-family--heading, inherit); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.cs-capacity-root h1 { font-size: clamp(34px, 4.7vw, 54px); margin: 14px 0 15px; }
.cs-capacity-root h2 { font-size: clamp(25px, 3vw, 36px); margin: 10px 0 14px; }
.cs-capacity-root h3 { font-size: 20px; margin: 8px 0 10px; }
.cs-capacity-root p { margin: 0 0 18px; }
.cs-capacity-eyebrow { color: var(--cs-primary); font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.cs-capacity-lead { color: var(--cs-muted); font-size: 18px; max-width: 720px; }
.cs-capacity-hero { align-items: end; background: var(--cs-cream); border-radius: 18px; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: 610px; overflow: hidden; padding: clamp(32px, 6vw, 72px); position: relative; }
.cs-capacity-hero-art { height: 100%; max-width: 58%; object-fit: cover; object-position: 45% 15%; pointer-events: none; position: absolute; right: 0; top: 0; width: auto; }
.cs-capacity-hero-copy, .cs-capacity-discover { position: relative; z-index: 1; }
.cs-capacity-hero-copy { align-self: center; max-width: 560px; }
.cs-capacity-hero-copy > p { font-size: 19px; max-width: 540px; }
.cs-capacity-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0 30px; }
.cs-capacity-pills span { background: white; border: 1px solid var(--cs-border); border-radius: 999px; color: var(--cs-primary); font-size: 13px; font-weight: 700; padding: 6px 13px; }
.cs-capacity-discover { background: rgba(253, 254, 254, .96); border: 1px solid var(--cs-border); border-radius: 14px; box-shadow: 0 14px 34px rgba(41, 102, 116, .1); padding: 22px 25px; }
.cs-capacity-discover h2 { font-size: 22px; }
.cs-capacity-discover p { border-top: 1px solid var(--cs-border); display: flex; gap: 20px; justify-content: space-between; margin: 0; padding: 12px 0; }
.cs-capacity-discover strong { color: var(--cs-primary); white-space: nowrap; }
.cs-capacity-button { align-items: center; border: 2px solid transparent; border-radius: 8px; cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; justify-content: center; min-height: 48px; padding: 11px 20px; text-decoration: none !important; transition: transform .15s ease, background .15s ease; }
.cs-capacity-button:hover { transform: translateY(-1px); }
.cs-capacity-button:focus-visible, .cs-capacity-scale-button:focus-visible, .cs-capacity-choice:focus-visible, .cs-capacity-chip:focus-visible { outline: 3px solid rgba(49, 178, 186, .42); outline-offset: 2px; }
.cs-capacity-button.is-primary { background: var(--cs-primary); color: white; }
.cs-capacity-button.is-accent { background: var(--cs-gold); color: #2a3a3a; }
.cs-capacity-button.is-secondary { background: white; border-color: var(--cs-primary); color: var(--cs-primary); }
.cs-capacity-button:disabled { cursor: wait; opacity: .65; transform: none; }
.cs-capacity-text-button { background: none; border: 0; color: var(--cs-primary); cursor: pointer; font: inherit; font-weight: 700; padding: 10px; }
.cs-capacity-narrow { margin: 0 auto; max-width: 880px; }
.cs-capacity-wide { margin: 0 auto; max-width: 980px; }
.cs-capacity-meter { background: #d6ebec; border-radius: 999px; height: 7px; margin-top: 28px; overflow: hidden; }
.cs-capacity-meter i { background: var(--cs-gold); display: block; height: 100%; }
.cs-capacity-count { color: var(--cs-muted); font-size: 13px; margin: 8px 0 22px; text-align: right; }
.cs-capacity-question-list { display: grid; gap: 12px; }
.cs-capacity-question { align-items: center; background: var(--cs-white); border: 1px solid var(--cs-border); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 18px 28px; justify-content: space-between; padding: 20px 24px; }
.cs-capacity-question > p { flex: 1 1 300px; font-size: 17px; font-weight: 700; margin: 0; }
.cs-capacity-scale { flex: 0 0 auto; }
.cs-capacity-scale-buttons { display: grid; gap: 9px; grid-template-columns: repeat(5, 44px); }
.cs-capacity-scale-button { background: white; border: 1.5px solid var(--cs-border); border-radius: 50%; color: var(--cs-muted); cursor: pointer; font: inherit; font-weight: 700; height: 44px; padding: 0; width: 44px; }
.cs-capacity-scale-button.is-selected { background: var(--cs-primary); border-color: var(--cs-primary); color: white; }
.cs-capacity-scale-labels { color: var(--cs-muted); display: flex; font-size: 11px; justify-content: space-between; margin-top: 5px; }
.cs-capacity-nav { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-top: 28px; }
.cs-capacity-error, .cs-capacity-form-status { color: #a23d25; font-weight: 700; margin-top: 12px; }
.cs-capacity-card { background: var(--cs-white); border: 1px solid var(--cs-border); border-radius: 15px; box-shadow: 0 8px 28px rgba(41, 102, 116, .06); padding: clamp(22px, 4vw, 38px); }
.cs-capacity-choices { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cs-capacity-choice, .cs-capacity-chip { background: white; border: 1.5px solid var(--cs-border); border-radius: 999px; color: var(--cs-primary); cursor: pointer; font: inherit; font-weight: 700; padding: 10px 15px; }
.cs-capacity-choice.is-selected { background: var(--cs-primary); border-color: var(--cs-primary); color: white; }
.cs-capacity-snapshot { background: white; border-radius: 16px; box-shadow: 0 12px 36px rgba(41, 102, 116, .12); display: grid; grid-template-columns: minmax(280px, .8fr) minmax(340px, 1.2fr); overflow: hidden; }
.cs-capacity-score-panel { background: var(--cs-primary); color: white; display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 52px); }
.cs-capacity-score-panel .cs-capacity-eyebrow, .cs-capacity-score-panel p { color: white; }
.cs-capacity-big-score { color: var(--cs-gold); font-size: clamp(68px, 9vw, 94px); font-weight: 800; letter-spacing: -.04em; line-height: 1; margin: 14px 0; }
.cs-capacity-big-score small { color: white; font-size: 24px; letter-spacing: 0; }
.cs-capacity-snapshot-copy { padding: clamp(30px, 5vw, 52px); }
.cs-capacity-domain-row { margin: 17px 0; }
.cs-capacity-domain-row > div:first-child { display: flex; font-size: 15px; justify-content: space-between; margin-bottom: 5px; }
.cs-capacity-domain-row span { color: var(--cs-muted); }
.cs-capacity-bar { background: #e5efef; border-radius: 99px; height: 7px; overflow: hidden; }
.cs-capacity-bar i { border-radius: inherit; display: block; height: 100%; }
.cs-capacity-chips { display: flex; gap: 7px; margin: 22px 0 15px; overflow-x: auto; padding-bottom: 5px; }
.cs-capacity-chip { flex: 0 0 auto; font-size: 12px; padding: 7px 11px; }
.cs-capacity-chip.is-current { background: var(--cs-gold); border-color: var(--cs-gold); color: var(--cs-text); }
.cs-capacity-op-question { align-items: center; border-bottom: 1px solid var(--cs-border); display: flex; flex-wrap: wrap; gap: 18px 28px; justify-content: space-between; padding: 20px 0; }
.cs-capacity-op-question:first-child { padding-top: 0; }
.cs-capacity-op-question:last-child { border: 0; padding-bottom: 0; }
.cs-capacity-op-question > div:first-child { flex: 1 1 360px; }
.cs-capacity-op-question p { font-size: 17px; font-weight: 700; margin: 5px 0 0; }
.cs-capacity-kind { color: var(--cs-primary); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cs-capacity-unscored { background: #edf4f4; border-radius: 99px; color: var(--cs-muted); font-size: 10px; letter-spacing: 0; margin-left: 8px; padding: 3px 7px; text-transform: none; }
.cs-capacity-contact { background: white; border-radius: 16px; margin: 0 auto; max-width: 700px; padding: clamp(28px, 5vw, 50px); }
.cs-capacity-contact form { display: grid; gap: 18px; margin-top: 28px; }
.cs-capacity-contact label:not(.cs-capacity-consent) { color: var(--cs-primary); display: grid; font-weight: 800; gap: 6px; }
.cs-capacity-contact input[type="text"], .cs-capacity-contact input[type="email"] { border: 1.5px solid var(--cs-border); border-radius: 7px; color: var(--cs-text); font: inherit; padding: 12px 13px; width: 100%; }
.cs-capacity-contact input:focus { border-color: var(--cs-bright); box-shadow: 0 0 0 3px rgba(49, 178, 186, .15); outline: 0; }
.cs-capacity-optional { color: var(--cs-muted); font-size: 12px; font-weight: 400; }
.cs-capacity-consent { align-items: flex-start; display: flex; gap: 10px; }
.cs-capacity-consent input { height: 18px; margin-top: 3px; width: 18px; }
.cs-capacity-honeypot { left: -9999px !important; position: absolute !important; }
.cs-capacity-results { display: grid; gap: 22px; }
.cs-capacity-results-intro { max-width: 800px; }
.cs-capacity-results-grid { display: grid; gap: 22px; grid-template-columns: minmax(280px, .75fr) minmax(300px, 1.25fr); }
.cs-capacity-radar { overflow-x: auto; padding: 10px 0; }
.cs-capacity-radar svg { display: block; font-family: inherit; min-width: 620px; width: 100%; }
.cs-capacity-radar text { fill: var(--cs-text); font-size: 12px; }
.cs-capacity-ranking-head { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; margin-bottom: 20px; }
.cs-capacity-legend { display: flex; flex-wrap: wrap; font-size: 11px; gap: 7px 12px; max-width: 440px; }
.cs-capacity-legend span { align-items: center; display: flex; gap: 5px; }
.cs-capacity-legend i { border-radius: 50%; height: 9px; width: 9px; }
.cs-capacity-ranking-row { align-items: center; border-top: 1px solid var(--cs-border); display: grid; gap: 12px; grid-template-columns: 30px minmax(0, 1fr) 48px; padding: 14px 0; }
.cs-capacity-rank { color: var(--cs-muted); font-weight: 800; }
.cs-capacity-ranking-row small { color: var(--cs-muted); display: block; margin-bottom: 6px; }
.cs-capacity-ai { align-items: center; display: flex; gap: 30px; justify-content: space-between; }
.cs-capacity-ai h2 { font-size: 22px; }
.cs-capacity-ai > strong { color: var(--cs-primary); font-size: 34px; white-space: nowrap; }
.cs-capacity-needs { display: grid; gap: 15px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.cs-capacity-need { background: white; border: 1px solid var(--cs-border); border-radius: 12px; padding: 21px; }
.cs-capacity-need > div { color: var(--cs-primary); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cs-capacity-need p { color: var(--cs-muted); margin-bottom: 0; }
.cs-capacity-reassurance { background: #fdf8f0; border-left: 5px solid var(--cs-gold); margin: 20px 0 0 !important; padding: 18px 20px; }
.cs-capacity-result-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cs-capacity-debrief { align-items: center; background: var(--cs-primary); border-radius: 15px; color: white; display: flex; gap: 30px; justify-content: space-between; padding: clamp(26px, 5vw, 45px); }
.cs-capacity-debrief .cs-capacity-eyebrow, .cs-capacity-debrief h2 { color: white; }
.cs-capacity-debrief p { margin-bottom: 0; max-width: 700px; }
.cs-print-only { display: none; }
.cs-capacity-editor-placeholder { background: #eaf3f3; border: 1px dashed #296674; color: #2a3a3a; padding: 28px; text-align: center; }

@media (max-width: 900px) {
  .cs-capacity-hero { grid-template-columns: 1fr; min-height: 0; }
  .cs-capacity-hero-art { display: none; }
  .cs-capacity-discover { max-width: 560px; }
  .cs-capacity-results-grid, .cs-capacity-snapshot { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .cs-capacity-header-inner { padding-block: 10px; }
  .cs-capacity-progress { justify-content: space-between; width: 100%; }
  .cs-capacity-progress-item { font-size: 11px; gap: 4px; }
  .cs-capacity-main { padding: 30px 15px 64px; }
  .cs-capacity-hero, .cs-capacity-card, .cs-capacity-contact { border-radius: 12px; padding: 22px 18px; }
  .cs-capacity-question { align-items: stretch; padding: 18px; }
  .cs-capacity-scale { width: 100%; }
  .cs-capacity-scale-buttons { gap: 7px; grid-template-columns: repeat(5, minmax(42px, 1fr)); }
  .cs-capacity-scale-button { height: 42px; width: 100%; }
  .cs-capacity-nav .cs-capacity-button { flex: 1 1 140px; }
  .cs-capacity-op-question { align-items: stretch; }
  .cs-capacity-radar svg { min-width: 540px; }
  .cs-capacity-ai, .cs-capacity-debrief { align-items: stretch; flex-direction: column; }
  .cs-capacity-result-actions .cs-capacity-button { width: 100%; }
  .cs-capacity-footer { flex-direction: column; }
}

@media print {
  @page { margin: 12mm; size: A4; }
  .cs-capacity-root * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  .cs-capacity-app { background: white !important; }
  .cs-no-print { display: none !important; }
  .cs-print-only { display: block !important; font-size: 12px; margin-bottom: 10px; }
  .cs-capacity-main { max-width: none; padding: 0; }
  .cs-capacity-results { gap: 12px; }
  .cs-capacity-card, .cs-capacity-score-panel, .cs-capacity-debrief, .cs-capacity-need { break-inside: avoid; box-shadow: none; }
  .cs-capacity-radar { overflow: visible; }
  .cs-capacity-radar svg { min-width: 0; }
  .cs-capacity-debrief { color: white !important; }
}
