.gcap-checker {
  --color-bg: #162236;
  --color-surface: #22314A;
  --color-surface-elevated: #2A3B58;
  --color-surface-card: #24354F;
  --color-guide: #1E2B42;
  --color-text-primary: #F7F4EC;
  --color-text-secondary: #D7DEE8;
  --color-border: #405577;
  --color-accent-primary: #C0AA77;
  --color-accent-secondary: #E2D3B2;
  --color-accent-ink: #23344D;
  --color-input-bg: #2A3B58;
  --color-input-border: #5A7191;
  --color-focus-ring: rgba(192, 170, 119, 0.34);
  --color-danger: #F3B4BC;
  --color-danger-bg: rgba(125, 42, 53, 0.34);
  --color-danger-border: rgba(234, 139, 151, 0.42);
  --color-success-bg: rgba(192, 170, 119, 0.16);
  --color-success-border: rgba(192, 170, 119, 0.4);
  --color-shadow: rgba(8, 13, 20, 0.32);
  --gcap-hero-title-ink: var(--color-accent-ink);
  --font-size-body: clamp(1.14rem, 1.04rem + 0.18vw, 1.26rem);
  --font-size-meta: clamp(1.06rem, 0.99rem + 0.14vw, 1.16rem);
  --font-size-label: clamp(1.18rem, 1.08rem + 0.2vw, 1.3rem);
  --font-size-section: clamp(1.34rem, 1.2rem + 0.28vw, 1.52rem);
  --font-size-subsection: clamp(1.24rem, 1.12rem + 0.24vw, 1.38rem);
  --font-size-step-title: clamp(1.56rem, 1.36rem + 0.44vw, 1.88rem);
  --gcap-bg: linear-gradient(180deg, #162236, #1A2740);
  --gcap-surface: var(--color-surface);
  --gcap-surface-2: var(--color-surface-elevated);
  --gcap-card: var(--color-surface-card);
  --gcap-guide: var(--color-guide);
  --gcap-border: var(--color-border);
  --gcap-text: var(--color-text-primary);
  --gcap-muted: var(--color-text-secondary);
  --gcap-gold: var(--color-accent-primary);
  --gcap-gold-2: var(--color-accent-secondary);
  --gcap-danger: var(--color-danger);
  color: var(--gcap-text);
  background:
    radial-gradient(circle at 100% 0%, rgba(192, 170, 119, 0.12), transparent 24%),
    radial-gradient(circle at 0% 100%, rgba(64, 85, 119, 0.18), transparent 26%),
    var(--gcap-bg);
  border: 1px solid var(--gcap-border);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 24px 64px var(--color-shadow);
}

@media (prefers-color-scheme: light) {
  .gcap-checker {
    --color-bg: #F3F1EC;
    --color-surface: #FFFFFF;
    --color-surface-elevated: #E9EDF3;
    --color-surface-card: #FFFFFF;
    --color-guide: #F6F2EA;
    --color-text-primary: #23344D;
    --color-text-secondary: #5C697A;
    --color-border: #D5DCE5;
    --color-accent-primary: #9C8B58;
    --color-accent-secondary: #C8B889;
    --color-accent-ink: #23344D;
    --color-input-bg: #FFFFFF;
    --color-input-border: #C8D0DA;
    --color-focus-ring: rgba(156, 139, 88, 0.22);
    --color-danger: #A94D5B;
    --color-danger-bg: rgba(169, 77, 91, 0.08);
    --color-danger-border: rgba(169, 77, 91, 0.22);
    --color-success-bg: rgba(156, 139, 88, 0.12);
    --color-success-border: rgba(156, 139, 88, 0.24);
    --color-shadow: rgba(35, 52, 77, 0.08);
    --gcap-hero-title-ink: #23344D;
    --gcap-bg: linear-gradient(180deg, #F3F1EC, #ECE8E1);
    --gcap-surface: var(--color-surface);
    --gcap-surface-2: var(--color-surface-elevated);
    --gcap-card: var(--color-surface-card);
    --gcap-guide: var(--color-guide);
    background:
      radial-gradient(circle at 100% 0%, rgba(156, 139, 88, 0.08), transparent 24%),
      radial-gradient(circle at 0% 100%, rgba(213, 220, 229, 0.58), transparent 26%),
      var(--gcap-bg);
  }
}

.gcap-checker {
  color: var(--gcap-text);
  font-size: var(--font-size-body);
  line-height: 1.75;
}

.gcap-checker p,
.gcap-checker li,
.gcap-checker span,
.gcap-checker label,
.gcap-checker strong,
.gcap-checker small,
.gcap-checker legend,
.gcap-checker input,
.gcap-checker select,
.gcap-checker textarea,
.gcap-checker button,
.gcap-checker a {
  color: var(--gcap-text);
  font-size: var(--font-size-body);
  line-height: 1.75;
}

.gcap-checker__hero {
  display: grid;
  gap: 18px;
  padding: 28px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--gcap-surface), var(--gcap-surface-2));
  border: 1px solid var(--gcap-border);
}

