/* IFB Türkiye Theme – public styles */
:root {
  --ifb-blue: #0000aa;
  --ifb-blue-dark: #000078;
  --ifb-navy: #172033;
  --ifb-navy-soft: #263248;
  --ifb-gold: #c9962c;
  --ifb-gold-soft: #f7ecd4;
  --ifb-cream: #f7f7f4;
  --ifb-white: #ffffff;
  --ifb-text: #263248;
  --ifb-muted: #667085;
  --ifb-border: #e4e7ec;
  --ifb-success: #176b45;
  --ifb-success-bg: #eaf7f0;
  --ifb-warning: #8a5a00;
  --ifb-warning-bg: #fff4d8;
  --ifb-danger: #a12622;
  --ifb-danger-bg: #fdecea;
  --ifb-shadow-sm: 0 8px 28px rgba(23, 32, 51, 0.07);
  --ifb-shadow-lg: 0 22px 60px rgba(23, 32, 51, 0.12);
  --ifb-radius-sm: 8px;
  --ifb-radius: 14px;
  --ifb-radius-lg: 24px;
  --ifb-container: 1180px;
  --ifb-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ifb-white);
  color: var(--ifb-text);
  font-family: var(--ifb-font);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--ifb-blue); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--ifb-blue-dark); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(201, 150, 44, 0.75); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.65em;
  color: var(--ifb-navy);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: -0.025em;
}
h1 { font-size: clamp(2.35rem, 5vw, 4.75rem); }
h2 { font-size: clamp(1.85rem, 3.2vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); }
p { margin: 0 0 1.15rem; }
ul, ol { padding-left: 1.25rem; }

.ifb-container,
.ifb-entry-content > .alignwide,
.ifb-front-page-content > .wp-block-group > .wp-block-group__inner-container {
  width: min(calc(100% - 40px), var(--ifb-container));
  margin-inline: auto;
}
.ifb-content-shell { padding-block: 48px 96px; }
.ifb-content-shell--narrow { max-width: 860px; }
.ifb-main { min-height: 55vh; }

.ifb-skip-link {
  position: fixed;
  z-index: 99999;
  top: 10px;
  left: 10px;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: 6px;
  background: var(--ifb-white);
  color: var(--ifb-navy);
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-skip-link:focus { transform: translateY(0); }

.ifb-topbar { background: var(--ifb-navy); color: #eef2f8; font-size: 0.83rem; }
.ifb-topbar__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 24px; }
.ifb-topbar__contact { display: flex; flex-wrap: wrap; gap: 22px; }
.ifb-topbar a { color: #fff; text-decoration: none; }
.ifb-topbar a:hover { text-decoration: underline; }
.ifb-topbar__claim { margin: 0; color: #d7deea; }

.ifb-header-sentinel { height: 1px; }
.ifb-site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid rgba(228, 231, 236, 0.9);
  backdrop-filter: blur(14px);
  transition: box-shadow 180ms ease;
}
.admin-bar .ifb-site-header { top: 32px; }
.ifb-site-header.is-scrolled { box-shadow: 0 8px 24px rgba(23, 32, 51, 0.08); }
.ifb-header__inner { display: grid; grid-template-columns: auto 1fr auto; min-height: 82px; align-items: center; gap: 28px; }
.ifb-branding { min-width: 180px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-width: 245px; max-height: 62px; }
.ifb-wordmark { display: inline-flex; align-items: center; gap: 11px; color: var(--ifb-navy); text-decoration: none; }
.ifb-wordmark__mark {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 10px;
  background: var(--ifb-blue);
  color: #fff;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.08em;
}
.ifb-wordmark__name { max-width: 150px; font-weight: 750; line-height: 1.1; }
.ifb-primary-navigation { justify-self: center; }
.ifb-primary-menu { display: flex; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.ifb-primary-menu > li { position: relative; }
.ifb-primary-menu a {
  display: block;
  padding: 12px 11px;
  border-radius: 7px;
  color: var(--ifb-navy);
  font-size: 0.91rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
.ifb-primary-menu a:hover,
.ifb-primary-menu .current-menu-item > a,
.ifb-primary-menu .current-menu-ancestor > a { background: #f2f3f7; color: var(--ifb-blue); }
.ifb-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 250px;
  margin: 0;
  padding: 9px;
  list-style: none;
  border: 1px solid var(--ifb-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--ifb-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-7px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}
.ifb-primary-menu li:hover > .sub-menu,
.ifb-primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ifb-primary-menu .sub-menu a { white-space: normal; }
.ifb-header-cta,
.wp-block-button__link,
.ifb-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 2px solid var(--ifb-blue);
  border-radius: var(--ifb-radius-sm);
  background: var(--ifb-blue);
  color: #fff;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}
.ifb-header-cta:hover,
.wp-block-button__link:hover,
.ifb-button:hover { transform: translateY(-1px); border-color: var(--ifb-blue-dark); background: var(--ifb-blue-dark); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link,
.ifb-button--outline { background: transparent; color: var(--ifb-blue); }
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.ifb-button--outline:hover { background: var(--ifb-blue); color: #fff; }
.ifb-menu-toggle { display: none; border: 0; background: transparent; color: var(--ifb-navy); }

.ifb-notice-bar { border-bottom: 1px solid rgba(0,0,0,0.08); font-size: 0.93rem; }
.ifb-notice-bar__inner { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.ifb-notice-bar--info { background: #eef2ff; color: #222a6b; }
.ifb-notice-bar--warning { background: var(--ifb-warning-bg); color: var(--ifb-warning); }
.ifb-notice-bar--urgent { background: var(--ifb-danger-bg); color: var(--ifb-danger); }
.ifb-notice-bar p { margin: 0; }
.ifb-notice-bar a { color: inherit; font-weight: 750; }

.ifb-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(64px, 8vw, 112px);
  background:
    radial-gradient(circle at 88% 18%, rgba(201, 150, 44, 0.18) 0, rgba(201, 150, 44, 0) 28%),
    radial-gradient(circle at 72% 80%, rgba(0, 0, 170, 0.10) 0, rgba(0, 0, 170, 0) 34%),
    var(--ifb-cream);
}
.ifb-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -180px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(0, 0, 170, 0.13);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(0, 0, 170, 0.025), 0 0 0 110px rgba(201, 150, 44, 0.03);
  pointer-events: none;
}
.ifb-hero > .wp-block-group__inner-container,
.ifb-hero > .wp-block-columns { position: relative; z-index: 1; }
.ifb-hero .wp-block-columns { align-items: center !important; gap: clamp(34px, 7vw, 90px); }
.ifb-hero h1 { max-width: 800px; margin-bottom: 0.35em; }
.ifb-hero .ifb-hero-lead { max-width: 720px; color: var(--ifb-navy-soft); font-size: clamp(1.08rem, 1.6vw, 1.3rem); }
.ifb-hero .wp-block-buttons { margin-top: 28px; }
.ifb-eyebrow {
  margin-bottom: 13px;
  color: var(--ifb-blue);
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.ifb-hero-panel {
  padding: 25px;
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: var(--ifb-radius-lg);
  background: rgba(255, 255, 255, 0.93);
  box-shadow: var(--ifb-shadow-lg);
}
.ifb-hero-panel h2 { font-size: 1.45rem; }

.ifb-trust-strip { margin-top: -1px; padding-block: 24px; border-block: 1px solid var(--ifb-border); background: #fff; }
.ifb-trust-strip .wp-block-columns { gap: 20px; }
.ifb-trust-item { display: flex; align-items: center; gap: 12px; color: var(--ifb-navy); font-weight: 700; }
.ifb-trust-item::before { content: "✓"; display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; background: var(--ifb-gold-soft); color: #77540b; font-size: 0.9rem; }

.ifb-section { padding-block: clamp(68px, 8vw, 105px); }
.ifb-section--soft { background: var(--ifb-cream); }
.ifb-section--navy { background: var(--ifb-navy); color: #edf1f7; }
.ifb-section--navy h2, .ifb-section--navy h3 { color: #fff; }
.ifb-section-heading { max-width: 760px; margin-bottom: 40px; }
.ifb-section-heading > :last-child { margin-bottom: 0; }
.ifb-section-heading p:not(.ifb-eyebrow) { color: var(--ifb-muted); font-size: 1.08rem; }

.ifb-service-card,
.ifb-step-card,
.ifb-info-card {
  height: 100%;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--ifb-border);
  border-radius: var(--ifb-radius);
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-service-card { border-top: 4px solid var(--ifb-blue); }
.ifb-service-card:nth-child(2) { border-top-color: var(--ifb-gold); }
.ifb-service-card:nth-child(3) { border-top-color: var(--ifb-navy); }
.ifb-service-card h3 { margin-bottom: 12px; }
.ifb-service-card p { color: var(--ifb-muted); }
.ifb-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; text-decoration: none; }
.ifb-text-link::after { content: "→"; transition: transform 150ms ease; }
.ifb-text-link:hover::after { transform: translateX(3px); }
.ifb-step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ifb-step-number {
  position: static;
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  margin: 0 0 16px;
  place-items: center;
  border-radius: 50%;
  background: var(--ifb-blue);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-step-card h3 { margin: 0 0 10px; }
.ifb-step-card p { margin: 0; }

.ifb-breadcrumbs { margin-bottom: 38px; font-size: 0.83rem; }
.ifb-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; color: var(--ifb-muted); }
.ifb-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 7px; color: #a0a8b8; }
.ifb-breadcrumbs a { color: var(--ifb-muted); text-decoration: none; }
.ifb-breadcrumbs a:hover { color: var(--ifb-blue); }
.ifb-entry-header { max-width: 920px; margin-bottom: 42px; }
.ifb-entry-title { font-size: clamp(2.2rem, 5vw, 4.1rem); }
.ifb-entry-intro { max-width: 800px; color: var(--ifb-muted); font-size: clamp(1.08rem, 1.6vw, 1.3rem); }
.ifb-entry-content { max-width: 900px; }
.ifb-entry-content > * { margin-top: 0; margin-bottom: 1.35rem; }
.ifb-entry-content > h2 { margin-top: 2.8rem; }
.ifb-entry-content > h3 { margin-top: 2.1rem; }
.ifb-entry-content > .alignwide,
.ifb-entry-content > .alignfull { max-width: none; }
.ifb-entry-content blockquote { margin-inline: 0; padding: 20px 24px; border-left: 4px solid var(--ifb-gold); background: var(--ifb-cream); }
.ifb-entry-meta { margin-bottom: 10px; color: var(--ifb-muted); font-size: 0.85rem; }
.ifb-featured-image { margin: 0 0 42px; overflow: hidden; border-radius: var(--ifb-radius-lg); }

.ifb-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.ifb-post-card { overflow: hidden; border: 1px solid var(--ifb-border); border-radius: var(--ifb-radius); background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-post-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.ifb-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 250ms ease; }
.ifb-post-card:hover .ifb-post-card__image img { transform: scale(1.025); }
.ifb-post-card__content { padding: 25px; }
.ifb-post-card h2 { font-size: 1.3rem; }
.ifb-post-card h2 a { color: var(--ifb-navy); text-decoration: none; }
.ifb-post-card h2 a:hover { color: var(--ifb-blue); }

.ifb-empty-state { padding-block: 60px; text-align: center; }
.ifb-empty-state p { max-width: 620px; margin-inline: auto; }
.ifb-empty-state .wp-block-buttons { justify-content: center; margin-top: 26px; }

.ifb-site-footer { background: #111827; color: #cbd3df; }
.ifb-footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 70px; padding-block: 72px 58px; }
.ifb-footer-branding { display: flex; align-items: center; min-height: 62px; }
.ifb-footer-logo-link {
  display: inline-flex;
  max-width: min(100%, 300px);
  min-height: 60px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.16);
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.ifb-footer-logo-link:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(0,0,0,0.2); text-decoration: none; }
.ifb-footer-logo__image { display: block; width: auto; max-width: 100%; max-height: 54px; object-fit: contain; }
.ifb-wordmark--footer { color: #fff; }
.ifb-wordmark--footer .ifb-wordmark__mark { background: #fff; color: var(--ifb-blue); }
.ifb-footer-about p { max-width: 420px; margin-top: 22px; }
.ifb-footer-column h2 { margin-bottom: 18px; color: #fff; font-size: 1rem; letter-spacing: 0.02em; }
.ifb-footer-column ul { margin: 0; padding: 0; list-style: none; }
.ifb-footer-column li { margin-bottom: 9px; }
.ifb-footer-column a { color: #dbe2ed; text-decoration: none; }
.ifb-footer-column a:hover { color: #fff; text-decoration: underline; }
.ifb-footer-bottom { border-top: 1px solid rgba(255,255,255,0.11); }
.ifb-footer-bottom__inner { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 24px; font-size: 0.82rem; }
.ifb-footer-bottom p { margin: 0; }
.ifb-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ifb-mobile-actions { display: none; }

.navigation.pagination { margin-top: 42px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--ifb-border); border-radius: 7px; text-decoration: none; }
.page-numbers.current { border-color: var(--ifb-blue); background: var(--ifb-blue); color: #fff; }

@media (max-width: 1100px) {
  .ifb-header__inner { gap: 18px; }
  .ifb-header-cta { display: none; }
  .ifb-primary-menu a { padding-inline: 8px; font-size: 0.86rem; }
}

@media (max-width: 960px) {
  body.ifb-menu-open { overflow: hidden; }
  .admin-bar .ifb-site-header { top: 46px; }
  .ifb-topbar__claim { display: none; }
  .ifb-header__inner { grid-template-columns: 1fr auto; min-height: 72px; }
  .custom-logo { max-height: 52px; }
  .ifb-wordmark__mark { width: 50px; height: 50px; }
  .ifb-menu-toggle { display: inline-flex; align-items: center; gap: 9px; padding: 9px; border-radius: 7px; }
  .ifb-menu-toggle__icon { display: grid; gap: 4px; width: 22px; }
  .ifb-menu-toggle__icon span { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; }
  .ifb-menu-toggle__label { font-size: 0.9rem; font-weight: 700; }
  .ifb-primary-navigation {
    position: fixed;
    z-index: 1001;
    top: var(--wp-admin--admin-bar--height, 0px);
    right: 0;
    bottom: 0;
    width: min(88vw, 390px);
    padding: 94px 24px 32px;
    overflow-y: auto;
    background: #fff;
    box-shadow: -20px 0 60px rgba(23,32,51,0.16);
    transform: translateX(110%);
    transition: transform 190ms ease;
  }
  .ifb-primary-navigation.is-open { transform: translateX(0); }
  .ifb-primary-menu { display: block; }
  .ifb-primary-menu a { padding: 13px 10px; font-size: 1rem; white-space: normal; }
  .ifb-primary-menu .sub-menu { position: static; min-width: 0; margin-left: 12px; padding: 0 0 5px 12px; border: 0; border-left: 2px solid var(--ifb-border); border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .ifb-hero .wp-block-columns { flex-wrap: wrap !important; }
  .ifb-hero .wp-block-column { flex-basis: 100% !important; }
  .ifb-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-footer-grid { grid-template-columns: 1.4fr 1fr; gap: 45px; }
  .ifb-footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body { font-size: 16px; padding-bottom: 64px; }
  .ifb-container,
  .ifb-entry-content > .alignwide,
  .ifb-front-page-content > .wp-block-group > .wp-block-group__inner-container { width: min(calc(100% - 28px), var(--ifb-container)); }
  .ifb-topbar__inner { justify-content: center; }
  .ifb-topbar__contact { gap: 14px; }
  .ifb-topbar__contact a:last-child { display: none; }
  .ifb-hero { padding-block: 55px 65px; }
  .ifb-hero-panel { padding: 19px; }
  .ifb-section { padding-block: 62px; }
  .ifb-content-shell { padding-block: 32px 72px; }
  .ifb-post-grid { grid-template-columns: 1fr; }
  .ifb-footer-grid { grid-template-columns: 1fr; gap: 34px; padding-block: 54px 44px; }
  .ifb-footer-grid > :last-child { grid-column: auto; }
  .ifb-footer-logo-link { max-width: min(100%, 270px); }
  .ifb-footer-logo__image { max-height: 50px; }
  .ifb-footer-bottom__inner { display: block; padding-block: 22px; }
  .ifb-footer-bottom ul { margin-top: 10px; }
  .ifb-mobile-actions {
    position: fixed;
    z-index: 1200;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 0;
    min-height: 62px;
    border-top: 1px solid rgba(23,32,51,0.12);
    background: #fff;
    box-shadow: 0 -10px 30px rgba(23,32,51,0.12);
  }
  .ifb-mobile-actions a { display: grid; place-items: center; padding: 10px; font-weight: 800; text-decoration: none; }
  .ifb-mobile-actions__secondary { color: var(--ifb-navy); }
  .ifb-mobile-actions__primary { background: var(--ifb-blue); color: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .ifb-topbar, .ifb-site-header, .ifb-site-footer, .ifb-mobile-actions, .ifb-notice-bar { display: none !important; }
  body { color: #000; font-size: 12pt; }
  a { color: #000; text-decoration: none; }
  .ifb-content-shell { padding: 0; }
}

/* Course detail layout supplied by IFB Türkiye Core. */
.ifb-course-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 54px; align-items: start; }
.ifb-course-summary { position: sticky; top: 112px; padding: 27px; border: 1px solid var(--ifb-border); border-radius: var(--ifb-radius); background: var(--ifb-cream); }
.ifb-course-summary h2 { font-size: 1.35rem; }
.ifb-course-summary__price { display: grid; gap: 2px; margin: 22px 0; padding-top: 18px; border-top: 1px solid var(--ifb-border); }
.ifb-course-summary__price span { color: var(--ifb-muted); font-size: .78rem; }
.ifb-course-summary__price strong { color: var(--ifb-navy); font-size: 1.45rem; }
.ifb-course-summary .ifb-button { width: 100%; }
@media (max-width: 900px) { .ifb-course-detail-grid { grid-template-columns: 1fr; } .ifb-course-summary { position: static; } }


/* Source-informed content components added in 0.2.0. */
.ifb-direct-answer {
  margin: 0 0 28px;
  padding: clamp(20px, 3vw, 30px);
  border-left: 5px solid var(--ifb-blue);
  border-radius: 0 var(--ifb-radius) var(--ifb-radius) 0;
  background: #f2f5fb;
  color: var(--ifb-navy-soft);
  font-size: clamp(1.04rem, 1.5vw, 1.2rem);
}
.ifb-content-note,
.ifb-editor-warning {
  margin-block: 24px;
  padding: 18px 20px;
  border: 1px solid #ead8a8;
  border-radius: 10px;
  background: #fff9e8;
  color: #5d481a;
}
.ifb-editor-warning { border-color: #f2beb8; background: #fff2f0; color: #7a271f; }
.ifb-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-block: 32px; }
.ifb-team-card { min-width: 0; padding: 27px; border: 1px solid var(--ifb-border); border-radius: var(--ifb-radius); background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-team-card__initials { display: grid; width: 58px; height: 58px; margin-bottom: 18px; place-items: center; border-radius: 50%; background: var(--ifb-blue); color: #fff; font-weight: 850; }
.ifb-team-card__role { color: var(--ifb-muted); font-size: .9rem; }
.ifb-team-card a { overflow-wrap: anywhere; }
.ifb-verification-table { width: 100%; margin-block: 28px; border-collapse: collapse; }
.ifb-verification-table th,
.ifb-verification-table td { padding: 14px 16px; border: 1px solid var(--ifb-border); vertical-align: top; text-align: left; }
.ifb-verification-table th { background: var(--ifb-cream); color: var(--ifb-navy); }
.ifb-cta-band { margin-block: 42px; padding: clamp(25px, 5vw, 42px); border-radius: var(--ifb-radius-lg); background: var(--ifb-navy); color: #edf1f7; }
.ifb-cta-band h2,
.ifb-cta-band h3 { color: #fff; }
.ifb-footer-note { color: #aeb9c9; font-size: .82rem; }
.ifb-footer-social { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 13px; }
.ifb-admin-stats small { display: block; margin-top: 4px; color: #6b7280; font-size: 11px; }
@media (max-width: 800px) {
  .ifb-team-grid { grid-template-columns: 1fr; }
  .ifb-verification-table { display: block; overflow-x: auto; }
}

/* Editable homepage hero with a blurred background image and CTA buttons. */
.ifb-header-hero {
  position: relative;
  isolation: isolate;
  background: var(--ifb-white);
}
.ifb-header-hero__frame {
  position: relative;
  display: flex;
  min-height: 490px;
  align-items: center;
  overflow: hidden;
  background: #0b1832;
}
.ifb-header-hero--contained {
  padding: 18px 20px 0;
}
.ifb-header-hero--contained .ifb-header-hero__frame {
  width: min(100%, 1400px);
  margin-inline: auto;
  border-radius: 22px;
  box-shadow: var(--ifb-shadow-lg);
}
.ifb-header-hero--full .ifb-header-hero__frame {
  width: 100%;
  border-radius: 0;
}
.ifb-header-hero--slim .ifb-header-hero__frame { min-height: 390px; }
.ifb-header-hero--medium .ifb-header-hero__frame { min-height: 490px; }
.ifb-header-hero--large .ifb-header-hero__frame { min-height: 590px; }

.ifb-header-hero__media {
  position: absolute;
  z-index: 0;
  inset: -18px;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.ifb-header-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.035);
  transition: filter 220ms ease;
}
.ifb-header-hero--position-left .ifb-header-hero__image { object-position: left center; }
.ifb-header-hero--position-center .ifb-header-hero__image { object-position: center center; }
.ifb-header-hero--position-right .ifb-header-hero__image { object-position: right center; }
.ifb-header-hero--blur-none .ifb-header-hero__image { filter: none; }
.ifb-header-hero--blur-soft .ifb-header-hero__image { filter: blur(2px); }
.ifb-header-hero--blur-medium .ifb-header-hero__image { filter: blur(5px); }
.ifb-header-hero--blur-strong .ifb-header-hero__image { filter: blur(9px); }

.ifb-header-hero__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 17, 39, 0.82) 0%, rgba(10, 26, 57, 0.68) 48%, rgba(10, 26, 57, 0.30) 100%),
    linear-gradient(0deg, rgba(7, 17, 39, 0.18), rgba(7, 17, 39, 0.18));
}
.ifb-header-hero--overlay-light .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7, 17, 39, 0.66) 0%, rgba(10, 26, 57, 0.48) 48%, rgba(10, 26, 57, 0.18) 100%),
    linear-gradient(0deg, rgba(7, 17, 39, 0.08), rgba(7, 17, 39, 0.08));
}
.ifb-header-hero--overlay-strong .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7, 17, 39, 0.91) 0%, rgba(10, 26, 57, 0.79) 52%, rgba(10, 26, 57, 0.50) 100%),
    linear-gradient(0deg, rgba(7, 17, 39, 0.28), rgba(7, 17, 39, 0.28));
}
.ifb-header-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding-block: clamp(58px, 8vw, 104px);
}
.ifb-header-hero__copy {
  width: min(100%, 790px);
  color: #fff;
}
.ifb-header-hero__eyebrow {
  margin: 0 0 14px;
  color: #f3d58f;
  font-size: 0.82rem;
  font-weight: 820;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ifb-header-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.45rem, 5.2vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  text-wrap: balance;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.24);
}
.ifb-header-hero__lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.91);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.62;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.20);
}
.ifb-header-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 31px;
}
.ifb-hero-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 2px solid #fff;
  border-radius: var(--ifb-radius-sm);
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.ifb-hero-button:hover { transform: translateY(-2px); }
.ifb-hero-button--primary {
  background: #fff;
  color: var(--ifb-navy);
}
.ifb-hero-button--primary:hover {
  border-color: #f5dfac;
  background: #f5dfac;
  color: #111a2f;
}
.ifb-hero-button--secondary {
  border-color: rgba(255, 255, 255, 0.86);
  background: rgba(9, 22, 48, 0.20);
  color: #fff;
  backdrop-filter: blur(8px);
}
.ifb-hero-button--secondary:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.ifb-header-hero--align-center .ifb-header-hero__content { justify-content: center; }
.ifb-header-hero--align-center .ifb-header-hero__copy {
  margin-inline: auto;
  text-align: center;
}
.ifb-header-hero--align-center .ifb-header-hero__lead { margin-inline: auto; }
.ifb-header-hero--align-center .ifb-header-hero__actions { justify-content: center; }

@media (max-width: 700px) {
  .ifb-header-hero--contained { padding: 10px 12px 0; }
  .ifb-header-hero--contained .ifb-header-hero__frame { border-radius: 14px; }
  .ifb-header-hero__frame,
  .ifb-header-hero--slim .ifb-header-hero__frame,
  .ifb-header-hero--medium .ifb-header-hero__frame,
  .ifb-header-hero--large .ifb-header-hero__frame {
    min-height: 520px;
  }
  .ifb-header-hero__media { inset: -14px; }
  .ifb-header-hero__image { transform: scale(1.055); }
  .ifb-header-hero__overlay,
  .ifb-header-hero--overlay-light .ifb-header-hero__overlay,
  .ifb-header-hero--overlay-strong .ifb-header-hero__overlay {
    background:
      linear-gradient(0deg, rgba(7, 17, 39, 0.90) 0%, rgba(8, 21, 47, 0.66) 64%, rgba(8, 21, 47, 0.36) 100%);
  }
  .ifb-header-hero__content {
    align-items: flex-end;
    padding-block: 74px 48px;
  }
  .ifb-header-hero__copy { width: 100%; }
  .ifb-header-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3.35rem);
    line-height: 1.03;
  }
  .ifb-header-hero__lead {
    margin-top: 18px;
    font-size: 1.05rem;
  }
  .ifb-header-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 25px;
  }
  .ifb-hero-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ifb-header-hero__image,
  .ifb-hero-button { transition: none; }
}

@media print {
  .ifb-header-hero { display: none !important; }
}

/* Bilgi Merkezi improvements added in theme 0.2.3. */
.ifb-knowledge-header { margin-bottom: 30px; }
.ifb-knowledge-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin: 0 0 34px;
  padding: 17px;
  border: 1px solid var(--ifb-border);
  border-radius: var(--ifb-radius);
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-category-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.ifb-category-chip {
  display: inline-flex;
  min-height: 39px;
  gap: 7px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--ifb-border);
  border-radius: 999px;
  background: #fff;
  color: var(--ifb-navy);
  font-size: .8rem;
  font-weight: 760;
  text-decoration: none;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}
.ifb-category-chip span {
  display: grid;
  min-width: 20px;
  min-height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--ifb-cream);
  color: var(--ifb-muted);
  font-size: .68rem;
}
.ifb-category-chip:hover,
.ifb-category-chip.is-current { border-color: var(--ifb-blue); background: #f2f3ff; color: var(--ifb-blue); }
.ifb-knowledge-search { display: flex; min-width: min(100%, 285px); }
.ifb-knowledge-search input {
  width: 100%;
  min-height: 43px;
  padding: 9px 12px;
  border: 1px solid #cdd3dc;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  color: var(--ifb-navy);
}
.ifb-knowledge-search input:focus { position: relative; z-index: 1; border-color: var(--ifb-blue); outline: 3px solid rgba(0,0,170,.1); }
.ifb-knowledge-search button {
  min-height: 43px;
  padding: 9px 16px;
  border: 1px solid var(--ifb-blue);
  border-radius: 0 8px 8px 0;
  background: var(--ifb-blue);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.ifb-knowledge-search button:hover { background: var(--ifb-blue-dark); }
.ifb-post-card { display: flex; min-height: 100%; flex-direction: column; }
.ifb-post-card__content { display: flex; flex: 1; flex-direction: column; }
.ifb-post-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 12px;
  margin-bottom: 15px;
  color: var(--ifb-muted);
  font-size: .72rem;
  font-weight: 720;
}
.ifb-post-card__meta a {
  color: var(--ifb-blue);
  font-weight: 800;
  text-decoration: none;
}
.ifb-post-card__meta a:hover { text-decoration: underline; }
.ifb-post-card__date { margin: auto 0 0; padding-top: 18px; color: var(--ifb-muted); font-size: .74rem; }
.ifb-post-card__content > p:not(.ifb-post-card__date) { color: var(--ifb-muted); }
.ifb-archive-back { margin: -20px 0 32px; }
.ifb-article-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--ifb-muted);
  font-size: .8rem;
  font-weight: 730;
}
.ifb-article-category {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f2f3ff;
  color: var(--ifb-blue);
  font-weight: 820;
  text-decoration: none;
}
.ifb-article-category:hover { background: var(--ifb-blue); color: #fff; }
.ifb-related-posts {
  margin-top: 70px;
  padding-top: 45px;
  border-top: 1px solid var(--ifb-border);
}
.ifb-related-posts > h2 { margin-bottom: 24px; }
.ifb-related-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ifb-related-card {
  padding: 22px;
  border: 1px solid var(--ifb-border);
  border-radius: var(--ifb-radius);
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-related-card p { margin: 0 0 8px; color: var(--ifb-muted); font-size: .72rem; }
.ifb-related-card h3 { margin: 0; font-size: 1.08rem; }
.ifb-related-card a { color: var(--ifb-navy); text-decoration: none; }
.ifb-related-card a:hover { color: var(--ifb-blue); }

@media (max-width: 960px) {
  .ifb-knowledge-toolbar { grid-template-columns: 1fr; }
  .ifb-knowledge-search { width: 100%; }
  .ifb-related-posts__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .ifb-knowledge-toolbar { padding: 13px; }
  .ifb-category-nav { flex-wrap: nowrap; margin-inline: -13px; padding-inline: 13px; overflow-x: auto; scrollbar-width: thin; }
  .ifb-category-chip { flex: 0 0 auto; }
  .ifb-related-posts__grid { grid-template-columns: 1fr; }
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  z-index: 100000;
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  padding: 12px 16px;
  overflow: visible;
  clip: auto;
  background: #fff;
  color: var(--ifb-navy);
}

/* Third homepage action added for the general Germany exam page. */
.ifb-hero-button--tertiary {
  border-color: rgba(243, 213, 143, 0.92);
  background: rgba(201, 150, 44, 0.20);
  color: #fff;
  backdrop-filter: blur(8px);
}
.ifb-hero-button--tertiary:hover {
  border-color: #f3d58f;
  background: #f3d58f;
  color: #172033;
}

/* Homepage cleanup, typography and contrast improvements – theme 0.3.3. */
:root {
  --ifb-text: #223047;
  --ifb-muted: #4b5870;
  --ifb-border: #d9dee7;
  --ifb-cream: #f5f4ef;
}
body {
  color: var(--ifb-text);
  font-size: 18px;
  line-height: 1.72;
}
p,
li { overflow-wrap: break-word; }
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 750;
  letter-spacing: -0.02em;
}
h2 { font-size: clamp(2rem, 3.2vw, 3.15rem); }
h3 { font-size: clamp(1.28rem, 1.75vw, 1.55rem); }
.ifb-front-page-content > .wp-block-group { margin-block-start: 0; }
.ifb-front-page .ifb-section { padding-block: clamp(66px, 7vw, 92px); }
.ifb-section-heading { max-width: 820px; margin-bottom: 36px; }
.ifb-section-heading p:not(.ifb-eyebrow) {
  color: var(--ifb-muted);
  font-size: 1.125rem;
  line-height: 1.7;
}
.ifb-service-card,
.ifb-step-card,
.ifb-info-card {
  min-width: 0;
  padding: clamp(24px, 2.5vw, 32px);
}
.ifb-service-card h3,
.ifb-step-card h3,
.ifb-info-card h3 { margin-bottom: 11px; }
.ifb-service-card p,
.ifb-step-card p,
.ifb-info-card p {
  color: var(--ifb-muted);
  font-size: 1rem;
  line-height: 1.65;
}
.ifb-service-card p:last-child,
.ifb-step-card p:last-child,
.ifb-info-card p:last-child { margin-bottom: 0; }
.ifb-text-link {
  color: var(--ifb-blue);
  font-size: .98rem;
  font-weight: 780;
}
.ifb-card-kicker {
  display: inline-grid;
  width: 36px;
  height: 36px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 50%;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: .78rem;
  font-weight: 850;
}

/* Predictable, readable homepage card grids instead of squeezed columns. */
.ifb-home-grid {
  display: grid !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-bottom: 30px;
}
.ifb-home-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ifb-home-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ifb-home-grid > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}
.ifb-home-grid .ifb-service-card,
.ifb-home-grid .ifb-info-card,
.ifb-home-grid .ifb-step-card { height: 100%; }
.ifb-home-highlight,
.ifb-home-exam-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 30px 0;
  padding: clamp(24px, 3.5vw, 38px);
  border: 1px solid var(--ifb-border);
  border-radius: var(--ifb-radius);
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-home-highlight > :last-child,
.ifb-home-exam-note > :last-child { margin-bottom: 0; }
.ifb-home-highlight h3,
.ifb-home-exam-note h3 { margin-bottom: 10px; }
.ifb-home-highlight p,
.ifb-home-exam-note p { color: var(--ifb-muted); }
.ifb-home-exam-note {
  border-left: 5px solid var(--ifb-blue);
  background: #f2f5fb;
  box-shadow: none;
}
.ifb-home-final-cta .ifb-section-heading { max-width: 900px; }

/* Strong text contrast in every dark area. */
.ifb-section--navy,
.ifb-cta-band { color: #edf2f8; }
.ifb-section--navy h1,
.ifb-section--navy h2,
.ifb-section--navy h3,
.ifb-section--navy h4,
.ifb-cta-band h1,
.ifb-cta-band h2,
.ifb-cta-band h3,
.ifb-cta-band h4 { color: #fff; }
.ifb-section--navy p,
.ifb-section--navy li,
.ifb-section--navy .ifb-section-heading p:not(.ifb-eyebrow),
.ifb-cta-band p,
.ifb-cta-band li {
  color: #edf2f8;
}
.ifb-section--navy .ifb-eyebrow,
.ifb-cta-band .ifb-eyebrow { color: #f3d58f; }
.ifb-section--navy a:not(.wp-block-button__link),
.ifb-cta-band a:not(.wp-block-button__link) { color: #fff; }
.ifb-section--navy .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.ifb-cta-band .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  border-color: #fff;
  background: #fff;
  color: #111827;
}
.ifb-section--navy .wp-block-button.is-style-outline .wp-block-button__link,
.ifb-cta-band .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: rgba(255,255,255,.9);
  background: transparent;
  color: #fff;
}
.ifb-section--navy .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ifb-cta-band .wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #fff;
  background: #fff;
  color: #111827;
}

/* Hero text remains readable regardless of the selected photo. */
.ifb-header-hero__overlay,
.ifb-header-hero--overlay-light .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,17,39,.90) 0%, rgba(9,23,50,.76) 48%, rgba(9,23,50,.42) 100%),
    linear-gradient(0deg, rgba(7,17,39,.20), rgba(7,17,39,.20));
}
.ifb-header-hero--overlay-strong .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,17,39,.94) 0%, rgba(9,23,50,.84) 52%, rgba(9,23,50,.58) 100%),
    linear-gradient(0deg, rgba(7,17,39,.30), rgba(7,17,39,.30));
}
.ifb-header-hero__copy { width: min(100%, 780px); }
.ifb-header-hero h1 {
  font-size: clamp(2.55rem, 4.8vw, 4.7rem);
  line-height: 1.06;
  text-shadow: 0 3px 28px rgba(0,0,0,.38);
}
.ifb-header-hero__lead {
  max-width: 750px;
  color: #fff;
  font-size: clamp(1.1rem, 1.55vw, 1.3rem);
  font-weight: 520;
  line-height: 1.65;
  text-shadow: 0 2px 22px rgba(0,0,0,.38);
}
.ifb-hero-button--secondary {
  border-color: rgba(255,255,255,.94);
  background: rgba(7,17,39,.50);
  color: #fff;
}
.ifb-hero-button--tertiary {
  border-color: #f3d58f;
  background: #f3d58f;
  color: #172033;
  backdrop-filter: none;
}
.ifb-hero-button--tertiary:hover {
  border-color: #fff;
  background: #fff;
  color: #111827;
}

