.account-page .site-header {
  min-height:68px;
  gap:20px;
  padding-block:6px;
}
.account-page .site-header .brand img { width:40px; height:40px; }
.account-page .site-header .text-link { font-size:14px; }
.account-page .account-main { padding-block:20px 56px; }
.account-page .notice-back { margin-bottom:16px; }
.account-page .account-main > .eyebrow { margin-bottom:8px; }
.account-page .application-title {
  margin:0 0 10px;
  font-size:clamp(42px,4.5vw,64px);
  line-height:.98;
}
.account-page .application-intro {
  max-width:720px;
  margin-bottom:18px;
  font-size:17px;
  line-height:1.45;
}
.account-page .account-gate,
.account-page .account-workspace { padding:clamp(20px,3vw,30px); }
.account-page .account-summary { gap:8px; margin:14px 0 8px; }
.account-page .account-summary > div { padding:12px; }
.account-page .account-summary dd { font-size:15px; }
.account-page .account-action-grid { gap:12px; margin-top:18px; }

@media (max-width:680px) {
  .account-page .site-header { min-height:66px; gap:10px; }
  .account-page .site-header .text-link { font-size:12px; }
  .account-page .account-main { padding-block:18px 48px; }
  .account-page .notice-back { margin-bottom:12px; }
  .account-page .application-title { font-size:clamp(38px,10vw,52px); }
  .account-page .application-intro { margin-bottom:14px; font-size:16px; }
  .account-page .account-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-page .account-summary > div { padding:10px; }
}

.account-page .account-main { padding-block:14px 56px; }
.account-page .account-hero {
  grid-template-columns:minmax(0,1fr) 140px;
  gap:clamp(18px,3vw,36px);
  min-height:0;
  padding-bottom:16px;
}
.account-page .account-hero h1 {
  margin:4px 0 10px;
  font-size:clamp(42px,5vw,64px);
  line-height:.98;
}
.account-page .account-hero-lede { font-size:16px; line-height:1.45; }
.account-page .account-hero-note { margin:8px 0 0; font-size:13px; line-height:1.4; }
.account-page .account-hero-mark { width:140px; }
.account-page #account-gate {
  grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);
  gap:16px clamp(18px,3vw,34px);
  margin:24px 0 0;
  padding:clamp(16px,2.5vw,24px);
}
.account-page .account-gate h2 { margin:4px 0 8px; font-size:clamp(28px,3.2vw,38px); }
.account-page .account-gate-copy > p:last-child { margin:0; font-size:15px; line-height:1.48; }
.account-page .account-gate-actions {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.account-page .account-gate-actions .button {
  width:100%;
  min-width:0;
  min-height:48px;
  padding-inline:12px;
  font-size:15px;
}
.account-page .account-gate-status,
.account-page .account-gate-note { grid-column:1/-1; }
.account-page .account-gate-status:empty { display:none; }
.account-page .account-membership {
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 24px;
  margin:14px 0 0;
  padding:18px 22px;
  border:1px solid #315061;
  border-left:3px solid var(--turquoise);
  border-radius:4px 12px 12px 4px;
  background:#091b28;
  color:var(--ivory);
  box-shadow:none;
}
.account-page .account-membership .eyebrow { color:var(--gold); }
.account-page .account-membership h2 { margin:0 0 6px; font-size:clamp(27px,3vw,34px); }
.account-page .account-membership-copy > p:not(.eyebrow):not(.account-membership-status) {
  color:#c5d2d0;
  font-size:15px;
  line-height:1.45;
}
.account-page .account-membership-status { margin-top:8px; color:#d5e0df; font-size:14px; line-height:1.45; }
.account-page .account-membership-status[data-state="success"] { color:#65dfc7; }
.account-page .account-membership-status[data-state="error"] { color:#ffab85; }
.account-page .account-membership-actions { min-width:210px; gap:9px; }
.account-page .account-membership .text-link { color:var(--turquoise); }

@media (max-width:820px) {
  .account-page #account-gate { grid-template-columns:1fr; gap:12px; }
  .account-page .account-membership { grid-template-columns:1fr; }
  .account-page .account-membership-actions { min-width:0; }
}

@media (max-width:620px) {
  .account-page .account-main { padding-block:14px 48px; }
  .account-page .account-hero {
    grid-template-columns:1fr;
    align-items:center;
    gap:12px;
    padding-bottom:14px;
  }
  .account-page .account-hero h1 { margin:4px 0 8px; font-size:clamp(34px,8.8vw,40px); line-height:1; }
  .account-page .account-hero-lede { font-size:15px; line-height:1.4; }
  .account-page .account-hero-note { font-size:12px; }
  .account-page .account-hero-mark { width:112px; justify-self:end; }
  .account-page .account-hero-mark figcaption { font-size:11px; }
  .account-page #account-gate { padding:16px; }
  .account-page .account-gate h2 { margin:3px 0 7px; font-size:28px; }
  .account-page .account-gate-copy > p:last-child { font-size:14px; line-height:1.45; }
  .account-page .account-gate-status,
  .account-page .account-gate-note { font-size:13px; line-height:1.45; }
  .account-page .account-membership { gap:9px; margin-top:12px; padding:15px 16px; }
  .account-page .account-membership h2 { margin-bottom:5px; font-size:27px; }
  .account-page .account-membership-copy > p:not(.eyebrow):not(.account-membership-status) { font-size:14px; }
  .account-page .account-membership-status { margin-top:6px; font-size:13px; }
  .account-page .account-membership-actions { grid-template-columns:1fr; gap:8px; }
  .account-page .account-enroll-button,
  .account-page .account-download-button { min-height:45px; padding-inline:14px; font-size:14px; }
}

@media (max-width:360px) {
  .account-page .account-hero { gap:8px; }
  .account-page .account-hero-mark { width:88px; }
  .account-page .account-gate-actions { grid-template-columns:1fr; gap:8px; }
}

.account-page .account-nav { flex-wrap:wrap; min-width:0; }
.account-page .account-nav a {
  box-sizing:border-box;
  min-width:44px;
  min-height:44px;
  padding-block:10px;
}
.account-page .account-nav-current svg { flex-basis:18px; width:18px; height:18px; }
.account-page .account-support-note {
  margin:14px 0 0;
  color:#b9c7ca;
  font-size:13px;
  line-height:1.5;
}
.account-page .account-support-note p { margin:0; }
.account-page .account-support-note a {
  color:var(--turquoise);
  text-decoration:underline;
  text-underline-offset:3px;
}
.account-page .account-support-note a:hover { color:var(--gold); }

@media (max-width:540px) {
  .account-page .site-header { flex-wrap:wrap; row-gap:4px; padding-block:7px; }
  .account-page .account-nav {
    flex:1 0 100%;
    justify-content:center;
    gap:4px 8px;
    margin-left:0;
  }
  .account-page .account-nav a { gap:6px; font-size:14px; }
}