.gcap-checker__eyebrow {
  margin: 0;
  font-size: var(--font-size-meta);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gcap-gold);
}

.gcap-checker .gcap-kicker {
  margin: 0;
  font-size: var(--font-size-meta);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gcap-gold-2);
}

.gcap-checker__hero h2,
.gcap-checker__prep h3,
.gcap-checker__step-guide h3 {
  margin: 0;
  color: var(--gcap-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.gcap-checker__lead,
.gcap-checker__disclaimer {
  max-width: 920px;
  line-height: 1.75;
}

.gcap-checker__hero h2 {
  font-size: clamp(2rem, 1.65rem + 1vw, 2.6rem);
  line-height: 1.2;
  display: block;
  padding: 18px 22px !important;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--gcap-gold), var(--gcap-gold-2)) !important;
  border: 0 !important;
  color: var(--gcap-hero-title-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.gcap-checker__hero h2::before,
.gcap-checker__hero h2::after {
  display: none !important;
  content: none !important;
}

.gcap-checker__disclaimer {
  color: var(--gcap-muted);
}

.gcap-checker__prep h3,
.gcap-checker__step-guide h3 {
  font-size: var(--font-size-step-title);
  line-height: 1.34;
}

.gcap-checker__section-head h4,
.gcap-checker__branch-copy h4 {
  font-size: var(--font-size-section);
  line-height: 1.42;
}

.gcap-checker__subsection-copy h5,
.gcap-live-interview h3,
.gcap-checker__modal-head h3,
.gcap-checker__unlock-copy h3,
.gcap-checker__consult-value h4 {
  font-size: var(--font-size-subsection);
  line-height: 1.42;
}

.gcap-checker__hero-actions,
.gcap-checker__nav,
.gcap-checker__nav-right,
.gcap-checker__step-list,
.gcap-checker__company-grid,
.gcap-checker__upload-grid,
.gcap-checker__unlock-grid,
.gcap-checker__media-consent,
.gcap-live-interview__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.gcap-checker__hero-actions {
  justify-content: center;
  align-items: stretch;
  gap: 18px;
}

.gcap-checker__hero-actions--aux {
  justify-content: center;
}

.gcap-checker__hero-button,
.gcap-checker__ghost-button,
.gcap-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid transparent;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.gcap-checker__hero-button {
  background: linear-gradient(135deg, var(--gcap-gold), var(--gcap-gold-2));
  color: #1B2536;
  box-shadow: 0 10px 24px rgba(192, 170, 119, 0.2);
}

.gcap-checker__hero-actions .gcap-checker__hero-button {
  flex: 1 1 320px;
  max-width: 420px;
  justify-content: center;
  text-align: center;
}

.gcap-checker__ghost-button {
  background: var(--gcap-surface-2);
  color: var(--gcap-text);
  border-color: var(--gcap-border);
}

.gcap-secondary-button {
  background: rgba(192, 170, 119, 0.1);
  border-color: rgba(192, 170, 119, 0.34);
  color: var(--gcap-text);
}

.gcap-secondary-button--hero {
  min-width: min(100%, 380px);
}

.gcap-secondary-button--ghost {
  background: var(--gcap-surface-2);
  border-color: var(--gcap-border);
}

.gcap-checker__hero-button:hover,
.gcap-checker__ghost-button:hover,
.gcap-secondary-button:hover,
.gcap-choice-card:hover {
  transform: translateY(-1px);
}

.gcap-checker__hero-button:hover,
.gcap-checker__hero-button:focus-visible {
  box-shadow: 0 12px 28px rgba(192, 170, 119, 0.24);
}

.gcap-checker__hero-button.is-loading {
  pointer-events: none;
  opacity: 0.74;
}

.gcap-secondary-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.gcap-checker__hero-button:focus-visible,
.gcap-checker__ghost-button:focus-visible,
.gcap-secondary-button:focus-visible,
.gcap-choice-card:focus-visible,
.gcap-review-card__head button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.gcap-checker__prep,
.gcap-checker__progress,
.gcap-checker__step,
.gcap-checker__flash,
.gcap-checker__unlock,
.gcap-checker__result {
  margin-top: 22px;
}

.gcap-checker__prep,
.gcap-checker__progress,
.gcap-checker__step,
.gcap-checker__unlock,
.gcap-checker__result,
.gcap-checker__flash,
.gcap-checker__modal-inner {
  background: var(--gcap-surface);
  border: 1px solid var(--gcap-border);
  border-radius: 22px;
  padding: 22px;
}

.gcap-checker__prep-list,
.gcap-checker__question-outline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0;
  padding-left: 1.2rem;
}

.gcap-checker__progress-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gcap-checker__progress-bar {
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.gcap-checker__step-list small {
  font-size: var(--font-size-meta);
  line-height: 1.55;
}

.gcap-checker__progress-bar span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--gcap-gold), var(--gcap-gold-2));
}

