/* styles/60-request.css */
/* The request: the readable question list, and the stepped form.
   The form uses the platform's control shapes: white fields with the control
   border, 6px radius, the ink focus ring. Nothing here adds a colour. */

/* ── The question list: rows to read, nothing to fill in ─────────────── */
.qlist {
  columns: 2;
  column-gap: clamp(32px, 5vw, 72px);
}
.qlist__group {
  break-inside: avoid;
  margin-bottom: 40px;
}
.qlist__group:last-child {
  margin-bottom: 0;
}
.qlist__group h3 {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ct-rule-strong);
}
.qlist__items {
  display: flex;
  flex-direction: column;
}
.qlist__q {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-block: 16px;
  border-bottom: 1px solid var(--ct-hairline);
}
.qlist__label {
  font-weight: 600;
  color: var(--ct-text);
}
.qlist__answer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  font-size: 13.5px;
  color: var(--ct-text);
}
.qlist__kind {
  font: 500 12px/1.5 var(--ct-font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ct-text-secondary);
}
.qlist__options {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
}
.qlist__options > span {
  padding: 1px 8px;
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius-sm);
  background: var(--ct-surface);
}
/* The follow-up an option asks for once chosen, inside that option. */
.qlist__more {
  color: var(--ct-text-secondary);
}
.qlist__why {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ct-text-secondary);
  max-width: 60ch;
}
@media (max-width: 899.98px) {
  .qlist {
    columns: 1;
  }
}

/* Something the site holds open on purpose: said plainly, set apart. */
.held {
  padding: 14px 16px;
  border: 1px dashed var(--ct-rule-strong);
  border-radius: var(--ct-radius);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ct-text-secondary);
  max-width: 62ch;
}

/* A copy action and the line that confirms it. */
.copy-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
.copy-action__status {
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
/* The line stays in the page while it is empty, so its first words are
   announced. Empty, it takes no room: the margin takes back the gap. */
.copy-action__status:empty {
  margin-left: -14px;
}

/* ── The stepped request ─────────────────────────────────────────────── */
.rq {
  max-width: 720px;
}
.rq [hidden] {
  display: none !important;
}

/* A notice at the top: the form is locked, or a preview is showing. */
.rq-notice {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid var(--ct-rule-strong);
  border-radius: var(--ct-radius-lg);
  background: var(--ct-sunken);
  font-size: 14.5px;
  line-height: 1.55;
}
.rq-notice strong {
  font-weight: 600;
}
.rq-notice a {
  font-weight: 600;
}
.rq-notice > a {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 44px;
}
.rq-notice:focus {
  outline: none;
}
.rq-notice:focus-visible {
  outline: 2px solid var(--ct-ring);
  outline-offset: 2px;
  border-radius: var(--ct-radius-lg);
}

/* The steps by name. The numbers come from a counter, never from copy. */
.rq-steps {
  counter-reset: rq;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 4px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ct-hairline);
}
.rq-steps li {
  counter-increment: rq;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 8px;
  border: 1px solid transparent;
  border-radius: var(--ct-radius-pill);
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
.rq-steps li::before {
  content: counter(rq);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--ct-rule-strong);
  border-radius: 50%;
  font: 600 12px/1 var(--ct-font-mono);
  color: var(--ct-text-secondary);
}
.rq-steps li[data-done]::before {
  border-color: var(--ct-green);
  background: var(--ct-green-soft);
  color: var(--ct-green-deep);
}
.rq-steps li[aria-current] {
  border-color: var(--ct-hairline);
  background: var(--ct-surface);
  font-weight: 600;
  color: var(--ct-text);
}
.rq-steps li[aria-current]::before {
  border-color: var(--ct-text);
  background: var(--ct-text);
  color: var(--ct-surface);
}

.rq-step > h2,
.rq-panel > h2 {
  margin-bottom: 24px;
}
.rq-step > h2:focus,
.rq-panel > h2:focus {
  outline: none;
}
.rq-step > h2:focus-visible,
.rq-panel > h2:focus-visible {
  outline: 2px solid var(--ct-ring);
  outline-offset: 4px;
}

