.hero h1 {font-size:clamp(2.8rem,6.4vw,6rem);max-width:13ch}
.hero-image > img {object-position:center}
.course-audience {font-weight:700}
#dates .actions {margin-top:1.2rem}
#date-filters[hidden], #session-status[hidden] {display:none}
.print-programme {margin:.75rem 0}
@media print {
  header,footer,.skip,.print-programme,.actions,form {display:none!important}
  main,.wrap {width:100%;max-width:none;margin:0}
  body {background:white;color:black}
}

/* Workshop photography leads the homepage. Split gets its own coastal palette. */
.hero-image > img {object-position:50% 48%}
.hero-postcard {width:39%}
.split-page main {
  --paper:#f8f2e9;
  --ink:#102d2a;
  --line:#ded2c2;
  background:var(--paper);
  color:var(--ink);
}
.split-hero .subgrid {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;
}
.split-hero h1 {font-size:clamp(2.55rem,5.5vw,5.35rem)}
.split-hero h1 em, .split-page main h2 em {color:#934531}
.split-hero .subgrid > img {
  height:auto;
  min-height:360px;
  aspect-ratio:5/4;
  border-radius:24px 24px 70px 24px;
  object-fit:cover;
  object-position:center;
}
.split-fee {font-weight:800;margin-top:1.3rem}
.split-hero .button:not(.light) {background:#102d2a;color:white}
.split-page .band {background:#eee4d6}
.split-gallery {grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px) {
  .split-hero .subgrid, .split-gallery {grid-template-columns:minmax(0,1fr)}
  .split-hero .subgrid > img {min-height:0;aspect-ratio:4/3}
  .split-gallery .gallery-photo img {height:clamp(180px,55vw,320px)}
  .hero-postcard {width:41%}
}

/* Colour accents carry from the hero through the catalogue and city pages. */
:root {
  --brand-forest:#102d2a;
  --brand-sage:#c8dfd2;
  --brand-mint:#e3efe7;
  --brand-coral:#f69e7c;
  --brand-cream:#fbf7ed;
}
.hero {
  background:linear-gradient(120deg,#fbf7ed 0%,#e3efe7 54%,#a2c8b4 100%);
  border-radius:32px;
  margin-top:clamp(16px,3vw,36px);
  padding:clamp(20px,4vw,52px);
}
.hero h1 em {color:#285146}
.hero .button:not(.light), #dates .button {background:var(--brand-forest);color:#fff}
.hero-image > img {
  height:clamp(300px,42vw,490px);
  object-fit:cover;
  object-position:50% 48%;
  border-radius:24px;
}
.hero-image .pin {background:var(--brand-coral);color:#102d2a}
.hero-postcard {background:#fbf7ed;border:2px solid white}
.stats .stat:nth-child(1) {background:var(--brand-sage)}
.stats .stat:nth-child(2) {background:var(--brand-mint)}
.stats .stat:nth-child(3) {background:var(--brand-coral)}
.stats .stat:nth-child(4) {background:var(--brand-cream)}
#dates {background:linear-gradient(90deg,#e3efe7,#fbf7ed)}
#catalog .card[data-category="Digital & AI"] .card-body {background:#dcebe1}
#catalog .card[data-category="Teaching Practice"] .card-body {background:#eef5ef}
#catalog .card[data-category="Inclusion & Europe"] .card-body {background:#fbe2d5}
#catalog .card[data-category="English & Callan"] .card-body {background:#fbf3e2}
#ka1.band {background:linear-gradient(110deg,#fbe2d5,#fbf7ed 56%,#e3efe7)}
.split-hero .subgrid {
  background:linear-gradient(125deg,#fbe2d5,#fbf7ed 52%,#c8dfd2);
  border-radius:28px;
  padding:clamp(16px,3vw,34px);
}
.split-page .band {background:linear-gradient(105deg,#fbf3e2,#e3efe7)}
@media(max-width:760px) {
  .hero {border-radius:22px}
  .hero-image > img {height:clamp(220px,62vw,360px)}
}
