:root{--charcoal:#0e1013;--white:#fff;--blue:#7B49FF;--blue-light:#20C4F2;--ink:#111214;--muted:#69717f;--line:rgba(22,29,45,.13);--ff-display:'Bricolage Grotesque',sans-serif;--ff-body:'Inter',sans-serif;--title-size:clamp(42px,4.6vw,64px);--section-size:clamp(30px,3vw,38px);--body-size:15.5px;--eyebrow-size:13px}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--ff-body);font-size:var(--body-size);color:var(--ink);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.contact-wrap,.wrap{width:100%;max-width:1800px;margin:0 auto;padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px)}
.contact-grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.022;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.contact-page{position:relative;padding:190px 0 105px;min-height:900px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.contact-orb{position:absolute;width:720px;height:720px;border-radius:50%;right:-260px;top:-260px;background:radial-gradient(circle,rgba(32,196,242,.12),rgba(123,73,255,.06) 46%,transparent 70%);pointer-events:none}.contact-layout{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(540px,1.14fr);gap:clamp(70px,7vw,130px);align-items:start}.contact-eyebrow,.form-head>span{font-size:var(--eyebrow-size);font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--blue-light)}.contact-copy>h1{font:600 var(--title-size)/1.01 var(--ff-display);letter-spacing:-.035em;max-width:12ch;margin:24px 0 22px}.contact-intro{font-size:17px;line-height:1.65;color:var(--muted);max-width:43ch}.contact-info-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.2vw,38px);margin-top:76px}.contact-info{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:start}.contact-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#e5f8fd}.contact-icon svg{width:34px;height:34px;fill:none;stroke:#08afe2;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-info h2{font:500 18px/1.25 var(--ff-display);letter-spacing:-.015em;margin:3px 0 8px}.contact-info p,.contact-info address{font-size:13px;line-height:1.6;color:var(--muted);font-style:normal}.contact-info a{color:#08aedd;transition:color .25s;overflow-wrap:anywhere}.contact-info a:hover{color:var(--blue)}.contact-info .contact-strong{color:var(--ink);font-weight:500;margin-top:3px}.contact-strong a{color:inherit}.contact-links{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;font-size:12.5px}.contact-links a{color:var(--muted)}
.contact-form-panel{position:relative;padding:42px clamp(30px,3.3vw,54px) 46px;border:1px solid rgba(32,196,242,.15);border-radius:22px;background:linear-gradient(145deg,rgba(238,250,253,.92),rgba(243,239,255,.78));box-shadow:0 35px 80px -65px rgba(36,70,130,.45)}.form-head{margin-bottom:28px}.form-head h2{font:600 var(--section-size)/1.07 var(--ff-display);letter-spacing:-.027em;margin-top:9px}#contactForm{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.form-honeypot{display:none!important}.form-field{display:flex;flex-direction:column}.form-field-full{grid-column:1/-1}.form-field label{font-size:13px;font-weight:500;margin-bottom:9px;color:#273044}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(65,87,121,.2);outline:0;border-radius:10px;background:rgba(255,255,255,.9);color:var(--ink);padding:15px 16px;transition:border-color .25s,box-shadow .25s,background .25s}.form-field input,.form-field select{height:52px}.form-field textarea{resize:vertical;min-height:130px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#9299a5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:#fff;border-color:var(--blue-light);box-shadow:0 0 0 4px rgba(32,196,242,.1)}.select-wrap{position:relative}.select-wrap::after{content:'';position:absolute;right:18px;top:50%;width:7px;height:7px;border-right:1.5px solid #44506a;border-bottom:1.5px solid #44506a;transform:translateY(-70%) rotate(45deg);pointer-events:none}.form-field select{appearance:none;padding-right:42px}.form-field small{display:none;color:#d64d5a;font-size:11.5px;margin-top:7px}.form-field.invalid small{display:block}.form-field.invalid input,.form-field.invalid select,.form-field.invalid textarea{border-color:#d64d5a}.contact-submit{grid-column:1/-1;height:58px;border:0;border-radius:45px;display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;background:linear-gradient(90deg,#13c8e8 0%,#4384f8 52%,#9346f6 100%);font-size:15px;font-weight:600;cursor:pointer;transition:transform .3s,box-shadow .3s,opacity .3s}.contact-submit:hover{transform:translateY(-2px);box-shadow:0 14px 34px -18px rgba(85,65,220,.72)}.contact-submit:disabled{cursor:wait;opacity:.7;transform:none}.contact-submit b{font-size:20px;font-weight:400;transition:transform .3s}.contact-submit:hover b{transform:translateX(4px)}.form-status{grid-column:1/-1;min-height:18px;text-align:center;font-size:13px;color:#278760}.contact-form-panel.is-success>.form-head,.contact-form-panel.is-success>#contactForm{visibility:hidden;pointer-events:none}.contact-form-success{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px clamp(30px,3.3vw,54px)}.contact-form-success[hidden]{display:none}.contact-form-success>span{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-light)}.contact-form-success h2{font:600 clamp(34px,3.5vw,52px)/1.05 var(--ff-display);letter-spacing:-.03em;margin:14px 0 14px}.contact-form-success p{font-size:16px;line-height:1.6;color:var(--muted)}
.contact-reveal{opacity:0;transform:translate3d(0,42px,0);transition:opacity .85s ease,transform 1s cubic-bezier(.22,.61,.36,1);transition-delay:var(--contact-delay,0ms)}.contact-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.phone-input-wrap{display:flex;align-items:center;height:52px;border:1px solid rgba(65,87,121,.2);border-radius:10px;background:rgba(255,255,255,.9);overflow:hidden;transition:border-color .25s,box-shadow .25s,background .25s}.phone-input-wrap:focus-within{background:#fff;border-color:var(--blue-light);box-shadow:0 0 0 4px rgba(32,196,242,.1)}.phone-prefix{display:flex;align-items:center;align-self:stretch;padding:0 13px 0 16px;border-right:1px solid rgba(65,87,121,.14);color:#273044;font-size:14px;font-weight:600}.phone-input-wrap input{height:50px;border:0;border-radius:0;background:transparent;box-shadow:none!important}.form-field.invalid .phone-input-wrap{border-color:#d64d5a}
@media(max-width:1180px){.contact-layout{grid-template-columns:1fr 1fr;gap:55px}.contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:62px}}
@media(max-width:900px){.contact-page{padding-top:158px}.contact-layout{grid-template-columns:1fr;gap:62px}.contact-copy>h1{max-width:15ch}.contact-form-panel{padding:38px}.contact-copy{max-width:760px}}
@media(max-width:640px){:root{--title-size:var(--mobile-page-title);--section-size:var(--mobile-section-title)}.contact-wrap,.wrap{padding-left:22px;padding-right:22px}.contact-page{padding:130px 0 72px}.contact-copy>h1{max-width:12ch;margin-top:20px}.contact-intro{font-size:15.5px}.contact-info-grid{grid-template-columns:1fr;gap:30px;margin-top:44px}.contact-info{grid-template-columns:58px 1fr;gap:16px}.contact-icon{width:58px;height:58px;border-radius:16px}.contact-icon svg{width:34px;height:34px}.contact-info h2{font-size:19px}.contact-form-panel{padding:30px 22px;border-radius:17px}#contactForm{grid-template-columns:1fr;gap:18px}.form-field,.form-field-full{grid-column:1}.contact-submit{grid-column:1}.form-status{grid-column:1}}
@media(prefers-reduced-motion:reduce){.contact-reveal{opacity:1;transform:none;transition:none}}

/* Contact enquiry layout and consent fields */
.contact-layout{grid-template-columns:minmax(0,1fr);gap:clamp(44px,5vw,72px)}
.contact-copy{width:100%}
.contact-copy>h1{max-width:15ch}
.contact-intro{max-width:72ch}
.contact-form-panel{width:100%;max-width:none;margin:0}
.form-field[hidden]{display:none}
.field-optional{font-weight:400;color:#7d8696}
.required-mark{color:#d64d5a;font-size:.88em;font-weight:700;margin-left:2px}
.form-consents{display:grid;gap:13px;padding-top:3px}
.consent-row{display:flex;align-items:flex-start;gap:12px;color:#566174;font-size:13px;line-height:1.55;cursor:pointer}
.consent-row input{flex:0 0 18px;width:18px;height:18px;margin-top:1px;accent-color:#6f55f7}
.consent-row a{color:#148fce;text-decoration:underline;text-underline-offset:2px}
.consent-row em{font-style:normal;color:#7d8696}
.form-consents>small{display:none;color:#d64d5a;font-size:11.5px}
.form-consents.invalid>small{display:block}
@media(max-width:900px){.contact-layout{gap:54px}}
