/* 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;
  }

  /* The services index has a photographic hero and uses the same transparent
     first-screen header treatment as other top-level editorial pages. */
  html.li-service-page body.li-services-index-page {
    padding-top: 0 !important;
  }

  html.li-service-page body.li-services-index-page header:not(.scrolled) {
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !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;
}

/* Blog comparison tables */
.compare-table {
  margin: 28px 0 38px;
  border: 1px solid #e5d7c8;
  border-radius: 8px;
  overflow-x: auto;
  background: #fffaf4;
  box-shadow: 0 18px 44px rgba(34, 28, 22, .06);
}

.compare-table::before {
  content: "";
  display: block;
  height: 4px;
  min-width: 720px;
  background: var(--red, #c8202a);
}

.compare-table table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: #fffdf9;
}

.compare-table th,
.compare-table td {
  padding: 17px 20px;
  text-align: left;
  border-bottom: 1px solid #eadfd3;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.7;
  color: #554f49;
}

.compare-table th {
  background: #f4ede5;
  color: var(--red, #c8202a);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.compare-table td:first-child {
  color: var(--dark, #111318);
  font-weight: 700;
  background: rgba(248, 246, 242, .72);
}

.compare-table tbody tr:hover td {
  background: #fff8ef;
}

.compare-table tbody tr:hover td:first-child {
  background: #f7efe5;
}

.compare-table td strong {
  color: var(--dark, #11131a);
}

[dir="rtl"] .compare-table th,
[dir="rtl"] .compare-table td {
  text-align: right;
}

/* Blog FAQ accordions */
.faq-list {
  display: grid;
  gap: 12px;
}

.faq-list details {
  border: 1px solid var(--border, #e5e2dc);
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.faq-list details[open] {
  border-color: #ded5ca;
  box-shadow: 0 18px 42px rgba(24, 24, 24, .05);
}

.faq-list summary {
  position: relative;
  display: block;
  list-style: none;
  cursor: pointer;
  padding: 18px 54px 18px 20px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--dark, #111318);
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border: 1px solid rgba(200, 32, 42, .28);
  color: var(--red, #c8202a);
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}

.faq-list details[open] summary::after {
  content: "-";
}

.faq-list p {
  padding: 0 20px 20px;
  margin: 0;
  font-size: 15px;
  line-height: 1.82;
  color: #5c5751;
}

[dir="rtl"] .faq-list summary {
  padding: 18px 20px 18px 54px;
}

[dir="rtl"] .faq-list summary::after {
  right: auto;
  left: 20px;
}

/* Contact hero: use the white wordmark over the dark hero on desktop, then
   return to the dark wordmark once the light scrolled header appears. */
@media (min-width: 981px) {
  html.li-inner-page body.li-contact-page header:not(.scrolled) .logo > img.logo-light,
  html.li-inner-page body.li-guides-page header:not(.scrolled) .logo > img.logo-light,
  html.li-inner-page body.li-about-page header:not(.scrolled) .logo > img.logo-light,
  html.li-inner-page body.li-services-index-page header:not(.scrolled) .logo > img.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;
    filter: none !important;
  }

  html.li-inner-page body.li-contact-page header:not(.scrolled) .logo > img.logo-dark,
  html.li-inner-page body.li-contact-page header:not(.scrolled) .logo > .logo-fallback,
  html.li-inner-page body.li-guides-page header:not(.scrolled) .logo > img.logo-dark,
  html.li-inner-page body.li-guides-page header:not(.scrolled) .logo > .logo-fallback,
  html.li-inner-page body.li-about-page header:not(.scrolled) .logo > img.logo-dark,
  html.li-inner-page body.li-about-page header:not(.scrolled) .logo > .logo-fallback,
  html.li-inner-page body.li-services-index-page header:not(.scrolled) .logo > img.logo-dark,
  html.li-inner-page body.li-services-index-page header:not(.scrolled) .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;
  }
}
