:root{--accent:var(--orange);--accent-deep:var(--orange-deep);--font-display:var(--display);--font-body:var(--body)}
[hidden]{display:none!important}
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .7s var(--ease), border-color .7s var(--ease), color .7s var(--ease), transform .7s var(--ease);
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button--primary { min-height: 48px; padding: 8px 12px; color: #fff; background: var(--accent); }
.icon { display: inline-block; width: 16px; height: 16px; flex: 0 0 auto; background-color: currentColor; mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.icon--arrow { mask-image: url("./assets/icons/arrow-right.svg"); -webkit-mask-image: url("./assets/icons/arrow-right.svg"); }
.icon--external { mask-image: url("./assets/icons/arrow-up-right.svg"); -webkit-mask-image: url("./assets/icons/arrow-up-right.svg"); }
.icon--search { mask-image: url("./assets/icons/magnifying-glass.svg"); -webkit-mask-image: url("./assets/icons/magnifying-glass.svg"); }
.icon--close { mask-image: url("./assets/icons/x.svg"); -webkit-mask-image: url("./assets/icons/x.svg"); }
.icon--arrow { width: 18px; height: 18px; transition: transform .7s cubic-bezier(.32,.72,0,1); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 20px; text-decoration: none; }
button.text-link { min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; font-family: inherit; cursor: pointer; transition: color 180ms var(--ease); }
button.text-link:hover { color: var(--orange-deep); text-decoration: underline; text-underline-offset: 4px; }
.text-link .icon { color: var(--accent); }
.text-link:hover .icon { transform: translateX(3px); }
.enquiry { background: #f2f3f4; }
.enquiry__inner { display: grid; width: min(1200px, calc(100% - 128px)); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 96px; margin: 0 auto; padding: 96px 0; }
.enquiry__contact { max-width: 440px; }
.enquiry__eyebrow { margin: 0 0 16px; color: var(--accent-deep); font-size: 12px; font-weight: 700; }
.enquiry__contact h2 { margin: 0 0 16px; font: 600 48px/48px var(--font-display); letter-spacing: -.035em; }
.enquiry__contact h2 span { display: block; white-space: nowrap; }
.enquiry__intro { margin: 0 0 32px; color: #484848; font-size: 18px; line-height: 28px; text-wrap: pretty; }
.enquiry__address { display: grid; gap: 12px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-style: normal; }
.enquiry__address p { margin: 0; font-size: 16px; line-height: 24px; }
.enquiry__address a, .enquiry__channels a { width: fit-content; color: var(--ink); text-decoration: none; }
.enquiry__address a { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.enquiry__address .icon { color: var(--accent-deep); }
.enquiry__channels { display: grid; justify-items: start; gap: 12px; padding: 24px 0 0; }
.enquiry__channels a { font-size: 16px; line-height: 24px; overflow-wrap: anywhere; text-underline-offset: 4px; }
.enquiry__visit-note { margin: 24px 0 0; color: var(--muted); font-size: 14px; line-height: 20px; }
.enquiry__form-wrap { min-width: 0; padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.enquiry__state { color: #383838; font-size: 16px; line-height: 24px; }
.enquiry__state p { margin: 0 0 16px; }
.enquiry-form__heading { margin-bottom: 24px; }
.enquiry-form__heading h3, .enquiry__success h2, .enquiry__success h3 { margin: 0 0 8px; font: 600 24px/32px var(--font-display); }
.enquiry-form__heading p { margin: 0; color: var(--muted); font-size: 14px; line-height: 20px; }
.enquiry-form__heading p span { color: var(--accent-deep); font-weight: 700; }
.enquiry-stepper { margin: 0 0 24px; }
.enquiry-stepper ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.enquiry-stepper li { display: flex; align-items: baseline; gap: 8px; color: var(--muted); font-size: 13px; line-height: 20px; }
.enquiry-stepper li span:first-child { font: 600 18px/1 var(--font-display); }
.enquiry-stepper li[aria-current="step"] { color: var(--ink); font-weight: 700; }
.enquiry-stepper li.is-complete { color: var(--muted); }
.enquiry-stepper__count { margin: 0 0 6px; color: var(--muted); font-size: 13px; line-height: 18px; }
.enquiry-stepper h4 { margin: 0 0 4px; color: var(--navy); font: 600 25px/1.15 var(--font-display); }
.enquiry-stepper h4:focus { outline: 2px solid var(--ink); outline-offset: 4px; }
.enquiry-stepper > p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 22px; }
.enquiry-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.enquiry-field { display: grid; min-width: 0; gap: 8px; align-content: start; }
.enquiry-field--wide { grid-column: 1 / -1; }
.enquiry-field__label { font-size: 14px; font-weight: 700; line-height: 20px; }
.enquiry-field__required { margin-left: 4px; color: var(--accent-deep); }
.enquiry-field__control { width: 100%; min-height: 48px; padding: 12px; color: var(--ink); background: #fff; border: 1px solid #74777a; border-radius: 8px; font: 400 16px/24px var(--font-body); }
.enquiry-field__control:focus { border-color: var(--ink); }
.enquiry-field__control[aria-invalid="true"] { border-color: #a32618; }
textarea.enquiry-field__control { min-height: 144px; resize: vertical; }
.enquiry-field select.enquiry-field__control { cursor: pointer; }
.enquiry-field__description { margin: 0; color: var(--muted); font-size: 14px; line-height: 20px; }
.enquiry-field__error, .enquiry-form__error { margin: 0; color: #a32618; font-size: 14px; line-height: 20px; }
.enquiry-field--checkbox { grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 4px 12px; }
.enquiry-field--checkbox .enquiry-field__label { grid-column: 2; grid-row: 1; min-height: 44px; padding: 12px 0; }
.enquiry-field--checkbox .enquiry-field__control { width: 24px; min-height: 24px; height: 24px; grid-column: 1; grid-row: 1; align-self: center; padding: 0; accent-color: var(--accent-deep); }
.enquiry-field--checkbox .enquiry-field__description, .enquiry-field--checkbox .enquiry-field__error { grid-column: 2; }
.enquiry-form__error { margin: 24px 0 0; }
.enquiry-form__recovery { display: flex; align-items: center; width: fit-content; min-height: 44px; max-width: 100%; margin: 8px 0 16px; font-size: 16px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.enquiry-field__remove { justify-self: start; min-height: 44px; padding: 0; border: 0; background: transparent; font-size: 16px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.enquiry-form__recovery, .enquiry-field__remove { transition: color .18s ease; }
.enquiry-form__recovery:hover, .enquiry-field__remove:hover { color: var(--accent-deep); }
.enquiry-form__recovery:focus-visible, .enquiry-field__remove:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.enquiry-form [data-receipt-uncertain="true"] { cursor: not-allowed; }
@media(prefers-reduced-motion:reduce) { .enquiry-form__recovery, .enquiry-field__remove { transition: none; } }
.enquiry-stepper__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.enquiry-stepper__actions > .button { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { button.text-link { transition: none; } }
.application-form > .button { margin-top: 24px; }
.button--outline { color: var(--ink); background: #fff; border-color: #74777a; cursor: pointer; }
.button--outline:hover { background: #f2f3f4; }
.enquiry-form [disabled] { cursor: wait; opacity: .72; }
.enquiry-form__spinner { width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: enquiry-spin .8s linear infinite; }
.enquiry__success { padding: 24px; background: #f2f3f4; border: 1px solid var(--line); border-radius: 8px; }
.enquiry__success p { margin: 0 0 24px; color: #383838; font-size: 16px; line-height: 24px; }
.enquiry__success .text-link { padding: 0; background: transparent; border: 0; cursor: pointer; }
.pathway-compare { grid-column: 2; justify-self: end; }
.pathway-compare[open] { grid-column: 1 / -1; justify-self: stretch; }
.pathway-compare[hidden] { display: none; }
.pathway-compare summary { cursor: pointer; list-style: none; }
.pathway-compare summary::-webkit-details-marker { display: none; }
.pathway-compare[open] summary::after { transform: rotate(90deg); }
.pathway-compare[open] summary:hover::after { transform: rotate(90deg) translateX(5px); }
.programme-comparison { margin-top: 20px; padding: 24px 28px 28px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.programme-comparison > h3 { margin: 0 0 20px; color: var(--navy); font: 600 27px/1.15 var(--display); }
.programme-comparison__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.programme-comparison__item { display: flex; min-width: 0; flex-direction: column; padding: 0 20px; border-right: 1px solid var(--line); }
.programme-comparison__item:first-child { padding-left: 0; }
.programme-comparison__item:last-child { padding-right: 0; border-right: 0; }
.programme-comparison__item h4 { margin: 0 0 10px; color: var(--navy); font: 600 23px/1.12 var(--display); }
.programme-comparison__summary { min-height: 4.6em; margin: 0 0 18px; color: var(--ink); font: 400 15px/1.55 var(--body); }
.programme-comparison__item h5 { margin: 0 0 8px; color: var(--navy); font: 700 13px/1.4 var(--body); }
.programme-comparison__item ul { margin: 0 0 20px; padding-left: 18px; color: var(--ink); font: 400 14px/1.5 var(--body); }
.programme-comparison__item li + li { margin-top: 6px; }
.programme-comparison__action { display: inline-flex; align-items: center; align-self: flex-start; gap: 16px; margin-top: auto; padding: 6px 0; color: var(--navy); background: transparent; border: 0; border-bottom: 1px solid currentColor; font: 700 11px/1.2 var(--body); letter-spacing: .12em; text-align: left; text-transform: uppercase; cursor: pointer; }
.programme-comparison__action:hover { color: var(--accent); }
@media(max-width:840px) {
  .programme-comparison__grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 24px; }
  .programme-comparison__item:nth-child(2) { border-right: 0; }
  .programme-comparison__item:nth-child(3) { padding-left: 0; }
  .programme-comparison__summary { min-height: 0; }
}
@media(max-width:520px) {
  .pathway-foot { display: block; }
  .pathway-compare { margin-top: 22px; }
  .programme-comparison { padding: 22px 20px; }
  .programme-comparison__grid { grid-template-columns: 1fr; row-gap: 0; }
  .programme-comparison__item,.programme-comparison__item:nth-child(3) { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .programme-comparison__item:first-child { padding-top: 0; }
  .programme-comparison__item:last-child { padding-bottom: 0; border-bottom: 0; }
  .programme-comparison__summary { margin-bottom: 14px; }
}
@media(prefers-reduced-motion:reduce) {
  .pathway-compare summary::after,.programme-comparison__action::after { transition: none; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes enquiry-spin { to { transform: rotate(360deg); } }
.programme-dialog { width: min(760px, calc(100vw - 32px)); max-width: 760px; max-height: min(90dvh, 840px); padding: 0; overflow: auto; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 24px 64px rgba(0,0,0,.28); }
.programme-dialog::backdrop { background: rgba(16,14,12,.72); }
.programme-dialog__top { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 24px 32px; background: #fff; border-bottom: 1px solid var(--line); }
.programme-dialog__eyebrow { margin: 0; color: var(--accent-deep); font-size: 12px; font-weight: 700; }
.programme-dialog__close { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; color: var(--ink); background: #fff; border: 1px solid #aeb4b9; border-radius: 50%; cursor: pointer; transition: color .7s cubic-bezier(.32,.72,0,1), background-color .7s cubic-bezier(.32,.72,0,1); }
.programme-dialog__close:hover { color: #fff; background: var(--accent); }
.programme-detail { padding: 32px; }
.programme-detail__source { margin-bottom: 8px; color: var(--muted); font-size: 14px; line-height: 20px; }
.programme-detail h2 { max-width: 680px; margin: 0 0 24px; font: 600 48px/48px var(--font-display); text-wrap: balance; }
.programme-detail h3 { margin: 32px 0 8px; font: 600 24px/32px var(--font-display); }
.programme-detail p, .programme-detail li { color: #383838; font-size: 16px; line-height: 24px; text-wrap: pretty; }
.programme-detail p { margin: 0 0 16px; }
.programme-detail ul { display: grid; gap: 8px; padding-left: 24px; margin: 12px 0 0; }
.programme-detail li { padding-left: 4px; }
.programme-detail__note { padding: 16px; background: #f2f3f4; border: 1px solid var(--line); }
.programme-dialog__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 32px; background: #f2f3f4; border-top: 1px solid var(--line); }
.programme-dialog__bottom p { max-width: 31ch; margin: 0; color: #4b4f54; font-size: 14px; line-height: 20px; }
.programme-dialog__bottom .button { flex: 0 0 auto; font-size: 14px; }
body:has(.programme-dialog[open]) { overflow: hidden; }
@media(max-width:720px){
  .enquiry__inner { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 40px; padding: 64px 0; }
  .enquiry__contact h2 { font-size: 36px; line-height: 40px; }
  .enquiry__form-wrap { padding: 24px; }
  .enquiry-stepper ol { gap: 6px; }
  .enquiry-stepper li { display: grid; gap: 2px; font-size: 12px; }
  .enquiry-stepper li span:first-child { font-size: 16px; }
  .enquiry-form__fields { grid-template-columns: 1fr; gap: 20px; }
  .enquiry-field--wide { grid-column: auto; }
  .programme-dialog { width: 100%; max-width: none; max-height: 94dvh; margin: auto 0 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 8px 8px 0 0; }
  .programme-dialog__top { padding: 16px 24px; }
  .programme-detail { padding: 24px; }
  .programme-detail h2 { font-size: 36px; line-height: 40px; }
  .programme-detail h3 { font-size: 20px; line-height: 28px; }
  .programme-dialog__bottom { align-items: stretch; flex-direction: column; gap: 16px; padding: 24px; }
  .programme-dialog__bottom .button { width: 100%; }
}

/* Existing Wix forms and programme dialog, dressed in the PEAK homepage tokens. */
.enquiry{color:var(--navy)}
.enquiry__inner{width:min(calc(100% - var(--gutter)*2),var(--max));gap:clamp(32px,6vw,96px)}
.enquiry__contact h2{font-size:clamp(38px,4.6vw,68px);line-height:.98;text-transform:uppercase}
.enquiry__contact h2 span{white-space:normal}
.enquiry .button,.programme-dialog .button{border-radius:100vmax;min-height:50px;padding:14px 24px;font-size:12px;line-height:1.3;cursor:pointer}
.enquiry .button:active,.programme-dialog .button:active{transform:scale(.98)}
.enquiry-field__control{border-radius:4px}
.programme-dialog__close{transition:background-color .2s ease,color .2s ease}
.programme-dialog .button:focus-visible,.enquiry :focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.programme-dialog{border-radius:4px}
.programme-dialog::backdrop{background:rgba(0,26,57,.78)}
.programme-detail h2{color:var(--navy);text-transform:uppercase}
.programme-dialog[open]{animation:dialog-enter .2s var(--ease)}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes enquiry-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.programme-dialog[open]{animation:none}}