/* Visible fallback title when no homepage image has been configured. */
.ifb-home-fallback-hero {
  padding-block: clamp(54px, 7vw, 88px);
  background: linear-gradient(135deg, #f5f4ef 0%, #eef1fb 100%);
}
.ifb-home-fallback-hero__inner { max-width: 900px; }
.ifb-home-fallback-hero h1 { max-width: 850px; margin-bottom: 18px; }
.ifb-home-fallback-hero p { max-width: 760px; color: var(--ifb-muted); font-size: 1.16rem; }

@media (max-width: 1050px) {
  .ifb-home-grid--4,
  .ifb-home-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  body { font-size: 16px; line-height: 1.68; }
  h2 { font-size: clamp(1.72rem, 8vw, 2.25rem); }
  h3 { font-size: 1.25rem; }
  .ifb-front-page .ifb-section { padding-block: 54px; }
  .ifb-section-heading { margin-bottom: 28px; }
  .ifb-section-heading p:not(.ifb-eyebrow) { font-size: 1rem; }
  .ifb-home-grid--4,
  .ifb-home-grid--3 { grid-template-columns: 1fr; gap: 16px !important; }
  .ifb-home-highlight,
  .ifb-home-exam-note { grid-template-columns: 1fr; gap: 16px; margin: 22px 0; padding: 22px; }
  .ifb-home-highlight .ifb-button,
  .ifb-home-exam-note .ifb-button { width: 100%; }
  .ifb-front-page .wp-block-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .ifb-front-page .wp-block-button,
  .ifb-front-page .wp-block-button__link { width: 100%; }
  .ifb-header-hero__frame,
  .ifb-header-hero--slim .ifb-header-hero__frame,
  .ifb-header-hero--medium .ifb-header-hero__frame,
  .ifb-header-hero--large .ifb-header-hero__frame { min-height: 500px; }
  .ifb-header-hero__overlay,
  .ifb-header-hero--overlay-light .ifb-header-hero__overlay,
  .ifb-header-hero--overlay-strong .ifb-header-hero__overlay {
    background: linear-gradient(0deg, rgba(7,17,39,.94) 0%, rgba(8,21,47,.76) 68%, rgba(8,21,47,.48) 100%);
  }
  .ifb-header-hero h1 { font-size: clamp(2.05rem, 10vw, 2.8rem); line-height: 1.08; }
  .ifb-header-hero__lead { font-size: 1rem; line-height: 1.58; }
}

/* Publication preparation – theme 0.3.4. */
.ifb-site-header .ifb-container,
.ifb-topbar .ifb-container {
  width: min(calc(100% - 40px), 1280px);
}
.ifb-header__inner {
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) auto;
  gap: 18px;
}
.ifb-branding { min-width: 0; }
.ifb-primary-menu { gap: 2px; }
.ifb-primary-menu a {
  padding: 12px 8px;
  font-size: .94rem;
  font-weight: 700;
}
.ifb-primary-menu .sub-menu { min-width: 270px; }
.ifb-primary-menu .sub-menu a {
  padding: 11px 12px;
  font-size: .94rem;
  line-height: 1.42;
}
.ifb-header-cta {
  min-height: 44px;
  padding: 10px 16px;
  font-size: .92rem;
  white-space: nowrap;
}

