/* Shared interaction finish. Explicit selectors keep content and layout intact.
   !important resolves recovered component hover rules with Angular scoping. */
:root { --pixis-interaction-ease: cubic-bezier(.22,.61,.36,1); }
html body app-public-layout :is(.card,.serve__card,.svc-card,.svc-idx,.team-card,.tm-card,.ins-card,.ins-feat,.home-insight,.sd-sibling) {
  border-color: #e2e5eb !important;
  transition: box-shadow .28s var(--pixis-interaction-ease), transform .28s var(--pixis-interaction-ease), background-color .22s ease !important;
}
html body app-public-layout :is(.card,.serve__card,.svc-card,.svc-idx,.team-card,.tm-card,.ins-card,.ins-feat,.home-insight,.sd-sibling):hover {
  border-color: #e2e5eb !important;
  transform: none !important;
  box-shadow: 0 3px 12px rgb(13 30 49 / .035) !important;
}
html body app-public-layout :is(.svc-idx,.home-insight,.ins-card,.ins-feat):hover { background-color: #fff !important; }
/* Editorial photography stays still; team portraits have their own shared zoom. */
html body app-public-layout :is(.card,.ins-card,.ins-feat,.home-insight):hover :is(img,.ins-card__media--img,.home-insight__media--image) {
  transform: none !important; filter: none !important;
}
html body app-public-layout :is(.btn,.home-insight__action,.text-link,.svc-more,.tm-card__more,.stats__cta,.svc-stats__cta,.td-contact__link,.td-nav__link,.header__link,.footer__social-btn,.footer__col a,.footer__legal-links a,.footer__portal,.langs__btn,.ins-filter__tab,.team-controls__btn) {
  transition: background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
html body app-public-layout :is(.btn,.home-insight__action):hover { transform: none !important; filter: none !important; text-decoration: none !important; }
html body app-public-layout :is(.btn--solid,.btn--gold,.home-insight__action):hover {
  background: #0d1e31 !important; border-color: #0d1e31 !important; color: #fff !important;
}
html body app-public-layout .btn:not(.btn--solid,.btn--gold,.btn--band):hover { background: #f1f3f6 !important; border-color: #dce1e7 !important; color: #0d1e31 !important; }
html body app-public-layout .btn--band:hover { color: #fff !important; background: rgb(255 255 255 / .08) !important; border-color: rgb(255 255 255 / .45) !important; }
html body app-public-layout :is(.text-link,.svc-more,.tm-card__more,.td-contact__link,.td-nav__link):hover { color: #344b62 !important; text-decoration: none !important; }
html body app-public-layout .text-link::after { background: currentColor !important; opacity: .35; transition: transform .24s ease !important; }
html body app-public-layout .footer :is(a,.footer__social-btn):hover { color: #fff !important; border-color: rgb(255 255 255 / .25) !important; }
html body app-public-layout .footer__social-btn:hover { background: rgb(255 255 255 / .08) !important; }
html body app-public-layout :is(.ins-filter__tab,.langs__btn,.team-controls__btn):not(.is-active):hover { background: #eef1f5 !important; color: #0d1e31 !important; border-color: #dce1e7 !important; }
/* Match the admin's quiet surfaces; no jumps or saturated hover outlines. */
html body :is(.shell,.admin-overlay,.login) :is(.a-btn,.shell__link,.shell__logout,.mp__item,.ip-cell) { transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease !important; }
html body :is(.shell,.admin-overlay,.login) :is(.a-btn,.mp__item,.ip-cell):hover { transform: none !important; }
html body :is(.shell,.admin-overlay) :is(.mp__item,.ip-cell):not(.is-selected):hover { border-color: #dce1e7 !important; background-color: #f3f4f7 !important; box-shadow: 0 3px 10px rgb(13 30 49 / .035) !important; }
/* The standalone PDF reader uses the same palette. */
body:has(.reader-header) :is(button,.toolbar a,.reader-header a) { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
@media (hover:hover) and (pointer:fine) {
  html body app-public-layout :is(.card,.serve__card,.svc-card,.svc-idx,.team-card,.tm-card,.ins-card,.ins-feat,.home-insight,.sd-sibling):hover {
    box-shadow: 0 8px 24px rgb(13 30 49 / .065), 0 2px 6px rgb(13 30 49 / .025) !important;
  }
  html body app-public-layout :is(a.card,a.svc-card,a.svc-idx,a.team-card,a.tm-card,a.ins-card,a.ins-feat,a.sd-sibling):hover { transform: translateY(-2px) !important; }
  html body app-public-layout :is(.btn--solid,.btn--gold,.home-insight__action):not(:disabled):hover { background: #20364e !important; border-color: #20364e !important; box-shadow: 0 4px 12px rgb(13 30 49 / .12) !important; }
  body:has(.reader-header) :is(button,.toolbar a):not(:disabled):hover { background: #e9edf2; color: #0d1e31; box-shadow: 0 2px 8px rgb(13 30 49 / .06); }
}
/* A visible keyboard focus is intentional and distinct from hover. */
html body app-public-layout :is(a,button,input,select,textarea,[tabindex="0"]):focus-visible,
body:has(.reader-header) :is(a,button,input):focus-visible { outline: 2px solid #66829f !important; outline-offset: 4px !important; }
@media (prefers-reduced-motion:reduce) {
  html body app-public-layout :is(.card,.serve__card,.svc-card,.svc-idx,.team-card,.tm-card,.ins-card,.ins-feat,.home-insight,.sd-sibling):hover { transform: none !important; }
  html body :is(app-public-layout,.shell,.admin-overlay,.login) :is(a,button,.card,.serve__card,.home-insight,.mp__item,img),
  body:has(.reader-header) :is(a,button) { transition: none !important; }
}
html body app-public-layout :is(.team-card__photo,.tm-card__photo,.card__photo) img { filter: none !important; }
html body app-public-layout .tm-card__more,
html body app-public-layout .tm-card__more:hover { gap: .5rem !important; }
html body app-public-layout :is(.svc-nav__list a,.svc-contact__button,.nwd__svc) { transition: background-color .22s ease, color .22s ease, box-shadow .22s ease !important; }
html body app-public-layout .svc-nav__list a:hover { background: #f1f3f6 !important; color: #0d1e31 !important; }
html body app-public-layout .svc-contact__button:hover app-icon { transform: none !important; }
html body app-public-layout .team-card:hover .member__tags li { border-color: #e2e5eb !important; }
body:has(.reader-header) a:hover { text-decoration: none; color: #344b62; }

/* Services and publications: brand navy instead of the bright accent blue. */
html body app-public-layout :is(app-services,app-insights) {
  --color-accent: #0d1e31;
  --color-gold: #0d1e31;
  --color-accent-pressed: #20364e;
}
html body app-public-layout app-services .svc-feats__check {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px;
  aspect-ratio: 1;
  flex: 0 0 28px !important;
  align-self: flex-start;
  margin-top: -2px;
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  corner-shape: round;
  background: #eef3f7 !important;
  color: #0d1e31 !important;
}
html body app-public-layout app-services .svc-feats__check :is(app-icon,.icon) { display: grid; place-items: center; line-height: 0; }
/* Index panel ends where the hero photo above ends (same bleed as .split-hero__media). */
html body app-public-layout app-services .svc-nav__list { background: #eef3f7 !important; border: 0 !important; box-shadow: none !important; margin-right: calc(-1 * min(4rem, max(0px, (100vw - 1280px) / 2))) !important; }
html body app-public-layout app-services .svc-feats__check svg { width: 14px; height: 14px; stroke-width: 2; color: #0d1e31; }

/* Publications listing: same card language as the homepage publication cards. */
html body app-public-layout app-insights .ins-filter__tab.is-active { color: #0d1e31 !important; font-weight: 600; }
html body app-public-layout .ins-grid { gap: 20px !important; }
html body app-public-layout .ins-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-height: 256px;
  padding: 28px !important;
  overflow: hidden;
  border: 1px solid #e2e5eb !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 4px 18px rgb(3 15 34 / .035) !important;
  color: #030f22;
  text-decoration: none !important;
}
html body app-public-layout .ins-card .ins-card__media,
html body app-public-layout .ins-card .ins-card__cat { display: none !important; }
html body app-public-layout .ins-card .ins-card__body { display: flex !important; flex: 1; flex-direction: column; gap: 24px; padding: 0 !important; }
html body app-public-layout .ins-card .ins-card__date { order: -1; margin: 0 !important; padding-right: 64px; color: #626975; font-size: 12px; line-height: 18px; letter-spacing: .015em; }
html body app-public-layout .ins-card .ins-card__title { margin: 0 !important; color: #030f22; font-size: 18px !important; font-weight: 500; line-height: 1.4 !important; letter-spacing: -.025em; }
html body app-public-layout .ins-card::before {
  content: 'PDF';
  position: absolute;
  top: 26px;
  right: 24px;
  padding: 4px 6.4px;
  border-radius: 6px;
  background: #eef3f7;
  color: #68798b;
  font-size: 10px;
  font-weight: 500;
  line-height: 12px;
}
html body app-public-layout .ins-card::after {
  content: 'Devamı \2197';
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
  padding: 9.6px 16px;
  border: 1px solid #0d1e31;
  border-radius: 16px;
  background: #0d1e31;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 19.6px;
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
html[lang^='en'] body app-public-layout .ins-card::after { content: 'Read more \2197'; }
@media (hover: hover) {
  html body app-public-layout .ins-card:hover::after { background: #20364e; border-color: #20364e; box-shadow: 0 4px 12px rgb(13 30 49 / .12); }
}
@media (max-width: 1023px) { html body app-public-layout .ins-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) {
  html body app-public-layout .ins-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html body app-public-layout .ins-card::before { top: 1.25rem; right: 1.25rem; }
}

/* Team cards: one quiet surface for portrait and copy. */
html body app-public-layout .tm-card,
html body app-public-layout .tm-card :is(.tm-card__photo,.tm-card__body) { background-color: #f6f6f8 !important; }
html body app-public-layout .tm-card:hover { background-color: #f6f6f8 !important; }
html body app-public-layout :is(.ins-card,.ins-feat)[hidden] { display: none !important; }

/* One radius system, taken from the homepage cards: 28px (24px on phones), plain round corners. */
html:root { --radius-card: 28px; --card-corner-shape: round; }
html body app-public-layout :is(.split-hero__media,.svc-nav__list,.svc-row__media,.svc-contact,.tm-card,.td-photo,.ins-card,.ins-feat,.nl,.nwd__svc,.serve__card,.svc-idx,.team-card,.home-insight) {
  border-radius: 28px !important;
  corner-shape: round !important;
}
@media (max-width: 767px) {
  html:root { --radius-card: 24px; }
  html body app-public-layout :is(.split-hero__media,.svc-nav__list,.svc-row__media,.svc-contact,.tm-card,.td-photo,.ins-card,.ins-feat,.nl,.nwd__svc,.serve__card,.svc-idx,.team-card,.home-insight) { border-radius: 24px !important; }
}

/* Services index: navy ink on #EEF3F7. */
html body app-public-layout app-services .svc-nav a { color: #0d1e31 !important; background: transparent !important; transition: color .2s ease, background-color .2s ease; }
html body app-public-layout app-services .svc-nav__label { color: #0d1e31 !important; font-weight: 500; letter-spacing: -.005em; }
html body app-public-layout app-services .svc-nav__number { color: rgb(13 30 49 / .45) !important; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
html body app-public-layout app-services .svc-nav__arrow { color: rgb(13 30 49 / .35) !important; transition: color .22s ease, transform .22s var(--pixis-interaction-ease); }
html body app-public-layout app-services .svc-nav a:hover { background: rgb(13 30 49 / .04) !important; }
html body app-public-layout app-services .svc-nav a:hover .svc-nav__arrow { color: #0d1e31 !important; transform: translateX(2px); }
html body app-public-layout app-services .svc-nav a.is-active { background: #fff !important; box-shadow: 0 1px 2px rgb(13 30 49 / .06); }
html body app-public-layout app-services .svc-nav a.is-active .svc-nav__label { font-weight: 600; }
html body app-public-layout app-services .svc-nav a.is-active :is(.svc-nav__number,.svc-nav__arrow) { color: #0d1e31 !important; }
html body app-public-layout app-services .svc-nav a:focus-visible { outline: 2px solid #193b62; outline-offset: 2px; }

/* Services rows: more air between rows and inside the copy block. */
html body app-public-layout app-services .svc-row { padding-block: clamp(2.7rem, 4.95vw, 4.95rem) !important; column-gap: clamp(2.5rem, 6vw, 6rem) !important; align-items: center; }
html body app-public-layout app-services .svc-row__label { margin-bottom: 1.25rem !important; letter-spacing: .02em; }
html body app-public-layout app-services .svc-row__title { margin-bottom: 1.5rem !important; }
html body app-public-layout app-services .svc-row__desc { max-width: 34rem; line-height: 1.75; }
html body app-public-layout app-services .svc-feats { margin-top: 2.25rem !important; display: grid; gap: .95rem; }
@media (max-width: 767px) {
  html body app-public-layout app-services .svc-row { padding-block: 2.475rem !important; row-gap: 1.75rem !important; }
  html body app-public-layout app-services .svc-feats { margin-top: 1.5rem !important; gap: .8rem; }
}

/* KVKK cookie consent (assets/ui/consent.js); replaces the app's original banner. */
app-cookie-banner { display: none !important; }
.pc-consent [hidden] { display: none !important; }
.pc-consent { position: fixed; z-index: 300; left: 50%; bottom: 20px; width: min(calc(100% - 32px), 760px); transform: translateX(-50%); border-radius: 24px; background: #fff; color: #030f22; box-shadow: 0 24px 60px -28px rgb(3 15 34 / .45), 0 0 0 1px rgb(3 15 34 / .06); font: 400 14px/1.6 var(--font-body, Inter, sans-serif); }
.pc-consent__inner { display: grid; gap: 18px; padding: 24px 26px; }
.pc-consent__title { margin: 0 0 6px; font-size: 16px; font-weight: 600; letter-spacing: -.01em; color: #0d1e31; }
.pc-consent__text { margin: 0; color: #485566; }
.pc-consent__text a { color: #193b62; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.pc-consent__prefs { display: grid; gap: 10px; }
.pc-consent__row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-radius: 16px; background: #f4f5f8; cursor: default; }
label.pc-consent__row { cursor: pointer; }
.pc-consent__row strong { display: block; font-size: 14px; font-weight: 600; color: #0d1e31; }
.pc-consent__row span { display: block; font-size: 13px; color: #5b6676; }
.pc-consent__always { flex: none; font-size: 12px !important; font-weight: 600; color: #193b62 !important; }
.pc-consent__switch { flex: none; appearance: none; position: relative; width: 42px; height: 24px; margin: 0; border-radius: 999px; background: #c9cfd8; cursor: pointer; transition: background .2s ease; }
.pc-consent__switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(3 15 34 / .25); transition: transform .2s ease; }
.pc-consent__switch:checked { background: #193b62; }
.pc-consent__switch:checked::after { transform: translateX(18px); }
.pc-consent__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.pc-consent__manage { margin-right: auto; padding: 0; border: 0; background: none; color: #193b62; font: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
/* Accept and decline carry equal weight, as the KVKK cookie guide requires. */
.pc-consent__btn { min-height: 44px; min-width: 118px; padding: 0 20px; border: 1px solid #0d1e31; border-radius: 14px; background: #0d1e31; color: #fff; font: inherit; font-weight: 500; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.pc-consent__btn:hover { background: #20364e; border-color: #20364e; }
.pc-consent :focus-visible { outline: 2px solid #193b62; outline-offset: 2px; }
.pc-consent-link { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.pc-consent-link:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .pc-consent { bottom: 12px; border-radius: 20px; max-height: calc(100dvh - 24px); overflow-y: auto; }
  .pc-consent__inner { padding: 20px; }
  .pc-consent__actions { justify-content: stretch; }
  .pc-consent__manage { width: 100%; margin: 0 0 4px; text-align: left; }
  .pc-consent__btn { flex: 1 1 0; min-width: 0; }
}

/* Content icons follow the homepage service card: 64px #EEF3F7 tile, 18px radius, 32px navy line icon. */
html body app-public-layout :is(.svc-idx__icon,.nwd__svc-icon,.serve__card-icon,.nl__icon) {
  display: inline-grid !important;
  place-items: center;
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px;
  justify-self: start;
  align-self: flex-start;
  border-radius: 18px !important;
  background: #eef3f7 !important;
  color: #0d1e31 !important;
}
html body app-public-layout :is(.svc-idx__icon,.nwd__svc-icon,.serve__card-icon,.nl__icon) :is(app-icon,.icon) { display: grid; place-items: center; line-height: 0; }
html body app-public-layout :is(.svc-idx__icon,.nwd__svc-icon,.serve__card-icon,.nl__icon) svg { width: 32px !important; height: 32px !important; stroke: currentColor; stroke-width: 1.5; color: #0d1e31 !important; }
html body app-public-layout .td-back { color: #0d1e31 !important; }
html body app-public-layout .serve__card-icon { padding: 0 !important; margin: 1.4rem 1.5rem 0 !important; }

/* Principles numbers use the same tile as the icons. */
html body app-public-layout .prin__item { grid-template-columns: 64px minmax(0, 1fr) !important; column-gap: 1.5rem !important; align-items: start; }
html body app-public-layout .prin__num { display: grid !important; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: #eef3f7; color: #0d1e31 !important; font-size: 20px !important; line-height: 1 !important; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: 0 !important; }

/* Header menu: active entry uses the icon-tile colours (#EEF3F7 / #0D1E31). */
html body app-public-layout .header__nav { gap: 6px !important; }
html body app-public-layout .header__link { padding: 8px 14px !important; border-radius: 12px; color: #556274; transition: background-color .2s ease, color .2s ease; }
html body app-public-layout .header__link::after { display: none !important; }
html body app-public-layout .header__link:hover { background: rgb(238 243 247 / .7); color: #0d1e31; text-decoration: none; }
html body app-public-layout .header__link.is-active { background: #eef3f7 !important; color: #0d1e31 !important; font-weight: 600; }
html body app-public-layout .header__drawer-link { padding-inline: 14px !important; border-radius: 12px; }
html body app-public-layout .header__drawer-link.is-active { background: #eef3f7 !important; color: #0d1e31 !important; font-weight: 600; }
/* On the tinted homepage header and the tinted mobile drawer, the same hue one step deeper stays visible without a border. */
html body app-public-layout:has(app-home) .header__link.is-active,
html body app-public-layout .header__drawer-link.is-active { background: #e4eaf2 !important; }
.pc-fallback { visibility: hidden !important; }

/* Contact form: visible fields with a calm surface, clear border and focus ring. */
html body app-public-layout .field__input {
  min-height: 52px;
  padding: 14px 16px !important;
  border: 1px solid #d9dfe7 !important;
  border-radius: 14px !important;
  background: #f6f8fb !important;
  color: #0d1e31;
  box-shadow: none !important;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
html body app-public-layout textarea.field__input { min-height: 180px; line-height: 1.6; resize: vertical; }
html body app-public-layout .field__input::placeholder { color: #8a94a4; }
html body app-public-layout .field__input:hover { border-color: #b9c3cf !important; }
html body app-public-layout .field__input:focus { outline: none; border-color: #193b62 !important; background: #fff !important; box-shadow: 0 0 0 4px rgb(25 59 98 / .1) !important; }
html body app-public-layout .field__input--invalid, html body app-public-layout .field__input.ng-touched.ng-invalid { border-color: #c2413a !important; background: #fdf6f5 !important; }
html body app-public-layout .consent input[type=checkbox] { width: 20px; height: 20px; accent-color: #193b62; cursor: pointer; }
html body app-public-layout .consent a { color: #193b62 !important; font-weight: 500; text-decoration: underline; text-decoration-color: rgb(25 59 98 / .35); text-underline-offset: 3px; border: 0 !important; }
html body app-public-layout .consent a:hover { text-decoration-color: #193b62; }

/* Shared team-photo interaction; preserve each portrait's crop at every state. */
html body app-public-layout app-team-cards :is(.team-card__photo,.tm-card__photo) { overflow: hidden; }
html body app-public-layout app-team-cards :is(.team-card__photo,.tm-card__photo) img {
  transform: translateY(var(--portrait-y, 0%)) scale(var(--portrait-scale, 1)) !important;
  scale: 1;
  transition: scale .45s var(--pixis-interaction-ease) !important;
}
@media (hover: hover) and (pointer: fine) {
  html body app-public-layout app-team-cards :is(.team-card,.tm-card):hover :is(.team-card__photo,.tm-card__photo) img { scale: 1.035; }
}
html body app-public-layout app-team-cards :is(.team-card,.tm-card):focus-visible :is(.team-card__photo,.tm-card__photo) img { scale: 1.035; }
@media (prefers-reduced-motion: reduce) {
  html body app-public-layout app-team-cards :is(.team-card,.tm-card) :is(.team-card__photo,.tm-card__photo) img { scale: 1 !important; transition: none !important; }
}
