/* Approved footer 08: centered brand between service and site directories. */
#ys-footer-08 {
  margin: 0;
  padding: 0;
  background: #0b213c;
  color: #f7fbff;
  font-family: 'G04 Roboto', Arial, sans-serif;
}
#ys-footer-08 *, #ys-footer-08 *::before, #ys-footer-08 *::after { box-sizing: border-box; }
#ys-footer-08 .f08-join { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: 24px; background: #f1f8fc; }
#ys-footer-08 .f08-join span { display: block; background: #0b213c; }
#ys-footer-08 .f08-join span:first-child { border-top-right-radius: 28px; }
#ys-footer-08 .f08-join span:last-child { border-top-left-radius: 28px; }
#ys-footer-08 .f08-surface {
  background: radial-gradient(ellipse at 0% 56%, rgba(22, 77, 112, .2), transparent 48%), radial-gradient(ellipse at 100% 76%, rgba(19, 67, 105, .18), transparent 48%), linear-gradient(180deg, #0b213c, #081c33);
}
#ys-footer-08 .f08-wrap { width: min(1360px, calc(100% - 64px)); margin-inline: auto; }
#ys-footer-08 .f08-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) minmax(0, 1fr); grid-template-areas: 'services brand guide'; align-items: stretch; padding: 52px 0 36px; }
#ys-footer-08 .f08-brand { grid-area: brand; display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 0 36px; border-inline: 1px solid rgba(40, 194, 232, .65); text-align: center; }
#ys-footer-08 .f08-brand-link { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 100%; color: #fff; text-decoration: none; }
#ys-footer-08 .f08-logo-icon { display: block; width: 188px; height: 188px; max-width: 100%; object-fit: contain; }
#ys-footer-08 .f08-brand-name { display: block; color: inherit; font: 700 clamp(52px, 4.6vw, 68px)/.9 'G04 Teko', 'Arial Narrow', sans-serif; letter-spacing: .3px; }
#ys-footer-08 .f08-brand-name span { display: block; }
#ys-footer-08 .f08-description { max-width: 340px; margin: 18px 0 14px; color: #c4d5e5; font-size: 18px; line-height: 1.5; }
#ys-footer-08 .f08-phone { display: inline-flex; align-items: center; justify-content: center; gap: 12px; max-width: 100%; min-height: 58px; margin-bottom: 16px; color: #fff; text-decoration: none; }
#ys-footer-08 .f08-phone svg { display: block; flex: 0 0 32px; width: 32px; height: 32px; fill: #28c2e8; }
#ys-footer-08 .f08-phone strong { color: inherit; font: 700 clamp(40px, 3.5vw, 54px)/1 'G04 Teko', 'Arial Narrow', sans-serif; white-space: nowrap; }
#ys-footer-08 .f08-whatsapp { display: grid; grid-template-columns: 64px minmax(0, 1fr) 22px; align-items: center; gap: 12px; width: min(350px, 100%); min-height: 66px; padding: 0 18px 0 0; border: 2px solid #25d366; border-radius: 22px; color: #fff; background: linear-gradient(110deg, #074a36, #062c29); text-decoration: none; }
#ys-footer-08 .f08-wa-icon { display: flex; align-items: center; justify-content: center; align-self: stretch; min-height: 64px; margin: -2px 0 -2px -2px; border-radius: 21px 16px 16px 21px; background: #25d366; }
#ys-footer-08 .f08-wa-icon svg { display: block; width: 36px; height: 40px; fill: #fff; }
#ys-footer-08 .f08-wa-label { min-width: 0; color: inherit; font-size: 18px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
#ys-footer-08 .f08-arrow { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#ys-footer-08 .f08-regions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 26px 0 0; padding: 0; color: #f1f8fc; font-size: 17px; line-height: 1.4; }
#ys-footer-08 .f08-regions svg { display: block; flex: 0 0 20px; width: 20px; height: 25px; fill: #28c2e8; }
#ys-footer-08 .f08-region-dot { color: #28c2e8; }
#ys-footer-08 .f08-directory { min-width: 0; padding-top: 24px; }
#ys-footer-08 .f08-services { grid-area: services; padding-right: 54px; }
#ys-footer-08 .f08-guide { grid-area: guide; padding-left: 64px; }
#ys-footer-08 .f08-directory h2 { margin: 0; color: #fff; font: 700 clamp(36px, 3vw, 44px)/1.15 'G04 Teko', 'Arial Narrow', sans-serif; }
#ys-footer-08 .f08-directory h2::after { content: ''; display: block; width: 64px; height: 5px; margin: 16px 0 24px; border-radius: 3px; background: #28c2e8; }
#ys-footer-08 .f08-links { margin: 0; padding: 0; list-style: none; }
#ys-footer-08 .f08-links li { margin: 0; padding: 0; }
#ys-footer-08 .f08-links li + li { border-top: 1px solid rgba(161, 210, 234, .32); }
#ys-footer-08 .f08-links a { display: flex; align-items: center; gap: 18px; min-height: 64px; padding: 14px 0; color: #f7fbff; font-size: 20px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
#ys-footer-08 .f08-chevron { display: block; flex: 0 0 16px; width: 16px; height: 20px; fill: none; stroke: #28c2e8; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
#ys-footer-08 .f08-bottom { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; min-width: 0; padding: 28px 0 30px; border-top: 1px solid rgba(40, 194, 232, .65); color: #c4d5e5; font-size: 13px; line-height: 1.6; }
#ys-footer-08 .f08-copyright { margin: 0; }
#ys-footer-08 .f08-copyright a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#ys-footer-08 .f08-legal { min-width: 0; }
#ys-footer-08 .f08-legal ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px 14px; margin: 0; padding: 0; list-style: none; }
#ys-footer-08 .f08-legal li { margin: 0; padding: 0; }
#ys-footer-08 .f08-legal a { display: inline-flex; align-items: center; min-height: 32px; color: #c4d5e5; text-decoration: none; }
#ys-footer-08 .f08-credit { margin: 0; }
#ys-footer-08 .f08-credit a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#ys-footer-08 .f08-links a:hover, #ys-footer-08 .f08-phone:hover, #ys-footer-08 .f08-legal a:hover { color: #93e5fa; }
#ys-footer-08 .f08-whatsapp:hover { color: #fff; background: #0b4c38; }
#ys-footer-08 a:focus-visible { outline: 3px solid #93e5fa; outline-offset: 5px; border-radius: 6px; }
@media (max-width: 1199px) {
  #ys-footer-08 .f08-brand { padding-inline: 24px; }
  #ys-footer-08 .f08-services { padding-right: 34px; }
  #ys-footer-08 .f08-guide { padding-left: 40px; }
  #ys-footer-08 .f08-links a { gap: 14px; font-size: 18px; }
  #ys-footer-08 .f08-description { font-size: 17px; }
  #ys-footer-08 .f08-regions { gap: 8px; font-size: 16px; }
  #ys-footer-08 .f08-whatsapp { grid-template-columns: 56px minmax(0, 1fr) 20px; gap: 10px; padding-right: 14px; }
  #ys-footer-08 .f08-wa-label { font-size: 16px; }
  #ys-footer-08 .f08-bottom { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 24px; font-size: 14px; }
  #ys-footer-08 .f08-legal { grid-column: 1 / -1; grid-row: 2; }
  #ys-footer-08 .f08-legal ul { justify-content: flex-start; }
}
@media (max-width: 899px) {
  #ys-footer-08 .f08-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'brand brand' 'services guide'; padding-top: 34px; }
  #ys-footer-08 .f08-brand { padding: 0 0 38px; border-inline: 0; border-bottom: 1px solid rgba(40, 194, 232, .45); }
  #ys-footer-08 .f08-logo-icon { width: 170px; height: 170px; }
  #ys-footer-08 .f08-brand-name { font-size: 62px; }
  #ys-footer-08 .f08-phone strong { font-size: 50px; }
  #ys-footer-08 .f08-whatsapp { width: 340px; grid-template-columns: 64px minmax(0, 1fr) 22px; padding-right: 18px; }
  #ys-footer-08 .f08-wa-label { font-size: 18px; }
  #ys-footer-08 .f08-directory { padding-top: 34px; }
  #ys-footer-08 .f08-services { padding-right: 28px; }
  #ys-footer-08 .f08-guide { padding-left: 28px; }
  #ys-footer-08 .f08-directory h2 { font-size: 38px; }
  #ys-footer-08 .f08-links a { min-height: 60px; }
}
@media (max-width: 599px) {
  #ys-footer-08 .f08-wrap { width: calc(100% - 32px); }
  #ys-footer-08 .f08-join { height: 20px; }
  #ys-footer-08 .f08-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'brand' 'services' 'guide'; padding: 26px 0 30px; }
  #ys-footer-08 .f08-logo-icon { width: 156px; height: 156px; }
  #ys-footer-08 .f08-brand-name { font-size: 58px; }
  #ys-footer-08 .f08-description { max-width: 310px; }
  #ys-footer-08 .f08-phone { gap: 10px; }
  #ys-footer-08 .f08-phone strong { font-size: clamp(38px, 11vw, 48px); }
  #ys-footer-08 .f08-phone svg { flex-basis: 28px; width: 28px; height: 28px; }
  #ys-footer-08 .f08-whatsapp { grid-template-columns: 56px minmax(0, 1fr) 20px; gap: 10px; padding-right: 14px; }
  #ys-footer-08 .f08-wa-label { font-size: 17px; }
  #ys-footer-08 .f08-services, #ys-footer-08 .f08-guide { padding: 30px 0 0; }
  #ys-footer-08 .f08-guide { margin-top: 24px; border-top: 1px solid rgba(40, 194, 232, .45); }
  #ys-footer-08 .f08-directory h2::after { margin-bottom: 16px; }
  #ys-footer-08 .f08-links a { min-height: 54px; font-size: 18px; }
  #ys-footer-08 .f08-bottom { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 24px 0 28px; text-align: center; }
  #ys-footer-08 .f08-legal { grid-column: auto; grid-row: auto; }
  #ys-footer-08 .f08-legal ul { justify-content: center; gap: 4px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  #ys-footer-08 a { transition: none; }
}
