:root {
  color-scheme: light;
  font-family: "Manrope", Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  /* Shared BMDL / Koç editorial palette. The crimson is sampled from the
     supplied Koç University lockup; warm gold keeps small controls legible. */
  --brand-crimson: #b1282d;
  --brand-oxblood: #64191d;
  --brand-ink: #2b2220;
  --brand-hero: #330808;
  --brand-bone: #f3ece3;
  --brand-paper: #f8f6f1;
  --brand-gold: #d5b59d;
  --brand-coral: #e55555;
  --brand-action: #8c1515;
  --brand-muted: #746660;
  --brand-wash: #e9ddd1;
  --brand-line: rgba(43, 34, 32, .18);
  --type-display-home: clamp(5.5rem, 7.1vw, 7.25rem);
  --type-display: clamp(4rem, 5.7vw, 5.5rem);
  --type-section: clamp(1.75rem, 2.55vw, 2.375rem);
  --type-cta: clamp(3.375rem, 5.1vw, 5.5rem);
  --type-card-title: clamp(1.375rem, 1.45vw, 1.75rem);
  --type-body: clamp(.9375rem, .25vw + .86rem, 1.125rem);
  --type-small: clamp(.8125rem, .18vw + .76rem, .9375rem);
  --type-micro: clamp(.75rem, .1vw + .72rem, .8125rem);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --focus-ring: var(--brand-crimson);
}

/* Approved Koç red, burgundy, parchment and warm-stone palette. */
html[data-palette="stone"] {
  --brand-crimson: #b1282d;
  --brand-oxblood: #64191d;
  --brand-ink: #2b2220;
  /* A lifted, desaturated red-brown: visibly part of the Stone palette while
     remaining dark enough for the white hero typography and navigation. */
  --brand-hero: #330808;
  --brand-bone: #f3ece3;
  --brand-paper: #f8f6f1;
  --brand-gold: #d5b59d;
  --brand-coral: #e55555;
  --brand-action: #8c1515;
  --brand-muted: #746660;
  --brand-wash: #e9ddd1;
  --brand-line: rgba(43, 34, 32, .18);
}