/* One question: a name, an optional help line, the answer. */
.rq-q {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.rq-q > legend,
.rq-q > .rq-label {
  display: block;
  padding: 0;
  margin-bottom: 4px;
  font: 600 1rem/1.35 var(--ct-font-text);
  color: var(--ct-text);
}
.rq-hint {
  margin-bottom: 10px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ct-text-secondary);
}
.rq-q + .rq-privacy {
  margin-top: -16px;
  margin-bottom: 28px;
}
.rq-q > legend + .rq-options,
.rq-q > .rq-label + .rq-field,
.rq-q > legend + .rq-field {
  margin-top: 8px;
}

/* Options are full-width rows that wrap. "Not sure yet" is one of them. */
.rq-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rq-opt {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--ct-control-border);
  border-radius: var(--ct-radius);
  background: var(--ct-surface);
  font-size: 1rem;
  line-height: 1.4;
  cursor: pointer;
}
.rq-opt input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--ct-green);
}
.rq-opt:has(input:checked) {
  border-color: var(--ct-text);
  box-shadow: inset 0 0 0 1px var(--ct-text);
}
.rq-opt:has(input:focus-visible) {
  outline: 2px solid var(--ct-ring);
  outline-offset: 2px;
}
.rq-opt input:focus-visible {
  outline: none;
}

/* A follow-up that exists only while its option is chosen. */
.rq-more {
  margin: 0 0 4px 46px;
}
.rq-more label {
  display: block;
  margin-bottom: 4px;
  font-size: 13.5px;
  font-weight: 600;
}

.rq-field input,
.rq-more input,
.rq-field textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--ct-control-border);
  border-radius: var(--ct-radius);
  background: var(--ct-surface);
  color: var(--ct-text);
  font: 400 1rem/1.4 var(--ct-font-text);
}
.rq-field--short input,
.rq-more--short input {
  max-width: 12rem;
}
.rq-field textarea {
  min-height: 112px;
  resize: vertical;
}
.rq-field input:focus-visible,
.rq-more input:focus-visible,
.rq-field textarea:focus-visible {
  outline: 2px solid var(--ct-ring);
  outline-offset: 2px;
  border-radius: var(--ct-radius);
}
[aria-invalid="true"] {
  border-color: var(--ct-danger) !important;
  box-shadow: inset 0 0 0 1px var(--ct-danger);
}

/* What an answer can run into today. Quiet: never an error, never a block. */
.rq-note,
.rq-removed {
  margin-top: 10px;
  padding: 10px 12px;
  border-left: 3px solid var(--ct-rule-strong);
  background: var(--ct-sunken);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ct-text);
}
.rq-removed:empty {
  display: none;
}

/* Errors are said in words, at the top of the step and under the field. */
.rq-errors {
  margin-bottom: 24px;
  padding: 14px 16px;
  border: 1px solid var(--ct-danger);
  border-left-width: 4px;
  border-radius: var(--ct-radius);
  background: var(--ct-surface);
}
.rq-errors h3 {
  font-size: 1rem;
  margin-bottom: 6px;
}
.rq-errors ul {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Each line is a full-height target, and a long typed address wraps. */
.rq-errors a {
  display: block;
  padding-block: 12px;
  color: var(--ct-danger);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.rq-errors:focus {
  outline: none;
}
.rq-errors:focus-visible {
  outline: 2px solid var(--ct-ring);
  outline-offset: 2px;
  border-radius: var(--ct-radius);
}
.rq-error {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ct-danger);
  overflow-wrap: anywhere;
}

/* Back and Next come after the content, never fixed over it. */
.rq-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--ct-hairline);
}
.rq-nav .btn {
  min-height: 48px;
}
.rq button.btn {
  cursor: pointer;
  font-family: var(--ct-font-text);
}
/* Unavailable, said with aria-disabled so the button keeps the keyboard focus. */
.rq .btn[aria-disabled="true"],
.rq .btn[aria-disabled="true"]:hover {
  background: var(--ct-sunken);
  border-color: var(--ct-hairline);
  color: var(--ct-text-secondary);
  cursor: default;
}
/* The tag inside the locked Send is form text: never under twelve pixels. */
.rq .soon__tag {
  font-size: 12px;
}
.rq-waiting {
  margin-top: 12px;
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
/* A line that is announced stays in the page while it is empty. */
.rq-waiting:empty {
  margin: 0;
}
.rq-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 28px;
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
.rq-foot a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.rq-foot [tabindex="-1"]:focus {
  outline: none;
}
.rq-link {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  background: none;
  color: var(--ct-green-deep);
  font: 600 13.5px/1.4 var(--ct-font-text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  cursor: pointer;
}
.rq-link:hover {
  color: var(--ct-text);
}

/* Check your answers, and the receipt: a name and a value per row. */
.rq-review {
  margin: 0 0 24px;
  border-top: 1px solid var(--ct-rule-strong);
}
.rq-review > div {
  display: grid;
  grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) auto;
  gap: 2px 16px;
  align-items: baseline;
  padding-block: 10px;
  border-bottom: 1px solid var(--ct-hairline);
}
.rq-review dt {
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
.rq-review dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.rq-review .rq-change {
  margin: 0;
  text-align: right;
}
.rq-review .rq-link {
  min-height: 44px;
  padding: 0 0 0 12px;
}
.rq-review [data-missing] dt + dd {
  color: var(--ct-danger);
  font-weight: 600;
}
.rq-subhead {
  margin: 28px 0 10px;
  font-size: 1.1875rem;
}
.rq-reply {
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius-lg);
  background: var(--ct-surface);
}
.rq-reply span {
  display: block;
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}
.rq-reply strong {
  display: block;
  font: 600 1.1875rem/1.35 var(--ct-font-text);
  overflow-wrap: anywhere;
}
.rq-lines {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 20px;
}
.rq-lines li {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  gap: 2px 16px;
  font-size: 14.5px;
  line-height: 1.5;
}
.rq-lines li > span:first-child {
  color: var(--ct-text-secondary);
}
.rq-status {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid var(--ct-rule-strong);
  border-radius: var(--ct-radius);
  background: var(--ct-surface);
  font-size: 14.5px;
  line-height: 1.55;
}
.rq-status:empty {
  margin: 0;
  padding: 0;
  border: 0;
}
.rq-status strong {
  font-weight: 600;
}
.rq-status[data-tone="bad"] {
  border-color: var(--ct-danger);
  border-left-width: 4px;
}
.rq-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px dashed var(--ct-rule-strong);
  font-size: 13.5px;
  color: var(--ct-text-secondary);
}