/* Softer photo treatment and a calmer CTA hierarchy in the homepage hero. */
.ifb-header-hero--blur-soft .ifb-header-hero__image { filter: blur(1.5px); }
.ifb-header-hero--blur-medium .ifb-header-hero__image { filter: blur(3px); }
.ifb-header-hero--blur-strong .ifb-header-hero__image { filter: blur(6px); }
.ifb-header-hero__overlay,
.ifb-header-hero--overlay-light .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,17,39,.90) 0%, rgba(9,23,50,.72) 48%, rgba(9,23,50,.28) 100%),
    linear-gradient(0deg, rgba(7,17,39,.16), rgba(7,17,39,.16));
}
.ifb-header-hero--overlay-strong .ifb-header-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,17,39,.94) 0%, rgba(9,23,50,.80) 52%, rgba(9,23,50,.46) 100%),
    linear-gradient(0deg, rgba(7,17,39,.24), rgba(7,17,39,.24));
}
.ifb-header-hero__copy { width: min(100%, 740px); }
.ifb-header-hero__lead {
  max-width: 680px;
  font-size: clamp(1.08rem, 1.45vw, 1.24rem);
}
.ifb-hero-button--tertiary {
  min-height: 46px;
  padding: 11px 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
  backdrop-filter: none;
}
.ifb-hero-button--tertiary::after {
  content: "→";
  margin-left: 8px;
  text-decoration: none;
  transition: transform 160ms ease;
}
.ifb-hero-button--tertiary:hover {
  border-color: transparent;
  background: transparent;
  color: #f3d58f;
}
.ifb-hero-button--tertiary:hover::after { transform: translateX(3px); }

/* Final readability pass for cards and supporting homepage copy. */
.ifb-front-page .ifb-service-card p,
.ifb-front-page .ifb-step-card p,
.ifb-front-page .ifb-info-card p,
.ifb-front-page .ifb-home-highlight p,
.ifb-front-page .ifb-home-exam-note p {
  color: #3f4d64;
  font-size: 1.01rem;
  line-height: 1.68;
}
.ifb-front-page .ifb-text-link {
  font-size: 1rem;
  line-height: 1.4;
}
.ifb-home-overview .ifb-service-card { padding-top: clamp(25px, 2.7vw, 34px); }
.ifb-home-overview .ifb-service-card h3 { margin-top: 0; }
.ifb-content-note {
  color: #5e4a16;
  font-size: .98rem;
  line-height: 1.62;
}

/* More compact and legible footer. */
.ifb-footer-grid {
  grid-template-columns: 1.3fr .88fr 1.05fr;
  gap: 48px;
  padding-block: 58px 46px;
}
.ifb-footer-logo-link {
  width: min(100%, 260px);
  min-height: 76px;
  padding: 7px 13px;
  overflow: hidden;
}
.ifb-footer-logo__image {
  max-height: 58px;
  transform: scale(1.08);
  transform-origin: center;
}
.ifb-footer-about p {
  max-width: 430px;
  margin-top: 20px;
  color: #d4dbe6;
  font-size: .96rem;
  line-height: 1.64;
}
.ifb-footer-column h2 {
  margin-bottom: 16px;
  font-size: 1.05rem;
}
.ifb-footer-column li { margin-bottom: 7px; }
.ifb-footer-column a,
.ifb-footer-contact li {
  font-size: .96rem;
  line-height: 1.55;
}
.ifb-footer-note {
  font-size: .9rem;
  line-height: 1.5;
}
.ifb-footer-bottom__inner {
  min-height: 64px;
  font-size: .88rem;
}

@media (max-width: 1260px) {
  .ifb-primary-menu a {
    padding-inline: 6px;
    font-size: .88rem;
  }
  .ifb-header-cta { display: none; }
}

@media (max-width: 960px) {
  .ifb-site-header .ifb-container,
  .ifb-topbar .ifb-container {
    width: min(calc(100% - 32px), 1280px);
  }
  .ifb-header__inner { grid-template-columns: 1fr auto; }
}

@media (max-width: 700px) {
  .ifb-hero-button--tertiary {
    width: auto;
    justify-self: start;
    justify-content: flex-start;
    padding-inline: 0;
  }
  .ifb-footer-grid {
    gap: 30px;
    padding-block: 48px 38px;
  }
  .ifb-footer-logo-link { width: min(100%, 245px); }
  .ifb-footer-logo__image { max-height: 54px; }
  .ifb-footer-column a,
  .ifb-footer-contact li,
  .ifb-footer-about p { font-size: .98rem; }
}

/* Switch to the accessible off-canvas navigation before the eight-item menu becomes cramped. */
@media (max-width: 1080px) {
  body.ifb-menu-open { overflow: hidden; }
  .admin-bar .ifb-site-header { top: 46px; }
  .ifb-topbar__claim { display: none; }
  .ifb-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }
  .custom-logo { max-height: 52px; }
  .ifb-wordmark__mark { width: 50px; height: 50px; }
  .ifb-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 7px;
  }
  .ifb-menu-toggle__icon { display: grid; gap: 4px; width: 22px; }
  .ifb-menu-toggle__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .ifb-menu-toggle__label { font-size: .94rem; font-weight: 750; }
  .ifb-primary-navigation {
    position: fixed;
    z-index: 1001;
    top: var(--wp-admin--admin-bar--height, 0px);
    right: 0;
    bottom: 0;
    width: min(88vw, 410px);
    padding: 94px 24px 32px;
    overflow-y: auto;
    background: #fff;
    box-shadow: -20px 0 60px rgba(23,32,51,.16);
    transform: translateX(110%);
    transition: transform 190ms ease;
  }
  .ifb-primary-navigation.is-open { transform: translateX(0); }
  .ifb-primary-menu { display: block; }
  .ifb-primary-menu a {
    padding: 13px 10px;
    font-size: 1rem;
    white-space: normal;
  }
  .ifb-primary-menu .sub-menu {
    position: static;
    min-width: 0;
    margin-left: 12px;
    padding: 0 0 5px 12px;
    border: 0;
    border-left: 2px solid var(--ifb-border);
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

/* Header collision and process-card number fix – theme 0.3.5. */
/*
 * The desktop menu labels must never shrink inside their flex items. Without
 * this guard, long Turkish labels can visually flow over neighbouring items
 * even though the anchor text itself is set to nowrap.
 */
.ifb-site-header .ifb-container,
.ifb-topbar .ifb-container {
  width: min(calc(100% - 48px), 1540px);
}
.ifb-primary-navigation {
  min-width: 0;
  max-width: 100%;
}
.ifb-primary-menu {
  flex-wrap: nowrap;
  justify-content: center;
}
.ifb-primary-menu > li {
  flex: 0 0 auto;
  min-width: 0;
}
.ifb-primary-menu > li:nth-last-child(-n + 3) > .sub-menu {
  right: 0;
  left: auto;
}

/*
 * Later card-spacing rules used to reset the top padding of process cards,
 * while the number remained absolutely positioned. Keep the number in the
 * normal document flow so it can never cover a heading or paragraph.
 */
.ifb-step-card {
  position: relative;
  padding: clamp(24px, 2.5vw, 32px);
}
.ifb-step-number {
  position: static;
  display: inline-grid;
  width: 38px;
  height: 38px;
  margin: 0 0 18px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 50%;
  background: #ededff;
  color: var(--ifb-blue);
  font-size: .9rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-step-number + h3 {
  margin-top: 0;
}
.ifb-card-kicker {
  position: static;
  flex: 0 0 36px;
}

/* Keep the CTA only when the wide header actually has enough room. */
@media (max-width: 1540px) {
  .ifb-header-cta { display: none; }
}

/* Switch to the off-canvas navigation before long menu labels can collide. */
@media (max-width: 1400px) {
  body.ifb-menu-open { overflow: hidden; }
  .admin-bar .ifb-site-header { top: 46px; }
  .ifb-topbar__claim { display: none; }
  .ifb-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }
  .custom-logo { max-height: 52px; }
  .ifb-wordmark__mark { width: 50px; height: 50px; }
  .ifb-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 7px;
  }
  .ifb-menu-toggle__icon { display: grid; gap: 4px; width: 22px; }
  .ifb-menu-toggle__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .ifb-menu-toggle__label { font-size: .94rem; font-weight: 750; }
  .ifb-primary-navigation {
    position: fixed;
    z-index: 1001;
    top: var(--wp-admin--admin-bar--height, 0px);
    right: 0;
    bottom: 0;
    width: min(88vw, 410px);
    max-width: none;
    padding: 94px 24px 32px;
    overflow-y: auto;
    background: #fff;
    box-shadow: -20px 0 60px rgba(23,32,51,.16);
    transform: translateX(110%);
    transition: transform 190ms ease;
  }
  .ifb-primary-navigation.is-open { transform: translateX(0); }
  .ifb-primary-menu {
    display: block;
    width: 100%;
  }
  .ifb-primary-menu > li {
    width: 100%;
  }
  .ifb-primary-menu a {
    padding: 13px 10px;
    font-size: 1rem;
    white-space: normal;
  }
  .ifb-primary-menu .sub-menu,
  .ifb-primary-menu > li:nth-last-child(-n + 3) > .sub-menu {
    position: static;
    right: auto;
    left: auto;
    min-width: 0;
    margin-left: 12px;
    padding: 0 0 5px 12px;
    border: 0;
    border-left: 2px solid var(--ifb-border);
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

@media (max-width: 700px) {
  .ifb-step-number {
    width: 36px;
    height: 36px;
    margin-bottom: 15px;
    flex-basis: 36px;
  }
}

/* Header and card collision hardening – theme 0.3.5. */
.ifb-primary-navigation {
  min-width: 0;
  max-width: 100%;
}
.ifb-primary-menu {
  flex-wrap: nowrap;
}
.ifb-primary-menu > li {
  z-index: 1;
  flex: 0 0 auto;
}
.ifb-primary-menu > li:hover,
.ifb-primary-menu > li:focus-within {
  z-index: 120;
}
.ifb-primary-menu .sub-menu {
  z-index: 130;
}
.ifb-primary-menu > li:nth-last-child(-n + 3) > .sub-menu {
  right: 0;
  left: auto;
}

/* Remove the extra header CTA before it can squeeze the main navigation. */
@media (max-width: 1500px) {
  .ifb-header__inner {
    grid-template-columns: minmax(160px, 210px) minmax(0, 1fr);
  }
  .ifb-header-cta {
    display: none !important;
  }
  .ifb-primary-navigation {
    justify-self: end;
  }
  .ifb-primary-menu {
    justify-content: flex-end;
  }
}

/* Eight menu items need an earlier mobile breakpoint. This also remains safe
   when browser translation makes labels longer. */
@media (max-width: 1380px) {
  body.ifb-menu-open { overflow: hidden; }
  .admin-bar .ifb-site-header { top: 32px; }
  .ifb-topbar__claim { display: none; }
  .ifb-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }
  .custom-logo { max-height: 52px; }
  .ifb-wordmark__mark { width: 50px; height: 50px; }
  .ifb-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 7px;
  }
  .ifb-menu-toggle__icon { display: grid; gap: 4px; width: 22px; }
  .ifb-menu-toggle__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .ifb-menu-toggle__label { font-size: .94rem; font-weight: 750; }
  .ifb-primary-navigation {
    position: fixed;
    z-index: 1500;
    top: var(--wp-admin--admin-bar--height, 0px);
    right: 0;
    bottom: 0;
    width: min(88vw, 410px);
    max-width: 100%;
    padding: 94px 24px 32px;
    overflow-y: auto;
    background: #fff;
    box-shadow: -20px 0 60px rgba(23,32,51,.18);
    transform: translateX(110%);
    transition: transform 190ms ease;
  }
  .ifb-primary-navigation.is-open { transform: translateX(0); }
  .ifb-primary-menu {
    display: block;
  }
  .ifb-primary-menu > li { z-index: auto; }
  .ifb-primary-menu a {
    padding: 13px 10px;
    font-size: 1rem;
    white-space: normal;
  }
  .ifb-primary-menu .sub-menu,
  .ifb-primary-menu > li:nth-last-child(-n + 3) > .sub-menu {
    position: static;
    min-width: 0;
    margin-left: 12px;
    padding: 0 0 5px 12px;
    border: 0;
    border-left: 2px solid var(--ifb-border);
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

@media (max-width: 782px) {
  .admin-bar .ifb-site-header { top: 46px; }
}

/* Keep process numbers in normal document flow in every editor-generated card. */
.ifb-front-page .ifb-step-card {
  padding-top: clamp(24px, 3vw, 34px);
}
.ifb-front-page .ifb-step-number {
  position: static !important;
  inset: auto !important;
  z-index: auto;
}


/* Layout safety fixes – theme 0.3.5.
 * The long Turkish navigation is allowed to switch to the off-canvas menu
 * before items can collide. The primary CTA lives in the top bar instead of
 * competing for horizontal space in the main header row.
 */
.ifb-topbar__cta {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 4px 11px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.ifb-topbar__cta:hover,
.ifb-topbar__cta:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--ifb-navy);
  text-decoration: none;
}
.ifb-site-header .ifb-container,
.ifb-topbar .ifb-container {
  width: min(calc(100% - 40px), 1460px);
}
.ifb-header__inner {
  grid-template-columns: minmax(165px, 215px) minmax(0, 1fr);
  gap: 24px;
}
.ifb-primary-navigation {
  min-width: 0;
  justify-self: end;
}
.ifb-primary-menu {
  justify-content: flex-end;
  max-width: 100%;
}
.ifb-primary-menu > li:nth-last-child(-n+3) > .sub-menu {
  right: 0;
  left: auto;
}
.ifb-primary-menu .sub-menu {
  z-index: 1010;
}

/* Number badges are part of the card flow and can no longer cover headings. */
.ifb-step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(24px, 2.5vw, 32px);
}
.ifb-step-number {
  position: static;
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  margin: 0 0 16px;
  place-items: center;
  border: 1px solid #d9dcff;
  border-radius: 50%;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: .9rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-step-card h3 {
  width: 100%;
  margin-top: 0;
}

/* JavaScript adds this class if the real logo/menu width does not fit, even
 * on an unusually zoomed desktop. This makes the layout resilient to browser
 * zoom, longer labels and future menu additions.
 */
.ifb-site-header.ifb-nav-compact .ifb-header__inner {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 72px;
}
.ifb-site-header.ifb-nav-compact .ifb-menu-toggle {
  position: relative;
  z-index: 1003;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border-radius: 7px;
}
.ifb-site-header.ifb-nav-compact .ifb-menu-toggle__icon {
  display: grid;
  gap: 4px;
  width: 22px;
}
.ifb-site-header.ifb-nav-compact .ifb-menu-toggle__icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.ifb-site-header.ifb-nav-compact .ifb-menu-toggle__label {
  font-size: .94rem;
  font-weight: 750;
}
.ifb-site-header.ifb-nav-compact .ifb-primary-navigation {
  position: fixed;
  z-index: 1002;
  top: var(--wp-admin--admin-bar--height, 0px);
  right: 0;
  bottom: 0;
  width: min(88vw, 420px);
  padding: 94px 24px 32px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  box-shadow: -20px 0 60px rgba(23,32,51,.18);
  transform: translateX(110%);
  transition: transform 190ms ease;
}
.ifb-site-header.ifb-nav-compact .ifb-primary-navigation.is-open {
  transform: translateX(0);
}
.ifb-site-header.ifb-nav-compact .ifb-primary-menu {
  display: block;
  max-width: none;
}
.ifb-site-header.ifb-nav-compact .ifb-primary-menu a {
  padding: 13px 10px;
  font-size: 1rem;
  white-space: normal;
}
.ifb-site-header.ifb-nav-compact .ifb-primary-menu .sub-menu {
  position: static;
  min-width: 0;
  margin-left: 12px;
  padding: 0 0 5px 12px;
  border: 0;
  border-left: 2px solid var(--ifb-border);
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* CSS fallback: use the compact menu before eight Turkish labels can collide. */
@media (max-width: 1320px) {
  body.ifb-menu-open { overflow: hidden; }
  .admin-bar .ifb-site-header { top: 46px; }
  .ifb-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 72px;
  }
  .custom-logo { max-height: 52px; }
  .ifb-wordmark__mark { width: 50px; height: 50px; }
  .ifb-menu-toggle {
    position: relative;
    z-index: 1003;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 7px;
  }
  .ifb-menu-toggle__icon { display: grid; gap: 4px; width: 22px; }
  .ifb-menu-toggle__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .ifb-menu-toggle__label { font-size: .94rem; font-weight: 750; }
  .ifb-primary-navigation {
    position: fixed;
    z-index: 1002;
    top: var(--wp-admin--admin-bar--height, 0px);
    right: 0;
    bottom: 0;
    width: min(88vw, 420px);
    padding: 94px 24px 32px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    box-shadow: -20px 0 60px rgba(23,32,51,.18);
    transform: translateX(110%);
    transition: transform 190ms ease;
  }
  .ifb-primary-navigation.is-open { transform: translateX(0); }
  .ifb-primary-menu { display: block; max-width: none; }
  .ifb-primary-menu a {
    padding: 13px 10px;
    font-size: 1rem;
    white-space: normal;
  }
  .ifb-primary-menu .sub-menu {
    position: static;
    min-width: 0;
    margin-left: 12px;
    padding: 0 0 5px 12px;
    border: 0;
    border-left: 2px solid var(--ifb-border);
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

@media (max-width: 1080px) {
  .ifb-topbar__cta { display: none; }
}

@media (max-width: 700px) {
  .ifb-site-header .ifb-container,
  .ifb-topbar .ifb-container {
    width: min(calc(100% - 28px), 1460px);
  }
  .ifb-step-number {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    margin-bottom: 14px;
  }
}

/* Prevent the translated off-canvas panel from creating horizontal page scroll. */
html,
body { overflow-x: hidden; }
@supports (overflow: clip) {
  html,
  body { overflow-x: clip; }
}

/* The sticky header creates a containing block in some browsers because of
 * backdrop-filter. Anchor the compact panel below the header instead of using
 * viewport-fixed positioning so its height and close button remain reliable.
 */
.ifb-site-header.ifb-nav-compact .ifb-primary-navigation {
  position: absolute;
  top: 100%;
  right: 0;
  bottom: auto;
  height: calc(100vh - 110px);
  height: calc(100dvh - 110px);
  max-height: calc(100vh - 110px);
  max-height: calc(100dvh - 110px);
  padding-top: 28px;
}
@media (max-width: 1320px) {
  .ifb-primary-navigation {
    position: absolute;
    top: 100%;
    right: 0;
    bottom: auto;
    height: calc(100vh - 110px);
    height: calc(100dvh - 110px);
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    padding-top: 28px;
  }
}


/* 0.3.6 — independently adjustable header and Footer branding. */
.ifb-branding .custom-logo-link {
  display: inline-flex;
  max-width: min(100%, var(--ifb-header-logo-width, 280px));
  align-items: center;
}
body .ifb-branding .custom-logo {
  display: block;
  width: var(--ifb-header-logo-width, 280px);
  max-width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
}
body .ifb-site-footer .ifb-footer-logo-link {
  width: min(100%, var(--ifb-footer-logo-width, 240px));
}
body .ifb-site-footer .ifb-footer-logo__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 92px;
  object-fit: contain;
  transform: none;
}
body .ifb-site-footer .ifb-footer-logo-link--transparent {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
body .ifb-site-footer .ifb-footer-logo-link--transparent:hover {
  transform: none;
  box-shadow: none;
  opacity: .92;
}
body .ifb-site-footer .ifb-footer-logo-link--light {
  min-height: 72px;
  padding: 8px 14px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
  overflow: hidden;
}

@media (max-width: 1320px) {
  .ifb-branding .custom-logo-link {
    max-width: min(100%, var(--ifb-header-logo-mobile-width, 190px));
  }
  body .ifb-branding .custom-logo {
    width: var(--ifb-header-logo-mobile-width, 190px);
    max-height: 58px;
  }
}

@media (max-width: 480px) {
  body .ifb-branding .custom-logo {
    max-width: calc(100vw - 118px);
  }
  body .ifb-site-footer .ifb-footer-logo-link {
    width: min(100%, var(--ifb-footer-logo-width, 240px));
  }
}

/* 0.3.7 — publication-ready course hub. */
.ifb-course-hub {
  --ifb-course-card-border: #dfe4ec;
  --ifb-course-soft: #f6f7fa;
  --ifb-course-blue-soft: #eef1ff;
}
.ifb-course-hub .ifb-direct-answer {
  margin-bottom: 24px;
}
.ifb-course-top-actions {
  gap: 12px;
  margin: 0 0 24px;
}
.ifb-course-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 clamp(48px, 7vw, 76px);
  padding: 13px;
  border: 1px solid var(--ifb-course-card-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23, 32, 51, .05);
}
.ifb-course-jump a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 7px 13px;
  border: 1px solid #d8ddea;
  border-radius: 999px;
  background: var(--ifb-course-soft);
  color: var(--ifb-navy);
  font-size: .88rem;
  font-weight: 740;
  text-decoration: none;
  white-space: nowrap;
}
.ifb-course-jump a:hover,
.ifb-course-jump a:focus-visible {
  border-color: var(--ifb-blue);
  background: var(--ifb-course-blue-soft);
  color: var(--ifb-blue);
}
.ifb-course-section {
  margin-top: clamp(54px, 7vw, 82px);
  scroll-margin-top: 150px;
}
.ifb-course-section:first-of-type {
  margin-top: 0;
}
.ifb-course-section > h2,
.ifb-course-section > .wp-block-heading {
  margin-bottom: 12px;
}
.ifb-section-intro {
  max-width: 790px;
  margin: 0 0 28px;
  color: var(--ifb-muted);
  font-size: 1.04rem;
  line-height: 1.72;
}
.ifb-course-audience-grid,
.ifb-course-format-grid,
.ifb-course-prep-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px !important;
}
.ifb-course-level-grid,
.ifb-course-process {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px !important;
}
.ifb-course-audience-grid > .wp-block-column,
.ifb-course-level-grid > .wp-block-column,
.ifb-course-format-grid > .wp-block-column,
.ifb-course-process > .wp-block-column,
.ifb-course-prep-grid > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}
.ifb-course-path-card,
.ifb-course-level-card,
.ifb-format-card,
.ifb-course-step,
.ifb-prep-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(22px, 2.4vw, 29px);
  border: 1px solid var(--ifb-course-card-border);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(23, 32, 51, .06);
}
.ifb-course-path-card {
  border-top: 4px solid var(--ifb-blue);
}
.ifb-course-audience-grid > .wp-block-column:nth-child(2) .ifb-course-path-card {
  border-top-color: var(--ifb-gold);
}
.ifb-course-audience-grid > .wp-block-column:nth-child(3) .ifb-course-path-card {
  border-top-color: #52627b;
}
.ifb-course-audience-grid > .wp-block-column:nth-child(4) .ifb-course-path-card {
  border-top-color: var(--ifb-navy);
}
.ifb-card-kicker {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin-bottom: 14px;
  color: var(--ifb-blue);
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .075em;
  line-height: 1.35;
}
.ifb-course-path-card h3,
.ifb-course-level-card h3,
.ifb-format-card h3,
.ifb-course-step h3,
.ifb-prep-card h3 {
  margin: 0 0 10px;
  color: var(--ifb-navy);
  font-size: clamp(1.16rem, 1.35vw, 1.35rem);
  line-height: 1.28;
}
.ifb-course-path-card p,
.ifb-course-level-card p,
.ifb-format-card p,
.ifb-course-step p,
.ifb-prep-card p {
  margin: 0 0 17px;
  color: var(--ifb-muted);
  font-size: .98rem;
  line-height: 1.66;
}
.ifb-course-path-card .ifb-text-link,
.ifb-course-level-card .ifb-text-link,
.ifb-format-card .ifb-text-link,
.ifb-prep-card .ifb-text-link {
  margin-top: auto;
}
.ifb-course-level-card {
  position: relative;
  overflow: hidden;
  border-top: 4px solid var(--ifb-blue);
}
.ifb-course-level-grid > .wp-block-column:nth-child(2) .ifb-course-level-card {
  border-top-color: var(--ifb-gold);
}
.ifb-course-level-grid > .wp-block-column:nth-child(3) .ifb-course-level-card {
  border-top-color: var(--ifb-navy);
}
.ifb-level-pill {
  display: inline-flex;
  width: max-content;
  min-height: 40px;
  align-items: center;
  margin-bottom: 17px;
  padding: 6px 12px;
  border-radius: 9px;
  background: var(--ifb-blue);
  color: #fff;
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: .02em;
}
.ifb-course-level-grid > .wp-block-column:nth-child(2) .ifb-level-pill {
  background: #8a6314;
}
.ifb-course-level-grid > .wp-block-column:nth-child(3) .ifb-level-pill {
  background: var(--ifb-navy);
}
.ifb-course-level-card ul {
  display: grid;
  gap: 7px;
  margin: 0 0 19px;
  padding-left: 19px;
  color: var(--ifb-muted);
  font-size: .92rem;
  line-height: 1.55;
}
.ifb-format-card {
  background: var(--ifb-course-soft);
  box-shadow: none;
}
.ifb-course-choice {
  padding: clamp(28px, 4vw, 45px);
  border-radius: 20px;
  background: var(--ifb-course-blue-soft);
}
.ifb-course-choice > h2 {
  margin-top: 0;
}
.ifb-course-step {
  box-shadow: none;
}
.ifb-course-step__number {
  position: static;
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin: 0 0 17px;
  place-items: center;
  border-radius: 50%;
  background: var(--ifb-blue);
  color: #fff;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-course-prep-grid .ifb-prep-card {
  background: #fff;
}
.ifb-course-prep-grid > .wp-block-column:first-child .ifb-prep-card {
  border-color: #bfc8f6;
  background: #f7f8ff;
}
.ifb-course-transparency {
  margin-top: clamp(48px, 7vw, 74px);
}
.ifb-course-transparency h2 {
  margin: 0 0 13px;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}
