/* R18 symmetry + centering correction. Deliberately narrow override layer. */
@media screen {
  /* Homepage hero: center the complete visual group on the page axis. */
  .atb-home-hero .atb-home-hero-inner {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .atb-home-hero .atb-home-kicker,
  .atb-home-hero h1,
  .atb-home-hero .subtitle {
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  .atb-home-hero h1 { max-width:820px !important; }
  .atb-home-hero .subtitle { max-width:980px !important; }
  .atb-home-hero .hero-ctas.atb-paired-ctas {
    width:min(100%, 620px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.8rem !important;
    justify-content:center !important;
    align-items:stretch !important;
  }
  .atb-home-hero .hero-ctas.atb-paired-ctas > a {
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Desktop dropdowns: menu centered under parent; every item shares the same center axis. */
  @media (min-width:901px) {
    .site-header .nav-list > li { position:relative !important; }
    .site-header .dropdown-menu {
      left:50% !important;
      right:auto !important;
      transform:translateX(-50%) !important;
      min-width:250px !important;
      width:max-content !important;
      max-width:310px !important;
    }
    .site-header .dropdown-menu a {
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      width:100% !important;
      min-height:46px !important;
      padding:.58rem 1rem !important;
      text-align:center !important;
      line-height:1.35 !important;
      white-space:normal !important;
      box-sizing:border-box !important;
    }
  }

  /* Content cards: a centered two-column composition with no orphan card hanging left. */
  #main .section > .container {
    width:min(calc(100% - 48px), 1400px) !important;
    max-width:1400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #main .content-wrap {
    width:100% !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1.1rem !important;
    align-items:start !important;
    justify-items:stretch !important;
  }
  #main .atb-content-card {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    align-self:start !important;
    margin:0 !important;
    padding:1.25rem 1.4rem 1.35rem !important;
    border:1px solid rgba(138,101,0,.26) !important;
    border-top:4px solid #d4a32f !important;
    border-radius:14px !important;
    background:#fffdf7 !important;
    box-shadow:0 6px 18px rgba(0,61,24,.075) !important;
    box-sizing:border-box !important;
  }
  #main .atb-content-card.atb-card-wide {
    grid-column:1 / -1 !important;
    width:100% !important;
  }
  /* If the final normal card is alone, center it instead of leaving a blank right column. */
  #main .content-wrap > .atb-content-card:not(.atb-card-wide):last-child:nth-child(odd) {
    grid-column:1 / -1 !important;
    width:min(100%, 650px) !important;
    justify-self:center !important;
  }
  #main .atb-content-card > h2 {
    margin:0 0 .75rem !important;
    padding:0 0 .5rem !important;
    text-align:center !important;
    border-bottom:1px solid rgba(138,101,0,.17) !important;
  }
  #main .atb-content-card > p,
  #main .atb-content-card > ul,
  #main .atb-content-card > ol {
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #main .atb-content-card.atb-card-wide > p,
  #main .atb-content-card.atb-card-wide > ul,
  #main .atb-content-card.atb-card-wide > ol { max-width:1080px !important; }

  /* Information/compliance banners hug their content rather than spanning empty space. */
  #main .compliance-banner {
    display:block !important;
    width:fit-content !important;
    max-width:min(960px, calc(100% - 48px)) !important;
    margin:0 auto 1.25rem !important;
    padding:.8rem 1.05rem !important;
    box-sizing:border-box !important;
  }
}

@media screen and (max-width:900px) {
  .atb-home-hero .hero-ctas.atb-paired-ctas {
    width:min(100%, 560px) !important;
    grid-template-columns:1fr 1fr !important;
  }
  #main .section > .container { width:min(calc(100% - 28px), 860px) !important; }
  #main .content-wrap { grid-template-columns:1fr !important; max-width:760px !important; gap:.9rem !important; }
  #main .atb-content-card,
  #main .atb-content-card.atb-card-wide,
  #main .content-wrap > .atb-content-card:not(.atb-card-wide):last-child:nth-child(odd) {
    grid-column:auto !important;
    width:100% !important;
    max-width:760px !important;
    justify-self:stretch !important;
  }
}

@media screen and (max-width:520px) {
  .atb-home-hero .hero-ctas.atb-paired-ctas {
    width:100% !important;
    grid-template-columns:1fr 1fr !important;
    gap:.55rem !important;
  }
  .atb-home-hero .hero-ctas.atb-paired-ctas > a {
    padding:.8rem .45rem !important;
    font-size:16px !important;
  }
  #main .section > .container { width:calc(100% - 18px) !important; }
  #main .atb-content-card { padding:1rem .9rem 1.05rem !important; border-radius:11px !important; }
  #main .compliance-banner { max-width:calc(100% - 18px) !important; }
}
