/* Contact page: native Elementor content, shared brand fonts and colour palette. */
body.page-id-32{--up-contact-gutter:40px;--up-contact-gap:clamp(32px,4.5vw,72px);--up-contact-max:1450px}
body.page-id-32 .elementor.elementor-32 .up-contact-shell{box-sizing:border-box;width:calc(100% - 2 * var(--up-contact-gutter));max-width:var(--up-contact-max);margin-left:auto;margin-right:auto;min-width:0;padding-left:0;padding-right:0}
body.page-id-32 .elementor.elementor-32 [class*="up-contact-"]{min-width:0;box-sizing:border-box}
body.page-id-32 .elementor.elementor-32 .up-contact-hero{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--up-contact-gap);padding-top:170px;padding-bottom:62px}
body.page-id-32 .elementor.elementor-32 .up-contact-hero-copy{display:flex;flex-direction:column;width:62%;flex:0 1 62%;gap:0}
body.page-id-32 .elementor.elementor-32 .up-contact-hero-aside{display:flex;flex-direction:column;width:30%;flex:0 1 30%;gap:0;max-width:390px}
body.page-id-32 .elementor.elementor-32 .up-contact-breadcrumb{display:flex;align-items:center;gap:12px;margin:0 0 28px;font:10px/1.8 var(--body);color:#9ba1ae}
body.page-id-32 .elementor.elementor-32 .up-contact-breadcrumb a{color:#d5d8df;text-decoration:none}
body.page-id-32 .elementor.elementor-32 .up-contact-breadcrumb a:hover{text-decoration:underline}
body.page-id-32 .elementor.elementor-32 .up-contact-breadcrumb span{color:#646a77}
body.page-id-32 .elementor.elementor-32 .up-contact-eyebrow{display:block;font:10px/1.8 var(--body);letter-spacing:.12em;color:#aeb5c4;margin:0 0 17px}
body.page-id-32 .elementor.elementor-32 h1.up-contact-title{font:400 clamp(76px,7.6vw,116px)/1.04 var(--heading);letter-spacing:.015em;color:#f3f3f5;margin:0 0 24px;text-transform:uppercase}
body.page-id-32 .elementor.elementor-32 .up-contact-lead{font:13px/1.95 var(--body);color:#bfc1c9;max-width:610px;margin:0}
body.page-id-32 .elementor.elementor-32 .up-contact-actions{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:28px}
body.page-id-32 .elementor.elementor-32 a.up-contact-button{min-height:52px;max-width:100%;padding:17px 24px;font-size:11px;text-align:center}
body.page-id-32 .elementor.elementor-32 a.up-contact-text-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font:11px/1.6 var(--body);color:#c8ccd7;text-decoration:none;border-bottom:1px solid #ffffff45}
body.page-id-32 .elementor.elementor-32 a.up-contact-text-link:hover{color:#fff;border-bottom-color:#fff}
body.page-id-32 .elementor.elementor-32 img.up-contact-material-photo{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:16px;display:block}
body.page-id-32 .elementor.elementor-32 .up-contact-image-note{font:9px/1.8 var(--body);letter-spacing:.06em;color:#929aa8;margin:14px 0 0}
body.page-id-32 .elementor.elementor-32 .up-contact-aside-copy{font:12px/1.9 var(--body);color:#aeb5c4;margin:16px 0 0;max-width:560px}
body.page-id-32 .elementor.elementor-32 .up-contact-main{display:flex;flex-direction:row;align-items:flex-start;gap:var(--up-contact-gap);padding-top:48px;padding-bottom:72px;border-top:1px solid #ffffff20;scroll-margin-top:135px}
body.page-id-32 .elementor.elementor-32 .up-contact-info{display:flex;flex-direction:column;width:41%;flex:0 1 41%;gap:0}
body.page-id-32 .elementor.elementor-32 h2.up-contact-heading{font:400 clamp(46px,4.2vw,68px)/1.12 var(--heading);letter-spacing:.015em;color:#f3f3f5;margin:0}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-list{display:flex;flex-direction:column;gap:0;margin-top:28px}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-row{display:block;padding:17px 0;border-top:1px solid #ffffff20}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-label{display:block;font:9px/1.7 var(--body);letter-spacing:.1em;color:#939cac;margin:0 0 8px}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-value{font:12px/1.9 var(--body);color:#d5d8df;margin:0;overflow-wrap:anywhere}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-value a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-value a:hover{text-decoration:underline;text-underline-offset:5px}
body.page-id-32 .elementor.elementor-32 .up-contact-meta-value a span{padding-left:10px;color:#969eac}
body.page-id-32 .elementor.elementor-32 .up-contact-founder{font:9px/1.8 var(--body);letter-spacing:.06em;color:#939cac;margin:9px 0 0}
body.page-id-32 .elementor.elementor-32 .up-contact-project-figure{display:block;margin:28px 0 0;padding:0}
body.page-id-32 .elementor.elementor-32 img.up-contact-project-photo{display:block;width:100%;height:auto;max-height:285px;aspect-ratio:1.65;object-fit:cover;border-radius:14px}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card{display:flex;flex-direction:column;width:59%;flex:0 1 59%;padding:clamp(26px,3vw,42px);background:#151719;border:1px solid #ffffff26;border-radius:22px;gap:0}
body.page-id-32 .elementor.elementor-32 h2.up-contact-form-title{font:400 clamp(44px,3.9vw,62px)/1.12 var(--heading);color:#f3f3f5;letter-spacing:.015em;margin:0 0 17px}
body.page-id-32 .elementor.elementor-32 .up-contact-form-intro{font:11px/1.9 var(--body);color:#aeb5c4;max-width:540px;margin:0 0 27px}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .up-cf7,body.page-id-32 .elementor.elementor-32 .up-contact-form-card .wpcf7{width:100%;min-width:0}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .contact-form{display:flex;flex-direction:column;gap:21px;width:100%;margin:0}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-row{display:flex;flex-direction:row;gap:18px;width:100%}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card label{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0;font:10px/1.7 var(--body);color:#c3c8d2;letter-spacing:.025em}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .wpcf7-form-control-wrap{display:block;width:100%;min-width:0}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card :is(input:not([type="submit"]):not([type="hidden"]),select,textarea){display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #ffffff24;border-radius:9px;background:#202226;color:#f1f2f5;padding:14px 13px;font:15px/1.5 Arial,sans-serif;letter-spacing:normal;min-height:50px;outline-offset:3px}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card :is(input,textarea)::placeholder{font:14px/1.6 Arial,sans-serif;color:#8f97a4;opacity:1}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card textarea{height:154px;min-height:154px;resize:vertical}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card select{color-scheme:dark}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card :is(input,select,textarea):focus-visible{outline:2px solid #d5d9e2;border-color:#d5d9e2}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:2px}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-bottom p{flex:1;min-width:160px;max-width:290px;margin:0;font:9px/1.9 var(--body);color:#919aa8}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card [type="submit"]{border:1px solid #fff;border-radius:99px;background:#fff;color:#101114;padding:16px 22px;font:10px/1.6 var(--body);min-height:51px;max-width:100%;cursor:pointer;white-space:normal}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card [type="submit"]:hover{background:#d8dbe2}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .wpcf7-spinner{display:none}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card form.submitting .wpcf7-spinner{display:inline-block}
body.page-id-32 .elementor.elementor-32 .up-contact-form-card .wpcf7-not-valid-tip{font:12px/1.6 Arial,sans-serif;margin-top:7px}
body.page-id-32 .elementor.elementor-32 .up-contact-faq{display:flex;flex-direction:row;align-items:flex-start;gap:var(--up-contact-gap);padding-top:62px;padding-bottom:64px;border-top:1px solid #ffffff20;scroll-margin-top:130px}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-intro{display:block;width:31%;flex:0 1 31%}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-intro .up-contact-text-link{margin-top:22px}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-list{display:block;width:69%;flex:0 1 69%}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-item{display:block;border-bottom:1px solid #ffffff24;margin:0;padding:0}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-item:first-child{border-top:1px solid #ffffff24}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;font:12px/1.8 var(--body);color:#d5d8df;list-style:none;cursor:pointer}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-summary::-webkit-details-marker{display:none}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-summary:after{content:'+';flex:0 0 20px;text-align:center;font:26px/1 Arial,sans-serif;color:#aeb5c4}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-item[open]>.up-contact-faq-summary:after{content:'−'}
body.page-id-32 .elementor.elementor-32 .up-contact-answer{font:11px/1.95 var(--body);color:#aeb5c4;padding:0 32px 24px 0;margin:0}
body.page-id-32 .elementor.elementor-32 .up-contact-answer p{font:inherit;color:inherit;margin:0}
body.page-id-32 .elementor.elementor-32 .up-contact-faq-summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
body.page-id-32 .elementor.elementor-32 .up-contact-profile{padding-top:16px;padding-bottom:80px}
body.page-id-32 .elementor.elementor-32 .up-contact-profile-card{display:flex;flex-direction:row;align-items:center;gap:clamp(28px,4vw,64px);border:1px solid #ffffff26;border-radius:20px;background:#17191c;padding:30px;overflow:hidden}
body.page-id-32 .elementor.elementor-32 img.up-contact-profile-cover{display:block;width:320px;flex:0 0 320px;height:auto;aspect-ratio:1.6;object-fit:contain;background:#0b1021;border-radius:10px}
body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy{display:flex;flex-direction:column;gap:0;flex:1}
body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy h2{font-size:clamp(42px,3.7vw,60px)}
body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy .up-contact-actions{margin-top:24px}
body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy .up-contact-image-note{margin:0}
body.page-id-32 .footer>.container{width:calc(100% - 2 * var(--up-contact-gutter));max-width:var(--up-contact-max);padding-left:0;padding-right:0;margin-left:auto;margin-right:auto}
body.page-id-32 .footer{padding-top:62px}
body.page-id-32 .footer-top{padding-bottom:42px}
body.page-id-32 .footer .up-cx-footer-contact{padding-top:30px;padding-bottom:30px}
body.page-id-32 .footer-bottom{padding-top:24px;padding-bottom:24px}
body.page-id-32 .footer-marquee{font-size:clamp(42px,6.5vw,110px);line-height:1.15;padding-top:16px;padding-bottom:24px}
@media(min-width:1025px) and (max-width:1279px){
 body.page-id-32 .up-editable-header .elementor-element-upbrand{flex:0 1 220px!important;min-width:200px;gap:10px!important}
 body.page-id-32 .up-editable-header .elementor-element-upbrandcopy{width:auto!important;flex:1 1 auto!important;min-width:0}
 body.page-id-32 .up-header-contact{flex-shrink:0!important}
}
@media(max-width:1024px){
 body.page-id-32{--up-contact-gutter:30px;--up-contact-gap:36px}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero{padding-top:142px;padding-bottom:48px}
 body.page-id-32 .elementor.elementor-32 h1.up-contact-title{font-size:82px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card{padding:28px}
 body.page-id-32 .elementor.elementor-32 .up-contact-main{padding-top:38px;padding-bottom:50px}
}
@media(max-width:980px){
 body.page-id-32 .elementor.elementor-32 .up-contact-main{flex-direction:column;gap:36px}
 body.page-id-32 .elementor.elementor-32 .up-contact-info,body.page-id-32 .elementor.elementor-32 .up-contact-form-card{width:100%;flex-basis:auto}
 body.page-id-32 .elementor.elementor-32 .up-contact-meta-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
 body.page-id-32 .elementor.elementor-32 .up-contact-meta-row:last-of-type{grid-column:1/-1}
 body.page-id-32 .elementor.elementor-32 .up-contact-project-figure{max-width:640px}
 body.page-id-32 .elementor.elementor-32 img.up-contact-project-photo{max-height:285px;aspect-ratio:2}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq{gap:30px}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq-intro{width:32%;flex-basis:32%}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq-list{width:68%;flex-basis:68%}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile-card{padding:24px;gap:30px}
 body.page-id-32 .elementor.elementor-32 img.up-contact-profile-cover{width:240px;flex-basis:240px;height:auto}
}
@media(max-width:767px){
 body.page-id-32{--up-contact-gutter:20px;--up-contact-gap:28px}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero{flex-direction:column;align-items:stretch;gap:30px;padding-top:112px;padding-bottom:38px}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero-copy{width:100%;flex-basis:auto}
 body.page-id-32 .elementor.elementor-32 .up-contact-breadcrumb{margin-bottom:20px;font-size:9px}
 body.page-id-32 .elementor.elementor-32 h1.up-contact-title{font-size:clamp(58px,10vw,76px);margin-bottom:20px}
 body.page-id-32 .elementor.elementor-32 .up-contact-lead{font-size:11px;line-height:1.9}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero-aside{display:grid;grid-template-columns:116px minmax(0,1fr);column-gap:17px;row-gap:8px;width:100%;max-width:none;flex-basis:auto}
 body.page-id-32 .elementor.elementor-32 img.up-contact-material-photo{grid-column:1;grid-row:1/3;width:116px;height:116px;aspect-ratio:1;object-position:center 60%;border-radius:12px}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero-aside .up-contact-image-note{grid-column:2;align-self:end;margin:0}
 body.page-id-32 .elementor.elementor-32 .up-contact-hero-aside .up-contact-aside-copy{grid-column:2;align-self:start;max-width:none;font-size:9px;margin:0;line-height:1.8}
 body.page-id-32 .elementor.elementor-32 .up-contact-image-note{font-size:8px;margin-top:11px}
 body.page-id-32 .elementor.elementor-32 h2.up-contact-heading{font-size:48px}
 body.page-id-32 .elementor.elementor-32 .up-contact-meta-list{display:flex;flex-direction:column;margin-top:22px}
 body.page-id-32 .elementor.elementor-32 .up-contact-meta-value{font-size:11px}
 body.page-id-32 .elementor.elementor-32 .up-contact-project-figure{margin-top:22px;width:100%}
 body.page-id-32 .elementor.elementor-32 img.up-contact-project-photo{aspect-ratio:1.6;max-height:240px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card{padding:24px 20px;border-radius:17px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card{order:-1}
 body.page-id-32 .elementor.elementor-32 h2.up-contact-form-title{font-size:46px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-row{flex-direction:column;gap:20px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card :is(input:not([type="submit"]):not([type="hidden"]),select,textarea){font-size:16px;min-height:51px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-bottom{align-items:stretch;flex-direction:column;gap:16px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card .form-bottom p{max-width:none;min-width:0;order:2;font-size:8px}
 body.page-id-32 .elementor.elementor-32 .up-contact-form-card [type="submit"]{width:100%;order:1}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq{flex-direction:column;gap:28px;padding-top:40px;padding-bottom:42px}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq-intro,body.page-id-32 .elementor.elementor-32 .up-contact-faq-list{width:100%;flex-basis:auto}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq-intro .up-contact-text-link{margin-top:15px}
 body.page-id-32 .elementor.elementor-32 .up-contact-faq-summary{font-size:10px;padding:20px 0;gap:16px}
 body.page-id-32 .elementor.elementor-32 .up-contact-answer{font-size:10px;padding-right:10px}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile{padding-top:0;padding-bottom:48px}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile-card{align-items:flex-start;gap:24px;padding:22px;flex-direction:column}
 body.page-id-32 .elementor.elementor-32 img.up-contact-profile-cover{width:100%;max-width:360px;flex:0 0 auto;height:auto;align-self:center}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy h2{font-size:44px}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy .up-contact-eyebrow{font-size:9px}
 body.page-id-32 .elementor.elementor-32 .up-contact-profile-copy .up-contact-aside-copy{font-size:10px}
 body.page-id-32 .footer{padding-top:42px}
 body.page-id-32 .footer-top{padding-bottom:30px}
}
@media(max-width:380px){body.page-id-32 .elementor.elementor-32 .up-contact-actions{gap:15px}body.page-id-32 .elementor.elementor-32 a.up-contact-button{font-size:10px;padding:15px 18px}body.page-id-32 .elementor.elementor-32 a.up-contact-text-link{font-size:10px}body.page-id-32 .elementor.elementor-32 h2.up-contact-form-title{font-size:42px}}
@media(max-width:359px){body.page-id-32{--up-contact-gutter:16px}}
