/* Dedicated contact composition; old contact-section and consent classes are retired. */
.contact-page{background:#f4f7fc;color:#10213c}
.contact-page .site-header .brand-wordmark{filter:brightness(0);opacity:1}
.contact-page .contact-experience{padding:126px 0 52px;background:radial-gradient(ellipse at 100% 0,#e8eeff,transparent 52%),#f4f7fc}
.contact-page .contact-layout{width:min(calc(100% - 64px),1280px);margin:auto;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:24px;align-items:stretch}
.contact-page .contact-invitation{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;border-radius:30px;padding:44px 40px 30px;background:radial-gradient(ellipse at 100% 70%,#365ce0 0,transparent 65%),linear-gradient(155deg,#102446,#142d64 75%,#1e43ac);color:#fff;min-width:0}
.contact-page .contact-invitation-copy{position:relative;z-index:1}
.contact-page .contact-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.12em;font-weight:700;color:#bbcfff}
.contact-page .contact-eyebrow i{width:7px;height:7px;border-radius:50%;background:#adc5ff;box-shadow:0 0 0 5px #ffffff0b;flex:none}
.contact-page .contact-invitation h1{font:600 clamp(44px,4.3vw,64px)/1.08 var(--font-ui);letter-spacing:-.055em;color:#fff;margin:32px 0 24px}
.contact-page .contact-invitation h1 em{font-family:var(--font-display);font-weight:400;font-style:italic;color:#c1d6ff;letter-spacing:-.035em}
.contact-page .contact-invitation-copy>p{font:400 17px/1.8 var(--font-ui);color:#c4d2eb;max-width:400px;margin:0}
.contact-page .contact-art{position:relative;flex:1;min-height:220px;margin:8px -40px 14px;overflow:hidden}
.contact-page .contact-art img{position:absolute;width:115%;height:100%;max-width:none;left:-5%;top:0;object-fit:cover;object-position:55% 50%;mix-blend-mode:screen;opacity:.9;mask-image:radial-gradient(ellipse 70% 60% at 55% 50%,#000 15%,transparent 78%)}
.contact-page .contact-art-label{position:absolute;bottom:12px;left:40px;font-size:10px;font-weight:600;letter-spacing:.1em;color:#bbd0ff}
.contact-page .contact-person{display:flex;align-items:center;gap:14px;border-top:1px solid #ffffff24;padding-top:22px}
.contact-page .contact-avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #ffffff30;border-radius:50%;background:#ffffff0d;font-size:14px;font-weight:700;color:#e2ebff}
.contact-page .contact-person strong{display:block;font-size:15px;color:#fff}
.contact-page .contact-person div>span{display:block;font-size:12px;color:#b8cbee;margin-top:4px}
.contact-page .contact-person-mark{margin-left:auto;font-size:25px;color:#bed1ff}
.contact-page .contact-direct{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:22px}
.contact-page .contact-direct a{font-size:14px;color:#e2ebff;display:flex;gap:12px;align-items:center;text-decoration:none;border-bottom:1px solid #ffffff38;padding-bottom:5px}
.contact-page .contact-direct a:hover{color:#fff;border-color:#fff}
.contact-page .enquiry-panel{background:#fff;border:1px solid #e0e7f3;border-radius:30px;padding:34px 36px 28px;box-shadow:0 20px 65px #102d6008;min-width:0}
.contact-page .enquiry-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#52688b;font-size:11px;font-weight:700;letter-spacing:.09em;margin-bottom:20px}
.contact-page .enquiry-topline>span:last-child{letter-spacing:0;font-size:12px;font-weight:500;border:1px solid #e0e7f3;border-radius:30px;padding:5px 10px;white-space:nowrap}
.contact-page .enquiry-panel h2{font:600 clamp(30px,2.8vw,40px)/1.15 var(--font-ui);color:#10213c;letter-spacing:-.045em;margin:0 0 12px}
.contact-page .enquiry-lede{font:400 15px/1.65 var(--font-ui);color:#61718a;margin:0 0 26px}
.contact-page #contact-form{display:grid;gap:19px;width:100%;max-width:none;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#10213c;font-family:var(--font-ui)}
.contact-page #contact-form .enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-page #contact-form .enquiry-field{display:grid;gap:8px;min-width:0}
.contact-page #contact-form label>span{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;color:#354c6b}
.contact-page #contact-form .enquiry-field b{font-weight:600;color:#345cff}
.contact-page #contact-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #dce4f0;border-radius:12px;background:#f8faff;color:#10213c;padding:13px 14px;font:400 15px/1.45 var(--font-ui);caret-color:#345cff;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s}
.contact-page #contact-form select{appearance:auto;color-scheme:light;padding-right:10px;background-image:none;min-height:49px}
.contact-page #contact-form select option{background:#fff;color:#10213c}
.contact-page #contact-form textarea{min-height:112px;resize:vertical}
.contact-page #contact-form :is(input,textarea)::placeholder{color:#78879e;opacity:1}
.contact-page #contact-form :is(input,select,textarea):focus{outline:0;border-color:#345cff;background:#fff;box-shadow:0 0 0 3px #345cff14}
.contact-page #contact-form .enquiry-details{border-top:1px solid #e5ebf5;border-bottom:1px solid #e5ebf5;padding:14px 0}
.contact-page #contact-form .enquiry-details summary{cursor:pointer;font-size:13px;line-height:1.5;font-weight:600;color:#354c6b;list-style:disclosure-closed}
.contact-page #contact-form .enquiry-details[open] summary{list-style:disclosure-open;margin-bottom:18px}
.contact-page #contact-form .enquiry-details summary>span{font-size:12px;font-weight:400;color:#71809a;margin-left:8px}
.contact-page #contact-form .enquiry-consent{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:11px;cursor:pointer;margin:0}
.contact-page #contact-form .enquiry-consent input{position:static;appearance:auto;opacity:1;pointer-events:auto;width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:#345cff;flex:none;border-radius:4px;box-shadow:none}
.contact-page #contact-form .enquiry-consent input:focus-visible{outline:3px solid #345cff55;outline-offset:3px}
.contact-page #contact-form .enquiry-consent>span{font-size:13px;line-height:1.65;font-weight:400;color:#596c88;text-transform:none;letter-spacing:0}
.contact-page #contact-form .enquiry-consent a{color:#2449df;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.contact-page #contact-form .enquiry-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #345cff;background:#345cff;color:#fff;border-radius:14px;min-height:60px;padding:10px 14px 10px 22px;margin:0;font:600 16px/1.4 var(--font-ui);box-shadow:0 8px 20px #345cff20;cursor:pointer;transition:background .15s,box-shadow .15s}
.contact-page #contact-form .enquiry-submit:hover{background:#2449df;border-color:#2449df;box-shadow:0 10px 25px #345cff30}
.contact-page #contact-form .enquiry-submit:disabled{opacity:.65;cursor:wait;box-shadow:none}
.contact-page .enquiry-submit-arrow{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #ffffff45;border-radius:50%;font-size:21px;font-weight:400}
.contact-page #contact-form .form-status{font-size:14px;line-height:1.6;padding:0;margin:0;min-height:0;border:0}
.contact-page #contact-form .form-status:empty{display:none}
.contact-page #contact-form .form-status.success{background:#edf8f2;color:#16633c;border:1px solid #b8dec8;border-radius:12px;padding:14px}
.contact-page #contact-form .form-status.error{background:#fff3f3;color:#a42b36;border:1px solid #efc3c6;border-radius:12px;padding:14px}
.contact-page .enquiry-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:11px;line-height:1.5;color:#72829a}
.contact-page #contact-form .form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-page .contact-next{width:min(calc(100% - 64px),1280px);margin:28px auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4px}
.contact-page .contact-next>span{font-size:10px;font-weight:700;letter-spacing:.1em;color:#52688b}
.contact-page .contact-next p{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;line-height:1.6;color:#596c88}
.contact-page .contact-next b{color:#345cff;font-size:11px;font-weight:700}
@media(max-width:1100px){
  .contact-page .contact-invitation{padding:34px 28px 28px}
  .contact-page .contact-invitation h1{font-size:48px}
  .contact-page .contact-art{margin-inline:-28px}
  .contact-page .contact-art-label{left:28px}
  .contact-page .enquiry-panel{padding:30px 26px 24px}
  .contact-page .contact-next{flex-wrap:wrap;justify-content:flex-start;gap:12px 26px}
}
@media(max-width:850px){
  .contact-page .contact-layout{grid-template-columns:minmax(0,1fr);max-width:680px;gap:20px}
  .contact-page .contact-invitation{padding:34px;min-height:0}
  .contact-page .contact-invitation h1{font-size:clamp(44px,7vw,60px);margin:25px 0 20px}
  .contact-page .contact-invitation-copy>p{max-width:430px}
  .contact-page .contact-art{position:absolute;right:-130px;bottom:-30px;width:360px;height:330px;min-height:0;opacity:.35;z-index:-1;margin:0}
  .contact-page .contact-art-label{display:none}
  .contact-page .contact-person{margin-top:28px;max-width:430px}
  .contact-page .enquiry-panel{padding:32px}
  .contact-page .contact-next{max-width:680px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
}
@media(max-width:520px){
  .contact-page .contact-experience{padding:96px 0 36px}
  .contact-page .contact-layout,.contact-page .contact-next{width:calc(100% - 28px)}
  .contact-page .contact-invitation{padding:28px 24px 24px;border-radius:24px}
  .contact-page .contact-eyebrow{font-size:9px;letter-spacing:.08em}
  .contact-page .contact-invitation h1{font-size:clamp(38px,10vw,50px)}
  .contact-page .contact-invitation-copy>p{font-size:15px;line-height:1.7}
  .contact-page .contact-direct{gap:12px 20px}
  .contact-page .contact-direct a{font-size:13px}
  .contact-page .enquiry-panel{padding:26px 20px 22px;border-radius:24px}
  .contact-page .enquiry-topline{font-size:10px}
  .contact-page .enquiry-panel h2{font-size:32px}
  .contact-page #contact-form .enquiry-fields{grid-template-columns:minmax(0,1fr);gap:17px}
  .contact-page #contact-form :is(input:not([type=checkbox]),select,textarea){font-size:16px}
  .contact-page #contact-form .enquiry-details summary{font-size:12px}
  .contact-page #contact-form .enquiry-details summary>span{display:block;margin:4px 0 0}
  .contact-page #contact-form .enquiry-consent>span{font-size:13px}
}
