@layer pages {
  .consult__grid { display: grid; gap: var(--s-9); align-items: start; }
  @media (min-width: 1100px) { .consult__grid { grid-template-columns: 1fr 380px; gap: var(--s-12); } .consult-aside__sticky { position: sticky; top: calc(var(--header-h) + 24px); } }
  .consult-form { display: grid; gap: var(--s-6); min-width: 0; }
  .consult-block { border: 0; padding: clamp(24px, 3vw, 40px); margin: 0; min-width: 0; display: grid; gap: var(--s-6); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--sh-inset); }
  .consult-block__title { display: flex; align-items: baseline; gap: var(--s-3); font-size: var(--fs-title-lg); font-weight: 600; letter-spacing: -.03em; padding: 0; float: left; width: 100%; }
  .consult-block__title + * { clear: both; }
  .consult-row { display: grid; gap: var(--s-6); }
  @media (min-width: 760px) { .consult-row { grid-template-columns: 1fr 1fr; } }
  .textarea--sm { min-height: 96px; }
  .consult-count { text-align: right; }
  .hp-field { position: absolute !important; left: -10000px; width: 1px; height: 1px; opacity: 0; }

  .pill-group { display: flex; flex-wrap: wrap; gap: var(--s-2); }
  .pill { position: relative; }
  .pill input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
  .pill span { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 18px; border-radius: var(--r-pill); border: 1px solid var(--line); font-size: .9375rem; font-weight: 500; background: var(--surface); transition: all var(--d-2); }
  .pill:hover span { border-color: var(--taupe-500); }
  .pill input:checked + span { background: var(--brown-800); border-color: var(--brown-800); color: var(--ivory-100); }
  .pill input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
  .field.has-error .pill span, .field.has-error .choice__body { border-color: color-mix(in srgb, var(--bad) 55%, var(--line)); }

  .consent { display: grid; gap: var(--s-4); }
  .consent__check { font-size: 1rem; }
  .consent__detail { padding: var(--s-5); border-radius: var(--r-md); background: var(--bg-alt); font-size: var(--fs-caption); color: var(--text-sub); display: grid; gap: var(--s-3); }
  .consent__detail dl { display: grid; gap: 6px; }
  .consent__detail dl > div { display: grid; grid-template-columns: 72px 1fr; gap: var(--s-3); }
  .consent__detail dt { font-weight: 700; color: var(--ink); }
  .consent__detail dd { margin: 0; }
  .consent.has-error .check input { border-color: var(--bad); }

  .consult-submit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-5); padding-top: var(--s-3); }
  @media (max-width: 640px) { .consult-submit .btn { width: 100%; } }

  .error-summary { padding: var(--s-6); border-radius: var(--r-lg); background: var(--bad-soft); color: #7a2f22; outline: none; }
  .error-summary:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--bad) 40%, transparent); }
  .error-summary__title { display: flex; gap: 8px; align-items: center; font-weight: 700; margin-bottom: var(--s-3); }
  .error-summary ul { display: grid; gap: 4px; padding-left: 28px; list-style: disc; }
  .error-summary a { text-decoration: underline; text-underline-offset: 3px; }

  .consult-aside__sticky { display: grid; gap: var(--s-4); }
  .sim-card { padding: var(--s-6); border-radius: var(--r-xl); background: var(--dark-bg); color: var(--dark-text); display: grid; gap: var(--s-3); animation: rise var(--d-4) var(--ease-out) both; }
  .sim-card__head { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); }
  .sim-card__badge { display: inline-flex; gap: 6px; align-items: center; font-size: var(--fs-caption); font-weight: 600; color: var(--oak-300); }
  .sim-card__badge .icon { width: 16px; height: 16px; }
  .sim-card__remove { font-size: var(--fs-caption); color: var(--dark-sub); text-decoration: underline; text-underline-offset: 3px; min-height: 32px; }
  .sim-card__headline { font-size: var(--fs-title); font-weight: 600; }
  .sim-card__list .spec-list__row { border-color: var(--dark-line); padding: 9px 0; font-size: var(--fs-caption); }
  .sim-card__list dt { color: var(--dark-sub); }
  .sim-card__edit { color: var(--oak-300); justify-self: start; font-size: var(--fs-small); }
  .sim-card__edit .icon { width: 15px; height: 15px; }

  .consult-steps { padding: var(--s-6); border-radius: var(--r-xl); background: var(--bg-alt); }
  .consult-steps__title { font-size: var(--fs-title); font-weight: 700; margin-bottom: var(--s-5); }
  .consult-steps ol { display: grid; gap: var(--s-5); }
  .consult-steps li { display: grid; grid-template-columns: 36px 1fr; gap: var(--s-3); }
  .consult-steps .t-num { font-size: 1.25rem; color: var(--accent-text); line-height: 1.3; }
  .consult-steps b { display: block; font-size: var(--fs-small); }
  .consult-steps p { font-size: var(--fs-caption); color: var(--text-sub); margin-top: 2px; }
  .consult-contact { padding: var(--s-6); border-radius: var(--r-xl); box-shadow: var(--sh-inset); display: grid; gap: 4px; }
  .consult-contact__phone { font-size: 2rem; line-height: 1.1; min-height: 44px; display: inline-flex; align-items: center; }

  /* 완료 */
  .done { padding: calc(var(--header-h) + clamp(48px, 7vw, 112px)) 0 var(--section-y); }
  .done__inner { display: grid; gap: var(--s-6); justify-items: center; text-align: center; }
  .done__check { width: 88px; height: 88px; }
  .done__check circle, .done__check path { fill: none; stroke: var(--brown-800); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw .9s var(--ease-inout) forwards; }
  .done__check path { stroke-width: 3; animation-delay: .6s; }
  .done__ref { display: grid; width: 100%; max-width: 520px; border-top: 1px solid var(--line); text-align: left; }
  .done__ref > div { display: grid; grid-template-columns: 120px 1fr; gap: var(--s-4); padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
  .done__ref dt { color: var(--text-sub); font-size: var(--fs-small); }
  .done__ref dd { margin: 0; font-weight: 600; }
  .done__ref .t-num { font-size: 1.4rem; font-weight: 500; }
  .done__next { width: 100%; max-width: 520px; text-align: left; display: grid; gap: var(--s-4); margin-top: var(--s-6); }
  .done__next ul { display: grid; gap: var(--s-2); }
  .done__link { display: grid; grid-template-columns: 24px 1fr 20px; gap: var(--s-4); align-items: center; padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-inset); transition: box-shadow var(--d-3), transform var(--d-3) var(--ease-out); }
  .done__link:hover { box-shadow: var(--sh-2); transform: translateY(-2px); }
  .done__link span { display: grid; gap: 2px; font-size: var(--fs-caption); color: var(--text-sub); }
  .done__link b { color: var(--ink); font-size: var(--fs-small); }
}
@layer pages {
  .consult-block .choice-grid { grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)); }
  @media (max-width: 600px) { .consult-block .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); } }
  .consult-block .choice__title { white-space: nowrap; }
}
