.meridian-account-page .account-entry { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(min(390px, 100%), .95fr); width: min(calc(100% - 96px), 1240px); min-height: calc(100svh - 66px); margin: auto; padding: 58px 0 72px; }
.meridian-account-page .account-entry__intro { padding: 34px 76px 34px 0; border-right: var(--rule) solid var(--rule-color); }
.meridian-account-page .account-entry .eyebrow { margin: 0 0 12px; color: var(--color-accent-700); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
/* Heading ramp comes from the shared page-hero contract in trips-meridian.css. */
.meridian-account-page .account-entry__intro h1 { max-width: 720px; margin: 0; color: var(--color-text); }
.meridian-account-page .account-entry__intro > p:not(.eyebrow) { max-width: 590px; margin: 24px 0 38px; color: var(--color-neutral-800); font-size: 17px; line-height: 1.6; }
.meridian-account-page .account-entry__intro ol { margin: 0; padding: 0; border-block: var(--rule) solid var(--rule-color); list-style: none; }
.meridian-account-page .account-entry__intro li { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 17px 0; border-top: var(--rule) solid var(--rule-soft); }
.meridian-account-page .account-entry__intro li:first-child { border-top: 0; }
.meridian-account-page .account-entry__intro li > b { color: var(--color-accent-700); font-size: 11px; letter-spacing: .1em; }
.meridian-account-page .account-entry__intro li span { color: var(--color-neutral-700); font-size: 13px; line-height: 1.45; }
.meridian-account-page .account-entry__intro li strong { display: block; margin-bottom: 3px; color: var(--color-text); font-size: 15px; }
.meridian-account-page .account-entry__forms { display: grid; align-content: center; gap: 14px; padding-left: 48px; }
.meridian-account-page .account-entry .panel { padding: 28px; }
.meridian-account-page .account-entry__primary h2 { margin: 0 0 8px !important; color: var(--color-text); font: 700 42px/.95 var(--font-display); text-transform: var(--heading-case); }
.meridian-account-page .account-entry__primary > p:not(.eyebrow),
.meridian-account-page .account-entry__foot,
.meridian-account-page .account-entry__secondary > p:not(.eyebrow),
.meridian-account-page .account-entry__legacy > p { color: var(--color-neutral-700) !important; font-size: 13px !important; line-height: 1.5; }
.meridian-account-page .account-entry__form { display: grid; gap: 13px; margin-top: 20px; }
.meridian-account-page .account-entry__form .btn { min-height: 50px; }
.meridian-account-page .account-entry__text-link { color: var(--color-text); font-size: 12px; text-decoration: underline; }
.meridian-account-page .account-entry__foot { margin: 18px 0 0 !important; padding-top: 16px; border-top: var(--rule) solid var(--rule-soft); }
.meridian-account-page .account-entry__secondary h3 { margin: 0 0 7px !important; color: var(--color-text); font: 700 25px/1 var(--font-display) !important; text-transform: var(--heading-case); }
.meridian-account-page .account-entry__inline { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px !important; align-items: end; }
.meridian-account-page .account-entry__inline .field { min-width: 0 !important; }
.meridian-account-page .account-entry__legacy { padding: 16px 20px !important; }
.meridian-account-page .account-entry__legacy summary { color: var(--color-neutral-700) !important; font-size: 12px !important; font-weight: 700; cursor: pointer; }
.meridian-account-page .account-entry__legacy .form-status { grid-column: 1 / -1; }

@media (max-width: 860px) {
  .meridian-account-page .account-entry { grid-template-columns: 1fr; width: min(calc(100% - 48px), 640px); padding: 36px 0 64px; }
  .meridian-account-page .account-entry__intro { padding: 0 0 30px; border-right: 0; border-bottom: var(--rule) solid var(--rule-color); }
  .meridian-account-page .account-entry__intro h1 { font-size: 58px; }
  .meridian-account-page .account-entry__intro ol { display: none; }
  .meridian-account-page .account-entry__forms { padding: 30px 0 0; }
}

@media (max-width: 520px) {
  .meridian-account-page .account-entry { width: 100%; padding: 26px 16px 48px; }
  .meridian-account-page .account-entry__intro h1 { font-size: 46px; }
  .meridian-account-page .account-entry__intro > p:not(.eyebrow) { margin: 18px 0 0; font-size: 15px; }
  .meridian-account-page .account-entry .panel { padding: 22px 18px; }
  .meridian-account-page .account-entry__inline { grid-template-columns: 1fr; }
  .meridian-account-page .account-entry__inline .btn { width: 100%; }
}

/* Signed-in account preferences */
.account-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); width: min(100% - 48px, 1320px); margin: 0 auto; padding: 30px 0 70px; color: var(--color-text); }
.account-identity { display: flex; flex-direction: column; gap: 18px; padding: 10px 26px 30px 0; border-right: var(--rule) solid var(--rule-color); }
.account-identity > div { display: grid; gap: 4px; }
.account-identity > div span { color: var(--color-neutral-700); font-size: 12px; }
.account-avatar { display: grid; width: 52px; height: 52px; place-items: center; color: var(--invert-ink); background: var(--invert-bg); font-weight: 800; }
.account-identity nav { display: grid; margin-top: 14px; }
.account-identity nav a { padding: 13px 10px; border-bottom: 1px solid var(--color-divider); color: var(--color-neutral-700); text-decoration: none; }
.account-identity nav a.is-active { color: var(--color-text); box-shadow: inset 3px 0 0 var(--color-text); font-weight: 700; }
.account-sheet { min-width: 0; padding-left: clamp(28px, 5vw, 62px); }
.account-sheet > header { padding: 8px 0 28px; border-bottom: var(--rule) solid var(--rule-color); }
.account-sheet > header h1 { margin: 7px 0 9px; font: 700 clamp(44px, 5vw, 68px)/.9 var(--font-display); letter-spacing: -.04em; text-transform: var(--heading-case); }
.account-sheet > header p:last-child { color: var(--color-neutral-700); }
.account-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 34px; padding: 28px 0; border-bottom: var(--rule) solid var(--rule-color); }
.account-question { display: grid; gap: 9px; min-width: 0; margin: 0; padding: 0; border: 0; }
.account-question > span,
.account-question legend,
.account-reading legend,
.account-reading label { color: var(--color-neutral-700); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.account-question input[type="text"],
.account-question > input,
.account-reading select { min-height: 48px; padding: 12px 14px; border: var(--rule) solid var(--rule-color); border-radius: var(--radius-ctl); color: var(--color-text); background: var(--sheet); font: 600 15px var(--font-body); }
.account-question small,
.account-reading small { color: var(--color-neutral-700); font-size: 12px; line-height: 1.45; }
.account-segments { display: flex; border: var(--rule) solid var(--rule-color); border-radius: var(--radius-ctl); overflow: hidden; }
.account-segments label { flex: 1; position: relative; }
.account-segments input,
.account-chips input { position: absolute; opacity: 0; pointer-events: none; }
.account-segments span { display: grid; min-height: 48px; padding: 10px; place-items: center; border-left: var(--rule) solid var(--rule-soft); color: var(--color-neutral-700); font-size: 13px; text-align: center; cursor: pointer; }
.account-segments label:first-child span { border-left: 0; }
.account-segments input:checked + span,
.account-chips input:checked + span { color: var(--select-ink); background: var(--select-bg); box-shadow: inset 0 0 0 var(--rule) var(--select-edge); font-weight: 700; }
.account-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.account-chips label { position: relative; }
.account-chips span { display: block; padding: 10px 13px; border: var(--rule) solid var(--rule-color); border-radius: var(--radius-ctl); color: var(--color-neutral-700); cursor: pointer; }
.account-appearance { padding: 28px 0; border-bottom: var(--rule) solid var(--rule-color); }
.account-appearance fieldset { display: grid; gap: 11px; margin: 0; padding: 0; border: 0; }
.account-appearance legend { color: var(--color-neutral-700); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.account-appearance small { color: var(--color-neutral-700); font-size: 12px; line-height: 1.45; }
.account-themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 10px; }
.account-theme { position: relative; display: block; }
.account-theme input { position: absolute; opacity: 0; pointer-events: none; }
.account-theme__body { display: flex; gap: 12px; align-items: center; min-height: 68px; padding: 13px 14px; border: var(--rule) solid var(--rule-color); border-radius: var(--radius-ctl); background: var(--sheet); cursor: pointer; }
.account-theme input:checked + .account-theme__body { color: var(--select-ink); background: var(--select-bg); box-shadow: inset 0 0 0 var(--rule) var(--select-edge); }
.account-theme input:focus-visible + .account-theme__body { outline: 3px solid var(--color-accent-400); outline-offset: 2px; }
.account-theme__text { display: grid; gap: 3px; min-width: 0; }
.account-theme__text strong { font-size: 14px; font-weight: 700; }
.account-theme__text small { color: inherit; opacity: .74; font-size: 11.5px; }
.account-theme__swatch { width: 26px; height: 26px; flex: 0 0 26px; border: 1px solid rgba(128, 128, 128, .55); border-radius: 50%; }
.account-theme__swatch--modernist { background: #f3f2f2; box-shadow: inset 0 0 0 7px #ec3013, inset 0 0 0 9px #201e1d; }
.account-theme__swatch--nightglass { border-color: #aca1ff; background: #0a0f1d; box-shadow: inset 0 0 0 7px #7b6cf6; }
.account-theme__swatch--apple { background: #fbfbfd; box-shadow: inset 0 0 0 7px #0071e3, inset 0 0 0 9px #d2d2d7; }
.account-theme__swatch--bbc { background: #ffffff; box-shadow: inset 0 0 0 7px #bb1919, inset 0 0 0 9px #141414; }
.account-reading { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 34px; padding: 28px 0; border-bottom: var(--rule) solid var(--rule-color); }
.account-reading > div,
.account-reading fieldset { display: grid; gap: 9px; margin: 0; padding: 0; border: 0; }
.account-email { padding: 28px 0; border-bottom: var(--rule) solid var(--rule-color); }
.account-email > label { display: flex; justify-content: space-between; gap: 20px; padding: 13px 2px; border-bottom: 1px solid var(--color-divider); }
.account-email input { width: 20px; height: 20px; accent-color: var(--select-bg); }
.account-save { min-height: 48px; padding: 14px 0; color: var(--color-neutral-700); font-size: 12px; }
.account-save p { margin: 0; }
.account-password { display: grid; grid-template-columns: minmax(0, .9fr) minmax(min(360px, 100%), 1.1fr); gap: 22px 34px; padding: 28px 0; border-bottom: var(--rule) solid var(--rule-color); }
.account-password h2 { margin: 6px 0 8px; font: 700 32px/1 var(--font-display); text-transform: var(--heading-case); }
.account-password > div > p:last-child { max-width: 48ch; color: var(--color-neutral-700); line-height: 1.5; }
.account-password__message { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-left: 4px solid var(--role-warning); color: var(--color-text); background: var(--role-warning-tint); font-weight: 700; }
.account-password__message.is-success { border-color: var(--role-ok); background: var(--role-ok-tint); }
.account-password__form { display: grid; gap: 11px; align-content: start; }
.account-password__form label { display: grid; gap: 7px; color: var(--color-neutral-700); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.account-password__form input { min-height: 46px; padding: 10px 12px; border: var(--rule) solid var(--rule-color); border-radius: var(--radius-ctl); color: var(--color-text); background: var(--sheet); font: 600 15px var(--font-body); }
.account-password__form .m-btn { justify-self: start; margin-top: 3px; }
.account-data { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: end; padding: 28px 0; }
.account-data h2 { margin: 6px 0 8px; font: 700 32px/1 var(--font-display); text-transform: var(--heading-case); }
.account-data p { max-width: 650px; color: var(--color-neutral-700); }
.account-data > div:last-of-type { display: flex; gap: 9px; }
.account-data form { grid-column: 1 / 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 18px; border-left: 5px solid var(--role-danger); background: var(--role-danger-tint); }
.account-data form[hidden] { display: none; }
.account-data form label { display: grid; gap: 7px; }
.account-data form input { min-height: 46px; padding: 10px 12px; border: var(--rule) solid var(--role-danger); color: var(--color-text); background: var(--sheet); }
.account-data form p,
.account-data form small { grid-column: 1 / 3; margin: 0; }

html[data-text-size="larger"] { font-size: 112.5%; }
html[data-text-size="largest"] { font-size: 125%; }
html[data-contrast="higher"] { --rule: 2px; --rule-soft: var(--rule-color); --sheet: var(--color-bg); }

@media (max-width: 820px) {
  .account-layout { grid-template-columns: 1fr; width: min(100% - 28px, 680px); padding-top: 18px; }
  .account-identity { display: grid; grid-template-columns: auto 1fr; padding: 0 0 20px; border-right: 0; border-bottom: var(--rule) solid var(--rule-color); }
  .account-identity nav { grid-column: 1 / 3; grid-auto-columns: max-content; grid-auto-flow: column; overflow-x: auto; }
  .account-sheet { padding-left: 0; }
  .account-question-grid,
  .account-reading,
  .account-password { grid-template-columns: 1fr; }
  .account-data { grid-template-columns: 1fr; }
  .account-data > div:last-of-type { display: grid; }
  .account-data form { grid-column: 1; grid-template-columns: 1fr; }
  .account-data form p,
  .account-data form small { grid-column: 1; }
}
