.public-account-shell, .terms-shell {
  width: min(820px, calc(100% - 48px));
  margin-inline: auto;
  padding-block: 112px 56px;
}

.public-account-heading { margin-block-end: 26px; }
.public-account-heading h1, .terms-document h1 { margin-block: 8px 12px; font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 300; line-height: 1.18; letter-spacing: -.035em; }
.public-account-heading p { max-width: 58ch; margin: 0; color: var(--public-muted); font-size: .87rem; line-height: 1.7; }
.public-account-card, .terms-document { padding: clamp(22px, 4vw, 38px); border: 1px solid rgba(255, 255, 255, .7); border-radius: var(--public-radius-lg); background: var(--public-glass); box-shadow: var(--public-shadow-soft); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); }
.public-account-summary { display: flex; align-items: center; gap: 14px; margin-block-end: 24px; padding-block-end: 22px; border-block-end: 1px solid var(--public-line); }
.public-account-summary > .material-symbols-rounded { font-size: 32px; color: var(--public-muted); }
.public-account-summary h2 { margin: 0; font-size: 1.15rem; font-weight: 400; overflow-wrap: anywhere; }
.public-account-summary p { margin-block: 5px 0; color: var(--public-muted); font-size: .8rem; overflow-wrap: anywhere; }
.public-account-form { display: grid; gap: 22px; }
.public-account-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.public-account-field { display: grid; align-content: start; gap: 7px; min-width: 0; font-size: .8rem; }
.public-account-field--wide { grid-column: 1 / -1; }
.public-account-field input, .public-account-field select { width: 100%; min-width: 0; min-height: 44px; padding: 11px 12px; border: 1px solid var(--public-line); border-radius: 12px; color: var(--public-ink); background: rgba(255, 255, 255, .35); font: inherit; }
.public-account-field input:focus-visible, .public-account-field select:focus-visible { outline: 2px solid var(--public-accent); outline-offset: 2px; }
.public-account-field .liquid-select { width: 100%; }
.public-account-field input.input-validation-error { border-color: #96514a; }
.public-account-field .field-validation-error, .public-account-validation { color: #843d36; font-size: .76rem; line-height: 1.6; }
.public-account-validation:empty, .public-account-validation.validation-summary-valid { display: none; }
.public-account-validation ul { margin: 0; padding-inline-start: 18px; }
.public-account-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-block-start: 4px; }
.public-account-actions a { display: inline-flex; align-items: center; min-height: 44px; color: var(--public-muted); font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; }
.public-account-actions button { min-height: 44px; padding: 10px 22px; border: 1px solid transparent; border-radius: 999px; background: var(--public-ink); color: var(--public-bg-warm); font: inherit; font-size: .8rem; }
.terms-document h2 { margin-block: 30px 12px; font-size: 1.18rem; font-weight: 400; }
.terms-document p { margin-block: 0 16px; color: var(--public-muted); font-size: .88rem; line-height: 1.9; white-space: pre-line; overflow-wrap: anywhere; }

@media (max-width: 620px) {
  .public-account-shell, .terms-shell { width: var(--public-container); padding-block: 94px 36px; }
  .public-account-heading h1, .terms-document h1 { font-size: 1.85rem; }
  .public-account-heading p, .terms-document p { font-size: .82rem; }
  .public-account-card, .terms-document { padding: 22px 18px; }
  .public-account-fields { grid-template-columns: 1fr; gap: 16px; }
  .public-account-field--wide { grid-column: auto; }
  .public-account-actions { flex-direction: column-reverse; align-items: stretch; gap: 8px; }
  .public-account-actions a { justify-content: center; }
}