.ifb-course-transparency ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 21px;
}
.ifb-course-final-cta {
  margin-top: clamp(56px, 8vw, 88px);
  padding: clamp(30px, 5vw, 54px);
  border-radius: 22px;
  background: var(--ifb-navy);
  color: #fff;
}
.ifb-course-final-cta h2,
.ifb-course-final-cta p {
  color: #fff;
}
.ifb-course-final-cta > p:not(.ifb-eyebrow) {
  max-width: 760px;
  color: #e7ebf3;
}
.ifb-course-final-cta .ifb-eyebrow {
  color: #d9b45d;
}
.ifb-course-final-cta .wp-block-buttons {
  margin-top: 23px;
}
.ifb-course-final-cta .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: #fff;
  color: #fff;
}
.ifb-course-final-cta .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ifb-course-final-cta .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: #fff;
  color: var(--ifb-navy);
}

@media (max-width: 1120px) {
  .ifb-course-audience-grid,
  .ifb-course-format-grid,
  .ifb-course-prep-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ifb-course-level-grid,
  .ifb-course-process {
    grid-template-columns: 1fr;
  }
  .ifb-course-choice {
    padding: 25px;
  }
}

@media (max-width: 680px) {
  .ifb-course-top-actions .wp-block-button,
  .ifb-course-top-actions .wp-block-button__link,
  .ifb-course-final-cta .wp-block-button,
  .ifb-course-final-cta .wp-block-button__link {
    width: 100%;
  }
  .ifb-course-jump {
    flex-wrap: nowrap;
    margin-inline: -4px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .ifb-course-audience-grid,
  .ifb-course-format-grid,
  .ifb-course-prep-grid {
    grid-template-columns: 1fr;
  }
  .ifb-course-section {
    margin-top: 52px;
  }
  .ifb-course-path-card,
  .ifb-course-level-card,
  .ifb-format-card,
  .ifb-course-step,
  .ifb-prep-card {
    padding: 22px;
  }
  .ifb-course-final-cta {
    padding: 28px 22px;
    border-radius: 17px;
  }
}


/* 0.3.8 — course-card link, badge and preparation-grid correction. */
.ifb-course-hub .ifb-card-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  height: auto;
  min-height: 0;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 16px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .065em;
  line-height: 1.25;
  text-align: left;
}
.ifb-course-hub .ifb-text-link {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--ifb-blue);
  font-size: .98rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}
.ifb-course-hub .ifb-text-link::after {
  content: "→";
  display: inline-grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  margin-left: auto;
  place-items: center;
  border-radius: 50%;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: 1rem;
  line-height: 1;
  transition: transform 150ms ease, background-color 150ms ease;
}
.ifb-course-hub .ifb-text-link:hover::after,
.ifb-course-hub .ifb-text-link:focus-visible::after {
  transform: translateX(3px);
  background: #e2e6ff;
}
.ifb-course-prep-grid .ifb-prep-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  align-content: stretch;
  overflow: hidden;
}
.ifb-course-prep-grid .ifb-prep-card h3 {
  margin-bottom: 14px;
  overflow-wrap: anywhere;
}
.ifb-course-prep-grid .ifb-prep-card p {
  margin-bottom: 22px;
}
.ifb-course-prep-grid .ifb-prep-card .ifb-text-link {
  align-self: end;
  margin-top: 0;
  padding-top: 14px;
  border-top: 1px solid #e7eaf1;
}
@media (min-width: 1121px) {
  .ifb-course-prep-grid .ifb-prep-card h3 {
    min-height: 2.58em;
  }
}
@media (max-width: 680px) {
  .ifb-course-hub .ifb-text-link {
    font-size: 1rem;
  }
  .ifb-course-hub .ifb-card-kicker {
    white-space: normal;
  }
}

