/* Layout only. Visual variants are provided by section.css, cards.css and buttons.css. */
.centres-page { padding-top:var(--header-height-desktop); }
.centres-page .section { max-width:none; display:block; }
.centres__inner { max-width:var(--container-max); margin:auto; width:100%; }
.centres__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.centres__card { min-width:0; display:flex; flex-direction:column; }
.centres__card .btn { margin-top:auto; align-self:flex-start; }
.centres__actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.centres__breadcrumbs { margin-bottom:2rem; }
.centres-page .btn { max-width:100%; white-space:normal; }
.centres-page #contact { scroll-margin-top:var(--header-height-desktop); }
@media(max-width:680px){.centres-page { padding-top:var(--header-height-mobile); }.centres__grid { grid-template-columns:1fr; }}

.centres__hero { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; align-items:center; }
.centres__photo { margin:0; min-width:0; max-width:none; }
.centres__photo img { height:auto; max-height:none; display:block; }
@media(max-width:800px){.centres__hero { grid-template-columns:1fr; }}

/* Directory composition uses existing brand tokens and photographic assets. */
.centres__directory-hero { padding:2.5rem 2rem; background:linear-gradient(90deg,var(--color-black-soft),transparent),url('/assets/img/hero-bg.png') center 45%/cover; color:var(--color-cream); }
.centres__directory-hero .section__title,.centres__directory-hero .section__overline { color:inherit; }
.centres-page .centres__directory { padding-top:2rem; padding-bottom:2rem; }
.centres__card { padding:0; overflow:hidden; }
.centres__card-photo { width:100%; height:210px; object-fit:cover; display:block; }
.centres__card-copy { padding:1.5rem; }
.centres__card-copy .section__title { margin:.3rem 0; }
.centres__card-copy .section__microcopy { margin-top:1rem; }
/* Centre detail: a balanced opening with the city photograph and compact information blocks. */
.centres-page > .section { padding-top:3rem; padding-bottom:3rem; }
.centres__hero { gap:2rem; }
.centres__hero .section__title { margin-top:.5rem; }
.centres__photo img { width:100%; height:320px; object-fit:cover; }
.centres__photo figcaption { margin-top:.5rem; }
.centres-page .team-grid-section { padding:3rem 2rem; }
@media(max-width:680px){.centres__directory-hero{padding:2rem 1.3rem}.centres__card-photo{height:180px}.centres__photo img{height:240px}}

.centres__location { display:grid; grid-template-columns:1fr 1.4fr; gap:2rem; align-items:center; }
.centres__map { width:100%; height:340px; border:0; }
.centres-page > .team-grid-section { background:var(--color-beige); --team-text:var(--color-black-soft); --team-muted:var(--color-grey-muted); --card-bg:var(--color-cream); --card-border:var(--color-grey-border); }
.centres-page .team__nav { background:var(--color-cream); }
@media(max-width:800px){.centres__location{grid-template-columns:1fr}.centres__map{height:280px}}
