/* Shared audience-page theme. Homepage colours, type and editorial rhythm. */
body.apc-v2.apc-audience-theme {
  background: #fbf8f2 !important;
  color: #073734;
  --school-paper: #fbf8f2;
}
.apc-audience-theme main {
  width: min(1120px, calc(100% - 48px));
  margin-inline: auto;
  padding-top: 0;
}
.apc-audience-theme main h1,
.apc-audience-theme main h2,
.apc-audience-theme main h3 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.apc-audience-theme main h1 {
  font-size: clamp(2.6rem, 4vw, 3.5rem) !important;
  line-height: 1.08 !important;
  margin: 16px 0 24px;
}
.apc-audience-theme main h2 { line-height: 1.15; }
.apc-audience-theme main > section { margin-block: 0; }
.apc-audience-theme .eyebrow {
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.apc-audience-theme .audience-breadcrumb,
.apc-audience-theme .school-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 0;
  font-size: .85rem;
  color: #435d58;
}
.apc-audience-theme .audience-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.apc-audience-theme main > .parent-hero,
.apc-audience-theme main > .services-hero,
.apc-audience-theme main > .school-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
  padding: 28px 0 56px;
  min-height: 0;
  max-width: none;
  text-align: left;
}
.apc-audience-theme .parent-intro,
.apc-audience-theme .services-hero .lead,
.apc-audience-theme .school-hero-copy > p:not(.eyebrow):not(.school-hero-note) {
  max-width: 40ch;
  font-size: 1.12rem;
  line-height: 1.7;
  color: #435d58;
}
.apc-audience-theme .audience-hero-visual { margin: 0; overflow: hidden; border-radius: 24px; background: #f2ede3; }
.apc-audience-theme .audience-hero-visual > img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; }
.apc-audience-theme .audience-hero-visual figcaption,
.apc-audience-theme .services-route-panel { background: #073734; color: #fff9f1; padding: 28px 32px; }
.apc-audience-theme .audience-hero-visual h2,
.apc-audience-theme .services-route-panel h2 { color: #fff9f1 !important; font-size: 1.85rem; margin: 10px 0; }
.apc-audience-theme .audience-hero-visual p { color: #e3ece5; margin: 8px 0 0; line-height: 1.6; }
.apc-audience-theme .audience-hero-visual .eyebrow,
.apc-audience-theme .services-route-panel .eyebrow { color: #a6d3c7 !important; }
.apc-audience-theme .services-route-panel { border-radius: 24px; }
.apc-audience-theme .services-route-panel a { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid #ffffff30; color: #fff9f1; min-height: 44px; text-decoration: none; }
.apc-audience-theme .services-route-panel a:last-child { border-bottom: 0; padding-bottom: 4px; }
.apc-audience-theme .services-route-panel a:hover { color: #2dd4bf; }
.apc-audience-theme .school-hero-image { border-radius: 24px; min-height: 420px; }
.apc-audience-theme .school-hero-image figcaption { border-radius: 12px; }
body.apc-v2.apc-audience-theme main .audience-primary,
.apc-audience-theme main .btn-primary,
.apc-audience-theme main .service-request-link {
  background: #0f766e !important;
  color: #fff !important;
  border: 1px solid #0f766e !important;
  border-radius: 999px !important;
  min-height: 48px;
  padding: 13px 22px;
  line-height: 1.4;
  font-weight: 600;
  box-shadow: none !important;
  text-align: center;
}
body.apc-v2.apc-audience-theme main .audience-primary:hover,
.apc-audience-theme main .btn-primary:hover,
.apc-audience-theme main .service-request-link:hover { background: #073734 !important; text-decoration: none; }
.apc-audience-theme .audience-card,
.apc-audience-theme .offer-card {
  border: 1px solid #d6e1d8 !important;
  border-radius: 20px !important;
  background: #fffdf9 !important;
  padding: 28px 24px;
  box-shadow: none !important;
}
.apc-audience-theme .parent-offers h3,
.apc-audience-theme .parent-resources h3,
.apc-audience-theme .offer-card h2 { font-size: 1.55rem !important; line-height: 1.2; }
.apc-audience-theme .parent-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #dcebe2; color: #073734; }
.apc-audience-theme .parent-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.apc-audience-theme .parent-offers article:nth-child(2) .parent-icon,
.apc-audience-theme .offer-card:nth-child(2) .parent-icon { background: #f3d4c2; }
.apc-audience-theme .parent-offers article:nth-child(3) .parent-icon,
.apc-audience-theme .offer-card:nth-child(3) .parent-icon { background: #c9e7df; }
.apc-audience-theme .offer-grid { align-items: stretch; }
.apc-audience-theme.apc-service-minimal .minimal-process .section-heading { text-align: left; }
.apc-audience-theme .offer-card .parent-icon { margin-bottom: 20px; }
.apc-audience-theme #support > h2 { text-align: left; }
.apc-audience-theme main > .parent-process,
.apc-audience-theme.apc-service-minimal main > .minimal-process {
  padding: 36px;
  border-radius: 24px;
  background: #073734;
  color: #fff9f1;
  text-align: left;
}
.apc-audience-theme .parent-process h2,
.apc-audience-theme .parent-process h3,
.apc-audience-theme.apc-service-minimal .minimal-process h2,
.apc-audience-theme.apc-service-minimal .minimal-process strong { color: #fff9f1 !important; }
.apc-audience-theme .parent-process p,
.apc-audience-theme.apc-service-minimal .minimal-process p { color: #dbe7df !important; }
.apc-audience-theme .parent-process li > span { margin-left: 0; background: #ffffff12; color: #a6d3c7; border-color: #ffffff30; }
.apc-audience-theme.apc-service-minimal .minimal-process .eyebrow { color: #a6d3c7 !important; }
.apc-audience-theme .parent-resources { gap: 20px; }
.apc-audience-theme .parent-resources .audience-card { border-top: 3px solid #6b9e7a !important; }
.apc-audience-theme .parent-resources .audience-card:nth-child(2) { border-top-color: #e8997a !important; }
.apc-audience-theme .parent-resources .audience-card:nth-child(3) { border-top-color: #0f766e !important; }
.apc-audience-theme .parent-resources h3 { margin-top: 0; }
.apc-audience-theme main :where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #e8997a; outline-offset: 4px; }
@media (max-width: 760px) {
  .apc-audience-theme main { width: calc(100% - 32px); }
  .apc-audience-theme main > .parent-hero,
  .apc-audience-theme main > .services-hero,
  .apc-audience-theme main > .school-hero { grid-template-columns: 1fr; gap: 28px; padding: 24px 0 36px; }
  .apc-audience-theme .school-hero-image { min-height: 300px; }
  .apc-audience-theme .audience-hero-visual figcaption,
  .apc-audience-theme .services-route-panel,
  .apc-audience-theme main > .parent-process,
  .apc-audience-theme.apc-service-minimal main > .minimal-process { padding: 24px; }
  .apc-audience-theme main h1 { font-size: clamp(2.4rem, 9vw, 3.1rem) !important; }
  .apc-audience-theme .parent-process ol { grid-template-columns: 1fr; gap: 24px; }
}

/* Audit: compact comparisons and readable supporting information. */
.apc-audience-theme .offer-card h2 { min-height: 2.4em; }
.apc-audience-theme .best-if { min-height: 4.95em; margin-bottom: 16px; }
.apc-audience-theme .offer-meta { min-height: 64px; }
.apc-audience-theme .offer-card { display: flex; flex-direction: column; }
.apc-audience-theme .offer-card-detail { margin-top: auto; }
.apc-audience-theme .offer-card-intro > .condition { margin-bottom: 18px; }
.apc-audience-theme .parent-resources .audience-card { display: flex; flex-direction: column; align-items: flex-start; }
.apc-audience-theme .parent-resources .audience-card > span { margin-top: auto; padding-top: 18px; }
.apc-audience-theme main > .parent-hero { padding-bottom: 32px; }
.apc-audience-theme main > #support { padding-top: 40px; }
.apc-audience-theme .parent-small,
.apc-audience-theme .parent-guide .audience-author p { font-size: .9rem; }
.apc-audience-theme .parent-offers article > a { min-height: 44px; }
.apc-audience-theme .school-hero .school-hero-note,
.apc-audience-theme .school-format-compare .format-fit,
.apc-audience-theme .school-format-terms,
.apc-audience-theme .school-sample-note,
.apc-audience-theme .school-credential,
.apc-audience-theme .school-scope-visible,
.apc-audience-theme .school-scope summary,
.apc-audience-theme .school-scope p,
.apc-audience-theme .school-required-note,
.apc-audience-theme .school-field-note,
.apc-audience-theme .form-note,
.apc-audience-theme .school-booking-links,
.apc-audience-theme .school-email-alternative { font-size: .9rem !important; }
@media (max-width: 900px) {
  .apc-audience-theme .offer-card h2,
  .apc-audience-theme .best-if,
  .apc-audience-theme .offer-meta { min-height: 0; }
}
@media (max-width: 760px) {
  .apc-audience-theme main > #support { padding-top: 24px; }
  .apc-audience-theme .parent-offers .audience-card,
  .apc-audience-theme .offer-card { padding: 24px 20px; }
}

.apc-audience-theme .offer-actions :is(.btn-primary, .service-request-link) { font-size: .96rem !important; line-height: 1.4 !important; min-height: 50px; text-decoration: none; }

.apc-audience-theme .offer-card:hover,
.apc-audience-theme .parent-offers .audience-card:hover { transform: none !important; }

/* Tactile materials echo the school page without adding decorative icon tiles. */
.apc-audience-theme .support-material-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  margin: 0 0 20px;
  background: #f2ede3;
}
.apc-audience-theme .parent-offers .support-material-image + h3 { margin-top: 0; }
.apc-audience-theme .audience-hero-visual > img { aspect-ratio: 3 / 2; }
@media (max-width: 900px) {
  .apc-audience-theme .support-material-image { max-height: 190px; }
}

