



.ct-hero {
  padding-block: clamp(3rem, 7vw, 5.5rem) clamp(1.5rem, 3vw, 2.5rem);
  border-block-end: 1px solid var(--rule);
}

.ct-hero__h1 {
  margin: var(--sp-4) 0 0;
  max-width: 22ch;
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.022em;
}

.ct-hero__meta {
  margin: var(--sp-4) 0 0;
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
  color: var(--ink-muted);
}



.ct-promise__h,
.ct-form__h,
.ct-after__h,
.ct-evidence__h,
.ct-direct__h { margin: 0 0 var(--sp-8); }



.ct-promise { border-block-end: 1px solid var(--rule); }


.ct-promise__oath {
  margin: 0 0 var(--sp-8);
  max-width: 44ch;
  padding-inline-start: var(--sp-4);
  border-inline-start: 1.5px solid var(--accent);
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
}

.ct-promise__states {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-8);
}


.ct-state {
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
}

.ct-state__name {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--ink);
}

.ct-state__body {
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}


.ct-state:first-child { border-block-start-color: var(--accent); }

.ct-promise__close {
  margin: var(--sp-8) 0 0;
  font-size: var(--fs-body);
  color: var(--ink);
}



.ct-form { background: var(--sheet); }

.ct-f { max-width: 900px; }


.ct-f__field {
  display: grid;
  grid-template-columns: minmax(0, 640px) minmax(0, 1fr);
  gap: var(--sp-4) var(--sp-6);
  align-items: start;
  padding-block: var(--sp-6);
  border-block-start: 1px solid var(--rule-soft);
}

.ct-f__field:first-child { border-block-start: 0; padding-block-start: 0; }

.ct-f__label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2);
  margin-block-end: var(--sp-2);
  font-size: var(--fs-small);
  font-weight: 600;
  color: var(--ink);
}


.ct-f__n {
  flex: none;
  min-width: 2ch;
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--ink-muted);
}


.ct-f__req,
.ct-f__opt {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ct-f__req { color: var(--accent-deep); }
.ct-f__opt { color: var(--ink-muted); }

.ct-f__input,
.ct-f__select {
  width: 100%;
  min-height: 48px;
  padding: var(--sp-3) var(--sp-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-flat);
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.4;
}

.ct-f__input::placeholder { color: var(--ink-muted); }


.ct-f__select { padding: var(--sp-2); }

.ct-f__select option {
  padding: var(--sp-2);
  font-size: var(--fs-small);
}

.ct-f__area {
  min-height: 7.5rem;
  resize: vertical;
}

.ct-f__hint {
  margin: 0;
  font-size: var(--fs-micro);
  line-height: 1.55;
  color: var(--ink-muted);
}

.ct-f__note {
  margin: var(--sp-8) 0 var(--sp-6);
  padding-inline-start: var(--sp-4);
  border-inline-start: 1px solid var(--rule-soft);
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}

.ct-f__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

.ct-f__privacy {
  margin: var(--sp-6) 0 0;
  font-size: var(--fs-small);
  color: var(--ink-muted);
}


.ct-f__noscript {
  margin: var(--sp-6) 0 0;
  padding: var(--sp-4);
  border: 1px solid var(--rule);
  font-size: var(--fs-small);
  color: var(--ink);
}



.ct-after { border-block-end: 1px solid var(--rule); }

.ct-after__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ct-step { padding-block-start: var(--sp-4); border-block-start: 1px solid var(--rule-soft); }


.ct-step::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin-block-end: var(--sp-3);
  border-block-start: 1.5px solid var(--ink);
  border-inline-start: 1.5px solid var(--ink);
}

.ct-step__n {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .14em;
  color: var(--accent-deep);
}

.ct-step__t {
  margin: var(--sp-2) 0 var(--sp-3);
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.25;
}

.ct-step__d {
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}



.ct-evidence__line {
  margin: calc(-1 * var(--sp-4)) 0 var(--sp-8);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
  color: var(--ink-muted);
}

.ct-evidence__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-6);
}

.ct-cert,
.ct-work {
  margin: 0;
  
  max-width: 46rem;
}


.ct-cert__img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--r-card);
  background: var(--sheet);
}

.ct-work { margin-block-start: var(--sp-8); }

.ct-work__img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: var(--r-card);
}

.ct-cap {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.ct-direct__list { margin: 0; }

.ct-direct__row {
  display: grid;
  grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
}

.ct-direct__row dd { margin: 0; color: var(--ink); }

.ct-direct__row dt {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-muted);
}



.ct-out { border-block-start: 1px solid var(--rule); }

.ct-out__wrap { text-align: center; }

.ct-out__line {
  max-width: 60ch;
  margin: 0 auto var(--sp-6);
  font-size: var(--fs-body);
  color: var(--ink);
}



@media (max-width: 900px) {
  .ct-promise__states,
  .ct-after__list,
  .ct-evidence__row { grid-template-columns: minmax(0, 1fr); }

  .ct-f__field { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }

  .ct-direct__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
}
