/*
 * Parity layer, generated from the California build.
 * Do not edit by hand: rebuild it instead.
 */

/* ---- base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}
body.co {
  margin: 0;
  background: var(--co-bg);
  color: var(--co-text);
  font-family: var(--co-font-sans);
  font-size: var(--co-fs-body);
  line-height: var(--co-lh-normal);
  letter-spacing: var(--co-ls-body);
  font-weight: var(--co-fw-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
:target { scroll-margin-top: calc(var(--co-header-h) + 24px); }
.co h1, .co h2, .co h3, .co h4, .co h5, .co h6 {
  margin: 0 0 var(--co-space-4);
  font-family: var(--co-font-sans);
  font-weight: var(--co-fw-bold);
  line-height: var(--co-lh-heading);
  letter-spacing: var(--co-ls-heading);
  color: var(--co-primary);
  text-wrap: balance;
}
.co h1 { font-size: var(--co-fs-h1); line-height: var(--co-lh-snug); }
.co h2 { font-size: var(--co-fs-h2); }
.co h3 { font-size: var(--co-fs-h3); }
.co h4 { font-size: var(--co-fs-h4); font-weight: var(--co-fw-semibold); }
.co p { margin: 0 0 var(--co-space-5); }
.co p:last-child { margin-bottom: 0; }
.co a { color: var(--co-link); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.co a:hover { color: var(--co-link-hover); }
.co strong, .co b { font-weight: var(--co-fw-semibold); }
.co small { font-size: var(--co-fs-small); }
.co ul, .co ol { margin: 0 0 var(--co-space-5); padding-left: 1.35em; }
.co li { margin-bottom: var(--co-space-2); }
.co li:last-child { margin-bottom: 0; }
.co img, .co svg:not(.co-icon), .co video { max-width: 100%; height: auto; display: block; }
.co .co-icon { display: block; flex: none; max-width: none; }
.co hr { border: 0; border-top: 1px solid var(--co-border); margin: var(--co-space-10) 0; }
.co code, .co kbd { font-family: var(--co-font-mono); font-size: 0.92em; }
.co-eyebrow {
  font-size: var(--co-fs-eyebrow);
  letter-spacing: var(--co-ls-eyebrow);
  text-transform: uppercase;
  font-weight: var(--co-fw-semibold);
  color: var(--co-secondary-strong);
  margin: 0 0 var(--co-space-3);
  display: block;
}
.co-skip-link {
  position: absolute;
  left: 12px; top: -100px;
  z-index: var(--co-z-skip);
  background: var(--co-primary);
  color: #fff;
  padding: 12px 20px;
  border-radius: var(--co-radius-sm);
  font-weight: var(--co-fw-semibold);
  text-decoration: none;
  transition: top var(--co-dur) var(--co-ease-out);
}
.co-skip-link:focus { top: 12px; color: #fff; }
.co-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.co-sr-only-focusable:focus,
.co-sr-only-focusable:active {
  position: static !important;
  width: auto; height: auto;
  margin: 0; overflow: visible; clip: auto; white-space: normal;
}
.co :focus-visible {
  outline: 3px solid var(--co-focus-ring);
  outline-offset: 2px;
  border-radius: 3px;
}
.co :focus:not(:focus-visible) { outline: none; }
::selection { background: var(--co-success-tint); color: var(--co-alpine-900); }
.co-container {
  width: 100%;
  max-width: calc(var(--co-container-max) + (var(--co-gutter-current) * 2));
  margin-inline: auto;
  padding-inline: var(--co-gutter-current);
}
.co-container--wide { max-width: calc(var(--co-container-wide) + (var(--co-gutter-current) * 2)); }
.co-container--narrow { max-width: calc(var(--co-container-narrow) + (var(--co-gutter-current) * 2)); }
.co-container--reading { max-width: calc(var(--co-reading-max) + (var(--co-gutter-current) * 2)); }
.co-section { padding-block: var(--co-section-y); }
.co-section--lg { padding-block: var(--co-section-y-lg); }
.co-section--tint { background: var(--co-bg-alt); }
.co-section--surface { background: var(--co-surface); }
.co-section--invert { background: var(--co-surface-invert); color: var(--co-text-invert); }
.co-section--invert h1, .co-section--invert h2, .co-section--invert h3, .co-section--invert h4 { color: #fff; }
.co-section--invert .co-eyebrow { color: var(--co-success); }
.co-stack > * + * { margin-top: var(--co-stack); }
.co-grid { display: grid; gap: var(--co-gap-lg); }
.co-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.co-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.co-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1024px) {
.co-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.co-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
.co-grid--2, .co-grid--3, .co-grid--4 { grid-template-columns: minmax(0,1fr); }
}
.co-reveal { opacity: 1; transform: none; }
html.co-js .co-reveal {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity var(--co-dur-slow) var(--co-ease-out),
              transform var(--co-dur-slow) var(--co-ease-out);
  transition-delay: var(--co-reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.co-js .co-reveal.is-visible { opacity: 1; transform: none; will-change: auto; }
html.co-js .co-reveal--left { transform: translate3d(-16px, 0, 0); }
html.co-js .co-reveal--scale { transform: translate3d(0, 10px, 0) scale(.985); }
@media (prefers-reduced-motion: reduce) {
html.co-js .co-reveal,
  html.co-js .co-reveal.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
.co *, .co *::before, .co *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
.co { background: #fff; color: #000; }
}

/* ---- components ---- */
.co-btn {
  --btn-bg: var(--co-primary);
  --btn-fg: var(--co-on-primary);
  --btn-bd: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--co-space-2);
  min-height: var(--co-control-h);
  padding: 0 var(--co-space-6);
  border: 1px solid var(--btn-bd);
  border-radius: var(--co-control-radius);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font: var(--co-fw-semibold) var(--co-fs-button)/1.2 var(--co-font-sans);
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  transition: background-color var(--co-dur) var(--co-ease-out),
              color var(--co-dur) var(--co-ease-out),
              border-color var(--co-dur) var(--co-ease-out),
              transform var(--co-dur-fast) var(--co-ease-out),
              box-shadow var(--co-dur) var(--co-ease-out);
}
.co-btn:hover { background: var(--co-primary-soft); color: var(--btn-fg); transform: translateY(-1px); box-shadow: var(--co-shadow-md); }
.co-btn:active { transform: translateY(0); box-shadow: var(--co-shadow-xs); }
.co-btn[disabled], .co-btn[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.co-btn--lg { min-height: var(--co-control-h-lg); padding-inline: var(--co-space-8); font-size: var(--co-fs-body-lg); }
.co-btn--sm { min-height: var(--co-control-h-sm); padding-inline: var(--co-space-4); font-size: var(--co-fs-small); }
.co-btn--block { display: flex; width: 100%; }
.co-btn--accent { --btn-bg: var(--co-accent); --btn-fg: var(--co-on-accent); }
.co-btn--accent:hover { background: var(--co-accent-strong); color: #fff; }
.co-btn--secondary { --btn-bg: var(--co-secondary); --btn-fg: var(--co-on-secondary); }
.co-btn--secondary:hover { background: var(--co-secondary-strong); }
.co-btn--outline { --btn-bg: transparent; --btn-fg: var(--co-primary); --btn-bd: var(--co-border-strong); }
.co-btn--outline:hover { background: var(--co-primary-tint); border-color: var(--co-primary); color: var(--co-primary); }
.co-btn--ghost { --btn-bg: transparent; --btn-fg: var(--co-primary); }
.co-btn--ghost:hover { background: var(--co-primary-tint); box-shadow: none; }
.co-btn--on-dark { --btn-bg: #fff; --btn-fg: var(--co-primary); }
.co-btn--on-dark:hover { background: var(--co-neutral-100); color: var(--co-primary); }
.co-btn--outline-on-dark { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgba(255,255,255,.34); }
.co-btn--outline-on-dark:hover { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.6); color: #fff; }
.co-btn__arrow { transition: transform var(--co-dur) var(--co-ease-out); flex: none; }
.co-btn:hover .co-btn__arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
.co-btn:hover { transform: none; }
.co-btn:hover .co-btn__arrow { transform: none; }
}
.co-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--co-surface);
  border: 1px solid var(--co-border-soft);
  border-radius: var(--co-radius-lg);
  padding: var(--co-space-6);
  box-shadow: var(--co-shadow-xs);
}
.co-card--flush { padding: 0; overflow: hidden; }
.co-card--tint { background: var(--co-surface-alt); }
.co-card__title { font-size: var(--co-fs-h4); margin-bottom: var(--co-space-2); }
.co-card--linked:focus-within { outline: 3px solid var(--co-focus-ring); outline-offset: 2px; }
.co-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  border-radius: var(--co-radius-pill);
  background: var(--co-primary-tint);
  color: var(--co-primary);
  font-size: var(--co-fs-caption);
  font-weight: var(--co-fw-semibold);
  line-height: 1.4;
}
.co-badge--accent { background: var(--co-accent-tint); color: var(--co-accent-strong); }
.co-badge--neutral { background: var(--co-bg-alt); color: var(--co-text-muted); }
.co-notice {
  display: flex; gap: var(--co-space-3);
  padding: var(--co-space-5);
  border-radius: var(--co-radius-md);
  border: 1px solid var(--co-border-soft);
  background: var(--co-surface-alt);
  font-size: var(--co-fs-small);
  color: var(--co-text-soft);
}
.co-notice strong { color: var(--co-text); }
.co-notice--warning { background: var(--co-warning-tint); border-color: #F0DDBE; }
.co-notice--error { background: var(--co-error-tint); border-color: #F0CDCB; }
.co-notice--success { background: var(--co-success-tint); border-color: #C4E3D3; }
.co-legal-notice {
  border-left: 3px solid var(--co-secondary);
  background: var(--co-surface-alt);
  padding: var(--co-space-5) var(--co-space-6);
  border-radius: 0 var(--co-radius-md) var(--co-radius-md) 0;
  font-size: var(--co-fs-small);
  color: var(--co-text-soft);
}
.co-legal-notice p { margin-bottom: var(--co-space-3); }
.co-review-flag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: var(--co-radius-xs);
  background: var(--co-warning-tint);
  border: 1px dashed var(--co-warning);
  color: var(--co-warning);
  font-size: var(--co-fs-caption);
  font-weight: var(--co-fw-semibold);
}
.co-field { display: flex; flex-direction: column; gap: var(--co-space-2); margin-bottom: var(--co-space-5); }
.co-label { font-size: var(--co-fs-small); font-weight: var(--co-fw-semibold); color: var(--co-text); }
.co-hint { font-size: var(--co-fs-caption); color: var(--co-text-muted); }
.co-input, .co-select, .co-textarea {
  width: 100%;
  min-height: var(--co-control-h);
  padding: 12px 14px;
  border: 1px solid var(--co-border-strong);
  border-radius: var(--co-control-radius);
  background: var(--co-surface);
  color: var(--co-text);
  font: var(--co-fw-regular) var(--co-fs-body)/1.4 var(--co-font-sans);
  transition: border-color var(--co-dur) var(--co-ease-out), box-shadow var(--co-dur) var(--co-ease-out);
}
.co-textarea { min-height: 120px; padding-top: 12px; resize: vertical; }
.co-input:hover, .co-select:hover, .co-textarea:hover { border-color: var(--co-neutral-500); }
.co-input:focus, .co-select:focus, .co-textarea:focus {
  outline: none;
  border-color: var(--co-secondary);
  box-shadow: 0 0 0 3px var(--co-secondary-tint);
}
.co-input[aria-invalid="true"], .co-select[aria-invalid="true"], .co-textarea[aria-invalid="true"] {
  border-color: var(--co-error);
  box-shadow: 0 0 0 3px var(--co-error-tint);
}
.co-error-text {
  display: flex; align-items: flex-start; gap: 6px;
  font-size: var(--co-fs-caption);
  color: var(--co-error);
  font-weight: var(--co-fw-medium);
}
.co-choice {
  position: relative;
  display: flex; align-items: center; gap: var(--co-space-4);
  min-height: 64px;
  padding: var(--co-space-4) var(--co-space-5);
  border: 1.5px solid var(--co-border);
  border-radius: var(--co-radius-md);
  background: var(--co-surface);
  cursor: pointer;
  transition: border-color var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out), box-shadow var(--co-dur) var(--co-ease-out);
}
.co-choice:hover { border-color: var(--co-secondary); background: var(--co-secondary-tint); }
.co-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.co-choice__mark {
  flex: none; width: 22px; height: 22px;
  border: 2px solid var(--co-border-strong);
  border-radius: 50%;
  display: grid; place-items: center;
  transition: border-color var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out);
}
.co-choice--multi .co-choice__mark { border-radius: 6px; }
.co-choice__mark::after {
  content: ""; width: 10px; height: 10px; border-radius: inherit;
  background: #fff; transform: scale(0); transition: transform var(--co-dur) var(--co-ease-spring);
}
.co-choice input:checked ~ .co-choice__mark { border-color: var(--co-secondary); background: var(--co-secondary); }
.co-choice input:checked ~ .co-choice__mark::after { transform: scale(1); }
.co-choice:has(input:checked) { border-color: var(--co-secondary); background: var(--co-secondary-tint); box-shadow: var(--co-shadow-sm); }
.co-choice:has(input:focus-visible) { outline: 3px solid var(--co-focus-ring); outline-offset: 2px; }
.co-choice__label { font-weight: var(--co-fw-semibold); }
.co-choice__desc { display: block; font-weight: var(--co-fw-regular); font-size: var(--co-fs-caption); color: var(--co-text-muted); margin-top: 2px; }
.co-accordion { border-top: 1px solid var(--co-border-soft); }
.co-accordion__item { border-bottom: 1px solid var(--co-border-soft); }
.co-accordion__trigger {
  width: 100%;
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--co-space-4);
  padding: var(--co-space-5) 0;
  background: none; border: 0;
  font: var(--co-fw-semibold) var(--co-fs-h4)/1.4 var(--co-font-sans);
  color: var(--co-primary);
  text-align: left; cursor: pointer;
  min-height: var(--co-tap-min);
}
.co-accordion__trigger:hover { color: var(--co-secondary-strong); }
.co-accordion__icon {
  flex: none; margin-top: 3px;
  transition: transform var(--co-dur) var(--co-ease-out);
}
.co-accordion__trigger[aria-expanded="true"] .co-accordion__icon { transform: rotate(180deg); }
.co-accordion__panel { overflow: hidden; transition: height var(--co-dur) var(--co-ease-out); }
.co-accordion__inner { padding-bottom: var(--co-space-6); color: var(--co-text-soft); max-width: var(--co-reading-max); }
@media (prefers-reduced-motion: reduce) {
.co-accordion__panel { transition: none; }
.co-accordion__trigger[aria-expanded="true"] .co-accordion__icon { transform: none; }
}
.co-breadcrumbs { font-size: var(--co-fs-caption); color: var(--co-text-muted); }
.co-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.co-breadcrumbs li { margin: 0; display: flex; align-items: center; gap: 6px; }
.co-breadcrumbs a { color: var(--co-text-muted); text-decoration: none; }
.co-breadcrumbs a:hover { color: var(--co-link); text-decoration: underline; }
.co-breadcrumbs [aria-current] { color: var(--co-text); font-weight: var(--co-fw-medium); }
.co-breadcrumbs__sep { color: var(--co-neutral-400); }
.co-toc { font-size: var(--co-fs-small); }
.co-toc__title { font-size: var(--co-fs-caption); text-transform: uppercase; letter-spacing: var(--co-ls-eyebrow); color: var(--co-text-muted); font-weight: var(--co-fw-semibold); margin-bottom: var(--co-space-3); }
.co-toc ul { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--co-border-soft); }
.co-toc li { margin: 0; }
.co-toc a {
  display: block; padding: 7px 0 7px 14px; margin-left: -2px;
  border-left: 2px solid transparent;
  color: var(--co-text-muted); text-decoration: none; line-height: 1.4;
  transition: color var(--co-dur) var(--co-ease-out), border-color var(--co-dur) var(--co-ease-out);
}
.co-toc a:hover { color: var(--co-link); }
.co-toc a[aria-current] { color: var(--co-primary); border-left-color: var(--co-secondary); font-weight: var(--co-fw-semibold); }
@media (min-width: 1025px) {
.co-toc--sticky { position: sticky; top: calc(var(--co-header-h) + 24px); max-height: calc(100vh - var(--co-header-h) - 48px); overflow-y: auto; }
}
.co-prose { max-width: var(--co-reading-max); font-size: var(--co-fs-body-lg); line-height: var(--co-lh-relaxed); color: var(--co-text-soft); }
.co-prose > * + * { margin-top: var(--co-space-5); }
.co-prose h2 { margin-top: var(--co-space-12); font-size: var(--co-fs-h2); }
.co-prose h3 { margin-top: var(--co-space-10); font-size: var(--co-fs-h3); }
.co-prose h2:first-child, .co-prose h3:first-child { margin-top: 0; }
.co-prose ul, .co-prose ol { padding-left: 1.4em; }
.co-prose li::marker { color: var(--co-secondary); }
.co-prose blockquote {
  margin: var(--co-space-8) 0; padding: var(--co-space-5) var(--co-space-6);
  border-left: 3px solid var(--co-secondary); background: var(--co-secondary-tint);
  border-radius: 0 var(--co-radius-md) var(--co-radius-md) 0; font-size: var(--co-fs-body);
}
.co-prose table { width: 100%; border-collapse: collapse; font-size: var(--co-fs-small); }
.co-prose th, .co-prose td { padding: 12px 14px; border: 1px solid var(--co-border-soft); text-align: left; vertical-align: top; }
.co-prose thead th { background: var(--co-bg-alt); color: var(--co-primary); font-weight: var(--co-fw-semibold); }
.co-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.co-quick-answer {
  padding: var(--co-space-6);
  background: var(--co-primary-tint);
  border: 1px solid #D5DEEC;
  border-radius: var(--co-radius-lg);
}
.co-quick-answer__label { font-size: var(--co-fs-caption); text-transform: uppercase; letter-spacing: var(--co-ls-eyebrow); font-weight: var(--co-fw-semibold); color: var(--co-alpine-600); margin-bottom: var(--co-space-2); }
.co-quick-answer p { font-size: var(--co-fs-body-lg); color: var(--co-text); margin: 0; }
.co-checklist { list-style: none; padding: 0; }
.co-checklist li { display: flex; gap: var(--co-space-3); align-items: flex-start; margin-bottom: var(--co-space-3); }
.co-checklist li::before {
  content: ""; flex: none; width: 20px; height: 20px; margin-top: 3px;
  border-radius: 50%; background: var(--co-secondary-tint);
  box-shadow: inset 0 0 0 1.5px var(--co-secondary);
}
.co-sources { font-size: var(--co-fs-small); }
.co-sources ol { padding-left: 1.3em; }
.co-sources li { margin-bottom: var(--co-space-3); color: var(--co-text-muted); }
.co-source__title { color: var(--co-text); font-weight: var(--co-fw-medium); }
.co-byline { display: flex; flex-wrap: wrap; gap: var(--co-space-4) var(--co-space-6); align-items: center; font-size: var(--co-fs-caption); color: var(--co-text-muted); }
.co-byline__item { display: flex; align-items: center; gap: 6px; }
.co-byline strong { color: var(--co-text); font-weight: var(--co-fw-semibold); }
.co-section-header { max-width: 64ch; margin-bottom: var(--co-space-12); }
.co-section-header--center { margin-inline: auto; text-align: center; }
.co-section-header__title { margin-bottom: var(--co-space-4); }
.co-section-header__intro { font-size: var(--co-fs-body-lg); color: var(--co-text-muted); margin: 0; }
.co-stat { display: flex; flex-direction: column; gap: 6px; }
.co-stat__value { font-size: clamp(2rem, 1.4rem + 2.2vw, 2.75rem); font-weight: var(--co-fw-bold); line-height: 1.05; letter-spacing: var(--co-ls-display); color: var(--co-primary); font-variant-numeric: tabular-nums; }
.co-stat__label { font-size: var(--co-fs-small); color: var(--co-text-soft); font-weight: var(--co-fw-medium); }
.co-stat__source { font-size: var(--co-fs-caption); color: var(--co-text-muted); }
.co-stat__source a { color: inherit; }
.co-section--invert .co-stat__value { color: #fff; }
.co-section--invert .co-stat__label { color: var(--co-text-invert-muted); }
.co-timeline { position: relative; }
.co-timeline__track { position: absolute; left: 19px; top: 8px; bottom: 8px; width: 2px; background: var(--co-border); }
.co-timeline__progress { position: absolute; left: 0; top: 0; width: 100%; height: 0; background: linear-gradient(180deg, var(--co-secondary), var(--co-success)); transition: height var(--co-dur-xslow) var(--co-ease-out); }
.co-timeline__step { position: relative; padding-left: 60px; padding-bottom: var(--co-space-8); }
.co-timeline__step:last-child { padding-bottom: 0; }
.co-timeline__marker {
  position: absolute; left: 0; top: 0;
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--co-surface);
  border: 2px solid var(--co-border);
  color: var(--co-text-muted);
  font-weight: var(--co-fw-bold); font-size: var(--co-fs-small);
  font-variant-numeric: tabular-nums;
  transition: border-color var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out), color var(--co-dur) var(--co-ease-out);
  z-index: 1;
}
.co-timeline__step.is-visible .co-timeline__marker { border-color: var(--co-secondary); background: var(--co-secondary); color: #fff; }
.co-timeline__title { font-size: var(--co-fs-h4); margin-bottom: var(--co-space-2); }
.co-timeline__body { color: var(--co-text-soft); font-size: var(--co-fs-small); max-width: 62ch; }
.co-header {
  position: sticky; top: 0; z-index: var(--co-z-header);
  background: rgba(255,255,255,.86);
  backdrop-filter: saturate(1.6) blur(12px);
  -webkit-backdrop-filter: saturate(1.6) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--co-dur) var(--co-ease-out), box-shadow var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
.co-header { background: #fff; }
}
.co-header.is-stuck { border-bottom-color: var(--co-border-soft); box-shadow: var(--co-shadow-sm); background: rgba(255,255,255,.95); }
.co-header__inner { display: flex; align-items: center; gap: var(--co-space-6); min-height: var(--co-header-h); }
.co-header__brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--co-primary); font-weight: var(--co-fw-bold); font-size: 1.0625rem; letter-spacing: -0.02em; flex: none; }
.co-header__brand:hover { color: var(--co-primary); }
.co-header__nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.co-header__actions { display: flex; align-items: center; gap: var(--co-space-3); flex: none; }
.co-navlink {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 9px 12px; border-radius: var(--co-radius-sm);
  color: var(--co-text-soft); text-decoration: none;
  font: var(--co-fw-medium) var(--co-fs-nav)/1.2 var(--co-font-sans);
  background: none; border: 0; cursor: pointer;
  transition: color var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out);
}
.co-navlink:hover { color: var(--co-primary); background: var(--co-primary-tint); }
.co-navlink[aria-current="page"], .co-navlink.is-active { color: var(--co-primary); font-weight: var(--co-fw-semibold); }
.co-navlink__chev { transition: transform var(--co-dur) var(--co-ease-out); }
[data-co-mega].is-open .co-navlink__chev { transform: rotate(180deg); }
[data-co-mega].is-open .co-navlink { color: var(--co-primary); background: var(--co-primary-tint); }
.co-mega { position: relative; }
.co-mega__panel {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
  width: min(920px, calc(100vw - 48px));
  background: var(--co-surface);
  border: 1px solid var(--co-border-soft);
  border-radius: var(--co-radius-xl);
  box-shadow: var(--co-shadow-xl);
  padding: var(--co-space-8);
  z-index: var(--co-z-dropdown);
  animation: co-mega-in var(--co-dur) var(--co-ease-out);
}
.co-mega__panel[hidden] { display: none; }
@keyframes co-mega-in { from { opacity: 0; transform: translateX(-50%) translateY(-6px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
@media (prefers-reduced-motion: reduce) {
.co-mega__panel { animation: none; }
}
.co-mega__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--co-space-6) var(--co-space-8); }
.co-mega__heading { font-size: var(--co-fs-caption); text-transform: uppercase; letter-spacing: var(--co-ls-eyebrow); color: var(--co-text-muted); font-weight: var(--co-fw-semibold); margin-bottom: var(--co-space-3); }
.co-mega__list { list-style: none; margin: 0; padding: 0; }
.co-mega__link { display: block; padding: 9px 12px; margin-left: -12px; border-radius: var(--co-radius-sm); text-decoration: none; color: var(--co-text); transition: background-color var(--co-dur) var(--co-ease-out); }
.co-mega__link:hover { background: var(--co-bg-alt); color: var(--co-primary); }
.co-mega__link strong { display: block; font-weight: var(--co-fw-semibold); font-size: var(--co-fs-small); }
.co-mega__link span { display: block; font-size: var(--co-fs-caption); color: var(--co-text-muted); margin-top: 1px; }
.co-mega__feature { grid-column: span 1; background: var(--co-primary-tint); border-radius: var(--co-radius-lg); padding: var(--co-space-5); }
.co-nav-toggle { display: none; }
@media (max-width: 1200px) {
.co-header__nav { display: none; }
.co-header__actions .co-btn--nav-cta { display: none; }
.co-nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--co-tap-min); height: var(--co-tap-min);
    margin-left: auto;
    border: 1px solid var(--co-border); border-radius: var(--co-radius-sm);
    background: var(--co-surface); color: var(--co-primary); cursor: pointer;
  }
