/* Local behavior and accessible navigation; original section styling lives in assets/. */
html { scroll-behavior:smooth; }
body { margin:0; }
.uth-header { padding:25px 4%; display:flex; align-items:center; justify-content:space-between; gap:32px; background:#fff; position:relative; z-index:10; }
.uth-logo { width:290px; height:auto; display:block; }
#primary-nav { display:flex; align-items:center; gap:32px; font:500 15px Poppins,sans-serif; }
#primary-nav a { color:#292735; text-decoration:none; white-space:nowrap; }
#primary-nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:8px; }
.uth-button, #primary-nav .uth-button { display:inline-block; border:0; border-radius:50px; background:#ff2525; color:white; padding:20px 32px; font:500 17px sofia-pro,sans-serif; cursor:pointer; text-decoration:none; text-align:center; }
.uth-button:hover { background:#d91c22; }
.uth-services { position:relative; }
.uth-services summary { cursor:pointer; list-style:none; }
.uth-services summary::-webkit-details-marker { display:none; }
.uth-services > div { position:absolute; top:32px; left:-18px; min-width:180px; background:white; padding:18px; box-shadow:0 8px 22px #0002; display:grid; gap:16px; }
.nav-toggle { display:none; border:0; background:white; color:#302783; font-size:28px; padding:8px; }
.uth-footer { background:#302783; color:white; padding:45px 4%; text-align:center; }
.uth-footer nav { display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
.uth-footer a { color:white; }
.uth-footer p { font-size:14px; margin-top:25px; }
.uth-skip { position:absolute; left:-10000px; }
.uth-skip:focus { left:20px; top:10px; background:white; padding:12px; z-index:100; }
:focus-visible { outline:3px solid #157cb5; outline-offset:4px; }
.uth-form { display:grid; gap:10px; font:400 16px sofia-pro,sans-serif; }
.uth-form input:not([type="checkbox"]):not([type="hidden"]), .uth-form textarea { box-sizing:border-box; border:1px solid #b3b3b3; background:#fafafa; color:#292735; border-radius:2px; padding:13px; width:100%; font:inherit; }
.uth-form label:not(.uth-consent) { margin-top:12px; }
.uth-form button { margin-top:18px; justify-self:start; }
.uth-consent { display:flex; align-items:flex-start; gap:10px; margin-top:16px; }
.uth-consent input { margin-top:5px; }
.uth-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.uth-contact { max-width:740px; margin:70px auto; padding:0 24px; }
.alert { padding:20px; margin:20px 0; border:1px solid currentColor; }
.alert-error { color:#9a1720; }
.alert-success { color:#176439; }
.alert:empty { display:none; }
/* Images must render without the Squarespace lazy-loader or animation runtime. */
.sqs-block-image img { opacity:1 !important; visibility:visible !important; }
.image-block-outer-wrapper:not(.image-block-v2) .sqs-image-shape-container-element { position:relative; }
.image-block-outer-wrapper img { object-fit:contain; }
.preFade, .preScale, .preSlide { opacity:1 !important; transform:none !important; }
@media(max-width:1100px) {
 .uth-logo { width:220px; }
 #primary-nav { gap:19px; font-size:13px; }
 #primary-nav .uth-button { padding:16px 22px; }
}
@media(max-width:900px) {
 .uth-header { padding:20px 6%; flex-wrap:wrap; }
 .uth-logo { width:220px; }
 .nav-toggle { display:block; cursor:pointer; }
 #primary-nav { display:none; width:100%; flex-direction:column; align-items:stretch; gap:22px; padding:20px 0; font-size:16px; }
 #primary-nav.open { display:flex; }
 .uth-services > div { position:static; box-shadow:none; padding:20px 14px 0; }
 .uth-footer nav { gap:18px; }
 .sqs-layout .sqs-row .sqs-block { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Explicit equivalents of the platform's runtime layout variables. */
:root { --pagePadding:4vw; --sqs-site-gutter:4vw; --sqs-site-max-width:1400px; --maxPageWidth:1400px; }
.page-section:not(.full-bleed-section) > .content-wrapper { max-width:1400px; width:100%; box-sizing:border-box; padding-left:4vw; padding-right:4vw; }
.sqs-block-button-element { display:inline-block; padding:1.2rem 2rem !important; border-radius:50px !important; font:500 1.08rem/1.25 sofia-pro,sans-serif; }
.sqs-block-image .sqs-image-shape-container-element img { width:100%; height:100%; }
.uth-languages { display:flex; gap:6px; white-space:nowrap; }
@media(max-width:1250px) { .uth-logo { width:220px; } #primary-nav { gap:18px; font-size:13px; } #primary-nav .uth-button { padding:16px 22px; } }
@media(max-width:1050px) { .uth-header { flex-wrap:wrap; } .nav-toggle { display:block; } #primary-nav { display:none; width:100%; flex-direction:column; align-items:stretch; gap:20px; padding:20px 0; font-size:16px; } #primary-nav.open { display:flex; } .uth-services > div { position:static; box-shadow:none; padding:20px 14px 0; } }
@media(max-width:767px) { .page-section:not(.full-bleed-section) > .content-wrapper { padding-left:6vw; padding-right:6vw; } }
.sqs-block-image:has(.fluid-image-component-root) > .sqs-block-content,
.fluid-image-component-root, .fluid-image-animation-wrapper, .fluid-image-container,
.fluid-image-container .js-content-mode-element-wrapper, .fluid-image-container .js-content-mode-element { width:100%; height:100%; }
.fluid-image-container img { width:100%; height:100%; object-fit:contain; }
/* Keep the longer bilingual headlines readable on narrow screens. */
@media(max-width:767px) {
 .sqs-html-content h1, .image-title h1 { font-size:clamp(2rem, 9vw, 2.75rem); line-height:1.12; }
}