.gcap-checker__step-list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.gcap-checker__step-list li {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--gcap-border);
  min-width: 130px;
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
}

.gcap-checker__step-list li.is-active {
  border-color: var(--gcap-gold);
  background: rgba(192, 170, 119, 0.12);
}

.gcap-checker__step-list li.is-complete {
  border-color: rgba(192, 170, 119, 0.3);
}

.gcap-checker__step-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-weight: 700;
}

.gcap-checker__step {
  display: none;
}

.gcap-checker__step.is-active {
  display: block;
}

.gcap-checker__step-guide {
  position: relative;
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
  padding: 18px 22px 18px 30px;
  border-radius: 18px;
  border: 1px solid rgba(192, 170, 119, 0.22);
  background: var(--gcap-guide);
}

.gcap-checker__step-guide::before {
  content: '';
  position: absolute;
  top: 22px;
  left: 20px;
  bottom: 22px;
  width: 4px;
  border-radius: 999px;
  background: rgba(192, 170, 119, 0.88);
}

.gcap-checker__step-guide > * {
  margin-left: 0;
}

.gcap-checker__guide-label {
  margin: 0;
  font-size: var(--font-size-meta);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gcap-gold-2);
  line-height: 1.35;
}

.gcap-checker__step-guide p:last-child,
.gcap-checker__section-head p:last-child,
.gcap-checker__subsection-copy p:last-child,
.gcap-checker__branch-copy p:last-child {
  margin: 0;
}

.gcap-checker__section {
  display: grid;
  gap: 16px;
}

.gcap-checker__section + .gcap-checker__section {
  margin-top: 20px;
}

.gcap-checker__section-head,
.gcap-checker__subsection-copy {
  display: grid;
  gap: 6px;
}

.gcap-checker__section-head--minor {
  margin-top: 6px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(192, 170, 119, 0.18);
  background: rgba(192, 170, 119, 0.06);
}

.gcap-checker__section-head--minor h5 {
  text-align: left;
}

.gcap-checker__section-head h4,
.gcap-checker__branch-copy h4,
.gcap-checker__subsection-copy h5 {
  margin: 0;
}