@media (max-width: 599.98px) {
  .rq-steps {
    gap: 4px;
  }
  /* On a phone the steps read as a row of numbers with the current name. */
  .rq-steps li:not([aria-current]) {
    padding: 6px 2px;
  }
  .rq-steps li:not([aria-current]) span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .rq-more {
    margin-left: 0;
  }
  /* Name over value; Change sits at the row end and never squeezes the value. */
  .rq-review > div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }
  .rq-review dt,
  .rq-review dd {
    grid-column: 1;
  }
  .rq-review dd.rq-change {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
  }
  .rq-lines li {
    grid-template-columns: minmax(0, 1fr);
  }
  .rq-nav .btn {
    flex: 1 1 100%;
  }
}

@media print {
  .site-header,
  .site-footer,
  .closing,
  .viewer,
  .skip,
  .copy-action,
  .rq-nav,
  .rq-foot,
  .rq-preview,
  .rq-steps,
  .rq-status,
  .rq-review .rq-change,
  .rq-hero .lede,
  .rq[data-request] > .rq-notice {
    display: none !important;
  }
  .band {
    padding-block: 16px;
    border: 0;
  }
  .qlist__group {
    margin-bottom: 16px;
  }
  .qlist__q {
    padding-block: 8px;
    break-inside: avoid;
  }
}

/* styles/74-marketing-cohesion.css */
/* The company website keeps one light Contakt material across route changes.
   Tenant branding remains scoped to the source-rendered product assets. */
