.portal-tool-page,
.lpa-assessment-page {
  min-height: 80vh;
  padding: 180px 7% 110px;
  background: #f4f4f6;
}

.portal-tool-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(300px, .65fr);
  gap: 8vw;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 42px;
  border-bottom: 1px solid #c8c7ce;
}
.portal-tool-heading > div > p,
.lpa-assessment-heading > p:first-child {
  margin: 0 0 14px;
  color: #a78435;
  font-size: 11px;
  letter-spacing: .2em;
}
.portal-tool-heading h1 {
  margin: 0;
  color: #0c0b2d;
  font-size: clamp(2.8rem, 5vw, 5.6rem);
  font-weight: 300;
  letter-spacing: -.04em;
  line-height: .98;
}
.portal-tool-heading > p {
  align-self: end;
  margin: 0;
  color: #55535f;
  font-size: 18px;
  line-height: 1.65;
}
.portal-tool-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 0;
  border-bottom: 1px solid #d5d4d9;
}
.portal-tool-nav a {
  color: #353244;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portal-tool-surface,
.lpa-assessment-surface {
  max-width: 1280px;
  margin: 34px auto 0;
  padding: 34px;
  border-top: 2px solid #b79a54;
  background: #fff;
}
.portal-tool-output > .elementor > .e-con:first-child,
.lpa-assessment-output > .elementor > .e-con:first-child {
  display: none !important;
}
.portal-tool-output .e-con,
.portal-tool-output .e-con-inner,
.portal-tool-output .elementor-widget,
.lpa-assessment-output .e-con,
.lpa-assessment-output .e-con-inner,
.lpa-assessment-output .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.portal-tool-output .si-portal,
.lpa-assessment-output .lpa-flow {
  width: 100%;
  max-width: none;
}
.portal-tool-output .si-portal__message,
.lpa-assessment-output .lpa-flow > p:only-child {
  margin: 0;
  padding: 22px 24px;
  border-left: 3px solid #b79a54;
  background: #f4f4f6;
  color: #55535f;
}
.portal-tool-output .si-portal__message p { margin: 0; color: inherit; }
.portal-tool-output .si-form,
.lpa-assessment-output form { max-width: 760px; }
.portal-tool-output .si-form__field,
.lpa-assessment-output .si-form__field { margin-top: 20px; }
.portal-tool-output label,
.lpa-assessment-output label {
  display: block;
  margin-bottom: 8px;
  color: #24223c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.portal-tool-output input,
.portal-tool-output select,
.portal-tool-output textarea,
.lpa-assessment-output input,
.lpa-assessment-output select,
.lpa-assessment-output textarea {
  width: 100%;
  min-height: 50px;
  padding: 10px 13px;
  border: 1px solid #c8c7ce;
  border-radius: 0;
  background: #fff;
  color: #0c0b2d;
  font: inherit;
}
.portal-tool-output .si-btn,
.portal-tool-output button,
.lpa-assessment-output .si-btn,
.lpa-assessment-output button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #0c0b2d;
  border-radius: 0;
  background: #0c0b2d;
  color: #fff;
  font-size: 12px;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
}
.portal-tool-output .si-table-wrap,
.lpa-assessment-output .si-table-wrap { overflow-x: auto; }
.portal-tool-output table,
.lpa-assessment-output table { width: 100%; border-collapse: collapse; }
.portal-tool-output th,
.lpa-assessment-output th {
  padding: 14px 12px;
  border-bottom: 1px solid #b8b7c0;
  color: #6b6874;
  font-size: 11px;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}
.portal-tool-output td,
.lpa-assessment-output td {
  padding: 17px 12px;
  border-bottom: 1px solid #dedde2;
  color: #27243b;
  font-size: 14px;
  vertical-align: top;
}

/* Table actions are compact controls, not primary calls to action. */
.portal-tool-output table td:last-child .si-btn,
.portal-tool-output table td:last-child button,
.portal-tool-output table td:last-child a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0 8px 0 0;
  padding: 5px;
  border: 0;
  background: transparent !important;
  box-shadow: none;
  color: #2f647e !important;
  line-height: 1;
}
.portal-tool-output table td:last-child .si-btn:hover,
.portal-tool-output table td:last-child button:hover,
.portal-tool-output table td:last-child a:hover {
  background: #eef2f4 !important;
  color: #0c0b2d !important;
}