.gcap-checker__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gcap-checker__field,
.gcap-checker__upload,
.gcap-checker__fieldset,
.gcap-choice-card,
.gcap-review-card,
.gcap-checker__booking-card,
.gcap-checker__company-note,
.gcap-checker__branch-copy,
.gcap-live-interview {
  display: grid;
  gap: 8px;
  border-radius: 18px;
  border: 1px solid var(--gcap-border);
  background: var(--gcap-card);
  padding: 18px;
}

.gcap-checker__subsection {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--gcap-border);
  background: rgba(255, 255, 255, 0.03);
}

.gcap-checker__field--full {
  grid-column: 1 / -1;
}

.gcap-checker__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-weight: 700;
  font-size: var(--font-size-label);
  line-height: 1.55;
}

.gcap-checker__label em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(90, 113, 145, 0.7);
  background: rgba(64, 85, 119, 0.5);
  color: var(--color-text-primary);
  font-style: normal;
  font-size: var(--font-size-meta);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.gcap-checker__label em.is-strong {
  border-color: rgba(226, 211, 178, 0.72);
  background: linear-gradient(135deg, rgba(192, 170, 119, 0.95), rgba(226, 211, 178, 0.92));
  color: var(--color-accent-ink);
}

.gcap-checker__label em.is-recommended {
  border-color: rgba(192, 170, 119, 0.52);
  background: rgba(192, 170, 119, 0.22);
  color: var(--color-text-primary);
}

.gcap-checker__label em.is-optional {
  border-color: rgba(90, 113, 145, 0.82);
  background: rgba(64, 85, 119, 0.48);
  color: var(--color-text-secondary);
}

.gcap-checker input[type="text"],
.gcap-checker input[type="email"],
.gcap-checker input[type="url"],
.gcap-checker input[type="date"],
.gcap-checker select,
.gcap-checker textarea {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid var(--color-input-border);
  background: var(--color-input-bg);
  color: var(--gcap-text);
  padding: 12px 14px;
}

.gcap-checker textarea {
  min-height: 110px;
  resize: none;
  overflow-y: hidden;
}

.gcap-checker input::placeholder,
.gcap-checker textarea::placeholder {
  color: var(--gcap-muted);
}

.gcap-checker input:focus,
.gcap-checker select:focus,
.gcap-checker textarea:focus {
  outline: none;
  border-color: var(--gcap-gold);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.gcap-checker__field small,
.gcap-checker__upload small,
.gcap-checker__section-head p,
.gcap-checker__branch-copy p,
.gcap-checker__subsection-copy p,
.gcap-checker__company-note p {
  color: var(--gcap-muted);
  line-height: 1.7;
  font-size: var(--font-size-body);
}

.gcap-choice-card {
  flex: 1 1 260px;
  text-align: left;
  cursor: pointer;
}

.gcap-choice-card strong {
  font-size: clamp(1.32rem, 1.15rem + 0.35vw, 1.52rem);
  line-height: 1.35;
  color: var(--gcap-text);
}

.gcap-choice-card span {
  color: var(--gcap-muted);
  line-height: 1.6;
  font-size: var(--font-size-body);
}

.gcap-choice-card.is-selected {
  border-color: var(--gcap-gold);
  background: rgba(192, 170, 119, 0.14);
  box-shadow: 0 12px 26px rgba(192, 170, 119, 0.08);
}

.gcap-checker__upload {
  position: relative;
  min-height: 180px;
  align-content: start;
}

.gcap-checker__summary-card {
  display: grid;
  gap: 16px;
  border-radius: 18px;
  border: 1px solid rgba(192, 170, 119, 0.24);
  background: rgba(255, 255, 255, 0.04);
  padding: 18px;
}

.gcap-checker__summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 0;
}

.gcap-checker__summary-list > div {
  min-width: 0;
}

.gcap-checker__summary-list-item--full {
  grid-column: 1 / -1;
}