body{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-ring:#1f2328;--ct-control-border:#626a73;--ct-green-mid:#2fa24b;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff}
body .closing[data-theme=ink]{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-control-border:#626a73;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff;--ct-ring:#1f2328;border-top:1px solid #e1e4e8}
.site-header .lockup img,.site-footer .lockup img{content:url('brand/CONTAKT_wordmark_primary.svg')}
.site-footer h2{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none;font-size:13px}
.menu__panel nav a[aria-current=page]{color:#1e7b33}
.menu__panel nav a[aria-current=page]::after{content:'';width:7px;height:7px;border-radius:50%;background:#1e7b33;margin-left:auto}
.site-nav a{padding-inline:10px}
:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:1740px;--gutter:48px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{display:block;min-height:0;padding-block:clamp(56px,5.2vw,88px) 44px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:center}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:22px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero .eyebrow{font-family:var(--ct-font-text);font-size:13px;letter-spacing:0;text-transform:none;margin:0}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font:500 clamp(48px,5.45vw,84px)/1.04 var(--ct-font-display);letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1>span{color:#626a73}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{padding:0;gap:18px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:18px;line-height:1.65;max-width:43ch}
.page-home .hero__side .actions{margin-top:4px}
.page-home .hero .home-help{margin-top:0;padding-top:16px}
.page-home .ai-stage{padding-top:44px}
.page-home .ai-heading h2{font-size:clamp(42px,4.6vw,70px)}
.page-home .ai-heading{margin-bottom:48px}
.page-home .ai-after{border-top:1px solid #e1e4e8;padding-block:56px}
.page-home .ai-after>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px 64px;align-items:center}
.page-home .ai-after .eyebrow{grid-column:1;margin:0}
.page-home .ai-after h2{grid-column:1;font-size:clamp(32px,3.4vw,50px);margin:0}
.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}
.academy-pathways{border-top:1px solid #e1e4e8}
.academy-pathways__head{display:grid;grid-template-columns:1.2fr .8fr;gap:20px 80px;align-items:end;margin-bottom:56px}
.academy-pathways__head .eyebrow{grid-column:1/-1;margin:0}
.academy-pathways__head h2{font:500 clamp(40px,4.4vw,68px)/1.08 var(--ct-font-display);letter-spacing:-.035em;max-width:16ch}
.academy-pathways__head>p{font-size:17px;line-height:1.7;color:#626a73;max-width:43ch}
.academy-pathways__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.academy-path{min-width:0;border-top:1px solid #b8bfc8;padding-top:28px}
.academy-path__text>h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:19ch;margin:14px 0 16px}
.academy-path__text>p:not(.eyebrow){max-width:49ch;font-size:16px;line-height:1.7;color:#626a73;margin-bottom:20px}
.academy-path__asset{display:block;text-decoration:none;color:#626a73;margin-top:36px;outline-offset:8px}
.academy-path__caption:focus-visible{outline:2px solid #1f2328}
.academy-path__asset:has(a:hover,a:focus-visible) .pathway-record:first-child{border-color:#626a73}
.pathway-asset.academy-scene{--font-sans:var(--ct-font-text);--font-display:var(--ct-font-display);--font-mono:var(--ct-font-mono);--foreground:#1f2328;--muted-foreground:#626a73;--card:#fff;--background:#f7f8fa;--surface:#f1f3f6;--surface-strong:#e9edf1;--warning-soft:#fbefd9;--warning-ink:#8a5714;--border:#e1e4e8;--border-strong:#b8bfc8;--club1:var(--ai-club);--club1-ink:color-mix(in srgb,var(--ai-club) 85%,#1f2328);--club1-soft:color-mix(in srgb,var(--ai-club) 10%,#f7f8fa);border:0;background:transparent;overflow:visible;position:relative;padding:0 24px 0 0;font-family:var(--ct-font-text)}
.pathway-record{position:relative;z-index:2;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 8px 20px rgb(31 35 40 / .07);background:#fff;transition:border-color 180ms}
.pathway-record>.space-y-4{border:0!important;background:transparent!important;padding:24px}
.pathway-record h2{font-size:19px;letter-spacing:-.025em}
.pathway-record .lg\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.pathway-record:nth-child(2){z-index:1;position:relative;height:110px;margin:18px -24px 0 24px;overflow:hidden;pointer-events:none}
.pathway-record:nth-child(2)>.space-y-4{min-height:110px}
.academy-path__caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;text-decoration:none;color:#626a73;font:400 12px/1.5 var(--ct-font-text);margin-top:12px}
.academy-service-bridge{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;border-top:1px solid #b8bfc8;margin-top:72px;padding-top:32px;align-items:start}
.academy-service-bridge h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:24ch}
.academy-service-bridge p:not(.eyebrow){color:#626a73;font-size:17px;line-height:1.7;max-width:43ch}
.academy-service-bridge .actions{margin-top:16px}
.academy-related{border-top:1px solid #e1e4e8}
.academy-related__head{margin-bottom:36px}
.academy-related__head h2{font:500 clamp(38px,3.7vw,56px)/1.1 var(--ct-font-display);letter-spacing:-.035em}
.academy-related nav{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.academy-related__link{display:grid;grid-template-columns:1fr 24px;gap:12px 20px;border-top:1px solid #b8bfc8;padding-block:24px;text-decoration:none;color:#1f2328}
.academy-related__link>span{font-size:13px;color:#626a73}
.academy-related__link>strong{grid-column:1;font:500 clamp(24px,2.4vw,36px)/1.2 var(--ct-font-display);letter-spacing:-.025em}
.academy-related__link>p{grid-column:1;color:#626a73;font-size:15px;line-height:1.7;max-width:45ch}
.academy-related__link>svg{grid-column:2;grid-row:2;align-self:center;width:24px;height:24px}
.academy-related__link:hover>strong,.academy-related__link:hover>svg{color:#1e7b33}
.academy-start-now{border-top:1px solid #b8bfc8;padding-top:24px}
.academy-start-now>h3{font:500 25px/1.3 var(--ct-font-display);letter-spacing:-.025em;margin-bottom:20px}
.academy-start-now .actions{margin-top:20px}
.academy-monthly-help{border-top:1px solid #b8bfc8;padding-top:8px}
.academy-monthly-help .note{margin-top:20px}
.page-home #managed .split--flip{grid-template-columns:1fr 1fr}
.page-home #managed .split__text{order:0}
.page-home #managed .home-request{padding:32px 0 0;background:transparent;border:0;border-top:1px solid #e1e4e8;border-radius:0}
.page-home .band .eyebrow,.academy-related .eyebrow{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none}
.page-home #facts .facts>li{border-top:1px solid #e1e4e8;padding-top:24px}
@media(min-width:2000px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:2200px;--gutter:80px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:110px}.page-home .ai-heading h2{font-size:90px}.academy-pathways__head h2{font-size:82px}.academy-pathways__grid{gap:100px}.pathway-record>.space-y-4{padding:32px}.pathway-record h2{font-size:24px}}
@media(max-width:1179px){.site-header .wrap{--gutter:24px}}
@media(max-width:1100px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:24px}.academy-pathways__grid,.academy-service-bridge,.academy-related nav{gap:32px}.academy-pathways__head{gap:20px 40px}.academy-path__text>h3{font-size:30px}}
@media(max-width:899px){:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:1fr;gap:28px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{max-width:21ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{max-width:55ch}.academy-pathways__head,.academy-service-bridge{grid-template-columns:1fr}.academy-pathways__head h2{max-width:24ch}.academy-pathways__head>p{max-width:55ch}.academy-pathways__grid{grid-template-columns:1fr;gap:48px}.academy-path{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.academy-path__asset{margin-top:0}.page-home #managed .split--flip{grid-template-columns:1fr}}
@media(max-width:767px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:40px 22px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:18px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:clamp(42px,10.5vw,64px);max-width:20ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{gap:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:16px;line-height:1.6}.page-home .hero .home-help{font-size:12px}.page-home .ai-stage{padding-top:30px}.page-home .ai-heading h2{font-size:clamp(38px,8vw,52px)}.page-home .ai-after{padding-block:40px}.page-home .ai-after>.wrap{grid-template-columns:1fr;gap:16px}.page-home .ai-after h2{font-size:36px}.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:1;grid-row:auto;font-size:15px}.academy-pathways__head{gap:18px;margin-bottom:36px}.academy-pathways__head h2{font-size:clamp(38px,8vw,52px)}.academy-pathways__head>p{font-size:15px}.academy-path{display:block;padding-top:24px}.academy-path__text>h3{font-size:32px}.academy-path__text>p:not(.eyebrow){font-size:15px}.academy-path__asset{margin-top:28px}.pathway-asset.academy-scene{padding:0 16px 40px 0}.pathway-record>.space-y-4{padding:16px}.pathway-record:nth-child(2){height:95px;margin:14px -16px 0 16px}.pathway-record h2{font-size:18px}.academy-service-bridge{margin-top:48px;padding-top:24px;gap:20px}.academy-service-bridge h3{font-size:32px}.academy-service-bridge p:not(.eyebrow){font-size:15px}.academy-related nav{grid-template-columns:1fr;gap:12px}.academy-related__link>strong{font-size:28px}.site-header .wrap{--gutter:16px}.page-home #managed .home-request{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.academy-path__asset *{transition:none!important}}

@media(max-width:767px){.page-home .hero h1>span{font-size:clamp(36px,9.5vw,64px)}.page-home .hero__side .btn{padding-inline:16px}.page-home .hero__side .actions{gap:10px}}
@media(max-width:767px){.page-product .hero__side>.actions{flex-direction:column;align-items:flex-start}}

/* pages/onboarding/style.css */
/* First conversation: a calm editorial opening and a plain email brief.
   No taxonomy cards, animated steps, sales countdowns or pretend submission. */
.page-onboarding { --wrap:1740px;--gutter:48px; }
.page-onboarding [hidden] { display:none!important; }
.page-onboarding .eyebrow { font-family:var(--ct-font-text);text-transform:none;letter-spacing:0; }
.onb-hero { padding-block:clamp(40px,5.5vw,80px) 64px; }
.onb-opening { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:32px clamp(40px,6vw,96px);align-items:start; }
.onb-opening__story h1 { font:500 clamp(42px,4.6vw,72px)/1.06 var(--ct-font-display);letter-spacing:-.045em;max-width:12ch; }
.onb-opening__story h1 span { display:block; }
.onb-opening__story h1 span:last-child { color:var(--ct-text-secondary); }
.onb-opening__story .lede { margin-top:24px;max-width:44ch; }
.onb-opening__boundary { color:var(--ct-text-secondary);font-size:14px;line-height:1.6;max-width:43ch;margin-top:20px; }
.onb-brief { grid-column:2;grid-row:span 2;border:1px solid var(--ct-rule-strong);border-radius:6px;background:var(--ct-surface);padding:clamp(24px,3vw,40px);scroll-margin-top:88px; }
.onb-brief h2 { font:500 clamp(24px,2vw,30px)/1.2 var(--ct-font-display);letter-spacing:-.03em; }
.onb-brief__intro { margin-top:8px;color:var(--ct-text-secondary);font-size:15px; }
.onb-context { margin-block:16px 24px;border-top:1px solid var(--ct-hairline); }
.onb-context > summary { padding-block:14px;min-height:48px;cursor:pointer;font-size:14px;font-weight:500; }
.onb-context[open] > summary { color:var(--ct-text-secondary); }
.onb-fields { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 20px;margin-block:28px; }
.onb-field--wide { grid-column:1/-1; }
.onb-field label { display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;margin-bottom:8px; }
.onb-field label span { font-size:12.5px;font-weight:400;color:var(--ct-text-secondary); }
.onb-field input,.onb-field textarea,.onb-fallback textarea { display:block;width:100%;min-width:0;border:1px solid var(--ct-control-border);border-radius:6px;background:var(--ct-surface);color:var(--ct-text);font:400 16px/1.55 var(--ct-font-text);padding:12px; }
.onb-field input { min-height:48px; }
.onb-field textarea { min-height:148px;resize:vertical;max-height:420px; }
.onb-field input::placeholder,.onb-field textarea::placeholder { color:var(--ct-text-secondary);opacity:1; }
.onb-field input:focus-visible,.onb-field textarea:focus-visible,.onb-fallback textarea:focus-visible { outline:2px solid var(--ct-text);outline-offset:3px; }
.onb-brief__note { color:var(--ct-text-secondary);font-size:13.5px;line-height:1.6;margin-top:16px; }
.onb-brief__mail { margin-top:12px;font-size:14px; }
.onb-brief__mail a { display:inline-flex;min-height:44px;align-items:center;font-weight:600;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere; }
.onb-brief__privacy { color:var(--ct-text-secondary);font-size:12.5px;line-height:1.6;margin-top:20px; }
.onb-fallback { border-top:1px solid var(--ct-hairline);margin-top:12px;padding-top:4px; }
.onb-fallback summary { cursor:pointer;font-size:13.5px;min-height:44px;padding-block:12px; }
.onb-fallback__body { display:flex;flex-direction:column;gap:12px;margin-top:12px;font-size:13.5px; }
.onb-fallback__body label { font-weight:600; }
.onb-fallback textarea { min-height:200px;max-height:420px;resize:vertical; }
.onb-fallback__body .btn { align-self:flex-start; }
.onb-fallback [role=status] { color:var(--ct-text-secondary); }
.onb-fallback [role=status]:empty { display:none; }
.onb-member { grid-column:1;max-width:44ch;padding-top:20px;border-top:1px solid var(--ct-rule-strong); }
.onb-member h2 { font-size:16px;letter-spacing:0;line-height:1.4; }
.onb-member p { margin-block:8px 12px;font-size:14px;line-height:1.6;color:var(--ct-text-secondary); }
.onb-next-band { border-top:1px solid var(--ct-hairline);padding-block:64px; }
.onb-next-band .head { max-width:760px; }
.onb-next { margin-top:32px;display:flex;flex-direction:column;gap:32px; }
.onb-next .steps--cols-2 { gap:40px 72px; }
.onb-next__line { color:var(--ct-text-secondary);font-size:14px;line-height:1.65;max-width:76ch; }
.onb-readiness { padding-block:64px;border-top:1px solid var(--ct-hairline); }
.onb-readiness .head { max-width:760px; }
.onb-boundaries { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 72px;margin-top:40px; }
.onb-boundaries > div { padding-top:20px;border-top:1px solid var(--ct-rule-strong); }
.onb-boundaries h3 { font:600 20px/1.3 var(--ct-font-display);letter-spacing:-.025em;margin-bottom:12px; }
.onb-boundaries p,.onb-boundaries .rows { font-size:15px;line-height:1.65;max-width:60ch;color:var(--ct-text-secondary); }
.onb-boundaries p + p { margin-top:12px; }
.onb-boundaries .actions { margin-top:20px; }
.onb-preparation { padding-block:32px 64px; }
.onb-checklist { scroll-margin-top:88px;border-block:1px solid var(--ct-rule-strong); }
.onb-checklist > summary { display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;padding-block:24px;font:500 clamp(20px,2vw,28px)/1.25 var(--ct-font-display);letter-spacing:-.025em;list-style:none; }
.onb-checklist > summary::-webkit-details-marker { display:none; }
.onb-checklist > summary .icon { flex-shrink:0;transform:rotate(90deg); }
.onb-checklist[open] > summary .icon { transform:rotate(-90deg); }
.onb-checklist__body { padding-bottom:32px; }
.onb-checklist__body > .lede { max-width:70ch;font-size:16px;margin-bottom:24px; }
.onb-checklist .copy-action { margin-bottom:32px; }
/* These are preparation notes, not a sport-selector interface. */
.onb-checklist .qlist__kind { font-family:var(--ct-font-text);font-size:13px;text-transform:none;letter-spacing:0; }
.onb-checklist .qlist__options { display:inline; }
.onb-checklist .qlist__options > span { display:inline;padding:0;border:0;background:none;border-radius:0; }
.onb-checklist .qlist__options > span + span::before { content:' · ';color:var(--ct-text-secondary); }
.onb-never-note { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:16px 72px;padding-top:32px; }
.onb-never-note h2 { font:500 22px/1.3 var(--ct-font-display);letter-spacing:-.025em;max-width:26ch; }
.onb-never-note p { color:var(--ct-text-secondary);font-size:14px;max-width:64ch; }
.onb-never-note .actions { grid-column:2; }
@media(min-width:2200px) { .page-onboarding { --wrap:2200px;--gutter:80px; }.onb-opening__story h1 { font-size:88px; }.onb-brief { max-width:840px; }.onb-opening__story .lede { font-size:24px; } }
@media(max-width:1179.98px) { .page-onboarding { --gutter:24px; }.onb-opening { gap:32px; }.onb-fields { grid-template-columns:minmax(0,1fr);gap:20px; } }
@media(max-width:899.98px) { .onb-opening { grid-template-columns:minmax(0,1fr);gap:32px; }.onb-brief { grid-column:1;grid-row:auto; }.onb-member { max-width:none; }.onb-opening__story h1 { font-size:clamp(40px,6.6vw,58px);max-width:none; }.onb-opening__story .lede { max-width:50ch; }.onb-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.onb-boundaries { grid-template-columns:minmax(0,1fr);gap:32px; }.onb-next .steps--cols-2 { grid-template-columns:minmax(0,1fr);gap:28px; }.onb-never-note { grid-template-columns:minmax(0,1fr);gap:12px; }.onb-never-note .actions { grid-column:1; } }
@media(max-width:599.98px) { .page-onboarding { --gutter:16px; }.onb-hero { padding-block:36px 40px; }.onb-opening__story h1 { font-size:clamp(34px,9.3vw,42px); }.onb-opening__story .lede { font-size:17px;margin-top:20px; }.onb-opening__boundary { font-size:13.5px; }.onb-brief { padding:24px 20px; }.onb-fields { grid-template-columns:minmax(0,1fr);gap:20px;margin-block:24px; }.onb-field label { font-size:13.5px; }.onb-field label span { font-size:12px; }.onb-brief .btn--primary { width:100%; }.onb-next-band,.onb-readiness { padding-block:40px; }.onb-readiness .head .lede { font-size:17px; }.onb-preparation { padding-bottom:40px; } }
