:root {
  --page: #f7f3eb;
  --surface: #ffffff;
  --surface-soft: #fcfaf6;

  --ink: #191713;
  --text: #292621;
  --muted: #746e64;

  --gold: #ad7f24;
  --gold-dark: #805b16;
  --gold-light: #d8b35f;
  --gold-pale: #f8efd9;

  --border: #e5ddd0;
  --border-strong: #d8cbb6;

  --danger: #a84444;

  --shadow:
    0 20px 60px rgba(55, 40, 12, .065);

  --shadow-small:
    0 8px 28px rgba(55, 40, 12, .05);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

body {
  margin: 0;

  background:
    linear-gradient(
      180deg,
      #faf8f3 0,
      var(--page) 480px
    );

  color: var(--text);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

input,
select,
textarea {
  width: 100%;

  min-height: 48px;

  border:
    1px solid
    var(--border-strong);

  border-radius: 8px;

  background: #fff;

  color: var(--ink);

  padding: 12px 14px;

  outline: none;

  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #cdbb98;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--gold);

  box-shadow:
    0 0 0 3px
    rgba(173, 127, 36, .11);
}

input[type="checkbox"],
input[type="radio"] {
  width: 17px;
  height: 17px;

  min-height: auto;

  padding: 0;

  accent-color: var(--gold);

  flex: 0 0 auto;
}

textarea {
  min-height: 135px;

  resize: vertical;
}

.hidden {
  display: none !important;
}

.preview-banner {
  padding: 7px 16px;

  background: #171613;

  color: #f4dfaa;

  text-align: center;

  font-size: 10px;

  font-weight: 800;

  letter-spacing: .095em;
}

.site-header {
  background:
    rgba(255,255,255,.98);

  border-bottom:
    1px solid
    var(--border);
}

.header-inner {
  width:
    min(
      1360px,
      calc(100% - 42px)
    );

  min-height: 70px;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;
}

.existing-brand-logo {
  display: flex;

  align-items: center;

  text-decoration: none;
}

.brand-logo {
  display: block;

  width: auto;

  height: 54px;

  object-fit: contain;
}

.header-label {
  color: var(--muted);

  font-size: 12px;

  font-weight: 700;
}

.hero {
  position: relative;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 74% 22%,
      rgba(214,178,95,.13),
      transparent 24%
    ),
    linear-gradient(
      100deg,
      #fdfbf7 0%,
      #fbf8f1 58%,
      #f2e7d3 100%
    );

  border-bottom:
    1px solid
    var(--border);
}

.hero-inner {
  width:
    min(
      1360px,
      calc(100% - 42px)
    );

  min-height: 330px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    430px;

  align-items: stretch;
}

.hero-copy {
  position: relative;

  z-index: 3;

  padding:
    48px
    60px
    46px
    30px;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.hero-badge {
  align-self: flex-start;

  display: inline-flex;

  align-items: center;

  padding:
    7px
    12px;

  border:
    1px solid
    #ead8ad;

  border-radius: 999px;

  background:
    rgba(248,239,217,.88);

  color:
    var(--gold-dark);

  font-size: 10px;

  font-weight: 850;

  letter-spacing: .08em;
}

.hero h1 {
  max-width: 720px;

  margin:
    18px
    0
    0;

  color: var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      44px,
      5.2vw,
      70px
    );

  font-weight: 600;

  line-height: 1.02;

  letter-spacing: -.025em;
}

.hero-lead {
  max-width: 680px;

  margin:
    13px
    0
    0;

  color: var(--muted);

  font-size: 14px;

  line-height: 1.7;
}

.hero-benefits {
  margin-top: 27px;

  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap: 22px;
}

.hero-benefit {
  display: flex;

  align-items: flex-start;

  gap: 10px;
}

.benefit-icon {
  width: 36px;
  height: 36px;

  flex: 0 0 36px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--gold-pale);

  color:
    var(--gold);

  font-size: 17px;
}

.hero-benefit div {
  display: flex;

  flex-direction: column;
}

.hero-benefit strong {
  color: var(--ink);

  font-size: 11px;
}

.hero-benefit small {
  max-width: 150px;

  margin-top: 3px;

  color: var(--muted);

  font-size: 10px;

  line-height: 1.45;
}

.hero-showcase {
  position: relative;

  min-height: 330px;

  overflow: hidden;

  border-left:
    1px solid
    rgba(173,127,36,.17);

  background:
    linear-gradient(
      145deg,
      #31261c,
      #100f0d 62%,
      #2e2116
    );
}

.showcase-glow {
  position: absolute;

  width: 280px;
  height: 280px;

  right: -30px;
  top: -50px;

  border-radius: 50%;

  background:
    rgba(203,149,49,.26);

  filter: blur(45px);
}

.showcase-backdrop {
  position: absolute;

  inset: auto 36px 28px auto;

  width: 200px;
  height: 250px;

  border:
    1px solid
    rgba(218,178,96,.4);

  border-radius: 14px;

  background:
    linear-gradient(
      150deg,
      rgba(20,18,14,.96),
      rgba(58,42,24,.9)
    );

  box-shadow:
    0 30px 50px
    rgba(0,0,0,.35);
}

.showcase-card {
  position: absolute;

  display: block;

  width: 137px;

  border-radius: 7px;

  object-fit: cover;

  box-shadow:
    0 18px 34px
    rgba(0,0,0,.48);

  border:
    1px solid
    rgba(255,255,255,.18);
}

.showcase-card-left {
  left: 45px;

  top: 105px;

  transform:
    rotate(-8deg);
}

.showcase-card-center {
  left: 150px;

  top: 48px;

  z-index: 2;

  transform:
    rotate(2deg);
}

.showcase-card-right {
  right: 18px;

  top: 92px;

  transform:
    rotate(9deg);
}

.page-shell {
  width:
    min(
      1360px,
      calc(100% - 42px)
    );

  margin:
    0
    auto
    70px;

  padding-top: 0;

  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    330px;

  gap: 24px;

  align-items: start;
}

