.footer {
  position: relative;
  padding: 38px 0 20px;
  background: radial-gradient(ellipse at 5% 0%, #16436c 0, transparent 48%), linear-gradient(120deg, #0a2038, #061320);
  color: #f1f7fc;
  border-top: 1px solid #426079;
}
.footer::before { content: ''; position: absolute; top: -1px; left: 0; width: 38%; height: 3px; background: linear-gradient(90deg, #ff7500, #ffbd74, transparent); }
.footer .footer-grid { display: grid; grid-template-columns: 1.15fr 1.3fr .65fr .85fr 1.1fr; gap: 28px; align-items: start; }
.footer .footer-grid > div { min-width: 0; }
.footer .brand { position: relative; display: inline-flex; width: fit-content; max-width: 100%; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; isolation: isolate; }
.footer .brand::before { content: ''; position: absolute; inset: 18% 12%; z-index: -1; background: #8edcff45; border-radius: 50%; filter: blur(22px); pointer-events: none; }
.footer .brand img { display: block; width: 190px; max-width: 100%; height: 105px; object-fit: contain; border-radius: 0; mix-blend-mode: normal; mask-image: radial-gradient(ellipse closest-side, #000 68%, #000c 80%, transparent 100%); -webkit-mask-image: radial-gradient(ellipse closest-side, #000 68%, #000c 80%, transparent 100%); }
.footer .footer-grid h3 { margin: 0 0 18px; color: #ffbf80; font: 800 15px/1.35 'Manrope', sans-serif; letter-spacing: -.02em; }
.footer p, .footer li { color: #b1c3d4; font-size: 13px; line-height: 1.85; }
.footer .footer-contact { display: block; }
.footer .footer-contact > p { max-width: 300px; margin: 10px 0 0; font-size: 12px; line-height: 1.6; }
.footer li + li { margin-top: 15px; }
.footer a { color: #edf5fc; transition: color .2s; }
.footer a:hover { color: #ffb66d; }
.footer a:focus-visible { outline: 2px solid #ffb66d; outline-offset: 6px; }
.footer .footer-phone-block { margin: 0; padding: 18px 14px; border: 1px solid #ffb66d55; border-radius: 14px; background: #ffb66d0c; }
.footer-phone-label { display: block; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.footer .footer-phone { display: flex; align-items: center; gap: 8px; width: fit-content; margin: 10px 0; color: #8bff65!important; font: 800 clamp(20px, 1.7vw, 25px)/1.4 'Manrope', sans-serif; letter-spacing: -.04em; white-space: nowrap; }
.footer-phone > span { font-size: 20px; }
.footer-phone-hint { color: #8bff65; font-size: 12px; }
.footer .footer-map { grid-column: auto; }
.footer .footer-map iframe { display: block; width: 100%; height: 120px; border: 1px solid #ffffff26; border-radius: 12px; margin-bottom: 10px; }
.footer .footer-map > a { font-size: 12px; }
.footer .copyright { margin-top: 24px; padding-top: 16px; border-top: 1px solid #ffffff20; color: #b1c3d4; font-size: 11px; letter-spacing: .03em; }
@media (max-width: 1100px) {
  .footer .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .footer .footer-grid > div:first-child { grid-column: auto; }
}
@media (max-width: 560px) {
  .footer { padding: 48px 0 100px; }
  .footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer .footer-grid > div:first-child, .footer .footer-map { grid-column: 1 / -1; }
  .footer .footer-phone-block { grid-column: 1 / -1; }
  .footer .footer-phone { font-size: 29px; }
  .footer .footer-map iframe { height: 200px; }
  .footer h3 { margin-bottom: 17px; }
}
/* Full-size footer brand with clean, readable edges. */
.footer .footer-contact .brand { display: block; width: 100%; max-width: 250px; background: transparent; padding: 0; border: 0; box-shadow: none; }
.footer .footer-contact .brand::before { content: none; }
.footer .footer-contact .brand img { width: 100%; max-width: 250px; height: auto; max-height: 150px; object-fit: contain; display: block; mask-image: none; -webkit-mask-image: none; filter: none; mix-blend-mode: normal; border-radius: 0; box-shadow: none; }
/* Wide footer: brand, business details and a panoramic map. */
.footer .footer-grid { width: min(1680px, calc(100% - 64px)); grid-template-columns: 220px 1fr 250px .65fr .9fr 2fr; gap: 26px; align-items: start; }
.footer .footer-brand-column .brand { display: block; width: 220px; max-width: 100%; padding: 0; background: transparent; border: 0; box-shadow: none; }
.footer .footer-brand-column .brand::before { content: none; }
.footer .footer-brand-column .brand img { display: block; width: 220px; max-width: 100%; height: auto; max-height: none; object-fit: contain; mask-image: none; -webkit-mask-image: none; filter: none; mix-blend-mode: normal; border-radius: 0; box-shadow: none; }
.footer .footer-contact > p { margin: 0 0 16px; font-size: 13px; line-height: 1.7; }
.footer .footer-contact > p:first-child { color: #edf5fc; font-weight: 600; }
.footer .footer-map iframe { height: 190px; }
.footer .copyright { width: min(1680px, calc(100% - 64px)); }
@media (max-width: 1400px) {
  .footer .footer-grid { grid-template-columns: 200px 1fr 250px 1fr 1fr; }
  .footer .footer-map { grid-column: 2 / -1; }
  .footer .footer-map iframe { height: 190px; }
}
@media (max-width: 1000px) {
  .footer .footer-grid { grid-template-columns: 200px 1fr 1fr; }
  .footer .footer-map { grid-column: 2 / -1; }
  .footer .footer-phone-block { grid-column: auto; }
}
@media (max-width: 650px) {
  .footer .footer-grid { width: calc(100% - 32px); grid-template-columns: 1fr 1fr; gap: 26px 18px; }
  .footer .footer-grid > .footer-brand-column { grid-column: 1; align-self: start; }
  .footer .footer-brand-column .brand { width: 100%; margin: 0; padding: 4px; border-radius: 16px; }
  .footer .footer-brand-column .brand img { width: 100%; height: auto; border-radius: 11px; }
  .footer .footer-contact { grid-column: 2; align-self: center; }
  .footer .footer-contact > p { margin: 0 0 12px; font-size: 12px; line-height: 1.55; }
  .footer .footer-phone-block, .footer .footer-map { grid-column: 1 / -1; }
  .footer .copyright { width: calc(100% - 32px); }
}
@media(min-width: 1101px) {
  body .site-header .site-nav { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); gap: 40px; margin: 0; }
  body .site-header .site-nav > a { font-size: 24px!important; }
}
@media(min-width: 801px) and (max-width: 1100px) {
  body .site-header .site-nav { position: static; transform: none; gap: 22px; }
  body .site-header .site-nav > a { font-size: 20px!important; }
}
@media(max-width: 800px) {
  body .site-header .site-nav > a { font-size: 22px!important; }
}
.footer .footer-brand-column .brand { padding: 7px; border: 1px solid #c9e6ff88; border-radius: 23px; background: linear-gradient(145deg,#ffffff33,#80b1db14); box-shadow: inset 0 1px 0 #ffffff55, 0 10px 24px #0004; }
.footer .footer-brand-column .brand img { border-radius: 16px; }
@media (max-width: 560px) {
  .footer .footer-grid > div.footer-brand-column { grid-column: 1; align-self: start; }
  .footer .footer-grid > div.footer-contact { grid-column: 2; align-self: center; }
  .footer .footer-brand-column .brand { width: 132px; max-width: 100%; margin: 0; padding: 4px; border-radius: 14px; }
  .footer .footer-brand-column .brand img { width: 100%; height: auto; border-radius: 10px; }
  .footer .footer-contact > p { margin: 0 0 10px; font-size: 13px; line-height: 1.55; }
  .footer .footer-phone-block { text-align: center; }
  .footer .footer-phone-block .footer-phone { margin-inline: auto; }
}
