.sms-page { font-weight: 400; }
.sms-page a:focus-visible { outline: 3px solid var(--copper); outline-offset: 5px; }
.sms-skip { position: absolute; left: 1rem; top: -6rem; z-index: 100; padding: .7rem 1rem; background: var(--ink); color: #fff; }
.sms-skip:focus { top: 1rem; }
.sms-page .legal-header__back { font-size: .875rem; letter-spacing: .04em; }
.sms-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-block: clamp(2rem, 5vw, 4rem); }
.sms-info { padding-top: .5rem; }
.sms-eyebrow { font-size: .875rem; font-weight: 500; letter-spacing: .08em; color: var(--copper-deep); }
.sms-info h1 { margin-top: .75rem; font: 500 clamp(2.8rem, 5vw, 4.3rem)/1.07 var(--font-display); letter-spacing: -.025em; }
.sms-intro { font-size: 1.125rem; margin-top: 1.1rem; }
.sms-info > p:not(.sms-eyebrow):not(.sms-intro) { margin-top: 1.5rem; font-size: 1rem; }
.sms-choices { margin-top: 2rem; }
.sms-choices > div { padding-block: 1.25rem; border-top: 1px solid var(--line); }
.sms-choices dt { font-weight: 600; font-size: 1rem; }
.sms-choices dd { margin-top: .45rem; font-size: 1rem; color: var(--muted); }
.sms-privacy { color: var(--muted); }
.sms-contact { margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid var(--line); font-size: .9375rem; }
.sms-contact p { margin-bottom: .4rem; }
.sms-contact a { display: block; width: fit-content; max-width: 100%; overflow-wrap: anywhere; color: var(--copper-deep); text-decoration: underline; text-underline-offset: .2em; }
.sms-form { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--copper); border-radius: 4px; overflow: hidden; scroll-margin-top: 1rem; }
.sms-form__intro { padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) .5rem; }
.sms-form h2 { font: 500 clamp(1.65rem, 3vw, 2rem)/1.2 var(--font-display); }
.sms-form__intro p { font-size: 1rem; margin-top: .85rem; }
.sms-form a { color: var(--copper-deep); text-decoration: underline; text-underline-offset: .18em; }
.sms-form__frame { display: block; width: 100%; min-height: 760px; border: 0; }
.sms-form__help { padding: 1rem clamp(1.25rem, 3vw, 2rem) 1.5rem; font-size: .875rem; color: var(--muted); }
.sms-footer { border-top: 1px solid var(--line); padding-block: 1.5rem; color: var(--muted); }
.sms-footer__in { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .875rem; }
.sms-footer nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.sms-footer a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 800px) {
  .sms-layout { grid-template-columns: 1fr; gap: 2rem; max-width: 640px; }
  .sms-info { display: contents; }
  .sms-info .sms-eyebrow { grid-row: 1; margin-bottom: -1.5rem; }
  .sms-info h1 { grid-row: 2; margin: 0 0 -1.1rem; }
  .sms-intro { grid-row: 3; margin: 0; }
  .sms-form { grid-row: 4; }
  .sms-choices, .sms-contact, .sms-info > p:not(.sms-eyebrow):not(.sms-intro) { margin-top: 0; }
  .sms-form__frame { min-height: 900px; }
}