.form-column {
  min-width: 0;
}

.progress-card {
  position: relative;

  z-index: 6;

  margin:
    -28px
    0
    18px;

  padding:
    20px
    28px;

  background:
    rgba(255,255,255,.98);

  border:
    1px solid
    var(--border);

  border-radius: 14px;

  box-shadow:
    var(--shadow-small);
}

.progress-accessibility {
  position: absolute;

  width: 1px;
  height: 1px;

  overflow: hidden;

  clip:
    rect(
      0,
      0,
      0,
      0
    );
}

.application-stepper {
  display: grid;

  grid-template-columns:
    auto
    1fr
    auto
    1fr
    auto
    1fr
    auto;

  align-items: start;
}

.stepper-item {
  min-width: 115px;

  text-align: center;

  color: var(--muted);
}

.stepper-circle {
  width: 32px;
  height: 32px;

  margin:
    0
    auto
    8px;

  display: grid;

  place-items: center;

  border:
    1px solid
    var(--border-strong);

  border-radius: 50%;

  background:
    #f7f5f0;

  color:
    var(--muted);

  font-size: 11px;

  font-weight: 850;
}

.stepper-item strong {
  display: block;

  color: var(--muted);

  font-size: 10px;

  font-weight: 750;
}

.stepper-item.active
.stepper-circle {
  background:
    var(--gold);

  border-color:
    var(--gold);

  color:
    #fff;

  box-shadow:
    0 4px 12px
    rgba(173,127,36,.22);
}

.stepper-item.active strong {
  color: var(--ink);
}

.stepper-item.complete
.stepper-circle {
  background:
    var(--gold-pale);

  border-color:
    var(--gold);

  color:
    var(--gold-dark);
}

.stepper-line {
  height: 1px;

  margin-top: 16px;

  background:
    var(--border);
}

.stepper-line.complete {
  background:
    var(--gold);
}

.optional-line {
  border-top:
    1px dashed
    var(--border-strong);

  background: transparent;
}

.optional-step strong span {
  display: block;

  margin-bottom: 2px;

  color:
    var(--gold-dark);

  font-size: 8px;

  text-transform: uppercase;

  letter-spacing: .08em;
}

.stepper-star {
  color:
    var(--gold);

  background:
    var(--gold-pale);
}

.hidden-progress {
  display: none;
}

.form-page {
  display: none;

  min-height: 440px;

  padding:
    28px
    34px
    32px;

  background:
    var(--surface);

  border:
    1px solid
    var(--border);

  border-radius:
    14px;

  box-shadow:
    var(--shadow);
}

.form-page.active {
  display: block;
}

.section-heading {
  display: flex;

  align-items:
    flex-start;

  gap: 13px;

  margin-bottom:
    25px;
}

.section-number {
  display: none;
}

.section-heading h3 {
  margin: 0;

  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 25px;

  font-weight: 600;

  line-height: 1.15;
}

.section-heading p {
  margin:
    6px
    0
    0;

  color:
    var(--muted);

  font-size:
    12px;

  line-height:
    1.55;
}

.field-block {
  margin-top:
    20px;
}

.field-label {
  display: block;

  margin-bottom:
    7px;

  color:
    var(--ink);

  font-size:
    11px;

  font-weight: 800;
}

.field-help {
  margin:
    -2px
    0
    10px;

  color:
    var(--muted);

  font-size:
    10px;

  line-height:
    1.5;
}

.required {
  color:
    var(--gold-dark);
}

.optional {
  margin-left: 5px;

  color:
    var(--muted);

  font-size:
    9px;

  font-weight: 500;
}

.form-grid {
  display: grid;

  gap:
    15px
    18px;
}

.form-grid-2 {
  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );
}

.form-grid-3 {
  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );
}

.choice-grid {
  display: grid;

  gap: 10px;
}

.choice-grid-3 {
  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );
}

