/* Shared navigation and footer, loaded after page styles. */
.sh-container { width:100%; max-width:1240px; padding:0 28px; margin:0 auto; }
#header.site-header { padding:0; background:#fff; border-bottom:1px solid #e1e8f1; box-shadow:none; color:#14243b; z-index:1000; font-family:"Roboto",system-ui,sans-serif; }
.sh-bar { display:flex; align-items:center; gap:25px; position:relative; min-height:86px; }
.sh-logo { display:inline-flex; align-items:center; flex-shrink:0; }.sh-logo img { width:158px; height:52px; object-fit:cover; }
.sh-menu { margin-left:auto; }.sh-menu-toggle { display:none; }.sh-nav-list { list-style:none; display:flex; gap:6px; align-items:center; padding:0; margin:0; }
.sh-nav-list>li>a,.sh-dropdown>summary { display:flex; align-items:center; gap:8px; padding:16px 12px; color:#34465c; font-size:13px; font-weight:500; line-height:1.5; border-radius:6px; text-decoration:none; }
.sh-dropdown>summary { list-style:none; cursor:pointer; }.sh-dropdown>summary::-webkit-details-marker,.sh-menu-toggle::-webkit-details-marker { display:none; }.sh-dropdown>summary i { font-size:10px; transition:transform .2s; }.sh-dropdown[open]>summary i { transform:rotate(180deg); }
.sh-nav-list>li>a:hover,.sh-dropdown>summary:hover,.sh-dropdown[open]>summary { color:#1358d4; background:#f2f6fc; }
.sh-nav [aria-current=page],.sh-nav .sh-current-group>summary,.sh-nav a.sh-current-group { color:#1358d4; font-weight:700; }
.sh-cta { display:flex; align-items:center; gap:20px; background:#1358d4; border:1px solid #1358d4; color:white; padding:12px 18px; border-radius:7px; font-size:13px; font-weight:600; white-space:nowrap; transition:background .2s; }.sh-cta:hover { color:white; background:#1048ae; }
.sh-panel { position:absolute; top:calc(100% - 8px); padding:25px; background:white; border:1px solid #dce5f0; border-radius:12px; box-shadow:0 18px 45px #122b451c; }
.sh-dropdown[open]>.sh-panel { animation:sh-enter .18s ease-out; }
.sh-label { display:block; color:#60758d; font-size:9px; font-weight:700; letter-spacing:1.4px; line-height:1.8; }
.sh-company-panel { width:325px; }.sh-company-panel>.sh-label { margin-bottom:12px; }.sh-company-panel>a { display:block; padding:13px 10px; border-radius:6px; }.sh-company-panel>a:hover { background:#f2f6fc; }.sh-company-panel strong { display:block; color:#14243b; font-size:14px; font-weight:600; }.sh-company-panel span:not(.sh-label) { display:block; color:#61728a; font-size:12px; line-height:1.7; margin-top:4px; }.sh-company-panel [aria-current=page] strong { color:#1358d4; }
.sh-service-panel { width:720px; right:28px; }.sh-panel-head { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid #e2e9f2; padding-bottom:20px; margin-bottom:15px; }.sh-panel-head strong { display:block; font-size:20px; font-weight:600; letter-spacing:-.5px; margin-top:6px; }.sh-panel-head>a { font-size:12px; font-weight:600; white-space:nowrap; color:#1358d4; }.sh-service-links { display:grid; grid-template-columns:1fr 1fr; gap:5px 15px; }.sh-service-links>a { display:flex; gap:12px; align-items:center; padding:13px 10px; border-radius:7px; color:#34465c; font-size:12px; line-height:1.6; }.sh-service-links>a>i:first-child { width:35px; height:35px; flex-shrink:0; display:grid; place-items:center; background:#edf4ff; color:#1358d4; font-size:18px; border-radius:6px; }.sh-service-links>a>i:last-child { margin-left:auto; font-size:10px; color:#6a7f98; }.sh-service-links>a:hover { background:#f4f7fc; color:#1358d4; }.sh-panel-note { background:#f5f8fc; border-radius:6px; font-size:12px; color:#60718a; padding:14px; margin:17px 0 0; line-height:1.8; }.sh-panel-note a { color:#1358d4; }.sh-mobile-contact { display:none; }
:is(.site-header,.site-footer) :is(a,button,summary):focus-visible { outline:3px solid #388ffc; outline-offset:4px; }
#footer.site-footer { padding:0; background:#10263d; color:#c0ccda; font-family:"Roboto",system-ui,sans-serif; overflow-wrap:anywhere; }
.sf-intro { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:100px; padding:62px 0; border-bottom:1px solid #30445a; }.sf-intro .sh-label { color:#9ec6ff; font-size:9px; }.site-footer .sf-intro h2 { color:#fff; font-family:inherit; font-size:39px; font-weight:500; line-height:1.2; letter-spacing:-1.3px; margin:18px 0 0; }.sf-intro p { font-size:14px; line-height:1.9; margin:0 0 20px; max-width:410px; }.sf-cta { display:inline-flex; align-items:center; gap:28px; color:#10263d; background:#fff; border:1px solid white; border-radius:7px; padding:13px 20px; font-size:13px; font-weight:600; transition:background .2s,transform .2s; }.sf-cta:hover { color:#1358d4; background:#eaf2ff; transform:translateY(-2px); }
.sf-grid { display:grid; grid-template-columns:1.15fr .65fr 1.1fr 1.1fr; gap:40px; padding:54px 0; }.sf-logo { display:inline-flex; padding:8px 14px; background:white; border-radius:7px; }.sf-logo img { width:148px; height:47px; object-fit:cover; }.sf-brand>p { font-size:13px; line-height:1.9; margin:22px 0 18px; max-width:270px; }.sf-location { display:flex; gap:8px; font-size:11px; color:#9fb3cc; }.sf-social { display:flex; gap:9px; margin-top:23px; }.sf-social>a { display:grid; place-items:center; width:38px; height:38px; border:1px solid #3b526b; border-radius:6px; color:#d5e3f5; font-size:14px; transition:background .2s,border-color .2s; }.sf-social>a:hover { color:white; background:#23425f; border-color:#7e9dbe; }
.site-footer h3 { font-family:inherit; font-size:13px; font-weight:600; color:white; letter-spacing:.1px; margin:3px 0 24px; }.sf-links ul { list-style:none; padding:0; margin:0; display:grid; gap:14px; }.sf-links a { color:#beccdc; font-size:12px; line-height:1.7; text-decoration:none; }.sf-links a:hover,.sf-bottom a:hover,.sf-contact a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }.sf-contact address { font-style:normal; margin:0; }.sf-contact address>div { margin-bottom:20px; }.sf-contact address span { display:block; color:#91a8c3; font-size:10px; margin-bottom:6px; }.sf-contact address a,.sf-contact address p { font-size:12px; color:#d5e0ed; line-height:1.8; margin:0; }.sf-contact-link { display:inline-flex; align-items:center; gap:10px; color:#a9ceff; font-size:11px; }
.sf-bottom { display:flex; justify-content:space-between; align-items:center; gap:25px; border-top:1px solid #30445a; padding:23px 0; }.sf-bottom p { font-size:10px; line-height:1.8; margin:0; color:#9fb2c9; }.sf-bottom nav { display:flex; gap:23px; }.sf-bottom a { color:#b8c9dd; font-size:10px; }
#scroll-top { width:40px; height:40px; border-radius:8px; background:#1358d4; border:1px solid #ffffff42; }#scroll-top:focus-visible { outline:3px solid #388ffc; outline-offset:4px; }
@keyframes sh-enter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1200px) { .sh-menu:not([open])>.sh-nav { display:block; } }
@media(max-width:1199px) { .sh-bar { min-height:78px; gap:18px; }.sh-logo img { width:145px; height:48px; }.sh-menu { order:3; margin:0; }.sh-cta { margin-left:auto; }.sh-menu-toggle { display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid #dce5f0; border-radius:7px; font-size:12px; color:#34465c; cursor:pointer; list-style:none; }.sh-menu-toggle i { font-size:22px; line-height:1; }.sh-menu[open]>.sh-menu-toggle { background:#edf4ff; color:#1358d4; }.sh-nav { position:absolute; top:100%; left:0; width:100%; max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain; background:white; border:1px solid #dce5f0; box-shadow:0 20px 35px #122b4521; padding:16px 28px 25px; }.sh-nav-list { display:block; }.sh-nav-list>li { border-bottom:1px solid #e9eef5; }.sh-nav-list>li>a,.sh-dropdown>summary { padding:17px 7px; font-size:15px; justify-content:space-between; }.sh-panel { position:static; width:100%; box-shadow:none; padding:20px; margin:0 0 15px; background:#f9fbff; }.sh-company-panel { padding:15px; }.sh-panel-head strong { font-size:18px; }.sh-mobile-contact { display:block; padding-top:25px; }.sh-mobile-contact>a { display:flex; gap:12px; align-items:center; color:#1358d4; font-size:13px; margin-top:10px; }.sf-grid { gap:28px; grid-template-columns:1fr .7fr 1.1fr 1fr; }.sf-intro { gap:55px; } }
@media(max-width:991px) { .sf-grid { grid-template-columns:1.2fr 1fr; gap:45px 65px; }.sf-intro { gap:35px; }.site-footer .sf-intro h2 { font-size:33px; } }
@media(max-width:767px) { .sh-container { padding-left:22px; padding-right:22px; }.sf-intro { grid-template-columns:1fr; gap:24px; padding:45px 0; }.sf-intro p { max-width:520px; }.sf-grid { gap:40px; padding:42px 0; }.sf-bottom { align-items:flex-start; flex-direction:column; gap:12px; }.sh-service-links { grid-template-columns:1fr; }.sh-panel-head { align-items:flex-start; flex-direction:column; gap:15px; }.sh-nav { padding:14px 22px 25px; } }
@media(max-width:479px) { .sh-bar { gap:10px; min-height:73px; }.sh-logo img { width:121px; height:42px; }.sh-cta { padding:10px 12px; gap:10px; font-size:12px; }.sh-menu-toggle { padding:9px; }.sh-menu-toggle>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.sh-nav { max-height:calc(100dvh - 73px); }.sh-panel { padding:15px; }.sh-service-links>a { padding-left:0; padding-right:0; }.sf-grid { grid-template-columns:1fr; gap:35px; }.sf-brand>p { max-width:330px; }.sf-links ul { grid-template-columns:1fr 1fr; gap:12px 22px; }.site-footer h3 { margin-bottom:18px; }.site-footer .sf-intro h2 { font-size:32px; }.sf-intro .sh-label { font-size:8px; letter-spacing:1px; }.sf-contact address { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }.sf-contact address>div:first-child { grid-column:1/-1; } }
@media(prefers-reduced-motion:reduce) { :is(.site-header,.site-footer) * { animation:none!important; transition:none!important; } html { scroll-behavior:auto!important; } }

/* Comfortable text sizes for the shared footer. */
.sf-links a,.sf-contact address a,.sf-contact address p { font-size:14px; }
.sf-brand>p { font-size:14px; }.site-footer h3 { font-size:14px; }.sf-bottom p,.sf-bottom a { font-size:11px; }

.sh-menu-toggle .sh-close-icon { display:none; }.sh-menu[open]>.sh-menu-toggle .bi-list { display:none; }.sh-menu[open]>.sh-menu-toggle .sh-close-icon { display:block; }
@media(max-width:359px) { .sh-bar { gap:8px; }.sh-logo img { width:104px; }.sh-cta { padding:10px; } }

/* Direct WhatsApp chat stays separate from the back-to-top control. */
.sh-whatsapp { position:fixed; right:18px; bottom:calc(76px + env(safe-area-inset-bottom, 0px)); z-index:990; display:inline-flex; align-items:center; gap:10px; min-width:52px; min-height:52px; padding:13px 18px; border:1px solid #ffffff45; border-radius:30px; background:#087c48; color:#fff; box-shadow:0 5px 20px #10263d26; font-size:13px; font-weight:600; line-height:1.4; transition:background .2s,transform .2s; }
.sh-whatsapp i { font-size:25px; line-height:1; }.sh-whatsapp:hover { background:#06643a; color:#fff; transform:translateY(-2px); }.sh-whatsapp:focus-visible { outline:3px solid #388ffc; outline-offset:4px; }
@media(max-width:767px) { .sh-whatsapp { right:15px; padding:13px; justify-content:center; }.sh-whatsapp span { display:none; } }
@media(prefers-reduced-motion:reduce) { .sh-whatsapp { transition:none; }.sh-whatsapp:hover { transform:none; } }
#scroll-top { right:18px; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); }
@media(max-width:767px) { #scroll-top { right:15px; } }

/* ─── Cookie Consent Banner ─────────────────────────────── */
.cc-banner {
  position:fixed; bottom:0; left:0; right:0; z-index:9999;
  background:#fff; border-top:1px solid #d8dee6;
  box-shadow:0 -4px 24px rgba(0,0,0,.08);
  transform:translateY(100%); opacity:0;
  transition:transform .35s ease, opacity .35s ease;
  font-family:"Roboto",system-ui,sans-serif;
}
.cc-banner[aria-hidden="false"] { transform:translateY(0); opacity:1; }
.cc-inner {
  display:flex; align-items:center; gap:28px;
  max-width:1240px; margin:0 auto; padding:16px 28px;
}
.cc-text {
  flex:1; margin:0; font-size:12.5px; line-height:1.7; color:#3d4f63;
}
.cc-text a { color:#1358d4; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cc-text a:hover { color:#0d47a1; }
.cc-actions { display:flex; gap:10px; flex-shrink:0; }
.cc-btn {
  padding:10px 20px; border-radius:6px; font-size:12.5px; font-weight:600;
  cursor:pointer; white-space:nowrap; transition:background .2s, color .2s, border-color .2s;
  line-height:1.4;
}
.cc-btn-settings {
  background:transparent; border:1px solid #c4cdd8; color:#3d4f63;
}
.cc-btn-settings:hover { border-color:#8a9bb2; background:#f5f7fa; }
.cc-btn-reject {
  background:transparent; border:1px solid #1c3553; color:#1c3553;
}
.cc-btn-reject:hover { background:#1c3553; color:#fff; }
.cc-btn-accept {
  background:#1c3553; border:1px solid #1c3553; color:#fff;
}
.cc-btn-accept:hover { background:#14283f; }

@media(max-width:767px) {
  .cc-inner { flex-direction:column; gap:14px; padding:18px 22px; }
  .cc-actions { width:100%; justify-content:stretch; }
  .cc-btn { flex:1; text-align:center; padding:11px 12px; font-size:12px; }
}
@media(max-width:479px) {
  .cc-actions { flex-direction:column; }
  .cc-btn { width:100%; }
}
