/* Legal Istanbul shared stabilization layer - Phase 1 */
html, body {
  overflow-x: hidden;
}

/* Home scroll logo fix: localized home pages had an older dark pill on the logo
   when the white scrolled header appeared. Keep the bar clean and use the dark
   transparent wordmark on every language homepage. */
html.li-home-page header.scrolled .logo,
body.li-home-page header.scrolled .logo,
header.scrolled .logo {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.li-home-page header.scrolled .logo > .logo-light,
body.li-home-page header.scrolled .logo > .logo-light {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}
html.li-home-page header.scrolled .logo > .logo-dark,
body.li-home-page header.scrolled .logo > .logo-dark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 235px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  filter: none !important;
}

/* Service detail side rail: compact related blog cards. */
.service-related-blogs {
  border-top: 1px solid #ece8e1;
  margin: 0 18px 20px;
  padding-top: 18px;
}
.service-brand-panel {
  margin: 0 18px 18px;
  padding: 18px 16px;
  border: 1px solid #e8e1d8;
  background: linear-gradient(180deg, #fff 0%, #faf8f5 100%);
}
.service-brand-panel img {
  width: min(205px, 100%);
  height: auto !important;
  max-height: 46px;
  object-fit: contain;
  margin-bottom: 16px;
}
.service-brand-panel p {
  color: #57514b;
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}
.service-related-blogs-title {
  color: var(--red, #c8202a);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.35;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.service-blog-cards {
  display: grid;
  gap: 9px;
}
.service-blog-card {
  background: #faf8f5;
  border: 1px solid #e7e1d8;
  color: var(--dark, #111318);
  display: block;
  padding: 12px 13px;
  text-decoration: none !important;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.service-blog-card:hover {
  background: #fff;
  border-color: rgba(200, 32, 42, .35);
  transform: translateY(-1px);
}
.service-blog-card span {
  color: var(--red, #c8202a);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.service-blog-card strong {
  color: var(--dark, #111318);
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .service-related-blogs {
    margin: 0 18px 20px;
  }
}

/* Service pages: keep the main logo/menu bar visible while scrolling on desktop. */
@media (min-width: 981px) {
  html.li-service-page body {
    padding-top: 75px !important;
  }
  html.li-service-page header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: rgba(255, 255, 255, .97) !important;
    border-bottom: 1px solid var(--border, #e5e2dc) !important;
    box-shadow: 0 10px 30px rgba(17, 19, 24, .06) !important;
    backdrop-filter: blur(14px) !important;
  }
}
img {
  max-width: 100%;
}
header .logo > .logo-light,
header .logo > .logo-dark,
header .logo > .logo-fallback {
  flex: 0 0 auto;
}
header .logo > .logo-light {
  display: none !important;
}
header .logo > .logo-dark {
  display: block !important;
  filter: none !important;
}
header .logo > .logo-fallback {
  display: none !important;
}
html.li-home-page header:not(.scrolled) .logo > .logo-light {
  display: block !important;
}
html.li-home-page header:not(.scrolled) .logo > .logo-dark {
  display: none !important;
}
html.li-home-page header:not(.scrolled) .logo > .logo-fallback {
  display: none !important;
}
header.scrolled .logo .logo-light,
html.li-inner-page header .logo .logo-light {
  display: none !important;
}
header.scrolled .logo .logo-dark,
html.li-inner-page header .logo .logo-dark {
  display: block !important;
  filter: none !important;
}
header.scrolled .logo .logo-fallback,
html.li-inner-page header .logo .logo-fallback {
  display: none !important;
}
header.scrolled .logo img:not(.logo-light) {
  filter: none !important;
}
@media (min-width: 981px) {
  .hamburger {
    display: none !important;
  }
  .mobile-menu {
    display: none !important;
  }
  header nav {
    display: flex !important;
  }
}
@media (max-width: 980px) {
  html.li-inner-page header {
    min-height: 82px !important;
    padding: 14px 18px !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid #e8e2da !important;
    box-shadow: 0 8px 24px rgba(17,19,24,.06) !important;
  }
  html.li-inner-page .logo .logo-light {
    display: none !important;
  }
  html.li-inner-page .logo .logo-dark {
    display: block !important;
    filter: none !important;
  }
  html.li-inner-page .logo img {
    max-width: 52vw !important;
    height: auto !important;
    max-height: 46px !important;
    object-fit: contain !important;
    filter: none !important;
  }
  html.li-inner-page .logo-fallback {
    color: #122044 !important;
  }
  .logo img:not(.logo-light),
  header.scrolled .logo .logo-dark,
  header.scrolled .logo img:not(.logo-light) {
    filter: none !important;
  }
  .hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    position: relative !important;
    z-index: 170 !important;
  }
  .hamburger span,
  header:not(.scrolled) .hamburger span,
  header.scrolled .hamburger span {
    display: block !important;
    width: 30px !important;
    height: 3px !important;
    background: #111318 !important;
    transition: transform .25s ease, opacity .25s ease !important;
  }
  .hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(6px,6px) !important;
  }
  .hamburger.open span:nth-child(2) {
    opacity: 0 !important;
  }
  .hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(6px,-6px) !important;
  }
  .mobile-menu {
    position: fixed !important;
    inset: 0 !important;
    z-index: 130 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 108px 24px 40px !important;
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(16px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease !important;
    overflow: auto !important;
  }
  .mobile-menu.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  .post-card {
    cursor: pointer;
  }
  .lang-dropdown:not(.open) .lang-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  .lang-dropdown.open .lang-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  .lang-trigger strong::after {
    content: attr(data-mobile-label) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
  }
}
html[dir="rtl"] .about {
  direction: rtl;
}
html[dir="rtl"] .about-img-fade {
  background: linear-gradient(to left, transparent 55%, #fff 100%) !important;
}
html[dir="rtl"] .about-content {
  border-left: none !important;
  border-right: 1px solid var(--border) !important;
  text-align: right;
}
html[dir="rtl"] .about-img {
  order: 2;
}
html[dir="rtl"] .about-content {
  order: 1;
}
@media (max-width: 980px) {
  html[dir="rtl"] .about-content {
    border-right: none !important;
  }
  html[dir="rtl"] .about-img-fade {
    background: linear-gradient(to bottom, transparent 50%, #fff 100%) !important;
  }
}
body {
  top: 0 !important;
}
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-text-highlight {
  display: none !important;
}

/* Header normalization - prevents stacked logo layers and wrapped desktop nav. */
header .logo {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
header.scrolled .logo {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
header .logo > .logo-light,
header .logo > .logo-fallback,
header.scrolled .logo > .logo-light,
html.li-inner-page header .logo > .logo-light,
html.li-inner-page header .logo > .logo-fallback {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}
header .logo > .logo-dark,
header.scrolled .logo > .logo-dark,
html.li-inner-page header .logo > .logo-dark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 235px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  filter: none !important;
}
html.li-home-page header:not(.scrolled) .logo > .logo-light {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 235px !important;
  max-height: 46px !important;
  object-fit: contain !important;
}
html.li-home-page header:not(.scrolled) .logo > .logo-dark,
html.li-home-page header:not(.scrolled) .logo > .logo-fallback {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
}

@media (min-width: 981px) {
  header {
    display: flex !important;
    align-items: center !important;
    gap: clamp(18px, 1.8vw, 34px) !important;
  }
  header .logo {
    max-width: 245px !important;
  }
  header nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(14px, 1.35vw, 30px) !important;
  }
  header nav > a,
  header nav .nav-dropdown > a,
  header nav .nav-cta {
    white-space: nowrap !important;
    word-break: keep-all !important;
    line-height: 1 !important;
  }
  header .nav-cta {
    flex: 0 0 auto !important;
  }
  header .lang-dropdown {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
}
@media (min-width: 981px) and (max-width: 1260px) {
  header {
    padding-left: 3.5% !important;
    padding-right: 3.5% !important;
    gap: 16px !important;
  }
  header .logo > .logo-dark,
  html.li-home-page header:not(.scrolled) .logo > .logo-light {
    max-width: 190px !important;
  }
  header nav {
    gap: 14px !important;
  }
  header nav a {
    letter-spacing: .08em !important;
    font-size: 11px !important;
  }
  header .nav-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  header .lang-trigger {
    min-width: 138px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (max-width: 980px) {
  header {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 14px 18px !important;
  }
  header nav {
    display: none !important;
  }
  header .logo {
    flex: 0 1 auto !important;
    max-width: calc(100vw - 128px) !important;
    margin-right: auto !important;
  }
  header .logo > .logo-dark,
  header.scrolled .logo > .logo-dark,
  html.li-inner-page header .logo > .logo-dark {
    max-width: min(210px, calc(100vw - 128px)) !important;
    max-height: 42px !important;
  }
  html.li-home-page header:not(.scrolled) .logo > .logo-light {
    max-width: min(210px, calc(100vw - 128px)) !important;
    max-height: 42px !important;
  }
  header .lang-dropdown {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 170 !important;
  }
  header .lang-trigger {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
  }
  header .hamburger {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 175 !important;
  }
  .mobile-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

@media (max-width: 980px) {
  header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    min-height: 82px !important;
    padding-right: 112px !important;
  }
  header .logo {
    max-width: calc(100vw - 148px) !important;
    margin-right: 0 !important;
  }
  header .logo > .logo-dark,
  header.scrolled .logo > .logo-dark,
  html.li-inner-page header .logo > .logo-dark,
  html.li-home-page header:not(.scrolled) .logo > .logo-light {
    max-width: min(205px, calc(100vw - 148px)) !important;
  }
  header .lang-dropdown {
    position: fixed !important;
    top: 22px !important;
    right: 64px !important;
    transform: none !important;
    z-index: 10000 !important;
  }
  header .hamburger {
    position: fixed !important;
    top: 21px !important;
    right: 16px !important;
    transform: none !important;
    display: flex !important;
    z-index: 10001 !important;
  }
  header .hamburger.open {
    transform: none !important;
  }
  header .hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(6px,6px) !important;
  }
  header .hamburger.open span:nth-child(2) {
    opacity: 0 !important;
  }
  header .hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(6px,-6px) !important;
  }
}

@media (max-width: 980px) {
  body.li-mobile-menu-open,
  html.li-mobile-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }
  body.li-mobile-menu-open .mobile-menu.open {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    max-height: none !important;
    z-index: 9998 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: calc(104px + env(safe-area-inset-top)) 28px calc(40px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    background: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    backdrop-filter: none !important;
  }
  body.li-mobile-menu-open .mobile-menu.open a {
    display: block !important;
    width: 100% !important;
    color: #111318 !important;
  }
  body.li-mobile-menu-open .mobile-menu.open .mobile-menu-brand {
    position: fixed !important;
    top: calc(22px + env(safe-area-inset-top)) !important;
    left: 20px !important;
    width: min(212px, calc(100vw - 148px)) !important;
    max-width: calc(100vw - 148px) !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
    text-decoration: none !important;
  }
  body.li-mobile-menu-open .mobile-menu.open .mobile-menu-brand img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
    filter: none !important;
  }
  body.li-mobile-menu-open .mobile-menu.open .mobile-menu-brand span {
    display: none !important;
  }
  body.li-mobile-menu-open header {
    z-index: 10002 !important;
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }
  body.li-mobile-menu-open header .logo,
  body.li-mobile-menu-open header .lang-dropdown {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.li-mobile-menu-open header .hamburger {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 10003 !important;
  }
  body.li-mobile-menu-open > .hamburger {
    position: fixed !important;
    top: 21px !important;
    right: 16px !important;
    left: auto !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: 10003 !important;
  }
  body.li-mobile-menu-open .chat-widget {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
/* Contact form delivery feedback */
.li-form-status {
  padding: 14px 16px;
  border: 1px solid rgba(20, 120, 76, .22);
  background: rgba(20, 120, 76, .08);
  color: #245f45;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

.contact-form.is-submitting .submit-btn {
  opacity: .72;
  cursor: wait;
  transform: none;
}

.li-newsletter-status {
  margin-top: 10px;
  color: rgba(255, 250, 245, .76);
  font-size: 12px;
  line-height: 1.55;
}

.fnl.is-submitting {
  opacity: .72;
  cursor: wait;
}
