/* AO Psychology & Counselling / V157
   Compact, accessible clinical footer; exact approved logo, content and colours retained.
   Intent: correct excessive 1360px width, oversized whitespace, widely spaced navigation
   and over-separated legal/trust rows. Applies to all 41 pages; development status preserved.
*/
body.ao63-white-site footer.ao108-footer { background:#102b3f; color:#fff; }
body.ao63-white-site footer.ao108-footer .ao108-shell,
body.ao63-white-site footer.ao108-footer .ao108-preview-note {
  box-sizing:border-box; width:min(1200px,calc(100% - 76px)); max-width:1200px; margin-inline:auto;
}
body.ao63-white-site footer.ao108-footer .ao108-main {
  display:grid; grid-template-columns:minmax(255px,315px) minmax(0,1fr);
  align-items:start; gap:clamp(34px,4.3vw,65px);
  padding:43px 0 34px; border-top:2px solid #00b3c4;
}
body.ao63-white-site footer.ao108-footer .ao108-brand { width:100%; max-width:315px; }
body.ao63-white-site footer.ao108-footer .ao108-brandmark { width:227px; height:72px; min-height:0; margin:0; }
body.ao63-white-site footer.ao108-footer .ao108-brandline {
  font:750 clamp(18px,1.45vw,20px)/1.32 Manrope,"DM Sans",Arial,sans-serif;
  letter-spacing:-.028em; max-width:315px; margin:11px 0 9px; color:#fff;
}
body.ao63-white-site footer.ao108-footer .ao108-description {
  font:400 12.4px/1.65 "DM Sans",Arial,sans-serif; max-width:305px; color:#bbd0da; margin:0;
}
body.ao63-white-site footer.ao108-footer .ao108-meta {
  gap:7px 11px; margin-top:14px; font:500 11px/1.5 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-meta span+span::before { margin-right:11px; }
body.ao63-white-site footer.ao108-footer .ao108-navs {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:clamp(19px,2.2vw,31px); row-gap:24px; padding-top:7px;
}
body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 {
  color:#61d9df; font:750 11px/1.5 "DM Sans",Arial,sans-serif;
  letter-spacing:.095em; margin:0 0 16px; text-transform:uppercase;
}
body.ao63-white-site footer.ao108-footer .ao108-link-list a {
  display:block; width:fit-content; max-width:100%; min-width:0; 
  font:500 13px/1.48 "DM Sans",Arial,sans-serif; color:#d7e7ed;
  margin:0 0 11px; overflow-wrap:break-word;
}
body.ao63-white-site footer.ao108-footer .ao108-link-list a:last-child { margin-bottom:0; }
body.ao63-white-site footer.ao108-footer .ao108-trust {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:15px 22px; padding:15px 0;
  border-top:1px solid #35576a; border-bottom:1px solid #35576a;
}
body.ao63-white-site footer.ao108-footer .ao108-aca { gap:12px; }
body.ao63-white-site footer.ao108-footer .ao108-aca-mark {
  flex:none; width:94px; height:42px; padding:6px; border-radius:5px;
}
body.ao63-white-site footer.ao108-footer .ao108-aca-copy strong {
  font:750 12px/1.45 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-aca-copy span {
  font:400 11px/1.4 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-ndis {
  margin:0 0 0 auto; font:500 11px/1.4 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-crisis {
  font:650 11.8px/1.5 "DM Sans",Arial,sans-serif;
  padding:9px 13px; border-radius:6px; white-space:normal;
}
body.ao63-white-site footer.ao108-footer .ao108-crisis span { padding-left:7px; }
body.ao63-white-site footer.ao108-footer .ao108-bottom {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:20px; padding:17px 0 20px;
}
body.ao63-white-site footer.ao108-footer .ao108-copyright {
  font:400 11px/1.5 "DM Sans",Arial,sans-serif; white-space:normal;
}
body.ao63-white-site footer.ao108-footer .ao108-legal {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; width:auto; gap:7px 14px;
}
body.ao63-white-site footer.ao108-footer .ao108-legal a,
body.ao63-white-site footer.ao108-footer .ao108-back {
  font:400 11px/1.5 "DM Sans",Arial,sans-serif; color:#bfd3dc; white-space:nowrap;
}
body.ao63-white-site footer.ao108-footer .ao108-preview-band {
  background:#0e2638; border-top:1px solid #234357;
}
body.ao63-white-site footer.ao108-footer .ao108-preview-note {
  padding:10px 0; color:#a3c3cd; font:400 10.4px/1.55 "DM Sans",Arial,sans-serif;
}
@media(max-width:1120px) {
  body.ao63-white-site footer.ao108-footer .ao108-main {
    grid-template-columns:minmax(230px,285px) minmax(0,1fr); gap:28px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navs { column-gap:15px; }
  body.ao63-white-site footer.ao108-footer .ao108-bottom {
    grid-template-columns:minmax(0,1fr) auto; gap:10px 20px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-legal {
    grid-column:1/-1; grid-row:2; justify-content:flex-start;
  }
}
@media(max-width:900px) {
  body.ao63-white-site footer.ao108-footer .ao108-shell,
  body.ao63-white-site footer.ao108-footer .ao108-preview-note {
    width:calc(100% - 56px);
  }
  body.ao63-white-site footer.ao108-footer .ao108-main {
    grid-template-columns:minmax(0,1fr); gap:30px; padding:37px 0 28px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-brand { max-width:500px; }
  body.ao63-white-site footer.ao108-footer .ao108-brandline { max-width:490px; }
  body.ao63-white-site footer.ao108-footer .ao108-navs { column-gap:32px; }
}
@media(max-width:620px) {
  body.ao63-white-site footer.ao108-footer .ao108-shell,
  body.ao63-white-site footer.ao108-footer .ao108-preview-note {
    width:calc(100% - 36px);
  }
  body.ao63-white-site footer.ao108-footer .ao108-main { padding:31px 0 25px; gap:25px; }
  body.ao63-white-site footer.ao108-footer .ao108-brandmark { width:217px; height:70px; }
  body.ao63-white-site footer.ao108-footer .ao108-brandline { font-size:20px; max-width:345px; }
  body.ao63-white-site footer.ao108-footer .ao108-description { font-size:12px; }
  body.ao63-white-site footer.ao108-footer .ao108-navs {
    grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:19px; row-gap:25px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child { grid-column:1/-1; }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child .ao108-link-list {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 { margin:0 0 12px; font-size:11px; }
  body.ao63-white-site footer.ao108-footer .ao108-link-list a { font-size:12.6px; margin:0 0 10px; }
  body.ao63-white-site footer.ao108-footer .ao108-trust { gap:14px; padding:16px 0; }
  body.ao63-white-site footer.ao108-footer .ao108-ndis { margin:0; width:100%; }
  body.ao63-white-site footer.ao108-footer .ao108-crisis { width:100%; text-align:center; }
  body.ao63-white-site footer.ao108-footer .ao108-bottom {
    display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-legal { width:100%; justify-content:flex-start; gap:8px 15px; }
  body.ao63-white-site footer.ao108-footer .ao108-preview-note { font-size:10px; line-height:1.55; }
}
@media(max-width:360px) {
  body.ao63-white-site footer.ao108-footer .ao108-navs { grid-template-columns:minmax(0,1fr); }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child { grid-column:auto; }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child .ao108-link-list {
    grid-template-columns:minmax(0,1fr);
  }
}

/* AO FOOTER V158 — intentionally narrower centred layout.
   This changes footer width/spacing only; all existing links, images and trust notices remain.
   Base site content grid stays unchanged.
*/
body.ao63-white-site footer.ao108-footer .ao108-shell,
body.ao63-white-site footer.ao108-footer .ao108-preview-note {
  box-sizing:border-box;
  width:min(1000px,calc(100% - 64px));
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
@media(min-width:901px) {
  body.ao63-white-site footer.ao108-footer .ao108-main {
    grid-template-columns:minmax(0,264px) minmax(0,1fr);
    column-gap:27px;
    padding-top:32px;
    padding-bottom:27px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-brand {
    max-width:264px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-brandline {
    font-size:18.5px;
    max-width:264px;
    margin-top:10px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-description {
    max-width:260px;
    font-size:12.2px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navs {
    column-gap:18px;
    padding-top:5px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 {
    margin-bottom:13px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-link-list a {
    font-size:12.7px;
    margin-bottom:10px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-trust {
    gap:12px 16px;
    padding:13px 0;
  }
  body.ao63-white-site footer.ao108-footer .ao108-bottom {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:9px 18px;
    padding:16px 0 19px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-legal {
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start;
    width:auto;
    gap:8px 17px;
  }
}
@media(min-width:901px) and (max-width:1040px) {
  body.ao63-white-site footer.ao108-footer .ao108-main {
    grid-template-columns:minmax(0,225px) minmax(0,1fr);
    column-gap:20px;
  }
  body.ao63-white-site footer.ao108-footer .ao108-navs {
    column-gap:12px;
  }
}
@media(max-width:900px) {
  body.ao63-white-site footer.ao108-footer .ao108-shell,
  body.ao63-white-site footer.ao108-footer .ao108-preview-note {
    width:calc(100% - 56px);
    max-width:680px;
  }
}
@media(max-width:620px) {
  body.ao63-white-site footer.ao108-footer .ao108-shell,
  body.ao63-white-site footer.ao108-footer .ao108-preview-note {
    width:calc(100% - 36px);
    max-width:520px;
  }
}


/* AO FOOTER V159 — shorter visual rhythm and improved type without reducing legibility.
   Preserve all links, approved brand, registration notice, policies, privacy and preview message. */
@media(min-width:901px) {
 body.ao63-white-site footer.ao108-footer .ao108-main {
   align-items:start; padding-top:25px; padding-bottom:22px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-brandmark {
   height:61px; width:208px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-brandline {
   font-size:18px; line-height:1.3;
   margin:8px 0 6px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-description {
   line-height:1.55;
 }
 body.ao63-white-site footer.ao108-footer .ao108-meta {
   margin-top:10px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navs { padding-top:3px; }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 {
   font-size:11px; line-height:1.45; margin-bottom:10px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-link-list a {
   font-size:12.8px; line-height:1.52; margin-bottom:7px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-trust {
   padding:11px 0; gap:12px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-aca-mark {
   width:88px; height:39px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-crisis {
   padding:7px 10px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   padding:13px 0 15px; gap:7px 15px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-legal {
   gap:6px 16px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-preview-note {
   padding:9px 0;
 }
}
@media(max-width:900px) {
 body.ao63-white-site footer.ao108-footer .ao108-main {
   padding-top:30px; padding-bottom:24px; gap:24px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-brandline {
   margin:9px 0 7px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-meta {
   margin-top:10px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 {
   margin-bottom:10px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-link-list a {
   margin-bottom:8px; line-height:1.56;
 }
 body.ao63-white-site footer.ao108-footer .ao108-trust {
   padding:12px 0;
 }
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   padding-top:13px; padding-bottom:15px;
 }
}


/* AO FOOTER V160 — compact Acknowledgement of Country.
   Torres Strait Islander Flag is intentionally NOT reproduced pending written copyright permission.
   Keep approved V159 dark footer, navigation, crisis links, brand and development notice unchanged. */
body.ao63-white-site footer.ao108-footer .ao160-country {
  width:100%; box-sizing:border-box; background:#EAF4F6; color:#102b3f;
  border-top:1px solid #D4E4E9; border-bottom:1px solid #D4E4E9;
}
body.ao63-white-site footer.ao108-footer .ao160-country-inner {
  width:min(1000px,calc(100% - 64px)); max-width:1000px; box-sizing:border-box;
  margin-inline:auto; display:grid; grid-template-columns:200px minmax(0,1fr);
  align-items:center; column-gap:27px; padding:14px 0;
}
body.ao63-white-site footer.ao108-footer .ao160-country h2 {
  font:750 11.5px/1.45 "DM Sans",Arial,sans-serif; color:#102b3f;
  letter-spacing:.005em; text-transform:none; margin:0;
}
body.ao63-white-site footer.ao108-footer .ao160-country p {
  font:400 12.2px/1.58 "DM Sans",Arial,sans-serif; color:#385164;
  margin:0; max-width:770px;
}
@media(max-width:900px) {
  body.ao63-white-site footer.ao108-footer .ao160-country-inner {
    width:calc(100% - 56px); max-width:680px; grid-template-columns:155px minmax(0,1fr);
    gap:20px; padding:13px 0;
  }
}
@media(max-width:620px) {
  body.ao63-white-site footer.ao108-footer .ao160-country-inner {
    width:calc(100% - 36px); max-width:520px; display:block; padding:14px 0 15px;
  }
  body.ao63-white-site footer.ao108-footer .ao160-country h2 {
    font-size:11.4px; margin:0 0 5px;
  }
  body.ao63-white-site footer.ao108-footer .ao160-country p {
    font-size:12px; line-height:1.55;
  }
}


/* AO FOOTER V165 — remove redundant ACA/NDIS/crisis support trust strip.
   ACA registration remains discreetly in brand copy; crisis help remains in Information nav.
   Keep V163 navigation, V164 Acknowledgement and launch restrictions untouched. */
body.ao63-white-site footer.ao108-footer .ao165-credential {
  margin:9px 0 0; color:#bfd3dc; font:600 11px/1.5 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-bottom {
  border-top:1px solid #35576a;
}


/* AO FOOTER V166 — intentionally harmonious, compact proportions.
   1000px shared grid aligned with Country strip; three evenly populated link columns.
   All service, resource, policy, crisis and launch notice destinations preserved.
   Redundant footer description removed from HTML; approved homepage slogan retained. */
body.ao63-white-site footer.ao108-footer .ao108-main {
  display:grid; grid-template-columns:minmax(0,235px) minmax(0,1fr);
  align-items:start; column-gap:30px; row-gap:18px;
  padding:20px 0 18px; border-top:1px solid #36667a;
}
body.ao63-white-site footer.ao108-footer .ao108-brand {
  max-width:235px; min-width:0;
}
body.ao63-white-site footer.ao108-footer .ao108-brandmark {
  width:190px; height:56px; min-height:0; padding:0; margin:0;
}
body.ao63-white-site footer.ao108-footer .ao108-brandline {
  font:750 15px/1.35 Manrope,"DM Sans",Arial,sans-serif;
  letter-spacing:-.025em; max-width:235px; margin:7px 0 0;
}
body.ao63-white-site footer.ao108-footer .ao108-meta {
  margin-top:10px; gap:3px 9px; font:500 11px/1.5 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-meta span+span::before { margin-right:9px; }
body.ao63-white-site footer.ao108-footer .ao165-credential {
  margin:6px 0 0; font:600 11px/1.5 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-navs {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start; column-gap:18px; row-gap:16px; padding-top:3px;
}
body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 {
  font:750 10.8px/1.4 "DM Sans",Arial,sans-serif;
  letter-spacing:.07em; margin:0 0 10px; color:#71dce2;
}
body.ao63-white-site footer.ao108-footer .ao108-link-list a {
  font:500 12.3px/1.5 "DM Sans",Arial,sans-serif;
  color:#d7e7ed; margin:0 0 6px; overflow-wrap:normal;
}
body.ao63-white-site footer.ao108-footer .ao108-link-list a:last-child { margin-bottom:0; }
body.ao63-white-site footer.ao108-footer .ao108-bottom {
  border-top:1px solid #35576a; padding:12px 0 13px;
  gap:8px 15px; align-items:center;
}
body.ao63-white-site footer.ao108-footer .ao108-legal {
  gap:6px 12px; align-items:center;
}
body.ao63-white-site footer.ao108-footer .ao108-legal a,
body.ao63-white-site footer.ao108-footer .ao108-back {
  font:400 11px/1.5 "DM Sans",Arial,sans-serif;
}
body.ao63-white-site footer.ao108-footer .ao108-preview-note {
  padding:8px 0; font:400 10.4px/1.45 "DM Sans",Arial,sans-serif;
}
@media(min-width:1101px) {
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   display:grid; grid-template-columns:auto minmax(0,1fr) auto;
   justify-content:initial; column-gap:16px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-legal {
   grid-column:2; grid-row:1; justify-content:center; width:auto;
 }
 body.ao63-white-site footer.ao108-footer .ao108-copyright { grid-column:1; grid-row:1; }
 body.ao63-white-site footer.ao108-footer .ao108-back { grid-column:3; grid-row:1; }
}
@media(min-width:901px) and (max-width:1100px) {
 body.ao63-white-site footer.ao108-footer .ao108-main {
   grid-template-columns:minmax(0,210px) minmax(0,1fr); column-gap:23px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navs { column-gap:12px; }
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   display:grid; grid-template-columns:minmax(0,1fr) auto;
 }
 body.ao63-white-site footer.ao108-footer .ao108-legal {
   grid-column:1/-1; grid-row:2; justify-content:flex-start;
 }
}
@media(max-width:900px) {
 body.ao63-white-site footer.ao108-footer .ao108-main {
   grid-template-columns:minmax(0,1fr); padding:23px 0 19px; gap:20px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-brand { max-width:100%; }
 body.ao63-white-site footer.ao108-footer .ao108-brandmark { width:186px; height:56px; }
 body.ao63-white-site footer.ao108-footer .ao108-brandline {
   font-size:15.5px; max-width:440px; margin:7px 0 0;
 }
 body.ao63-white-site footer.ao108-footer .ao108-meta { margin-top:8px; }
 body.ao63-white-site footer.ao108-footer .ao108-navs {
   grid-template-columns:repeat(3,minmax(0,1fr));
   column-gap:17px; row-gap:14px; padding-top:0;
 }
 body.ao63-white-site footer.ao108-footer .ao108-link-list a {
   font-size:12.4px; line-height:1.5; margin-bottom:7px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   padding:12px 0; gap:10px;
 }
}
@media(max-width:620px) {
 body.ao63-white-site footer.ao108-footer .ao108-main {
   padding:20px 0 16px; gap:18px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-brandmark { width:175px; height:53px; }
 body.ao63-white-site footer.ao108-footer .ao108-brandline {
   font-size:15px; line-height:1.37; max-width:340px; margin:5px 0 0;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navs {
   grid-template-columns:repeat(2,minmax(0,1fr));
   column-gap:18px; row-gap:15px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child { grid-column:1/-1; }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child .ao108-link-list {
   display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
   column-gap:14px; row-gap:3px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-link-list a {
   font-size:12.3px; line-height:1.48; margin-bottom:5px;
 }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup h3 { margin-bottom:8px; }
 body.ao63-white-site footer.ao108-footer .ao108-bottom {
   display:flex; flex-direction:column; align-items:flex-start;
   gap:9px; padding:11px 0;
 }
 body.ao63-white-site footer.ao108-footer .ao108-legal {
   display:flex; flex-wrap:wrap; width:100%;
   gap:7px 12px; justify-content:flex-start;
 }
 body.ao63-white-site footer.ao108-footer .ao108-preview-note {
   font-size:10.2px; line-height:1.5; padding:9px 0;
 }
}
@media(max-width:360px) {
 body.ao63-white-site footer.ao108-footer .ao108-navs { column-gap:12px; }
 body.ao63-white-site footer.ao108-footer .ao108-navgroup:last-child .ao108-link-list { column-gap:10px; }
}