.choice-card {
  min-height:
    82px;

  display: flex;

  align-items:
    flex-start;

  gap: 10px;

  padding:
    13px;

  border:
    1px solid
    var(--border);

  border-radius:
    9px;

  background:
    #fff;

  cursor:
    pointer;

  transition:
    border-color .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

.choice-card:hover {
  border-color:
    #cba54d;

  background:
    #fffdfa;
}

.choice-card:has(input:checked) {
  border-color:
    var(--gold);

  background:
    linear-gradient(
      180deg,
      #fffefb,
      #fbf5e7
    );

  box-shadow:
    inset
    0
    0
    0
    1px
    rgba(173,127,36,.06);
}

.choice-card span {
  display: flex;

  flex-direction: column;
}

.choice-card strong {
  color:
    var(--ink);

  font-size:
    11px;
}

.choice-card small {
  margin-top:
    4px;

  color:
    var(--muted);

  font-size:
    10px;

  line-height:
    1.4;
}

.phone-field {
  display: grid;

  grid-template-columns:
    100px
    minmax(0,1fr);

  gap:
    7px;
}

.repeatable-list {
  display: grid;

  gap:
    8px;
}

.repeatable-row {
  display: flex;

  gap:
    7px;
}

.repeatable-row input {
  flex: 1;
}

.remove-button {
  width:
    42px;

  flex:
    0
    0
    42px;

  border:
    1px solid
    var(--border);

  border-radius:
    8px;

  background:
    #fff;

  color:
    var(--muted);
}

.remove-button:hover {
  color:
    var(--danger);

  border-color:
    #cf9d9d;
}

.text-button {
  width: auto;

  margin-top:
    4px;

  border: 0;

  background:
    transparent;

  color:
    var(--gold-dark);

  padding:
    7px
    0;

  font-size:
    10px;

  font-weight:
    850;
}

.category-card {
  margin-top:
    17px;

  padding:
    18px;

  border:
    1px solid
    var(--border);

  border-radius:
    11px;

  background:
    var(--surface-soft);
}

.category-card-header {
  display: flex;

  justify-content:
    space-between;

  gap:
    16px;

  align-items:
    center;

  padding-bottom:
    13px;

  border-bottom:
    1px solid
    var(--border);
}

.category-kicker {
  color:
    var(--gold);

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .11em;
}

.category-card-header h4 {
  margin:
    3px
    0
    0;

  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    20px;
}

.bulk-actions {
  display: flex;

  gap:
    6px;
}

.mini-button {
  border:
    1px solid
    var(--border);

  border-radius:
    7px;

  background:
    #fff;

  color:
    var(--muted);

  padding:
    7px
    9px;

  font-size:
    9px;

  font-weight:
    800;
}

.mini-button:hover {
  color:
    var(--gold-dark);

  border-color:
    var(--gold);
}

.language-group {
  padding-top:
    15px;
}

.language-group
+
.language-group {
  margin-top:
    15px;

  border-top:
    1px solid
    var(--border);
}

.parent-checkbox {
  display: flex;

  gap:
    9px;

  align-items:
    flex-start;

  cursor:
    pointer;
}

.parent-checkbox span {
  display: flex;

  flex-direction:
    column;
}

.parent-checkbox strong {
  color:
    var(--ink);

  font-size:
    11px;
}

.parent-checkbox small {
  margin-top:
    2px;

  color:
    var(--muted);

  font-size:
    9px;
}

.child-options {
  margin:
    12px
    0
    0
    26px;

  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:
    8px;
}

.check-tile,
.category-checkbox {
  display: flex;

  align-items:
    center;

  gap:
    7px;

  min-height:
    42px;

  padding:
    9px
    10px;

  border:
    1px solid
    var(--border);

  border-radius:
    8px;

  background:
    #fff;

  cursor:
    pointer;
}

.check-tile:has(input:checked),
.category-checkbox:has(input:checked) {
  border-color:
    var(--gold);

  background:
    var(--gold-pale);
}

.check-tile span,
.category-checkbox span {
  color:
    var(--ink);

  font-size:
    10px;

  font-weight:
    650;
}

.category-grid {
  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:
    8px;
}

.category-grid.compact {
  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );
}

.conditional-panel {
  margin-top:
    17px;

  padding:
    16px;

  border:
    1px solid
    #dfcfab;

  border-radius:
    10px;

  background:
    #fdf9ef;
}

.conditional-title {
  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    16px;

  font-weight:
    600;
}

.conditional-panel p {
  color:
    var(--muted);

  font-size:
    10px;
}

.inline-checkboxes {
  display: flex;

  flex-wrap: wrap;

  gap:
    7px;
}

.inline-checkboxes label {
  display: flex;

  align-items:
    center;

  gap:
    6px;

  padding:
    8px
    9px;

  border:
    1px solid
    var(--border);

  border-radius:
    8px;

  background:
    #fff;

  font-size:
    10px;

  cursor:
    pointer;
}

.inline-checkboxes
label:has(input:checked) {
  border-color:
    var(--gold);

  background:
    var(--gold-pale);
}

.single-choice-list {
  display: grid;

  gap:
    7px;
}

.single-choice-list label {
  display: flex;

  align-items:
    center;

  gap:
    8px;

  padding:
    10px;

  border:
    1px solid
    var(--border);

  border-radius:
    8px;

  cursor:
    pointer;
}

.single-choice-list
label:has(input:checked) {
  border-color:
    var(--gold);

  background:
    var(--gold-pale);
}

.single-choice-list span {
  font-size:
    10px;
}

.top-gap {
  margin-top:
    10px;
}

.form-actions {
  margin-top:
    28px;

  padding-top:
    18px;

  border-top:
    1px solid
    var(--border);

  display: flex;

  justify-content:
    space-between;

  align-items:
    center;

  gap:
    10px;
}

.form-actions-end {
  justify-content:
    flex-end;
}

.primary-button,
.secondary-button {
  min-height:
    43px;

  border-radius:
    8px;

  padding:
    10px
    17px;

  font-size:
    10px;

  font-weight:
    850;

  transition:
    background .16s ease,
    transform .16s ease,
    border-color .16s ease;
}

.primary-button {
  border:
    1px solid
    var(--gold);

  background:
    linear-gradient(
      180deg,
      #bd9031,
      #a8781c
    );

  color:
    #fff;

  box-shadow:
    0 6px 14px
    rgba(173,127,36,.18);
}

.primary-button:hover {
  background:
    var(--gold-dark);

  border-color:
    var(--gold-dark);

  transform:
    translateY(-1px);
}

.secondary-button {
  border:
    1px solid
    var(--border-strong);

  background:
    #fff;

  color:
    var(--text);
}

.secondary-button:hover {
  border-color:
    var(--gold);
}

.validation-message {
  margin-top:
    12px;

  color:
    var(--danger);

  font-size:
    10px;

  font-weight:
    700;
}

.review-summary {
  display: grid;

  gap:
    10px;
}

.review-section {
  padding:
    15px;

  border:
    1px solid
    var(--border);

  border-radius:
    9px;
}

.review-section h4 {
  margin:
    0
    0
    8px;

  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    16px;
}

.review-line {
  display: grid;

  grid-template-columns:
    145px
    minmax(0,1fr);

  gap:
    12px;

  padding:
    4px
    0;

  font-size:
    10px;
}

.review-line span:first-child {
  color:
    var(--muted);
}

.consent-box {
  margin-top:
    20px;

  display: flex;

  align-items:
    flex-start;

  gap:
    8px;

  padding:
    12px;

  border:
    1px solid
    var(--border);

  border-radius:
    9px;

  cursor:
    pointer;
}

.consent-box span {
  font-size:
    10px;

  line-height:
    1.5;
}

.preview-warning {
  margin-top:
    13px;

  padding:
    11px;

  border-radius:
    8px;

  background:
    #f3efe6;

  color:
    var(--muted);

  font-size:
    9px;
}