.account-page {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr);
  min-height: 100vh;
  padding-top: 112px;
  background: #0c0b2d;
}
.account-intro {
  display: flex;
  align-items: center;
  padding: 90px 10vw 90px 7vw;
  color: #fff;
}
.account-intro > div { max-width: 670px; }
.account-intro > div > p:first-child {
  margin: 0 0 22px;
  color: #b79a54;
  font-size: 11px;
  letter-spacing: .2em;
}
.account-intro h1 {
  margin: 0;
  font-size: clamp(3.3rem, 5vw, 6.7rem);
  font-weight: 300;
  letter-spacing: -.045em;
  line-height: .98;
}
.account-intro .account-summary {
  max-width: 590px;
  margin: 34px 0 40px;
  color: #d7d6df;
  font-size: 18px;
  line-height: 1.65;
}
.account-intro a {
  color: #fff;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.account-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 90px 7vw;
  background: #f4f4f6;
}
.account-card {
  width: 100%;
  max-width: 620px;
  padding: 46px;
  border-top: 2px solid #b79a54;
  background: #fff;
  box-shadow: 0 24px 60px rgba(12, 11, 45, .08);
}
.account-card .si-portal,
.account-card .si-login { width: 100%; max-width: none; }
.account-card .si-login h1 {
  margin: 0 0 14px;
  color: #0c0b2d;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.1;
}
.account-card .si-login p,
.account-card .post-password-form p { color: #65636d; line-height: 1.65; }
.account-card .si-form__field { margin-top: 28px; }
.account-card label {
  display: block;
  margin-bottom: 9px;
  color: #24223c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.account-card input[type="email"],
.account-card input[type="password"] {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid #c8c7ce;
  border-radius: 0;
  background: #fff;
  font: inherit;
}
.account-card .si-btn,
.account-card input[type="submit"] {
  min-height: 50px;
  margin-top: 24px;
  padding: 0 22px;
  border: 0;
  border-radius: 0;
  background: #0c0b2d;
  color: #fff;
  font-size: 12px;
  letter-spacing: .08em;
}
.account-card .si-login__forgot { margin-top: 22px; font-size: 13px; }

.lpa-assessment-heading {
  max-width: 1050px;
  margin: 0 auto;
  text-align: center;
}
.lpa-assessment-heading h1 {
  margin: 0;
  color: #0c0b2d;
  font-size: clamp(3rem, 5vw, 6.2rem);
  font-weight: 300;
  letter-spacing: -.04em;
  line-height: 1;
}
.lpa-assessment-heading > p:last-child {
  max-width: 760px;
  margin: 28px auto 0;
  color: #55535f;
  font-size: 18px;
  line-height: 1.65;
}

.privacy-page {
  min-height: 80vh;
  padding: 180px 7% 110px;
  background: #f4f4f6;
  color: #0c0b2d;
}
.privacy-hero,
.privacy-content { max-width: 1040px; margin: 0 auto; }
.privacy-hero {
  padding-bottom: 52px;
  border-bottom: 1px solid #c8c7ce;
}
.privacy-hero > p:first-child {
  margin: 0 0 18px;
  color: #a78435;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.privacy-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(3.1rem, 5.5vw, 6.4rem);
  font-weight: 300;
  letter-spacing: -.045em;
  line-height: .98;
}
.privacy-hero > p:last-child {
  max-width: 720px;
  margin: 28px 0 0;
  color: #55535f;
  font-size: 18px;
  line-height: 1.65;
}
.privacy-content { padding-top: 34px; }
.privacy-content section {
  display: grid;
  grid-template-columns: minmax(190px, .35fr) minmax(0, 1fr);
  gap: 7%;
  padding: 40px 0;
  border-bottom: 1px solid #d5d4d9;
}
.privacy-content h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
}
.privacy-copy p,
.privacy-copy li {
  color: #55535f;
  font-size: 16px;
  line-height: 1.72;
}
.privacy-copy p { margin: 0 0 18px; }
.privacy-copy ul { margin: 0 0 18px; padding-left: 20px; }
.privacy-copy li + li { margin-top: 8px; }
.privacy-copy a { color: #0c0b2d; text-decoration: underline; text-underline-offset: 3px; }
.privacy-copy strong { color: #24223c; font-weight: 600; }
.privacy-updated { font-size: 13px !important; }

.page-id-3 .cal-wp-content { max-width: 920px; }
.page-id-3 .cal-wp-content h2 { margin-top: 44px; font-size: 30px; font-weight: 400; }

@media (max-width: 820px) {
  .portal-tool-page,
  .lpa-assessment-page { padding: 145px 6% 75px; }
  .privacy-page { padding: 145px 8% 75px; }
  .privacy-content section { display: block; padding: 32px 0; }
  .privacy-content h2 { margin-bottom: 20px; }
  .portal-tool-heading { grid-template-columns: 1fr; gap: 22px; }
  .portal-tool-heading > p { align-self: auto; }
  .portal-tool-surface,
  .lpa-assessment-surface { padding: 22px; }
  .account-page { grid-template-columns: 1fr; padding-top: 112px; }
  .account-intro { padding: 75px 8%; }
  .account-panel { padding: 55px 8%; }
  .account-card { padding: 30px; }
}
