/* Access pages use the shared theme/type tokens; the public default stays light. */
.access-experience #main.gq-shell {
  max-width: 80rem;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "access" "intro" "products";
  gap: 2.5rem;
  padding-block: 2rem 4rem;
}
.access-experience .gq-shell-intro { padding-block: .5rem; }
.access-experience .gq-shell-intro h1 {
  max-width: 17ch;
  font-size: calc(clamp(1.9rem, 3.2vw, 2.75rem) * var(--gq-scale));
  line-height: 1.16;
  font-weight: 580;
  letter-spacing: -.04em;
}
.access-experience .gq-shell-intro .gq-lede { max-width: 42ch; line-height: 1.7; }
.access-experience .gq-shell-facts { padding-top: 1.4rem; border-top: 1px solid var(--gq-line); }
.access-experience .gq-shell-products { padding-top: 2rem; border-top: 1px solid var(--gq-line); }
.access-experience .gq-shell-products .gq-index-head { margin-bottom: 1.25rem; }
.access-experience .gq-access {
  container-type: inline-size;
  width: 100%;
  max-width: 42rem;
  justify-self: center;
  padding: .5rem clamp(0rem, 2vw, 1rem);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.access-experience .gq-access-head { gap: .5rem; margin-bottom: 1.5rem; }
.access-experience .gq-access-head > .access-kicker { display: block; }
.access-experience .gq-access-head h2 { font-size: calc(1.65rem * var(--gq-scale)); font-weight: 580; }
.access-experience .gq-access-head .gq-note { color: var(--gq-ink-2); line-height: 1.55; }
.access-experience .gq-access .access-tabs {
  display: flex;
  gap: 1.25rem;
  padding: 0;
  margin-bottom: 1.5rem;
  border: 0;
  border-bottom: 1px solid var(--gq-line);
  border-radius: 0;
  background: transparent;
}
.access-experience .gq-access .access-tabs > button {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 2.65rem;
  padding-inline: .15rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  font-size: var(--gq-fs-sm);
  color: var(--gq-ink-2);
}
.access-experience .gq-access .access-tabs > button[aria-selected="true"] {
  color: var(--gq-ink);
  background: transparent;
  border-bottom-color: var(--gq-green);
  box-shadow: none;
}
.access-experience .gq-login-progress,
.access-experience .gq-enrollment-progress { margin-bottom: 1.25rem; gap: .5rem 1rem; }
.access-experience .gq-access .access-form { gap: 1.25rem; }
.access-experience .gq-access .form-field { gap: .4rem; min-width: 0; }
.access-experience .gq-access .form-field > label { font-weight: 560; color: var(--gq-ink); }
.access-experience .gq-access input:not([type="checkbox"]):not([type="radio"]),
.access-experience .gq-access textarea {
  border-radius: .5rem;
  background: var(--gq-bg);
  border-color: var(--gq-line-strong);
  min-width: 0;
}
.access-experience .gq-access .gq-secret-field { min-width: 0; }
.access-experience .gq-access .field-note { margin: 0; line-height: 1.5; }
.access-experience .auth-fieldset {
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 1.1rem 0 0;
  gap: 1rem;
  border: 0;
  border-top: 1px solid var(--gq-line);
}
.access-experience .auth-fieldset > legend,
.access-experience .service-choice-field > legend {
  padding: 0 .6rem 0 0;
  color: var(--gq-ink-2);
  font-size: var(--gq-fs-sm);
  font-weight: 650;
}
.access-experience .auth-full-width { grid-column: 1 / -1; }
.access-experience .auth-required-note,
.access-experience .auth-next-step { margin: 0; font-size: var(--gq-fs-sm); line-height: 1.55; color: var(--gq-ink-3); }
.access-experience .auth-next-step { text-align: center; }
.access-experience .auth-secondary-actions { display: flex; justify-content: space-between; gap: .75rem 1.25rem; flex-wrap: wrap; }
.access-experience .auth-secondary-actions button { min-height: 2.5rem; text-align: start; }
.access-experience .service-choice-field { gap: .65rem; }
.access-experience .service-choice-card { padding: .85rem .5rem; border: 0; border-bottom: 1px solid var(--gq-line); border-radius: 0; background: transparent; align-items: start; }
.access-experience .service-choice-card:has(input:checked) { border-bottom-color: var(--gq-green); background: var(--gq-green-soft); box-shadow: none; }
.access-experience .service-choice-card input[type="radio"] { accent-color: var(--gq-green); }
.access-experience .auth-optional { border-block: 1px solid var(--gq-line); padding-block: .1rem; }
.access-experience .auth-optional > summary { padding-block: .8rem; font-size: var(--gq-fs-sm); font-weight: 550; cursor: pointer; color: var(--gq-ink-2); }
.access-experience .auth-optional-fields { display: grid; gap: 1.15rem; padding-block: .4rem 1rem; }
.access-experience .auth-setup-help ul { padding: .25rem 0 1rem 1.25rem; }
.access-experience .auth-setup-help li + li { margin-top: .75rem; }
.access-experience .gq-access input.auth-code-input { font-family: var(--gq-mono); font-variant-numeric: tabular-nums; font-size: calc(1.25rem * var(--gq-scale)); letter-spacing: .22em; }
.access-experience .mfa-setup-key-box { padding: 1rem; border-radius: .65rem; background: var(--gq-surface-2); }
.access-experience [data-enrollment-key] { min-width: 0; overflow-wrap: anywhere; font-family: var(--gq-mono); font-size: var(--gq-fs-sm); user-select: all; }
.access-experience .gq-access .auth-feedback:not(:empty) {
  display: block;
  padding: .85rem 1rem;
  margin: 0 0 1.15rem;
  border: 0;
  border-inline-start: 3px solid var(--gq-ink-3);
  border-radius: 0;
  background: transparent;
  line-height: 1.55;
  font-weight: 450;
}
.access-experience .gq-access .auth-feedback::before { content: none; }
.access-experience .gq-access .auth-feedback[data-state="error"] { border-inline-start-color: var(--gq-red); background: var(--gq-red-soft); color: var(--gq-red); }
.access-experience .gq-access .auth-feedback[data-state="success"] { border-inline-start-color: var(--gq-green); background: var(--gq-green-soft); color: var(--gq-green); }
.access-experience .gq-access .auth-field-error { color: var(--gq-red); font-size: var(--gq-fs-sm); }
.access-experience .gq-access [aria-invalid="true"] { border-color: var(--gq-red); outline: 1px solid var(--gq-red); outline-offset: 1px; }
.access-experience .gq-access :is(input,textarea,select,button,summary,a):focus-visible { outline: 2px solid var(--gq-green); outline-offset: 3px; }
.access-experience .service-choice-card:focus-within { outline: 2px solid var(--gq-green); outline-offset: 3px; }
.access-experience .gq-auth-restart { margin-bottom: 1.1rem; }
.access-experience .help-grid { grid-template-columns: minmax(0, 1fr); }
.access-experience .help-grid > article { padding: .85rem 0; border: 0; border-bottom: 1px solid var(--gq-line); background: transparent; }
.access-experience .public-demo-form { padding-top: 1.25rem; border-top: 1px solid var(--gq-line); }
.access-experience .gq-session-continuation { padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--gq-line); }
.access-experience .gq-session-actions { gap: .75rem; }
.access-experience [hidden] { display: none !important; }

