.site-footer { padding: 64px max(20px, calc((100% - 1180px) / 2)) 26px; color: #c9d3dc; background: #203246; }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1.25fr; gap: 72px; padding-bottom: 56px; }
.site-logo--footer { color: #fff; }
.site-footer__brand .site-logo { display: flex; width: fit-content; margin-bottom: 18px; }
.site-footer__brand > p { margin: 0 0 20px; }
.site-logo--footer img { width: 40px; height: 40px; object-fit: contain; }
.site-footer h2 { margin-bottom: 17px; color: #fff; font-size: 1rem; letter-spacing: 0; }
.site-footer p { max-width: 340px; font-size: .9rem; }
.site-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: .87rem; }
.site-footer a:hover { color: #fff; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: .76rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom div { display: flex; flex-wrap: wrap; gap: 18px; }
.quote-dialog { position: fixed; inset: 50% auto auto 50%; width: min(820px, calc(100% - 32px)); max-height: min(88vh, 760px); margin: 0; padding: 0; overflow: auto; border-radius: 24px; color: var(--color-text); background: #fff; box-shadow: var(--shadow); transform: translate(-50%, -50%); }
.quote-dialog__content { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; padding: 44px; }
.quote-dialog__close { position: absolute; top: 14px; right: 16px; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--color-text); background: var(--color-soft); font-family: Arial, sans-serif; font-size: 1.65rem; font-weight: 400; line-height: 1; }
.quote-dialog__close::first-letter { transform: translateY(-1px); }
.quote-dialog h2 { font-size: 1.65rem; }
.quote-dialog__details { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.quote-dialog__details li { display: grid; gap: 2px; padding-bottom: 12px; border-bottom: 1px solid var(--color-line); font-size: .86rem; }
.quote-dialog__details strong { color: var(--color-primary); }
.quote-form { display: grid; gap: 15px; align-content: start; }
.quote-form label, .hero-form label { display: grid; gap: 6px; color: var(--color-text); font-size: .875rem; font-weight: 500; }
.quote-form input, .quote-form textarea, .hero-form input, .hero-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--color-line); border-radius: 10px; color: var(--color-text); background: #fff; transition: border-color .2s ease, box-shadow .2s ease; resize: vertical; }
.quote-form input:focus-visible, .quote-form textarea:focus-visible, .hero-form input:focus-visible, .hero-form textarea:focus-visible { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(4, 94, 191, .12); }
.form-status { min-height: 1.3em; margin: 0; color: var(--color-primary); font-size: .8rem; font-weight: 700; }
.quote-form__note { margin: -4px 0 0; color: var(--color-muted); font-size: .8125rem; line-height: 1.5; }
@media (max-width: 760px) { .site-footer__grid, .quote-dialog__content { grid-template-columns: 1fr; gap: 34px; } .site-footer__bottom { flex-direction: column; } .quote-dialog__content { padding: 34px 24px; } }
.site-header,.site-footer,.quote-dialog,.search-dialog,.resource-dialog {font-family:Rubik,Arial,sans-serif}
.site-footer {padding:60px max(20px,calc((100% - 1290px)/2)) 60px;background:#1f1f1f;color:white}
.reference-footer-grid {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.72fr) minmax(230px,.9fr);align-items:start;gap:clamp(38px,5vw,76px);padding:55px 0 70px;border-top:1px solid #ffffff55}
.footer-contact-item{display:flex;align-items:flex-start;gap:14px}
.footer-contact-item>div{min-width:0}
.footer-contact-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #ffffff24;border-radius:50%;color:#8fc5ff;background:#ffffff08}
.footer-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-item strong {font-size:12px;display:block;margin:2px 0 6px;color:#fff;letter-spacing:.02em}
.site-footer .footer-address p {font-size:12px;max-width:490px;line-height:1.8;color:#cbd1d7}
.footer-contact-row {display:grid;grid-template-columns:minmax(180px,.8fr) minmax(230px,1fr);gap:24px;margin-top:30px}
.footer-contact-row a {font-size:12px;display:block;line-height:1.8;color:#cbd1d7;overflow-wrap:anywhere;transition:color .2s ease}
.footer-links {text-align:center}
.footer-links h2 {font-size:20px;font-weight:600}
.footer-links>a {display:block;font-size:14px;margin:8px 0}
.footer-brand .site-logo {color:white;min-width:0;margin-bottom:24px}
.footer-brand .site-logo__wordmark strong{font-size:21px}
.footer-brand p {font-size:12px;margin:22px 0 8px;color:#cbd1d7}
.footer-brand .footer-social-label{margin:0 0 11px;color:#fff;font-size:12px;font-weight:600}
.footer-document-link {font-size:12px;text-decoration:underline}
.footer-social {display:flex;flex-wrap:wrap;gap:10px;margin:0}
@media(min-width:1300px){.footer-brand{padding-left:68px}}
.footer-social a,.footer-social button {display:grid;place-items:center;width:38px;height:38px;background:#045ebf;color:white;border:1px solid #ffffff16;border-radius:50%;font-size:19px;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.footer-social a:hover,.footer-social a:focus-visible,.footer-social button:hover,.footer-social button:focus-visible{background:#0875e7;transform:translateY(-3px);box-shadow:0 8px 22px #045ebf55}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.footer-social a:nth-child(3) svg,.footer-social a:nth-child(4) svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-social .footer-social-dot{fill:currentColor;stroke:none}
.site-footer__bottom {padding-top:24px;border-color:#bbb;font-size:12px}
.site-footer__bottom p {font-size:12px}
.contact-rail {position:fixed;right:0;top:40.4%;display:grid;gap:12px;z-index:35}
.contact-rail a,.contact-rail button {position:relative;width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:13px 0 0 13px;background:#072656;color:white;box-shadow:0 3px 12px #112c5a20;font-size:27px;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.contact-rail a:hover,.contact-rail a:focus-visible{background:#045ebf;transform:translateX(-4px);box-shadow:0 8px 20px #045ebf38}
.contact-rail svg{width:24px;height:24px;fill:currentColor}
.contact-rail__instagram svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-rail__instagram svg circle:last-child{fill:currentColor;stroke:none}
.contact-rail a::before{content:attr(data-contact-label);position:absolute;right:calc(100% + 10px);top:50%;transform:translate(8px,-50%);padding:7px 10px;border-radius:6px;color:#fff;background:#10243d;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.contact-rail a:hover::before,.contact-rail a:focus-visible::before{opacity:1;visibility:visible;transform:translate(0,-50%)}
.back-to-top {position:fixed;right:25px;bottom:24px;width:36px;height:36px;border:0;background:#23453a;color:white;z-index:35;cursor:pointer}
.language-widget {position:fixed;bottom:0;right:10%;z-index:36}
.language-widget>button {background:#072656;color:white;border:0;border-radius:8px 8px 0 0;padding:16px;font-size:12px;min-width:106px;cursor:pointer}
.language-widget>button span {margin-left:16px}
.language-widget>div {position:absolute;bottom:100%;right:0;background:white;border-radius:12px;padding:20px;width:255px;font-size:13px;box-shadow:0 0 30px #112c5a33;color:#123}
.language-widget [hidden] {display:none}
@media(max-width:1050px){.reference-footer-grid{gap:30px}.footer-contact-row{grid-template-columns:1fr}}
@media(max-width:760px){.reference-footer-grid{grid-template-columns:1fr;padding:35px 0 40px;gap:38px}.footer-links{text-align:left}.footer-contact-row{grid-template-columns:1fr 1fr}.site-footer{padding-bottom:85px}.contact-rail{gap:8px;top:auto;bottom:130px}.contact-rail a,.contact-rail button{width:38px;height:40px;font-size:22px;border-radius:9px 0 0 9px}.contact-rail svg{width:20px;height:20px}.contact-rail a::before{display:none}.language-widget{right:60px}.language-widget>button{padding:12px;min-width:90px}.back-to-top{right:15px;bottom:15px}}

/* Shared premium-density refinement. */
.site-footer{padding-top:48px;padding-bottom:34px}
.reference-footer-grid{gap:52px;padding:42px 0 58px}
.contact-rail a,.contact-rail button{width:52px;height:52px;border-radius:11px 0 0 11px}
.back-to-top{width:44px;height:44px;border-radius:8px}
@media(max-width:760px){
 .site-footer{padding-top:36px;padding-bottom:78px}
 .reference-footer-grid{gap:32px;padding:30px 0 34px}
 .footer-contact-row{gap:14px;margin-top:22px}
 .contact-rail a,.contact-rail button{width:44px;height:44px}
 .language-widget>button{min-height:44px}
}
