/* Content and hub pages (About us, Partnerships, The Assembly L&D): only what shared/product.css doesn't have.
   Linked from each content page's source, after product.css. Owned by the pages-content tab (3 Nov); the shared file is left alone. */

/* hero: a content page's hero sizes to its words and leaves room for a photo pulled up over its bottom edge */
.hero.content { min-height: 0; padding-bottom: clamp(140px, 15vw, 230px); }
.hero.content h1 { max-width: 16ch; }
.hero.content .lede + .lede { margin-top: -8px; color: var(--ink-soft); }

/* a wide photo pulled up over the hero */
.pull-photo { margin: 0; display: flow-root; }
.pull-photo .shot { margin: calc(-1 * clamp(100px, 11vw, 170px)) auto 0; max-width: 1100px; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 16 / 9; box-shadow: 0 40px 80px -40px rgba(12, 53, 92, .45); position: relative; }
.pull-photo .shot img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.pull-photo figcaption { margin: 20px auto 0; max-width: 1100px; color: var(--ink-soft); font-size: var(--t-small); }

/* points with an icon above each (the live pages' own shape icons) */
.points.icons > div { border-top: 0; padding: clamp(24px, 2.4vw, 32px); background: var(--paper); border-radius: var(--r-l); gap: 12px; }
.points.icons img { height: 44px; width: auto; margin-bottom: clamp(20px, 3vw, 40px); }

/* a grid of people: photo, name, role */
.people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px) 16px; }
.people .p-pic { aspect-ratio: 4 / 5; border-radius: var(--r-l); overflow: hidden; background: var(--cream); }
.people .p-pic img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.people h3 { font-size: var(--t-h4); margin-top: 14px; }
.people p { color: var(--ink-soft); font-size: var(--t-small); margin-top: 4px; }

/* closing ask with a picture: words left, a product picture right, in the hero's colour */
.closer.with-pic .panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); text-align: left; justify-items: start; align-items: center; gap: clamp(32px, 5vw, 80px); }
.closer.with-pic .panel > div { display: grid; gap: 20px; }
.closer.with-pic .btns { justify-content: flex-start; }
.closer.with-pic img { width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(12, 53, 92, .25)); }

@media (max-width: 1100px) {
  .people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .pull-photo .shot { aspect-ratio: 1.15; }
  .people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
  .people h3 { font-size: 17px; }
  .people p { font-size: 13px; }
  .closer.with-pic .panel { grid-template-columns: minmax(0, 1fr); }
}

/* a video in place of the pulled-up photo (Partnerships) */
.pull-photo .shot iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pull-photo .shot.video { background: var(--ink); }

/* a two-line headline: the name, then its line (The Assembly L&D) */
.hero h1 .sub { display: block; color: var(--ink-soft); font-size: .7em; margin-top: 8px; }

/* a short label above a point's heading, e.g. a library's size */
.tag { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #0b7a66; }
.points .link, .card .link { margin-top: 4px; }

/* awards: badges in a row */
.awards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.awards img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--paper); border-radius: var(--r-l); padding: clamp(16px, 2vw, 28px); }

/* quotes from partners, with their logo */
.quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: clamp(40px, 5vw, 64px); }
.quotes figure { margin: 0; background: var(--paper); border-radius: var(--r-l); padding: clamp(24px, 3vw, 40px); display: grid; gap: 20px; align-content: start; }
.quotes img { height: 32px; width: auto; justify-self: start; }
.quotes blockquote { margin: 0; font-size: var(--t-h4); font-weight: 400; line-height: 1.4; letter-spacing: -0.01em; }
.quotes figcaption b { display: block; }
.quotes figcaption span { color: var(--ink-soft); font-size: var(--t-small); }

@media (max-width: 1100px) {
  .awards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pull-photo .shot.video { aspect-ratio: 16 / 9; }
  .quotes { grid-template-columns: minmax(0, 1fr); }
}