.gcap-checker__optional {
  margin-top: 28px;
  border-radius: 18px;
  border: 1px solid rgba(64, 85, 119, 0.68);
  background: linear-gradient(180deg, rgba(41, 58, 87, 0.88), rgba(34, 49, 74, 0.72));
  overflow: hidden;
  box-shadow: none;
}

.gcap-checker__optional::before {
  content: '詳細入力';
  display: block;
  padding: 18px 18px 4px;
  color: var(--gcap-gold-2);
  font-size: var(--font-size-meta);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.gcap-checker__optional summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  padding: 14px 18px 16px;
  font-weight: 700;
  color: var(--gcap-text);
  text-align: left;
  font-size: var(--font-size-body);
  background: transparent;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  appearance: none;
  background-clip: padding-box;
}

.gcap-checker__optional summary::-webkit-details-marker {
  display: none;
}

.gcap-checker__optional summary::marker {
  display: none;
  content: '';
}

.gcap-checker__optional summary::before {
  content: '▸';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gcap-gold-2);
  transition: transform 0.18s ease;
}

.gcap-checker__optional[open] summary {
  border-bottom: 0;
  background: rgba(192, 170, 119, 0.04);
  box-shadow: none !important;
}

.gcap-checker__optional[open] summary::before {
  transform: rotate(90deg);
}

.gcap-checker__optional-copy,
.gcap-checker__optional .gcap-checker__upload-grid,
.gcap-checker__optional .gcap-checker__field-grid,
.gcap-checker__optional .gcap-checker__media-consent,
.gcap-checker__optional .gcap-checker__subsection {
  margin: 0 18px 18px;
}

.gcap-checker__optional-copy {
  padding-top: 16px;
}

.gcap-help {
  margin: 0;
  color: var(--gcap-muted);
  font-size: var(--font-size-body);
  line-height: 1.75;
}

.gcap-live-interview > .gcap-help {
  font-size: var(--font-size-body);
  line-height: 1.85;
}

.gcap-help--olp {
  font-size: var(--font-size-body);
  line-height: 1.85;
}

.gcap-checker__summary-list dt {
  margin: 0 0 6px;
  color: var(--gcap-gold-2);
  font-size: var(--font-size-meta);
  font-weight: 700;
}

.gcap-checker__summary-list dd {
  margin: 0;
  color: var(--gcap-text);
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.gcap-checker__summary-list dd.is-empty {
  color: var(--gcap-muted);
}

.gcap-checker__upload input[type="file"] {
  min-height: auto;
  border: 0;
  padding: 0;
  background: transparent;
}

.gcap-checker__upload.is-dragover,
.gcap-checker__upload.has-files {
  border-color: var(--gcap-gold);
}

.gcap-checker__upload[data-file-label]::after {
  content: attr(data-file-label);
  display: block;
  margin-top: 6px;
  color: var(--gcap-gold-2);
  font-size: var(--font-size-meta);
  word-break: break-word;
}

.gcap-checker__fieldset {
  margin: 0;
  min-width: 0;
}

.gcap-checker__fieldset legend {
  min-width: 0;
  max-width: 100%;
  margin-bottom: 12px;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.55;
}

.gcap-checker__fieldset--plain {
  padding: 0;
  border: 0;
  background: transparent;
}

.gcap-checker__checkbox-list,
.gcap-checker__consent {
  display: grid;
  gap: 12px;
}

.gcap-checker__checkbox-list--rich {
  gap: 18px;
}

.gcap-checker__checkbox-card,
.gcap-checker__consent label,
.gcap-checker__media-consent label,
.gcap-live-interview__consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--gcap-muted);
  font-size: var(--font-size-body);
  line-height: 1.7;
}

.gcap-checker__checkbox-card input[type="checkbox"],
.gcap-checker__consent input[type="checkbox"],
.gcap-checker__media-consent input[type="checkbox"],
.gcap-live-interview__consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0.18em 0 0;
  flex: 0 0 auto;
}

.gcap-checker__checkbox-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.gcap-checker__checkbox-copy strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.gcap-checker__checkbox-copy small {
  color: var(--gcap-muted);
  line-height: 1.65;
  font-size: var(--font-size-body);
}

