/* Conversion pages: /get-started/ and /scorecard/.
   Loaded after poster.css. Page JS toggles the [hidden] attribute and
   renders some legacy gat-sc-* class names, which are styled here. */

[hidden] { display: none !important; }

/* Nav: "Book a call" is the current page on /get-started/; keep it white on blue */
.p-nav__menu a.p-btn--primary[aria-current="page"] { color: #fff; }

/* Honeypot: in the DOM, off screen, hidden from assistive tech */
.gat-hp { position: absolute; left: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }

button.p-btn { cursor: pointer; }
button.p-btn:disabled { opacity: 0.6; cursor: progress; }

/* Shared form pieces */
.cv-form { max-width: none; position: relative; }
.cv-req { color: var(--p-blue); }
.cv-fine { margin: 0; font-size: 13px; color: var(--p-meta); max-width: 620px; }
.cv-alert { margin: 0; padding: 12px 16px; border-left: 4px solid #B42318; background: #FBEDEB; color: #7A1A12; font-size: 15px; }
.cv-textbtn {
  background: none; border: 0; padding: 4px 0; min-height: 44px; cursor: pointer;
  font: inherit; font-size: 15px; color: var(--p-blue);
  text-decoration: underline; text-underline-offset: 3px;
}
.cv-textbtn:hover { color: var(--p-blue-deep); }

/* ---------- /get-started/ ---------- */
.cv-start__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.cv-start__panel {
  background: var(--p-paper); border: 1.5px solid var(--p-hair); border-radius: 22px;
  padding: clamp(20px, 3vw, 36px); min-width: 0;
}
.cv-start__side { display: grid; gap: 18px; }
.cv-checks { border: 0; margin: 0; padding: 0; }
.cv-checks legend { padding: 0; margin-bottom: 8px; }
.cv-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cv-checks legend { grid-column: 1 / -1; }
.p-field .cv-check {
  display: flex; align-items: flex-start; gap: 12px; cursor: pointer;
  padding: 12px 14px; background: var(--p-card); border: 1.5px solid var(--p-hair);
  font-family: var(--f-body); font-weight: 600; font-size: 15px; letter-spacing: 0; text-transform: none; line-height: 1.3;
}
.p-field .cv-check:hover { border-color: var(--p-blue); }
.p-field .cv-check:has(input:checked) { border-color: var(--p-blue); background: var(--p-blue-wash); }
.p-field .cv-check input { width: 18px; height: 18px; flex: none; margin: 1px 0 0; padding: 0; accent-color: var(--p-blue); }
.cv-check small { display: block; margin-top: 2px; font-weight: 400; font-size: 13px; color: var(--p-meta); }
.cv-success h3, .cv-sc__gate h3 {
  margin: 10px 0 10px; font-family: var(--f-wide); font-weight: 900; font-stretch: 125%; font-variation-settings: "wdth" 125;
  text-transform: uppercase; font-size: 24px; line-height: 1.05; color: var(--p-ink);
}
.cv-success p:not(.p-kicker) { margin: 0 0 20px; color: var(--p-ink-soft); }
.cv-success .p-kicker { margin: 0; }

/* ---------- /scorecard/ ---------- */
.cv-sc-section { padding: clamp(40px, 6vw, 80px) 0; }
.cv-sc { max-width: 820px; margin: 0 auto; }
.cv-sc.gat-sc-wrap--result { max-width: 1040px; }
.cv-sc__card {
  background: var(--p-paper); border: 1.5px solid var(--p-hair); border-radius: 22px;
  padding: clamp(20px, 3.4vw, 40px); min-width: 0;
}
.cv-sc .p-kicker { margin: 0; }

/* Intro */
.cv-sc__dimlist { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.cv-sc__dimlist li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-top: 1px solid var(--p-hair); }
.cv-sc__dimlist .p-cond { font-size: 40px; color: var(--p-blue); }
.cv-sc__dimlist strong {
  display: block; font-family: var(--f-wide); font-weight: 900; font-stretch: 125%; font-variation-settings: "wdth" 125;
  text-transform: uppercase; font-size: 17px; line-height: 1.1; color: var(--p-ink);
}
.cv-sc__dimlist span:not(.p-cond) { display: block; margin-top: 4px; font-size: 15px; color: var(--p-ink-soft); line-height: 1.45; }
.cv-sc__introfoot { margin-top: 24px; padding-top: 24px; border-top: 1.5px solid var(--p-rule); display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.cv-sc__introfoot p { margin: 0; font-size: 15px; color: var(--p-meta); max-width: 360px; }

/* Quiz */
.cv-sc__bar { height: 6px; background: var(--p-blue-wash); margin-bottom: 20px; overflow: hidden; }
.cv-sc__barfill { display: block; height: 100%; width: 0%; background: var(--p-blue); transition: width 0.35s ease-out; }
.cv-sc__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.cv-sc__dim, .cv-sc__count { font-family: var(--f-wide); font-weight: 700; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.cv-sc__dim { color: var(--p-blue); }
.cv-sc__count { color: var(--p-meta); }
.gat-sc-meta__dim--flash { animation: cv-flash 0.6s ease; }
@keyframes cv-flash { 0% { background: var(--p-blue-wash); } 100% { background: transparent; } }
.cv-sc__question {
  margin: 16px 0 24px; font-family: var(--f-wide); font-weight: 800; font-size: clamp(21px, 2.6vw, 28px);
  line-height: 1.25; letter-spacing: -0.01em; color: var(--p-ink); min-height: 2.5em;
}
.cv-sc__question:focus { outline: none; }
.cv-sc__options { display: grid; gap: 10px; margin-bottom: 16px; }

/* Answer options: bordered rows with a radio dot, so they read as choices */
.cv-opt {
  position: relative; display: flex; align-items: center; gap: 16px;
  min-height: 60px; padding: 12px 18px; cursor: pointer;
  background: var(--p-card); border: 1.5px solid var(--p-hair); border-radius: 14px;
  font-family: var(--f-wide); font-weight: 800; font-size: 17px; color: var(--p-ink);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.cv-opt:hover { border-color: var(--p-blue); }
.cv-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.cv-opt__key { font-family: var(--f-cond); font-weight: 400; font-size: 26px; line-height: 1; color: var(--p-blue); width: 20px; flex: none; }
.cv-opt__label { flex: 1; }
.cv-opt__dot { width: 22px; height: 22px; flex: none; border: 1.5px solid var(--p-meta); border-radius: 50%; display: grid; place-items: center; }
.cv-opt__dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: transparent; }
.cv-opt:has(input:checked) { background: var(--p-blue); border-color: var(--p-blue); color: #fff; }
.cv-opt:has(input:checked) .cv-opt__key { color: #fff; }
.cv-opt:has(input:checked) .cv-opt__dot { border-color: #fff; }
.cv-opt:has(input:checked) .cv-opt__dot::after { background: #fff; }
.cv-opt:has(input:focus-visible) { outline: 3px solid var(--p-blue); outline-offset: 3px; }

/* Result */
.cv-sc__result:focus { outline: none; }
.cv-sc__resultgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(24px, 4vw, 48px); }
.cv-ring { position: relative; width: 140px; height: 140px; margin: 16px 0 18px; }
.cv-ring svg { display: block; transform: rotate(-90deg); }
.cv-ring__track { fill: none; stroke: var(--p-blue-wash); stroke-width: 10; }
.cv-ring__fill { fill: none; stroke: var(--p-blue); stroke-width: 10; transition: stroke-dashoffset 0.9s cubic-bezier(0.16, 1, 0.3, 1); }
.cv-ring__center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cv-ring__num { font-family: var(--f-cond); font-size: 48px; line-height: 1; color: var(--p-ink); font-variant-numeric: tabular-nums; }
.cv-ring__of { margin-top: 4px; font-family: var(--f-wide); font-weight: 700; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--p-meta); }
.cv-sc__band {
  margin: 0 0 10px; font-family: var(--f-wide); font-weight: 900; font-stretch: 125%; font-variation-settings: "wdth" 125;
  text-transform: uppercase; font-size: 24px; line-height: 1.05; color: var(--p-blue);
}
.cv-sc__bandcopy { margin: 0; color: var(--p-ink-soft); font-size: 16px; }
.cv-sc__dims { list-style: none; margin: 12px 0 0; padding: 0; border-top: 1.5px solid var(--p-rule); }
.gat-sc-dim-row { padding: 14px 0; border-bottom: 1px solid var(--p-hair); }
.gat-sc-dim-row__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.gat-sc-dim-row__name {
  font-family: var(--f-wide); font-weight: 900; font-stretch: 125%; font-variation-settings: "wdth" 125;
  text-transform: uppercase; font-size: 16px; color: var(--p-ink); min-width: 0;
}
.gat-sc-dim-row__val { font-family: var(--f-cond); font-size: 26px; line-height: 1; color: var(--p-blue); flex: none; }
.gat-sc-dim-row__bar { height: 6px; background: var(--p-blue-wash); overflow: hidden; }
.gat-sc-dim-row__bar > span { display: block; height: 100%; width: 0%; background: var(--p-blue); transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.gat-sc-dim-row__note { margin: 8px 0 0; font-size: 14px; color: var(--p-ink-soft); }
.gat-sc-pill {
  display: block; margin-top: 4px;
  font-family: var(--f-wide); font-weight: 700; font-size: 10px; letter-spacing: 0.14em;
  font-stretch: 100%; font-variation-settings: "wdth" 100; color: var(--p-blue);
}

.cv-sc__gate {
  margin-top: 20px; background: var(--p-card); border: 1.5px solid var(--p-rule); border-radius: 22px;
  padding: clamp(20px, 3.4vw, 40px);
}
.cv-sc__gatecopy { margin-bottom: 20px; }
.cv-sc__gatecopy p:not(.p-kicker), .cv-sc__sent p:not(.p-kicker) { margin: 0; color: var(--p-ink-soft); max-width: 640px; }
.cv-sc__sent p:not(.p-kicker) { margin-bottom: 20px; }
.cv-sc__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.cv-sc__next { margin-top: 20px; padding: 18px 20px; border-left: 4px solid var(--p-ink); background: var(--p-paper); }
.cv-sc__next p { margin: 6px 0 0; color: var(--p-ink-soft); font-size: 16px; }
.cv-sc__next p.p-kicker { margin: 0; color: var(--p-ink); }
.cv-sc__next strong { color: var(--p-ink); }
.cv-sc__links { display: flex; flex-wrap: wrap; gap: 8px 24px; font-weight: 600; }
.cv-sc__result > .cv-textbtn { margin-top: 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .cv-start__grid { grid-template-columns: minmax(0, 1fr); }
  .cv-sc__resultgrid { grid-template-columns: minmax(0, 1fr); }
  .cv-sc__fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .cv-checks { grid-template-columns: minmax(0, 1fr); }
  .cv-sc__dimlist { grid-template-columns: minmax(0, 1fr); }
  .cv-sc__introfoot .p-btn, .p-form__actions .p-btn, .cv-success .p-btn, .cv-sc__sent .p-btn { width: 100%; justify-content: center; }
  .cv-opt { padding: 12px 14px; gap: 12px; font-size: 16px; }
  .cv-ring { width: 120px; height: 120px; }
  .cv-ring svg { width: 120px; height: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .cv-sc__barfill, .cv-ring__fill, .gat-sc-dim-row__bar > span, .cv-opt { transition: none; }
  .gat-sc-meta__dim--flash { animation: none; }
}
