.safir-footer { padding: 86px 0 28px; color: #bdc9c4; background: #04120f; font-family: "DM Sans", Arial, sans-serif; }
.safir-footer * { box-sizing: border-box; }
.safir-footer a { color: inherit; text-decoration: none; transition: color .2s; }.safir-footer a:hover { color: #fff; }
.safir-footer__shell { width: min(1320px, calc(100vw - 80px)); margin-inline: auto; }
.safir-footer__top { display: grid; grid-template-columns: 1.65fr repeat(3, 1fr); gap: clamp(35px, 5vw, 78px); padding-bottom: 64px; }
.safir-footer__identity img { display: block; width: 205px; height: auto; }
.safir-footer__identity > p { max-width: 410px; margin: 25px 0 20px; color: #aab8b2; font-size: 13px; line-height: 1.7; }
.safir-footer__phone { margin: 0 0 18px; }
.safir-footer__phone a { color: #fff; font: 600 15px "DM Sans", Arial, sans-serif; }
.safir-footer__phone a:hover { color: #e8242f; }
.safir-footer__legal-line { display: flex; flex-wrap: wrap; gap: 7px 15px; color: #7f9089; font-size: 10px; line-height: 1.55; }
.safir-footer__legal-line span + span::before { content: "·"; margin-right: 15px; color: #e8242f; }
.safir-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.safir-footer__column h2 { margin: 0 0 12px; color: white; font: 600 11px/1.2 "DM Sans", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.safir-footer__column a { font-size: 12px; line-height: 1.45; }
.safir-footer__mission { display: grid; grid-template-columns: 170px 1fr; gap: 45px; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.safir-footer__mission strong { color: #fff; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.safir-footer__mission p { max-width: 900px; margin: 0; color: #87958f; font-size: 10px; line-height: 1.65; }
.safir-footer__mission p a { color: #bdc9c4; border-bottom: 1px solid rgba(189,201,196,.45); }
.safir-footer__bottom { display: grid; grid-template-columns: .7fr 1.3fr; gap: 45px; padding-top: 25px; color: #74837d; font-size: 10px; line-height: 1.55; }
.safir-footer__bottom p { margin: 0; }.safir-footer__bottom p:last-child { text-align: right; }
@media (max-width: 980px) { .safir-footer__top { grid-template-columns: 1.6fr repeat(2, 1fr); }.safir-footer__column:last-child { grid-column: 2; }.safir-footer__mission { grid-template-columns: 1fr; gap: 9px; } }
@media (max-width: 700px) { .safir-footer { padding-top: 65px; }.safir-footer__shell { width: calc(100vw - 36px); }.safir-footer__top { grid-template-columns: repeat(2, 1fr); gap: 42px 25px; }.safir-footer__identity { grid-column: 1 / -1; }.safir-footer__column:last-child { grid-column: auto; }.safir-footer__bottom { grid-template-columns: 1fr; gap: 10px; }.safir-footer__bottom p:last-child { text-align: left; } }

/* Locale and market selector */
.nav__links { margin-left: auto; }
.nav__tools { position: relative; z-index: 4; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-left: 12px; }
.nav__tools .nav-toggle { flex: 0 0 auto; }
.safir-locale { position: relative; flex: 0 0 auto; font-family: "DM Sans", Arial, sans-serif; }
.safir-locale__trigger { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(3,25,22,.34); color: #fff; padding: 7px 13px; font: inherit; cursor: pointer; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.safir-locale--header .safir-locale__trigger { min-width: 68px; }
.site-header.is-sticky .safir-locale--header .safir-locale__trigger, .inner-page .site-header:not(.is-sticky) .safir-locale--header .safir-locale__trigger, .legal-page .site-header:not(.is-sticky) .safir-locale--header .safir-locale__trigger { border-color: rgba(7,32,28,.2); background: rgba(255,255,255,.8); color: #08211d; box-shadow: 0 8px 24px rgba(4,18,15,.06); }
.safir-locale__trigger:hover, .safir-locale__trigger[aria-expanded="true"] { border-color: #e8242f; background-color: rgba(7,31,27,.72); }
.site-header.is-sticky .safir-locale__trigger:hover, .site-header.is-sticky .safir-locale__trigger[aria-expanded="true"], .inner-page .site-header:not(.is-sticky) .safir-locale__trigger:hover, .inner-page .site-header:not(.is-sticky) .safir-locale__trigger[aria-expanded="true"], .legal-page .site-header:not(.is-sticky) .safir-locale__trigger:hover, .legal-page .site-header:not(.is-sticky) .safir-locale__trigger[aria-expanded="true"] { background-color: #fff; }
.safir-locale__trigger:focus-visible, .safir-locale__menu a:focus-visible, .safir-locale-prompt a:focus-visible, .safir-locale-prompt button:focus-visible { outline: 2px solid #e8242f; outline-offset: 3px; }
.safir-locale__flag { display: inline-flex; width: 20px; height: 20px; flex: 0 0 auto; overflow: hidden; border-radius: 50%; box-shadow: 0 0 0 1px rgba(5,27,23,.16); }
.safir-locale__flag svg { display: block; width: 100%; height: 100%; }
.safir-locale__code { font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .08em; }
.safir-locale__current { display: none; }
.safir-locale__menu { position: absolute; z-index: 120; top: calc(100% + 10px); right: 0; width: min(276px, calc(100vw - 36px)); padding: 8px; border: 1px solid rgba(8,33,29,.12); border-radius: 14px; background: #fbfaf6; color: #08211d; box-shadow: 0 24px 64px rgba(0,18,15,.22); transform-origin: top right; animation: safir-locale-menu-in .22s cubic-bezier(.2,.7,.3,1) both; }
.safir-locale__menu[hidden] { display: none; }
.safir-locale__heading { display: block; padding: 8px 10px 10px; color: #68736f; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.safir-locale__menu a { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 54px; padding: 8px 10px; border-radius: 8px; color: #08211d; text-decoration: none; transition: background-color .16s ease, box-shadow .16s ease; }
.safir-locale__menu a:hover, .safir-locale__menu a:focus-visible, .safir-locale__menu a[aria-current="page"] { background: #eef1ed; }
.safir-locale__menu a[aria-current="page"] { box-shadow: inset 2px 0 0 #e8242f; }
.safir-locale__option { display: grid; gap: 2px; min-width: 0; }
.safir-locale__option strong { overflow: hidden; font-size: 13px; font-weight: 650; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.safir-locale__option small { color: #68736f; font-size: 11px; line-height: 1.2; }
.safir-locale__menu i { color: #e8242f; font-size: 14px; font-style: normal; }
.safir-locale--footer { display: inline-block; margin-top: 22px; }
.safir-locale--footer .safir-locale__trigger { min-height: 44px; justify-content: flex-start; padding: 8px 14px; background: transparent; }
.safir-locale--footer .safir-locale__code { display: none; }
.safir-locale--footer .safir-locale__current { display: inline; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.safir-locale--footer .safir-locale__menu { right: auto; bottom: calc(100% + 10px); left: 0; top: auto; }
@keyframes safir-locale-menu-in { from { opacity: 0; transform: translateY(-6px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.safir-locale-prompt { position: fixed; z-index: 300; right: 24px; bottom: 24px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 14px; width: min(640px,calc(100vw - 48px)); padding: 18px 20px; border: 1px solid rgba(255,255,255,.17); background: #071f1b; color: #fff; box-shadow: 0 24px 70px rgba(0,18,15,.34); font-family: "DM Sans",sans-serif; }
.safir-locale-prompt__flag { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.25); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.safir-locale-prompt p { margin: 0 0 3px; color: #bcc9c5; font-size: 12px; }
.safir-locale-prompt strong { font-size: 15px; }
.safir-locale-prompt__primary, .safir-locale-prompt__secondary { border: 0; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.safir-locale-prompt__primary { min-height: 44px; display: inline-flex; align-items: center; padding: 11px 15px; background: #e8242f; color: #fff; text-decoration: none; }
.safir-locale-prompt__secondary { grid-column: 2 / -1; justify-self: end; padding: 2px; background: transparent; color: #bcc9c5; text-decoration: underline; text-underline-offset: 4px; }
.safir-locale-prompt__close { position: absolute; top: 4px; right: 7px; border: 0; background: transparent; color: #95a6a1; font-size: 20px; cursor: pointer; }
@media (max-width: 1260px) { .nav__tools { gap: 4px; margin-left: auto; }.safir-locale--header .safir-locale__trigger { min-width: 58px; min-height: 44px; padding-inline: 8px; }.safir-locale--header .safir-locale__menu { right: -48px; } }
@media (max-width: 480px) { .nav__tools { gap: 2px; }.safir-locale--header .safir-locale__trigger { min-width: 58px; padding-inline: 9px; }.safir-locale--header .safir-locale__menu { right: -46px; } }
@media (max-width: 680px) { .safir-locale-prompt { right: 12px; bottom: 12px; grid-template-columns: auto minmax(0,1fr); width: calc(100vw - 24px); padding: 17px; }.safir-locale-prompt__primary, .safir-locale-prompt__secondary { grid-column: 1 / -1; justify-self: stretch; justify-content: center; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .safir-locale__trigger, .safir-locale__menu, .safir-locale__menu a { animation: none; transition: none; } }

/* Cookie consent */
.safir-cookie-consent { position: fixed; z-index: 500; inset: auto 0 0; padding: 18px; background: rgba(4,18,15,.72); font-family: "DM Sans",Arial,sans-serif; backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); animation: safir-cookie-in .36s cubic-bezier(.2,.7,.3,1) both; }
.safir-cookie-consent.is-leaving { pointer-events: none; animation: safir-cookie-out .22s ease both; }
.safir-cookie-consent__content { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; width: min(1180px,100%); margin-inline: auto; padding: 22px 24px; border: 1px solid rgba(255,255,255,.16); background: #071f1b; color: #fff; box-shadow: 0 18px 60px rgba(0,12,10,.28); }
.safir-cookie-consent strong { display: block; margin-bottom: 7px; font: 650 clamp(17px,2vw,21px)/1.25 "Manrope","DM Sans",sans-serif; }
.safir-cookie-consent p { max-width: 780px; margin: 0; color: #bdc9c4; font-size: 12px; line-height: 1.65; }
.safir-cookie-consent a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.48); text-underline-offset: 3px; }
.safir-cookie-consent__actions { display: flex; align-items: center; gap: 10px; }
.safir-cookie-consent button { min-width: 116px; min-height: 46px; padding: 11px 18px; border: 1px solid rgba(255,255,255,.38); background: transparent; color: #fff; font: 700 12px "DM Sans",Arial,sans-serif; cursor: pointer; transition: border-color .18s ease,background-color .18s ease,transform .18s ease; }
.safir-cookie-consent button:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.safir-cookie-consent button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.safir-cookie-consent .safir-cookie-consent__accept { border-color: #e8242f; background: #e8242f; }
.safir-cookie-consent .safir-cookie-consent__accept:hover { border-color: #ff3640; background: #ff3640; }
@keyframes safir-cookie-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes safir-cookie-out { to { opacity: 0; transform: translateY(12px); } }
@media (max-width: 720px) { .safir-cookie-consent { padding: 10px; }.safir-cookie-consent__content { grid-template-columns: 1fr; gap: 18px; padding: 20px; }.safir-cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }.safir-cookie-consent button { width: 100%; min-width: 0; } }
@media (prefers-reduced-motion: reduce) { .safir-cookie-consent,.safir-cookie-consent.is-leaving,.safir-cookie-consent button { animation: none; transition: none; } }
