.contact-page{background:var(--cream);color:var(--navy)}
.contact-page :where(a,button,input,textarea):focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--navy,#071b25)}
.contact-page h1,.contact-page h2,.contact-page p{margin-top:0}
.contact-intro{position:relative;overflow:hidden;padding:74px 0 68px;background:var(--navy);color:#fff}
.contact-intro::before{position:absolute;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(143,217,205,.19),transparent 66%);content:"";right:-250px;top:-390px;pointer-events:none}
.contact-intro::after{position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(143,217,205,.32),transparent);content:"";pointer-events:none}
.contact-intro .wrap{position:relative;z-index:1;max-width:1200px}
.contact-intro-grid{display:block}
.contact-intro-copy{max-width:820px;min-width:0}
.contact-intro .eyebrow{display:block;color:var(--color-gold);font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.contact-intro h1{max-width:820px;margin:17px 0 20px;color:#fff;font-size:clamp(3.45rem,6.2vw,5.8rem);line-height:.96;letter-spacing:-.055em}
.contact-intro-copy>p{max-width:700px;margin-bottom:0;color:#d5e2e6;font-size:clamp(1.04rem,1.55vw,1.18rem);line-height:1.62}

.contact-main{position:relative;padding:56px 0 70px;background:linear-gradient(180deg,#fff8ef 0,var(--cream) 165px)}
.contact-grid{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);gap:0;align-items:start;border-bottom:1px solid var(--line)}
.contact-person{position:sticky;top:calc(var(--site-header-height) + 28px);padding:34px clamp(38px,5vw,66px) 42px 0}
.contact-person>img{width:100%;aspect-ratio:4/5;max-height:475px;object-fit:cover;object-position:center 20%;border-radius:4px 22px 4px 4px;background:var(--paper)}
.contact-person>div{padding:24px 2px 0}
.contact-person-label{display:block;margin-bottom:9px;color:var(--muted);font-size:.8125rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.contact-person h2,.contact-form-panel h2,.contact-next h2,.whatsapp-alternative h2{margin-bottom:6px;font-size:clamp(1.75rem,2.6vw,2.35rem);font-weight:750;line-height:1.1;letter-spacing:-.035em}
.contact-person .contact-role{margin-bottom:16px;color:var(--coral-text);font-size:.8125rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.contact-person>p:last-child{max-width:430px;margin:0 2px;color:var(--muted);font-size:1rem;line-height:1.7}

.contact-form-panel{min-width:0;padding:36px 0 42px clamp(38px,5vw,68px);border-left:1px solid var(--line)}
.contact-form-panel h2{margin-bottom:8px}
.required-note{margin:0 0 25px;color:var(--muted);font-size:.9375rem;line-height:1.5}.required-note>span{color:var(--coral-text)}
.form-field{margin-bottom:20px}.form-field label{display:block;margin-bottom:7px;font-size:1rem;line-height:1.4;font-weight:750;letter-spacing:.005em}.form-field label>span[aria-hidden]{color:var(--coral-text)}
.form-field .optional{margin-left:6px;color:var(--muted);font-size:.875rem;line-height:1.4;font-weight:600}
.form-field input,.form-field textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid rgba(9,32,42,.3);border-radius:7px;background:var(--white);color:var(--ink);font:inherit;line-height:1.45;transition:border-color .15s ease,box-shadow .15s ease}
.form-field textarea{min-height:142px;resize:vertical}
.form-field input:hover,.form-field textarea:hover{border-color:rgba(9,32,42,.52)}
.form-field input:focus,.form-field textarea:focus{border-color:var(--navy)}
.form-field input:focus:not(:focus-visible),.form-field textarea:focus:not(:focus-visible){box-shadow:0 0 0 1px var(--navy)}
.form-field [aria-invalid="true"]{border:2px solid var(--coral-text);padding:11px 13px;background:var(--cream)}
.field-help,.field-error{margin:7px 0 0;font-size:.9375rem;line-height:1.55}.field-help{max-width:580px;color:var(--muted)}.field-error{color:var(--navy);font-weight:800}.field-error:empty{display:none}.field-error:not(:empty)::before{content:"!";display:inline-grid;width:18px;height:18px;margin-right:6px;border-radius:50%;background:var(--coral);color:var(--navy);font-size:.72rem;place-items:center}
.privacy-note{margin:1px 0 13px;color:var(--muted);font-size:.9375rem;line-height:1.55}.privacy-note a,.programme-path a{font-weight:800;text-underline-offset:3px}
.form-status{min-height:24px;margin:0 0 10px;color:var(--navy);font-size:1rem;line-height:1.5;font-weight:800}.form-status:empty{min-height:0;margin:0}
.contact-form-panel .btn{min-width:180px;min-height:50px;padding-inline:20px;font:inherit;font-size:1rem;font-weight:900}.contact-form-panel .btn[disabled]{cursor:wait;opacity:.72;transform:none}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-success{padding:42px 0}.contact-success>span{display:grid;width:48px;height:48px;margin-bottom:24px;border-radius:50%;background:var(--mint);font-size:1.4rem;font-weight:950;place-items:center}.contact-success h2{max-width:560px}.contact-success p{max-width:540px;margin:15px 0 0;color:var(--muted);font-size:1.03rem;line-height:1.7}

.contact-next{padding:65px 0 68px;background:var(--paper)}
.contact-next h2{margin-bottom:29px}
.contact-next ol{display:grid;grid-template-columns:.8fr 1fr 1.45fr;gap:clamp(30px,5vw,68px);margin:0;padding:0;list-style:none;counter-reset:contact-step}
.contact-next li{position:relative;padding-top:21px;color:var(--ink);font-size:1rem;font-weight:700;line-height:1.6;counter-increment:contact-step}
.contact-next li::before{content:"0" counter(contact-step);position:absolute;top:0;left:0;color:var(--coral-text);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.contact-next li::after{content:"";position:absolute;top:5px;left:30px;right:0;height:1px;background:var(--line)}
.contact-next li span{display:none}

.contact-alternatives{padding:50px 0 62px}
.contact-alternatives .wrap{max-width:1200px}
.whatsapp-alternative{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:25px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.whatsapp-alternative h2{font-size:clamp(1.55rem,2.3vw,2rem)}
.whatsapp-alternative p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6}
.contact-secondary{align-self:center;padding:10px 0;color:var(--navy);font-size:.9375rem;line-height:1.4;font-weight:850;text-underline-offset:5px}
.programme-path{margin:23px 0 0;color:var(--muted);font-size:.9375rem;line-height:1.6}.programme-path a{color:var(--navy)}
.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}

@media(max-width:820px){
  .contact-grid{grid-template-columns:1fr;border-bottom:0}
  .contact-person{position:static;display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;padding:30px 0}
  .contact-person>img{height:220px;aspect-ratio:auto;border-radius:4px 18px 4px 4px}
  .contact-person>div{padding:0}
  .contact-person>p:last-child{grid-column:1/-1}
  .contact-form-panel{padding:34px 0 40px;border-top:1px solid var(--line);border-left:0}
  .contact-next ol{grid-template-columns:1fr;gap:0}
  .contact-next li{padding:20px 0 20px 44px;border-top:1px solid var(--line)}
  .contact-next li:last-child{border-bottom:1px solid var(--line)}
  .contact-next li::before{top:22px}.contact-next li::after{display:none}
}
@media(max-width:680px){
  .contact-intro{padding:48px 0 42px}.contact-intro::before{width:520px;height:520px;right:-250px;top:-300px}.contact-intro .eyebrow{font-size:.67rem;letter-spacing:.145em}.contact-intro h1{margin:14px 0 15px;font-size:clamp(3rem,14vw,4rem);line-height:.97}.contact-intro-copy>p{max-width:34rem;color:#d5e2e6;font-size:1rem;line-height:1.65}
  .contact-main{padding:32px 0 46px;background:var(--cream)}.contact-grid{gap:0}
  .contact-person{grid-template-columns:102px 1fr;gap:16px;align-items:start;padding:24px 0 22px}
  .contact-person>img{height:128px;border-radius:3px 14px 3px 3px}
  .contact-person>div{padding-top:1px}.contact-person-label{margin-bottom:6px;font-size:.8125rem}.contact-person h2{font-size:1.48rem}.contact-person .contact-role{margin-bottom:0;font-size:.8125rem}
  .contact-person>p:last-child{margin:-2px 0 0;font-size:1rem;line-height:1.65}
  .contact-form-panel{padding:27px 0 32px}.contact-form-panel h2{font-size:1.75rem}.required-note{margin-bottom:22px}.form-field{margin-bottom:18px}.form-field textarea{min-height:132px}.contact-form-panel .btn{width:auto;min-height:52px}
  .contact-next{padding:48px 0 50px}.contact-next h2{margin-bottom:23px;font-size:2rem}.contact-next li{font-size:1rem}
  .contact-alternatives{padding:38px 0 55px}.whatsapp-alternative{display:block;padding:22px 0 23px}.whatsapp-alternative h2{font-size:1.65rem}.contact-secondary{display:inline-block;margin-top:10px}.programme-path{margin-top:20px;line-height:1.6}
  .contact-page .wa-float{bottom:10px}
}