.co-header__inner { min-height: var(--co-header-h-mobile); gap: var(--co-space-3); }
}
.co-navpanel {
  position: fixed; inset: 0;
  width: 100%; height: 100%;
  height: 100dvh;
  z-index: var(--co-z-modal);
  background: var(--co-surface);
  display: flex; flex-direction: column;
  overscroll-behavior: contain;
}
.co-navpanel[hidden] { display: none; }
html.co-nav-open { overflow: hidden; }
.co-navpanel__head { display: flex; align-items: center; justify-content: space-between; gap: var(--co-space-4); padding: var(--co-space-4) var(--co-gutter-mobile); border-bottom: 1px solid var(--co-border-soft); flex: none; }
.co-navpanel__body { flex: 1; overflow-y: auto; padding: var(--co-space-5) var(--co-gutter-mobile) var(--co-space-8); -webkit-overflow-scrolling: touch; }
.co-navpanel__foot { flex: none; padding: var(--co-space-4) var(--co-gutter-mobile) calc(var(--co-space-4) + env(safe-area-inset-bottom)); border-top: 1px solid var(--co-border-soft); background: var(--co-surface-alt); }
.co-navpanel__group + .co-navpanel__group { margin-top: var(--co-space-2); border-top: 1px solid var(--co-border-soft); padding-top: var(--co-space-2); }
.co-navpanel__link, .co-navpanel__trigger {
  display: flex; align-items: center; justify-content: space-between; gap: var(--co-space-4);
  width: 100%; min-height: 56px; padding: var(--co-space-3) 0;
  background: none; border: 0; cursor: pointer; text-align: left; text-decoration: none;
  font: var(--co-fw-semibold) var(--co-fs-body-lg)/1.3 var(--co-font-sans);
  color: var(--co-primary);
}
.co-navpanel__trigger .co-accordion__icon { transition: transform var(--co-dur) var(--co-ease-out); }
.co-navpanel__trigger[aria-expanded="true"] .co-accordion__icon { transform: rotate(180deg); }
.co-navpanel__sub { overflow: hidden; transition: height var(--co-dur) var(--co-ease-out); }
.co-navpanel__sub[hidden] { display: none; }
.co-navpanel__sub ul { list-style: none; margin: 0; padding: 0 0 var(--co-space-4); }
.co-navpanel__sub a { display: block; min-height: var(--co-tap-min); padding: 11px 0 11px var(--co-space-4); border-left: 2px solid var(--co-border-soft); color: var(--co-text-soft); text-decoration: none; font-size: var(--co-fs-body); }
.co-navpanel__sub a:hover { color: var(--co-link); border-left-color: var(--co-secondary); }
.co-footer { background: var(--co-surface-invert); color: var(--co-text-invert-muted); padding-block: var(--co-space-16) var(--co-space-8); }
.co-footer a { color: var(--co-text-invert-muted); text-decoration: none; }
.co-footer a:hover { color: #fff; text-decoration: underline; }
.co-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(0,1fr)); gap: var(--co-space-10) var(--co-space-8); }
.co-footer__heading { color: #fff; font-size: var(--co-fs-caption); text-transform: uppercase; letter-spacing: var(--co-ls-eyebrow); font-weight: var(--co-fw-semibold); margin-bottom: var(--co-space-4); }
.co-footer__list { list-style: none; margin: 0; padding: 0; }
.co-footer__list li { margin-bottom: var(--co-space-3); font-size: var(--co-fs-small); }
.co-footer__brand { color: #fff; font-weight: var(--co-fw-bold); font-size: 1.125rem; letter-spacing: -0.02em; margin-bottom: var(--co-space-3); display: block; }
.co-footer__blurb { font-size: var(--co-fs-small); max-width: 42ch; }
.co-footer__disclosure { margin-top: var(--co-space-12); padding-top: var(--co-space-8); border-top: 1px solid var(--co-border-invert); font-size: var(--co-fs-caption); line-height: 1.7; }
.co-footer__disclosure p { margin-bottom: var(--co-space-4); }
.co-footer__bottom { margin-top: var(--co-space-6); display: flex; flex-wrap: wrap; gap: var(--co-space-4) var(--co-space-6); justify-content: space-between; font-size: var(--co-fs-caption); }
@media (max-width: 1024px) {
.co-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.co-footer__brandcol { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
.co-footer__grid { grid-template-columns: minmax(0,1fr); }
}
.co-trust { display: flex; flex-wrap: wrap; gap: var(--co-space-4) var(--co-space-8); }
.co-trust__item { display: flex; align-items: center; gap: 9px; font-size: var(--co-fs-small); color: var(--co-text-soft); font-weight: var(--co-fw-medium); }
.co-trust__icon { flex: none; color: var(--co-secondary); }
.co-section--invert .co-trust__item { color: var(--co-text-invert-muted); }
.co-section--invert .co-trust__icon { color: var(--co-success); }

/* ---- blocks ---- */
.co-hero {
  position: relative;
  background: var(--co-surface-invert);
  color: var(--co-text-invert);
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 104px) clamp(56px, 7vw, 96px);
}
.co-hero::before {
  content: "";
  position: absolute;
  inset: -40% 30% auto -10%;
  height: 620px;
  background: radial-gradient(closest-side, rgba(17,154,164,.16), transparent 70%);
  pointer-events: none;
}
.co-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); align-items: center; }
@media (max-width: 1024px) {
.co-hero__inner { grid-template-columns: minmax(0,1fr); gap: 48px; }
}
.co-hero h1, .co-hero h2 { color: #fff; }
.co-hero__title { font-size: var(--co-fs-display); line-height: var(--co-lh-tight); letter-spacing: var(--co-ls-display); color: #fff; margin: 0 0 20px; text-wrap: balance; }
.co-hero__lede { font-size: var(--co-fs-body-lg); line-height: var(--co-lh-relaxed); color: var(--co-text-invert-muted); max-width: 52ch; margin: 0 0 32px; }
.co-hero__actions { display: flex; flex-wrap: wrap; gap: var(--co-space-3); margin-bottom: 32px; }
.co-hero__trust { padding-top: 26px; border-top: 1px solid var(--co-border-invert); }
.co-path { position: relative; }
.co-path__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: co-path; }
.co-path__item { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 18px; align-items: start; padding-bottom: 26px; }
.co-path__item:last-child { padding-bottom: 0; }
.co-path__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 25px; top: 46px; bottom: 6px;
  width: 2px;
  background: rgba(255,255,255,.14);
}
.co-path__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 25px; top: 46px;
  width: 2px; height: 0;
  background: linear-gradient(180deg, var(--co-success), rgba(25,180,190,.25));
  transition: height var(--co-dur-xslow) var(--co-ease-out);
  transition-delay: var(--co-path-delay, 0ms);
}
.co-path__item.is-lit:not(:last-child)::after { height: calc(100% - 52px); }
.co-path__marker {
  position: relative; z-index: 1;
  width: 52px; height: 52px; border-radius: 16px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--co-success);
  transition: background-color var(--co-dur) var(--co-ease-out),
              border-color var(--co-dur) var(--co-ease-out),
              color var(--co-dur) var(--co-ease-out),
              transform var(--co-dur-slow) var(--co-ease-spring),
              opacity var(--co-dur-slow) var(--co-ease-out);
  transition-delay: var(--co-path-delay, 0ms);
}
html.co-js .co-path__marker { opacity: 0; transform: translateY(8px) scale(.94); }
.co-path__item.is-lit .co-path__marker {
  opacity: 1; transform: none;
  background: rgba(25,180,190,.14);
  border-color: rgba(25,180,190,.42);
  color: #fff;
}
.co-path__step { font-size: var(--co-fs-caption); letter-spacing: var(--co-ls-eyebrow); text-transform: uppercase; color: var(--co-success); font-weight: var(--co-fw-semibold); display: block; margin-bottom: 3px; }
.co-path__label { font-size: var(--co-fs-h4); font-weight: var(--co-fw-semibold); color: #fff; margin: 0 0 3px; line-height: 1.3; }
.co-path__desc { font-size: var(--co-fs-small); color: var(--co-text-invert-muted); margin: 0; max-width: 40ch; }
.co-path__body { padding-top: 4px; opacity: 0; transform: translateY(8px); transition: opacity var(--co-dur-slow) var(--co-ease-out), transform var(--co-dur-slow) var(--co-ease-out); transition-delay: var(--co-path-delay, 0ms); }
html:not(.co-js) .co-path__body { opacity: 1; transform: none; }
.co-path__item.is-lit .co-path__body { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
html.co-js .co-path__marker,
  .co-path__body { opacity: 1 !important; transform: none !important; transition: none !important; }
.co-path__item:not(:last-child)::after { transition: none; }
}
.co-typecard {
  position: relative;
  display: flex; flex-direction: column; gap: 14px;
  padding: var(--co-space-6);
  background: var(--co-surface);
  border: 1px solid var(--co-border-soft);
  border-radius: var(--co-radius-lg);
  text-decoration: none;
  min-height: 100%;
  transition: transform var(--co-dur) var(--co-ease-out), box-shadow var(--co-dur) var(--co-ease-out), border-color var(--co-dur) var(--co-ease-out);
  overflow: hidden;
}
.co-typecard::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, var(--co-secondary), var(--co-success));
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--co-dur-slow) var(--co-ease-out);
}
.co-typecard:hover { transform: translateY(-3px); box-shadow: var(--co-shadow-lg); border-color: var(--co-border); }
.co-typecard:hover::before { transform: scaleX(1); }
.co-typecard:focus-within { outline: 3px solid var(--co-focus-ring); outline-offset: 2px; }
.co-typecard__icon {
  width: 48px; height: 48px; border-radius: 14px;
  display: grid; place-items: center;
  background: var(--co-secondary-tint);
  color: var(--co-secondary-strong);
  flex: none;
}
.co-typecard__title { font-size: var(--co-fs-h4); font-weight: var(--co-fw-semibold); color: var(--co-primary); margin: 0; }
.co-typecard__desc { font-size: var(--co-fs-small); color: var(--co-text-muted); margin: 0; }
.co-typecard__more { margin-top: auto; padding-top: 6px; font-size: var(--co-fs-small); font-weight: var(--co-fw-semibold); color: var(--co-secondary-strong); display: inline-flex; align-items: center; gap: 6px; }
.co-typecard:hover .co-typecard__more .co-icon { transform: translateX(3px); }
.co-typecard__more .co-icon { transition: transform var(--co-dur) var(--co-ease-out); }
@media (prefers-reduced-motion: reduce) {
.co-typecard:hover { transform: none; }
.co-typecard:hover .co-typecard__more .co-icon { transform: none; }
}
.co-process { display: grid; gap: var(--co-gap-lg); grid-template-columns: repeat(4, minmax(0,1fr)); counter-reset: co-proc; }
@media (max-width: 1024px) {
.co-process { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
.co-process { grid-template-columns: minmax(0,1fr); }
}
.co-process__step { position: relative; padding-top: 22px; border-top: 2px solid var(--co-border); }
.co-process__step::before {
  content: ""; position: absolute; top: -2px; left: 0; height: 2px; width: 0;
  background: var(--co-secondary);
  transition: width var(--co-dur-xslow) var(--co-ease-out);
  transition-delay: var(--co-reveal-delay, 0ms);
}
.co-process__step.is-visible::before { width: 100%; }
.co-process__num { font-size: var(--co-fs-caption); font-weight: var(--co-fw-bold); color: var(--co-secondary-strong); letter-spacing: var(--co-ls-eyebrow); display: block; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.co-process__title { font-size: var(--co-fs-h4); margin-bottom: 8px; }
.co-process__body { font-size: var(--co-fs-small); color: var(--co-text-muted); margin: 0; }
@media (prefers-reduced-motion: reduce) {
.co-process__step::before { transition: none; width: 100%; }
}
.co-cc {
  background: var(--co-surface);
  border: 1px solid var(--co-border-soft);
  border-radius: var(--co-radius-xl);
  box-shadow: var(--co-shadow-lg);
  overflow: hidden;
  max-width: 640px;
  margin-inline: auto;
}
.co-cc__head { padding: var(--co-space-6) var(--co-space-8) 0; }
.co-cc__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: var(--co-space-4); margin-bottom: 14px; }
.co-cc__label { font-size: var(--co-fs-caption); letter-spacing: var(--co-ls-eyebrow); text-transform: uppercase; font-weight: var(--co-fw-semibold); color: var(--co-secondary-strong); }
.co-cc__count { font-size: var(--co-fs-caption); color: var(--co-text-muted); font-variant-numeric: tabular-nums; }
.co-cc__progress { height: 4px; border-radius: 999px; background: var(--co-bg-alt); overflow: hidden; }
.co-cc__bar { height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--co-secondary), var(--co-success)); transition: width var(--co-dur-slow) var(--co-ease-out); }
.co-cc__body { padding: var(--co-space-6) var(--co-space-8) var(--co-space-8); }
@media (max-width: 560px) {
.co-cc { border-radius: var(--co-radius-lg); }
.co-cc__head { padding-inline: var(--co-space-5); }
.co-cc__body { padding-inline: var(--co-space-5); }
}
.co-cc__step { }
.co-cc__step[hidden] { display: none; }
.co-cc__legend { font-size: var(--co-fs-h3); font-weight: var(--co-fw-bold); color: var(--co-primary); line-height: 1.25; letter-spacing: var(--co-ls-heading); margin: 0 0 8px; padding: 0; border: 0; display: block; width: 100%; }
.co-cc__help { font-size: var(--co-fs-small); color: var(--co-text-muted); margin: 0 0 22px; }
.co-cc__options { display: grid; gap: 10px; margin-bottom: 8px; }
.co-cc__fields { display: grid; gap: 0; }
.co-cc__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 520px) {
.co-cc__row { grid-template-columns: 1fr; }
}
.co-cc__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--co-space-4); margin-top: var(--co-space-6); padding-top: var(--co-space-5); border-top: 1px solid var(--co-border-soft); }
.co-cc__back { background: none; border: 0; color: var(--co-text-muted); font-weight: var(--co-fw-medium); cursor: pointer; padding: 10px 4px; min-height: var(--co-tap-min); display: inline-flex; align-items: center; gap: 6px; }
.co-cc__back:hover { color: var(--co-primary); }
.co-cc__back[hidden] { visibility: hidden; display: inline-flex; }
.co-cc__hp {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.co-cc__status { margin-top: 16px; }
.co-cc__result { text-align: center; padding: var(--co-space-8) var(--co-space-4); }
.co-cc__result-icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto var(--co-space-5); }
.co-cc__result-icon--ok { background: var(--co-success-tint); color: var(--co-success); }
.co-cc__result-icon--err { background: var(--co-error-tint); color: var(--co-error); }
.co-cc__ref { font-family: var(--co-font-mono); font-size: var(--co-fs-small); background: var(--co-bg-alt); padding: 6px 12px; border-radius: var(--co-radius-sm); display: inline-block; margin-top: 10px; }
@media (max-width: 1024px) {
.co-toc--sticky { position: static; }
}
.co-checktool { background: var(--co-surface); border: 1px solid var(--co-border-soft); border-radius: var(--co-radius-lg); padding: var(--co-space-6); box-shadow: var(--co-shadow-xs); }
.co-checktool__head { display: flex; align-items: center; justify-content: space-between; gap: var(--co-space-4); flex-wrap: wrap; margin-bottom: 14px; }
.co-checktool__progress { margin: 0; font-size: var(--co-fs-small); font-weight: var(--co-fw-semibold); color: var(--co-primary); font-variant-numeric: tabular-nums; }
.co-checktool__actions { display: flex; gap: 6px; }
.co-checktool__bar { height: 6px; border-radius: 999px; background: var(--co-bg-alt); overflow: hidden; margin-bottom: var(--co-space-5); }
.co-checktool__fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--co-secondary), var(--co-success)); transition: width var(--co-dur) var(--co-ease-out); }
.co-checktool__list { list-style: none; margin: 0; padding: 0; }
.co-checktool__item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--co-border-soft); min-height: var(--co-tap-min); }
.co-checktool__item:last-child { border-bottom: 0; }
.co-checktool__item input { flex: none; width: 22px; height: 22px; margin-top: 1px; accent-color: var(--co-secondary); cursor: pointer; }
.co-checktool__item label { cursor: pointer; line-height: 1.5; transition: color var(--co-dur) var(--co-ease-out); }
.co-checktool__item.is-done label { color: var(--co-text-muted); text-decoration: line-through; text-decoration-color: var(--co-neutral-400); }
.co-checktool__note { margin: var(--co-space-5) 0 0; padding-top: var(--co-space-4); border-top: 1px solid var(--co-border-soft); }
@media print {
.co-checktool__actions, .co-checktool__bar { display: none; }
.co-checktool { border: 0; box-shadow: none; padding: 0; }
.co-checktool__item { break-inside: avoid; }
}

