/* The Paper Clay — peach / blue section rhythm
   The banner's coral-peach is the warm anchor. Existing sky blue remains the
   alternate colour so the page flows peach → blue → peach while scrolling. */

:root {
  --pc-flow-peach: #f2555b;
  --pc-flow-peach-light: #fa7168;
  --pc-flow-peach-deep: #a33d3b;
  --pc-flow-peach-soft: #fff0e8;
  --pc-flow-blue: #0875b0;
  --pc-flow-blue-deep: #07577f;
  --pc-flow-blue-soft: #e6f5fc;
  --pc-flow-yellow: #f5c95f;
  --pc-flow-ink: #262022;
  --pc-flow-cream: #fffaf0;
}

/* Banner: use the exact coral-peach already present in the hero artwork. */
.pc-hero {
  border-bottom: .8rem solid var(--pc-flow-peach);
}

/* 01 — BLUE: Why we exist */
.pc-exist-wrap {
  background:
    radial-gradient(circle at 94% 12%, rgba(245, 201, 95, .18), transparent 23rem),
    linear-gradient(180deg, #f8fcfe 0%, var(--pc-flow-blue-soft) 58%, #f3fafd 100%);
}

.pc-exist {
  background: transparent;
}

.pc-exist::before {
  background: rgba(21, 152, 198, .12);
}

.pc-exist__eyebrow,
.pc-exist__copy h2 em {
  color: var(--pc-flow-blue-deep);
}

.pc-exist__photo-layer {
  background: #cfeef9;
}

/* 02 — PEACH: Philosophy */
.pc-direction {
  background: #fffaf5;
}

.pc-direction__shell {
  border-color: rgba(163, 61, 59, .12);
  background:
    radial-gradient(circle at 92% 9%, rgba(245, 201, 95, .22), transparent 18rem),
    linear-gradient(145deg, #fff6ef 0%, var(--pc-flow-peach-soft) 100%);
  box-shadow: 0 2rem 6rem rgba(123, 65, 45, .08);
}

.pc-direction__eyebrow {
  color: var(--pc-flow-peach-deep);
}

.pc-direction__heading h2 {
  color: var(--pc-flow-ink);
}

.pc-direction__heading h2::after,
.pc-programs__header h2::after {
  content: "";
  display: block;
  width: clamp(7rem, 9vw, 13rem);
  height: .7rem;
  margin-top: 2.2rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pc-flow-peach), var(--pc-flow-peach-light), var(--pc-flow-yellow));
  transform: rotate(-1.5deg);
}

.pc-direction__card--vision {
  background: linear-gradient(145deg, var(--pc-flow-peach) 0%, var(--pc-flow-peach-light) 100%);
  color: var(--pc-flow-ink);
  box-shadow: 0 1.6rem 3.8rem rgba(163, 61, 59, .18);
}