.gcap-checker__checkbox-copy em {
  font-style: normal;
  color: var(--gcap-gold-2);
}

.gcap-checker__checkbox-list--olp .gcap-checker__checkbox-card--olp {
  align-items: center;
  gap: 16px;
}

.gcap-checker__checkbox-list--olp .gcap-checker__checkbox-card--olp input[type="checkbox"] {
  margin-top: 0;
}

.gcap-checker__checkbox-list--olp .gcap-checker__checkbox-copy {
  align-content: center;
}

.gcap-checker__checkbox-list--olp .gcap-checker__checkbox-copy strong {
  line-height: 1.45;
}

.gcap-live-interview-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
  align-self: start;
}

.gcap-live-interview__consent {
  align-items: center;
  padding: 0 4px;
}

.gcap-live-interview__consent span {
  color: var(--gcap-text);
  font-size: var(--font-size-body);
}

.gcap-live-interview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.gcap-live-interview-grid > * {
  min-width: 0;
  align-self: start;
}

.gcap-live-interview {
  min-width: 0;
  align-self: start;
}

.gcap-live-interview [hidden] {
  display: none !important;
}

.gcap-live-interview__header,
.gcap-live-interview__question-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.gcap-live-interview__badge,
.gcap-live-interview__round,
.gcap-live-interview__question-label,
.gcap-lock-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(192, 170, 119, 0.34);
  background: rgba(192, 170, 119, 0.18);
  color: var(--color-accent-ink);
  font-size: var(--font-size-meta);
  font-weight: 700;
}

.gcap-live-interview__rules {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--gcap-muted);
  font-size: var(--font-size-body);
  line-height: 1.75;
}

.gcap-live-interview__rules li + li {
  margin-top: 6px;
}

.gcap-live-interview__question {
  border-radius: 14px;
  border: 1px solid rgba(192, 170, 119, 0.22);
  background: linear-gradient(180deg, rgba(34, 49, 74, 0.98), rgba(27, 40, 61, 0.98));
  padding: 16px;
}

.gcap-live-interview__focus {
  color: var(--gcap-gold-2);
  font-size: var(--font-size-body);
  margin: 12px 0 8px;
}

.gcap-live-interview__question h4 {
  font-size: var(--font-size-subsection);
  line-height: 1.6;
  margin: 0;
}

.gcap-live-interview__preview {
  border-radius: 14px;
  border: 1px solid var(--gcap-border);
  background: rgba(17, 26, 40, 0.92);
  padding: 12px;
}

.gcap-live-interview__preview video {
  width: 100%;
  border-radius: 12px;
  background: #000;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.gcap-live-interview__status {
  margin: 0;
  border-radius: 12px;
  padding: 12px 14px;
  border: 1px solid var(--gcap-border);
  background: rgba(255, 255, 255, 0.03);
  color: var(--gcap-muted);
  line-height: 1.7;
}

.gcap-live-interview__status[data-state="success"] {
  border-color: var(--color-success-border);
  background: var(--color-success-bg);
  color: var(--gcap-text);
}

.gcap-live-interview__status[data-state="error"] {
  border-color: var(--color-danger-border);
  background: var(--color-danger-bg);
  color: var(--gcap-danger);
}

