/* AO Psychology & Counselling V182 — gap and alignment consistency.
   Scoped fixes based on source audit of all 41 deployed pages.
   Policy/information families: remove excessive legacy vertical whitespace.
   Thirteen in-page rails: distribute navigation across desktop/tablet width.
   Services: bring one older 90px help section into approved 60–65px rhythm.
   Preserve visual palettes, cards, critical content, mobile rail patterns and CTAs. */

/* Eight policy / information pages only */
@media (min-width: 1101px) {
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section {
   padding-top:56px !important;
   padding-bottom:58px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.detail-hero {
   padding-top:64px !important;
   padding-bottom:50px !important;
 }
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-heading {
  margin-bottom:24px !important;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-heading h2 {
  font-size:clamp(28px,2.8vw,40px) !important;
  line-height:1.21 !important;
  margin:10px 0 13px !important;
  text-wrap:balance;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-grid {
  gap:15px !important;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-tile {
  box-sizing:border-box;
  min-height:0 !important;
  padding:23px 23px 24px !important;
  border-radius:10px;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-tile h3 {
  margin:17px 0 10px !important;
  line-height:1.35 !important;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section :is(.ao-route-content,.ao-route-heading) > p {
  line-height:1.72;
}
body.ao63-white-site main#main-content.ao182-policy-rhythm > section.detail-hero h1 {
  font-size:clamp(36px,3.5vw,50px) !important;
  line-height:1.16 !important;
  margin:14px 0 17px !important;
  text-wrap:balance;
}
@media (min-width: 701px) and (max-width: 1100px) {
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section {
   padding-top:43px !important;
   padding-bottom:45px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.detail-hero {
   padding-top:47px !important;
   padding-bottom:42px !important;
 }
}

/* Shared in-page rail, 13 pages: balanced full-width desktop navigation */
@media (min-width: 1101px) {
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced {
   padding:13px 0 !important;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced > .a45-wrap {
   box-sizing:border-box;
   width:min(1200px,calc(100% - 76px)) !important;
   max-width:1200px !important;
   min-width:0 !important;
   display:grid !important;
   grid-template-columns:auto minmax(0,1fr) !important;
   gap:clamp(18px,2.3vw,31px) !important;
   align-items:center !important;
   margin-inline:auto !important;
   padding:0 !important;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced .a45-local-title {
   white-space:nowrap;
   margin:0;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced .a45-local-links {
   box-sizing:border-box;
   min-width:0 !important;
   width:100% !important;
   max-width:100% !important;
   display:flex !important;
   flex-wrap:nowrap !important;
   align-items:stretch !important;
   justify-content:space-between !important;
   gap:9px !important;
   padding:0 !important;
   overflow:visible !important;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced .a45-local-links > a {
   box-sizing:border-box;
   flex:1 1 0 !important;
   width:auto !important;
   min-width:0 !important;
   max-width:none !important;
   min-height:43px !important;
   display:flex !important;
   align-items:center !important;
   justify-content:center !important;
   gap:6px;
   text-align:center !important;
   white-space:normal !important;
   overflow-wrap:break-word;
   padding:9px 10px !important;
 }
}
/* Medium screens: wrap rails into balanced, legible cells, not a left cluster. */
@media (min-width: 761px) and (max-width: 1100px) {
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced > .a45-wrap {
   width:calc(100% - 50px) !important;
   max-width:1200px !important;
   display:flex !important;
   flex-direction:column !important;
   align-items:stretch !important;
   gap:11px !important;
   padding:0 !important;
   margin:0 auto !important;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced .a45-local-links {
   box-sizing:border-box;
   display:grid !important;
   grid-template-columns:repeat(auto-fit,minmax(145px,1fr)) !important;
   align-items:stretch !important;
   gap:9px !important;
   padding:0 !important;
   width:100% !important;
   max-width:100% !important;
   overflow:visible !important;
 }
 body.ao63-white-site main#main-content nav.a45-local-nav.ao182-rail-balanced .a45-local-links > a {
   box-sizing:border-box;
   display:flex !important;
   width:100% !important;
   max-width:100% !important;
   min-height:43px !important;
   align-items:center !important;
   justify-content:space-between !important;
   white-space:normal !important;
   padding:9px 12px !important;
   text-align:left !important;
 }
}

/* Shorter vertical rhythm on phones for policy pages; preserve 17px gutters */
@media (max-width: 700px) {
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section {
   padding-top:34px !important;
   padding-bottom:35px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.detail-hero {
   padding-top:35px !important;
   padding-bottom:32px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-heading {
   margin-bottom:18px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-heading h2 {
   font-size:clamp(26px,7vw,34px) !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.ao-route-section .ao-route-tile {
   padding:20px 19px 21px !important;
 }
 body.ao63-white-site main#main-content.ao182-policy-rhythm > section.detail-hero h1 {
   font-size:clamp(31px,8vw,39px) !important;
 }
}

/* Services page: legacy 90px support/help section now matches its neighbours */
@media (min-width: 901px) {
 body.ao63-white-site main#main-content.a60-services > section.a45-help {
   padding-top:63px !important;
   padding-bottom:65px !important;
 }
}
@media (min-width: 701px) and (max-width: 900px) {
 body.ao63-white-site main#main-content.a60-services > section.a45-help {
   padding-top:50px !important;
   padding-bottom:52px !important;
 }
}
@media (max-width: 700px) {
 body.ao63-white-site main#main-content.a60-services > section.a45-help {
   padding-top:41px !important;
   padding-bottom:43px !important;
 }
}