.pc-direction__card--mission {
  background: linear-gradient(145deg, #fff9e8 0%, #f8e5ae 100%);
  color: var(--pc-flow-ink);
}

.pc-direction__statement-spark {
  background: var(--pc-flow-yellow);
  color: var(--pc-flow-ink);
}

.pc-direction__statement strong {
  color: var(--pc-flow-peach-deep);
}

/* 03 — BLUE: Programmes */
.pc-programs {
  background:
    radial-gradient(circle at 8% 16%, rgba(255, 255, 255, .72), transparent 24rem),
    linear-gradient(180deg, #f4fbfe 0%, var(--pc-flow-blue-soft) 100%);
}

.pc-programs .pc-direction__eyebrow {
  color: var(--pc-flow-blue-deep);
}

.pc-programs__header h2 {
  color: var(--pc-flow-ink);
}

.pc-programs__header h2::after {
  background: linear-gradient(90deg, var(--pc-flow-blue), #48b9dc, var(--pc-flow-yellow));
}

.pc-programs__orb {
  background: var(--pc-flow-yellow);
}

.pc-programs__orbit {
  border-color: rgba(8, 117, 176, .5);
}

.pc-programs__tab {
  border-color: rgba(8, 117, 176, .14);
  background: rgba(255, 255, 255, .78);
}

.pc-programs__tab:hover {
  border-color: var(--pc-flow-blue);
}

.pc-programs__tab.is-active {
  border-color: var(--pc-flow-blue-deep);
  background: var(--pc-flow-blue-deep);
  box-shadow: 0 1.5rem 4rem rgba(7, 87, 127, .2);
  color: #fff;
}

.pc-programs__tab.is-active .pc-programs__tab-number,
.pc-programs__tab.is-active .pc-programs__tab-age {
  color: #fff;
}

.pc-programs__tab.is-active .pc-programs__tab-action {
  border-color: var(--pc-flow-yellow);
  background: var(--pc-flow-yellow);
  color: var(--pc-flow-ink);
}

.pc-programs__panel {
  border: 1px solid rgba(8, 117, 176, .14);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 2rem 5rem rgba(29, 91, 120, .09);
}

.pc-programs__age-pill {
  background: #d7eff9;
  color: var(--pc-flow-blue-deep);
}

.pc-programs__panel h3,
.pc-programs__tagline {
  color: var(--pc-flow-blue-deep);
}

.pc-programs__enquire {
  border-color: var(--pc-flow-blue-deep);
  color: var(--pc-flow-blue-deep);
}

.pc-programs__enquire:hover {
  border-color: var(--pc-flow-blue-deep);
  background: var(--pc-flow-blue-deep);
  color: #fff;
}

/* 04 — PEACH: Why Paper Clay */
.pc-why {
  background: linear-gradient(180deg, #fff8f2 0%, var(--pc-flow-peach-soft) 52%, #fff8f2 100%);
}

.pc-why::before {
  background: #ffd7cc;
}

.pc-why__eyebrow,
.pc-why__copy h2 em,
.pc-why__promise strong,
.pc-why__visit i {
  color: var(--pc-flow-peach-deep);
}

.pc-why__features-header::after {
  background: var(--pc-flow-peach);
}

.pc-why__visit:hover {
  border-color: var(--pc-flow-peach-deep);
  background: var(--pc-flow-peach-deep);
}

.pc-why__visit:focus-visible {
  outline-color: var(--pc-flow-peach-deep);
}

/* 05 — BLUE: Moments */
.pc-instagram {
  background:
    radial-gradient(circle at 90% 14%, rgba(245, 201, 95, .16), transparent 22rem),
    linear-gradient(180deg, #f7fcfe 0%, var(--pc-flow-blue-soft) 100%);
}

.pc-instagram__eyebrow,
.pc-instagram__header h2 em,
.pc-instagram__reel > a i,
.pc-instagram__follow-arrow {
  color: var(--pc-flow-blue-deep);
}

.pc-instagram__post:focus-visible,
.pc-instagram__reel > a:focus-visible,
.pc-instagram__follow:focus-visible {
  outline-color: var(--pc-flow-blue-deep);
}

.pc-instagram__follow:hover {
  border-color: var(--pc-flow-blue-deep);
  background: var(--pc-flow-blue-deep);
}

/* 06 — PEACH: Parent reviews */
.pc-reviews {
  --pc-blue: var(--pc-flow-peach-deep);
  --pc-cream: #fffaf5;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 215, 204, .55), transparent 26rem),
    linear-gradient(180deg, #fffaf5 0%, var(--pc-flow-peach-soft) 100%);
}

.pc-reviews::before {
  background: #ffd7cc;
}

.pc-review-card--sky {
  background: linear-gradient(145deg, #edf9fe 0%, var(--pc-flow-blue-soft) 100%);
}

/* 07/08 — BLUE invitation into a PEACH footer panel. */
.pc-complete-footer__invite {
  background:
    radial-gradient(circle at 12% 20%, rgba(245, 201, 95, .22), transparent 19rem),
    linear-gradient(180deg, #f7fcfe 0%, var(--pc-flow-blue-soft) 100%);
}

.pc-complete-footer__eyebrow,
.pc-complete-footer__invite-copy h2 em {
  color: var(--pc-flow-blue-deep);
}

.pc-complete-footer__wave {
  background: var(--pc-flow-blue-soft);
}

.pc-complete-footer__wave path:first-child {
  fill: var(--pc-flow-peach);
}

.pc-complete-footer__main {
  background:
    radial-gradient(circle at 82% 7%, rgba(255, 255, 255, .13), transparent 23rem),
    linear-gradient(145deg, var(--pc-flow-peach) 0%, var(--pc-flow-peach-light) 100%);
  color: var(--pc-flow-ink);
}

.pc-complete-footer__identity > p,
.pc-complete-footer__heading h2,
.pc-complete-footer__nav a,
.pc-complete-footer__contact a {
  color: var(--pc-flow-ink);
}

.pc-complete-footer__heading > div > p,
.pc-complete-footer__contact i {
  color: #63332f;
}

.pc-complete-footer__location-card > a {
  background: var(--pc-flow-blue-deep);
  box-shadow: 0 3px 0 #044563;
}

.pc-complete-footer__location-card > a:hover {
  background: #064b6e;
  box-shadow: 0 2px 0 #03374f;
}

.pc-complete-footer__nav a::after {
  background: var(--pc-flow-blue-deep);
}

.pc-complete-footer__contact a {
  background: rgba(255, 255, 255, .35);
}

.pc-complete-footer__contact a:hover {
  background: rgba(255, 255, 255, .55);
}

.pc-complete-footer__base {
  background: var(--pc-flow-peach-deep);
  color: #fff;
}

.pc-complete-footer__base p:last-child span {
  color: #ffe38d;
}

@media (max-width: 767px) {
  .pc-hero {
    border-bottom-width: .6rem;
  }

  .pc-direction__heading h2::after,
  .pc-programs__header h2::after {
    height: .55rem;
    margin-top: 1.6rem;
  }
}

@media (prefers-contrast: more) {
  .pc-exist__eyebrow,
  .pc-exist__copy h2 em,
  .pc-programs .pc-direction__eyebrow,
  .pc-programs__panel h3,
  .pc-instagram__eyebrow,
  .pc-instagram__header h2 em {
    color: #044a6e;
  }

  .pc-direction__eyebrow,
  .pc-why__eyebrow,
  .pc-why__copy h2 em,
  .pc-reviews__eyebrow,
  .pc-reviews__header h2 em {
    color: #7f2f2d;
  }
}