html[data-palette="stone"] .p-c-hero,
html[data-palette="stone"] .a-news { background: #f4e9df; }
html[data-palette="stone"] .a-nav::before {
  background: linear-gradient(180deg, rgba(51, 8, 8, .78), rgba(51, 8, 8, 0));
}
html[data-palette="stone"] .a-nav.is-stuck { background-color: rgba(51, 8, 8, .96); }
html[data-palette="stone"] .join-programs { background: #f8f6f1; }
html[data-palette="stone"] .join-discipline-grid article:nth-child(even),
html[data-palette="stone"] .publication-card:nth-child(3n + 2) { background: rgba(177, 40, 45, .04); }
html[data-palette="stone"] .a-pill,
html[data-palette="stone"] .a-primary,
html[data-palette="stone"] .a-join-copy > a,
html[data-palette="stone"] .join-contact-action .join-application-open,
html[data-palette="stone"] .p-c-join a { background: var(--brand-crimson); color: #fff; }
html[data-palette="stone"] .a-pill span,
html[data-palette="stone"] .a-primary span,
html[data-palette="stone"] .a-join-copy > a span { color: #fff; }

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  /* Keep anchor jumps clear of the fixed header while leaving wheel and
     trackpad scrolling entirely native. */
  scroll-padding-top: 104px;
}

body {
  margin: 0;
  background: var(--brand-bone);
  color: var(--brand-ink);
}

body,
button,
a {
  font-family: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button {
  color: inherit;
}

[hidden] {
  display: none !important;
}

.skip-link {
  position: fixed;
  z-index: 220;
  top: max(10px, var(--safe-top));
  left: max(10px, var(--safe-left));
  padding: 12px 16px;
  border: 2px solid #fff;
  background: var(--brand-hero);
  color: #fff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  transform: translateY(calc(-100% - max(14px, var(--safe-top))));
  transition: transform .16s ease;
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, summary, input, textarea, select):focus-visible {
  outline: 3px solid var(--focus-ring) !important;
  outline-offset: 3px !important;
}

.a-nav,
.site-mobile-drawer,
.a-footer { --focus-ring: var(--brand-gold); }

.concept {
  min-height: 100vh;
  /* Clip decorative motion without creating a secondary scroll container. */
  overflow: hidden;
  overflow: clip;
}

/* Concept A — Living Interface */
.concept-a {
  --ink: var(--brand-ink);
  --moss: var(--brand-oxblood);
  --acid: var(--brand-gold);
  --bone: var(--brand-bone);
  --paper: var(--brand-paper);
  --muted: var(--brand-muted);
  --surface-muted: var(--brand-wash);
  --panel-dark: var(--brand-oxblood);
  --line: var(--brand-line);
  background: var(--bone);
  color: var(--ink);
}

.a-nav {
  position: fixed;
  z-index: 90;
  top: 0;
  left: 0;
  display: grid;
  width: 100%;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 34px;
  padding: max(24px, var(--safe-top)) max(clamp(26px, 4vw, 70px), var(--safe-right)) 24px max(clamp(26px, 4vw, 70px), var(--safe-left));
  border-bottom: 1px solid transparent;
  color: #fff;
  pointer-events: none;
  transition: padding .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.a-nav > * {
  pointer-events: auto;
}

/* While transparent, the right-hand links cross the bright hero photo — this
   fade keeps them readable without closing off the full-bleed hero. */
.a-nav::before {
  position: absolute;
  z-index: -1;
  inset: 0 0 -34px;
  background: linear-gradient(180deg, rgba(32, 23, 25, .68), rgba(32, 23, 25, 0));
  content: "";
  transition: opacity .3s ease;
}

.a-nav.is-stuck::before { opacity: 0; }

/* Transparent over the ink hero, then an opaque bar so the nav stays readable
   over the bone and paper sections below. */
.a-nav.is-stuck {
  padding-top: max(15px, var(--safe-top));
  padding-bottom: 15px;
  border-bottom-color: rgba(255, 255, 255, .13);
  background-color: rgba(32, 23, 25, .94);
  box-shadow: 0 14px 40px rgba(20, 8, 12, .28);
  backdrop-filter: blur(18px);
}

.a-nav .a-brand-mark,
.a-nav .a-koc-header img { transition: height .3s ease; }

.a-nav.is-stuck .a-brand-mark { height: 55px; }
.a-nav.is-stuck .a-koc-header img { height: 42px; }

.a-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  width: fit-content;
}

.a-brand-logo {
  width: auto;
  height: 60px;
}

.a-brand-mark {
  display: block;
  width: auto;
  height: 63px;
  margin-block: -8px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.a-brand-rule {
  width: 1px;
  height: 48px;
  background: rgba(255, 255, 255, 0.3);
}

.a-brand small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  letter-spacing: 0.075em;
  line-height: 1.4;
  text-transform: uppercase;
}

.a-nav nav {
  display: flex;
  gap: clamp(20px, 2.6vw, 42px);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.a-nav nav a {
  position: relative;
}

.a-nav nav a::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: var(--acid);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.a-nav nav a:hover::after { transform: scaleX(1); }
.a-nav nav a[aria-current="page"]::after { transform: scaleX(1); }

.research-nav-split {
  display: inline-flex;
  align-items: stretch;
}

.research-nav-split > a {
  display: flex;
  align-items: center;
}

.research-nav-toggle {
  display: grid;
  width: 44px;
  min-height: 44px;
  margin: -14px -15px -14px 2px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.research-nav-toggle span {
  display: block;
  font-size: 17px;
  line-height: 1;
  transition: transform .18s ease;
}

.research-nav-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.research-nav-toggle:focus-visible,.site-menu-toggle:focus-visible { outline: 2px solid var(--acid); outline-offset: 3px; }

.a-nav .research-mega {
  position: absolute;
  z-index: 95;
  top: 100%;
  right: 0;
  left: 0;
  display: block;
  padding: 27px clamp(26px, 4vw, 70px) 36px;
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 1px solid rgba(255,255,255,.16);
  background: rgba(51, 8, 8, .985);
  box-shadow: 0 25px 55px rgba(20,8,12,.28);
  color: #fff;
  pointer-events: auto;
}

.a-nav .research-mega[hidden] { display: none; }
.research-mega::before { display: none; }
.research-mega header { display: flex; justify-content: space-between; gap: 30px; align-items: end; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.22); }
.research-mega header span { color: var(--acid); font-family: "IBM Plex Mono",monospace; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }
.research-mega header p { margin: 7px 0 0; color: rgba(255,255,255,.62); font-family: Manrope,sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.research-mega header > a { display: flex; gap: 35px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--acid); font-size: 12px; }
.research-mega header > a::after,.research-mega-grid a::after { display: none; }
.research-mega-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.research-mega-grid > a { display: grid; min-height: 220px; grid-template-rows: auto auto 1fr auto; padding: 25px 28px 20px; border-right: 1px solid rgba(255,255,255,.18); }
.research-mega-grid > a:first-child { padding-left: 0; }
.research-mega-grid > a:last-child { padding-right: 0; border-right: 0; }
.research-mega-grid > a > span { color: var(--acid); font-family: "IBM Plex Mono",monospace; font-size: 12px; }
.research-mega-grid strong { max-width: 340px; margin-top: 18px; font-family: "DM Serif Display",serif; font-size: clamp(23px,1.75vw,31px); font-weight: 400; letter-spacing: -.025em; line-height: 1.02; text-transform: none; }
.research-mega-grid small { max-width: 280px; margin-top: 17px; color: rgba(255,255,255,.62); font-family: Manrope,sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0; line-height: 1.55; text-transform: none; }
.research-mega-grid b { align-self: end; color: var(--acid); font-family: "IBM Plex Mono",monospace; font-size: 12px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.research-mega-grid a:hover strong,.research-mega-grid a:focus-visible strong { color: var(--acid); }
.research-mega-grid a:focus-visible,.research-mega header > a:focus-visible { outline: 2px solid var(--acid); outline-offset: 4px; }
.site-menu-toggle,.site-mobile-drawer { display: none; }

.a-koc-header {
  display: flex;
  width: fit-content;
  height: 60px;
  align-items: center;
  flex-direction: row-reverse;
  gap: 15px;
  justify-self: end;
}

.a-koc-header img {
  display: block;
  width: auto;
  max-width: 60px;
  height: 48px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.a-koc-rule {
  width: 1px;
  height: 42px;
  background: rgba(255, 255, 255, .3);
}

.a-koc-header small {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  letter-spacing: .075em;
  line-height: 1.4;
  text-align: right;
  text-transform: uppercase;
}

.a-pill {
  justify-self: end;
  padding: 12px 17px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.a-pill span { margin-left: 14px; }

.a-hero {
  position: relative;
  display: grid;
  height: clamp(660px, 82vh, 960px);
  height: clamp(660px, 82svh, 960px);
  min-height: 0;
  grid-template-columns: minmax(0, 1.08fr) minmax(500px, .92fr);
  grid-template-rows: minmax(0, 1fr);
  background: var(--brand-hero);
  color: #fff;
}

.a-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 128px clamp(42px, 5.5vw, 88px) 64px clamp(30px, 7vw, 120px);
}

.a-eyebrow,
.a-section-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.a-eyebrow span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 0 5px rgba(215, 172, 100, .16);
}

.a-hero h1 {
  max-width: 780px;
  margin: 30px 0 25px;
  font-family: "Manrope", sans-serif;
  font-size: clamp(3.4rem, 4.25vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: .98;
}

.a-nowrap { white-space: nowrap; }

.a-lede {
  max-width: 690px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: var(--type-body);
  line-height: 1.65;
}

.a-lede a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.42);
  text-underline-offset: 4px;
}

.a-lede a:hover { text-decoration-color: var(--acid); }

.a-actions {
  display: flex;
  align-items: center;
  gap: 34px;
  margin-top: 36px;
}

.concept-a .a-actions .a-primary {
  display: flex;
  min-width: 210px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-radius: 2px;
  background: var(--brand-action);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.concept-a .a-actions .a-primary span { color: #fff; font-size: 18px; }

.a-text-link {
  padding-block: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  font-size: 13px;
}

.a-text-link span { margin-left: 12px; }

.a-hero-research {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  padding-top: 116px;
  background: #211719;
}

.a-hero-research-row {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(240px, 50%) minmax(0, 1fr) 58px;
  align-items: stretch;
  overflow: hidden;
  border-left: 1px solid rgba(255, 255, 255, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  color: #fff;
  transition: background .22s ease;
}

.a-hero-research-row:last-child { border-bottom: 0; }

.a-hero-research-images {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  background: var(--brand-wash);
  transition: grid-template-columns .35s cubic-bezier(.22, 1, .36, 1);
}

.a-hero-research-images::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 58%, rgba(33, 23, 25, .3));
  content: "";
  pointer-events: none;
}

.a-hero-research-pane {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .16);
}

.a-hero-research-pane:last-child { border-right: 0; }

.a-hero-research-pane img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.68) contrast(1.04);
  transform: scale(1.01);
  transition: filter .3s ease, transform .45s cubic-bezier(.22, 1, .36, 1);
}

.a-hero-research-row:nth-child(1) .a-hero-research-pane:nth-child(1) img { object-position: 48% 52%; }
.a-hero-research-row:nth-child(1) .a-hero-research-pane:nth-child(2) img { object-position: 46% 58%; }
.a-hero-research-row:nth-child(2) .a-hero-research-pane:nth-child(1) img { object-position: center 46%; }
.a-hero-research-row:nth-child(2) .a-hero-research-pane:nth-child(3) img { object-position: center 42%; }
.a-hero-research-row:nth-child(3) .a-hero-research-pane:nth-child(1) img { object-position: center 51%; }
.a-hero-research-row:nth-child(3) .a-hero-research-pane:nth-child(3) img { object-position: center 49%; }

@media (min-width: 1051px) {
  .a-hero-research-row:nth-child(1) .a-hero-research-images { grid-template-columns: 2.2fr 1fr 1fr; }
  .a-hero-research-row:nth-child(2) .a-hero-research-images { grid-template-columns: 1fr 1fr 2.2fr; }
  .a-hero-research-row:nth-child(3) .a-hero-research-images { grid-template-columns: 1fr 2.2fr 1fr; }
}

@media (min-width: 1051px) and (hover: hover) {
  .a-hero-research-images:has(.a-hero-research-pane:nth-child(1):hover) { grid-template-columns: 3.25fr 1fr 1fr; }
  .a-hero-research-images:has(.a-hero-research-pane:nth-child(2):hover) { grid-template-columns: 1fr 3.25fr 1fr; }
  .a-hero-research-images:has(.a-hero-research-pane:nth-child(3):hover) { grid-template-columns: 1fr 1fr 3.25fr; }
  .a-hero-research-images:has(.a-hero-research-pane:hover) .a-hero-research-pane:not(:hover) img {
    filter: saturate(.25) brightness(.72) contrast(1.03);
    transform: scale(1.01);
  }
  .a-hero-research-pane:hover img {
    filter: saturate(.98) contrast(1.04);
    transform: scale(1.035);
  }
}

.a-hero-research-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 13px;
  padding: 24px clamp(20px, 2vw, 34px);
}

.a-hero-research-copy small {
  color: var(--acid);
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

.a-hero-research-copy strong {
  max-width: 330px;
  font-size: clamp(1.125rem, 1.35vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -.028em;
  line-height: 1.2;
}

.a-hero-research-arrow {
  display: grid;
  width: 44px;
  height: 44px;
  align-self: center;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 50%;
  color: var(--acid);
  font-size: 18px;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.a-hero-research-row:hover { background: rgba(255, 255, 255, .055); }
.a-hero-research-row:focus-visible .a-hero-research-pane img {
  filter: saturate(.9) contrast(1.04);
}

.a-hero-research-row:hover .a-hero-research-arrow,
.a-hero-research-row:focus-visible .a-hero-research-arrow {
  border-color: var(--acid);
  background: var(--acid);
  color: var(--ink);
  transform: translateX(3px);
}

.a-hero-research-row:focus-visible {
  z-index: 2;
  outline: 3px solid var(--acid);
  outline-offset: -3px;
}

.error-shell {
  --stone: var(--brand-bone);
  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --surface-muted: var(--brand-wash);
  --line: var(--brand-line);
  --line-strong: rgba(43, 34, 32, .34);
  background: var(--stone);
  color: var(--ink);
}
.error-shell .a-nav { border-bottom: 1px solid rgba(255, 255, 255, .13); background: #330808; }
.error-shell .a-nav::before { display: none; }
.error-page { min-height: min(760px, calc(100vh - 106px)); padding: clamp(150px, 16vw, 230px) 5vw clamp(90px, 10vw, 150px); background: linear-gradient(135deg, var(--stone) 0 72%, var(--surface-muted) 72% 100%); }
.error-page-inner { display: grid; grid-template-columns: minmax(150px, .55fr) minmax(420px, 1.35fr) minmax(250px, .7fr); gap: clamp(34px, 5vw, 92px); align-items: start; max-width: 1500px; margin: 0 auto; border-top: 1px solid var(--line-strong); padding-top: 30px; }
.error-code { margin: 0; color: var(--brand-crimson); font: 500 12px/1.5 "IBM Plex Mono", monospace; letter-spacing: .12em; }
.error-copy h1 { margin: 0; font: 400 clamp(58px, 6.4vw, 104px)/.88 "DM Serif Display", serif; letter-spacing: -.045em; }
.error-copy p { max-width: 650px; margin: 34px 0 0; color: var(--muted); font: 400 15px/1.75 "Manrope", sans-serif; }
.error-actions { display: grid; border-top: 1px solid var(--line-strong); }
.error-actions a { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); color: var(--ink); font: 600 12px/1.3 "Manrope", sans-serif; text-decoration: none; }
.error-actions a span { color: var(--brand-crimson); font-size: 18px; }
.error-actions a.is-primary { color: var(--brand-crimson); }
.error-actions a:focus-visible { outline: 2px solid var(--brand-crimson); outline-offset: 4px; }

@media (max-width: 980px) {
  .error-page-inner { grid-template-columns: 120px minmax(0, 1fr); }
  .error-actions { grid-column: 2; }
}

@media (max-width: 720px) {
  :root { --type-display-home: clamp(3.125rem, 15vw, 4.125rem); --type-display: clamp(2.75rem, 13.5vw, 3.625rem); }
  .error-page { min-height: 650px; padding: 130px 25px 90px; background: var(--stone); }
  .error-page-inner { grid-template-columns: 1fr; gap: 26px; padding-top: 22px; }
  .error-copy h1 { font-size: clamp(52px, 17vw, 70px); }
  .error-copy p { margin-top: 24px; font-size: 14px; }
  .error-actions { grid-column: auto; margin-top: 22px; }
  .error-actions a { min-height: 58px; }
}

.a-news {
  padding: 118px clamp(28px, 7vw, 120px) 130px;
  border-top: 1px solid var(--line);
  background: var(--bone);
  color: var(--ink);
}

.a-news-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 54px;
}

.a-news-head h2 {
  margin: 25px 0 0;
  font-family: "DM Serif Display", serif;
  font-size: var(--type-section);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.a-news-kicker {
  margin: 0;
  color: var(--brand-crimson);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.a-news-head-actions {
  display: flex;
  align-items: center;
  gap: 28px;
}

.a-news-head-actions > a {
  flex: 0 0 auto;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}

.a-news-head-actions > a span { margin-left: 18px; color: var(--brand-crimson); }

.a-news-counter {
  min-width: 60px;
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: .04em;
  text-align: center;
}

.a-news-counter b { color: var(--brand-crimson); font-weight: 500; }

.a-news-rail {
  position: relative;
  width: calc(100% + clamp(28px, 7vw, 120px));
}

.a-news-grid {
  --news-card-width: clamp(360px, 26%, 460px);
  display: flex;
  align-items: stretch;
  width: 100%;
  padding-right: clamp(28px, 7vw, 120px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
}

.a-news-grid::-webkit-scrollbar { display: none; }
.a-news-grid:focus-visible { outline: 3px solid var(--brand-crimson); outline-offset: 5px; }

.a-news-edge {
  position: absolute;
  z-index: 8;
  top: clamp(130px, 11vw, 170px);
  display: grid;
  width: 76px;
  height: 76px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: var(--ink);
  color: var(--acid);
  box-shadow: 0 16px 42px rgba(35, 10, 16, .24);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.a-news-edge span { font-size: 28px; line-height: 1; }
.a-news-edge:hover:not(:disabled) { background: var(--acid); color: var(--ink); transform: translateY(-50%) scale(1.06); }
.a-news-edge:disabled { opacity: 0.44; cursor: default; }
.a-news-edge:focus-visible { outline: 3px solid var(--brand-crimson); outline-offset: 4px; }
.a-news-edge-prev { left: -38px; }
.a-news-edge-next { right: 28px; }

.a-news-card {
  position: relative;
  display: flex;
  min-width: var(--news-card-width);
  flex: 0 0 var(--news-card-width);
  flex-direction: column;
  border-left: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.32);
  scroll-snap-align: start;
  transition: background 220ms ease;
}

.a-news-card:last-child { border-right: 1px solid var(--line); }
.a-news-card:hover,
.a-news-card.is-featured { background: rgba(255, 255, 255, 0.74); }

.a-news-visual {
  position: relative;
  display: grid;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  margin: 0;
  place-items: center;
  overflow: hidden;
}

.a-news-visual::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 34px;
  height: 18px;
  background: var(--bone);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  opacity: 0;
  transform: translateX(-50%) translateY(9px);
  transition: opacity 220ms ease, transform 220ms ease;
}

.a-news-card:hover .a-news-visual::after,
.a-news-card.is-featured .a-news-visual::after { opacity: 1; transform: translateX(-50%) translateY(0); }

.a-news-visual img {
  width: 72%;
  height: 64%;
  object-fit: contain;
  transition: transform 320ms ease;
}

.a-news-card:hover .a-news-visual img { transform: scale(1.045); }

.a-news-image-mark {
  position: absolute;
  z-index: 2;
  top: clamp(12px, 1.4vw, 20px);
  left: clamp(12px, 1.4vw, 20px);
  display: grid;
  box-sizing: border-box;
  width: min(44%, 210px);
  min-width: 126px;
  min-height: 48px;
  padding: clamp(8px, .8vw, 11px) clamp(10px, 1vw, 13px);
  border: 1px solid rgba(51, 8, 8, .18);
  background: rgba(247, 242, 234, .94);
  box-shadow: 0 8px 24px rgba(22, 12, 10, .18);
  place-items: center;
  pointer-events: none;
}

.a-news-image-mark img,
.a-news-card:hover .a-news-image-mark img {
  width: 100%;
  height: auto;
  max-height: 54px;
  object-fit: contain;
  transform: none;
  transition: none;
}

.a-news-visual > span {
  position: absolute;
  bottom: 18px;
  left: 20px;
  padding: 6px 8px;
  border: 1px solid currentColor;
  color: rgba(255, 255, 255, 0.88);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.a-news-visual-typographic { background: var(--brand-wash); }
.a-news-visual-typographic img { width: 100%; height: 100%; object-fit: cover; }
.a-news-visual-typographic > span { color: var(--ink); }
.a-news-visual-figure { background: #fff; }
.a-news-visual-figure img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.a-news-visual-figure > span { background: rgba(255, 255, 255, .88); color: var(--ink); }
.a-news-visual-photo { background: var(--panel-dark); }
.a-news-visual-photo img { width: 100%; height: 100%; object-fit: cover; }
.a-news-photo-pair { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.a-news-photo-pair img { min-width: 0; width: 100%; height: 100%; object-fit: cover; }
.a-news-photo-pair img:first-child { object-position: 24% center; }
.a-news-visual-publication { background: var(--brand-gold); }
.a-news-visual-publication img { width: 72%; height: 72%; object-fit: contain; mix-blend-mode: normal; }
.a-news-visual-publication > span { background: rgba(247, 242, 234, .9); color: var(--ink); }
.a-news-visual-tubitak { background: var(--brand-oxblood); }
.a-news-visual-tubitak img { width: 48%; height: 55%; }
.a-news-visual-team { background: var(--brand-crimson); }
.a-news-visual-team img { width: 57%; height: 58%; }
.a-news-visual-journal { background: var(--brand-gold); }
.a-news-visual-journal img { width: 82%; height: 66%; mix-blend-mode: multiply; }
.a-news-visual-journal > span { color: var(--ink); }

html[data-palette="stone"] .publication-card:nth-child(3n + 2) :where(.publication-card-meta, .publication-card-copy > p, .publication-card-copy > footer > span),
html[data-palette="stone"] .join-discipline-grid article:nth-child(even) p { color: #655650; }

.a-news-copy {
  display: flex;
  min-height: 330px;
  flex: 1;
  flex-direction: column;
  padding: 28px clamp(20px, 2vw, 32px) 25px;
}

.a-news-type {
  margin: 0 0 14px;
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.a-news-card h3 {
  margin: 0;
  font-family: "DM Serif Display", serif;
  min-height: 3.24em;
  font-size: clamp(24px, 1.75vw, 32px);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.08;
  transition: color 220ms ease;
}

.a-news-card:hover h3,
.a-news-card.is-featured h3 { color: var(--brand-crimson); }

.a-news-summary {
  margin: 18px 0 28px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.a-news-copy footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.a-news-copy footer span { color: var(--brand-crimson); }

.a-join {
  position: relative;
  padding: 110px 7vw 120px;
  background: var(--ink);
  color: #fff;
  text-align: left;
}
.a-join-copy { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(300px, 1fr) auto; gap: 24px 5vw; align-items: end; }
.a-join .a-section-tag { grid-column: 1 / -1; color: var(--acid); }
.a-join h2 { margin: 0; font-family: "Manrope", sans-serif; font-size: clamp(48px, 6vw, 82px); font-weight: 600; letter-spacing: -0.045em; line-height: 1; }
.a-join-copy > p:not(.a-section-tag) { max-width: 620px; margin: 0; color: rgba(255,255,255,.74); line-height: 1.7; }
.a-join-copy > a { display: inline-flex; gap: 45px; padding: 18px 22px; background: var(--acid); color: var(--ink); font-size: 14px; font-weight: 600; }
.a-join-copy > a span { color: var(--ink); }
.a-join-copy > a:hover { background: #fff; }

/* Official logos — host institution and funders */
.a-partners {
  display: grid;
  grid-template-columns: minmax(180px, auto) 1fr;
  align-items: center;
  gap: 30px clamp(30px, 3vw, 48px);
  padding: 52px max(7vw, var(--safe-right)) max(54px, calc(42px + var(--safe-bottom))) max(7vw, var(--safe-left));
  background: var(--ink);
}

.a-partners-label {
  margin: 0;
  color: rgba(255, 255, 255, .5);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.a-partners-row {
  display: grid;
  /* Logo lockups range from narrow vertical seals to long wordmarks. Giving
     each format an optical column prevents wide marks from being squeezed
     inside the same box used by TÜBİTAK and TÜSEB. */
  grid-template-columns:
    minmax(112px, 1.2fr)
    minmax(42px, .55fr)
    minmax(50px, .65fr)
    minmax(50px, .65fr)
    minmax(96px, 1.15fr)
    minmax(104px, 1.1fr)
    minmax(43px, .55fr)
    minmax(125px, 1.25fr);
  align-items: center;
  gap: clamp(18px, 2.1vw, 38px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.a-partners-row li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 0;
}

/* Sources are a mix of full-colour, white-only, and greyscale marks.
   Knock them all back to a single white weight for the dark band. */
.a-partner-logo {
  display: block;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .74;
  transition: opacity .25s ease;
}

/* Already white artwork — inverting it would erase it. */
.a-partner-logo.is-white-source { filter: none; }

/* Opaque greyscale JPEG: invert, then screen the now-black field into the band. */
.a-partner-logo.is-knockout { filter: grayscale(1) invert(1); mix-blend-mode: screen; }

/* Optical normalization: horizontal wordmarks are width-led; square and
   vertical marks are height-led. Equal pixel heights would make the long
   wordmarks dominate and the narrow institutional seals look undersized. */
.a-logo-ku { width: 112px; height: auto; }
.a-logo-tubitak { height: 42px; }
.a-logo-eu { height: 43px; }
/* The MSCA mark is a solid raster tile, not line art — hold it back so it does
   not out-weigh the knocked-out logos beside it. */
.a-logo-msca { height: 40px; opacity: .6; }
.a-logo-parlar { width: 96px; height: auto; }
.a-logo-british { width: 104px; height: auto; opacity: .72; }
.a-logo-tuseb { height: 43px; }
.a-logo-elginkan { width: 125px; height: auto; }

.a-partners-row li:hover .a-partner-logo { opacity: 1; }

@media (max-width: 1480px) {
  .a-partners { grid-template-columns: 1fr; gap: 26px; }
  .a-partners-row { grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 30px 38px; }
  .a-partners-row li { justify-content: flex-start; }
}

.a-footer {
  display: grid;
  grid-template-columns: 1.5fr 1fr .6fr .8fr;
  gap: 40px;
  padding: 62px max(7vw, var(--safe-right)) max(110px, calc(82px + var(--safe-bottom))) max(7vw, var(--safe-left));
  border-top: 1px solid rgba(255, 255, 255, .12);
  background: var(--ink);
  color: #fff;
}

.a-brand-footer { align-self: start; flex-direction: column; align-items: flex-start; gap: 18px; }
.a-brand-footer .a-brand-logo { height: 42px; }
.a-footer > div:not(.a-brand) { display: flex; flex-direction: column; gap: 8px; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.6; }
.a-footer > div:not(.a-brand) strong { margin-bottom: 8px; color: #fff; font-size: 13px; letter-spacing: .09em; text-transform: uppercase; }
.a-footer a:hover { color: var(--acid); }


@media (max-width: 1050px) {
  .a-partners-row { grid-template-columns: repeat(3, minmax(100px, 1fr)); gap: 28px 34px; }
  .a-nav {
    right: 0;
    width: auto;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .a-nav .a-brand { min-width: 0; }
  .a-nav nav { justify-self: end; }
  .a-nav nav a:not(.a-nav-join) { display: none; }
  .a-nav > nav { display: none; }
  .a-nav .research-mega { display: none; }
  .site-menu-toggle {
    display: grid;
    width: 46px;
    height: 46px;
    justify-self: end;
    padding: 12px 9px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    background: rgba(32,23,25,.18);
    cursor: pointer;
    pointer-events: auto;
  }
  .site-menu-toggle span { display: block; width: 21px; height: 1px; margin: auto; background: #fff; transition: transform .18s ease,opacity .18s ease; }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .site-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-mobile-drawer {
    position: fixed;
    z-index: 88;
    inset: 0;
    display: block;
    padding: max(115px, calc(88px + var(--safe-top))) max(5vw, var(--safe-right)) max(45px, calc(24px + var(--safe-bottom))) max(5vw, var(--safe-left));
    overflow-y: auto;
    background: var(--brand-hero);
    color: #fff;
  }
  .site-mobile-drawer[hidden] { display: none; }
  .site-mobile-drawer > nav { display: block; max-width: 720px; margin: 0 auto; }
  .site-mobile-drawer > nav > a,.mobile-research-disclosure > summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.22); font-family: "IBM Plex Mono",monospace; font-size: 14px; font-weight: 500; letter-spacing: .055em; text-transform: uppercase; }
  .mobile-research-disclosure { border-top: 1px solid rgba(255,255,255,.22); }
  .mobile-research-disclosure > summary { cursor: pointer; list-style: none; }
  .mobile-research-disclosure > summary::-webkit-details-marker { display: none; }
  .mobile-research-disclosure > summary b { color: var(--acid); font-size: 20px; font-weight: 400; transition: transform .18s ease; }
  .mobile-research-disclosure[open] > summary b { transform: rotate(45deg); }
  .mobile-research-disclosure > div { padding: 0 0 18px 20px; }
  .mobile-research-disclosure a { display: grid; min-height: 62px; grid-template-columns: 28px minmax(0,1fr) 20px; gap: 12px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.14); font-family: "IBM Plex Mono",monospace; font-size: 12px; line-height: 1.35; text-transform: uppercase; }
  .mobile-research-disclosure a:first-child { display: flex; justify-content: space-between; color: var(--acid); }
  .mobile-research-disclosure a small { color: var(--acid); }
  .mobile-research-disclosure a span b { display: block; margin-top: 5px; color: rgba(255,255,255,.66); font-family: Manrope,sans-serif; font-size: 13px; font-weight: 400; line-height: 1.5; text-transform: none; }
  .mobile-research-disclosure a i { color: var(--acid); font-style: normal; }
  .site-mobile-drawer a.is-current { color: var(--acid); }
  .site-mobile-drawer a:focus-visible,.mobile-research-disclosure summary:focus-visible { outline: 2px solid var(--acid); outline-offset: 3px; }
  body.site-menu-open { overflow: hidden; }
  .a-koc-header { display: none; }
  .a-hero {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .a-hero-copy {
    min-height: 470px;
    padding: 126px max(5vw, var(--safe-right)) 56px max(5vw, var(--safe-left));
  }
  .a-hero h1 { max-width: 760px; }
  .a-hero-research {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: minmax(250px, auto);
    padding-top: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-left: 0;
  }
  .a-hero-research-row {
    grid-template-columns: 1fr 44px;
    grid-template-rows: 142px minmax(108px, auto);
    border-left: 0;
    border-right: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 0;
  }
  .a-hero-research-row:last-child { border-right: 0; }
  .a-hero-research-images { grid-column: 1 / -1; }
  .a-hero-research-copy { grid-row: 2; padding: 19px 14px 22px 20px; }
  .a-hero-research-copy strong { font-size: clamp(1rem, 2vw, 1.25rem); }
  .a-hero-research-arrow { grid-column: 2; grid-row: 2; margin-right: 10px; }
  .a-news-grid { --news-card-width: 46%; }
  .a-join-copy { grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr); align-items: start; }
  .a-join-copy > a { grid-column: 2; justify-self: start; }

}

@media (max-width: 720px) {
  html { scroll-padding-top: 82px; }

  .a-nav { padding: max(16px, var(--safe-top)) max(20px, var(--safe-right)) 16px max(20px, var(--safe-left)); }
  .a-nav.is-stuck { padding-top: max(12px, var(--safe-top)); padding-bottom: 12px; }
  .a-nav .a-brand small,
  .a-brand-rule { display: none; }
  .a-nav .a-brand-mark,
  .a-nav.is-stuck .a-brand-mark { height: 55px; }
  .a-nav nav { font-size: 13px; }
  .a-pill { padding: 10px 12px; font-size: 13px; }
  .a-pill span { margin-left: 6px; }
  .a-hero { display: block; height: auto; min-height: 0; padding-top: 78px; }
  .a-hero-copy { min-height: 0; padding: 54px 25px 52px; }
  .a-hero h1 {
    max-width: 560px;
    margin-top: 25px;
    font-size: clamp(2.65rem, 12.7vw, 3.75rem);
    letter-spacing: -.055em;
    line-height: 1;
  }
  .a-lede { font-size: 16px; }
  .a-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 30px; }
  .a-hero-research {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, minmax(150px, auto));
  }
  .a-hero-research-row {
    grid-template-columns: 116px minmax(0, 1fr) 48px;
    grid-template-rows: minmax(150px, auto);
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }
  .a-hero-research-row:last-child { border-bottom: 0; }
  .a-hero-research-images { grid-column: 1; grid-row: 1; grid-template-columns: 1fr; }
  .a-hero-research-pane:not(.is-mobile-primary) { display: none; }
  .a-hero-research-copy { grid-column: 2; grid-row: 1; gap: 10px; padding: 20px 14px 20px 20px; }
  .a-hero-research-copy strong { font-size: 18px; line-height: 1.25; }
  .a-hero-research-arrow { grid-column: 3; grid-row: 1; margin-right: 4px; }
  .a-news { padding: 85px 25px 100px; }
  .a-news-head { align-items: start; flex-direction: column; margin-bottom: 38px; }
  .a-news-head h2 { font-size: var(--type-section); }
  .a-news-head-actions { width: 100%; justify-content: space-between; }
  .a-news-head-actions > a { font-size: 12px; }
  .a-news-rail { width: calc(100% + 25px); }
  .a-news-grid { --news-card-width: 88%; padding-right: 25px; }
  .a-news-edge { top: clamp(112px, 34vw, 132px); width: 54px; height: 54px; }
  .a-news-edge span { font-size: 22px; }
  .a-news-edge-prev { left: -14px; }
  .a-news-edge-next { right: 12px; }
  .a-news-copy { min-height: 320px; }
  .a-join { padding: 95px 25px 105px; }
  .a-join-copy { grid-template-columns: 1fr; align-items: start; }
  .a-join .a-section-tag { grid-column: auto; }
  .a-join-copy > a { grid-column: auto; }
  .a-partners { grid-template-columns: 1fr; gap: 22px; padding: 40px max(25px, var(--safe-right)) max(42px, calc(28px + var(--safe-bottom))) max(25px, var(--safe-left)); }
  .a-partners-row { grid-template-columns: repeat(2, minmax(100px, 1fr)); gap: 28px 30px; }
  .a-partners-row li { min-height: 40px; }
  .a-logo-ku { width: 92px; height: auto; }
  .a-logo-tubitak { height: 34px; }
  .a-logo-eu { height: 35px; }
  .a-logo-msca { height: 33px; }
  .a-logo-parlar { width: 79px; height: auto; }
  .a-logo-british { width: 86px; height: auto; }
  .a-logo-tuseb { height: 35px; }
  .a-logo-elginkan { width: 103px; height: auto; }
  .a-footer { grid-template-columns: 1fr 1fr; padding: 60px max(25px, var(--safe-right)) max(110px, calc(80px + var(--safe-bottom))) max(25px, var(--safe-left)); }
  .a-brand-footer { grid-column: 1 / -1; }

}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .a-news-grid { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .skip-link { transition: none; }
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 950px) {
  .site-mobile-drawer {
    padding-top: max(82px, calc(66px + var(--safe-top)));
    padding-bottom: max(24px, calc(14px + var(--safe-bottom)));
  }
  .site-mobile-drawer > nav > a,
  .mobile-research-disclosure > summary,
  .mobile-research-disclosure a { min-height: 50px; }
}
