  /* Growth Score assessment. Design system v1 (September 26, 2026): the app's class
     names stay; buttons, inputs, the sample panel and the results card move onto the
     system. Square corners, one blue, Plex Mono for data labels, 14px floor. */
  .aq-wrap { max-width: 760px; margin: 0 auto; padding: 72px 24px 96px; }
  .aq-hide { display: none; }
  .aq-intro-title { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: clamp(2.5rem, 5.2vw, 4.5rem); letter-spacing: -0.03em; line-height: 1; margin-bottom: 24px; }
  .aq-intro-sub { font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.55; color: var(--ink-2); max-width: 56ch; margin-bottom: 18px; }
  .aq-intro-meta { display: flex; gap: 18px; flex-wrap: wrap; font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--blue); margin-bottom: 20px; }
  .aq-intro-meta-item + .aq-intro-meta-item::before { content: '\00b7'; margin-right: 18px; color: var(--muted); }
  .aq-intro-copy { color: var(--muted); max-width: 58ch; margin-bottom: 26px; }
  .aq-get { margin: 40px 0; border-top: 1px solid var(--ink); padding-top: 20px; }
  .aq-get h3 { font-weight: 600; font-size: 1.05rem; margin-bottom: 8px; }
  .aq-get ul { list-style: none; margin: 0; padding: 0; }
  .aq-get li { padding: 12px 0 12px 36px; border-bottom: 1px solid var(--line); position: relative; color: var(--ink); }
  .aq-get li::before, .aq-lead-feat::before { content: ''; position: absolute; left: 0; top: 13px; width: 22px; height: 22px; background: var(--blue); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
  /* The sample result: a notched panel on the wash; bars sit on a hairline. */
  .aq-sample { background: var(--wash); padding: clamp(28px, 3vw, 44px); margin-top: 40px; clip-path: polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, 0 100%); }
  .aq-sample-label { font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid var(--ink); }
  .aq-sample-score { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 600; font-size: 3.5rem; line-height: 1; letter-spacing: -0.035em; color: var(--blue); }
  .aq-sample-max { color: var(--muted); }
  .aq-sample-state { font-weight: 600; margin: 4px 0 18px; }
  .aq-sample-bar { display: grid; grid-template-columns: 200px 1fr; gap: 14px; align-items: center; padding: 7px 0; }
  .aq-sample-bar span { font-size: 0.9375rem; color: var(--ink-2); }
  .aq-sample-track { position: relative; height: 10px; background: linear-gradient(var(--rule), var(--rule)) center / 100% 1px no-repeat; overflow: hidden; }
  .aq-sample-fill { height: 100%; background: var(--blue); }
  .aq-sample-constraints { margin-top: 20px; border-top: 1px solid var(--rule); padding-top: 16px; }
  .aq-sample-constraints-title { font-weight: 600; margin-bottom: 6px; }
  .aq-sample-constraint { color: var(--muted); font-size: 0.9375rem; padding: 4px 0; }
  .aq-progress { margin-bottom: 36px; }
  .aq-pbar-track { height: 4px; background: var(--line); }
  .aq-pbar-fill { height: 100%; width: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--ease-expo); }
  .aq-pbar-meta { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
  .aq-q-num { font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--blue); margin-bottom: 12px; }
  .aq-q-text { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 28px; }
  .aq-opts { border-top: 1px solid var(--ink); }
  .aq-opt { display: grid; grid-template-columns: 22px 1fr; gap: 16px; align-items: start; padding: 16px 12px; border-bottom: 1px solid var(--rule); cursor: pointer; transition: background 0.2s var(--ease); }
  .aq-opt:hover { background: var(--wash); }
  .aq-opt.selected { background: var(--blue-soft); }
  .aq-opt:hover .aq-opt-text { color: var(--blue); }
  .aq-opt-radio { width: 20px; height: 20px; border: 1.5px solid var(--rule); background: var(--paper); margin-top: 3px; transition: border-color 0.2s var(--ease-expo), background 0.2s var(--ease-expo); }
  .aq-opt.selected .aq-opt-radio { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 4px var(--paper); }
  .aq-opt-text { font-size: 1.05rem; }
  .aq-nav { display: flex; justify-content: space-between; margin-top: 28px; }
  /* Square, 52px, the site's button. */
  .aq-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; font-weight: 600; font-size: 1rem; padding: 0 24px; border: 1.5px solid var(--blue); border-radius: 0; cursor: pointer; font-family: inherit; transition: background 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease); }
  .aq-btn:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
  .aq-btn-primary { background: var(--blue); color: var(--on-dark); }
  .aq-btn-primary:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
  .aq-btn-secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
  .aq-btn-secondary:hover { background: var(--ink); color: var(--on-dark); }
  .aq-btn-lg { min-height: 56px; padding: 0 28px; font-size: 1.0625rem; }
  .slide-in-right, .slide-in-left { animation: aqIn 0.4s var(--ease-expo) both; }
  @keyframes aqIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  .aq-lead-hd h2 { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.8rem); letter-spacing: -0.028em; line-height: 1.05; margin-bottom: 14px; }
  .aq-lead-hd p { color: var(--muted); margin-bottom: 22px; max-width: 56ch; }
  .aq-lead-features { border-top: 1px solid var(--ink); margin-bottom: 32px; }
  .aq-lead-feat { padding: 12px 0 12px 36px; border-bottom: 1px solid var(--line); position: relative; }
  .aq-lead-feat::before { content: ''; position: absolute; left: 0; top: 17px; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); }
  /* .aq-form-row, .aq-form-group and .field-error live in _shell/site.css, shared with
     the /contact/ form. */
  .aq-form-privacy { margin-top: 12px; font-size: 0.875rem; color: var(--muted); }
  .aq-loading { text-align: center; padding: 96px 0; }
  .aq-spinner { width: 40px; height: 40px; border: 3px solid var(--line); border-top-color: var(--blue); border-radius: 50%; margin: 0 auto 20px; animation: aqSpin 0.9s linear infinite; }
  @keyframes aqSpin { to { transform: rotate(360deg); } }
  .aq-loading-text { font-weight: 600; font-size: 1.1rem; }
  .aq-loading-sub { color: var(--muted); margin-top: 6px; }
  .aq-results-hd h2 { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: clamp(2.1rem, 5vw, 3.5rem); letter-spacing: -0.028em; line-height: 1.04; margin-bottom: 12px; }
  .aq-results-hd p { color: var(--muted); margin-bottom: 28px; }
  .aq-score-hero { display: grid; grid-template-columns: 160px 1fr; gap: 32px; align-items: center; padding: 28px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
  .aq-score-circle { position: relative; width: 140px; height: 140px; }
  .aq-score-circle-bg { fill: none; stroke: var(--line); stroke-width: 10; }
  .aq-score-circle-fill { fill: none; stroke: var(--blue); stroke-width: 10; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset 1.2s var(--ease-expo); }
  .aq-score-num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .aq-score-num .v { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 600; font-size: 2.75rem; line-height: 1; letter-spacing: -0.035em; color: var(--blue); }
  .aq-score-num .l { font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; color: var(--muted); margin-top: 4px; }
  .aq-score-summary h2 { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: 1.6rem; letter-spacing: -0.02em; margin-bottom: 8px; }
  .aq-score-summary p { color: var(--muted); }
  .aq-breakdown { margin-top: 36px; }
  .aq-breakdown-hd { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
  .aq-breakdown-title { font-weight: 600; font-size: 1.1rem; }
  .aq-breakdown-badge { font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--blue); }
  .aq-dim-row { display: grid; grid-template-columns: 220px 1fr 40px; gap: 14px; align-items: center; padding: 8px 0; }
  .aq-dim-label { font-size: 0.9375rem; color: var(--ink-2); }
  .aq-dim-weight { font-family: var(--f-mono); font-size: var(--data); font-weight: 500; letter-spacing: 0.04em; color: var(--muted); }
  .aq-dim-track { height: 10px; background: linear-gradient(var(--rule), var(--rule)) center / 100% 1px no-repeat; overflow: hidden; }
  .aq-dim-fill { height: 100%; background: var(--blue); }
  .aq-dim-fill.score-mid { opacity: 0.6; }
  .aq-dim-fill.score-low { opacity: 0.35; }
  .aq-dim-val { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
  .aq-priorities { margin-top: 40px; }
  .aq-priorities h3 { font-weight: 600; font-size: 1.1rem; margin-bottom: 4px; }
  .aq-priorities > p { color: var(--muted); margin-bottom: 14px; }
  .aq-priority { display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
  .aq-priority-rank { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; color: var(--on-dark); background: var(--blue); }
  .aq-priority-rank.warning { opacity: 0.7; }
  .aq-priority-rank.neutral { opacity: 0.45; }
  .aq-priority h4 { font-weight: 500; font-size: 1rem; }
  .aq-rec { margin-top: 40px; background: var(--wash); padding: 24px 28px; border-left: 4px solid var(--blue); }
  .aq-rec-tag { font-weight: 600; margin-bottom: 6px; }
  /* The results card: the page's one blue panel, notched. */
  .aq-cta-card { margin-top: 40px; background: var(--blue); color: var(--on-dark); padding: clamp(28px, 4vw, 48px); clip-path: polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, 0 100%); }
  .aq-cta-card .aq-btn-primary { background: var(--on-dark); color: var(--ink); border-color: var(--on-dark); }
  .aq-cta-card .aq-btn-primary:hover { background: var(--ink); color: var(--on-dark); border-color: var(--ink); }
  .aq-cta-card .aq-btn-secondary { color: var(--on-dark); border-color: rgba(252, 252, 252, 0.7); }
  .aq-cta-card .aq-btn-secondary:hover { background: var(--on-dark); color: var(--ink); }
  .aq-cta-card a:not(.aq-btn) { color: var(--on-dark); }
  .aq-cta-card h3 { font-family: var(--f-display); font-variation-settings: 'wdth' 108; font-weight: 700; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -0.025em; line-height: 1.1; margin-bottom: 12px; }
  .aq-cta-card p { color: var(--on-blue-muted); margin-bottom: 18px; max-width: 50ch; }
  .aq-cta-note { margin-top: 12px; font-size: 0.875rem; color: var(--on-blue-muted) !important; }
  @media (max-width: 640px) {
    .aq-score-hero { grid-template-columns: 1fr; }
    .aq-dim-row { grid-template-columns: 1fr 40px; }
    .aq-dim-label { grid-column: 1 / -1; }
    .aq-sample-bar { grid-template-columns: 1fr; gap: 4px; }
  }
  @media (prefers-reduced-motion: reduce) { .slide-in-right, .slide-in-left, .aq-spinner { animation: none; } .aq-score-circle-fill { transition: none; } }