/* ---- overrides ---- */
.co button.co-navlink,
.co button.co-nav-toggle,
.co button.co-accordion__trigger,
.co button.co-navpanel__trigger,
.co button.co-cc__choice {
  background-color: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
  text-shadow: none;
  color: inherit;
}
.co button.co-navlink {
  
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--co-text-soft);
  padding: 9px 12px;
  border-radius: var(--co-radius-sm);
  font: var(--co-fw-medium) var(--co-fs-nav)/1.2 var(--co-font-sans);
}
.co button.co-navlink:hover,
.co [data-co-mega].is-open button.co-navlink {
  color: var(--co-primary);
  background-color: var(--co-primary-tint);
}
.co button.co-accordion__trigger {
  color: var(--co-primary);
  font: var(--co-fw-semibold) var(--co-fs-h4)/1.4 var(--co-font-sans);
  padding: var(--co-space-5) 0;
  border-radius: 0;
  
  display: flex;
  width: 100%;
  white-space: normal;
  text-align: left;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--co-space-4);
}
.co button.co-accordion__trigger:hover { color: var(--co-secondary-strong); background-color: transparent; }
.co button.co-navpanel__trigger {
  color: var(--co-primary);
  font: var(--co-fw-semibold) var(--co-fs-body-lg)/1.3 var(--co-font-sans);
  padding: var(--co-space-3) 0;
  border-radius: 0;
  display: flex;
  width: 100%;
  white-space: normal;
  text-align: left;
  align-items: center;
  justify-content: space-between;
  gap: var(--co-space-4);
}
.co button.co-nav-toggle { display: none; }
@media (max-width: 1200px) {
.co button.co-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--co-tap-min);
    height: var(--co-tap-min);
    margin-left: auto;
    border: 1px solid var(--co-border);
    border-radius: var(--co-radius-sm);
    background-color: var(--co-surface);
    color: var(--co-primary);
  }
}
.co .co-navpanel button.co-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--co-tap-min);
  height: var(--co-tap-min);
  margin-left: 0;
  border: 1px solid var(--co-border);
  border-radius: var(--co-radius-sm);
  background-color: var(--co-surface);
  color: var(--co-primary);
}
.co a.co-btn,
.co button.co-btn,
.co input.co-btn {
  background-color: var(--btn-bg);
  color: var(--btn-fg);
  border: 1px solid var(--btn-bd);
  border-radius: var(--co-control-radius);
  font: var(--co-fw-semibold) var(--co-fs-button)/1.2 var(--co-font-sans);
  text-decoration: none;
  padding: 0 var(--co-space-6);
  min-height: var(--co-control-h);
}
.co a.co-btn--lg, .co button.co-btn--lg { min-height: var(--co-control-h-lg); padding-inline: var(--co-space-8); font-size: var(--co-fs-body-lg); }
.co a.co-btn--sm, .co button.co-btn--sm { min-height: var(--co-control-h-sm); padding-inline: var(--co-space-4); font-size: var(--co-fs-small); }
.co a.co-btn:hover, .co button.co-btn:hover { background-color: var(--co-primary-soft); color: var(--btn-fg); }
.co a.co-btn--accent:hover, .co button.co-btn--accent:hover { background-color: var(--co-accent-strong); color: #fff; }
.co a.co-btn--secondary:hover, .co button.co-btn--secondary:hover { background-color: var(--co-secondary-strong); color: #fff; }
.co a.co-btn--outline:hover, .co button.co-btn--outline:hover { background-color: var(--co-primary-tint); color: var(--co-primary); border-color: var(--co-primary); }
.co a.co-btn--ghost:hover, .co button.co-btn--ghost:hover { background-color: var(--co-primary-tint); color: var(--co-primary); }
.co a.co-btn--on-dark:hover { background-color: var(--co-neutral-100); color: var(--co-primary); }
.co a.co-btn--outline-on-dark:hover { background-color: rgba(255,255,255,.10); color: #fff; }
.co input.co-input,
.co select.co-select,
.co textarea.co-textarea {
  background-color: var(--co-surface);
  border: 1px solid var(--co-border-strong);
  border-radius: var(--co-control-radius);
  color: var(--co-text);
  font: var(--co-fw-regular) var(--co-fs-body)/1.4 var(--co-font-sans);
  min-height: var(--co-control-h);
  padding: 12px 14px;
}
.co input.co-input:focus,
.co select.co-select:focus,
.co textarea.co-textarea:focus {
  border-color: var(--co-secondary);
  box-shadow: 0 0 0 3px var(--co-secondary-tint);
  outline: none;
}
@media (max-width: 1200px) {
.co .co-header__nav { display: none; }
.co .co-header__actions .co-btn--nav-cta,
  .co .co-header__actions .co-navlink--utility { display: none; }
.co .co-header__inner { min-height: var(--co-header-h-mobile); gap: var(--co-space-3); }
}
@media (min-width: 1201px) and (max-width: 1340px) {
.co .co-header__nav { gap: 0; }
.co button.co-navlink, .co a.co-navlink { padding-inline: 9px; font-size: 0.9375rem; }
}
.co .co-header__nav .co-navlink { white-space: nowrap; }
.co .co-header__brand { white-space: nowrap; }
.co .co-footer a { color: var(--co-text-invert-muted); text-decoration: none; }
.co .co-footer a:hover { color: #fff; text-decoration: underline; }
.co .co-footer__brand { color: #fff; }
.co a.co-header__brand { color: var(--co-primary); text-decoration: none; }
.co a.co-navlink { color: var(--co-text-soft); text-decoration: none; }
.co a.co-navlink:hover { color: var(--co-primary); background-color: var(--co-primary-tint); }
.co a.co-mega__link { color: var(--co-text); text-decoration: none; }
.co a.co-mega__link:hover { color: var(--co-primary); }
.co a.co-navpanel__link { color: var(--co-primary); text-decoration: none; }
.co .co-navpanel__sub a { color: var(--co-text-soft); text-decoration: none; }
.co .co-breadcrumbs a { color: var(--co-text-muted); text-decoration: none; }
.co .co-breadcrumbs a:hover { color: var(--co-link); text-decoration: underline; }
.co .co-toc a { color: var(--co-text-muted); text-decoration: none; }
.co .co-toc a[aria-current] { color: var(--co-primary); }
.co .co-section--invert a:not(.co-btn) { color: #fff; }
.co .co-stat__source a { color: inherit; }
.co .co-section--invert h1,
.co .co-section--invert h2,
.co .co-section--invert h3,
.co .co-section--invert h4 { color: #fff; }
.co .co-hero h1,
.co .co-hero .co-hero__title { color: #fff; }
.co .co-hero .co-hero__lede { color: var(--co-text-invert-muted); }
.co .co-hero .co-path__label { color: #fff; }
.co svg.co-icon { display: block; flex: none; max-width: none; height: auto; }
@media (max-width: 1200px) and (min-width: 641px) {
.co .co-header__actions .co-btn--nav-cta { display: inline-flex; }
}
@media (max-width: 640px) {
.co .co-header__actions .co-btn--nav-cta { display: none; }
}
.co button.co-choice,
.co label.co-choice,
.co button.co-cc__back,
.co a.co-btn,
.co button.co-btn {
  white-space: normal;
}
.co .co-accordion__trigger > span:first-child,
.co .co-navpanel__trigger > span:first-child { min-width: 0; }
.co .co-accordion__icon { flex: none; }
.co-header__brand {
  display: block;
  width: clamp(164px, 16vw, 208px);
  aspect-ratio: 600 / 159;
  background: url("../brand/logo-header.svg") left center / contain no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  flex: none;
  transition: transform var(--co-dur) var(--co-ease-out), opacity var(--co-dur) var(--co-ease-out);
}
.co-header__brand > svg,
.co-header__brand > span { display: none; }
.co-header__brand:hover { transform: translateY(-1px); opacity: .9; }
.co-header__brand:focus-visible { outline-offset: 6px; }
.co-header--invert .co-header__brand,
.co-navpanel .co-header__brand,
.co-section--invert .co-header__brand {
  background-image: url("../brand/logo-header-reversed.svg");
}
.co-header__brand:has(> img) {
  display: flex;
  align-items: center;
  width: auto;
  aspect-ratio: auto;
  background: none;
  text-indent: 0;
  overflow: visible;
}
.co-header--invert .co-header__brand:has(> img),
.co-navpanel .co-header__brand:has(> img),
.co-section--invert .co-header__brand:has(> img) {
  background-image: none;
}
.co-footer__brand {
  display: block;
  width: clamp(196px, 20vw, 244px);
  aspect-ratio: 600 / 159;
  background: url("../brand/logo-header-reversed.svg") left center / contain no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: var(--co-space-5);
}
.co-footer__brandcol .co-footer__blurb::before {
  content: "Support When You Need It Most";
  display: block;
  margin-bottom: var(--co-space-4);
  padding-left: 42px;
  position: relative;
  color: #fff;
  font-weight: var(--co-fw-semibold);
  font-style: italic;
  font-size: var(--co-fs-small);
  letter-spacing: .01em;
}
.co-footer__brandcol .co-footer__blurb::after {
  content: "";
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background: var(--co-rust-600);
  transform: translateY(-2.35em);
}
.co-footer__brandcol .co-footer__blurb { position: relative; }
.co-header,
.co-header--static {
  position: sticky;
  top: 0;
  z-index: var(--co-z-header);
  background: var(--co-glass);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid transparent;
  transition: background-color var(--co-dur) var(--co-ease-out),
              border-color var(--co-dur) var(--co-ease-out),
              box-shadow var(--co-dur) var(--co-ease-out);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
.co-header, .co-header--static { background: #fff; }
}
.co-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--co-grad-rule);
  opacity: 0;
  transition: opacity var(--co-dur) var(--co-ease-out);
}
.co-header.is-stuck {
  background: rgba(255,255,255,.94);
  border-bottom-color: var(--co-border-soft);
  box-shadow: 0 6px 24px -12px rgba(3,31,58,.28);
}
.co-header.is-stuck::after { opacity: .9; }
.co-header__inner { min-height: 84px; gap: var(--co-space-8); }
@media (max-width: 1080px) {
.co-header__inner { min-height: 68px; gap: var(--co-space-4); }
}
.co-navlink {
  position: relative;
  font-weight: var(--co-fw-semibold);
  color: var(--co-alpine-800);
  padding: 10px 14px;
}
.co-navlink::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: var(--co-rust-600);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--co-dur) var(--co-ease-out);
}
.co-navlink:hover { background: transparent; color: var(--co-alpine-900); }
.co-navlink:hover::after,
.co-navlink[aria-current="page"]::after,
.co-navlink.is-active::after { transform: scaleX(1); }
[data-co-mega].is-open .co-navlink { background: transparent; }
[data-co-mega].is-open .co-navlink::after { transform: scaleX(1); }
.co-mega__panel {
  border-radius: var(--co-radius-2xl);
  border-color: var(--co-border-soft);
  box-shadow: 0 40px 80px -24px rgba(3,31,58,.28), 0 12px 28px -12px rgba(3,31,58,.12);
  padding: var(--co-space-10);
}
.co-mega__link {
  border: 1px solid transparent;
  transition: background-color var(--co-dur) var(--co-ease-out),
              border-color var(--co-dur) var(--co-ease-out),
              transform var(--co-dur) var(--co-ease-out);
}
.co-mega__link:hover {
  background: var(--co-alpine-50);
  border-color: var(--co-alpine-100);
  transform: translateX(3px);
}
.co-mega__feature {
  background: var(--co-grad-alpine);
  color: #fff;
  box-shadow: var(--co-glow-alpine);
}
.co-mega__feature .co-mega__heading { color: var(--co-rust-400); }
.co-mega__feature a { color: #fff; }
.co-btn {
  border-radius: var(--co-radius-pill);
  font-weight: var(--co-fw-semibold);
  letter-spacing: -.005em;
  will-change: transform;
}
.co-btn--accent {
  background: var(--co-grad-rust);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--co-glow-rust);
}
.co-btn--accent:hover {
  background: var(--co-grad-rust);
  filter: brightness(1.06);
  box-shadow: 0 16px 40px -10px rgba(229,2,14,.55);
  transform: translateY(-2px);
}
.co-btn--accent:active { transform: translateY(0); filter: brightness(.97); }
.co-btn:not(.co-btn--accent):not(.co-btn--outline):not(.co-btn--ghost):not(.co-btn--on-dark):not(.co-btn--outline-on-dark) {
  background: var(--co-grad-alpine);
  box-shadow: var(--co-glow-alpine);
}
.co-btn--outline {
  border-width: 1.5px;
  border-color: var(--co-alpine-200, var(--co-border-strong));
  background: rgba(255,255,255,.6);
}
.co-btn--outline:hover {
  border-color: var(--co-alpine-900);
  background: #fff;
  color: var(--co-alpine-900);
}
@keyframes co-cta-breathe {
  0%, 100% { box-shadow: var(--co-glow-rust); }
  50%      { box-shadow: 0 14px 38px -8px rgba(229,2,14,.62); }
}
.co-btn--accent.co-btn--lg { animation: co-cta-breathe 3.6s var(--co-ease-in-out) 2s 3; }
@media (prefers-reduced-motion: reduce) {
.co-btn--accent.co-btn--lg { animation: none; }
.co-btn--accent:hover { transform: none; }
}
.co-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--co-grad-hero);
  color: #fff;
  padding-block: clamp(72px, 9vw, 132px);
}
.co-hero::before {
  
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  opacity: .05;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.co-hero::after {
  
  content: "";
  position: absolute; z-index: -1;
  right: -8%; bottom: -32%;
  width: min(760px, 70vw); aspect-ratio: 1;
  background: radial-gradient(circle at 50% 50%, rgba(30,102,171,.30) 0%, transparent 62%);
  pointer-events: none;
}
.co-hero__title {
  font-size: clamp(2.4rem, 1.3rem + 4.4vw, 4.15rem);
  line-height: 1.03;
  letter-spacing: -.03em;
  color: #fff;
  text-wrap: balance;
  max-width: 17ch;
}
.co-hero__title em,
.co-hero__title strong {
  font-style: normal;
  color: var(--co-rust-500);
  font-weight: inherit;
}
.co-hero__lede {
  font-size: clamp(1.05rem, .98rem + .5vw, 1.3rem);
  line-height: 1.62;
  color: #C6D6E8;
  max-width: 56ch;
  margin-top: var(--co-space-6);
}
.co-hero__actions { margin-top: var(--co-space-10); gap: var(--co-space-4); display: flex; flex-wrap: wrap; }
.co-hero__trust {
  margin-top: var(--co-space-10);
  padding-top: var(--co-space-8);
  border-top: 1px solid rgba(255,255,255,.12);
}
.co-hero .co-eyebrow { color: var(--co-rust-400); }
@keyframes co-rise { from { opacity: 0; transform: translate3d(0,18px,0); } to { opacity: 1; transform: none; } }
html.co-js .co-hero__title,
html.co-js .co-hero__lede,
html.co-js .co-hero__actions,
html.co-js .co-hero__trust {
  animation: co-rise .8s var(--co-ease-out) both;
}
html.co-js .co-hero__lede { animation-delay: .10s; }
html.co-js .co-hero__actions { animation-delay: .20s; }
html.co-js .co-hero__trust { animation-delay: .30s; }
.co-path { position: relative; }
.co-path__item {
  position: relative;
  transition: transform var(--co-dur) var(--co-ease-out);
}
.co-path__label { transition: color var(--co-dur) var(--co-ease-out); }
.co-path__item:hover { transform: translateY(-4px); }
.co-path__item:hover .co-path__label { color: var(--co-rust-500); }
.co-typecard,
.co-card {
  position: relative;
  border-radius: var(--co-radius-xl);
  border: 1px solid var(--co-border-soft);
  background: var(--co-surface);
  box-shadow: var(--co-shadow-sm);
  transition: transform var(--co-dur) var(--co-ease-out),
              box-shadow var(--co-dur) var(--co-ease-out),
              border-color var(--co-dur) var(--co-ease-out);
}
.co-typecard::before {
  
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(150deg, var(--co-rust-600), transparent 42%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  opacity: 0;
  transition: opacity var(--co-dur) var(--co-ease-out);
  pointer-events: none;
}
.co-typecard:hover,
.co-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--co-shadow-lg);
  border-color: var(--co-alpine-100);
}
.co-typecard:hover::before { opacity: 1; }
.co-typecard__icon {
  display: grid; place-items: center;
  width: 56px; height: 56px;
  border-radius: var(--co-radius-lg);
  background: var(--co-alpine-50);
  color: var(--co-alpine-800);
  margin-bottom: var(--co-space-5);
  transition: background-color var(--co-dur) var(--co-ease-out),
              color var(--co-dur) var(--co-ease-out),
              transform var(--co-dur) var(--co-ease-spring);
}
.co-typecard:hover .co-typecard__icon {
  background: var(--co-grad-rust);
  color: #fff;
  transform: scale(1.06) rotate(-3deg);
}
.co-typecard__title { font-size: var(--co-fs-h4); letter-spacing: -.01em; }
.co-typecard__more {
  margin-top: auto;
  color: var(--co-alpine-700);
  font-weight: var(--co-fw-semibold);
  font-size: var(--co-fs-small);
  display: inline-flex; align-items: center; gap: 6px;
}
.co-typecard:hover .co-typecard__more { color: var(--co-rust-700); }
.co-typecard:hover .co-btn__arrow,
.co-typecard:hover .co-typecard__more svg { transform: translateX(4px); }
.co-section-header { margin-bottom: clamp(40px, 5vw, 72px); }
.co-section-header__title { font-size: clamp(1.85rem, 1.3rem + 2.1vw, 2.7rem); letter-spacing: -.022em; }
.co-section-header__intro { font-size: var(--co-fs-body-lg); color: var(--co-text-muted); }
.co-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--co-rust-700);
}
.co-eyebrow::before {
  content: ""; width: 22px; height: 2px; border-radius: 2px;
  background: var(--co-rust-600); flex: none;
}
.co-section--invert { background: var(--co-grad-alpine); }
.co-section--invert .co-eyebrow { color: var(--co-rust-400); }
.co-section--invert .co-eyebrow::before { background: var(--co-rust-500); }
html.co-js .co-reveal {
  transform: translate3d(0, 20px, 0);
  transition-duration: .7s;
}
.co-section--invert :focus-visible,
.co-hero :focus-visible,
.co-footer :focus-visible { outline-color: #fff; }
@media (prefers-reduced-motion: reduce) {
html.co-js .co-hero__title,
  html.co-js .co-hero__lede,
  html.co-js .co-hero__actions,
  html.co-js .co-hero__trust { animation: none; }
.co-typecard:hover, .co-card:hover, .co-path__item:hover { transform: none; }
.co-typecard:hover .co-typecard__icon { transform: none; }
}
.co-footer__brandcol .co-footer__blurb::after { content: none; }
.co-footer__brandcol .co-footer__blurb::before {
  content: "Support When You Need It Most";
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 var(--co-space-5);
  padding: 14px 0 0;
  background-image: linear-gradient(var(--co-rust-600), var(--co-rust-600));
  background-size: 30px 2px;
  background-repeat: no-repeat;
  background-position: left top;
  color: #fff;
  font-weight: var(--co-fw-semibold);
  font-style: italic;
  font-size: var(--co-fs-small);
  letter-spacing: .01em;
  text-wrap: balance;
}
.co-typecard__title,
.co-card__title {
  text-wrap: balance;
  font-size: clamp(1.06rem, 1rem + .3vw, 1.22rem);
  line-height: 1.28;
}
.co-typecard { min-height: 100%; }
.co-grid { align-items: stretch; }
.co-trust__item,
.co-grid--4 > .co-reveal {
  transition: transform var(--co-dur) var(--co-ease-out);
}
.co-footer a { text-decoration: none; }
.co-footer a:hover,
.co-footer a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.co-hero { position: relative; isolation: isolate; overflow: hidden; }
.co-hero__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.co-hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  
  transform: scale(1.04);
  opacity: 0;
  transition: opacity 1.1s var(--co-ease-out);
}
.co-hero__video.is-ready { opacity: 1; }
.co-hero__scrim {
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(100deg, rgba(1,13,25,var(--scrim-a,.94)) 0%, rgba(3,31,58,var(--scrim-b,.86)) 42%, rgba(3,31,58,var(--scrim-c,.62)) 100%),
    linear-gradient(180deg, rgba(1,13,25,.72) 0%, transparent 26%, transparent 62%, rgba(1,13,25,.78) 100%);
}
.co-hero--dim-soft   .co-hero__scrim { --scrim-a:.86; --scrim-b:.72; --scrim-c:.42; }
.co-hero--dim-medium .co-hero__scrim { --scrim-a:.90; --scrim-b:.80; --scrim-c:.54; }
.co-hero--dim-strong .co-hero__scrim { --scrim-a:.94; --scrim-b:.86; --scrim-c:.62; }
.co-hero__glow {
  position: absolute; z-index: -1;
  right: -6%; top: -18%;
  width: min(720px, 60vw); aspect-ratio: 1;
  background: radial-gradient(circle at 50% 50%, rgba(229,2,14,.26) 0%, transparent 62%);
  pointer-events: none;
}
.co-hero--video { background: #010D19; }
.co-hero__inner { position: relative; z-index: 1; }
.co-hero--split .co-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: clamp(32px, 4.5vw, 72px);
  align-items: center;
}
.co-hero--split .co-hero__title { max-width: 15ch; }
.co-hero--split .co-hero__lede { max-width: 48ch; }
.co-hero__content { min-width: 0; }
.co-hero__aside { min-width: 0; }
.co-glass {
  position: relative;
  border-radius: var(--co-radius-2xl);
  background: linear-gradient(155deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  -webkit-backdrop-filter: blur(22px) saturate(150%);
          backdrop-filter: blur(22px) saturate(150%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 32px 70px -22px rgba(1,13,25,.72),
    0 2px 0 0 rgba(255,255,255,.10) inset,
    0 -1px 0 0 rgba(255,255,255,.05) inset;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
.co-glass { background: rgba(4,26,48,.94); }
}
.co-glass::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(150deg, rgba(255,255,255,.45), rgba(255,255,255,.06) 38%, rgba(229,2,14,.30) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  pointer-events: none;
}
.co-hero__panel {
  padding: clamp(22px, 2.2vw, 32px);
  transition: transform var(--co-dur-slow) var(--co-ease-out), box-shadow var(--co-dur-slow) var(--co-ease-out);
}
.co-hero__panel:hover { transform: translateY(-2px); box-shadow: 0 40px 84px -22px rgba(1,13,25,.8), 0 2px 0 0 rgba(255,255,255,.12) inset; }
.co-hero__panel-inner { min-height: 430px; display: flex; flex-direction: column; }
.co-hero__panel-note {
  margin: 18px 0 0; padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: var(--co-fs-caption); color: #A9BDD4; text-align: center;
}
@media (prefers-reduced-motion: reduce) {
.co-hero__panel:hover { transform: none; }
}
.co-hero__panel .co-cc__head { margin-bottom: 20px; }
.co-hero__panel .co-cc__eyebrow { color: var(--co-rust-400); }
.co-hero__panel .co-cc__label,
.co-hero__panel .co-cc__count { color: #A9BDD4; }
.co-hero__panel .co-cc__progress { background: rgba(255,255,255,.14); border-radius: 999px; overflow: hidden; height: 4px; }
.co-hero__panel .co-cc__bar { background: var(--co-grad-rust); border-radius: 999px; box-shadow: 0 0 12px rgba(229,2,14,.55); }
.co-hero__panel .co-cc__body { flex: 1; }
.co-hero__panel .co-cc__legend { color: #fff; font-size: clamp(1.15rem,1.05rem+.4vw,1.4rem); line-height: 1.3; letter-spacing: -.015em; }
.co-hero__panel .co-cc__help { color: #A9BDD4; }
.co-hero__panel .co-choice {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  color: #fff;
  min-height: 56px;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
.co-hero__panel .co-choice:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.34);
  transform: translateX(2px);
}
.co-hero__panel .co-choice:has(input:checked) {
  background: rgba(229,2,14,.16);
  border-color: var(--co-rust-500);
  box-shadow: 0 0 0 1px rgba(229,2,14,.35), 0 8px 22px -10px rgba(229,2,14,.6);
}
.co-hero__panel .co-choice__mark { border-color: rgba(255,255,255,.42); }
.co-hero__panel .co-choice input:checked ~ .co-choice__mark { border-color: var(--co-rust-500); background: var(--co-rust-600); }
.co-hero__panel .co-choice__desc { color: #A9BDD4; }
.co-hero__panel .co-label { color: #E4ECF5; }
.co-hero__panel .co-input,
.co-hero__panel .co-select,
.co-hero__panel .co-textarea {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.20);
  color: #fff;
}
.co-hero__panel .co-input::placeholder { color: #7E93AD; }
.co-hero__panel .co-input:focus,
.co-hero__panel .co-select:focus,
.co-hero__panel .co-textarea:focus {
  border-color: var(--co-rust-500);
  box-shadow: 0 0 0 3px rgba(229,2,14,.22);
  background: rgba(255,255,255,.12);
}
.co-hero__panel .co-cc__back { color: #A9BDD4; }
.co-hero__panel .co-cc__back:hover { color: #fff; }
.co-hero__panel .co-cc__nav { margin-top: 20px; }
.co-hero__panel .co-notice { background: rgba(229,2,14,.12); border-color: rgba(229,2,14,.34); color: #FFD9DB; }
.co-hero__panel .co-error-text { color: #FF9AA0; }
.co-hero__panel :focus-visible { outline-color: #fff; }
.co-pathstrip { margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
.co-pathstrip__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 16px;
}
.co-pathstrip__item { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; }
.co-pathstrip__item::after {
  content: ""; position: absolute; right: -8px; top: 50%;
  width: 16px; height: 1px; background: rgba(255,255,255,.18);
}
.co-pathstrip__item:last-child::after { display: none; }
.co-pathstrip__marker {
  flex: none; width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.20);
  color: #fff; font-size: .78rem; font-weight: var(--co-fw-bold);
  font-variant-numeric: tabular-nums;
}
.co-pathstrip__item:first-child .co-pathstrip__marker { background: var(--co-grad-rust); border-color: transparent; box-shadow: 0 0 16px -2px rgba(229,2,14,.6); }
.co-pathstrip__body { min-width: 0; }
.co-pathstrip__label { margin: 0; font-size: var(--co-fs-caption); font-weight: var(--co-fw-semibold); color: #E4ECF5; line-height: 1.25; }
@media (max-width: 1180px) {
.co-hero--split .co-hero__inner { grid-template-columns: minmax(0,1fr); gap: 40px; }
.co-hero--split .co-hero__title { max-width: 18ch; }
.co-hero__aside { max-width: 560px; }
.co-pathstrip__list { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px 12px; }
.co-pathstrip__item::after { display: none; }
}
@media (max-width: 640px) {
.co-hero__panel { padding: 20px 18px; border-radius: var(--co-radius-xl); }
.co-hero__panel-inner { min-height: 0; }
.co-hero__aside { max-width: none; }
.co-pathstrip__list { grid-template-columns: repeat(2, minmax(0,1fr)); }
.co-hero__video { display: none; }
.co-hero__media { background-size: cover; background-position: center; }
}
@media (prefers-reduced-motion: reduce) {
.co-hero__video { transition: none; }
.co-hero__panel .co-choice:hover { transform: none; }
}
.co-hero__panel .co-cc__options { display: grid; gap: 10px; grid-template-columns: minmax(0,1fr); max-height: min(46vh, 420px); overflow-y: auto; overscroll-behavior: contain; padding-right: 2px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.22) transparent; }
.co-hero__panel .co-cc__options:has(> *:nth-child(5)) { grid-template-columns: repeat(2, minmax(0,1fr)); }
.co-hero__panel .co-cc__options::-webkit-scrollbar { width: 6px; }
.co-hero__panel .co-cc__options::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 999px; }
.co-hero__panel .co-choice { min-height: 52px; padding: 11px 14px; gap: 12px; }
.co-hero__panel .co-choice__label { font-size: .94rem; }
.co-hero__panel .co-choice__desc { font-size: .76rem; }
.co-hero__panel .co-choice__mark { width: 20px; height: 20px; }
.co-hero__panel-inner { min-height: 0; }
.co-hero__panel { padding: clamp(20px, 1.9vw, 26px); }
.co-hero--split { padding-block: clamp(52px, 5.4vw, 84px); }
@media (max-width: 560px) {
.co-hero__panel .co-cc__options:has(> *:nth-child(5)) { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 1100px) and (max-width: 1180px) {
.co-hero--split .co-hero__inner { grid-template-columns: minmax(0,1fr) minmax(0,.92fr); gap: 32px; }
.co-hero__aside { max-width: none; }
}
.co .co-hero .co-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  display: block;
  z-index: 0;
  filter: saturate(1.26) contrast(1.06) brightness(1.08);
}
.co .co-hero .co-hero__scrim { z-index: 1; }
.co .co-hero .co-hero__glow { z-index: 2; }
.co .co-hero .co-hero__media::after { z-index: 3; }
.co .co-hero .co-hero__scrim {
  background:
    linear-gradient(100deg, rgba(1,13,25,.90) 0%, rgba(2,26,48,.84) 32%, rgba(3,31,58,.60) 58%, rgba(3,31,58,.26) 100%),
    linear-gradient(180deg, rgba(1,13,25,.60) 0%, rgba(1,13,25,0) 26%, rgba(1,13,25,0) 62%, rgba(1,13,25,.64) 100%);
}
.co .co-hero .co-hero__media::after {
  background: radial-gradient(58% 70% at 78% 50%, rgba(1,13,25,.62) 0%, rgba(1,13,25,.38) 55%, rgba(1,13,25,0) 78%);
}
.co .co-hero .co-eyebrow {
  font-size: .75rem;
  letter-spacing: .16em;
  font-weight: 700;
}
.co .co-hero .co-hero__title {
  font-size: clamp(2.25rem, 1.75rem + 2.2vw, 3.75rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  font-weight: 700;
  margin-bottom: var(--co-space-5);
  text-wrap: balance;
}
.co .co-hero .co-hero__lede {
  font-size: clamp(1.0625rem, 1.02rem + .28vw, 1.1875rem);
  line-height: 1.65;
  letter-spacing: -.005em;
  color: #C6D6E8;
  max-width: 33em;
}
.co .co-hero .co-hero__actions .co-btn {
  font-size: 1.0625rem;
  letter-spacing: -.01em;
}
.co .co-hero .co-glass .co-eyebrow,
.co .co-hero .co-glass .co-cc__label {
  font-size: .6875rem;
  letter-spacing: .18em;
  font-weight: 700;
  color: #D2DEEC;
}
.co .co-hero .co-glass .co-cc__legend,
.co .co-hero .co-glass legend {
  font-size: clamp(1.375rem, 1.2rem + .5vw, 1.625rem);
  line-height: 1.25;
  letter-spacing: -.02em;
}
.co .co-hero .co-glass .co-choice__label { color: #fff; }
@media (max-width: 1099px) {
.co .co-hero .co-hero__video { object-position: 55% center; }
.co .co-hero .co-hero__scrim::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1,13,25,.30) 0%, rgba(1,13,25,.46) 100%);
  }
}
.co .co-hero .co-eyebrow { color: #FF7A82; }
.co .co-hero .co-cc__nav button.co-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap !important;
  width: auto;
  gap: 8px;
  min-height: 44px !important;
  font-size: .9375rem !important;
  padding: 0 20px !important;
}
.co .co-hero .co-cc__nav button.co-btn > span { flex: none; }
.co .co-hero .co-cc__back {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap !important;
  gap: 8px;
  min-height: 44px !important;
  font-size: .9375rem !important;
}
.co .co-hero .co-cc__back > span { flex: none; }
.co .co-hero .co-glass { padding: 18px !important; }
.co .co-hero .co-glass .co-cc__legend {
  font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.4rem) !important;
  line-height: 1.24 !important;
}
.co .co-hero .co-glass .co-cc__help { font-size: .8125rem !important; }
.co .co-hero .co-choice {
  min-height: 44px !important;
  padding: 9px 12px !important;
  gap: 10px !important;
}
.co .co-hero .co-glass .co-choice__label { font-size: .875rem !important; }
.co .co-hero .co-glass .co-choice__desc { font-size: .75rem !important; }
.co .co-hero .co-cc__options { gap: 8px !important; }
@media (max-width: 1099px) {
.co .co-hero .co-choice { min-height: 48px !important; padding: 11px 14px !important; }
.co .co-hero .co-cc__nav button.co-btn,
  .co .co-hero .co-cc__back { min-height: 48px !important; }
.co .co-hero .co-glass { padding: 20px !important; }
}
.co .co-hero .co-glass .co-cc__ref {
  display: inline-block;
  color: var(--co-alpine-900);
  background: #EEF2F7;
  border: 1px solid rgba(11,27,51,.16);
  border-radius: var(--co-radius-sm);
  font-family: var(--co-font-mono);
  font-size: .9375rem;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 7px 14px;
  margin-top: 12px;
  -webkit-user-select: all;
  user-select: all;
}
.co .co-hero .co-hero__panel-note {
  border-top: 0;
  margin-top: 10px;
  padding-top: 0;
  font-size: .75rem;
  line-height: 1.45;
  color: #C6D6E8;
  text-align: center;
}
.co .co-hero .co-glass .co-cc__body { padding-bottom: 0; }
.co .co-hero .co-glass .co-cc__nav { margin-top: 14px; padding-top: 14px; }
.co .co-header__actions .co-search-trigger {
  display: inline-flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 8px 0 14px;
  border-radius: var(--co-radius-pill);
  border: 1px solid var(--co-border);
  background: var(--co-surface);
  color: var(--co-text-muted);
  text-decoration: none;
  transition: border-color var(--co-dur) var(--co-ease-out), background-color var(--co-dur) var(--co-ease-out);
}
.co .co-header__actions .co-search-trigger:hover,
.co .co-header__actions .co-search-trigger:focus-visible {
  border-color: var(--co-border-strong);
  background: var(--co-bg-alt);
  color: var(--co-text-soft);
}
.co .co-header__actions .co-search-trigger svg { flex: none; }
.co .co-header__actions .co-search-trigger__label {
  font: var(--co-fw-medium) var(--co-fs-small)/1 var(--co-font-sans);
  white-space: nowrap;
}
.co .co-header__actions .co-search-trigger__kbd {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 6px;
  border-radius: var(--co-radius-xs);
  border: 1px solid var(--co-border);
  background: var(--co-bg-alt);
  color: var(--co-text-muted);
  font: 600 .75rem/1 var(--co-font-mono);
}
@media (max-width: 1200px) {
.co .co-header__actions .co-search-trigger {
    width: 40px; height: 40px; padding: 0; justify-content: center;
    border-color: transparent; background: none;
  }
.co .co-header__actions .co-search-trigger__label,
  .co .co-header__actions .co-search-trigger__kbd { display: none; }
}
@media (min-width: 1201px) and (max-width: 1340px) {
.co .co-header__actions .co-search-trigger__kbd { display: none; }
}
.co-search-overlay {
  position: fixed; inset: 0;
  z-index: calc(var(--co-z-modal) + 1);
  display: flex; justify-content: center;
  padding: 12vh 20px 20px;
  background: rgba(3, 31, 58, .55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  overflow-y: auto;
}
.co-search-overlay[hidden] { display: none; }
html.co-search-open { overflow: hidden; }
.co-search-panel {
  position: relative;
  display: flex; flex-direction: column;
  width: 100%; max-width: 600px; height: fit-content; max-height: 76vh;
  background: var(--co-surface);
  border-radius: var(--co-radius-xl);
  box-shadow: var(--co-shadow-xl);
  overflow: hidden;
  animation: co-search-in var(--co-dur) var(--co-ease-out);
}
@keyframes co-search-in { from { opacity: 0; transform: translateY(-10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
.co-search-panel { animation: none; }
}
.co-search-panel__field {
  display: flex; align-items: center; gap: var(--co-space-3); flex: none;
  padding: var(--co-space-5) var(--co-space-6);
  border-bottom: 1px solid var(--co-border-soft);
  transition: background-color var(--co-dur-fast) var(--co-ease-out);
}
.co-search-panel__field:focus-within { background: var(--co-bg-alt); box-shadow: inset 0 0 0 2px var(--co-alpine-100); }
.co-search-panel__icon { flex: none; color: var(--co-text-muted); }
.co-search-panel__input {
  flex: 1; min-width: 0; border: 0; outline: 0; background: none; padding: 0;
  font: var(--co-fw-regular) var(--co-fs-body-lg)/1.4 var(--co-font-sans);
  color: var(--co-text);
}
.co-search-panel__input::placeholder { color: var(--co-text-muted); }
.co-search-panel__close {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: var(--co-radius-pill);
  border: 0; background: var(--co-bg-alt); color: var(--co-text-muted); cursor: pointer;
  transition: background-color var(--co-dur-fast) var(--co-ease-out), color var(--co-dur-fast) var(--co-ease-out);
}
.co-search-panel__close:hover { background: var(--co-border-soft); color: var(--co-text); }
.co-search-panel__body { flex: 1 1 auto; min-height: 168px; overflow-y: auto; padding: var(--co-space-6); }
.co-search-panel__hint { margin: var(--co-space-8) 0; text-align: center; color: var(--co-text-muted); font-size: var(--co-fs-small); }
.co-search-panel__results { list-style: none; margin: calc(-1 * var(--co-space-2)); padding: 0; }
.co-search-panel__results[hidden] { display: none; }
.co-search-result {
  display: flex; align-items: center; gap: var(--co-space-3);
  padding: var(--co-space-3);
  border-radius: var(--co-radius-md);
  text-decoration: none; color: var(--co-text);
}
.co-search-result__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--co-radius-md);
  background: var(--co-bg-alt); color: var(--co-primary);
}
.co-search-result__title { display: block; font: var(--co-fw-semibold) var(--co-fs-body)/1.3 var(--co-font-sans); }
.co-search-result__type { display: block; margin-top: 2px; font-size: var(--co-fs-caption); color: var(--co-text-muted); }
.co-search-result:hover, .co-search-result.is-active { background: var(--co-bg-alt); }
.co-search-result.is-active .co-search-result__title { color: var(--co-primary); }
.co-search-panel__foot {
  display: flex; justify-content: center; flex: none;
  padding: var(--co-space-3) var(--co-space-6);
  border-top: 1px solid var(--co-border-soft);
  background: var(--co-surface-alt);
  font-size: var(--co-fs-caption); color: var(--co-text-muted);
}
.co-search-panel__foot kbd {
  display: inline-block; padding: 1px 6px; margin: 0 1px;
  border-radius: var(--co-radius-xs); border: 1px solid var(--co-border);
  background: var(--co-surface); font-family: var(--co-font-mono); font-size: .75rem;
}
@media (max-width: 640px) {
.co-search-overlay { padding: 0; }
.co-search-panel { max-width: none; width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
}

/* ---- Colorado wordmark ---- */
.co-header .co-header__brand { background-image: none !important; text-indent: 0 !important; width: auto !important; }
.co-header .co-header__mark { display: grid !important; }
.co-header .co-header__name { display: grid !important; }
.co-header .co-header__brand { display: flex !important; align-items: center; gap: 10px; }
.co-prose.co-prose--full { max-width: none !important; }
.co-header .co-nav { flex-wrap: nowrap; }
.co-hero .co-trust__item { color: var(--co-text-invert-muted); }
.co-hero .co-trust__item svg { color: var(--co-gold-600); }
.co-nav a.co-btn { white-space: nowrap; }
.co-btn { --btn-bg: var(--co-primary); --btn-fg: var(--co-on-primary); --btn-bd: transparent; }
.co-btn--accent { --btn-bg: var(--co-accent); --btn-fg: #fff; --btn-bd: transparent; }
.co-btn--secondary { --btn-bg: var(--co-secondary); --btn-fg: #fff; }
.co-btn--outline { --btn-bg: transparent; --btn-fg: var(--co-primary); --btn-bd: var(--co-border); }
.co-btn--ghost { --btn-bg: transparent; --btn-fg: var(--co-primary); --btn-bd: transparent; }
.co-hero .co-btn--ghost, .co-section--invert .co-btn--ghost, .co-btn--outline-on-dark { --btn-fg: #fff; --btn-bd: rgba(255,255,255,.35); }
.co-hero .co-btn--ghost:hover, .co-section--invert .co-btn--ghost:hover { --btn-bg: rgba(255,255,255,.10); --btn-bd: rgba(255,255,255,.55); }
.co-footer__disclosure strong { color: #fff; }
.co-footer__contact a, .co-footer__contact span { display: inline-flex; align-items: center; gap: 8px; }
.co-process, .co-prose .co-process { list-style: none; margin: 0; padding: 0; }
.co-process > li, .co-prose .co-process > li { list-style: none; margin: 0; padding-left: 0; }
.co-prose .co-process__title, .co-process__title { font-size: var(--co-fs-h4); line-height: 1.28; margin: 0 0 8px; }
/* Elementor puts a gutter on its own containers; the sections bring their own. */
.co .elementor > .e-con { padding-left: 0 !important; padding-right: 0 !important; }
.co .elementor > .e-con:not(.co-section) { padding-top: 0 !important; padding-bottom: 0 !important; }
.co .elementor-widget-co-toc > .elementor-widget-container, .co .elementor-widget-co-byline > .elementor-widget-container, .co .elementor-widget-co-sources > .elementor-widget-container { max-width: 720px; }
/* the marker is filled once the step exists, not only once it animates. */
.co-timeline__marker { border-color: var(--co-secondary); background: var(--co-secondary); color: #fff; }
/* header fit: nothing in the bar may push past the container. */
.co-header__inner { gap: clamp(16px,2vw,32px); }
.co-header__nav { flex: 0 1 auto; min-width: auto; flex-wrap: nowrap; }
.co-header .co-nav { gap: clamp(2px,0.5vw,10px); }
/* header sizing to match California: brand 176, search 128, cta 186. */
.co-header__inner { gap: 24px; }
.co-header .co-navlink { padding: 10px 12px; font-size: 15px; }
.co-header__actions { gap: 10px; }
.co .co-header__actions .co-search-trigger { padding: 0 8px 0 12px; gap: 6px; }
.co .co-header__actions .co-btn--nav-cta { padding: 0 18px; font-size: 15px; }
.co-header__brand { gap: 8px; }
.co-header__brand .co-header__mark { width: 34px; height: 34px; }
.co-header__brand .co-header__name b { font-size: 15.5px; letter-spacing: -0.2px; }
.co-header__brand .co-header__name span { font-size: 9.5px; letter-spacing: 1.2px; }
.co-header__actions { flex: 0 0 auto; }
/* drawer breakpoint: California collapses the nav at ~1360, not 1060. */
@media (max-width:1360px){ .co-header .co-header__nav { display: none !important; } .co-header .co-nav-toggle { display: inline-flex !important; } .co-header .co-header__actions .co-navlink--utility { display: none !important; } }
@media (min-width:1361px){ .co-header .co-nav-toggle { display: none; } }
@media (min-width:1361px) and (max-width:1460px){ .co .co-header__actions .co-search-trigger__label, .co .co-header__actions .co-search-trigger__kbd { display: none !important; } .co .co-header__actions .co-search-trigger { padding: 0 10px !important; } }
@media (max-width:1340px){ .co-header .co-nav { gap: var(--co-space-3); } .co-header .co-search-trigger__label, .co-header .co-search-trigger__kbd { display: none; } .co-header .co-search-trigger { padding: 0 10px; } }
@media (min-width:901px){ .co-timeline--split > ol { display: grid; grid-auto-flow: column; grid-template-rows: repeat(var(--co-timeline-rows,5), auto); grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: clamp(32px,4vw,64px); } }
.co-timeline > ol { list-style: none; margin: 0; padding: 0; }
.co-timeline > ol > li { margin: 0; }


/* =========================================================================
 * Section rhythm.
 *
 * .co-section has carried `padding-block: var(--co-section-y)` since the
 * first build, and it has never once taken effect. Elementor's own rule
 *
 *     .e-con { padding-block-start: var(--padding-block-start); ... }
 *
 * has the same specificity (0,1,0) and loads after this file, so it wins on
 * order alone, and --padding-block-start resolves through --padding-top to
 * Elementor's factory default of 10px. Every section on all 34 pages has
 * been sitting at 10px top and bottom where California runs 88px. That is
 * around 1,250px of vertical rhythm missing from the homepage by itself, and
 * it is why the page reads as one dense stack rather than a set of composed
 * sections.
 *
 * It is the same failure as the container centring bug: the design system
 * sets a property Elementor never reads, while Elementor builds the box out
 * of custom properties the design system never sets. So set the properties
 * Elementor actually reads, and double the class so the rule wins on
 * specificity rather than on load order, which is not ours to control.
 *
 * The home hero is untouched by this: it carries no .co-section class and is
 * already zeroed by the :not(.co-section) rule above.
 * ========================================================================= */

.co-section.co-section {
	--padding-top: var(--co-section-y);
	--padding-bottom: var(--co-section-y);
	--padding-block-start: var(--co-section-y);
	--padding-block-end: var(--co-section-y);
}

.co-section--lg.co-section--lg {
	--padding-top: var(--co-section-y-lg);
	--padding-bottom: var(--co-section-y-lg);
	--padding-block-start: var(--co-section-y-lg);
	--padding-block-end: var(--co-section-y-lg);
}

.co-section--tight.co-section--tight {
	--padding-top: var(--co-section-y-tight);
	--padding-bottom: var(--co-section-y-tight);
	--padding-block-start: var(--co-section-y-tight);
	--padding-block-end: var(--co-section-y-tight);
}

/* The section owns the rhythm; every container nested inside one owns none.
 * California's nested containers are all zero at every depth. Colorado's were
 * falling through to Elementor's 10px default, and because these pages nest
 * three and four deep that added up to 60-80px of stray padding inside a
 * single section.
 *
 * Matching on nesting rather than on Elementor's own e-child class is
 * deliberate: Colorado's builder emitted e-parent on containers that are in
 * fact nested, so a rule keyed to e-child misses most of them.
 *
 * This sets the DEFAULT rather than the value. Elementor writes an explicit
 * --padding-top on .elementor-element-<id> when someone sets padding on a
 * container in the editor, and that still wins over the default this rule
 * changes. Overriding --padding-top here instead would have quietly broken
 * every future padding edit on a nested container. */
.e-con .e-con {
	--container-default-padding-top: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-block-start: 0px;
	--container-default-padding-block-end: 0px;
}

:root:root {
	--co-section-y: 88px;
	--co-section-y-lg: 116px;
	--co-section-y-tight: 64px;
}

@media (max-width: 1024px) {
	:root:root {
		--co-section-y: 62px;
		--co-section-y-lg: 82px;
		--co-section-y-tight: 48px;
	}
}

@media (max-width: 767px) {
	:root:root {
		--co-section-y: 48px;
		--co-section-y-lg: 64px;
		--co-section-y-tight: 36px;
	}
}

/* California's closing call to action sits tighter to the section above it and
 * carries the page's bottom margin instead: 40 top, 96 bottom, stepping to
 * 48/67 and 40/53. It is the one section that is not symmetrical. */
.co-section:has(> * > .co-cta),
.co-section:has(.co-cta) {
	--padding-top: 40px;
	--padding-bottom: 96px;
	--padding-block-start: 40px;
	--padding-block-end: 96px;
}

@media (max-width: 1024px) {
	.co-section:has(.co-cta) {
		--padding-top: 48px;
		--padding-bottom: 67px;
		--padding-block-start: 48px;
		--padding-block-end: 67px;
	}
}

@media (max-width: 767px) {
	.co-section:has(.co-cta) {
		--padding-top: 40px;
		--padding-bottom: 53px;
		--padding-block-start: 40px;
		--padding-block-end: 53px;
	}
}


/* =========================================================================
 * Article template parity.
 *
 * Two pieces of the guide-page template that California and Nevada both have
 * and Colorado never did. Measured off calaccidenthelp.com/california/fault/
 * and confirmed against nevadaaccidenthelp.com.
 * ========================================================================= */

/* Breadcrumbs are a pill on the dark hero, not a line of loose text. Colorado
 * rendered them as a plain block with no bottom margin, which is why the trail
 * and the eyebrow underneath it were sitting on top of each other. */
.co-hero .co-breadcrumbs,
.co-hero--page .co-breadcrumbs {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .16);
	font-size: 13px;
	line-height: 1.2;
	margin-bottom: 20px;
}

/* Every H2 in an article opens with a short gradient rule. California draws it
 * as an absolutely positioned ::before at the top of the heading's padding box
 * - 56 by 3, radius 3 - so the rule sits clear of the text rather than pushing
 * it down. The gradient is California's blue 600 to blue 400; the Colorado
 * equivalent is the alpine ramp at the same two steps. */
.co-prose h2 {
	position: relative;
	margin-top: 40px;
	padding-top: 26px;
}

.co-prose h2::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	display: block;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--co-alpine-600), var(--co-alpine-400));
}

/* The first heading in a prose block has the section padding above it already
 * and does not need the extra 40px as well. */
.co-prose > h2:first-child {
	margin-top: 0;
}


/* On the seven accident-type pages the table of contents sits in a top-level
 * container of its own, and that container's CSS-class field was filled with
 * the component's classes - co-toc co-toc--sticky - instead of co-container.
 * A top-level container has no measure and no centring of its own, so the list
 * ran flush to the left edge of the viewport, detached from the article column
 * it belongs to, and clipped the section heading below it by a dozen pixels.
 *
 * Giving that container the same measure .co-container uses lines it up with
 * every other block on the page. The component classes stay where they are;
 * this only supplies the missing layout the container should have had. */
.e-con.e-parent.co-toc {
	width: 100%;
	max-width: calc(var(--co-container-max) + (var(--co-gutter-current) * 2));
	margin-inline: auto;
	padding-inline: var(--co-gutter-current);
}


/* The same container also picked up the --sticky modifier, which makes the
 * whole container position:sticky rather than the list inside it. A sticky
 * container rides up over whatever follows - here it clipped the next section
 * heading by 12px. Sticky belongs to the nav, not to the container that holds
 * it, so put the container back into normal flow. */
.e-con.e-parent.co-toc--sticky {
	position: relative;
	top: auto;
	max-height: none;
	overflow: visible;
}
