/* Approved site typography. Lora, IBM Plex Mono and Instrument
   Sans are self-hosted under their included OFL licenses. */

@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Instrument Sans";
  src: url("fonts/instrument-sans-variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lora";
  src: url("fonts/Lora-variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lora";
  src: url("fonts/Lora-Italic-variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}
:root {
  --type-body: "Instrument Sans", Arial, sans-serif;
  --type-display: "Lora", Georgia, "Times New Roman", serif;
  --type-display-weight: 600;
  --type-info: "IBM Plex Mono", "Instrument Sans", monospace;
  --type-subtext: #62615F;
  --font-editorial: var(--type-display);
  --clinch-serif: var(--type-display);
}
/* Shared typography, navigation and reading refinements. */
body, body #__next > div, body main, body header, body footer,
body .entry-content, body .font-sans,
body :where(.clinch-blog-footer, .clinch-blog-footer *),
body input, body select, body textarea, body button {
  font-family: var(--type-body) !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .font-editorial, body [data-home-hero-title], body [class*="caption"] strong,
body .clinch-blog-footer__brand-line {
  font-family: var(--type-display) !important;
  font-weight: var(--type-display-weight) !important;
  font-synthesis: none;
}
body header nav, body header nav a, body header nav button,
body label, body time, body figcaption, body footer h3,
body .clinch-blog-footer__column h3,
body [class*="eyebrow"], body [class*="Eyebrow"],
body .entry-meta, body .clinch-label {
  font-family: var(--type-info) !important;
  font-weight: 400 !important;
  font-synthesis: none;
}

/* A complete Turkish-capable mono family with genuine Medium weight. */
body header nav, body header nav a, body header nav button {
  font-family: var(--type-info) !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}
@media (min-width: 1280px) {
  body [data-testid="primary-navigation"] > div {
    padding-inline: 280px;
  }
  body [data-testid="primary-navigation"] nav > a,
  body [data-testid="primary-navigation"] nav > div > button,
  body .clinch-blog-site-header__nav-link {
    padding-inline: 8px;
    font-size: 15px;
    white-space: nowrap;
  }
  body .clinch-blog-site-header__desktop-nav {
    position: static;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
  body .clinch-blog-site-header__container {
    gap: 16px;
    width: min(1360px, calc(100% - 32px));
    padding-inline: 24px;
  }
}

@media (min-width: 1536px) {
  body [data-testid="primary-navigation"] nav > a,
  body [data-testid="primary-navigation"] nav > div > button {
    font-size: 16px;
    padding-inline: 8px;
  }
}

/* Equal-width service cards share one responsive heading size. */
body .clinch-service-card__content {
  container-type: inline-size;
}
body .clinch-service-card h3 {
  font-size: clamp(18px, 9.1cqi, 30px);
  line-height: 1.2;
  font-weight: var(--type-display-weight) !important;
  font-synthesis: none;
  letter-spacing: 0;
  text-wrap: balance;
}

/* Keep the Turkish humanitarian title on one line within its card. */
body .clinch-service-card:lang(tr)[href$="/services/humanitarian-based-immigration"] h3 {
  white-space: nowrap;
  text-wrap: nowrap;
}

/* Editorial reading face, including imported WordPress inline formatting. */
body .clinch-article-body, body .article-content,
body .news-public .news-article-summary,
body .news-public .news-article-summary *,
body .clinch-article-body :is(p, li, td, th, blockquote, a, strong, b, em, span),
body .article-content :is(p, li, td, th, blockquote, a, strong, b, em, span) {
  font-family: var(--type-display) !important;
  font-weight: var(--type-display-weight) !important;
  font-synthesis: none;
  letter-spacing: normal !important;
}
body.single-post .clinch-article-body :is(p, li),
body .news-public .article-content :is(p, li),
body .news-public .news-article-summary {
  font-size: 21px;
  line-height: 1.65;
}
body .clinch-article-toc #ez-toc-container .ez-toc-title {
  font-family: var(--type-display) !important;
  font-weight: var(--type-display-weight) !important;
  font-size: 28px;
  line-height: 1.2;
}
body .clinch-article-toc #ez-toc-container nav,
body .clinch-article-toc #ez-toc-container a,
body .clinch-article-toc #ez-toc-container li {
  font-family: var(--type-body) !important;
  letter-spacing: normal !important;
  font-size: 15px;
  line-height: 1.5;
}
body .clinch-article-toc #ez-toc-container a.ez-toc-link {
  display: block;
  padding: 6px 8px;
  border-left: 3px solid transparent;
}
body .clinch-article-toc #ez-toc-container a[data-clinch-current="true"] {
  border-left-color: #7E2A37;
  background: rgba(126, 42, 55, .08);
  color: #7E2A37;
  font-weight: 650;
}
@media (min-width: 1000px) {
  body.single-post .clinch-article-toc {
    top: var(--clinch-article-sticky-top, 98px);
    transition: none;
  }
}
body .clinch-article-body :is(h2, h3, h4, .ez-toc-section) {
  scroll-margin-top: calc(var(--clinch-article-sticky-top, 98px) + 12px);
}
@media (max-width: 767px) {
  body.single-post .clinch-article-body :is(p, li),
body .news-public .article-content :is(p, li),
body .news-public .news-article-summary {
    font-size: 19px;
  }
}
/* Remove only decorative top stripes from public news cards. */
body .news-public .absolute.top-0.left-0.w-full[style*="linear-gradient"] {
  display: none;
}
/* English runs use English font shaping, even inside Turkish pages. */
body :lang(en) { font-language-override: "ENG"; }
body :lang(tr) { font-language-override: "TRK"; }

/* Separate navigation items without stretching the letters themselves. */
@media (min-width: 1280px) {
  body [data-testid="primary-navigation"] nav,
  body .clinch-blog-site-header__desktop-nav { gap: 8px; }
}
body footer h3, body .clinch-blog-footer__column h3 {
  font-family: var(--type-info) !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em;
  line-height: 1.65;
}

/* Use the approved summary gray throughout reading copy and subtext. */
body .clinch-article-body,
body .news-public .article-content,
body .news-public .news-article-summary,
body .clinch-article-body :is(p, li, td, th, blockquote, figcaption),
body .news-public .article-content :is(p, li, td, th, blockquote, figcaption),
body .news-public main p,
body .entry-excerpt, body .entry-excerpt p,
body .clinch-blog-intro > p,
body #main-content p[class*="text-brand-ink/"],
body #main-content [data-testid="home-hero"] p {
  color: var(--type-subtext) !important;
}
/* Inline editor colors must not turn paragraphs into mixed shades. */
body .clinch-article-body :is(p, li, td, th) :is(span, strong, b, em, i),
body .news-public .article-content :is(p, li, td, th) :is(span, strong, b, em, i) {
  color: inherit !important;
}