.awaiting-experience .awaiting-main { max-width: 76rem; padding-block: 2rem 4rem; }
.awaiting-experience .awaiting-hero { padding-block: 1rem 2rem; gap: 2rem; align-items: start; }
.awaiting-experience .awaiting-hero h1 { font-size: calc(clamp(1.8rem, 3vw, 2.4rem) * var(--gq-scale)); letter-spacing: -.035em; }
.awaiting-experience .awaiting-hero .product-lede { max-width: 58ch; line-height: 1.65; }
.awaiting-experience .awaiting-process { gap: 1rem; }
.awaiting-experience .awaiting-process > article { padding: 1.25rem 0; border: 0; border-top: 1px solid var(--gq-line); border-radius: 0; background: transparent; }
.awaiting-experience .awaiting-process > article > span { color: var(--gq-green); font-family: var(--gq-mono); font-variant-numeric: tabular-nums; }
.awaiting-experience .awaiting-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.awaiting-experience .awaiting-review-card { padding: 1.25rem 0; border: 0; border-top: 1px solid var(--gq-line); border-radius: 0; background: transparent; }
.awaiting-experience .awaiting-review-card h2 { font-size: var(--gq-fs-lg); }
.awaiting-experience .awaiting-review-card ul { padding-left: 1.2rem; }
.awaiting-experience .awaiting-review-card li + li { margin-top: .45rem; }
.awaiting-experience .awaiting-guide { padding: 0; border-block: 1px solid var(--gq-line); }
.awaiting-experience .awaiting-guide > summary { cursor: pointer; padding: 1.25rem .1rem; font-size: var(--gq-fs-lg); font-weight: 600; }
.awaiting-experience .awaiting-guide-body { padding-block: .5rem 1.5rem; }
.awaiting-experience .awaiting-product-grid { gap: 1rem; }
.awaiting-experience .awaiting-product-grid article { min-width: 0; padding: 1.25rem 0; border: 0; border-top: 1px solid var(--gq-line); border-radius: 0; background: transparent; }
.awaiting-experience .awaiting-product-grid article > small { color: var(--gq-ink-3); line-height: 1.5; }
.awaiting-experience .awaiting-cms-grid { gap: 1rem; }
.awaiting-experience :is(.awaiting-process,.awaiting-review-grid,.awaiting-cms-grid,.awaiting-product-grid) > * { min-width: 0; overflow-wrap: anywhere; }