.gcap-live-interview__history,
.gcap-checker__review {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.gcap-live-history-entry {
  border-radius: 14px;
  border: 1px solid var(--gcap-border);
  background: rgba(26, 38, 57, 0.88);
  padding: 14px;
  min-width: 0;
}

.gcap-live-history-entry h4 {
  margin: 0;
}

.gcap-live-history-entry__question {
  color: var(--gcap-text);
  margin: 10px 0;
}

.gcap-live-history-entry__meta,
.gcap-live-history-entry__note {
  color: var(--gcap-muted);
  margin: 6px 0 0;
  font-size: var(--font-size-meta);
}

.gcap-live-history-entry__note {
  color: var(--gcap-gold-2);
}

.gcap-review-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.gcap-review-card__head button {
  background: transparent;
  border: 0;
  color: var(--gcap-gold-2);
  cursor: pointer;
}

.gcap-review-card dl {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr;
  gap: 10px 16px;
  margin: 0;
}

.gcap-review-card dt {
  color: var(--gcap-gold-2);
  font-weight: 700;
}

.gcap-review-card dd {
  margin: 0;
  color: var(--gcap-muted);
  white-space: pre-wrap;
}

.gcap-checker__result-placeholder,
.gcap-checker__skip-note {
  color: var(--gcap-muted);
  line-height: 1.75;
}

.gcap-checker-result,
.gcap-checker-detail {
  display: grid;
  gap: 18px;
}

.gcap-checker-result__hero,
.gcap-checker-detail__header,
.gcap-checker-callout {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--gcap-border);
  background: rgba(255, 255, 255, 0.035);
}

.gcap-checker-callout {
  display: grid;
}

.gcap-checker__impact-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.gcap-checker__impact-list[hidden] {
  display: none !important;
}

.gcap-checker__impact-card {
  border-radius: 18px;
  border: 1px solid rgba(192, 170, 119, 0.2);
  background: rgba(192, 170, 119, 0.06);
  padding: 18px;
}

.gcap-checker__impact-card h4 {
  margin: 0 0 10px;
}

.gcap-checker__impact-card ul {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--gcap-muted);
}

.gcap-checker__impact-card li + li {
  margin-top: 8px;
}

.gcap-checker__flash {
  color: var(--gcap-text);
}

.gcap-checker__consent {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(192, 170, 119, 0.16);
}

.gcap-checker__consent p {
  margin: 0 0 12px;
}

.gcap-checker__consent label {
  color: var(--gcap-text);
}

.gcap-checker__flash.is-error {
  border-color: var(--color-danger-border);
  background: var(--color-danger-bg);
  color: var(--gcap-danger);
}

.gcap-checker__flash.is-success {
  border-color: var(--color-success-border);
  background: var(--color-success-bg);
}

.gcap-checker__unlock-grid > * {
  flex: 1 1 320px;
}

.gcap-checker__unlock-grid--actions {
  align-items: stretch;
}

.gcap-checker__unlock-grid--actions .gcap-checker__booking-card:first-child {
  flex: 1.35 1 360px;
}

.gcap-checker__unlock-grid--actions .gcap-checker__booking-card:last-child {
  flex: 0.85 1 280px;
}

.gcap-checker__unlock-grid--actions .gcap-checker__hero-button,
.gcap-checker__unlock-grid--actions .gcap-secondary-button {
  width: 100%;
}

.gcap-checker__consult-value {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(192, 170, 119, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.gcap-checker__consult-value h4,
.gcap-checker__unlock-copy h3 {
  margin: 0;
}

.gcap-checker__consult-value ul {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--gcap-muted);
}

.gcap-checker__consult-value li + li {
  margin-top: 8px;
}

.gcap-checker__modal {
  padding: 0;
  border: 0;
  background: transparent;
  width: min(820px, calc(100vw - 32px));
}

.gcap-checker__modal::backdrop {
  background: rgba(4, 9, 16, 0.7);
}

.gcap-checker__modal-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.gcap-checker__company-branch[hidden],
.gcap-checker__unlock[hidden],
.gcap-checker__prep[hidden] {
  display: none !important;
}

.gcap-admin-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.gcap-admin-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border-radius: 999px;
  padding: 0 14px;
  border: 1px solid rgba(44, 62, 87, 0.12);
  text-decoration: none;
}

.gcap-admin-tab-panel + .gcap-admin-tab-panel {
  margin-top: 24px;
}

.gcap-admin-tab-panel pre {
  overflow: auto;
  padding: 16px;
  background: #f6f8fa;
  border: 1px solid rgba(44, 62, 87, 0.08);
  border-radius: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.gcap-checker__nav {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  position: relative;
  margin-top: 72px;
  margin-bottom: 20px;
  padding: 36px 6px 18px;
}

.gcap-checker__nav::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(192, 170, 119, 0.18);
}