.success-card {
  padding:
    26px
    12px
    10px;

  text-align:
    center;
}

.success-icon {
  width:
    54px;

  height:
    54px;

  margin:
    0
    auto
    18px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    50%;

  background:
    var(--gold);

  color:
    #fff;

  font-size:
    22px;

  font-weight:
    900;
}

.eyebrow {
  color:
    var(--gold);

  font-size:
    9px;

  font-weight:
    900;

  letter-spacing:
    .11em;
}

.success-card h3 {
  margin:
    9px
    0;

  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    28px;
}

.success-card p {
  max-width:
    560px;

  margin:
    8px
    auto;

  color:
    var(--muted);

  font-size:
    11px;
}

.success-note,
.reward-card {
  max-width:
    580px;

  margin:
    20px
    auto
    0;

  padding:
    14px;

  border:
    1px solid
    #ddcea9;

  border-radius:
    10px;

  background:
    var(--gold-pale);

  color:
    var(--muted);

  font-size:
    10px;
}

.success-note strong,
.reward-card strong {
  display:
    block;

  margin-bottom:
    4px;

  color:
    var(--ink);
}

.advanced-intro {
  margin-top:
    30px;

  padding:
    22px;

  border:
    1px solid
    #ddcea9;

  border-radius:
    12px;

  background:
    #fcf7eb;
}

.advanced-badge {
  display:
    inline-flex;

  padding:
    5px
    9px;

  border-radius:
    999px;

  background:
    var(--gold-pale);

  color:
    var(--gold-dark);

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .09em;
}

.advanced-intro h3 {
  margin:
    12px
    0
    7px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    23px;
}

.advanced-intro p {
  color:
    var(--muted);

  font-size:
    11px;
}

.advanced-actions {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    9px;

  margin-top:
    18px;
}

.advanced-header {
  display:
    flex;

  justify-content:
    space-between;

  align-items:
    center;

  gap:
    10px;

  margin-bottom:
    20px;

  padding:
    9px
    11px;

  border-radius:
    8px;

  background:
    var(--gold-pale);

  color:
    var(--gold-dark);

  font-size:
    8px;

  font-weight:
    900;

  letter-spacing:
    .08em;
}

.advanced-header strong {
  padding:
    4px
    8px;

  border-radius:
    999px;

  background:
    var(--gold);

  color:
    #fff;

  font-size:
    8px;
}

.selection-counter {
  margin-bottom:
    8px;

  color:
    var(--gold-dark);

  font-size:
    9px;

  font-weight:
    800;
}

.character-counter {
  margin-top:
    4px;

  color:
    var(--muted);

  text-align:
    right;

  font-size:
    9px;
}

.small-muted {
  color:
    var(--muted);

  font-size:
    9px;
}

.sidebar {
  display:
    grid;

  gap:
    18px;

  padding-top:
    18px;

  position:
    sticky;

  top:
    16px;
}

.sidebar-card {
  padding:
    20px;

  border:
    1px solid
    var(--border);

  border-radius:
    13px;

  background:
    rgba(255,255,255,.97);

  box-shadow:
    var(--shadow-small);
}

.sidebar-card h3 {
  position:
    relative;

  margin:
    0
    0
    17px;

  padding-bottom:
    11px;

  color:
    var(--ink);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    19px;
}

.sidebar-card h3::after {
  content: "";

  position:
    absolute;

  left: 0;
  bottom: 0;

  width: 42px;
  height: 2px;

  background:
    var(--gold);
}

.benefit-list {
  list-style:
    none;

  padding: 0;

  margin: 0;

  display:
    grid;

  gap:
    16px;
}

.benefit-list li {
  display:
    flex;

  gap:
    9px;

  align-items:
    flex-start;
}

.benefit-list li > span {
  width:
    20px;

  height:
    20px;

  flex:
    0
    0
    20px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    50%;

  background:
    var(--gold);

  color:
    #fff;

  font-size:
    9px;

  font-weight:
    900;
}

.benefit-list div {
  display:
    flex;

  flex-direction:
    column;
}

.benefit-list strong {
  color:
    var(--ink);

  font-size:
    10px;
}

.benefit-list small {
  margin-top:
    3px;

  color:
    var(--muted);

  font-size:
    9px;

  line-height:
    1.45;
}

.timeline {
  display:
    grid;

  gap:
    17px;
}

.timeline-item {
  position:
    relative;

  display:
    flex;

  gap:
    10px;
}

.timeline-item:not(:last-child)::after {
  content: "";

  position:
    absolute;

  left:
    12px;

  top:
    26px;

  bottom:
    -16px;

  border-left:
    1px dashed
    #d8c7a2;
}

.timeline-item > span {
  width:
    25px;

  height:
    25px;

  flex:
    0
    0
    25px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    50%;

  background:
    var(--gold);

  color:
    #fff;

  font-size:
    9px;

  font-weight:
    900;

  z-index:
    1;
}

.timeline-item div {
  display:
    flex;

  flex-direction:
    column;
}

.timeline-item strong {
  color:
    var(--ink);

  font-size:
    10px;
}

.timeline-item small {
  margin-top:
    3px;

  color:
    var(--muted);

  font-size:
    9px;

  line-height:
    1.5;
}

.support-card p {
  color:
    var(--muted);

  font-size:
    10px;

  line-height:
    1.5;
}

.support-panel {
  margin-top:
    12px;

  padding:
    10px;

  border-radius:
    8px;

  background:
    #f5f2ec;

  color:
    var(--muted);

  font-size:
    9px;
}

.site-footer {
  min-height:
    82px;

  padding:
    22px
    max(
      22px,
      calc(
        (100vw - 1360px) / 2
      )
    );

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    18px;

  border-top:
    1px solid
    #29261f;

  background:
    #171613;

  color:
    #f1e6ce;
}