@container (min-width: 28rem) { .access-experience .auth-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 68rem) {
  .access-experience #main.gq-shell { grid-template-columns: minmax(0, 1fr) minmax(30rem, 38rem); grid-template-areas: "intro access" "products products"; gap: 3rem 4rem; padding-block-start: 3rem; }
  .access-experience .gq-shell-intro { padding-top: 2rem; }
  .access-experience .gq-access { padding-inline-start: 2.5rem; border-inline-start: 1px solid var(--gq-line); }
  .access-experience .gq-shell-products .gq-chapters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
}
@media (max-width: 42rem) {
  .access-experience #main.gq-shell { gap: 2rem; padding-block-start: 1rem; }
  .access-experience .gq-access { padding: .5rem 0; }
  .access-experience .service-choice-field { grid-template-columns: minmax(0, 1fr); }
  .awaiting-experience .awaiting-hero { grid-template-columns: minmax(0, 1fr); }
  .awaiting-experience .product-contents-nav { display: flex; flex-wrap: wrap; gap: .5rem; }
}
:root:is([data-type-scale="large"],[data-type-scale="xlarge"]) .access-experience #main.gq-shell { grid-template-columns: minmax(0, 1fr); grid-template-areas: "access" "intro" "products"; }
:root:is([data-type-scale="large"],[data-type-scale="xlarge"]) .access-experience .gq-access { border-inline-start: 0; padding-inline: 0; }
:root:is([data-type-scale="large"],[data-type-scale="xlarge"]) .access-experience .auth-field-grid,
:root:is([data-type-scale="large"],[data-type-scale="xlarge"]) .access-experience .service-choice-field { grid-template-columns: minmax(0, 1fr); }
@media (prefers-contrast: more) { .access-experience .gq-access, .awaiting-experience article { border-color: var(--gq-ink-2); } }
@media (prefers-reduced-motion: reduce) { .access-experience *, .awaiting-experience * { scroll-behavior: auto; } }

/* All factor choices are backed by the account's server-provided methods. */
.access-experience .auth-factor-options {
  display: flex; flex-wrap: wrap; gap: .5rem; border: 0; padding: 0; margin: 0; min-width: 0;
}
.access-experience .auth-factor-options legend { margin-bottom: .6rem; color: var(--gq-ink-2); font-size: var(--gq-fs-sm); }
.access-experience .auth-factor-options label {
  display: flex; flex: 1 1 7rem; align-items: center; justify-content: center; gap: .5rem;
  min-height: 2.8rem; padding: .6rem .8rem; border: 0; border-bottom: 2px solid var(--gq-line);
  border-radius: 0; color: var(--gq-ink-2); font-size: var(--gq-fs-sm); cursor: pointer;
}
.access-experience .auth-factor-options input[type="radio"] {
  width: 1rem; height: 1rem; min-height: 0; margin: 0; padding: 0; flex: 0 0 auto; accent-color: var(--gq-green);
}
.access-experience .auth-factor-options label:has(input:checked) {
  color: var(--gq-ink); border-bottom-color: var(--gq-green); background: var(--gq-green-soft); box-shadow: none;
}
.access-experience .auth-factor-options label:focus-within { outline: 2px solid var(--gq-green); outline-offset: 3px; }