/* One complete Latin Extended font avoids mixed OCR/fallback Turkish glyphs. */
body .entry-meta .meta-categories,
body .entry-meta .meta-categories a,
body.single-post .hero-section .entry-header > .entry-meta:not([data-id]) a,
body .news-category,
body [data-news-category], body [data-news-category] span,
body .clinch-label {
  font-family: var(--type-body) !important;
  font-weight: 600 !important;
  font-synthesis: none;
  letter-spacing: 0.055em !important;
}

/* These panels now share the surrounding page's light paper background. */
body [data-testid="home-google-reviews"],
body [data-testid="home-blog-panel"],
body .news-public .news-lead-form,
body.single-post .clinch-article-toc #ez-toc-container,
body.single-post .clinch-article-toc #ez-toc-container > .ez-toc-title-container {
  background: #F7F2EA !important;
}
/* Let each title occupy only the lines it needs; keep the excerpt close. */
body [data-testid="home-blog-carousel"] > a { min-height: 0; }
body [data-testid="home-blog-carousel"] h3 {
  min-height: 0;
  font-size: 26px;
  line-height: 1.25;
  -webkit-line-clamp: 5;
}
body [data-testid="home-blog-carousel"] h3 + p { margin-top: 12px; }
@media (min-width: 1024px) {
  body [data-testid="home-blog-carousel"] h3 { font-size: 28px; }
}

/* Only the current language is visible until the disclosure is opened. */
body .clinch-language-menu {
  position: relative;
  flex: 0 0 auto;
  width: auto;
  color: #272528;
  font-family: var(--type-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
body .clinch-language-menu > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  padding: 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  list-style: none;
}
body .clinch-language-menu > summary::-webkit-details-marker { display: none; }
body .clinch-language-menu > summary > span {
  display: block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  font-size: 0;
  line-height: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-1.5px) rotate(45deg);
}
body .clinch-language-menu__options {
  position: absolute;
  top: calc(100% + 2px);
  right: 0;
  z-index: 80;
  min-width: 52px;
  padding: 4px;
  border: 1px solid #D4CCC0;
  border-radius: 4px;
  background: #FBF8F2;
}
body .clinch-language-menu:not([open]) > .clinch-language-menu__options { display: none; }
body .clinch-language-menu__options > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 8px;
  color: #272528 !important;
  text-decoration: none;
}
body .clinch-language-menu__options > a:hover { background: #EDE7DE; }
body .clinch-language-menu > summary:focus-visible,
body .clinch-language-menu__options > a:focus-visible {
  outline: 2px solid #7E2A37;
  outline-offset: 3px;
}

/* Long author biographies are optional reading on narrow screens. */
body .clinch-bio-preview, body .clinch-bio-toggle { display: none; }
@media (max-width: 767px) {
  body .clinch-bio-disclosure[data-expanded="false"] > .clinch-bio-preview { display: block; margin: 0; }
  body .clinch-bio-disclosure[data-expanded="false"] > .clinch-bio-full { display: none; }
  body .clinch-bio-disclosure > .clinch-bio-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 6px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: #7E2A37;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  body .clinch-bio-toggle:focus-visible { outline: 2px solid #7E2A37; outline-offset: 3px; }
}

/* Footer contact links stay on the dark footer with a text-colored outline. */
body .clinch-blog-footer__intro-contact,
body .clinch-blog-footer__contact,
body .clinch-blog-footer__intro-contact:hover,
body .clinch-blog-footer__contact:hover,
body .clinch-blog-footer__intro-contact:focus-visible,
body .clinch-blog-footer__contact:focus-visible {
  background: transparent;
  border: 1px solid currentColor;
  color: #fff !important;
}

/* White Instagram mark without a colored tile. */
body .clinch-blog-footer__instagram,
body .clinch-blog-footer__instagram:hover,
body .clinch-blog-footer__instagram:focus-visible {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: #fff;
}
body .clinch-blog-footer__instagram svg { width: 24px; height: 24px; }
body .clinch-blog-footer__instagram:focus-visible { outline: 2px solid white; outline-offset: 2px; }