.site-footer div {
  display:
    flex;

  flex-direction:
    column;
}

.site-footer strong {
  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    12px;
}

.site-footer span,
.site-footer p {
  margin:
    3px
    0
    0;

  color:
    #bfb7aa;

  font-size:
    9px;
}

@media (max-width: 1050px) {

  .hero-inner {
    grid-template-columns:
      1fr
      350px;
  }

  .hero-copy {
    padding-left:
      10px;
  }

  .page-shell {
    grid-template-columns:
      minmax(0,1fr)
      280px;
  }

  .hero-benefits {
    grid-template-columns:
      1fr;
  }

  .hero-benefit small {
    max-width:
      none;
  }

}

@media (max-width: 820px) {

  .header-inner,
  .hero-inner,
  .page-shell {
    width:
      min(
        100% - 26px,
        720px
      );
  }

  .hero-inner {
    display:
      block;

    min-height:
      auto;
  }

  .hero-copy {
    padding:
      38px
      0
      42px;
  }

  .hero-showcase {
    display:
      none;
  }

  .hero-benefits {
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }

  .page-shell {
    grid-template-columns:
      1fr;
  }

  .progress-card {
    margin-top:
      -22px;

    overflow-x:
      auto;
  }

  .application-stepper {
    min-width:
      630px;
  }

  .sidebar {
    position:
      static;

    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .support-card {
    grid-column:
      1 / -1;
  }

  .choice-grid-3 {
    grid-template-columns:
      1fr;
  }

  .form-grid-3 {
    grid-template-columns:
      1fr;
  }

}

@media (max-width: 600px) {

  .preview-banner {
    font-size:
      8px;
  }

  .header-label {
    display:
      none;
  }

  .brand-logo {
    height:
      47px;
  }

  .hero h1 {
    font-size:
      42px;
  }

  .hero-lead {
    font-size:
      12px;
  }

  .hero-benefits {
    grid-template-columns:
      1fr;
  }

  .form-page {
    padding:
      22px
      16px;
  }

  .form-grid-2,
  .form-grid-3,
  .category-grid,
  .category-grid.compact,
  .child-options {
    grid-template-columns:
      1fr;
  }

  .child-options {
    margin-left:
      0;
  }

  .category-card-header {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .bulk-actions {
    width:
      100%;
  }

  .mini-button {
    flex:
      1;
  }

  .phone-field {
    grid-template-columns:
      92px
      minmax(0,1fr);
  }

  .form-actions {
    flex-direction:
      column-reverse;
  }

  .form-actions button,
  .advanced-actions button {
    width:
      100%;
  }

  .advanced-actions {
    flex-direction:
      column;
  }

  .sidebar {
    grid-template-columns:
      1fr;
  }

  .review-line {
    grid-template-columns:
      1fr;
  }

  .site-footer {
    flex-direction:
      column;

    align-items:
      flex-start;
  }

}

.header-inner,
.hero-inner,
.page-shell {
    width: min(1180px, calc(100% - 40px));
}

.hero {
    overflow: hidden;

    background:
        linear-gradient(
            100deg,
            #fffdf9 0%,
            #faf6ee 63%,
            #eee0c9 100%
        );
}

.hero-inner {
    min-height: 275px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        360px;

    align-items: stretch;
}

.hero-copy {
    padding:
        34px
        46px
        34px
        8px;

    justify-content: center;
}

.hero-badge {
    padding: 6px 11px;

    font-size: 9px;

    letter-spacing: .07em;
}

.hero h1 {
    max-width: none;

    margin-top: 16px;

    font-size: clamp(
        43px,
        4.25vw,
        59px
    );

    line-height: 1.02;

    letter-spacing: -.03em;
}

.hero-lead {
    max-width: 650px;

    margin-top: 11px;

    font-size: 13px;

    line-height: 1.62;
}

@media (min-width: 1051px) {

    .hero h1 {
        white-space: nowrap;
    }

}

.hero-showcase {
    display: block;

    position: relative;

    min-height: 275px;

    margin-left: -54px;

    border-left: 0;

    overflow: hidden;

    clip-path:
        polygon(
            17% 0,
            100% 0,
            100% 100%,
            0 100%
        );

    background-image:
        linear-gradient(
            90deg,
            rgba(29, 22, 14, .16),
            rgba(18, 15, 11, .02)
        ),
        url("https://imagedelivery.net/wyAujkfia7lq-Kb7Dl1XZA/79ae4c69-ede2-4876-445f-58f191a9d200/w=1024,h=576");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;
}

.showcase-glow,
.showcase-backdrop,
.showcase-card {
    display: none !important;
}

.hero-benefits {
    margin-top: 22px;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.hero-benefit {
    gap: 9px;
}

.benefit-icon {
    width: 34px;
    height: 34px;

    flex-basis: 34px;

    font-size: 14px;
}

.hero-benefit strong {
    font-size: 10px;
}

.hero-benefit small {
    max-width: 145px;

    font-size: 9px;

    line-height: 1.45;
}

.page-shell {
    grid-template-columns:
        minmax(0, 1fr)
        300px;

    gap: 22px;
}

.progress-card {
    margin-top: -24px;

    padding:
        18px
        22px
        16px;

    overflow: visible;
}

.application-stepper {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 0;

    width: 100%;

    min-width: 0;

    align-items: start;
}

.stepper-line {
    display: none !important;
}

.stepper-item {
    position: relative;

    min-width: 0;

    width: 100%;

    padding:
        0
        8px;

    text-align: center;
}

.stepper-item:not(:last-child)::after {
    content: "";

    position: absolute;

    z-index: 0;

    top: 15px;

    left: calc(50% + 25px);

    width: calc(100% - 50px);

    height: 1px;

    background: #ded5c7;
}

.stepper-item.complete:not(:last-child)::after {
    background: #b78629;
}

.stepper-item:nth-child(7)::after {
    border-top: 1px dashed #d0bea0;

    background: transparent;
}

.stepper-circle {
    position: relative;

    z-index: 2;

    width: 32px;
    height: 32px;

    margin:
        0
        auto
        8px;

    background: #faf8f3;
}

.stepper-item strong {
    max-width: 150px;

    margin: 0 auto;

    white-space: normal;

    font-size: 10px;

    line-height: 1.3;
}

.optional-step strong span {
    margin-bottom: 2px;

    font-size: 7px;
}

.stepper-star {
    background: #fff8e9;

    color: #ad7f24;
}

@media (max-width: 1050px) {

    .hero-inner {
        grid-template-columns:
            minmax(0, 1fr)
            310px;
    }

    .hero-copy {
        padding-right: 28px;
    }

    .hero h1 {
        white-space: normal;

        font-size: 48px;
    }

    .hero-showcase {
        margin-left: -35px;
    }

    .page-shell {
        grid-template-columns:
            minmax(0,1fr)
            270px;
    }

}

@media (max-width: 820px) {

    .header-inner,
    .hero-inner,
    .page-shell {
        width: min(100% - 26px, 720px);
    }

    .hero-inner {
        display: block;

        min-height: auto;
    }

    .hero-copy {
        padding:
            32px
            0
            35px;
    }

    .hero-showcase {
        display: none;
    }

    .hero h1 {
        font-size: 43px;
    }

    .hero-benefits {
        grid-template-columns:
            repeat(3, minmax(0,1fr));
    }

    .page-shell {
        grid-template-columns: 1fr;
    }

    .progress-card {
        overflow: hidden;
    }

    .application-stepper {
        min-width: 0;
    }

    .stepper-item {
        padding: 0 3px;
    }

    .stepper-item strong {
        font-size: 9px;
    }

    .stepper-item:not(:last-child)::after {
        left: calc(50% + 20px);

        width: calc(100% - 40px);
    }

}

@media (max-width: 560px) {

    .hero-benefits {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .progress-card {
        padding:
            15px
            8px;
    }

    .stepper-circle {
        width: 28px;
        height: 28px;

        font-size: 9px;
    }

    .stepper-item strong {
        font-size: 8px;
    }

    .optional-step strong span {
        display: none;
    }

}

html,
body,
button,
input,
select,
textarea {
    font-family:
        "Segoe UI Variable",
        "Segoe UI",
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        Arial,
        sans-serif;

    font-synthesis: none;

    text-rendering: optimizeLegibility;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-weight: 400;

    letter-spacing: -0.005em;
}

.hero h1,
.section-heading h3,
.sidebar-card h3,
.success-card h3,
.advanced-intro h3,
.review-section h4,
.category-card-header h4,
.conditional-title {
    font-family:
        "Iowan Old Style",
        "Palatino Linotype",
        Palatino,
        "Book Antiqua",
        Georgia,
        serif;

    color: #171511;

    text-rendering: optimizeLegibility;

    -webkit-font-smoothing: antialiased;
}

.hero h1 {
    font-weight: 600;

    letter-spacing: -0.035em;

    line-height: 1.01;
}

.section-heading h3 {
    font-size: 29px;

    font-weight: 600;

    letter-spacing: -0.025em;

    line-height: 1.12;
}

.section-heading p {
    margin-top: 7px;

    color: #706a61;

    font-size: 12.5px;

    font-weight: 400;

    letter-spacing: 0;

    line-height: 1.55;
}

.field-label {
    margin-bottom: 8px;

    color: #22201c;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: -0.006em;

    line-height: 1.35;
}

.required {
    color: #9a6b17;

    font-weight: 600;
}

.optional {
    margin-left: 6px;

    color: #7d766c;

    font-size: 10px;

    font-weight: 400;

    letter-spacing: 0;
}

.field-help {
    color: #777066;

    font-size: 10.5px;

    font-weight: 400;

    line-height: 1.5;
}

input,
select,
textarea {
    color: #26231f;

    font-size: 15px;

    font-weight: 400;

    letter-spacing: -0.008em;
}

input::placeholder,
textarea::placeholder {
    color: #858078;

    opacity: 1;

    font-weight: 400;
}

select {
    font-weight: 400;
}

.choice-card strong {
    color: #211f1b;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: -0.008em;
}

.choice-card small {
    margin-top: 5px;

    color: #746f66;

    font-size: 10.5px;

    font-weight: 400;

    line-height: 1.45;
}

.parent-checkbox strong {
    font-size: 12px;

    font-weight: 600;

    letter-spacing: -0.007em;
}

.parent-checkbox small {
    font-size: 10px;

    font-weight: 400;

    line-height: 1.45;
}

.check-tile span,
.category-checkbox span {
    font-size: 11px;

    font-weight: 500;

    letter-spacing: -0.004em;
}

.primary-button,
.secondary-button {
    font-size: 11px;

    font-weight: 650;

    letter-spacing: .003em;
}

.mini-button,
.text-button {
    font-weight: 600;
}

.stepper-item strong {
    color: #666158;

    font-size: 10px;

    font-weight: 550;

    letter-spacing: -0.004em;
}

.stepper-item.active strong {
    color: #24211d;

    font-weight: 650;
}

.stepper-circle {
    font-weight: 650;
}

.sidebar-card h3 {
    font-weight: 600;

    letter-spacing: -0.02em;
}

.benefit-list strong,
.timeline-item strong {
    font-size: 11px;

    font-weight: 600;

    letter-spacing: -0.005em;
}

.benefit-list small,
.timeline-item small,
.support-card p {
    color: #716b62;

    font-size: 10px;

    font-weight: 400;
}

.hero-badge {
    font-weight: 650;

    letter-spacing: .075em;
}

.hero-lead {
    color: #6e685f;

    font-weight: 400;

    letter-spacing: -0.006em;
}

.hero-benefit strong {
    color: #28251f;

    font-size: 11px;

    font-weight: 600;
}

.hero-benefit small {
    color: #716b62;

    font-size: 9.5px;

    font-weight: 400;

    line-height: 1.45;
}

.review-line {
    font-size: 11px;

    font-weight: 400;
}

.single-choice-list span {
    font-size: 11px;

    font-weight: 450;
}

.advanced-header {
    font-weight: 650;
}

.selection-counter {
    font-weight: 600;
}

@media (max-width: 600px) {

    .section-heading h3 {
        font-size: 26px;
    }

    input,
    select,
    textarea {
        
        font-size: 16px;
    }

    .field-label {
        font-size: 12px;
    }

}

.turnstile-runtime {
  margin: 18px 0;
  min-height: 70px;
  display: flex;
  align-items: center;
}

.advanced-save-status {
  margin-left: auto;
  font-size: 12px;
  font-weight: 600;
  opacity: 0.72;
}

.advanced-save-status.save-error {
  opacity: 1;
}

.secure-resume-panel {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid rgba(158, 122, 58, 0.28);
  border-radius: 14px;
  background: rgba(255, 251, 241, 0.72);
  text-align: left;
}

.secure-resume-panel.hidden {
  display: none;
}

.secure-resume-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.secure-resume-heading span {
  font-size: 12px;
  opacity: 0.7;
}

.secure-resume-panel p {
  margin: 0 0 12px;
}

.secure-resume-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.secure-resume-row input {
  width: 100%;
}

#copyResumeStatus {
  display: block;
  margin-top: 8px;
  min-height: 1em;
}

@media (max-width: 640px) {
  .secure-resume-heading {
    display: block;
  }

  .secure-resume-heading span {
    display: block;
    margin-top: 4px;
  }

  .secure-resume-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {

    html,
    body {
        min-width: 0;
        overflow-x: hidden;
    }

    .preview-banner,
    .preview-warning {
        display: none !important;
    }

    .site-header {
        min-height: 58px;
    }

    .header-inner {
        width: calc(100% - 28px);
        min-height: 58px;
        padding: 0;
    }

    .brand-logo {
        height: 43px;
        max-height: 43px;
    }

    .header-label {
        display: none;
    }

    .hero-inner {
        width: calc(100% - 24px);
    }

    .hero-copy {
        padding: 22px 0 25px;
    }

    .hero-badge {
        padding: 6px 10px;
        font-size: 8.5px;
        line-height: 1.2;
    }

    .hero h1 {
        margin-top: 14px;
        font-size: 34px;
        line-height: 1;
        letter-spacing: -.035em;
    }

    .hero-lead {
        margin-top: 10px;
        max-width: none;
        font-size: 13px;
        line-height: 1.48;
    }

    .hero-benefits {
        display: none;
    }

    .page-shell {
        width: calc(100% - 20px);
        margin-bottom: 38px;
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 0;
    }

    .progress-card {
        margin-top: -15px;
        padding: 13px 12px 12px;
        overflow: hidden;
        border-radius: 12px;
    }

    .progress-accessibility {
        position: static;
        width: auto;
        height: auto;
        margin: 0 2px 10px;
        overflow: visible;
        clip: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        color: #777066;
        font-size: 10px;
        line-height: 1.25;
    }

    #progressTitle {
        color: #2a2722;
        font-weight: 650;
    }

    #progressCount {
        white-space: nowrap;
        font-weight: 600;
    }

    .application-stepper {
        min-width: 0;
        padding: 0 3px;
    }

    .stepper-item {
        min-width: 0;
        padding: 0 2px;
    }

    .stepper-item:not(:last-child)::after {
        top: 14px;
        left: calc(50% + 20px);
        width: calc(100% - 40px);
    }

    .stepper-circle {
        width: 29px;
        height: 29px;
        margin-bottom: 0;
        font-size: 10px;
    }

    .stepper-item strong {
        display: none;
    }

    .form-page {
        min-height: 0;
        padding: 19px 14px 22px;
        border-radius: 12px;
    }

    .section-heading {
        gap: 10px;
        margin-bottom: 20px;
    }

    .section-number {
        flex: 0 0 auto;
    }

    .section-heading h3 {
        font-size: 25px;
        line-height: 1.06;
    }

    .section-heading p {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.5;
    }

    .field-block {
        margin-top: 17px;
    }

    .field-label {
        margin-bottom: 7px;
        font-size: 13px;
        line-height: 1.35;
    }

    .field-help {
        font-size: 11.5px;
        line-height: 1.45;
    }

    input,
    select,
    textarea {
        width: 100%;
        max-width: 100%;
        font-size: 16px;
    }

    .choice-grid-3,
    .form-grid-2,
    .form-grid-3,
    .category-grid,
    .category-grid.compact,
    .child-options {
        grid-template-columns: 1fr;
    }

    .choice-card {
        min-height: 70px;
        gap: 10px;
        padding: 12px;
    }

    .choice-card strong {
        font-size: 13.5px;
        line-height: 1.3;
    }

    .choice-card small {
        margin-top: 3px;
        font-size: 11.5px;
        line-height: 1.4;
    }

    .phone-field {
        grid-template-columns: 96px minmax(0,1fr);
        gap: 7px;
    }

    .category-card {
        margin-top: 14px;
        padding: 14px;
    }

    .category-card-header {
        gap: 10px;
        padding-bottom: 11px;
    }

    .category-card-header h4 {
        font-size: 19px;
        line-height: 1.15;
    }

    .parent-checkbox {
        min-height: 52px;
    }

    .parent-checkbox strong {
        font-size: 14px;
        line-height: 1.25;
    }

    .parent-checkbox small {
        font-size: 11.5px;
        line-height: 1.4;
    }

    .child-options {
        margin-left: 0;
        gap: 7px;
    }

    .check-tile,
    .category-checkbox {
        min-height: 46px;
        gap: 9px;
        padding: 10px 11px;
    }

    .check-tile span,
    .category-checkbox span,
    .single-choice-list span {
        font-size: 13px;
        line-height: 1.35;
    }

    input[type="checkbox"],
    input[type="radio"] {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
    }

    .bulk-actions {
        width: 100%;
        display: flex;
        gap: 7px;
    }

    .mini-button {
        min-height: 40px;
        flex: 1;
        font-size: 11px;
    }

    .form-actions {
        margin-top: 23px;
        padding-top: 15px;
        flex-direction: column-reverse;
        gap: 8px;
    }

    .form-actions button,
    .advanced-actions button {
        width: 100%;
    }

    .primary-button,
    .secondary-button {
        min-height: 48px;
        padding: 11px 14px;
        font-size: 14px;
        line-height: 1.2;
    }

    .review-line {
        grid-template-columns: 1fr;
        font-size: 13px;
        line-height: 1.45;
    }

    .consent-box {
        align-items: flex-start;
        gap: 9px;
    }

    .consent-box span {
        font-size: 12px;
        line-height: 1.45;
    }

    .success-card {
        padding: 22px 15px;
    }

    .success-card h3,
    .advanced-intro h3 {
        font-size: 24px;
        line-height: 1.08;
    }

    .success-card p,
    .advanced-intro p {
        font-size: 12px;
        line-height: 1.5;
    }

    .advanced-intro {
        margin-top: 16px;
        padding: 17px 14px;
    }

    .advanced-actions {
        flex-direction: column;
    }

    .advanced-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
        padding: 9px 10px;
    }

    .advanced-save-status {
        margin-left: 0;
        font-size: 11px;
    }

    .selection-counter {
        font-size: 11px;
    }

    .secure-resume-panel {
        padding: 14px;
    }

    .secure-resume-heading {
        display: block;
    }

    .secure-resume-heading span {
        display: block;
        margin-top: 4px;
    }

    .secure-resume-row {
        grid-template-columns: 1fr;
    }

    .turnstile-runtime {
        width: 100%;
        max-width: 100%;
        min-height: 65px;
        overflow-x: auto;
    }

    .sidebar {
        grid-template-columns: 1fr;
    }

    .sidebar-card {
        padding: 16px;
    }

    .site-footer {
        gap: 8px;
        flex-direction: column;
        align-items: flex-start;
        font-size: 10px;
    }
}

@media (max-width: 380px) {

    .hero-inner {
        width: calc(100% - 20px);
    }

    .hero h1 {
        font-size: 31px;
    }

    .page-shell {
        width: calc(100% - 16px);
    }

    .form-page {
        padding-left: 12px;
        padding-right: 12px;
    }

    .section-heading h3 {
        font-size: 23px;
    }

    .phone-field {
        grid-template-columns: 90px minmax(0,1fr);
    }
}

@media (max-width: 640px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .site-header,
    .hero,
    main,
    .site-footer {
        width: 100%;
        max-width: 100%;
    }

    .header-inner,
    .hero-inner,
    .page-shell {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .header-inner {
        padding-left: 0;
        padding-right: 0;
    }

    .hero-inner {
        min-width: 0;
    }

    .hero-copy {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding-left: 0;
        padding-right: 0;
    }

    .hero-badge,
    .hero h1,
    .hero-lead {
        max-width: 100%;
    }

    .hero h1,
    .hero-lead {
        overflow-wrap: break-word;
    }

    .page-shell {
        display: block;
        padding-left: 0;
        padding-right: 0;
    }

    .form-column,
    .progress-card,
    .form-page,
    form,
    fieldset,
    .category-card,
    .review-summary,
    .advanced-intro,
    .secure-resume-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .progress-card,
    .form-page {
        margin-left: 0;
        margin-right: 0;
    }

    .application-stepper {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        overflow: visible;
    }

    .stepper-line {
        display: none !important;
    }

    .stepper-item {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-left: 2px;
        padding-right: 2px;
    }

    .stepper-item:not(:last-child)::after {
        left: calc(50% + 18px);
        width: calc(100% - 36px);
    }

    .stepper-circle {
        margin-left: auto;
        margin-right: auto;
    }

    .section-heading,
    .section-heading > div,
    .field-block,
    .choice-card,
    .category-card-header,
    .parent-checkbox,
    .check-tile,
    .category-checkbox,
    .single-choice-list,
    .review-line,
    .form-actions,
    .advanced-actions {
        min-width: 0;
        max-width: 100%;
    }

    .section-heading h3,
    .section-heading p,
    .field-label,
    .field-help,
    .choice-card strong,
    .choice-card small,
    .parent-checkbox strong,
    .parent-checkbox small,
    .check-tile span,
    .category-checkbox span,
    .single-choice-list span,
    .review-line,
    .consent-box span {
        max-width: 100%;
        overflow-wrap: break-word;
    }

    input,
    select,
    textarea,
    button {
        max-width: 100%;
        box-sizing: border-box;
    }

    .phone-field {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .phone-field > * {
        min-width: 0;
        max-width: 100%;
    }

    .sidebar {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .site-footer {
        box-sizing: border-box;
    }
}

@media (max-width: 380px) {

    .header-inner,
    .hero-inner,
    .page-shell {
        width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
    }

    .stepper-item:not(:last-child)::after {
        left: calc(50% + 16px);
        width: calc(100% - 32px);
    }
}
@media (max-width: 640px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .site-header,
    .hero,
    main,
    .site-footer {
        width: 100%;
        max-width: 100%;
    }

    .header-inner,
    .hero-inner,
    .page-shell {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }

    .header-inner,
    .hero-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .page-shell {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .form-column,
    .progress-card,
    .form-page,
    form,
    fieldset,
    .category-card,
    .review-summary,
    .advanced-intro,
    .secure-resume-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }

    .application-stepper {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    }

    .stepper-item,
    .stepper-item > * {
        min-width: 0;
    }

    input,
    select,
    textarea,
    button {
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 380px) {
    .header-inner,
    .hero-inner,
    .page-shell {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}
