:root {
  --ink: #272727;
  --body: #515151;
  --cyan: #00aeef;
  --blue: #006de3;
  --blue-hover: #005bbe;
  --navy: #1a2142;
  --deep: #161b2f;
  --pale: #f2f8fe;
  --soft: #f6f6f6;
  --line: #e2e2e2;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.58;
}
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
.page-width { width: min(1184px, calc(100% - 48px)); margin-inline: auto; }

.practice-notice {
  padding: 6px 18px;
  color: #fff;
  background: #161b2f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.site-header { position: relative; z-index: 10; background: #fff; }
.header-top {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { min-width: 0; display: flex; align-items: center; gap: 9px; text-decoration: none; }
.brand-eagle { width: 37px; height: 43px; object-fit: contain; }
.brand-wordmark { width: 126px; height: auto; }
.brand-label { margin-left: 9px; padding-left: 16px; border-left: 1px solid #e2e2e2; color: #515151; font-size: 14px; white-space: nowrap; }
.header-links { display: flex; align-items: center; gap: 23px; }
.plain-button { border: 0; padding: 8px 0; color: #272727; background: transparent; font-size: 14px; }
.location-button { display: flex; align-items: center; gap: 7px; }
.pin { width: 12px; height: 12px; display: inline-block; border: 2px solid var(--blue); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.login-button, .primary-button, .hero-button {
  min-height: 42px;
  border: 1px solid var(--blue);
  padding: 9px 24px;
  color: #fff;
  background: var(--blue);
  font-weight: 700;
}
.login-button:hover, .primary-button:hover, .hero-button:hover { background: var(--blue-hover); }
.mobile-menu { display: none; border: 0; padding: 8px 0; color: var(--ink); background: transparent; }
.mobile-menu span, .mobile-menu span::before, .mobile-menu span::after { width: 20px; height: 2px; display: block; background: currentColor; }
.mobile-menu span { position: relative; margin-right: 9px; }
.mobile-menu span::before, .mobile-menu span::after { content: ""; position: absolute; left: 0; }
.mobile-menu span::before { top: -6px; }
.mobile-menu span::after { top: 6px; }

.main-nav { border-top: 1px solid #e2e2e2; border-bottom: 1px solid var(--line); }
.nav-inner { min-height: 50px; display: flex; align-items: stretch; }
.nav-inner > button {
  border: 0;
  padding: 0 19px;
  color: #272727;
  background: #fff;
  font-size: 14px;
}
.nav-inner > button:first-child { padding-left: 0; }
.nav-inner > button:hover, .nav-inner > button.is-open { color: var(--blue); }
.nav-inner > button > span { margin-left: 5px; font-size: 13px; }
.search-trigger { width: 48px; margin-left: auto; padding: 0 !important; }
.search-trigger span { position: relative; width: 16px; height: 16px; display: block; margin: auto; border: 2px solid var(--ink); border-radius: 50%; }
.search-trigger span::after { content: ""; position: absolute; width: 8px; height: 2px; right: -7px; bottom: -4px; background: var(--ink); transform: rotate(45deg); }
.mega-menu {
  position: absolute;
  width: 100%;
  display: none;
  padding: 36px 0 42px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 15px 25px rgba(8, 46, 65, .12);
}
.mega-menu.is-open { display: block; }
.mega-grid { display: grid; grid-template-columns: 1.15fr 1fr 1.25fr 1.2fr; gap: 45px; }
.menu-kicker { margin: 0 0 10px; color: var(--blue); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.mega-title { margin: 0; font: 400 32px Georgia, "Times New Roman", serif; }
.mega-grid h3 { margin: 0 0 13px; font-size: 16px; }
.mega-grid a { display: block; margin: 8px 0; color: #515151; font-size: 14px; text-decoration: none; }
.mega-grid a:hover { color: var(--blue); text-decoration: underline; }

.hero { min-height: 563px; display: grid; grid-template-columns: minmax(420px, .86fr) minmax(0, 1.14fr); }
.hero-copy { display: flex; align-items: center; color: #fff; background: var(--navy); }
.hero-copy-inner { width: min(100%, 580px); margin-left: max(48px, calc((100vw - 1184px) / 2)); padding: 65px 52px 65px 0; }
.hero h1 { margin: 0 0 38px; font: 400 clamp(46px, 5vw, 72px)/1.06 Georgia, "Times New Roman", serif; }
.hero-image { min-height: 563px; background: url("../img/home-hero.jpg") center/cover no-repeat; }
.hero-button { background: var(--blue); }

.services { padding-block: 86px 96px; }
.section-intro { max-width: 890px; margin-bottom: 42px; }
.section-intro h2, .feature-copy h2, .digital-copy h2, .touch-inner h2 {
  margin: 0 0 24px;
  font: 400 43px/1.16 Georgia, "Times New Roman", serif;
}
.section-intro p { margin: 0; color: var(--body); font-size: 18px; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-card { min-width: 0; display: flex; flex-direction: column; background: var(--soft); }
.service-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.service-card-copy { flex: 1; padding: 28px 26px 25px; display: flex; flex-direction: column; }
.service-card h3 { margin: 0 0 14px; font: 400 27px/1.22 Georgia, "Times New Roman", serif; }
.service-card p { margin: 0 0 25px; color: var(--body); }
.service-card button {
  margin-top: auto;
  border: 0;
  padding: 0;
  color: var(--blue);
  background: transparent;
  font-weight: 700;
  text-align: left;
}
.service-card button span { float: right; font-size: 22px; line-height: 1; }

.experts { padding: 86px 0; background: var(--soft); }
.split-feature { display: grid; grid-template-columns: 1.03fr .97fr; align-items: stretch; }
.split-feature > img { width: 100%; height: 100%; min-height: 455px; object-fit: cover; }
.feature-copy { padding: 62px 64px; background: #fff; }
.feature-copy p { margin: 0 0 19px; color: var(--body); font-size: 17px; }
.feature-copy .primary-button { margin-top: 16px; }

.digital { padding: 74px 0; background: var(--pale); }
.digital-grid { min-height: 420px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 75px; }
.device-wrap { align-self: stretch; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.device-wrap img { width: min(100%, 570px); max-height: 420px; object-fit: contain; object-position: center bottom; }
.digital-copy { max-width: 500px; }
.digital-copy p { margin: 0 0 30px; color: var(--body); font-size: 18px; }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; }
.secondary-button, .light-button {
  min-height: 42px;
  border: 1px solid var(--blue);
  padding: 9px 22px;
  color: var(--blue);
  background: transparent;
  font-weight: 700;
}
.secondary-button:hover { color: #fff; background: var(--blue); }

.information { padding-block: 54px; }
.information details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.information summary {
  padding: 25px 2px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  cursor: pointer;
  font: 400 25px Georgia, "Times New Roman", serif;
}
.information summary::-webkit-details-marker { display: none; }
.information summary span { color: var(--blue); font: 400 30px Arial, sans-serif; transition: transform .18s ease; }
.information details[open] summary span { transform: rotate(45deg); }
.details-copy { max-width: 800px; padding: 0 0 26px; color: var(--body); font-size: 14px; }

.get-in-touch { padding: 58px 0; color: #fff; background: var(--navy); }
.touch-inner { display: flex; align-items: center; justify-content: space-between; gap: 55px; }
.touch-inner .menu-kicker { color: #fff; }
.touch-inner h2 { margin-bottom: 8px; }
.touch-inner p:last-child { margin: 0; }
.light-button { flex: 0 0 auto; color: #fff; border-color: #fff; }
.light-button:hover { color: var(--blue); background: #fff; }

.site-footer { padding: 59px 0 24px; color: #fff; background: var(--deep); }
.footer-main { display: grid; grid-template-columns: repeat(3, 1fr) 1.1fr; gap: 48px; }
.footer-column h2 { margin: 0 0 18px; font: 400 22px Georgia, "Times New Roman", serif; }
.footer-column a, .footer-column button { display: block; margin: 10px 0; border: 0; padding: 0; color: #fff; background: transparent; font-size: 14px; text-decoration: none; text-align: left; }
.footer-column a:hover, .footer-column button:hover { text-decoration: underline; }
.footer-brand { display: flex; justify-content: flex-end; align-items: flex-start; gap: 12px; font: 400 28px Georgia, "Times New Roman", serif; }
.footer-brand img { width: 39px; filter: brightness(0) invert(1); }
.footer-legal { margin-top: 45px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.28); color: #e2e2e2; font-size: 12px; }
.footer-legal p { max-width: 930px; margin: 8px 0; }

.demo-dialog, .search-dialog {
  width: min(510px, calc(100% - 32px));
  padding: 37px;
  border: 0;
  color: var(--ink);
  box-shadow: 0 22px 70px rgba(0,0,0,.3);
}
.search-dialog { width: min(640px, calc(100% - 32px)); }
.demo-dialog::backdrop, .search-dialog::backdrop { background: rgba(1, 28, 43, .74); }
.demo-dialog h2, .search-dialog h2 { margin: 0 0 15px; font: 400 31px Georgia, "Times New Roman", serif; }
.dialog-close { position: absolute; top: 11px; right: 15px; border: 0; padding: 3px; color: var(--ink); background: transparent; font-size: 28px; }
.dialog-confirm { margin-top: 10px; }
.search-form label { display: block; margin-bottom: 8px; font-weight: 700; }
.search-form > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.search-form input { min-width: 0; border: 1px solid #8e8e8e; padding: 10px 12px; }
.search-status { color: var(--body); }
.search-results { display: grid; gap: 8px; }
.search-result { padding: 10px 12px; color: var(--ink); background: var(--soft); border-left: 3px solid var(--cyan); text-decoration: none; }

@media (max-width: 950px) {
  .page-width { width: min(100% - 32px, 760px); }
  .header-top { min-height: 68px; }
  .brand-label, .plain-button, .location-button { display: none; }
  .mobile-menu { display: flex; align-items: center; }
  .main-nav { display: none; }
  .main-nav.is-open { display: block; }
  .nav-inner { width: 100%; padding: 12px 16px 20px; flex-direction: column; align-items: stretch; }
  .nav-inner > button, .nav-inner > button:first-child { min-height: 44px; padding: 0; display: flex; justify-content: space-between; align-items: center; text-align: left; }
  .search-trigger { display: none !important; }
  .mega-menu { position: static; box-shadow: none; }
  .mega-grid { grid-template-columns: 1fr 1fr; }
  .hero { grid-template-columns: 1fr; }
  .hero-image { min-height: 56vw; order: -1; }
  .hero-copy { min-height: 410px; }
  .hero-copy-inner { margin: 0 auto; width: min(100% - 64px, 700px); padding: 58px 0; }
  .hero h1 { font-size: 54px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { display: grid; grid-template-columns: 44% 56%; }
  .service-card > img { height: 100%; aspect-ratio: auto; }
  .split-feature { grid-template-columns: 1fr; }
  .split-feature > img { min-height: 48vw; }
  .digital-grid { grid-template-columns: 1fr; gap: 22px; }
  .device-wrap { min-height: 340px; }
  .digital-copy { max-width: 650px; padding-bottom: 30px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { justify-content: flex-start; }
}

@media (max-width: 580px) {
  .practice-notice { font-size: 9px; }
  .brand-wordmark { width: 102px; }
  .brand-eagle { width: 31px; }
  .login-button { display: none; }
  .header-links { gap: 12px; }
  .hero-image { min-height: 72vw; }
  .hero-copy { min-height: 350px; }
  .hero-copy-inner { width: min(100% - 48px, 500px); padding: 48px 0; }
  .hero h1 { font-size: 42px; }
  .services { padding-block: 62px; }
  .section-intro h2, .feature-copy h2, .digital-copy h2, .touch-inner h2 { font-size: 34px; }
  .section-intro p, .digital-copy p { font-size: 17px; }
  .service-card { display: flex; }
  .service-card > img { height: auto; aspect-ratio: 4 / 3; }
  .experts { padding: 0; }
  .split-feature { width: 100%; }
  .split-feature > img { min-height: 75vw; }
  .feature-copy { padding: 42px 24px 48px; }
  .digital { padding-top: 35px; }
  .device-wrap { min-height: 270px; }
  .button-row, .button-row button { width: 100%; }
  .touch-inner { align-items: flex-start; flex-direction: column; }
  .footer-main { grid-template-columns: 1fr; }
  .search-form > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.login-button.current { background: var(--blue-hover); }
.home-link {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  color: var(--blue);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.login-main { background: #fff; }
.login-intro {
  padding: 28px 0 58px;
  color: #fff;
  background: var(--navy);
}
.breadcrumbs {
  margin-bottom: 55px;
  display: flex;
  gap: 9px;
  color: #e2e2e2;
  font-size: 13px;
}
.breadcrumbs a { color: #fff; }
.training-label {
  width: fit-content;
  margin: 0 0 17px;
  padding: 5px 9px;
  color: #272727;
  background: #e7f0fb;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.login-intro h1 {
  margin: 0 0 12px;
  font: 400 58px/1.08 Georgia, "Times New Roman", serif;
}
.login-intro p:last-child { margin: 0; font-size: 21px; }
.login-platforms { padding-block: 76px 88px; }
.login-platforms > h2, .international-login h2, .security-callout h2 {
  margin: 0 0 34px;
  font: 400 39px/1.18 Georgia, "Times New Roman", serif;
}
.platform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}
.platform-card {
  min-height: 310px;
  padding: 31px 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--soft);
  border-top: 4px solid var(--cyan);
}
.platform-card h3 {
  margin: 0 0 15px;
  font: 400 25px/1.26 Georgia, "Times New Roman", serif;
}
.platform-card p { margin: 0 0 27px; color: var(--body); }
.platform-card.compact-card { min-height: 255px; }
.platform-actions {
  width: 100%;
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}
.platform-actions button { max-width: 100%; }
.international-login { padding: 78px 0 90px; background: var(--pale); }
.two-column .platform-card { background: #fff; }
.security-callout { padding: 54px 0; color: #fff; background: var(--navy); }
.security-inner { display: flex; justify-content: space-between; align-items: center; gap: 45px; }
.security-callout h2 { margin-bottom: 8px; }
.security-callout p { margin: 0; }
.security-callout .light-button { flex: 0 0 auto; text-decoration: none; }

@media (max-width: 950px) {
  .home-link { margin: 0; min-height: 44px; }
}
@media (max-width: 700px) {
  .login-intro { padding-bottom: 45px; }
  .breadcrumbs { margin-bottom: 40px; }
  .login-intro h1 { font-size: 45px; }
  .platform-grid { grid-template-columns: 1fr; }
  .platform-card, .platform-card.compact-card { min-height: 0; }
  .security-inner { align-items: flex-start; flex-direction: column; }
}


/* Linked controls and tiles mirror the reference homepage interaction model. */
.hero-button,
.primary-button,
.secondary-button,
.light-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  text-decoration: none;
}
.service-card {
  position: relative;
  color: var(--ink);
  text-decoration: none;
  transition: box-shadow 160ms ease, transform 160ms ease;
}
.service-card:hover {
  box-shadow: 0 8px 24px rgba(39, 39, 39, .16);
  transform: translateY(-2px);
}
.service-card:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}
.tile-arrow {
  width: 36px;
  height: 36px;
  margin-top: auto;
  margin-left: auto;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--blue);
  border-radius: 50%;
  font-size: 21px;
  line-height: 1;
}
.section-intro sup a {
  color: var(--blue);
  text-decoration: none;
}
@media (max-width: 580px) {
  .button-row > * { width: 100%; }
}


/* Distinct reference-aligned navigation panels. */
.mega-menu {
  max-height: calc(100vh - 128px);
  overflow-y: auto;
}
.mega-heading h2 {
  margin: 0;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 951px) {
  .mega-grid {
    grid-template-columns: minmax(180px, .85fr) repeat(4, minmax(150px, 1fr));
    gap: 30px;
  }
  .mega-grid.compact-menu {
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(220px, 1fr));
    justify-content: start;
  }
  .mega-grid.support-menu {
    grid-template-columns: minmax(210px, .9fr) repeat(3, minmax(190px, 1fr));
  }
}
@media (max-width: 950px) {
  .mega-grid,
  .mega-grid.compact-menu,
  .mega-grid.support-menu {
    grid-template-columns: 1fr 1fr;
  }
  .mega-heading { grid-column: 1 / -1; }
  .mega-menu { max-height: none; }
}
@media (max-width: 580px) {
  .mega-grid,
  .mega-grid.compact-menu,
  .mega-grid.support-menu {
    grid-template-columns: 1fr;
  }
  .mega-heading { grid-column: auto; }
}

/* Reference-aligned submenu column layouts. */
@media (min-width: 951px) {
  #menu-private .mega-grid,
  #menu-international .mega-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #menu-digital .mega-grid,
  #menu-insights .mega-grid {
    grid-template-columns: repeat(2, minmax(180px, 220px));
    justify-content: start;
    column-gap: 16px;
  }
  #menu-support .mega-grid {
    grid-template-columns: repeat(3, minmax(190px, 230px));
    justify-content: start;
    column-gap: 16px;
  }
}

/* Fictional local authentication demo */
.practice-auth-page,
.practice-account-page {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  color: #17222d;
  background: #f3f6f7;
  font-family: Arial, Helvetica, sans-serif;
}
.practice-header {
  min-height: 76px;
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fff;
  background: #12343f;
}
.practice-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-weight: 700; }
.practice-mark { width: 36px; height: 36px; display: grid; place-items: center; color: #12343f; background: #65d2c2; border-radius: 50%; font: 700 21px/1 Georgia, serif; }
.demo-environment { padding: 6px 10px; color: #12343f; background: #d9f4ef; font-size: 13px; font-weight: 700; }
.auth-shell { flex: 1; width: min(100% - 40px, 520px); margin: 70px auto; }
.auth-panel { padding: 42px; background: #fff; border: 1px solid #d5dee1; box-shadow: 0 16px 45px rgba(23, 34, 45, .1); }
.auth-copy { margin-bottom: 32px; }
.auth-eyebrow { margin: 0 0 10px; color: #22786f; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.auth-copy h1,
.account-heading h1 { margin: 0 0 12px; font: 400 43px/1.15 Georgia, "Times New Roman", serif; }
.auth-copy p:last-child { margin: 0; color: #52616b; font-size: 17px; }
.auth-form { display: grid; gap: 10px; }
.auth-form label { margin-top: 8px; font-weight: 700; }
.auth-form input { min-height: 48px; padding: 9px 12px; border: 1px solid #8d9ba2; border-radius: 0; font: inherit; }
.auth-form input:focus { outline: 3px solid rgba(35, 157, 143, .25); border-color: #22786f; }
.auth-submit { min-height: 49px; margin-top: 16px; border: 0; color: #fff; background: #176b63; font: 700 16px/1 Arial, sans-serif; cursor: pointer; }
.auth-submit:hover { background: #10534d; }
.auth-error { margin: 0 0 8px; padding: 12px; color: #861b24; background: #fff0f1; border-left: 4px solid #b4232f; }
.demo-credentials { margin-top: 28px; padding: 18px; display: grid; gap: 8px; background: #e8f5f3; border-left: 4px solid #239d8f; }
.demo-credentials code { color: #17222d; font-size: 14px; }
.practice-footer { padding: 24px; color: #56636b; text-align: center; font-size: 13px; }
.account-header form { margin: 0; }
.account-logout { padding: 9px 18px; color: #fff; background: transparent; border: 1px solid #b9d2d0; font-weight: 700; cursor: pointer; }
.account-shell { flex: 1; width: min(100% - 40px, 1080px); margin: 64px auto; }
.account-heading { margin-bottom: 36px; }
.balance-panel { padding: 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; color: #fff; background: #176b63; }
.balance-panel p { margin: 0 0 12px; }
.balance-panel strong { display: block; font: 400 49px/1.1 Georgia, "Times New Roman", serif; }
.balance-panel strong span { margin-right: 10px; font: 700 13px/1 Arial, sans-serif; }
.balance-panel > p { margin: 0; text-align: right; line-height: 1.6; }
.balance-panel > p span { color: #c9e5e1; }
.account-summary { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #d5dee1; background: #fff; }
.account-summary div { min-height: 110px; padding: 25px; display: grid; gap: 10px; border-right: 1px solid #d5dee1; }
.account-summary div:last-child { border-right: 0; }
.account-summary span { color: #64727a; }
.account-summary strong { font-size: 20px; }
@media (max-width: 650px) {
  .practice-header { min-height: 68px; }
  .practice-brand span:last-child { font-size: 14px; }
  .auth-shell { margin: 34px auto; }
  .auth-panel { padding: 28px 22px; }
  .auth-copy h1, .account-heading h1 { font-size: 35px; }
  .balance-panel { padding: 28px 24px; align-items: flex-start; flex-direction: column; }
  .balance-panel strong { font-size: 38px; }
  .balance-panel > p { text-align: left; }
  .account-summary { grid-template-columns: 1fr; }
  .account-summary div { border-right: 0; border-bottom: 1px solid #d5dee1; }
  .account-summary div:last-child { border-bottom: 0; }
}

/* Modern account dashboard */
.practice-account-page {
  color: #18232f;
  background:
    radial-gradient(circle at top left, rgba(0, 109, 227, .10), transparent 34rem),
    linear-gradient(180deg, #eef4f8 0%, #f7f9fb 42%, #eef2f5 100%);
}
.account-header {
  position: sticky;
  top: 0;
  z-index: 5;
  min-height: 72px;
  background: rgba(18, 52, 63, .97);
  box-shadow: 0 12px 35px rgba(18, 52, 63, .14);
}
.account-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.account-icon-button {
  width: 39px;
  height: 39px;
  border: 1px solid rgba(255, 255, 255, .34);
  color: #12343f;
  background: #d9f4ef;
  border-radius: 50%;
  font-weight: 700;
}
.account-shell {
  width: min(100% - 40px, 1180px);
  margin: 42px auto 70px;
}
.account-hero {
  margin-bottom: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.account-heading { margin-bottom: 0; }
.account-heading h1 {
  margin-bottom: 8px;
  font: 400 clamp(34px, 4vw, 52px)/1.08 Georgia, "Times New Roman", serif;
}
.account-heading p:last-child {
  max-width: 620px;
  margin: 0;
  color: #5e6b76;
  font-size: 17px;
}
.account-eyebrow,
.card-label {
  margin: 0 0 8px;
  color: #176b63;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.account-health {
  min-height: 42px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #24434d;
  background: #fff;
  border: 1px solid #d8e2e7;
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(18, 52, 63, .08);
  font-weight: 700;
}
.status-dot {
  width: 10px;
  height: 10px;
  background: #1da270;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(29, 162, 112, .14);
}
.account-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr);
  gap: 20px;
}
.balance-card,
.account-panel {
  border: 1px solid rgba(174, 190, 200, .8);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 20px 50px rgba(18, 52, 63, .10);
}
.balance-card {
  min-height: 318px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(23, 107, 99, .96), rgba(17, 37, 68, .98)),
    #176b63;
  border-color: rgba(255, 255, 255, .14);
  overflow: hidden;
  position: relative;
}
.balance-card::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -80px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 50%;
}
.balance-card-top,
.balance-meta,
.quick-actions {
  position: relative;
  z-index: 1;
}
.balance-card-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.balance-card .card-label { color: #b8eee6; }
.balance-card strong {
  display: block;
  font: 400 clamp(42px, 7vw, 70px)/1 Georgia, "Times New Roman", serif;
}
.balance-card strong span {
  margin-right: 11px;
  font: 700 13px/1 Arial, sans-serif;
}
.account-pill {
  height: fit-content;
  margin: 0;
  padding: 7px 11px;
  color: #0d403b;
  background: #d9f4ef;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.balance-meta {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #d6ebe8;
}
.balance-meta span {
  padding: 7px 10px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  font-size: 13px;
}
.quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.quick-actions button {
  min-height: 74px;
  padding: 10px;
  display: grid;
  place-items: center;
  gap: 7px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  font-weight: 700;
}
.quick-actions button:hover { background: rgba(255, 255, 255, .18); }
.quick-actions span {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  color: #102f3c;
  background: #9ee4da;
  border-radius: 50%;
  font-size: 17px;
}
.account-panel { padding: 24px; border-radius: 8px; }
.panel-heading {
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}
.panel-heading h2 {
  margin: 0;
  font: 400 27px/1.18 Georgia, "Times New Roman", serif;
}
.insight-list {
  display: grid;
  gap: 12px;
}
.insight-list div {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 14px;
  background: #f4f8fa;
  border: 1px solid #e0e8ec;
  border-radius: 8px;
}
.insight-list strong { font-size: 24px; }
.insight-list small { grid-column: 1 / -1; color: #62717b; }
.practice-account-page .account-summary {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #d8e2e7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 52, 63, .06);
}
.practice-account-page .account-summary div {
  min-height: 104px;
  padding: 23px 25px;
  border-right: 1px solid #e1e9ed;
}
.practice-account-page .account-summary div:last-child { border-right: 0; }
.practice-account-page .account-summary span { color: #61707a; }
.practice-account-page .account-summary strong { font-size: 24px; }
.account-workspace {
  margin-top: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
  gap: 20px;
  align-items: start;
}
.transaction-panel { padding: 0; overflow: hidden; }
.table-heading { padding: 24px 24px 4px; }
.text-action {
  border: 0;
  padding: 8px 0;
  color: #006de3;
  background: transparent;
  font-weight: 700;
}
.transaction-list { display: grid; }
.transaction-row {
  min-height: 86px;
  padding: 18px 24px;
  display: grid;
  grid-template-columns: 74px 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border-top: 1px solid #e4ebef;
}
.transaction-date { color: #65737d; font-size: 14px; font-weight: 700; }
.transaction-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: #e8efff;
  color: #2357b6;
  border-radius: 50%;
  font-weight: 700;
}
.transaction-icon.credit { color: #137451; background: #daf5e8; }
.transaction-icon.debit { color: #9b3029; background: #fde8e6; }
.transaction-copy h3,
.pending-list h3,
.receipt-list h3 {
  margin: 0 0 3px;
  font-size: 16px;
  line-height: 1.25;
}
.transaction-copy p,
.pending-list p,
.receipt-list p {
  margin: 0;
  color: #64727a;
  font-size: 14px;
}
.transaction-amount { white-space: nowrap; font-size: 17px; }
.transaction-amount.credit { color: #137451; }
.transaction-amount.debit { color: #9b3029; }
.account-side-stack { display: grid; gap: 20px; }
.pending-list,
.receipt-list { display: grid; gap: 12px; }
.pending-list article,
.receipt-list article {
  padding: 15px;
  display: grid;
  gap: 12px;
  background: #f7fafb;
  border: 1px solid #e2eaee;
  border-radius: 8px;
}
.pending-list article {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.pending-amount {
  display: grid;
  justify-items: end;
  gap: 6px;
}
.pending-amount span,
.receipt-list article > span:last-child {
  width: fit-content;
  padding: 4px 8px;
  color: #6b4a00;
  background: #fff4d6;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.receipt-list article {
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
}
.receipt-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #0f5f59;
  background: #d9f4ef;
  border-radius: 50%;
}
.receipt-list article > span:last-child {
  color: #0f5f59;
  background: #d9f4ef;
}

@media (max-width: 900px) {
  .account-hero,
  .balance-card-top { align-items: flex-start; flex-direction: column; }
  .account-grid,
  .account-workspace { grid-template-columns: 1fr; }
  .quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .account-header { position: static; }
  .account-header-actions { gap: 8px; }
  .account-icon-button { display: none; }
  .account-shell { width: min(100% - 28px, 520px); margin: 30px auto 48px; }
  .account-heading h1 { font-size: 36px; }
  .account-health { width: 100%; justify-content: center; }
  .balance-card { min-height: 0; padding: 24px 18px; }
  .balance-card strong { font-size: 40px; }
  .balance-meta { align-items: stretch; flex-direction: column; }
  .quick-actions { grid-template-columns: 1fr 1fr; }
  .practice-account-page .account-summary { grid-template-columns: 1fr; }
  .practice-account-page .account-summary div { border-right: 0; border-bottom: 1px solid #e1e9ed; }
  .practice-account-page .account-summary div:last-child { border-bottom: 0; }
  .transaction-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px 12px;
  }
  .transaction-date { grid-column: 1 / -1; }
  .transaction-amount { grid-column: 2; justify-self: start; }
  .pending-list article,
  .receipt-list article { grid-template-columns: 1fr; }
  .pending-amount { justify-items: start; }
}
/* Interactive banking controls and mobile sheets */
.action-menu{position:relative}.banking-menu-button{min-height:40px;padding:0 14px;display:flex;align-items:center;gap:8px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.32);border-radius:6px;font-weight:700;cursor:pointer}.banking-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:20;width:310px;padding:8px;background:#fff;border:1px solid #d9e2e7;border-radius:8px;box-shadow:0 20px 55px rgba(12,35,47,.2)}.banking-dropdown button{width:100%;padding:12px;display:grid;grid-template-columns:34px 1fr;gap:2px 10px;color:#18232f;background:transparent;border:0;border-radius:6px;text-align:left;cursor:pointer}.banking-dropdown button:hover{background:#f0f7f7}.banking-dropdown button>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;color:#0f5f59;background:#d9f4ef;border-radius:50%}.banking-dropdown small{color:#66757e}.account-selector-label{display:grid;gap:6px;color:#b8eee6;font-size:12px;font-weight:700;text-transform:uppercase}.account-selector{min-height:40px;padding:0 32px 0 12px;color:#14353e;background:#eaf8f5;border:0;border-radius:6px;font-weight:700}.quick-actions button{cursor:pointer}.mobile-bank-nav{display:none}
.bank-sheet{width:min(100% - 32px,520px);max-height:88vh;margin:auto 0 auto auto;padding:0;color:#18232f;background:#fff;border:0;border-radius:8px 0 0 8px;box-shadow:-20px 0 60px rgba(12,35,47,.22);overflow:auto}.bank-sheet::backdrop{background:rgba(10,26,35,.52);backdrop-filter:blur(2px)}.sheet-header{position:sticky;top:0;z-index:2;padding:22px 24px 18px;display:flex;justify-content:space-between;background:#fff;border-bottom:1px solid #e3e9ec}.sheet-header h2{margin:0;font:400 31px Georgia,serif}.sheet-close{width:40px;height:40px;color:#27414a;background:#eef3f5;border:0;border-radius:50%;font-size:28px;cursor:pointer}.sheet-view{padding:24px}.sheet-intro{margin:0 0 20px;color:#60707a}.bank-form{display:grid;gap:17px}.bank-form label{display:grid;gap:7px;color:#33464f;font-size:13px;font-weight:700}.bank-form input,.bank-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebbc2;border-radius:6px;font:16px Arial;box-sizing:border-box}.form-pair{display:grid;grid-template-columns:1fr 130px;gap:12px}.switch-row{padding:14px;grid-template-columns:1fr auto!important;align-items:center;background:#f3f7f8}.switch-row span{display:grid;gap:4px}.switch-row small{color:#67757e;font-weight:400}.switch-row input{width:44px;min-height:24px;accent-color:#176b63}.primary-bank-action{width:100%;min-height:50px;padding:12px;color:#fff;background:#176b63;border:0;border-radius:6px;font-weight:700;cursor:pointer}.account-type-tabs{margin-bottom:18px;padding:4px;display:grid;grid-template-columns:repeat(3,1fr);background:#edf2f4;border-radius:6px}.account-type-tabs button{min-height:40px;color:#52636c;background:transparent;border:0;border-radius:4px;font-weight:700}.account-type-tabs button.active{color:#123f3b;background:#fff;box-shadow:0 2px 8px rgba(18,52,63,.1)}.receiving-card{margin-bottom:18px;padding:20px;color:#fff;background:#173f48;border-radius:8px}.receiving-card>span{color:#a9ddd5;font-size:12px;font-weight:700;text-transform:uppercase}.receiving-card h3{margin:7px 0 18px;font:400 24px Georgia}.receiving-card dl{margin:0;display:grid;gap:12px}.receiving-card dl div{display:flex;justify-content:space-between;gap:15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15)}.receiving-card dt{color:#b8cecf}.receiving-card dd{margin:0;font-weight:700;text-align:right}.payment-card{min-height:220px;margin-bottom:22px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(135deg,#143d45,#196d66 65%,#257d75);border-radius:8px;box-shadow:0 18px 38px rgba(16,55,60,.2)}.payment-card div{display:grid;gap:70px}.payment-card div b{font:400 22px Georgia;letter-spacing:.08em}.payment-card footer{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.card-setting,.statement-list article{padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e2e8eb}.card-setting div,.statement-list article div{display:grid;gap:4px}.card-setting small,.statement-list small{color:#65747d}.card-setting button,.statement-list button{padding:8px 11px;color:#0f5f59;background:#e5f5f2;border:0;border-radius:5px;font-weight:700}.bank-toast{position:fixed;left:50%;bottom:28px;z-index:50;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 17px;color:#fff;background:#132f38;border-radius:6px;font-weight:700}
@media(max-width:650px){.practice-account-page{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.account-header{position:sticky;min-height:62px;padding:0 14px}.account-header-actions .action-menu,.account-icon-button{display:none}.account-logout{padding:8px 10px}.account-shell{width:calc(100% - 24px);margin:22px auto 28px}.account-hero{margin-bottom:16px;gap:14px}.account-heading h1{font-size:31px;overflow-wrap:anywhere}.account-heading p:last-child{font-size:15px}.account-health{width:auto;min-height:36px;padding:7px 11px;justify-content:flex-start;font-size:13px}.account-grid,.account-workspace{gap:14px}.balance-card{padding:20px 16px}.balance-card strong{font-size:clamp(32px,10vw,42px);overflow-wrap:anywhere}.account-selector-label,.account-selector{width:100%}.balance-meta{margin:16px 0;display:grid;grid-template-columns:1fr 1fr}.balance-meta span:last-child{grid-column:1/-1}.quick-actions{grid-template-columns:repeat(4,1fr);gap:6px}.quick-actions button{min-width:0;min-height:66px;padding:7px 2px;font-size:11px}.account-panel{padding:18px 15px}.practice-account-page .account-summary{grid-template-columns:repeat(3,1fr)}.practice-account-page .account-summary div{min-width:0;min-height:82px;padding:15px 9px;border-right:1px solid #e1e9ed;border-bottom:0}.practice-account-page .account-summary span{font-size:12px}.practice-account-page .account-summary strong{font-size:clamp(14px,4vw,18px);overflow-wrap:anywhere}.transaction-panel{padding:0}.table-heading{padding:18px 16px 2px}.transaction-row{padding:14px 16px;grid-template-columns:34px minmax(0,1fr) auto;gap:8px 10px}.transaction-date{grid-column:1/-1;font-size:12px}.transaction-icon{width:34px;height:34px}.transaction-amount{grid-column:3;grid-row:2;justify-self:end;font-size:14px}.transaction-copy h3{font-size:14px}.transaction-copy p{font-size:12px}.pending-list article{grid-template-columns:minmax(0,1fr) auto}.pending-amount{justify-items:end}.receipt-list article{grid-template-columns:34px minmax(0,1fr)}.receipt-list article>span:last-child{grid-column:2}.mobile-bank-nav{position:fixed;left:0;right:0;bottom:0;z-index:15;min-height:66px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #d6e0e4;box-shadow:0 -8px 28px rgba(18,52,63,.1)}.mobile-bank-nav a,.mobile-bank-nav button{min-width:0;display:grid;place-items:center;gap:3px;color:#5d6c75;background:transparent;border:0;text-decoration:none;font:700 11px Arial}.mobile-bank-nav span{font-size:20px}.mobile-bank-nav .active{color:#176b63}.bank-sheet{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:10px 10px 0 0}.sheet-header{padding:18px 16px 14px}.sheet-header h2{font-size:27px}.sheet-view{padding:18px 16px calc(22px + env(safe-area-inset-bottom))}.form-pair{grid-template-columns:minmax(0,1fr) 108px}.receiving-card dl div{align-items:flex-start;flex-direction:column;gap:5px}.receiving-card dd{text-align:left;overflow-wrap:anywhere}.payment-card{min-height:190px}.payment-card div{gap:58px}.payment-card div b{font-size:18px}.bank-toast{bottom:calc(80px + env(safe-area-inset-bottom))}}
/* Complete browser mobile pass */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}
button,a,input,select{touch-action:manipulation}
@media(max-width:950px){
 .site-header{position:sticky;top:0;z-index:30}
 .header-top{width:100%;padding-inline:16px}
 .main-nav.is-open{max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid var(--line)}
 .nav-inner{gap:2px}
 .nav-inner>button,.nav-inner>button:first-child{padding:0 4px;border-bottom:1px solid #eceff1}
 .mega-menu{max-height:none;padding:22px 0 28px}
 .mega-menu .page-width{width:calc(100% - 40px)}
 .mega-grid{gap:24px 30px}
 .hero{min-height:0}
 .hero-copy{min-height:340px}
 .service-card-copy{padding:24px}
 .feature-copy{padding:48px}
 .touch-inner{flex-wrap:wrap}
 .demo-dialog,.search-dialog{max-height:calc(100dvh - 32px);overflow:auto}
}
@media(max-width:580px){
 .page-width{width:calc(100% - 32px)}
 .header-top{min-height:64px;gap:10px}
 .brand{gap:6px}.brand-eagle{width:28px;height:34px}.brand-wordmark{width:90px}
 .header-links{gap:10px}
 .login-button{display:inline-flex;min-height:38px;padding:7px 12px;font-size:13px}
 .mobile-menu{min-height:42px;padding:8px 2px;font-size:13px}
 .main-nav.is-open{max-height:calc(100dvh - 64px)}
 .nav-inner{padding:8px 16px 18px}
 .nav-inner>button,.nav-inner>button:first-child{min-height:48px}
 .mega-menu{padding:18px 0 24px}
 .mega-menu .page-width{width:calc(100% - 32px)}
 .mega-grid{gap:22px}
 .mega-grid h3{margin-bottom:8px}
 .mega-grid a{margin:0;padding:8px 0;line-height:1.35}
 .hero-image{min-height:62vw}
 .hero-copy{min-height:0}
 .hero-copy-inner{width:calc(100% - 32px);padding:38px 0 42px}
 .hero h1{margin-bottom:25px;font-size:clamp(35px,11vw,42px);overflow-wrap:anywhere}
 .hero-button{width:100%}
 .services{padding-block:48px}
 .section-intro{margin-bottom:28px}
 .section-intro h2,.feature-copy h2,.digital-copy h2,.touch-inner h2{margin-bottom:16px;font-size:31px}
 .section-intro p,.digital-copy p,.feature-copy p{font-size:16px}
 .service-grid{gap:16px}
 .service-card-copy{padding:22px 20px}
 .service-card h3{font-size:24px}
 .experts{padding:0}
 .split-feature>img{min-height:68vw;max-height:360px}
 .feature-copy{padding:34px 20px 40px}
 .feature-copy .primary-button{width:100%}
 .digital{padding:28px 0 46px}
 .digital-grid{gap:14px}
 .device-wrap{min-height:220px}
 .digital-copy{padding-bottom:0}
 .button-row>*{width:100%}
 .information{padding-block:38px}
 .information summary{padding:20px 0;font-size:22px}
 .get-in-touch{padding:42px 0}
 .touch-inner{gap:24px}
 .light-button{width:100%}
 .site-footer{padding-top:44px}
 .footer-main{gap:28px}
 .footer-column a,.footer-column button{min-height:38px;margin:2px 0;display:flex;align-items:center}
 .footer-brand{padding-top:8px}
 .footer-legal{margin-top:32px}
 .demo-dialog,.search-dialog{width:calc(100% - 24px);padding:30px 20px 22px}
 .demo-dialog h2,.search-dialog h2{padding-right:28px;font-size:27px}
 .search-form input,.search-form .primary-button{min-height:48px;width:100%}
 .practice-header{padding-inline:14px}
 .auth-shell{width:calc(100% - 24px);margin:24px auto}
 .auth-panel{padding:26px 18px}
 .auth-copy{margin-bottom:22px}
 .auth-copy h1{font-size:33px}
 .auth-copy p:last-child{font-size:15px}
 .auth-form{gap:8px}
 .auth-form input{width:100%;min-height:50px;font-size:16px}
 .auth-submit{min-height:50px}
}
@media(max-width:390px){
 .header-links{gap:7px}.login-button{padding-inline:9px}.mobile-menu{font-size:0}.mobile-menu span{margin-right:0}
 .practice-brand span:last-child{font-size:13px}
 .account-shell{width:calc(100% - 18px)}
 .balance-card{padding:18px 12px}
 .balance-card strong{font-size:30px}
 .quick-actions{grid-template-columns:repeat(2,1fr)}
 .quick-actions button{min-height:58px;font-size:12px}
 .practice-account-page .account-summary{grid-template-columns:1fr}
 .practice-account-page .account-summary div{min-height:65px;padding:12px 14px;border-right:0;border-bottom:1px solid #e1e9ed}
 .practice-account-page .account-summary div:last-child{border-bottom:0}
 .transaction-row{grid-template-columns:32px minmax(0,1fr)}
 .transaction-amount{grid-column:2;grid-row:3;justify-self:start}
 .pending-list article{grid-template-columns:1fr}.pending-amount{justify-items:start}
 .form-pair{grid-template-columns:1fr}
 .payment-card{min-height:170px;padding:18px}
 .payment-card div{gap:48px}.payment-card div b{font-size:16px}
 .card-setting,.statement-list article{align-items:flex-start;flex-direction:column}
}
@media(max-height:560px) and (max-width:950px){
 .main-nav.is-open{max-height:calc(100dvh - 58px)}
 .bank-sheet{max-height:96dvh}
}
/* Hard overflow guards for narrow mobile browsers */
.header-top>*{min-width:0}
.header-links{min-width:0;flex:0 1 auto}
.hero-copy,.hero-copy-inner,.auth-panel,.auth-form,.account-panel{min-width:0}
.hero h1,.section-intro h2,.feature-copy h2,.digital-copy h2,.touch-inner h2{max-width:100%;overflow-wrap:break-word}
.auth-form input,.auth-form select{min-width:0;max-width:100%}
@media(max-width:580px){
 .header-top .brand{flex:0 1 auto}
 .header-top .brand-wordmark{min-width:0}
 .header-links .login-button{flex:0 0 auto}
 .hero-copy-inner{max-width:calc(100vw - 32px)}
 .auth-shell,.auth-panel{max-width:calc(100vw - 24px)}
}
/* Balance card spacing correction */
.balance-card{justify-content:flex-start}
.balance-meta{margin:18px 0 24px}
.quick-actions{margin-top:auto}
@media(max-width:650px){.balance-meta{margin:16px 0 20px}}