
/* v439G — Fees viewport-centered rail hard fix.
   Root cause: subpage content was centering inside a narrower/overflowed document canvas,
   not inside the visible viewport. At browser zoom-out it appeared to hug the left side.
   This version anchors the Fees page rail to 100vw, like a true viewport-centered canvas. */

html:has(body.fees-page),
body.fees-page{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  overflow-x:clip !important;
}

@supports not (overflow: clip){
  html:has(body.fees-page),
  body.fees-page{
    overflow-x:hidden !important;
  }
}

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

/* Full-width page bands should fill the visible viewport, not an old off-axis canvas. */
body.fees-page .topbar,
body.fees-page .fees-hero,
body.fees-page main,
body.fees-page footer{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow-x:clip !important;
  box-sizing:border-box !important;
}

@supports not (overflow: clip){
  body.fees-page .topbar,
  body.fees-page .fees-hero,
  body.fees-page main,
  body.fees-page footer{
    overflow-x:hidden !important;
  }
}

/* Viewport-based rail. This does NOT depend on parent/document scrollWidth. */
body.fees-page .fees-hero > .container,
body.fees-page .fees-main-rail-v438G,
body.fees-page footer > .container,
body.fees-page .footer-grid{
  width:min(calc(100vw - (var(--fees-vp-gutter) * 2)), var(--fees-vp-rail)) !important;
  max-width:var(--fees-vp-rail) !important;
  margin-left:max(var(--fees-vp-gutter), calc((100vw - var(--fees-vp-rail)) / 2)) !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
}

/* Inside the rail, every section uses 100% of the same rail. */
body.fees-page .fees-main-rail-v438G > .section,
body.fees-page .fees-main-rail-v438G > .section > .container,
body.fees-page .fees-main-rail-v438G .fees-check-section > .container,
body.fees-page .fees-main-rail-v438G .fees-example-grid{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Remove decorative pseudo-elements that visually pull the page off-axis. */
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;
  background:none !important;
  opacity:0 !important;
}

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

/* Fees checker as one centered balanced panel. */
body.fees-page .fees-main-rail-v438G .fees-check-section{
  padding-top:clamp(56px, 5vw, 78px) !important;
  padding-bottom:clamp(48px, 4.8vw, 68px) !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:var(--fees-vp-gap) !important;
  align-items:stretch !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;
}

body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:clamp(12px, 1.6vw, 22px) !important;
  max-width:none !important;
  min-height:0 !important;
}

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

body.fees-page .fees-main-rail-v438G .fees-check-section p.muted,
body.fees-page .fees-main-rail-v438G .fees-check-section p.small{
  max-width:560px !important;
}

body.fees-page .fees-main-rail-v438G .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-sizing:border-box !important;
}

/* Lower sections: same rail, same rhythm. */
body.fees-page .fees-main-rail-v438G > .section:not(.fees-check-section){
  padding-top:clamp(46px, 4.8vw, 68px) !important;
  padding-bottom:clamp(46px, 4.8vw, 68px) !important;
}

body.fees-page .fees-main-rail-v438G > .section > .container > .eyebrow,
body.fees-page .fees-main-rail-v438G > .section > .container > h2,
body.fees-page .fees-main-rail-v438G > .section > .container > p.muted,
body.fees-page .fees-main-rail-v438G > .section > .container > .section-lead{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

body.fees-page .fees-main-rail-v438G > .section > .container > h2{
  max-width:900px !important;
  font-size:clamp(34px, 3.2vw, 52px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body.fees-page .fees-main-rail-v438G > .section > .container > p.muted,
body.fees-page .fees-main-rail-v438G > .section > .container > .section-lead{
  max-width:980px !important;
}

body.fees-page .fees-main-rail-v438G .urgent-table-wrap{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) 0 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-main-rail-v438G .fees-table,
body.fees-page .fees-main-rail-v438G .urgent-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}

body.fees-page .fees-main-rail-v438G .fees-trust-section .trust-grid{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) 0 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:20px !important;
}

body.fees-page .fees-main-rail-v438G .fees-example-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:var(--fees-vp-gap) !important;
}

@media (max-width:1100px){
  body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two,
  body.fees-page .fees-main-rail-v438G .fees-example-grid{
    grid-template-columns:1fr !important;
  }

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

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

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

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