.gcap-checker__nav-right {
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
}

@media (max-width: 960px) {
  .gcap-checker {
    padding: 18px;
  }

  .gcap-checker__prep-list,
  .gcap-checker__question-outline,
  .gcap-checker__field-grid,
  .gcap-checker__upload-grid,
  .gcap-live-interview-grid,
  .gcap-review-card dl,
  .gcap-checker__summary-list {
    grid-template-columns: 1fr;
  }

  .gcap-checker__hero-actions,
  .gcap-checker__nav,
  .gcap-checker__nav-right,
  .gcap-checker__step-list,
  .gcap-checker__company-grid,
  .gcap-checker__unlock-grid,
  .gcap-checker__media-consent {
    flex-direction: column;
  }

  .gcap-checker__hero-actions .gcap-checker__hero-button,
  .gcap-checker__hero-button,
  .gcap-checker__ghost-button,
  .gcap-secondary-button {
    width: 100%;
    max-width: none;
  }

  .gcap-checker__label em {
    font-size: var(--font-size-meta);
  }

  .gcap-checker-result__hero,
  .gcap-checker-detail__header,
  .gcap-checker-callout,
  .gcap-review-card__head,
  .gcap-live-interview__header,
  .gcap-live-interview__question-head {
    flex-direction: column;
  }

  .gcap-checker__optional-copy,
  .gcap-checker__optional .gcap-checker__upload-grid,
  .gcap-checker__optional .gcap-checker__field-grid,
  .gcap-checker__optional .gcap-checker__media-consent,
  .gcap-checker__optional .gcap-checker__subsection {
    margin-left: 16px;
    margin-right: 16px;
  }

  .gcap-checker__step-guide > * {
    margin-left: 0;
  }

  .gcap-checker__step-guide {
    padding-left: 28px;
  }

  .gcap-checker__step-guide::before {
    left: 18px;
  }

  .gcap-live-interview > .gcap-help {
    font-size: var(--font-size-body);
  }
}

@media (prefers-color-scheme: light) {
  .gcap-checker__hero {
    background: linear-gradient(135deg, #FFFFFF, #EEF2F6);
  }

  .gcap-checker__optional {
    border-color: rgba(156, 139, 88, 0.24);
    background: linear-gradient(180deg, rgba(250, 247, 240, 0.98), rgba(255, 255, 255, 0.99));
  }

  .gcap-checker__optional[open] summary {
    background: rgba(156, 139, 88, 0.1);
  }

  .gcap-checker__optional,
  .gcap-checker__optional summary,
  .gcap-checker__optional p,
  .gcap-checker__optional label,
  .gcap-checker__optional strong,
  .gcap-checker__optional small,
  .gcap-checker__optional span {
    color: #23344D;
  }

  .gcap-checker__optional .gcap-help,
  .gcap-checker__optional .gcap-checker__field small,
  .gcap-checker__optional .gcap-checker__upload small,
  .gcap-checker__optional .gcap-checker__checkbox-copy small {
    color: #5C697A;
  }

  .gcap-checker__label em,
  .gcap-live-interview__badge,
  .gcap-live-interview__round,
  .gcap-live-interview__question-label,
  .gcap-lock-pill {
    background: rgba(156, 139, 88, 0.2);
    border-color: rgba(156, 139, 88, 0.48);
    color: #23344D;
  }

  .gcap-checker__label em.is-strong {
    background: linear-gradient(135deg, rgba(156, 139, 88, 0.95), rgba(200, 184, 137, 0.95));
    border-color: rgba(156, 139, 88, 0.62);
    color: #23344D;
  }

  .gcap-checker__label em.is-recommended {
    background: rgba(156, 139, 88, 0.22);
    border-color: rgba(156, 139, 88, 0.52);
    color: #23344D;
  }

  .gcap-checker__label em.is-optional {
    background: rgba(213, 220, 229, 0.82);
    border-color: rgba(92, 105, 122, 0.2);
    color: #5C697A;
  }
}