/* 0.3.9 — publication-ready children and youth German page. */
.ifb-page-children-german .ifb-entry-header,
.ifb-page-children-german .ifb-entry-content { max-width: 1120px; }
.ifb-children-hub { --ifb-children-soft: #f6f4ef; --ifb-children-blue-soft: #f1f3ff; --ifb-children-border: #dfe4ec; }
.ifb-children-hub .ifb-direct-answer { max-width: 930px; margin-bottom: 22px; }
.ifb-children-top-actions { gap: 12px; margin: 0 0 24px; }
.ifb-children-jump { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 clamp(48px,7vw,76px); padding:13px; border:1px solid var(--ifb-children-border); border-radius:14px; background:#fff; box-shadow:0 7px 22px rgba(23,32,51,.05); }
.ifb-children-jump a { display:inline-flex; min-height:38px; align-items:center; padding:7px 13px; border:1px solid #d8ddea; border-radius:999px; background:#f4f5f8; color:var(--ifb-navy); font-size:.88rem; font-weight:740; text-decoration:none; white-space:nowrap; }
.ifb-children-jump a:hover,.ifb-children-jump a:focus-visible { border-color:var(--ifb-blue); background:var(--ifb-children-blue-soft); color:var(--ifb-blue); }
.ifb-children-section { margin-top:clamp(58px,7vw,86px); scroll-margin-top:150px; }
.ifb-children-section:first-of-type { margin-top:0; }
.ifb-children-section--soft { margin-inline:clamp(-36px,-3vw,-18px); padding:clamp(30px,5vw,52px); border-radius:24px; background:var(--ifb-children-soft); }
.ifb-children-section > h2,.ifb-children-section > .wp-block-heading { margin-bottom:12px; }
.ifb-children-section-intro { max-width:820px; margin:0 0 30px; color:var(--ifb-muted); font-size:1.04rem; line-height:1.72; }
.ifb-children-age-grid,.ifb-children-goal-grid,.ifb-children-format-grid,.ifb-children-process { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px !important; }
.ifb-children-method-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px !important; }
.ifb-children-age-grid > .wp-block-column,.ifb-children-goal-grid > .wp-block-column,.ifb-children-format-grid > .wp-block-column,.ifb-children-process > .wp-block-column,.ifb-children-method-grid > .wp-block-column { min-width:0; margin:0 !important; }
.ifb-children-age-card,.ifb-children-goal-card,.ifb-children-format-card,.ifb-children-method-card,.ifb-children-step { display:flex; min-width:0; height:100%; flex-direction:column; padding:clamp(22px,2.4vw,29px); border:1px solid var(--ifb-children-border); border-radius:16px; background:#fff; box-shadow:0 9px 28px rgba(23,32,51,.06); }
.ifb-children-age-card { border-top:4px solid var(--ifb-blue); }
.ifb-children-age-grid > .wp-block-column:nth-child(2) .ifb-children-age-card { border-top-color:#c9962c; }
.ifb-children-age-grid > .wp-block-column:nth-child(3) .ifb-children-age-card { border-top-color:#52627b; }
.ifb-children-age-grid > .wp-block-column:nth-child(4) .ifb-children-age-card { border-top-color:var(--ifb-navy); }
.ifb-children-hub .ifb-card-kicker { display:inline-flex; width:fit-content; max-width:100%; margin:0 0 15px; padding:7px 11px; border-radius:999px; background:#eef0ff; color:var(--ifb-blue); font-size:.72rem; font-weight:850; letter-spacing:.065em; line-height:1.25; }
.ifb-children-age-card h3,.ifb-children-goal-card h3,.ifb-children-format-card h3,.ifb-children-method-card h3,.ifb-children-step h3,.ifb-children-exam-panel h3 { margin:0 0 11px; color:var(--ifb-navy); font-size:clamp(1.16rem,1.35vw,1.36rem); line-height:1.28; }
.ifb-children-age-card p,.ifb-children-goal-card p,.ifb-children-format-card p,.ifb-children-step p,.ifb-children-exam-panel p { margin:0; color:var(--ifb-muted); font-size:.97rem; line-height:1.66; }
.ifb-children-mini-list,.ifb-children-method-card ul { display:grid; gap:8px; margin:18px 0 0; padding-left:19px; color:var(--ifb-muted); font-size:.92rem; line-height:1.55; }
.ifb-children-goal-card { box-shadow:none; }
.ifb-children-icon,.ifb-children-step__number { display:grid; width:40px; height:40px; flex:0 0 40px; margin:0 0 17px; place-items:center; border-radius:11px; background:var(--ifb-children-blue-soft); color:var(--ifb-blue); font-size:.82rem; font-weight:850; line-height:1; }
.ifb-children-method-card { padding:clamp(25px,3.2vw,36px); }
.ifb-children-method-card ul { margin-top:4px; }
.ifb-children-format-card { background:#fbfcfe; box-shadow:none; }
.ifb-children-exam-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,auto); gap:28px; align-items:end; margin-top:24px; padding:clamp(26px,4vw,38px); border-radius:18px; background:var(--ifb-navy); }
.ifb-children-exam-panel h3 { color:#fff; }
.ifb-children-exam-panel p { max-width:760px; color:#d8e0ec; }
.ifb-children-exam-panel .ifb-card-kicker { background:rgba(255,255,255,.12); color:#f3d58f; }
.ifb-children-exam-links { display:grid; gap:10px; min-width:220px; }
.ifb-children-exam-links .ifb-text-link { display:flex; width:100%; justify-content:space-between; padding:11px 13px; border:1px solid rgba(255,255,255,.24); border-radius:10px; color:#fff; text-decoration:none; }
.ifb-children-step { box-shadow:none; }
.ifb-children-process > .wp-block-column:nth-child(2) .ifb-children-step__number { background:#fff4d8; color:#7b560b; }
.ifb-children-process > .wp-block-column:nth-child(3) .ifb-children-step__number { background:#e8eef4; color:#425269; }
.ifb-children-process > .wp-block-column:nth-child(4) .ifb-children-step__number { background:#eaf4f1; color:#315f58; }
.ifb-children-hub .ifb-empty-state { border-style:dashed; background:#fff; }
.ifb-children-hub .ifb-form { margin-top:0; }
@media (max-width:1000px) {
  .ifb-children-age-grid,.ifb-children-goal-grid,.ifb-children-format-grid,.ifb-children-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ifb-children-exam-panel { grid-template-columns:1fr; align-items:start; }
  .ifb-children-exam-links { min-width:0; }
}
@media (max-width:680px) {
  .ifb-page-children-german .ifb-entry-header,.ifb-page-children-german .ifb-entry-content { max-width:100%; }
  .ifb-children-top-actions .wp-block-button,.ifb-children-top-actions .wp-block-button__link { width:100%; }
  .ifb-children-jump { flex-wrap:nowrap; margin-inline:-4px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .ifb-children-section { margin-top:54px; }
  .ifb-children-section--soft { margin-inline:-12px; padding:28px 20px; border-radius:18px; }
  .ifb-children-age-grid,.ifb-children-goal-grid,.ifb-children-format-grid,.ifb-children-process,.ifb-children-method-grid { grid-template-columns:1fr; }
  .ifb-children-age-card,.ifb-children-goal-card,.ifb-children-format-card,.ifb-children-method-card,.ifb-children-step { padding:22px; }
  .ifb-children-exam-panel { padding:26px 22px; }
}


/* 0.4.0 — publication-ready Germany university education hub. */
.ifb-page-germany-education .ifb-entry-header,
.ifb-page-germany-education .ifb-entry-content { max-width: 1120px; }
.ifb-education-hub {
  --ifb-education-soft: #f6f4ef;
  --ifb-education-blue-soft: #f1f3ff;
  --ifb-education-border: #dfe4ec;
  --ifb-education-green-soft: #edf6f2;
}
.ifb-education-hub .ifb-direct-answer { max-width: 980px; margin-bottom: 22px; }
.ifb-education-top-actions { gap: 12px; margin: 0 0 24px; }
.ifb-education-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 clamp(50px, 7vw, 78px);
  padding: 13px;
  border: 1px solid var(--ifb-education-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23, 32, 51, .05);
}
.ifb-education-jump a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 7px 13px;
  border: 1px solid #d8ddea;
  border-radius: 999px;
  background: #f4f5f8;
  color: var(--ifb-navy);
  font-size: .88rem;
  font-weight: 740;
  text-decoration: none;
  white-space: nowrap;
}
.ifb-education-jump a:hover,
.ifb-education-jump a:focus-visible { border-color: var(--ifb-blue); background: var(--ifb-education-blue-soft); color: var(--ifb-blue); }
.ifb-education-section { margin-top: clamp(58px, 7vw, 88px); scroll-margin-top: 150px; }
.ifb-education-section:first-of-type { margin-top: 0; }
.ifb-education-section--soft {
  margin-inline: clamp(-36px, -3vw, -18px);
  padding: clamp(30px, 5vw, 52px);
  border-radius: 24px;
  background: var(--ifb-education-soft);
}
.ifb-education-section > h2,
.ifb-education-section > .wp-block-heading { margin-bottom: 12px; }
.ifb-education-section-intro { max-width: 850px; margin: 0 0 30px; color: var(--ifb-muted); font-size: 1.04rem; line-height: 1.72; }
.ifb-education-path-grid,
.ifb-education-channel-grid,
.ifb-education-timeline {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px !important;
}
.ifb-education-support-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px !important; }
.ifb-education-role-grid,
.ifb-education-first-step { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; }
.ifb-education-path-grid > .wp-block-column,
.ifb-education-channel-grid > .wp-block-column,
.ifb-education-support-grid > .wp-block-column,
.ifb-education-role-grid > .wp-block-column,
.ifb-education-timeline > .wp-block-column,
.ifb-education-first-step > .wp-block-column { min-width: 0; margin: 0 !important; }
.ifb-education-path-card,
.ifb-education-channel-card,
.ifb-education-step,
.ifb-education-role-card,
.ifb-education-time-card,
.ifb-education-check-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(22px, 2.5vw, 30px);
  border: 1px solid var(--ifb-education-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(23, 32, 51, .06);
}
.ifb-education-path-card { border-top: 4px solid var(--ifb-blue); }
.ifb-education-path-grid > .wp-block-column:nth-child(2) .ifb-education-path-card { border-top-color: var(--ifb-gold); }
.ifb-education-path-grid > .wp-block-column:nth-child(3) .ifb-education-path-card { border-top-color: #52627b; }
.ifb-education-path-grid > .wp-block-column:nth-child(4) .ifb-education-path-card { border-top-color: var(--ifb-navy); }
.ifb-education-hub .ifb-card-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 15px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .065em;
  line-height: 1.25;
}
.ifb-education-path-card h3,
.ifb-education-channel-card h3,
.ifb-education-step h3,
.ifb-education-role-card h3,
.ifb-education-time-card h3,
.ifb-education-check-card h3 { margin: 0 0 11px; color: var(--ifb-navy); font-size: clamp(1.16rem, 1.35vw, 1.38rem); line-height: 1.28; }
.ifb-education-path-card p,
.ifb-education-channel-card p,
.ifb-education-step p,
.ifb-education-time-card p { margin: 0 0 18px; color: var(--ifb-muted); font-size: .97rem; line-height: 1.66; }
.ifb-education-path-card .ifb-text-link { margin-top: auto; }
.ifb-education-channel-card { box-shadow: none; }
.ifb-education-icon,
.ifb-education-step__number {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin: 0 0 17px;
  place-items: center;
  border-radius: 11px;
  background: var(--ifb-education-blue-soft);
  color: var(--ifb-blue);
  font-size: .82rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-education-channel-grid > .wp-block-column:nth-child(2) .ifb-education-icon,
.ifb-education-support-grid > .wp-block-column:nth-child(2) .ifb-education-step__number { background: #fff4d8; color: #7b560b; }
.ifb-education-channel-grid > .wp-block-column:nth-child(3) .ifb-education-icon,
.ifb-education-support-grid > .wp-block-column:nth-child(3) .ifb-education-step__number { background: #e8eef4; color: #425269; }
.ifb-education-channel-grid > .wp-block-column:nth-child(4) .ifb-education-icon,
.ifb-education-support-grid > .wp-block-column:nth-child(4) .ifb-education-step__number { background: var(--ifb-education-green-soft); color: #315f58; }
.ifb-education-support-grid > .wp-block-column:nth-child(5) .ifb-education-step__number { background: #f6ecec; color: #7a3f45; }
.ifb-education-support-grid > .wp-block-column:nth-child(6) .ifb-education-step__number { background: #eceff8; color: #3c4d72; }
.ifb-education-step { box-shadow: none; }
.ifb-education-inline-note {
  margin: 24px 0 0;
  padding: 17px 19px;
  border-left: 4px solid var(--ifb-blue);
  border-radius: 0 12px 12px 0;
  background: #fff;
  color: var(--ifb-muted);
}
.ifb-education-inline-note strong { color: var(--ifb-navy); }
.ifb-education-role-card { padding: clamp(27px, 3.4vw, 38px); box-shadow: none; }
.ifb-education-role-card--ifb { border-top: 5px solid var(--ifb-blue); }
.ifb-education-role-card--authority { border-top: 5px solid var(--ifb-gold); }
.ifb-education-role-card ul,
.ifb-education-check-card ul { display: grid; gap: 9px; margin: 5px 0 0; padding-left: 20px; color: var(--ifb-muted); font-size: .96rem; line-height: 1.6; }
.ifb-education-time-card { position: relative; padding-top: 26px; box-shadow: none; }
.ifb-education-time-card > span {
  display: grid;
  width: 34px;
  height: 34px;
  margin: 0 0 16px;
  place-items: center;
  border-radius: 50%;
  background: var(--ifb-blue);
  color: #fff;
  font-size: .86rem;
  font-weight: 850;
}
.ifb-education-deadline-note { margin: 24px 0 0; padding: 18px 20px; border: 1px solid #d9e0ef; border-radius: 12px; background: #f7f9fd; color: var(--ifb-muted); }
.ifb-education-deadline-note strong { color: var(--ifb-navy); }
.ifb-education-language-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
  gap: 32px;
  align-items: end;
  padding: clamp(30px, 5vw, 48px);
  border-radius: 22px;
  background: var(--ifb-navy);
  color: #fff;
}
.ifb-education-language-panel h2 { margin-top: 0; color: #fff; }
.ifb-education-language-panel p { max-width: 780px; margin-bottom: 0; color: #d8e0ec; }
.ifb-education-language-panel .ifb-card-kicker { background: rgba(255,255,255,.12); color: #f3d58f; }
.ifb-education-language-actions { display: grid; gap: 11px; min-width: 240px; }
.ifb-education-language-actions .ifb-button { width: 100%; justify-content: center; }
.ifb-education-language-actions .ifb-button--outline { border-color: rgba(255,255,255,.72); color: #fff; }
.ifb-education-language-actions .ifb-button--outline:hover,
.ifb-education-language-actions .ifb-button--outline:focus-visible { background: #fff; color: var(--ifb-navy); }
.ifb-education-check-card { box-shadow: none; }
.ifb-education-check-card--limit { background: #fffaf0; border-color: #ead8a8; }
.ifb-education-cta-buttons { margin-top: 24px; }
.ifb-education-sources { margin-top: clamp(58px, 7vw, 86px); }
.ifb-education-sources h2 { margin-top: 0; }

@media (max-width: 1120px) {
  .ifb-education-path-grid,
  .ifb-education-channel-grid,
  .ifb-education-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-education-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .ifb-education-role-grid,
  .ifb-education-first-step { grid-template-columns: 1fr; }
  .ifb-education-language-panel { grid-template-columns: 1fr; align-items: start; }
  .ifb-education-language-actions { min-width: 0; }
}
@media (max-width: 680px) {
  .ifb-page-germany-education .ifb-entry-header,
  .ifb-page-germany-education .ifb-entry-content { max-width: 100%; }
  .ifb-education-top-actions .wp-block-button,
  .ifb-education-top-actions .wp-block-button__link,
  .ifb-education-cta-buttons .wp-block-button,
  .ifb-education-cta-buttons .wp-block-button__link { width: 100%; }
  .ifb-education-jump { flex-wrap: nowrap; margin-inline: -4px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .ifb-education-section { margin-top: 54px; }
  .ifb-education-section--soft { margin-inline: -12px; padding: 28px 20px; border-radius: 18px; }
  .ifb-education-path-grid,
  .ifb-education-channel-grid,
  .ifb-education-support-grid,
  .ifb-education-timeline { grid-template-columns: 1fr; }
  .ifb-education-path-card,
  .ifb-education-channel-card,
  .ifb-education-step,
  .ifb-education-role-card,
  .ifb-education-time-card,
  .ifb-education-check-card { padding: 22px; }
  .ifb-education-language-panel { padding: 28px 22px; border-radius: 18px; }
}


/* Theme 0.4.1 – Germany exams hub. */
.ifb-page-germany-exams .ifb-entry-header,
.ifb-page-germany-exams .ifb-entry-content { max-width: 1120px; }
.ifb-exam-hub { --ifb-exam-blue-soft:#eef1ff; --ifb-exam-sand:#f7f5f0; --ifb-exam-green:#e9f4ef; }
.ifb-exam-hub > .ifb-direct-answer { margin-bottom: 22px; }
.ifb-exam-top-actions { margin: 22px 0; }
.ifb-exam-jump { display:flex; flex-wrap:wrap; gap:8px; margin: 26px 0 38px; padding:12px; border:1px solid var(--ifb-border); border-radius:14px; background:#fff; box-shadow:var(--ifb-shadow-sm); }
.ifb-exam-jump a { display:inline-flex; min-height:36px; align-items:center; padding:7px 12px; border-radius:999px; background:#f2f4f7; color:var(--ifb-navy); font-size:.82rem; font-weight:750; text-decoration:none; }
.ifb-exam-jump a:hover,.ifb-exam-jump a:focus-visible { background:var(--ifb-blue); color:#fff; }
.ifb-exam-section { margin-top: clamp(62px,8vw,92px); scroll-margin-top:130px; }
.ifb-exam-section--soft { margin-inline:-30px; padding:clamp(34px,5vw,56px) 30px; border-radius:22px; background:var(--ifb-exam-sand); }
.ifb-exam-key-grid,.ifb-exam-route-grid,.ifb-exam-eligibility-grid,.ifb-exam-process-grid,.ifb-exam-roles-grid { display:grid !important; gap:18px; }
.ifb-exam-key-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin: 0; }
.ifb-exam-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:26px; }
.ifb-exam-eligibility-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:26px; }
.ifb-exam-process-grid { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:26px; }
.ifb-exam-roles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:26px; }
.ifb-exam-key-grid > .wp-block-column,.ifb-exam-route-grid > .wp-block-column,.ifb-exam-eligibility-grid > .wp-block-column,.ifb-exam-process-grid > .wp-block-column,.ifb-exam-roles-grid > .wp-block-column { min-width:0; margin:0; }
.ifb-exam-key-card,.ifb-exam-route-card,.ifb-exam-eligibility-card,.ifb-exam-process-card,.ifb-exam-role-card { height:100%; padding:clamp(22px,2.7vw,30px); border:1px solid var(--ifb-border); border-radius:16px; background:#fff; box-shadow:var(--ifb-shadow-sm); }
.ifb-exam-key-card > span,.ifb-exam-eligibility-card > span,.ifb-exam-process-card > span { display:grid; width:40px; height:40px; margin:0 0 17px; place-items:center; border-radius:11px; background:var(--ifb-exam-blue-soft); color:var(--ifb-blue); font-size:.78rem; font-weight:850; }
.ifb-exam-key-card h2,.ifb-exam-route-card h3,.ifb-exam-eligibility-card h3,.ifb-exam-process-card h3,.ifb-exam-role-card h3 { margin:0 0 11px; color:var(--ifb-navy); font-size:clamp(1.12rem,1.4vw,1.36rem); line-height:1.27; }
.ifb-exam-key-card p,.ifb-exam-route-card p,.ifb-exam-eligibility-card p,.ifb-exam-process-card p,.ifb-exam-role-card p { margin:0; color:var(--ifb-muted); font-size:.96rem; line-height:1.62; }
.ifb-exam-route-card { display:flex; flex-direction:column; border-top:4px solid #cfd5e3; box-shadow:none; }
.ifb-exam-route-card--telc { border-color:var(--ifb-blue); }
.ifb-exam-route-card .ifb-card-kicker { align-self:flex-start; margin-bottom:18px; }
.ifb-exam-route-card ul { display:grid; gap:7px; margin:18px 0 22px; padding-left:20px; color:var(--ifb-muted); font-size:.91rem; line-height:1.55; }
.ifb-exam-route-card .ifb-text-link { margin-top:auto; }
.ifb-exam-prep-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,auto); gap:32px; align-items:center; margin-top:clamp(62px,8vw,92px); padding:clamp(30px,5vw,48px); border-radius:22px; background:var(--ifb-navy); color:#fff; scroll-margin-top:130px; }
.ifb-exam-prep-panel h2 { margin:12px 0 14px; color:#fff; }
.ifb-exam-prep-panel p { margin:0; color:#d7dfeb; }
.ifb-exam-prep-panel .ifb-card-kicker { background:rgba(255,255,255,.12); color:#f3d58f; }
.ifb-exam-prep-actions { display:grid; gap:11px; min-width:230px; }
.ifb-exam-prep-actions .ifb-button { width:100%; justify-content:center; }
.ifb-exam-prep-actions .ifb-button--outline { border-color:rgba(255,255,255,.72); color:#fff; }
.ifb-exam-prep-actions .ifb-button--outline:hover,.ifb-exam-prep-actions .ifb-button--outline:focus-visible { background:#fff; color:var(--ifb-navy); }
.ifb-exam-passport-note { margin-top:24px; padding:23px 25px; border-left:4px solid var(--ifb-gold); border-radius:0 14px 14px 0; background:#fff9e9; }
.ifb-exam-passport-note h3 { margin:0 0 8px; color:var(--ifb-navy); }
.ifb-exam-passport-note p { margin:0; color:var(--ifb-muted); }
.ifb-exam-process-card { box-shadow:none; }
.ifb-exam-role-card { box-shadow:none; }
.ifb-exam-role-card--turkey { border-top:5px solid var(--ifb-blue); }
.ifb-exam-role-card--germany { border-top:5px solid var(--ifb-gold); }
.ifb-exam-role-card ul { display:grid; gap:9px; margin:0; padding-left:20px; color:var(--ifb-muted); font-size:.95rem; line-height:1.6; }
.ifb-exam-role-card p { margin-top:18px; padding-top:16px; border-top:1px solid var(--ifb-border); }
.ifb-exam-travel-note { margin-top:22px; }
.ifb-exam-form-section { margin-top:clamp(62px,8vw,92px); padding:clamp(30px,5vw,48px); border:1px solid var(--ifb-border); border-radius:22px; background:#f7f8fb; scroll-margin-top:130px; }
.ifb-exam-form-section > h2 { margin-top:0; }
.ifb-exam-form-section .ifb-form { margin-top:26px; background:#fff; }
.ifb-exam-faq-section { scroll-margin-top:130px; }
.ifb-exam-sources { margin-top:clamp(58px,7vw,86px); }
.ifb-exam-sources h2 { margin-top:0; }
@media (max-width:1080px) {
  .ifb-exam-key-grid,.ifb-exam-eligibility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ifb-exam-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .ifb-exam-route-grid,.ifb-exam-roles-grid { grid-template-columns:1fr; }
  .ifb-exam-prep-panel { grid-template-columns:1fr; align-items:start; }
  .ifb-exam-prep-actions { min-width:0; }
}
@media (max-width:680px) {
  .ifb-page-germany-exams .ifb-entry-header,.ifb-page-germany-exams .ifb-entry-content { max-width:100%; }
  .ifb-exam-top-actions .wp-block-button,.ifb-exam-top-actions .wp-block-button__link { width:100%; }
  .ifb-exam-jump { flex-wrap:nowrap; margin-inline:-4px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .ifb-exam-section { margin-top:54px; }
  .ifb-exam-section--soft { margin-inline:-12px; padding:28px 20px; border-radius:18px; }
  .ifb-exam-key-grid,.ifb-exam-route-grid,.ifb-exam-eligibility-grid,.ifb-exam-process-grid,.ifb-exam-roles-grid { grid-template-columns:1fr; }
  .ifb-exam-key-card,.ifb-exam-route-card,.ifb-exam-eligibility-card,.ifb-exam-process-card,.ifb-exam-role-card { padding:22px; }
  .ifb-exam-prep-panel,.ifb-exam-form-section { padding:28px 22px; border-radius:18px; }
}

/* Theme 0.4.2 – Almanya danışmanlığı ve mesleki denklik. */
.ifb-page-consulting .ifb-entry-header,
.ifb-page-consulting .ifb-entry-content { max-width: 1120px; }
.ifb-consulting-hub,
.ifb-recognition-hub {
  --ifb-consulting-soft: #f6f4ef;
  --ifb-consulting-blue-soft: #eef1ff;
  --ifb-consulting-green-soft: #eaf5f0;
  --ifb-consulting-rose-soft: #f8eeee;
  --ifb-consulting-border: #dfe4ec;
}
.ifb-consulting-hub > .ifb-direct-answer,
.ifb-recognition-hub > .ifb-direct-answer { margin-bottom: 22px; }
.ifb-consulting-top-actions { margin: 22px 0; }
.ifb-consulting-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 26px 0 40px;
  padding: 12px;
  border: 1px solid var(--ifb-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-consulting-jump a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f2f4f7;
  color: var(--ifb-navy);
  font-size: .82rem;
  font-weight: 760;
  text-decoration: none;
}
.ifb-consulting-jump a:hover,
.ifb-consulting-jump a:focus-visible { background: var(--ifb-blue); color: #fff; }
.ifb-consulting-section { margin-top: clamp(62px, 8vw, 92px); scroll-margin-top: 135px; }
.ifb-consulting-section:first-of-type { margin-top: 0; }
.ifb-consulting-section--soft {
  margin-inline: -30px;
  padding: clamp(34px, 5vw, 56px) 30px;
  border-radius: 22px;
  background: var(--ifb-consulting-soft);
}
.ifb-consulting-section-intro {
  max-width: 860px;
  margin: 0 0 30px;
  color: var(--ifb-muted);
  font-size: 1.02rem;
  line-height: 1.72;
}
.ifb-consulting-service-grid,
.ifb-consulting-recognition-grid,
.ifb-consulting-career-grid,
.ifb-consulting-prep-grid,
.ifb-consulting-process-grid,
.ifb-consulting-key-grid,
.ifb-consulting-document-grid,
.ifb-consulting-result-grid,
.ifb-consulting-role-grid,
.ifb-consulting-cost-grid {
  display: grid !important;
  gap: 18px !important;
}
.ifb-consulting-service-grid,
.ifb-consulting-recognition-grid,
.ifb-consulting-career-grid,
.ifb-consulting-process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ifb-consulting-process-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ifb-consulting-key-grid,
.ifb-consulting-prep-grid,
.ifb-consulting-document-grid,
.ifb-consulting-result-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ifb-consulting-role-grid,
.ifb-consulting-cost-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ifb-consulting-service-grid > .wp-block-column,
.ifb-consulting-recognition-grid > .wp-block-column,
.ifb-consulting-career-grid > .wp-block-column,
.ifb-consulting-prep-grid > .wp-block-column,
.ifb-consulting-process-grid > .wp-block-column,
.ifb-consulting-key-grid > .wp-block-column,
.ifb-consulting-document-grid > .wp-block-column,
.ifb-consulting-result-grid > .wp-block-column,
.ifb-consulting-role-grid > .wp-block-column,
.ifb-consulting-cost-grid > .wp-block-column { min-width: 0; margin: 0 !important; }
.ifb-consulting-service-card,
.ifb-consulting-key-card,
.ifb-consulting-detail-card,
.ifb-consulting-career-card,
.ifb-consulting-prep-card,
.ifb-consulting-process-card,
.ifb-consulting-role-card,
.ifb-consulting-cost-card,
.ifb-consulting-document-card,
.ifb-consulting-result-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(22px, 2.6vw, 30px);
  border: 1px solid var(--ifb-consulting-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(23, 32, 51, .06);
}
.ifb-consulting-service-card { border-top: 4px solid var(--ifb-blue); }
.ifb-consulting-service-grid > .wp-block-column:nth-child(2) .ifb-consulting-service-card { border-top-color: var(--ifb-gold); }
.ifb-consulting-service-grid > .wp-block-column:nth-child(3) .ifb-consulting-service-card { border-top-color: #4f677d; }
.ifb-consulting-service-grid > .wp-block-column:nth-child(4) .ifb-consulting-service-card { border-top-color: #3d6f67; }
.ifb-consulting-hub .ifb-card-kicker,
.ifb-recognition-hub .ifb-card-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 15px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--ifb-consulting-blue-soft);
  color: var(--ifb-blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .065em;
  line-height: 1.25;
}
.ifb-consulting-service-card h3,
.ifb-consulting-key-card h3,
.ifb-consulting-detail-card h3,
.ifb-consulting-career-card h3,
.ifb-consulting-prep-card h3,
.ifb-consulting-process-card h3,
.ifb-consulting-role-card h3,
.ifb-consulting-cost-card h3,
.ifb-consulting-document-card h3,
.ifb-consulting-result-card h3 {
  margin: 0 0 11px;
  color: var(--ifb-navy);
  font-size: clamp(1.13rem, 1.35vw, 1.36rem);
  line-height: 1.28;
}
.ifb-consulting-service-card p,
.ifb-consulting-key-card p,
.ifb-consulting-detail-card p,
.ifb-consulting-career-card p,
.ifb-consulting-prep-card p,
.ifb-consulting-process-card p,
.ifb-consulting-cost-card p,
.ifb-consulting-result-card p {
  margin: 0 0 18px;
  color: var(--ifb-muted);
  font-size: .96rem;
  line-height: 1.65;
}
.ifb-consulting-service-card .ifb-text-link,
.ifb-consulting-prep-card .ifb-text-link { margin-top: auto; }
.ifb-consulting-key-card,
.ifb-consulting-detail-card,
.ifb-consulting-career-card,
.ifb-consulting-prep-card,
.ifb-consulting-process-card { box-shadow: none; }
.ifb-consulting-key-card > span,
.ifb-consulting-career-card > span,
.ifb-consulting-process-card > span,
.ifb-consulting-icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin: 0 0 17px;
  place-items: center;
  border-radius: 11px;
  background: var(--ifb-consulting-blue-soft);
  color: var(--ifb-blue);
  font-size: .78rem;
  font-weight: 850;
  line-height: 1;
}
.ifb-consulting-key-grid > .wp-block-column:nth-child(2) .ifb-consulting-key-card > span,
.ifb-consulting-career-grid > .wp-block-column:nth-child(2) .ifb-consulting-career-card > span { background: #fff3d7; color: #7b560b; }
.ifb-consulting-key-grid > .wp-block-column:nth-child(3) .ifb-consulting-key-card > span,
.ifb-consulting-career-grid > .wp-block-column:nth-child(3) .ifb-consulting-career-card > span { background: #e9eef4; color: #43536a; }
.ifb-consulting-career-grid > .wp-block-column:nth-child(4) .ifb-consulting-career-card > span { background: var(--ifb-consulting-green-soft); color: #315f58; }
.ifb-consulting-inline-note {
  margin: 24px 0 0;
  padding: 18px 20px;
  border-left: 4px solid var(--ifb-blue);
  border-radius: 0 12px 12px 0;
  background: #fff;
  color: var(--ifb-muted);
  line-height: 1.65;
}
.ifb-consulting-inline-note strong { color: var(--ifb-navy); }
.ifb-consulting-recognition-panel,
.ifb-consulting-role-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
  gap: 32px;
  align-items: center;
  margin-top: 26px;
  padding: clamp(28px, 4.5vw, 44px);
  border-radius: 20px;
  background: var(--ifb-navy);
  color: #fff;
}
.ifb-consulting-recognition-panel h3,
.ifb-consulting-role-panel h2 { margin: 0 0 12px; color: #fff; }
.ifb-consulting-recognition-panel p,
.ifb-consulting-role-panel p { margin: 0; color: #d8e0ec; }
.ifb-consulting-recognition-panel .ifb-card-kicker,
.ifb-consulting-role-panel .ifb-card-kicker { background: rgba(255, 255, 255, .12); color: #f3d58f; }
.ifb-consulting-panel-actions { display: grid; gap: 11px; min-width: 230px; }
.ifb-consulting-panel-actions .ifb-button { width: 100%; justify-content: center; }
.ifb-consulting-panel-actions .ifb-button--outline { border-color: rgba(255,255,255,.72); color: #fff; }
.ifb-consulting-panel-actions .ifb-button--outline:hover,
.ifb-consulting-panel-actions .ifb-button--outline:focus-visible { background: #fff; color: var(--ifb-navy); }
.ifb-consulting-role-card { padding: clamp(27px, 3.4vw, 38px); box-shadow: none; }
.ifb-consulting-role-card--ifb { border-top: 5px solid var(--ifb-blue); }
.ifb-consulting-role-card--authority { border-top: 5px solid var(--ifb-gold); }
.ifb-consulting-role-card ul,
.ifb-consulting-document-card ul {
  display: grid;
  gap: 9px;
  margin: 4px 0 0;
  padding-left: 20px;
  color: var(--ifb-muted);
  font-size: .96rem;
  line-height: 1.6;
}
.ifb-consulting-cost-grid { margin-top: 22px; }
.ifb-consulting-cost-card { box-shadow: none; }
.ifb-consulting-cost-card--third { background: #fffaf0; border-color: #ead8a8; }
.ifb-consulting-result-card { box-shadow: none; }
.ifb-consulting-result-card--positive { border-top: 4px solid #3d8069; }
.ifb-consulting-result-card--partial { border-top: 4px solid var(--ifb-gold); }
.ifb-consulting-result-card--negative { border-top: 4px solid #9b5555; }
.ifb-consulting-form-section {
  margin-top: clamp(62px, 8vw, 92px);
  padding: clamp(30px, 5vw, 48px);
  border: 1px solid var(--ifb-border);
  border-radius: 22px;
  background: #f7f8fb;
  scroll-margin-top: 135px;
}
.ifb-consulting-form-section > h2 { margin-top: 0; }
.ifb-consulting-form-section .ifb-form { margin-top: 26px; background: #fff; }
.ifb-consulting-faq-section { scroll-margin-top: 135px; }
.ifb-consulting-sources { margin-top: clamp(58px, 7vw, 86px); }
.ifb-consulting-sources h2 { margin-top: 0; }

@media (max-width: 1120px) {
  .ifb-consulting-service-grid,
  .ifb-consulting-recognition-grid,
  .ifb-consulting-career-grid,
  .ifb-consulting-process-grid,
  .ifb-consulting-process-grid--five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .ifb-consulting-key-grid,
  .ifb-consulting-prep-grid,
  .ifb-consulting-document-grid,
  .ifb-consulting-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-consulting-role-grid,
  .ifb-consulting-cost-grid { grid-template-columns: 1fr; }
  .ifb-consulting-recognition-panel,
  .ifb-consulting-role-panel { grid-template-columns: 1fr; align-items: start; }
  .ifb-consulting-panel-actions { min-width: 0; }
}
@media (max-width: 680px) {
  .ifb-page-consulting .ifb-entry-header,
  .ifb-page-consulting .ifb-entry-content { max-width: 100%; }
  .ifb-consulting-top-actions .wp-block-button,
  .ifb-consulting-top-actions .wp-block-button__link { width: 100%; }
  .ifb-consulting-jump {
    flex-wrap: nowrap;
    margin-inline: -4px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .ifb-consulting-section { margin-top: 54px; }
  .ifb-consulting-section--soft { margin-inline: -12px; padding: 28px 20px; border-radius: 18px; }
  .ifb-consulting-service-grid,
  .ifb-consulting-recognition-grid,
  .ifb-consulting-career-grid,
  .ifb-consulting-prep-grid,
  .ifb-consulting-process-grid,
  .ifb-consulting-process-grid--five,
  .ifb-consulting-key-grid,
  .ifb-consulting-document-grid,
  .ifb-consulting-result-grid,
  .ifb-consulting-role-grid,
  .ifb-consulting-cost-grid { grid-template-columns: 1fr; }
  .ifb-consulting-service-card,
  .ifb-consulting-key-card,
  .ifb-consulting-detail-card,
  .ifb-consulting-career-card,
  .ifb-consulting-prep-card,
  .ifb-consulting-process-card,
  .ifb-consulting-role-card,
  .ifb-consulting-cost-card,
  .ifb-consulting-document-card,
  .ifb-consulting-result-card { padding: 22px; }
  .ifb-consulting-recognition-panel,
  .ifb-consulting-role-panel,
  .ifb-consulting-form-section { padding: 28px 22px; border-radius: 18px; }
}


/* Bilgi Merkezi release layout – theme 0.4.3. */
.ifb-page-knowledge .ifb-breadcrumbs { margin-bottom: 32px; }
.ifb-knowledge-shell { padding-top: 42px; }
.ifb-knowledge-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: end;
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid #dfe4ef;
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 10%, rgba(0, 0, 170, .12), transparent 29%),
    linear-gradient(135deg, #f7f8ff 0%, #fff 68%);
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-knowledge-hero__copy h1,
.ifb-knowledge-category-header h1,
.ifb-knowledge-search-header h1 { margin-bottom: 18px; font-size: clamp(2.4rem, 5vw, 4.6rem); }
.ifb-knowledge-hero__copy > p:last-child,
.ifb-knowledge-category-header > div > p:last-child,
.ifb-knowledge-search-header > p:last-child { max-width: 740px; margin: 0; color: var(--ifb-muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.ifb-knowledge-stats { display: grid; gap: 12px; }
.ifb-knowledge-stats > div {
  display: grid;
  grid-template-columns: minmax(95px, auto) 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid rgba(0, 0, 170, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .84);
}
.ifb-knowledge-stats strong { color: var(--ifb-blue); font-size: 1.3rem; line-height: 1; }
.ifb-knowledge-stats span { color: var(--ifb-navy-soft); font-size: .88rem; font-weight: 700; line-height: 1.35; }
.ifb-knowledge-intro-wrap { margin-top: 30px; }
.ifb-knowledge-intro-wrap > .ifb-knowledge-intro-panel,
.ifb-knowledge-intro-wrap > .wp-block-group {
  padding: clamp(25px, 4vw, 38px);
  border-left: 5px solid var(--ifb-blue);
  border-radius: 0 18px 18px 0;
  background: #f1f4fb;
}
.ifb-knowledge-intro-wrap h2 { font-size: clamp(1.45rem, 2.3vw, 2rem); }
.ifb-knowledge-intro-wrap h3 { font-size: 1.08rem; }
.ifb-knowledge-intro-wrap p:last-child { margin-bottom: 0; }
.ifb-knowledge-principles { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; margin: 23px 0 !important; }
.ifb-knowledge-principles > .wp-block-column { min-width: 0; }
.ifb-knowledge-principle { height: 100%; padding: 20px; border: 1px solid #d8deea; border-radius: 13px; background: #fff; }
.ifb-knowledge-principle strong { display: block; margin-bottom: 7px; color: var(--ifb-navy); }
.ifb-knowledge-principle p { color: var(--ifb-muted); font-size: .9rem; line-height: 1.55; }
.ifb-knowledge-intro-note { color: var(--ifb-muted); font-size: .9rem; }
.ifb-knowledge-topics,
.ifb-knowledge-listing { margin-top: clamp(64px, 8vw, 104px); }
.ifb-section-heading--split { display: flex; gap: 28px; align-items: end; justify-content: space-between; }
.ifb-section-heading--split > p { flex: 0 0 auto; margin-bottom: 10px; color: var(--ifb-muted); font-weight: 700; }
.ifb-knowledge-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
.ifb-knowledge-topic-card {
  position: relative;
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--ifb-border);
  border-top: 5px solid var(--topic-accent, var(--ifb-blue));
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-knowledge-topic-card::after {
  content: "";
  position: absolute;
  right: -46px;
  bottom: -64px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: var(--topic-soft, rgba(0, 0, 170, .08));
  pointer-events: none;
}
.ifb-knowledge-topic-card--1 { --topic-accent: #0000aa; --topic-soft: rgba(0, 0, 170, .08); }
.ifb-knowledge-topic-card--2 { --topic-accent: #3d8069; --topic-soft: rgba(61, 128, 105, .09); }
.ifb-knowledge-topic-card--3 { --topic-accent: #c9962c; --topic-soft: rgba(201, 150, 44, .1); }
.ifb-knowledge-topic-card--4 { --topic-accent: #8259a8; --topic-soft: rgba(130, 89, 168, .09); }
.ifb-knowledge-topic-card__top { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.ifb-knowledge-topic-card__top span { color: var(--topic-accent); font-size: 1.35rem; font-weight: 850; }
.ifb-knowledge-topic-card__top strong { padding: 5px 9px; border-radius: 999px; background: #f4f5f8; color: var(--ifb-muted); font-size: .72rem; }
.ifb-knowledge-topic-card h3 { position: relative; z-index: 1; margin-bottom: 13px; font-size: 1.35rem; }
.ifb-knowledge-topic-card h3 a { color: var(--ifb-navy); text-decoration: none; }
.ifb-knowledge-topic-card p { position: relative; z-index: 1; color: var(--ifb-muted); font-size: .94rem; line-height: 1.55; }
.ifb-knowledge-topic-card .ifb-text-link { position: relative; z-index: 1; margin-top: auto; align-self: flex-start; }
.ifb-knowledge-toolbar { margin-top: 28px; border-radius: 16px; }
.ifb-knowledge-search { min-width: min(100%, 315px); }
.ifb-category-chip { min-height: 42px; padding-inline: 14px; font-size: .82rem; }
.ifb-knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ifb-knowledge-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ifb-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--ifb-shadow-sm);
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
}
.ifb-knowledge-card:hover { transform: translateY(-3px); border-color: #cdd3df; box-shadow: 0 18px 44px rgba(23, 32, 51, .12); }
.ifb-knowledge-card__visual {
  position: relative;
  display: flex;
  min-height: 155px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 23px;
  background:
    radial-gradient(circle at 82% 20%, rgba(255, 255, 255, .22), transparent 28%),
    linear-gradient(135deg, #000078, #2356a7);
  color: #fff;
  text-decoration: none;
}
.ifb-knowledge-card__visual::after { content: ""; position: absolute; right: -40px; bottom: -75px; width: 190px; height: 190px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.035); }
.ifb-knowledge-card__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ifb-knowledge-card__visual-kicker { position: relative; z-index: 1; max-width: 85%; color: #e8edf8; font-size: .78rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.ifb-knowledge-card__visual-mark { position: relative; z-index: 1; align-self: flex-end; color: rgba(255,255,255,.92); font-size: 2.35rem; font-weight: 850; letter-spacing: -.08em; }
.ifb-knowledge-card__content { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.ifb-knowledge-card__meta,
.ifb-related-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; justify-content: space-between; color: var(--ifb-muted); font-size: .73rem; font-weight: 750; }
.ifb-knowledge-card__meta { margin-bottom: 14px; }
.ifb-knowledge-card__meta a { color: var(--ifb-blue); font-weight: 820; text-decoration: none; }
.ifb-knowledge-card h2 { margin-bottom: 13px; font-size: clamp(1.2rem, 1.8vw, 1.42rem); }
.ifb-knowledge-card h2 a { color: var(--ifb-navy); text-decoration: none; }
.ifb-knowledge-card h2 a:hover { color: var(--ifb-blue); }
.ifb-knowledge-card__excerpt { color: var(--ifb-muted); font-size: .94rem; line-height: 1.58; }
.ifb-knowledge-card__footer { display: flex; gap: 15px; align-items: end; justify-content: space-between; margin-top: auto; padding-top: 19px; border-top: 1px solid var(--ifb-border); color: var(--ifb-muted); font-size: .72rem; }
.ifb-knowledge-card__link { display: inline-flex; flex: 0 0 auto; gap: 8px; align-items: center; color: var(--ifb-blue); font-weight: 850; text-decoration: none; }
.ifb-knowledge-card__link::after { content: "→"; }
.ifb-knowledge-category-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  margin-bottom: 30px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: 22px;
  background: #f4f5fb;
}
.ifb-knowledge-category-header__count { display: grid; min-width: 120px; place-items: center; padding: 20px; border-radius: 16px; background: var(--ifb-navy); color: #fff; }
.ifb-knowledge-category-header__count strong { font-size: 2.2rem; line-height: 1; }
.ifb-knowledge-category-header__count span { color: #d6deea; font-size: .82rem; font-weight: 700; }
.ifb-knowledge-search-header { margin-bottom: 30px; padding: clamp(28px, 5vw, 50px); border-radius: 22px; background: #f4f5fb; }
.ifb-empty-state--knowledge { grid-column: 1 / -1; padding: 54px 30px; border: 1px dashed #ccd2de; border-radius: 18px; background: #fafafa; }

/* Bilgi Merkezi article components. */
.ifb-knowledge-article-shell { width: min(calc(100% - 40px), 960px); }
.ifb-knowledge-article .ifb-entry-title { max-width: 900px; font-size: clamp(2.35rem, 5vw, 4.25rem); }
.ifb-knowledge-article .ifb-entry-intro { max-width: 820px; font-size: clamp(1.05rem, 1.7vw, 1.22rem); }
.ifb-article-dates { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; color: var(--ifb-muted); font-size: .8rem; font-weight: 680; }
.ifb-article-header__actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; }
.ifb-knowledge-article .ifb-entry-content { max-width: 820px; margin: 48px auto 0; }
.ifb-knowledge-article .ifb-entry-content > h2 { margin-top: 62px; scroll-margin-top: 125px; }
.ifb-knowledge-article .ifb-entry-content > h3 { margin-top: 36px; }
.ifb-knowledge-article .ifb-entry-content p,
.ifb-knowledge-article .ifb-entry-content li { font-size: 1.02rem; line-height: 1.72; }
.ifb-article-trust { display: flex; flex-wrap: wrap; gap: 9px 18px; justify-content: space-between; margin-bottom: 18px; padding: 11px 14px; border: 1px solid #cfe0d7; border-radius: 10px; background: #f1f8f4; color: #285744; font-size: .78rem; font-weight: 740; }
.ifb-direct-answer { margin-bottom: 28px; }
.ifb-article-toc { margin: 28px 0 44px; padding: 23px 25px; border: 1px solid var(--ifb-border); border-radius: 16px; background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-article-toc > strong { display: block; margin-bottom: 12px; color: var(--ifb-navy); font-size: 1rem; }
.ifb-article-toc ol { display: grid; gap: 8px; margin: 0; padding-left: 22px; }
.ifb-article-toc a { color: var(--ifb-navy-soft); text-decoration: none; }
.ifb-article-toc a:hover { color: var(--ifb-blue); text-decoration: underline; }
.ifb-table-wrap { margin: 26px 0 36px; overflow-x: auto; border: 1px solid var(--ifb-border); border-radius: 14px; }
.ifb-article-table { width: 100%; min-width: 620px; border-collapse: collapse; background: #fff; }
.ifb-article-table th,
.ifb-article-table td { padding: 14px 16px; border-bottom: 1px solid var(--ifb-border); vertical-align: top; text-align: left; }
.ifb-article-table th { background: #f4f5f8; color: var(--ifb-navy); font-size: .86rem; }
.ifb-article-table tr:last-child td { border-bottom: 0; }
.ifb-article-checklist { display: grid; gap: 13px; margin: 25px 0 36px; padding: 0; list-style: none; counter-reset: ifb-checklist; }
.ifb-article-checklist li { position: relative; padding: 17px 18px 17px 58px; border: 1px solid var(--ifb-border); border-radius: 12px; background: #fff; counter-increment: ifb-checklist; }
.ifb-article-checklist li::before { content: counter(ifb-checklist); position: absolute; top: 16px; left: 17px; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--ifb-blue); color: #fff; font-size: .78rem; font-weight: 850; }
.ifb-article-callout { margin: 30px 0; padding: 24px 25px; border: 1px solid #ead8a8; border-left: 5px solid var(--ifb-gold); border-radius: 0 14px 14px 0; background: #fffaf0; }
.ifb-article-callout h3 { margin-bottom: 8px; font-size: 1.2rem; }
.ifb-article-callout p:last-child { margin-bottom: 0; }
.ifb-source-box { margin-top: 58px; padding: 28px; border: 1px solid #d8e1ee; border-radius: 18px; background: #f5f7fb; }
.ifb-source-box h2 { margin-top: 0 !important; font-size: 1.55rem; }
.ifb-source-box ul { display: grid; gap: 9px; }
.ifb-source-box a { overflow-wrap: anywhere; font-weight: 720; }
.ifb-source-box > p:last-child { margin-bottom: 0; color: var(--ifb-muted); font-size: .9rem; }
.ifb-article-cta { margin-top: 46px; }
.ifb-related-posts { max-width: 100%; }
.ifb-related-card { display: flex; min-height: 100%; flex-direction: column; padding: 25px; }
.ifb-related-card__meta { margin-bottom: 12px; }
.ifb-related-card > p { color: var(--ifb-muted); font-size: .9rem; line-height: 1.55; }
.ifb-related-card .ifb-text-link { margin-top: auto; align-self: flex-start; }

@media (max-width: 1080px) {
  .ifb-knowledge-principles { grid-template-columns: 1fr; }
  .ifb-knowledge-topic-grid,
  .ifb-knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-knowledge-hero { grid-template-columns: 1fr; }
  .ifb-knowledge-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ifb-knowledge-stats > div { grid-template-columns: 1fr; align-content: start; }
}
@media (max-width: 700px) {
  .ifb-knowledge-shell { padding-top: 28px; }
  .ifb-knowledge-hero { margin-inline: -7px; padding: 28px 22px; border-radius: 18px; }
  .ifb-knowledge-stats { grid-template-columns: 1fr; }
  .ifb-knowledge-stats > div { grid-template-columns: 90px 1fr; }
  .ifb-section-heading--split { display: block; }
  .ifb-knowledge-topic-grid,
  .ifb-knowledge-grid { grid-template-columns: 1fr; }
  .ifb-knowledge-topic-card { min-height: 0; padding: 23px; }
  .ifb-knowledge-toolbar { gap: 14px; margin-inline: -2px; padding: 13px; }
  .ifb-knowledge-search { min-width: 0; }
  .ifb-knowledge-card__visual { min-height: 135px; }
  .ifb-knowledge-card__footer { align-items: flex-start; flex-direction: column; }
  .ifb-knowledge-category-header { grid-template-columns: 1fr; padding: 28px 22px; }
  .ifb-knowledge-category-header__count { width: 115px; min-width: 0; }
  .ifb-knowledge-article-shell { width: min(calc(100% - 28px), 960px); }
  .ifb-knowledge-article .ifb-entry-content { margin-top: 36px; }
  .ifb-article-trust { display: grid; }
  .ifb-article-toc,
  .ifb-source-box { padding: 21px; }
  .ifb-article-checklist li { padding: 16px 16px 16px 53px; }
}


/* Reusable in-page jump navigation. */
.ifb-section-nav {
  display: flex;
  width: fit-content;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 7px;
  padding: 7px;
  overflow: hidden;
  border: 1px solid var(--ifb-border);
  border-radius: 999px;
  background: #f7f7f4;
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-section-nav a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--ifb-navy);
  font-size: .82rem;
  font-weight: 730;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.ifb-section-nav a:hover,
.ifb-section-nav a:focus-visible {
  background: #fff;
  color: var(--ifb-blue);
}
@media (max-width: 760px) {
  .ifb-section-nav {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    border-radius: 15px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .ifb-section-nav a { flex: 0 0 auto; }
}

/* Hakkımızda, team and contact publishing layouts – 0.4.4. */
.ifb-page-about .ifb-entry-header,
.ifb-page-about .ifb-entry-content,
.ifb-page-team .ifb-entry-header,
.ifb-page-team .ifb-entry-content,
.ifb-page-contact .ifb-entry-header,
.ifb-page-contact .ifb-entry-content { max-width: 1120px; }

.ifb-about-nav,
.ifb-team-nav,
.ifb-contact-nav { margin-bottom: 44px; }

.ifb-about-section,
.ifb-team-section,
.ifb-contact-section { margin-top: clamp(48px, 7vw, 82px); scroll-margin-top: 125px; }
.ifb-about-section:first-of-type,
.ifb-team-section:first-of-type,
.ifb-contact-section:first-of-type { margin-top: 34px; }
.ifb-about-section--soft,
.ifb-team-section--soft { padding: clamp(28px, 5vw, 52px); border-radius: 24px; background: #f5f6fa; }
.ifb-about-section-intro,
.ifb-contact-section-intro { max-width: 780px; color: var(--ifb-muted); }

.ifb-about-lead-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(32px, 6vw, 72px); align-items: start; }
.ifb-about-fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ifb-about-fact-grid > div { display: grid; gap: 5px; min-height: 122px; align-content: center; padding: 21px; border: 1px solid var(--ifb-border); border-radius: 16px; background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-about-fact-grid strong { color: var(--ifb-navy); font-size: 1.05rem; }
.ifb-about-fact-grid span { color: var(--ifb-muted); font-size: .88rem; line-height: 1.45; }

.ifb-company-profile { margin-top: 34px; overflow: hidden; border: 1px solid #dbe1ec; border-radius: 22px; background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-company-profile__intro { padding: clamp(25px, 4vw, 38px); background: linear-gradient(135deg, #f5f7fb, #fff); }
.ifb-company-profile__intro h2 { max-width: 760px; margin-bottom: 12px; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.ifb-company-profile__intro p { max-width: 820px; margin-bottom: 0; color: var(--ifb-muted); }
.ifb-company-profile__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ifb-border); }
.ifb-company-profile__item { display: grid; gap: 6px; padding: 23px 28px; border-right: 1px solid var(--ifb-border); border-bottom: 1px solid var(--ifb-border); }
.ifb-company-profile__item:nth-child(2n) { border-right: 0; }
.ifb-company-profile__item span { color: var(--ifb-muted); font-size: .75rem; font-weight: 780; letter-spacing: .04em; text-transform: uppercase; }
.ifb-company-profile__item strong { color: var(--ifb-navy); font-size: .96rem; line-height: 1.5; overflow-wrap: anywhere; }
.ifb-company-profile__item a { color: var(--ifb-blue); }
.ifb-company-profile__note { margin: 0; padding: 17px 28px; background: #fff8e8; color: #735119; font-size: .82rem; }

.ifb-about-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.ifb-about-service-card { display: flex; min-height: 285px; flex-direction: column; padding: 25px; border: 1px solid var(--ifb-border); border-radius: 18px; background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-about-service-card > span { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 26px; border-radius: 11px; background: #eceefe; color: var(--ifb-blue); font-size: .75rem; font-weight: 850; }
.ifb-about-service-card h3 { font-size: 1.28rem; }
.ifb-about-service-card p { color: var(--ifb-muted); font-size: .91rem; line-height: 1.58; }
.ifb-about-service-card .ifb-text-link { margin-top: auto; align-self: flex-start; }

.ifb-about-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.ifb-about-process-grid article { padding: 24px; border-top: 4px solid var(--ifb-blue); border-radius: 0 0 16px 16px; background: #f7f7f4; }
.ifb-about-process-grid article > span { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-bottom: 19px; border-radius: 50%; background: var(--ifb-navy); color: #fff; font-size: .76rem; font-weight: 850; }
.ifb-about-process-grid h3 { font-size: 1.15rem; }
.ifb-about-process-grid p { margin: 0; color: var(--ifb-muted); font-size: .9rem; line-height: 1.55; }

.ifb-about-role-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(34px, 6vw, 72px); padding: clamp(32px, 6vw, 62px); border-radius: 24px; background: var(--ifb-navy); color: #e7ecf4; }
.ifb-about-role-panel h2,
.ifb-about-role-panel h3 { color: #fff; }
.ifb-about-role-panel p { color: #d2d9e6; }
.ifb-about-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ifb-about-role-grid > div { padding: 23px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.06); }
.ifb-about-role-grid h3 { font-size: 1.08rem; }
.ifb-about-role-grid ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: #dbe2ed; font-size: .9rem; }

.ifb-about-germany-panel,
.ifb-team-contact-panel { display: flex; gap: 32px; align-items: center; justify-content: space-between; padding: clamp(30px, 5vw, 50px); border: 1px solid #d7dfec; border-radius: 22px; background: linear-gradient(135deg, #eef3fb, #fff); }
.ifb-about-germany-panel > div,
.ifb-team-contact-panel > div { max-width: 760px; }
.ifb-about-germany-panel p,
.ifb-team-contact-panel p { margin-bottom: 0; color: var(--ifb-muted); }
.ifb-about-germany-panel .ifb-button { flex: 0 0 auto; }

.ifb-about-team-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 26px 0; }
.ifb-about-team-preview > div { display: grid; gap: 6px; padding: 22px; border: 1px solid var(--ifb-border); border-radius: 15px; background: #fff; }
.ifb-about-team-preview strong { color: var(--ifb-navy); }
.ifb-about-team-preview span { color: var(--ifb-muted); font-size: .88rem; }

.ifb-team-grid--public { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ifb-team-grid--public .ifb-team-card { min-height: 330px; padding: 29px; }
.ifb-team-grid--public .ifb-team-card__initials { width: 62px; height: 62px; margin-bottom: 25px; font-size: 1.05rem; }
.ifb-team-grid--public h3 { font-size: 1.35rem; }
.ifb-team-grid--public .ifb-team-card > p:not(.ifb-team-card__role):not(.ifb-team-card__email) { color: var(--ifb-muted); font-size: .92rem; }
.ifb-team-card__email { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ifb-border); font-size: .82rem; line-height: 1.45; }
.ifb-team-card__email a { color: var(--ifb-blue); font-weight: 700; text-decoration: none; }
.ifb-team-card__email a:hover { text-decoration: underline; }
.ifb-team-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 26px; }
.ifb-team-area-grid article { padding: 25px; border: 1px solid var(--ifb-border); border-radius: 17px; background: #fff; }
.ifb-team-area-grid article p { margin-bottom: 0; color: var(--ifb-muted); font-size: .92rem; }

.ifb-contact-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
.ifb-contact-route-card { display: grid; min-height: 180px; align-content: start; gap: 8px; padding: 23px; border: 1px solid var(--ifb-border); border-radius: 17px; background: #fff; color: var(--ifb-navy); text-decoration: none; box-shadow: var(--ifb-shadow-sm); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.ifb-contact-route-card:hover { transform: translateY(-3px); border-color: #c8cfe0; box-shadow: 0 18px 40px rgba(23,32,51,.1); }
.ifb-contact-route-card > span { display: grid; width: 35px; height: 35px; place-items: center; margin-bottom: 11px; border-radius: 10px; background: #eceefe; color: var(--ifb-blue); font-size: .72rem; font-weight: 850; }
.ifb-contact-route-card strong { font-size: 1.08rem; }
.ifb-contact-route-card small { color: var(--ifb-muted); font-size: .84rem; line-height: 1.45; }

.ifb-contact-hub { overflow: hidden; border-radius: 24px; background: var(--ifb-navy); color: #e8edf5; box-shadow: var(--ifb-shadow-lg); }
.ifb-contact-hub__intro { padding: clamp(30px, 5vw, 52px); }
.ifb-contact-hub__intro h2 { max-width: 760px; color: #fff; }
.ifb-contact-hub__intro p { max-width: 830px; margin-bottom: 0; color: #d0d8e5; }
.ifb-contact-channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.13); }
.ifb-contact-channel-card { display: flex; min-height: 205px; flex-direction: column; gap: 7px; padding: 27px; background: #202b41; color: #fff; text-decoration: none; }
.ifb-contact-channel-card:hover { background: #273550; color: #fff; }
.ifb-contact-channel-card__mark { display: grid; width: 35px; height: 35px; place-items: center; margin-bottom: auto; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #d8e0ee; font-size: .7rem; font-weight: 850; }
.ifb-contact-channel-card > span:not(.ifb-contact-channel-card__mark) { color: #bfc9d8; font-size: .74rem; font-weight: 780; letter-spacing: .05em; text-transform: uppercase; }
.ifb-contact-channel-card strong { color: #fff; font-size: .98rem; line-height: 1.42; overflow-wrap: anywhere; }
.ifb-contact-channel-card small { color: #aeb9cb; font-size: .76rem; }
.ifb-contact-hub__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.13); border-top: 1px solid rgba(255,255,255,.13); }
.ifb-contact-detail { display: grid; gap: 7px; padding: 25px 30px; background: #172033; }
.ifb-contact-detail > span { color: #aeb9cb; font-size: .73rem; font-weight: 780; letter-spacing: .05em; text-transform: uppercase; }
.ifb-contact-detail strong { color: #fff; font-size: .94rem; line-height: 1.55; }
.ifb-contact-detail small { color: #bfc8d6; font-size: .78rem; }
.ifb-contact-detail .ifb-text-link { align-self: flex-start; color: #fff; }
.ifb-contact-hub__note { margin: 0; padding: 18px 30px; background: #fff5d9; color: #725018; font-size: .84rem; }

.ifb-contact-visit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ifb-contact-visit-card { padding: clamp(27px, 4vw, 38px); border: 1px solid var(--ifb-border); border-radius: 20px; background: #fff; box-shadow: var(--ifb-shadow-sm); }
.ifb-contact-visit-card--privacy { background: #f5f7fb; box-shadow: none; }
.ifb-contact-visit-card h2 { font-size: clamp(1.45rem, 2.5vw, 2rem); }
.ifb-contact-visit-card p { color: var(--ifb-muted); }
.ifb-contact-form-section { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(30px, 6vw, 64px); align-items: start; padding: clamp(30px, 5vw, 52px); border-radius: 24px; background: #f5f6fa; }
.ifb-contact-form-section__intro { position: sticky; top: 118px; }
.ifb-contact-form-section__intro p { color: var(--ifb-muted); }
.ifb-contact-form-section .ifb-form { margin: 0; background: #fff; }

@media (max-width: 1080px) {
  .ifb-about-service-grid,
  .ifb-about-process-grid,
  .ifb-contact-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-contact-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-about-lead-grid,
  .ifb-about-role-panel,
  .ifb-contact-form-section { grid-template-columns: 1fr; }
  .ifb-contact-form-section__intro { position: static; }
}
@media (max-width: 760px) {
  .ifb-page-about .ifb-entry-header,
  .ifb-page-about .ifb-entry-content,
  .ifb-page-team .ifb-entry-header,
  .ifb-page-team .ifb-entry-content,
  .ifb-page-contact .ifb-entry-header,
  .ifb-page-contact .ifb-entry-content { max-width: 100%; }
  .ifb-about-section--soft,
  .ifb-team-section--soft,
  .ifb-about-role-panel,
  .ifb-about-germany-panel,
  .ifb-team-contact-panel,
  .ifb-contact-form-section { margin-inline: -6px; padding: 26px 21px; border-radius: 18px; }
  .ifb-about-fact-grid,
  .ifb-company-profile__grid,
  .ifb-about-service-grid,
  .ifb-about-process-grid,
  .ifb-about-role-grid,
  .ifb-about-team-preview,
  .ifb-team-grid--public,
  .ifb-team-area-grid,
  .ifb-contact-route-grid,
  .ifb-contact-channel-grid,
  .ifb-contact-hub__details,
  .ifb-contact-visit-grid { grid-template-columns: 1fr; }
  .ifb-company-profile__item { border-right: 0; }
  .ifb-about-service-card { min-height: 0; }
  .ifb-about-germany-panel,
  .ifb-team-contact-panel { align-items: flex-start; flex-direction: column; }
  .ifb-about-germany-panel .ifb-button,
  .ifb-team-contact-panel .ifb-button { width: 100%; }
  .ifb-team-grid--public .ifb-team-card { min-height: 0; }
  .ifb-contact-channel-card { min-height: 160px; }
  .ifb-contact-hub { margin-inline: -6px; border-radius: 18px; }
  .ifb-contact-hub__intro { padding: 28px 22px; }
  .ifb-contact-hub__note { padding-inline: 22px; }
}


/* Legal, privacy and cookie publication layer (v0.4.5). */
.ifb-footer-legal-button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.ifb-footer-legal-button:hover,
.ifb-footer-legal-button:focus-visible { color: #fff; }
.ifb-page-legal .ifb-entry-header,
.ifb-page-legal .ifb-entry-content { max-width: 920px; }
.ifb-page-legal .ifb-entry-content { font-size: 1rem; line-height: 1.72; }
.ifb-page-legal .ifb-entry-content > h2 { margin-top: clamp(38px, 6vw, 58px); padding-top: 10px; border-top: 1px solid var(--ifb-border); }
.ifb-page-legal .ifb-entry-content > h3 { margin-top: 30px; }
.ifb-page-legal .ifb-entry-content ul,
.ifb-page-legal .ifb-entry-content ol { display: grid; gap: 8px; }
.ifb-page-legal .ifb-entry-content code { overflow-wrap: anywhere; }
.ifb-page-legal .ifb-direct-answer { padding: 22px 24px; border-left: 4px solid var(--ifb-blue); border-radius: 0 14px 14px 0; background: #f3f5ff; color: var(--ifb-navy); }
@media (max-width: 760px) {
  .ifb-page-legal .ifb-entry-content { font-size: .98rem; }
  .ifb-page-legal .ifb-direct-answer { padding: 19px; }
}

/* 0.4.6 — final visual polish before publication: clearer branding, CTA
 * hierarchy, card typography, information notes and a quieter footer. */
.ifb-topbar {
  font-size: .9rem;
}
.ifb-topbar__inner {
  min-height: 42px;
}
.ifb-topbar__contact {
  gap: 24px;
}
.ifb-topbar__contact a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 650;
}
.ifb-topbar__cta {
  min-height: 32px;
  padding: 5px 13px;
  border-color: rgba(243, 213, 143, .75);
  background: rgba(243, 213, 143, .08);
  color: #fff7df;
  font-size: .86rem;
}
.ifb-topbar__cta:hover,
.ifb-topbar__cta:focus-visible {
  border-color: #f3d58f;
  background: #f3d58f;
  color: #172033;
}

@media (min-width: 1321px) {
  .ifb-header__inner {
    min-height: 88px;
  }
  body .ifb-branding .custom-logo {
    max-height: 76px;
  }
}

/* A clearly dominant first action in the homepage hero. */
.ifb-header-hero__actions {
  align-items: center;
  gap: 13px 15px;
}
.ifb-hero-button--primary {
  border-color: #f3d58f;
  background: #f3d58f;
  color: #172033;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .24);
}
.ifb-hero-button--primary:hover,
.ifb-hero-button--primary:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #111827;
}
.ifb-hero-button--secondary {
  box-shadow: none;
}
.ifb-hero-button--tertiary {
  margin-left: 4px;
}

/* More comfortable homepage cards without changing their content. */
.ifb-front-page .ifb-home-grid .ifb-service-card,
.ifb-front-page .ifb-home-grid .ifb-info-card,
.ifb-front-page .ifb-home-grid .ifb-step-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(27px, 2.6vw, 34px);
}
.ifb-front-page .ifb-home-grid .ifb-service-card h3,
.ifb-front-page .ifb-home-grid .ifb-info-card h3,
.ifb-front-page .ifb-home-grid .ifb-step-card h3 {
  margin-bottom: 13px;
  font-size: clamp(1.2rem, 1.45vw, 1.38rem);
  line-height: 1.25;
  text-wrap: balance;
}
.ifb-front-page .ifb-service-card p,
.ifb-front-page .ifb-step-card p,
.ifb-front-page .ifb-info-card p,
.ifb-front-page .ifb-home-highlight p,
.ifb-front-page .ifb-home-exam-note p {
  color: #38465c;
  font-size: 1.035rem;
  line-height: 1.68;
}
.ifb-front-page .ifb-home-grid .ifb-service-card > :last-child,
.ifb-front-page .ifb-home-grid .ifb-info-card > :last-child {
  margin-top: auto;
  padding-top: 7px;
}
.ifb-front-page .ifb-text-link {
  gap: 7px;
  font-size: 1rem;
  line-height: 1.45;
}

/* Important explanations should never look like tiny legal fine print. */
.ifb-front-page .ifb-content-note {
  position: relative;
  margin-block: 26px;
  padding: 21px 24px 21px 58px;
  border: 1px solid #e4cb83;
  border-left: 5px solid var(--ifb-gold);
  border-radius: 12px;
  background: #fff8e5;
  color: #4d3b0f;
  font-size: 1rem;
  line-height: 1.67;
  box-shadow: 0 7px 22px rgba(76, 59, 15, .06);
}
.ifb-front-page .ifb-content-note::before {
  content: "i";
  position: absolute;
  top: 21px;
  left: 20px;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: var(--ifb-gold);
  color: #fff;
  font-size: .88rem;
  font-weight: 850;
  font-style: normal;
  line-height: 1;
}
.ifb-front-page .ifb-content-note h2,
.ifb-front-page .ifb-content-note h3,
.ifb-front-page .ifb-content-note strong {
  color: #3e300d;
}
.ifb-front-page .ifb-content-note > :last-child {
  margin-bottom: 0;
}

/* The exam and academic highlight links remain close to their explanation and
 * read as actions rather than tiny detached text. */
.ifb-home-highlight .ifb-text-link,
.ifb-home-exam-note .ifb-text-link {
  min-height: 44px;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid #cbd1ef;
  border-radius: 8px;
  background: #fff;
  white-space: nowrap;
}
.ifb-home-highlight .ifb-text-link:hover,
.ifb-home-exam-note .ifb-text-link:hover {
  border-color: var(--ifb-blue);
  background: #f3f4ff;
  text-decoration: none;
}

/* Stronger primary action in the final dark CTA. */
.ifb-home-final-cta .wp-block-buttons .wp-block-button:first-child .wp-block-button__link {
  border-color: #f3d58f;
  background: #f3d58f;
  color: #172033;
}
.ifb-home-final-cta .wp-block-buttons .wp-block-button:first-child .wp-block-button__link:hover {
  border-color: #fff;
  background: #fff;
  color: #111827;
}

/* A simpler, more legible footer. The bundled inverse logo is shown directly
 * on the dark background until a separate custom footer logo is selected. */
.ifb-site-footer {
  background: #10192b;
}
.ifb-footer-grid {
  grid-template-columns: 1.22fr .78fr 1.15fr;
  gap: clamp(42px, 5vw, 72px);
  padding-block: 64px 50px;
}
.ifb-footer-branding {
  min-height: 0;
}
body .ifb-site-footer .ifb-footer-logo-link--transparent {
  width: min(100%, var(--ifb-footer-logo-width, 255px));
}
body .ifb-site-footer .ifb-footer-logo-link--transparent .ifb-footer-logo__image {
  width: 100%;
  max-height: none;
}
.ifb-footer-about p {
  margin-top: 22px;
  color: #d7deea;
  font-size: 1rem;
  line-height: 1.68;
}
.ifb-footer-column h2 {
  margin-bottom: 20px;
  font-size: 1.08rem;
  letter-spacing: .01em;
}
.ifb-footer-column li {
  margin-bottom: 9px;
}
.ifb-footer-column a,
.ifb-footer-contact li {
  font-size: .98rem;
  line-height: 1.58;
}
.ifb-footer-contact {
  display: grid;
  gap: 14px;
}
.ifb-footer-contact__item {
  display: grid;
  gap: 3px;
  margin: 0 !important;
}
.ifb-footer-contact__label {
  color: #9eabc0;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .085em;
  line-height: 1.35;
  text-transform: uppercase;
}
.ifb-footer-contact__value {
  color: #edf2f8;
  overflow-wrap: anywhere;
}
.ifb-footer-contact a.ifb-footer-contact__value:hover {
  color: #fff;
}
.ifb-footer-note {
  margin-top: 2px;
  padding-top: 11px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  color: #b8c3d3;
  font-size: .91rem;
  line-height: 1.55;
}
.ifb-footer-bottom__inner {
  min-height: 70px;
  color: #b7c2d2;
  font-size: .9rem;
}
.ifb-footer-bottom__inner a,
.ifb-footer-legal-button {
  color: #dbe3ee;
}

@media (max-width: 1050px) {
  .ifb-footer-grid {
    grid-template-columns: 1.1fr .9fr;
  }
  .ifb-footer-grid > :last-child {
    grid-column: 1 / -1;
    max-width: 720px;
  }
}

@media (max-width: 700px) {
  .ifb-topbar {
    font-size: .84rem;
  }
  .ifb-topbar__inner {
    min-height: 40px;
  }
  .ifb-topbar__contact {
    gap: 12px;
  }
  .ifb-header-hero__actions {
    gap: 11px;
  }
  .ifb-hero-button--tertiary {
    margin-left: 0;
  }
  .ifb-front-page .ifb-content-note {
    padding: 19px 19px 19px 52px;
  }
  .ifb-front-page .ifb-content-note::before {
    top: 19px;
    left: 17px;
  }
  .ifb-home-highlight .ifb-text-link,
  .ifb-home-exam-note .ifb-text-link {
    width: 100%;
    white-space: normal;
  }
  .ifb-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-block: 52px 40px;
  }
  .ifb-footer-grid > :last-child {
    grid-column: auto;
  }
  body .ifb-site-footer .ifb-footer-logo-link--transparent {
    width: min(100%, var(--ifb-footer-logo-width, 255px));
  }
}

@media (max-width: 480px) {
  .ifb-topbar__contact a:first-child {
    display: none;
  }
  .ifb-front-page .ifb-home-grid .ifb-service-card,
  .ifb-front-page .ifb-home-grid .ifb-info-card,
  .ifb-front-page .ifb-home-grid .ifb-step-card {
    padding: 24px;
  }
}

/* v0.4.7 · Accessibility and rendering stability */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Theme 0.4.8 · Editable IFB team directory. */
.ifb-team-grid--public {
  align-items: stretch;
}
.ifb-team-grid--columns-1 { grid-template-columns: minmax(0, 1fr); }
.ifb-team-grid--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ifb-team-grid--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ifb-team-grid--columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ifb-team-grid--public .ifb-team-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
}
.ifb-team-card__media {
  overflow: hidden;
  margin: -29px -29px 23px;
  aspect-ratio: 4 / 3;
  background: #eef2f8;
}
.ifb-team-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.ifb-team-card__department {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 13px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef0ff;
  color: var(--ifb-blue);
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .035em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ifb-team-grid--public .ifb-team-card__initials {
  flex: 0 0 auto;
}
.ifb-team-grid--public .ifb-team-card h3 {
  margin-bottom: 8px;
}
.ifb-team-grid--public .ifb-team-card__role {
  margin: 0 0 16px;
  color: #526078;
  font-size: .94rem;
  font-weight: 650;
  line-height: 1.45;
}
.ifb-team-card__bio {
  color: var(--ifb-muted);
  font-size: .94rem;
  line-height: 1.62;
}
.ifb-team-card__bio > :first-child { margin-top: 0; }
.ifb-team-card__bio > :last-child { margin-bottom: 0; }
.ifb-team-card__contact {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--ifb-border);
  font-size: .84rem;
  line-height: 1.45;
}
.ifb-team-card__contact a {
  width: fit-content;
  max-width: 100%;
  color: var(--ifb-blue);
  font-weight: 720;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.ifb-team-card__contact a:hover,
.ifb-team-card__contact a:focus-visible {
  text-decoration: underline;
}
@media (max-width: 1100px) {
  .ifb-team-grid--columns-3,
  .ifb-team-grid--columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ifb-team-grid--columns-2,
  .ifb-team-grid--columns-3,
  .ifb-team-grid--columns-4 { grid-template-columns: 1fr; }
  .ifb-team-card__media { margin: -25px -25px 21px; }
}

/* Theme 0.4.9 · Verified quality and institutional relationship page. */
.ifb-page-quality .entry-content {
  max-width: 1180px;
}
.ifb-quality-intro,
.ifb-quality-section {
  margin: clamp(34px, 6vw, 72px) 0;
}
.ifb-quality-intro {
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid #dbe2ee;
  border-left: 5px solid #0000aa;
  border-radius: 18px;
  background: #f5f7fb;
}
.ifb-quality-intro h2,
.ifb-quality-section h2 {
  max-width: 820px;
  margin: 8px 0 14px;
}
.ifb-quality-intro > p,
.ifb-quality-section__intro {
  max-width: 850px;
  color: #3d4a61;
}
.ifb-quality-principle-grid,
.ifb-quality-role-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}
.ifb-quality-principle-grid article,
.ifb-quality-role-grid article {
  min-width: 0;
  padding: 20px;
  border: 1px solid #dbe2ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 32, 51, .05);
}
.ifb-quality-principle-grid strong,
.ifb-quality-principle-grid span {
  display: block;
}
.ifb-quality-principle-grid strong {
  margin-bottom: 7px;
  color: #172033;
  font-size: 1.02rem;
}
.ifb-quality-principle-grid span,
.ifb-quality-role-grid p {
  color: #4f5d73;
  line-height: 1.62;
}
.ifb-quality-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 26px;
}
.ifb-quality-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid #d8dfeb;
  border-top: 4px solid #0000aa;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(23, 32, 51, .07);
}
.ifb-quality-card__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}
.ifb-quality-card__head > div:not(.ifb-quality-card__logo) {
  min-width: 0;
}
.ifb-quality-card__logo {
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e0e5ee;
  border-radius: 12px;
  background: #fff;
}
.ifb-quality-card__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}
.ifb-quality-card__type {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #000078;
  background: #eef0ff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ifb-quality-card h3 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  line-height: 1.2;
}
.ifb-quality-card__verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #165c39;
  background: #e8f6ee;
  font-size: .76rem;
  font-weight: 800;
  white-space: nowrap;
}
.ifb-quality-card__verified::before {
  content: "✓";
}
.ifb-quality-card__description {
  margin-top: 18px;
  color: #3f4b60;
}
.ifb-quality-card__description > :first-child {
  margin-top: 0;
}
.ifb-quality-card__description > :last-child {
  margin-bottom: 0;
}
.ifb-quality-card__facts {
  display: grid;
  gap: 0;
  margin: 22px 0 0;
  border-top: 1px solid #e2e7ef;
}
.ifb-quality-card__facts > div {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr);
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid #e8ecf2;
}
.ifb-quality-card__facts dt {
  color: #68758a;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.ifb-quality-card__facts dd {
  min-width: 0;
  margin: 0;
  color: #172033;
  overflow-wrap: anywhere;
}
.ifb-quality-card__link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 20px;
  color: #0000aa;
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.ifb-quality-empty {
  margin-top: 24px;
  padding: 28px;
  border: 1px dashed #aeb8c9;
  border-radius: 16px;
  background: #fafbfc;
  text-align: center;
}
.ifb-quality-empty strong {
  display: block;
  margin-bottom: 8px;
  color: #172033;
  font-size: 1.1rem;
}
.ifb-quality-empty p {
  max-width: 760px;
  margin: 0 auto;
  color: #4f5d73;
}
.ifb-quality-section--soft {
  padding: clamp(26px, 4vw, 44px);
  border-radius: 18px;
  background: #f3f4f0;
}
.ifb-quality-role-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ifb-quality-role-grid h3 {
  margin-top: 0;
}
.ifb-quality-note {
  margin-top: 18px;
  padding: 18px 20px;
  border-left: 4px solid #c28a22;
  border-radius: 10px;
  color: #3c321d;
  background: #fff7df;
}
.ifb-quality-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px 22px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.ifb-quality-checklist li {
  position: relative;
  margin: 0;
  padding: 16px 18px 16px 48px;
  border: 1px solid #dbe2ee;
  border-radius: 12px;
  color: #354156;
  background: #fff;
}
.ifb-quality-checklist li::before {
  content: "✓";
  position: absolute;
  top: 15px;
  left: 17px;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0000aa;
  font-size: .78rem;
  font-weight: 900;
}
.ifb-quality-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(26px, 4vw, 42px);
  border-radius: 18px;
  color: #fff;
  background: #172033;
}
.ifb-quality-contact h2,
.ifb-quality-contact p {
  color: inherit;
}
.ifb-quality-contact p {
  max-width: 720px;
  margin-bottom: 0;
  color: #d7deea;
}
.ifb-quality-contact .ifb-card-kicker {
  color: #e8bd64;
}

@media (max-width: 980px) {
  .ifb-quality-principle-grid,
  .ifb-quality-grid,
  .ifb-quality-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifb-quality-role-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .ifb-quality-principle-grid,
  .ifb-quality-grid,
  .ifb-quality-checklist { grid-template-columns: 1fr; }
  .ifb-quality-card__head { grid-template-columns: auto minmax(0, 1fr); }
  .ifb-quality-card__verified { grid-column: 1 / -1; width: fit-content; }
  .ifb-quality-card__facts > div { grid-template-columns: 1fr; gap: 4px; }
  .ifb-quality-contact { align-items: stretch; flex-direction: column; }
  .ifb-quality-contact .ifb-button { width: 100%; text-align: center; }
}

/* Theme 0.5.0 · Keep the verified badge inside quality cards on every width. */
.ifb-quality-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  align-items: stretch;
}
.ifb-quality-grid > .ifb-quality-card:only-child {
  width: 100%;
  max-width: 680px;
  justify-self: start;
}
.ifb-quality-card {
  overflow: hidden;
}
.ifb-quality-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 16px;
  min-width: 0;
}
.ifb-quality-card__head > .ifb-quality-card__logo {
  flex: 0 0 74px;
}
.ifb-quality-card__head > div:not(.ifb-quality-card__logo) {
  flex: 1 1 210px;
  min-width: 0;
}
.ifb-quality-card__verified {
  position: static;
  flex: 0 0 auto;
  max-width: 100%;
  margin-left: auto;
  align-self: flex-start;
}
@media (max-width: 560px) {
  .ifb-quality-card__head > .ifb-quality-card__logo {
    flex-basis: 62px;
    width: 62px;
    height: 62px;
  }
  .ifb-quality-card__head > div:not(.ifb-quality-card__logo) {
    flex-basis: calc(100% - 78px);
  }
  .ifb-quality-card__verified {
    width: fit-content;
    margin-left: 0;
  }
}


/* Theme 0.5.1 · Homepage transparency and accessibility hardening. */
.ifb-skip-link {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  opacity: 0;
  transform: none;
}
.ifb-skip-link:focus,
.ifb-skip-link:focus-visible {
  width: auto;
  height: auto;
  padding: 10px 14px;
  overflow: visible;
  clip: auto;
  clip-path: none;
  opacity: 1;
}
#ifb-main { scroll-margin-top: 128px; }
.ifb-primary-menu a[aria-current="page"] {
  color: var(--ifb-blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .32em;
}
body.ifb-menu-open::before {
  content: "";
  position: fixed;
  z-index: 999;
  inset: 0;
  background: rgba(23, 32, 51, .42);
}
.ifb-section--trust {
  position: relative;
  padding-block: clamp(62px, 8vw, 94px);
  overflow: hidden;
  border-block: 1px solid var(--ifb-border);
  background: linear-gradient(135deg, #f7f7f4 0%, #f5f7ff 100%);
}
.ifb-section--trust::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(0, 0, 170, .045);
  pointer-events: none;
}
.ifb-home-trust__heading {
  position: relative;
  max-width: 820px;
  margin-bottom: clamp(30px, 4vw, 46px);
}
.ifb-home-trust__heading > :last-child { margin-bottom: 0; }
.ifb-home-trust__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.ifb-home-trust__card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(22px, 2.5vw, 30px);
  border: 1px solid rgba(207, 214, 226, .95);
  border-top: 3px solid var(--ifb-blue);
  border-radius: 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--ifb-shadow-sm);
}
.ifb-home-trust__card--verified { border-top-color: var(--ifb-success); }
.ifb-home-trust__label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef0ff;
  color: var(--ifb-blue-dark);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .055em;
}
.ifb-home-trust__card--verified .ifb-home-trust__label {
  background: var(--ifb-success-bg);
  color: var(--ifb-success);
}
.ifb-home-trust__card h3 {
  margin-bottom: 12px;
  font-size: clamp(1.18rem, 1.7vw, 1.42rem);
}
.ifb-home-trust__card p {
  margin-bottom: 0;
  color: #475467;
  font-size: 1rem;
  line-height: 1.65;
}
.ifb-home-trust__links {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.ifb-home-trust__links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 15px;
  border: 1px solid #cfd6e2;
  border-radius: 999px;
  background: #fff;
  color: var(--ifb-navy);
  font-weight: 750;
  text-decoration: none;
}
.ifb-home-trust__links a:hover,
.ifb-home-trust__links a:focus-visible {
  border-color: var(--ifb-blue);
  color: var(--ifb-blue);
}
@media (max-width: 1020px) {
  .ifb-home-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  #ifb-main { scroll-margin-top: 92px; }
  .ifb-home-trust__grid { grid-template-columns: 1fr; }
  .ifb-home-trust__links { display: grid; }
  .ifb-home-trust__links a { justify-content: center; text-align: center; }
}
