/* Keep the menu centred independently of either edge of the header. */
@media(min-width:1201px){
 .nav-shell>nav{position:absolute;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
 .nav-shell>.button{margin-left:auto}
}
@media(min-width:901px) and (max-width:1200px){
 .nav-shell>nav{display:none}
 .nav-shell>.button{margin-left:auto}
 .nav-shell>.menu-toggle{display:block;min-width:44px;min-height:44px;padding:8px 0;border:0;background:transparent;font-size:13px}
 .mobile-menu{position:fixed;z-index:19;top:100px;left:16px;right:16px;max-height:calc(100dvh - 120px);overflow-y:auto;display:flex;flex-direction:column;padding:12px 20px;background:#fff;border-radius:13px;box-shadow:0 15px 45px #18364725}
 .mobile-menu[hidden]{display:none}
 .mobile-menu a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px;line-height:1.4}
}
.hero-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:22px}
.hero-actions .hero-button{margin-top:0;margin-bottom:15px}
.hero-actions .contact-soft{min-height:32px;padding:5px 0;font-size:13px;line-height:1.5;font-weight:400;border-bottom:0;text-decoration:underline;text-decoration-color:#17364d66;text-underline-offset:4px;gap:0}
.hero-actions .contact-soft>span{display:none}
.contact-soft{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;color:#17364d;font-size:15px;line-height:1.3;font-weight:550;text-decoration:none;border-bottom:1px solid currentColor;padding:9px 0}
.contact-soft:hover{color:#1455dc}
.contact-soft>span{font-size:20px}
.contact-soft:focus-visible{outline:3px solid #185add;outline-offset:5px}
.contact-soft--closing{display:flex;width:fit-content;margin-top:16px}
.footer-links{flex-wrap:wrap;row-gap:12px}
.customer-voice{row-gap:52px}
.customer-reference-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;border-top:1px solid #cfdae3;padding-top:42px}
.customer-reference{display:flex;flex-direction:column;gap:27px;margin:0;min-width:0}
.customer-reference blockquote{font-size:clamp(23px,2.05vw,29px);font-weight:450;line-height:1.4;letter-spacing:-.025em;margin:0;color:#17364d}
.customer-reference figcaption{display:flex;gap:18px;align-items:center;margin-top:auto}
.customer-reference figcaption>img{width:76px;height:76px;object-fit:cover;object-position:center;border-radius:50%;background:#e6ebf0;filter:grayscale(1);flex:none}
.customer-reference figcaption>span{display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.4}
.customer-reference figcaption strong{font-size:16px;font-weight:600}
.customer-reference figcaption>span>span{color:#536b7b}
.contact-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d5e0e9;border-radius:18px;color:#17364d;background:#fff;box-shadow:0 30px 90px #102c4a40;overflow:auto}
.contact-dialog::backdrop{background:#112b4566;backdrop-filter:blur(4px)}
.contact-dialog__inner{position:relative;padding:34px 36px 28px}
.contact-dialog__close{position:absolute;right:13px;top:13px;width:44px;height:44px;border:0;border-radius:50%;background:#eff4f8;color:#17364d;font-size:29px;line-height:1;cursor:pointer}
.contact-dialog__close:hover{background:#e0eaf3}
.contact-dialog__logo{width:112px;height:auto;margin:0 0 22px;display:block}
.contact-dialog h2{font-family:inherit;font-size:32px;line-height:1.12;font-weight:600;letter-spacing:-.035em;margin:0 0 12px;color:#17364d}
.contact-dialog #contact-intro{font-size:17px;line-height:1.45;color:#536b7b;margin:0 0 25px}
.contact-form{display:grid;gap:17px;margin:0}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:17px;min-width:0}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4;color:#17364d;font-weight:500;min-width:0}
.contact-form input:not([type=checkbox]),.contact-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #b9cbd9;background:#fbfcfe;border-radius:7px;padding:11px 12px;font-family:inherit;font-weight:400;font-size:16px;line-height:1.4;color:#17364d}
.contact-form textarea{resize:vertical;min-height:100px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #185add;outline-offset:2px;border-color:transparent}
.contact-form__consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px!important;font-size:13px!important;font-weight:400!important;color:#536b7b!important}
.contact-form__consent input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#185add}
.contact-form__consent a,.contact-dialog__alternative a{color:#185add;text-decoration:underline;text-underline-offset:3px}
.contact-form__submit{justify-self:start;border:0;min-height:46px;padding:12px 22px;font-size:15px;cursor:pointer}
.contact-form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form__status{margin:0;padding:13px 15px;background:#edf3fa;border-radius:7px;font-size:15px;line-height:1.45;color:#17364d}
.contact-dialog__alternative{font-size:13px;line-height:1.5;color:#536b7b;margin:20px 0 0}
html.contact-dialog-open{overflow:hidden}
@media(max-width:600px){
 .hero-actions{flex-direction:column;gap:7px;margin-top:19px}
 .hero-actions .contact-soft{min-height:32px;font-size:13px;padding:5px 0}
 .customer-voice{row-gap:34px}
 .customer-reference-row{grid-template-columns:1fr;gap:30px;padding-top:30px}
 .customer-reference{gap:20px}
 .customer-reference+ .customer-reference{border-top:1px solid #d6e0e8;padding-top:30px}
 .customer-reference blockquote{font-size:24px;line-height:1.4}
 .contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:14px}
 .contact-dialog__inner{padding:26px 22px 22px}
 .contact-dialog h2{font-size:29px;padding-right:12px}
 .contact-dialog__logo{width:102px;margin-bottom:20px}
 .contact-form__row{grid-template-columns:1fr;gap:17px}
 .contact-form__submit{width:100%;justify-content:center}
}
