
/* v437G — FEES PAGE TRUE CLEANUP / final override.
   This file is intentionally loaded LAST on fees.html.
   It does not add another soft global rail; it force-cleans the Fees page only. */

body.fees-page{
  --fees-final-rail: 1280px;
  --fees-final-gutter: clamp(28px, 4vw, 56px);
  --fees-final-gap: clamp(24px, 3vw, 42px);
  --fees-final-card-radius: 28px;
  background:#fff !important;
}

/* 1) Remove the decorative layers that were making the page LOOK off-axis.
   The previous diagonal waves and landmark background created false left/right weight. */
body.fees-page main .section::before,
body.fees-page main .section::after,
body.fees-page .fees-check-section .container.grid.two > :first-child::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
}

body.fees-page main .section{
  overflow:visible !important;
  isolation:auto !important;
}

/* 2) One real page rail for every Fees section. */
body.fees-page .fees-hero > .container,
body.fees-page main > .section > .container,
body.fees-page .fees-check-section > .container,
body.fees-page footer > .container,
body.fees-page .footer-grid{
  width:min(calc(100% - (var(--fees-final-gutter) * 2)), var(--fees-final-rail)) !important;
  max-width:var(--fees-final-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* 3) Clean section rhythm. No more huge uneven gap between fee checker and tables. */
body.fees-page main > .section{
  padding-top:clamp(48px, 5vw, 72px) !important;
  padding-bottom:clamp(48px, 5vw, 72px) !important;
}

body.fees-page .fees-check-section{
  padding-top:clamp(56px, 5vw, 78px) !important;
  padding-bottom:clamp(50px, 4.8vw, 70px) !important;
}

body.fees-page .fees-check-section + .section{
  padding-top:clamp(44px, 4vw, 60px) !important;
}

/* 4) Fee checker becomes one balanced panel, not one loose text block + one drifting card. */
body.fees-page .fees-check-section > .container.grid.two{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:var(--fees-final-gap) !important;
  align-items:stretch !important;
  width:min(calc(100% - (var(--fees-final-gutter) * 2)), var(--fees-final-rail)) !important;
  max-width:var(--fees-final-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(26px, 3vw, 42px) !important;
  border:1px solid rgba(203,213,225,.9) !important;
  border-radius:32px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.07) !important;
  box-sizing:border-box !important;
}

/* Left copy column is now visually the same height/weight as the form. */
body.fees-page .fees-check-section > .container.grid.two > div:first-child{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  padding:clamp(12px, 1.6vw, 22px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}

body.fees-page .fees-check-section .eyebrow,
body.fees-page main > .section > .container > .eyebrow{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

body.fees-page .fees-check-section h2{
  max-width:560px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  font-size:clamp(36px, 3.8vw, 54px) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

body.fees-page .fees-check-section p.muted,
body.fees-page .fees-check-section p.small{
  max-width:560px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Right form card: same rail, no drifting to far right. */
body.fees-page .fees-check-section .fee-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  align-self:stretch !important;
  padding:clamp(24px, 2.6vw, 36px) !important;
  border-radius:26px !important;
  box-shadow:0 18px 48px rgba(15,23,42,.08) !important;
  box-sizing:border-box !important;
}

body.fees-page .fees-check-section .fee-card h2{
  max-width:none !important;
  font-size:clamp(30px, 3vw, 44px) !important;
}

/* 5) All table sections: identical heading rail + identical table card width. */
body.fees-page main > .section:not(.fees-check-section) > .container > h2{
  max-width:900px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
  font-size:clamp(34px, 3.2vw, 52px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body.fees-page main > .section:not(.fees-check-section) > .container > p.muted,
body.fees-page main > .section:not(.fees-check-section) > .container > .section-lead{
  max-width:980px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* The table itself must not define a new wider rail. */
body.fees-page .urgent-table-wrap{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) auto 0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  box-shadow:0 18px 48px rgba(15,23,42,.055) !important;
}

body.fees-page .fees-table,
body.fees-page .urgent-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}

body.fees-page .fees-table th,
body.fees-page .fees-table td{
  padding:20px 22px !important;
  vertical-align:top !important;
}

body.fees-page .fees-table th:nth-child(1),
body.fees-page .fees-table td:nth-child(1){ width:24% !important; }

body.fees-page .fees-table th:nth-child(2),
body.fees-page .fees-table td:nth-child(2){ width:27% !important; }

body.fees-page .fees-table th:nth-child(3),
body.fees-page .fees-table td:nth-child(3){ width:18% !important; }

body.fees-page .fees-table th:nth-child(4),
body.fees-page .fees-table td:nth-child(4){ width:31% !important; }

/* 6) Trust grid / examples / CTA use the same rail and no alternate island width. */
body.fees-page .fees-trust-section .trust-grid{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

body.fees-page .fees-trust-section .trust-card{
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  padding:22px !important;
  border-radius:22px !important;
  box-sizing:border-box !important;
}

body.fees-page .fees-example-grid{
  width:min(calc(100% - (var(--fees-final-gutter) * 2)), var(--fees-final-rail)) !important;
  max-width:var(--fees-final-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:var(--fees-final-gap) !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
}

body.fees-page .fees-example-grid > *{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.fees-page .private-service-bottom-note{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.fees-page .section > .container .hero-actions{
  justify-content:flex-start !important;
}

/* 7) Responsive. */
@media (max-width: 1100px){
  body.fees-page{
    --fees-final-gutter:clamp(22px, 5vw, 42px);
  }

  body.fees-page .fees-check-section > .container.grid.two,
  body.fees-page .fees-example-grid{
    grid-template-columns:1fr !important;
  }

  body.fees-page .fees-trust-section .trust-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  body.fees-page .fees-table{
    table-layout:auto !important;
  }
}

@media (max-width: 720px){
  body.fees-page{
    --fees-final-gutter:18px;
  }

  body.fees-page .fees-check-section > .container.grid.two{
    padding:18px !important;
    border-radius:24px !important;
  }

  body.fees-page .fees-check-section .fee-card{
    padding:20px !important;
    border-radius:20px !important;
  }

  body.fees-page .fees-trust-section .trust-grid{
    grid-template-columns:1fr !important;
  }

  body.fees-page .urgent-table-wrap{
    overflow-x:auto !important;
  }
}
