:root{font-family:Manrope,Arial,sans-serif;color:#20211e;background:#f8f8f6}*{box-sizing:border-box}body{margin:0;min-height:100dvh;padding:0 48px;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #487ca2;outline-offset:5px}h1,h2,p{margin:0}.contact-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-brand{font-size:28px;letter-spacing:-1.9px;font-weight:700;display:inline-flex;align-items:baseline;gap:8px}.contact-brand span{font-size:8px;letter-spacing:2px;text-transform:uppercase;font-weight:500}.back-link{font-size:11px;font-weight:700;border-bottom:1px solid #c5d5df;padding:8px 0}.contact-page{flex:1;display:flex;flex-direction:column;max-width:1500px;width:100%;margin:auto}.form-intro{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d8e2e8;padding-top:22px}.eyebrow,.intro-note{font-size:9px;letter-spacing:.06em;font-weight:700}.intro-note{color:#7990a0;font-weight:500}#conversation{width:min(840px,100%);margin:auto;padding:60px 0}.form-stage{position:relative}.question-number{display:block;font-size:11px;letter-spacing:.08em;color:#3f7599;font-weight:700;margin-bottom:24px}.question-number span{color:#91a9b9}.question h1,.question h2{font-size:clamp(46px,5.2vw,78px);font-weight:500;letter-spacing:-.065em;line-height:1.08}.question em{font-family:Georgia,serif;font-weight:400;color:#3c7195;line-height:1.2}.question p{font-size:13px;line-height:1.8;color:#6c7c86;max-width:490px;margin-top:22px}.field-label{display:block;font-size:11px;font-weight:700;color:#526f83;margin-top:40px;margin-bottom:10px}.question input,.question textarea{display:block;width:100%;border:0;border-bottom:1px solid #a9c0cf;background:transparent;border-radius:0;padding:12px 0 15px;font-size:clamp(21px,2.4vw,32px);letter-spacing:-.045em;color:#1c405f;outline:none;resize:vertical}.question input:focus,.question textarea:focus{border-bottom:2px solid #376e95}.question input::placeholder,.question textarea::placeholder{color:#a6b9c5;opacity:1}.form-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.primary-action{background:#1c405f;color:#fff;border:0;border-radius:30px;padding:15px 24px;font-size:12px;font-weight:700;min-height:48px;transition:background .2s,transform .2s}.primary-action:hover{background:#34698d;transform:translateY(-2px)}.enter-hint{font-size:10px;color:#81949f}.form-notice{font-size:10px;line-height:1.7;color:#8799a3;margin-top:20px}.form-notice a{text-decoration:underline}.form-footer{border-top:1px solid #d8e2e8;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0 35px}.progress{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:700;color:#56798f}.progress-track{width:100px;height:2px;background:#d9e5ec}.progress-track>div{height:100%;width:33.333%;background:#386f94;transition:width .4s ease}.step-controls{display:flex;align-items:center;gap:22px}.step-controls button,.step-controls a{border:0;background:transparent;color:#456b83;font-size:11px;font-weight:700;padding:12px 0}.step-controls button:disabled{opacity:.35;cursor:default}.review-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0 0}.review-details div{border-top:1px solid #d8e2e8;padding-top:12px;min-width:0}.review-details div:last-child{grid-column:1/-1}.review-details dt{font-size:10px;color:#78909e;font-weight:700}.review-details dd{margin:8px 0 0;color:#1c405f;font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.question[hidden],button[hidden]{display:none}.js-ready .question.is-entering{animation:question-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes question-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){body{padding:0 22px}.contact-header{height:78px}.contact-brand{font-size:25px}.intro-note{display:none}#conversation{padding:45px 0; margin:auto 0}.question h1,.question h2{font-size:clamp(39px,10vw,58px)}.question-number{margin-bottom:20px}.question p{font-size:12px}.field-label{margin-top:32px}.question input,.question textarea{font-size:20px}.enter-hint{display:none}.form-footer{align-items:flex-end;gap:15px}.progress-track{width:55px}.step-controls{gap:16px}.review-details{grid-template-columns:1fr}.review-details div:last-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Three alternative approaches to the guided enquiry. */
.variant-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 20px}
.variant-picker>span{margin-right:auto;color:#68879a;font-size:9px;font-weight:700;letter-spacing:.06em}
.variant-picker button{border:1px solid #c5d4df;border-radius:30px;background:transparent;color:#365e78;padding:9px 14px;font-size:10px;cursor:pointer}
.variant-picker button[aria-pressed=true]{background:#1c405f;border-color:#1c405f;color:#fff}
.contact-page[data-variant="panel"]{background:#e3eff6;border-radius:20px;padding:28px 42px 0;margin-bottom:28px}
.contact-page[data-variant="panel"] .form-intro{border-color:#bdd3e0}
.contact-page[data-variant="panel"] #conversation{width:min(740px,100%);margin:auto;padding:44px 0}
.contact-page[data-variant="panel"] .question{background:#f8fbfc;border-radius:15px;padding:clamp(25px,4vw,55px);box-shadow:0 14px 38px #345c7610}
.contact-page[data-variant="panel"] .question h1,.contact-page[data-variant="panel"] .question h2{font-size:clamp(40px,4.4vw,66px)}
.contact-page[data-variant="panel"] .form-actions,.contact-page[data-variant="panel"] .form-notice{margin-left:4px}
.contact-page[data-variant="panel"] .form-footer{border-color:#bdd3e0}
.contact-page[data-variant="guided"]{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);grid-template-rows:auto auto 1fr auto;column-gap:clamp(35px,7vw,110px)}
.contact-page[data-variant="guided"] .variant-picker{grid-column:1/-1}
.contact-page[data-variant="guided"] .form-intro{grid-column:1;grid-row:2 / span 2;display:flex;flex-direction:column;justify-content:flex-start;gap:18px;border-top:2px solid #1c405f;padding-top:22px}
.contact-page[data-variant="guided"] .intro-note{display:block;font-size:14px;line-height:1.7;letter-spacing:0;max-width:230px;color:#6b8292}
.contact-page[data-variant="guided"] #conversation{grid-column:2;grid-row:2 / span 2;margin:auto 0;padding:70px 0}
.contact-page[data-variant="guided"] .form-footer{grid-column:1/-1}
.contact-page[data-variant="guided"] .question-number{font-size:12px;color:#f8f8f6;background:#1c405f;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;letter-spacing:0}
.contact-page[data-variant="guided"] .question-number span{display:none}
.contact-page[data-variant="guided"] .question input,.contact-page[data-variant="guided"] .question textarea{background:#e9f1f5;border:1px solid #c4d8e3;border-radius:10px;padding:16px 18px}
.contact-page[data-variant="guided"] .question input:focus,.contact-page[data-variant="guided"] .question textarea:focus{border-color:#477d9e}
@media(max-width:640px){.variant-picker{gap:5px;margin-bottom:16px}.variant-picker>span{width:100%;margin-bottom:4px}.variant-picker button{flex:1;padding:9px 5px;white-space:nowrap}.contact-page[data-variant="panel"]{padding:18px 16px 0;margin-bottom:16px}.contact-page[data-variant="panel"] #conversation{padding:30px 0}.contact-page[data-variant="panel"] .question{padding:24px 20px}.contact-page[data-variant="panel"] .question h1,.contact-page[data-variant="panel"] .question h2{font-size:clamp(34px,9vw,50px)}.contact-page[data-variant="guided"]{display:flex}.contact-page[data-variant="guided"] .form-intro{gap:7px}.contact-page[data-variant="guided"] .intro-note{font-size:11px;max-width:none}.contact-page[data-variant="guided"] #conversation{padding:40px 0;margin:auto 0}.contact-page[data-variant="guided"] .question-number{width:48px;height:48px}}
.guided-steps{display:none}.contact-page[data-variant="guided"] .guided-steps{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:30px;max-width:230px}.guided-steps button{text-align:left;border:0;border-top:1px solid #d5e1e8;background:transparent;color:#547489;padding:14px 0;font-size:11px;font-weight:700}.guided-steps button[aria-current=step]{color:#1c405f}.guided-steps button:disabled{opacity:.4;cursor:default}@media(max-width:640px){.contact-page[data-variant="guided"] .guided-steps{flex-direction:row;flex-wrap:wrap;gap:8px;max-width:none;margin-top:12px}.guided-steps button{border:1px solid #d5e1e8;border-radius:20px;padding:8px;font-size:9px}.guided-steps button[aria-current=step]{background:#e2eef5}}
/* Keep the experience within the viewport while preserving access to long content. */
html{height:100%;scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.contact-page::-webkit-scrollbar,#conversation::-webkit-scrollbar{display:none}
body{height:100dvh;min-height:0;max-width:100%;overflow:hidden;scrollbar-width:none}
.contact-header{flex:0 0 100px}
.contact-page{min-height:0;max-height:calc(100dvh - 100px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}
#conversation{min-height:0;flex-shrink:0;padding-top:clamp(24px,5vh,60px);padding-bottom:clamp(24px,5vh,60px)}
.contact-page[data-variant="panel"]{max-height:calc(100dvh - 128px)}
.contact-page[data-variant="guided"]{overflow-y:auto}
@media(max-width:640px){
  .contact-header{flex-basis:78px}
  .contact-page{max-height:calc(100dvh - 78px)}
  .contact-page[data-variant="panel"]{max-height:calc(100dvh - 94px)}
  #conversation,.contact-page[data-variant="guided"] #conversation{padding-top:clamp(22px,4vh,40px);padding-bottom:clamp(22px,4vh,40px)}
  .form-footer{flex-shrink:0;padding:18px 0 22px}
}
@media(max-height:700px){
  .contact-header{height:70px;flex-basis:70px}
  .contact-page{max-height:calc(100dvh - 70px)}
  .contact-page[data-variant="panel"]{max-height:calc(100dvh - 86px)}
  .question-number{margin-bottom:12px}
  .question p{margin-top:12px}
  .field-label{margin-top:20px}
  .form-actions{margin-top:18px}
  .form-footer{padding-top:14px;padding-bottom:16px}
}
/* Editorial-based variations */
.contact-page[data-variant="column"] #conversation{width:min(1050px,100%)}
.contact-page[data-variant="column"] .question{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;align-items:start}
.contact-page[data-variant="column"] .question[hidden]{display:none}
.contact-page[data-variant="column"] .question-number{grid-column:1/-1}
.contact-page[data-variant="column"] .question h1,.contact-page[data-variant="column"] .question h2{grid-column:1;grid-row:2 / span 3;font-size:clamp(42px,4.8vw,72px)}
.contact-page[data-variant="column"] .question p{grid-column:2;grid-row:2;margin:0 0 18px}
.contact-page[data-variant="column"] .field-label{grid-column:2;grid-row:3;margin-top:14px}
.contact-page[data-variant="column"] .question input,.contact-page[data-variant="column"] .question textarea{grid-column:2;grid-row:4}
.contact-page[data-variant="column"] .review-details{grid-column:2;grid-row:3 / span 2}
.contact-page[data-variant="statement"] #conversation{width:min(1120px,100%)}
.contact-page[data-variant="statement"] .question-number{margin-bottom:12px}
.contact-page[data-variant="statement"] .question h1,.contact-page[data-variant="statement"] .question h2{font-size:clamp(58px,7vw,108px);line-height:1}
.contact-page[data-variant="statement"] .question p{margin-top:14px}
.contact-page[data-variant="statement"] .question input,.contact-page[data-variant="statement"] .question textarea{max-width:720px}
.contact-page[data-variant="statement"] .question em{color:#325f7f}
@media(max-width:640px){
  .contact-page[data-variant="column"] .question{display:block}
  .contact-page[data-variant="column"] .question[hidden]{display:none}
  .contact-page[data-variant="column"] .question h1,.contact-page[data-variant="column"] .question h2{font-size:clamp(38px,10vw,56px)}
  .contact-page[data-variant="column"] .question p{margin:18px 0 0}
  .contact-page[data-variant="column"] .field-label{margin-top:30px}
  .contact-page[data-variant="statement"] .question h1,.contact-page[data-variant="statement"] .question h2{font-size:clamp(44px,11vw,65px)}
}
/* Match the main site's outer frame and header alignment. */
body{padding-left:36px;padding-right:36px}
.contact-header,.contact-page{width:100%;max-width:1688px;margin-left:auto;margin-right:auto}
.contact-header{padding-left:13px;padding-right:13px}
@media(max-width:1000px){body{padding-left:22px;padding-right:22px}}
@media(max-width:640px){body{padding-left:14px;padding-right:14px}.contact-header{padding-left:6px;padding-right:6px}.contact-page{padding-left:6px;padding-right:6px}}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.verification{margin-top:20px}.form-status{font-size:12px!important;margin-top:12px!important;color:#376782!important}.form-status[data-error=true]{color:#9a3333!important}.primary-action:disabled{opacity:.55;cursor:wait;transform:none}
.terms-agreement{display:flex;align-items:flex-start;gap:11px;margin-top:20px;color:#1c405f;font-size:12px;line-height:1.6;cursor:pointer}.terms-agreement[hidden]{display:none}.question .terms-agreement input{flex:none;width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:#1c405f}.terms-agreement a{text-decoration:underline;text-underline-offset:3px}
/* Leave room for the agreement, verification and send action on review. */
.review h2{font-size:clamp(38px,4vw,58px)}
.review .review-details{margin-top:18px;gap:12px}
.review .terms-agreement{margin-top:14px}
.review .verification{margin-top:14px}
