
/* Shared full-width contact layout, scoped to the two redesigned sections. */
body .ut-contact{background:#fff;color:#102d43;padding:64px 0 72px}
body #contacts-hero.ut-contact{padding:calc(var(--site-header-height,156px) + 24px) 0 72px!important}
body .ut-contact>.ut-contact-shell{width:100%;max-width:none;padding-inline:clamp(24px,5vw,104px);margin:0 auto}
.ut-contact .ut-contact-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(32px,5vw,88px);align-items:end;margin:0 0 44px}
.ut-contact .ut-contact-eyebrow{display:block;color:#005ca9;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:14px}
.ut-contact .ut-contact-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(34px,3.6vw,60px);line-height:1.1;font-weight:800;letter-spacing:-.045em;color:#102d43;margin:0;max-width:20ch;text-wrap:balance}
.ut-contact .ut-contact-title span{color:#005ca9}
.ut-contact .ut-contact-lead{font-size:clamp(16px,1.2vw,19px);line-height:1.75;color:#486378;margin:0;max-width:52ch}
.ut-contact .ut-contact-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:stretch}
.ut-contact .ut-contact-form{min-width:0;display:grid;gap:28px;margin:0;padding:0;background:none;border:0;box-shadow:none}
.ut-contact .ut-contact-group{min-width:0;border:0;margin:0;padding:0}
.ut-contact .ut-contact-group legend{display:block;width:100%;margin:0 0 18px;padding:0;font-size:13px;font-weight:800;color:#005ca9;letter-spacing:.06em;text-transform:uppercase}
.ut-contact .ut-contact-group legend span{color:#7698af;margin-right:10px;font-weight:500}
.ut-contact .ut-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ut-contact .ut-contact-field{display:grid;gap:8px;min-width:0}
.ut-contact .ut-contact-field>span{font-size:14px;font-weight:700;color:#24485f}
.ut-contact .ut-contact-field input,.ut-contact .ut-contact-field select,.ut-contact .ut-contact-field textarea{box-sizing:border-box;width:100%;min-width:0;font:600 16px Inter,sans-serif;line-height:1.5;color:#123d59;background:#eef6fb;border:1px solid #d9e9f3;border-radius:28px;padding:15px 22px;box-shadow:none;transition:border-color .2s,background .2s}
.ut-contact .ut-contact-field input::placeholder,.ut-contact .ut-contact-field textarea::placeholder{font-weight:400;color:#5a7385;opacity:1}
.ut-contact .ut-contact-field select{appearance:auto;padding-right:20px}
.ut-contact .ut-contact-field select option{background:#fff;color:#123d59}
.ut-contact .ut-contact-field textarea{border-radius:20px;min-height:136px;resize:vertical}
.ut-contact .ut-contact-field input:focus,.ut-contact .ut-contact-field select:focus,.ut-contact .ut-contact-field textarea:focus{outline:3px solid #009fd333;outline-offset:2px;border-color:#005ca9;background:#fff}
.ut-contact .ut-contact-wide{grid-column:1/-1}
.ut-contact .ut-contact-send{display:flex;justify-content:space-between;align-items:center;gap:24px}
.ut-contact .ut-contact-send p{font-size:12px;color:#5a7385;line-height:1.7;margin:0;max-width:44ch}
.ut-contact .ut-contact-send a{text-decoration:underline;text-underline-offset:3px;color:#005ca9}
.ut-contact .ut-contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;border-radius:28px;padding:16px 26px;background:#005ca9;color:#fff;font:700 16px Inter,sans-serif;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}
.ut-contact .ut-contact-submit:hover{background:#004980;transform:translateY(-2px)}
.ut-contact .ut-contact-submit:focus-visible{outline:3px solid #00a1d6;outline-offset:4px}
.ut-contact .ut-contact-direct{display:flex;flex-direction:column;min-width:0;padding:clamp(28px,3vw,48px);border-radius:24px;background:linear-gradient(145deg,#0b3854,#005ca9);color:#fff}
.ut-contact .ut-contact-direct .ut-contact-eyebrow{color:#88ddff;margin-bottom:18px}
.ut-contact .ut-contact-direct h3{font-size:clamp(26px,2.4vw,38px);line-height:1.15;letter-spacing:-.035em;color:#fff;margin:0 0 18px}
.ut-contact .ut-contact-direct>p{font-size:16px;line-height:1.7;color:#d2e7f5;margin:0 0 24px}
.ut-contact .ut-contact-links{display:grid;gap:0;margin:0;padding:0;list-style:none}
.ut-contact .ut-contact-links li{padding:18px 0;border-top:1px solid #ffffff30}
.ut-contact .ut-contact-links small{display:block;color:#aed8f2;font-size:12px;font-weight:600;margin-bottom:6px}
.ut-contact .ut-contact-links a{display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(17px,1.5vw,24px);font-weight:700;line-height:1.4;color:#fff;overflow-wrap:anywhere}
.ut-contact .ut-contact-links a:hover{text-decoration:underline;text-underline-offset:5px}
.ut-contact .ut-contact-links a:focus-visible{outline:2px solid #88ddff;outline-offset:5px}
.ut-contact .ut-contact-direct .ut-contact-personal{margin:auto 0 0;padding-top:28px;font-size:14px;line-height:1.65;color:#d2e7f5}
.ut-contact .ut-contact-personal strong{display:block;color:#fff;font-size:16px;margin-bottom:4px}
.ut-contact .ut-contact-direct .ut-contact-vat{font-size:11px;margin:18px 0 0;color:#aed8f2}
.ut-contact .form-note{font-size:14px;color:#005ca9;text-align:left}
@media(min-width:1700px){.ut-contact .ut-contact-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.ut-contact .ut-contact-field textarea{min-height:164px}}
@media(max-width:900px){.ut-contact .ut-contact-intro{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.ut-contact .ut-contact-title{max-width:24ch}.ut-contact .ut-contact-lead{max-width:65ch}.ut-contact .ut-contact-grid{grid-template-columns:1fr;gap:32px}.ut-contact .ut-contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.ut-contact .ut-contact-direct .ut-contact-eyebrow{grid-column:1/-1}.ut-contact .ut-contact-direct h3{grid-column:1}.ut-contact .ut-contact-direct>p{grid-column:1}.ut-contact .ut-contact-direct .ut-contact-links{grid-column:2;grid-row:2/5}.ut-contact .ut-contact-direct .ut-contact-personal{padding-top:10px}.ut-contact .ut-contact-direct .ut-contact-vat{grid-column:1/-1}}
@media(max-width:600px){body .ut-contact{padding:44px 0 48px}body #contacts-hero.ut-contact{padding-top:calc(var(--site-header-height,124px) + 18px)!important;padding-bottom:48px!important}body .ut-contact>.ut-contact-shell{padding-inline:24px}.ut-contact .ut-contact-title{font-size:34px}.ut-contact .ut-contact-fields{grid-template-columns:1fr;gap:18px}.ut-contact .ut-contact-send{align-items:stretch;flex-direction:column;gap:18px}.ut-contact .ut-contact-submit{width:100%;justify-content:space-between}.ut-contact .ut-contact-direct{display:flex;padding:28px}.ut-contact .ut-contact-direct .ut-contact-personal{padding-top:24px}.ut-contact .ut-contact-links a{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ut-contact *{transition:none!important}}
body #contacts-hero .ut-contact-title{font-size:clamp(34px,3.6vw,60px);line-height:1.1;margin:0;max-width:24ch;color:#102d43}
@media(max-width:600px){body #contacts-hero .ut-contact-title{font-size:34px}}
@media(min-width:901px){.ut-contact .ut-contact-form{grid-template-rows:auto 1fr auto}.ut-contact .ut-contact-group:nth-child(2){display:flex;flex-direction:column}.ut-contact .ut-contact-group:nth-child(2) .ut-contact-fields{flex:1;grid-template-rows:auto 1fr}.ut-contact .ut-contact-group:nth-child(2) .ut-contact-field:last-child{grid-template-rows:auto 1fr}.ut-contact .ut-contact-field textarea{height:100%}}
/* Animated colour behind translucent contact panels; content stays unchanged. */
body .ut-contact,body #contacts-hero.ut-contact{position:relative;isolation:isolate;overflow:hidden;background:#edf1f3!important}
body .ut-contact>.ut-contact-shell{position:relative;z-index:1}
body .ut-contact::before,body #contacts-hero.ut-contact::before{content:""!important;display:block!important;position:absolute;pointer-events:none;z-index:0;left:8%;top:20%;width:76%;height:70%;border-radius:42% 58% 63% 37%/53% 40% 60% 47%;background:radial-gradient(ellipse at 25% 65%,rgba(174,240,130,.8),transparent 54%),radial-gradient(ellipse at 62% 36%,rgba(26,171,202,.68),transparent 60%),radial-gradient(ellipse at 83% 65%,rgba(63,138,235,.65),transparent 58%);filter:blur(38px);animation:utContactAura 13s ease-in-out infinite!important;transform-origin:center;opacity:.9}
body .ut-contact::after,body #contacts-hero.ut-contact::after{content:""!important;display:block!important;position:absolute;pointer-events:none;z-index:0;left:45%;top:20%;width:42%;height:60%;border-radius:50%;background:radial-gradient(ellipse,rgba(103,190,240,.62),rgba(93,214,189,.32) 45%,transparent 72%);filter:blur(42px);animation:utContactAccent 17s ease-in-out infinite!important;opacity:.8}
@keyframes utContactAura{0%,100%{transform:translate(-5%,3%) rotate(-8deg) scale(.98)}45%{transform:translate(8%,-7%) rotate(9deg) scale(1.09)}75%{transform:translate(1%,8%) rotate(-3deg) scale(1.03)}}
@keyframes utContactAccent{0%,100%{transform:translate(0,5%) scale(1)}50%{transform:translate(-42%,24%) scale(1.22)}}
body .ut-contact .ut-contact-form,body .ut-contact .ut-contact-direct{background:rgba(255,255,255,.37);border:1px solid rgba(255,255,255,.62);border-radius:24px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 32px -22px rgba(16,48,70,.32);padding:clamp(24px,2.6vw,40px)}
body .ut-contact .ut-contact-field input,body .ut-contact .ut-contact-field select,body .ut-contact .ut-contact-field textarea{background:rgba(255,255,255,.66);border-color:rgba(151,183,205,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body .ut-contact .ut-contact-field input:focus,body .ut-contact .ut-contact-field select:focus,body .ut-contact .ut-contact-field textarea:focus{background:rgba(255,255,255,.9)}
body .ut-contact .ut-contact-direct{color:#102d43}
body .ut-contact .ut-contact-direct h3,body .ut-contact .ut-contact-links a,body .ut-contact .ut-contact-personal strong{color:#102d43}
body .ut-contact .ut-contact-direct .ut-contact-eyebrow{color:#005ca9}
body .ut-contact .ut-contact-direct>p,body .ut-contact .ut-contact-direct .ut-contact-personal,body .ut-contact .ut-contact-direct .ut-contact-vat{color:#3d5b70}
body .ut-contact .ut-contact-links small{color:#376681}
body .ut-contact .ut-contact-links li{border-color:rgba(63,108,137,.2)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body .ut-contact .ut-contact-form,body .ut-contact .ut-contact-direct{background:rgba(255,255,255,.8)}}
@media(max-width:600px){body .ut-contact::before,body #contacts-hero.ut-contact::before{left:-30%;width:150%;height:70%;top:15%}body .ut-contact::after,body #contacts-hero.ut-contact::after{left:0;width:110%;height:45%;top:50%}body .ut-contact .ut-contact-form,body .ut-contact .ut-contact-direct{padding:22px}}
@media(prefers-reduced-motion:reduce){body .ut-contact::before,body .ut-contact::after,body #contacts-hero.ut-contact::before,body #contacts-hero.ut-contact::after{animation:none!important}}

/* Taller auras extend above the section while preserving the content grid. */
body .ut-contact,body #contacts-hero.ut-contact{overflow:visible}
body .ut-contact::before,body #contacts-hero.ut-contact::before{top:-22%;height:118%;left:0;width:92%}
body .ut-contact::after,body #contacts-hero.ut-contact::after{top:-18%;height:100%;left:32%;width:64%}
.ut-service-picker{position:relative;min-width:0}
.ut-service-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
.ut-service-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border:1px solid rgba(151,183,205,.35);border-radius:28px;background:rgba(255,255,255,.66);color:#123d59;font:600 16px/1.5 Inter,sans-serif;text-align:left;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .25s,border-color .25s}
.ut-service-trigger::after{content:"";width:8px;height:8px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.ut-service-trigger[aria-expanded="true"]::after{transform:rotate(225deg) translate(-2px,-2px)}
.ut-service-trigger:focus-visible{outline:3px solid #009fd333;outline-offset:2px;border-color:#005ca9}
.ut-service-trigger[aria-invalid="true"]{border-color:#b42318}
.ut-service-options{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;max-height:285px;overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(248,253,255,.96);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 14px 32px rgba(16,48,70,.16);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.ut-service-picker.is-open{z-index:20}
.ut-service-picker.is-open .ut-service-options{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.ut-service-options [role="option"]{padding:11px 14px;border-radius:12px;color:#23485f;font:600 15px/1.5 Inter,sans-serif;cursor:pointer}
.ut-service-options [role="option"]:hover,.ut-service-options [role="option"].is-active{background:#e2f1fa;color:#005ca9}
.ut-service-options [aria-selected="true"]{font-weight:800}
body .ut-contact .ut-contact-form:has(.ut-service-picker.is-open){position:relative;z-index:4}
@media(max-width:600px){body .ut-contact::before,body #contacts-hero.ut-contact::before{left:-18%;top:-12%;width:118%;height:108%}body .ut-contact::after,body #contacts-hero.ut-contact::after{left:0;top:-8%;width:100%;height:100%}.ut-service-options{max-height:240px}}
@media(prefers-reduced-motion:reduce){.ut-service-options,.ut-service-trigger,.ut-service-trigger::after{transition:none!important}}
.ut-service-picker.opens-up .ut-service-options{top:auto;bottom:calc(100% + 8px);transform:translateY(8px)}
.ut-service-picker.opens-up.is-open .ut-service-options{transform:translateY(0)}
/* Keep the extended auras above the section without horizontal overflow. */
body .ut-contact,body #contacts-hero.ut-contact{overflow-x:clip;overflow-y:visible}
