/* ===== global.css ===== */
/* ==========================================================================
   Ufuk Süleyman Oflaz — tasarım sistemi
   Editoryal serif (Newsreader) × çağdaş grotesk (Inter)
   ========================================================================== */

/* ---- Fontlar: yalnızca latin + latin-ext (Türkçe karakterler) ---------- */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('../fonts/newsreader-latin-opsz-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('../fonts/newsreader-latin-ext-opsz-normal.woff2') format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url('../fonts/newsreader-latin-opsz-italic.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url('../fonts/newsreader-latin-ext-opsz-italic.woff2') format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Tasarım belirteçleri --------------------------------------------- */
:root {
  /* Renk */
  --paper: #f6f2ea;
  --paper-raised: #fbf9f4;
  --paper-deep: #efe8dc;
  --ink: #0d1b2a;
  --ink-soft: #2c3846;
  --muted: #625e57;        /* sıcak gri — kağıt üzerinde 5.4:1 */
  --muted-light: #8c867c;  /* yalnızca dekoratif/büyük metin */
  --rule: #d8cfbf;
  --rule-strong: #b9ad99;
  --accent: #7a211c;
  --accent-deep: #5c1814;
  --accent-wash: #f0e3dc;
  --navy: #0d1b2a;
  --navy-text: #c9cfd6;
  --focus: #7a211c;

  /* Tipografi */
  --font-serif: 'Newsreader', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --fs-xs: 0.75rem;     /* 12 */
  --fs-sm: 0.8125rem;   /* 13 */
  --fs-base: 1rem;      /* 16 */
  --fs-md: 1.0625rem;   /* 17 */
  --fs-lg: 1.25rem;     /* 20 */
  --fs-xl: clamp(1.375rem, 1.1rem + 0.9vw, 1.625rem);
  --fs-2xl: clamp(1.625rem, 1.25rem + 1.4vw, 2.125rem);
  --fs-3xl: clamp(2rem, 1.4rem + 2.2vw, 2.875rem);
  --fs-display: clamp(2.625rem, 1.6rem + 3.9vw, 4.75rem);

  --lh-tight: 1.08;
  --lh-snug: 1.25;
  --lh-body: 1.65;

  --tracking-caps: 0.12em;

  /* Boşluk ölçeği (4 tabanlı) */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4rem;
  --s-9: 6rem;
  --s-10: 8rem;

  --section-y: clamp(4.5rem, 3rem + 6vw, 9rem);

  /* Yerleşim */
  --max: 1280px;
  --gutter: clamp(1rem, 0.4rem + 3vw, 3rem);
  --measure: 720px;
  --header-h: 4.25rem;

  /* Hareket */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 220ms;
}

/* ---- Temel ----------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(var(--header-h) + 1rem);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  font-feature-settings: 'cv11', 'ss01';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: var(--lh-snug);
  letter-spacing: -0.012em;
  margin: 0;
  text-wrap: balance;
  font-optical-sizing: auto;
}

p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }

a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }

::selection { background: var(--accent); color: var(--paper); }

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
  border-radius: 2px;
}

.skip-link {
  position: absolute;
  left: var(--s-4);
  top: -100px;
  z-index: 100;
  background: var(--ink);
  color: var(--paper);
  padding: var(--s-2) var(--s-4);
  font-size: var(--fs-sm);
  text-decoration: none;
}
.skip-link:focus { top: var(--s-4); }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* ---- Yerleşim -------------------------------------------------------- */
.container {
  width: 100%;
  max-width: calc(var(--max) + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section { padding-block: var(--section-y); }
.section + .section { border-top: 1px solid var(--rule); }
.section--flush-top { padding-top: 0; }
.section--deep { background: var(--paper-deep); }
.section--deep + .section { border-top: 0; }

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1rem, 2.4vw, 2.5rem);
}

/* ---- Tipografik yardımcılar ------------------------------------------ */
.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--muted);
}
.eyebrow--accent { color: var(--accent); }

.section-head {
  display: grid;
  gap: var(--s-4);
  margin-bottom: clamp(2.5rem, 2rem + 2vw, 4rem);
}
.section-head h2 { font-size: var(--fs-3xl); line-height: 1.12; }
.section-head__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-5);
  flex-wrap: wrap;
}

.lede {
  font-family: var(--font-serif);
  font-size: var(--fs-xl);
  line-height: 1.45;
  color: var(--ink-soft);
}

.prose-sans { color: var(--ink-soft); max-width: 62ch; }
.prose-sans p + p { margin-top: var(--s-4); }

.serif { font-family: var(--font-serif); }
.muted { color: var(--muted); }
.num {
  font-family: var(--font-serif);
  font-feature-settings: 'lnum', 'tnum';
  color: var(--accent);
}

.dot-list { list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; }
.dot-list li:not(:last-child)::after { content: '·'; padding-inline: 0.55em; color: var(--muted-light); }

/* ---- Bağlantılar ------------------------------------------------------ */
.link {
  color: var(--ink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  padding-bottom: 1px;
  transition: background-size var(--dur) var(--ease), color var(--dur) var(--ease);
}
.link:hover { color: var(--accent); }

.arrow-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45em;
  font-size: var(--fs-base);
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  padding-block: var(--s-1);
  background-image: linear-gradient(var(--rule-strong), var(--rule-strong));
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: color var(--dur) var(--ease), background-image var(--dur) var(--ease);
}
.arrow-link .arr { display: inline-block; transition: transform var(--dur) var(--ease); }
.arrow-link:hover { color: var(--accent); background-image: linear-gradient(var(--accent), var(--accent)); }
.arrow-link:hover .arr { transform: translateX(3px); }

.arrow-link--strong {
  background-image: linear-gradient(var(--ink), var(--ink));
  background-size: 100% 1.5px;
}
.arrow-link--quiet { color: var(--muted); background-image: none; }
.arrow-link--quiet:hover { background-image: none; }

/* ---- Etiketler -------------------------------------------------------- */
.tags { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.tags li {
  font-size: var(--fs-xs);
  letter-spacing: 0.02em;
  color: var(--muted);
  border: 1px solid var(--rule);
  border-radius: 999px;
  padding: 0.15rem 0.6rem;
  line-height: 1.5;
}

/* ---- Yer tutucu göstergesi (yalnızca geliştirme) ---------------------- */
.ph-badge {
  display: inline-block;
  font: 600 10px/1 var(--font-sans);
  letter-spacing: 0.08em;
  color: #8a5a00;
  background: #fff3d1;
  border: 1px dashed #c99a2e;
  padding: 3px 5px;
  border-radius: 3px;
  vertical-align: middle;
  margin-inline-start: 0.4em;
}

/* ---- Bölüm girişi animasyonu (yalnızca JS ve hareket izni varsa) ------ */
@media (prefers-reduced-motion: no-preference) {
  html.js .reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 700ms var(--ease), transform 700ms var(--ease);
  }
  html.js .reveal.is-visible { opacity: 1; transform: none; }
}

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

/* ---- Sayfa başlığı (iç sayfalar) ------------------------------------- */
.page-hero {
  padding-top: clamp(3.5rem, 2rem + 6vw, 7.5rem);
  padding-bottom: clamp(2.5rem, 1.5rem + 4vw, 5rem);
  border-bottom: 1px solid var(--rule);
}
.page-hero h1 {
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
  margin-top: var(--s-4);
}
.page-hero .lede { margin-top: var(--s-5); max-width: 38ch; }

/* ===== Header.astro ===== */
.site-header {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 50;
    background: var(--paper);
    border-bottom: 1px solid transparent;
    transition: border-color var(--dur) var(--ease);
  }
  .site-header.is-scrolled { border-bottom-color: var(--rule); }

  .site-header__inner {
    height: var(--header-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-5);
  }

  .brand {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    letter-spacing: -0.005em;
    color: var(--ink);
    text-decoration: none;
    white-space: nowrap;
  }

  .nav__list {
    list-style: none;
    display: flex;
    gap: clamp(1.25rem, 2.4vw, 2.25rem);
  }

  .nav__link {
    position: relative;
    font-size: var(--fs-sm);
    font-weight: 450;
    letter-spacing: 0.01em;
    color: var(--ink-soft);
    text-decoration: none;
    padding-block: var(--s-2);
    transition: color var(--dur) var(--ease);
  }
  .nav__link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 280ms var(--ease);
  }
  .nav__link:hover { color: var(--ink); }
  .nav__link:hover::after { transform: scaleX(1); }
  .nav__link[aria-current='page'] { color: var(--ink); }
  .nav__link[aria-current='page']::after { transform: scaleX(1); background: var(--accent); }

  .nav__toggle { display: none; }

  @media (max-width: 899px) {
    .nav__toggle {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      margin-right: -10px;
      background: none;
      border: 0;
      color: var(--ink);
      cursor: pointer;
    }
    .nav__bars { display: grid; gap: 7px; width: 22px; }
    .nav__bars span {
      display: block;
      height: 1.5px;
      background: currentColor;
      transition: transform 260ms var(--ease);
    }
    .is-open .nav__bars span:first-child { transform: translateY(4.25px) rotate(45deg); }
    .is-open .nav__bars span:last-child { transform: translateY(-4.25px) rotate(-45deg); }

    .nav__list {
      position: fixed;
      inset: var(--header-h) 0 0 0;
      flex-direction: column;
      gap: 0;
      padding: var(--s-5) var(--gutter) var(--s-8);
      background: var(--paper);
      border-top: 1px solid var(--rule);
      visibility: hidden;
      opacity: 0;
      transform: translateY(-6px);
      transition: opacity 240ms var(--ease), transform 240ms var(--ease), visibility 0s linear 240ms;
    }
    .is-open .nav__list {
      visibility: visible;
      opacity: 1;
      transform: none;
      transition: opacity 240ms var(--ease), transform 240ms var(--ease), visibility 0s;
    }
    .nav__list li { border-bottom: 1px solid var(--rule); }
    .nav__link {
      display: block;
      font-family: var(--font-serif);
      font-size: 1.75rem;
      font-weight: 400;
      letter-spacing: -0.01em;
      padding-block: var(--s-4);
    }
    .nav__link::after { display: none; }
    .nav__link[aria-current='page'] { color: var(--accent); }
  }

  html.nav-open { overflow: hidden; }

/* ===== Footer.astro ===== */
.footer {
    background: var(--navy);
    color: var(--navy-text);
    padding-block: clamp(3.5rem, 2.5rem + 4vw, 5.5rem) var(--s-6);
  }
  .footer__top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--s-6);
    padding-bottom: var(--s-7);
    border-bottom: 1px solid rgba(201, 207, 214, 0.18);
  }
  .footer__name {
    font-family: var(--font-serif);
    font-size: var(--fs-2xl);
    color: #f3efe7;
    line-height: 1.2;
  }
  .footer__line { margin-top: var(--s-2); font-size: var(--fs-sm); letter-spacing: 0.02em; }
  .footer__links { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); }
  .footer a {
    color: #f3efe7;
    text-decoration: none;
    font-size: var(--fs-sm);
    background-image: linear-gradient(rgba(243, 239, 231, 0.35), rgba(243, 239, 231, 0.35));
    background-size: 100% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
    transition: background-image var(--dur) var(--ease);
  }
  .footer a:hover { background-image: linear-gradient(#f3efe7, #f3efe7); }
  .footer a:focus-visible { outline-color: #f3efe7; }
  .footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--s-4);
    padding-top: var(--s-5);
    font-size: var(--fs-xs);
    letter-spacing: 0.02em;
  }
  .footer__bottom ul { list-style: none; display: flex; gap: var(--s-5); }
  .footer__bottom a { font-size: var(--fs-xs); color: var(--navy-text); }

/* ===== Hero.astro ===== */
.hero {
    padding-top: clamp(2rem, 1rem + 4vw, 4.5rem);
    overflow: clip;
  }

  .hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'id' 'portrait' 'body';
  }

  .hero__id { grid-area: id; }
  .hero__portrait { grid-area: portrait; }
  .hero__body { grid-area: body; }

  .hero__name {
    font-size: var(--fs-display);
    line-height: var(--lh-tight);
    letter-spacing: -0.025em;
    font-weight: 400;
    font-variation-settings: 'opsz' 72;
  }

  .hero__title {
    margin-top: var(--s-4);
    font-family: var(--font-serif);
    font-style: italic;
    font-size: var(--fs-2xl);
    line-height: 1.2;
    color: var(--accent);
  }

  .hero__areas {
    font-size: var(--fs-sm);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink);
    padding-top: var(--s-5);
    border-top: 1px solid var(--rule);
  }

  .hero__creds {
    margin-top: var(--s-3);
    font-size: var(--fs-sm);
    color: var(--muted);
    letter-spacing: 0.01em;
  }

  .hero__intro {
    margin-top: var(--s-6);
    font-family: var(--font-serif);
    font-size: var(--fs-xl);
    line-height: 1.5;
    color: var(--ink-soft);
    max-width: 34ch;
  }

  .hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3) var(--s-7);
    margin-top: var(--s-6);
  }

  /* ---- Portre ---------------------------------------------------------- */
  .hero__portrait {
    position: relative;
    isolation: isolate;
    margin-top: var(--s-6);
    margin-bottom: var(--s-6);
  }

  /* Sahne: kağıt tonlu, ışığın üstten geldiği sakin bir zemin.
     Portre sahnenin üst kenarını aşar; böylece yapıştırılmış değil, yerleşmiş görünür. */
  .hero__stage {
    position: absolute;
    inset: 15% 3% 0 3%;
    z-index: -1;
    background:
      radial-gradient(ellipse 60% 42% at 50% 22%, rgba(255, 252, 245, 0.9), rgba(255, 252, 245, 0) 72%),
      linear-gradient(90deg, rgba(255, 255, 255, 0) 0 66%, rgba(255, 252, 244, 0.28) 66% 80%, rgba(255, 255, 255, 0) 80%),
      linear-gradient(180deg, #ebe3d5 0%, #e3d8c6 55%, #d9ccb6 100%);
  }
  .hero__stage::after {
    /* İnce iç çerçeve — basılı yayın kenar boşluğu hissi */
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255, 252, 245, 0.6);
    pointer-events: none;
  }

  .hero__portrait picture,
  .hero__portrait .hero__img {
    display: block;
    width: 100%;
    height: auto;
  }
  .hero__portrait .hero__img {
    filter: drop-shadow(0 16px 28px rgba(13, 27, 42, 0.1));
  }

  @media (max-width: 899px) {
    .hero__portrait { max-width: 440px; width: 100%; margin-inline: auto; }
  }

  @media (min-width: 900px) {
    .hero__grid {
      grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
      grid-template-rows: auto 1fr;
      grid-template-areas:
        'id portrait'
        'body portrait';
      column-gap: clamp(2rem, 6vw, 6rem);
    }
    .hero__id { align-self: end; padding-top: clamp(3rem, 9vh, 7rem); }
    .hero__body { padding-top: var(--s-6); padding-bottom: clamp(3rem, 8vh, 6rem); }
    .hero__portrait {
      margin: 0;
      align-self: end;
      max-width: 520px;
      justify-self: end;
      width: 100%;
    }
  }

/* ===== WorkAreasGrid.astro ===== */
.areas {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--ink);
  }
  .area {
    padding: var(--s-5) clamp(1rem, 2vw, 2rem) var(--s-4) 0;
    display: grid;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    gap: var(--s-3);
  }
  .area + .area { padding-left: clamp(1rem, 2vw, 2rem); border-left: 1px solid var(--rule); }
  .area__no { font-size: 1.125rem; }
  .area__title { font-size: var(--fs-xl); line-height: 1.2; }
  .area__title a { text-decoration: none; background-image: linear-gradient(var(--accent), var(--accent)); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size 320ms var(--ease), color var(--dur) var(--ease); }
  .area__title a:hover { color: var(--accent); background-size: 100% 1px; }
  .area__text { font-size: var(--fs-base); color: var(--ink-soft); line-height: 1.6; }

  @media (max-width: 999px) {
    .areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .area:nth-child(3) { padding-left: 0; border-left: 0; }
    .area:nth-child(n + 3) { border-top: 1px solid var(--rule); }
  }
  @media (max-width: 599px) {
    .areas { grid-template-columns: minmax(0, 1fr); }
    .area, .area + .area {
      padding: var(--s-5) 0;
      border-left: 0;
      grid-template-columns: 2.5rem 1fr;
      grid-template-rows: auto;
      column-gap: var(--s-3);
    }
    .area + .area { border-top: 1px solid var(--rule); }
    .area__no { grid-row: span 2; padding-top: 0.2rem; }
  }

/* ===== ExperienceList.astro ===== */
.exp {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--rule);
  }
  .exp__item {
    padding: var(--s-6) clamp(1rem, 2vw, 2rem) var(--s-4) 0;
    display: grid;
    grid-template-rows: 88px auto;
    gap: var(--s-5);
  }
  .exp__item + .exp__item { padding-left: clamp(1rem, 2vw, 2rem); border-left: 1px solid var(--rule); }
  .exp__logo { display: flex; align-items: center; }
  .exp__logo img { max-width: 100%; object-fit: contain; object-position: left center; }
  .exp__company { font-size: var(--fs-lg); line-height: 1.25; }
  .exp__role { margin-top: var(--s-1); }
  .exp__summary { margin-top: var(--s-3); font-size: var(--fs-base); color: var(--ink-soft); line-height: 1.6; }

  @media (max-width: 999px) {
    .exp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .exp__item:nth-child(3) { padding-left: 0; border-left: 0; }
    .exp__item:nth-child(n + 3) { border-top: 1px solid var(--rule); }
  }
  @media (max-width: 599px) {
    .exp { grid-template-columns: minmax(0, 1fr); }
    .exp__item,
    .exp__item + .exp__item {
      padding: var(--s-5) 0;
      border-left: 0;
      grid-template-columns: 112px 1fr;
      grid-template-rows: auto;
      gap: var(--s-5);
      align-items: start;
    }
    .exp__item + .exp__item { border-top: 1px solid var(--rule); }
    .exp__logo { align-items: flex-start; padding-top: 0.35rem; }
    .exp__logo img { max-height: 40px; }
  }

/* ===== EducationBand.astro ===== */
.edu { padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem); }
  .edu__grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 2fr);
    gap: var(--s-6) clamp(2rem, 4vw, 4rem);
    align-items: start;
  }
  .edu__title { font-size: var(--fs-3xl); margin-top: var(--s-3); }
  .edu__thread {
    margin-top: var(--s-4);
    font-family: var(--font-serif);
    font-style: italic;
    font-size: var(--fs-lg);
    color: var(--ink-soft);
  }
  .edu__more { margin-top: var(--s-6); }

  .edu__list { list-style: none; border-top: 1px solid var(--ink); }
  .edu__list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--s-4);
    padding: var(--s-3) 0;
    border-bottom: 1px solid var(--rule-strong);
    font-size: var(--fs-base);
  }
  .edu__inst { color: var(--muted); }
  .edu__prog { font-family: var(--font-serif); font-size: var(--fs-lg); line-height: 1.35; }
  .edu__level { font-style: italic; color: var(--ink-soft); }

  .edu__creds ul { list-style: none; margin-top: var(--s-3); display: grid; gap: var(--s-2); }
  .edu__creds abbr {
    font-family: var(--font-serif);
    font-size: var(--fs-2xl);
    letter-spacing: 0.04em;
    text-decoration: none;
    color: var(--ink);
    cursor: help;
  }

  @media (max-width: 999px) {
    .edu__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .edu__list { grid-column: 1 / -1; grid-row: 2; }
    .edu__creds { grid-column: 2; grid-row: 1; }
  }
  @media (max-width: 599px) {
    .edu__grid { grid-template-columns: minmax(0, 1fr); }
    .edu__list, .edu__creds { grid-column: auto; grid-row: auto; }
    .edu__list li { grid-template-columns: 1fr; gap: 0; }
    .edu__creds ul { display: flex; gap: var(--s-5); }
  }

/* ===== ProjectCard.astro ===== */
.pcard { position: relative; display: grid; gap: var(--s-5); align-content: start; }
  .pcard__media { display: block; text-decoration: none; }
  .pcard__meta { display: flex; align-items: baseline; gap: var(--s-3); }
  .pcard__meta .num { font-size: 1.125rem; }
  .pcard__title { font-size: var(--fs-2xl); line-height: 1.15; margin-top: var(--s-2); }
  .pcard__title a { text-decoration: none; }
  .pcard__title a::after { content: ''; position: absolute; inset: 0; }
  .pcard__title a:focus-visible { outline: none; }
  .pcard:has(.pcard__title a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 6px; }
  .pcard:hover .pcard__title a { color: var(--accent); }
  .pcard__summary { margin-top: var(--s-3); color: var(--ink-soft); font-size: var(--fs-base); max-width: 56ch; }
  .pcard .tags { margin-top: var(--s-4); }

  @media (min-width: 900px) {
    .pcard--wide { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(2rem, 4vw, 4rem); align-items: end; }
    .pcard--wide .pcard__title { font-size: var(--fs-3xl); }
    .pcard--wide .pcard__body { padding-bottom: var(--s-4); }
  }

/* ===== ArticleItem.astro ===== */
.ai { position: relative; display: grid; gap: var(--s-2); }
  .ai__title { font-size: var(--fs-xl); line-height: 1.2; }
  .ai__title a { text-decoration: none; transition: color var(--dur) var(--ease); }
  .ai__title a::after { content: ''; position: absolute; inset: 0; }
  .ai:hover .ai__title a { color: var(--accent); }
  .ai__deck { color: var(--ink-soft); font-size: var(--fs-base); line-height: 1.6; max-width: 60ch; }
  .ai__meta { font-size: var(--fs-xs); letter-spacing: 0.03em; color: var(--muted); margin-top: var(--s-1); }

  .ai--lead .ai__title { font-size: var(--fs-3xl); line-height: 1.1; letter-spacing: -0.018em; }
  .ai--lead .ai__deck { font-family: var(--font-serif); font-size: var(--fs-lg); line-height: 1.5; margin-top: var(--s-2); }
  .ai--lead { gap: var(--s-3); }

  .ai--compact .ai__title { font-size: var(--fs-lg); }

/* ===== ArticleIndex.astro ===== */
.art-cats { padding-block: var(--s-5); border-bottom: 1px solid var(--rule); }
  .art-cats ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
  .art-cats a {
    font-size: var(--fs-sm);
    color: var(--muted);
    text-decoration: none;
    padding-block: var(--s-1);
    border-bottom: 1px solid transparent;
    transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .art-cats a:hover { color: var(--ink); }
  .art-cats a[aria-current='page'] { color: var(--ink); border-bottom-color: var(--accent); }

  .art-index { list-style: none; padding-bottom: var(--section-y); }
  .art-index__item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
    gap: var(--s-6);
    padding: clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem) 0;
    border-bottom: 1px solid var(--rule);
  }
  .art-index__meta { display: grid; gap: var(--s-2); align-content: start; padding-top: 0.45rem; }
  .art-index__time { font-size: var(--fs-xs); color: var(--muted); letter-spacing: 0.03em; }
  .art-index__title { font-size: var(--fs-2xl); line-height: 1.15; }
  .art-index__title a { text-decoration: none; transition: color var(--dur) var(--ease); }
  .art-index__title a::after { content: ''; position: absolute; inset: 0; }
  .art-index__item:hover .art-index__title a { color: var(--accent); }
  .art-index__deck { margin-top: var(--s-3); color: var(--ink-soft); max-width: 62ch; font-size: var(--fs-base); line-height: 1.65; }
  .art-empty { padding-block: var(--s-8) var(--section-y); }

  @media (max-width: 699px) {
    .art-index__item { grid-template-columns: 1fr; gap: var(--s-2); }
    .art-index__meta { padding-top: 0; grid-auto-flow: column; justify-content: space-between; }
  }

/* ===== index.astro ===== */
/* Açılış ifadesi */
  .statement { padding-block: clamp(4.5rem, 3rem + 6vw, 8.5rem); border-top: 1px solid var(--rule); }
  .statement__label { grid-column: 1 / span 2; padding-top: 0.9rem; }
  .statement__title {
    grid-column: 3 / span 9;
    font-size: var(--fs-3xl);
    line-height: 1.14;
    letter-spacing: -0.018em;
  }
  .statement__text {
    grid-column: 7 / span 5;
    margin-top: var(--s-6);
    color: var(--ink-soft);
    font-size: var(--fs-md);
    line-height: 1.7;
  }

  .section-head__sub { max-width: 58ch; font-size: var(--fs-base); }

  /* Projeler */
  .projects { display: grid; gap: clamp(3.5rem, 2rem + 4vw, 6rem); }
  .projects__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }

  /* Yazılar */
  .writing { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--ink); padding-top: var(--s-6); }
  .writing__list { list-style: none; border-left: 1px solid var(--rule); padding-left: clamp(1.5rem, 3vw, 3rem); }
  .writing__list li + li { margin-top: var(--s-5); padding-top: var(--s-5); border-top: 1px solid var(--rule); }

  /* Kapanış */
  .closing__title { grid-column: 1 / span 4; font-size: var(--fs-3xl); }
  .closing__body { grid-column: 6 / span 7; display: grid; gap: var(--s-5); justify-items: start; }
  .closing__note { font-size: var(--fs-base); }

  @media (max-width: 899px) {
    .statement__label, .statement__title, .statement__text, .closing__title, .closing__body { grid-column: 1 / -1; }
    .statement__label { padding-top: 0; margin-bottom: var(--s-4); }
    .closing__title { margin-bottom: var(--s-5); }
    .projects__pair { grid-template-columns: minmax(0, 1fr); gap: clamp(3.5rem, 2rem + 4vw, 6rem); }
    .writing { grid-template-columns: minmax(0, 1fr); }
    .writing__list { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule); padding-top: var(--s-5); }
  }

/* ===== hakkimda.astro ===== */
.about-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-7);
    padding-top: clamp(3rem, 2rem + 5vw, 6.5rem);
    padding-bottom: clamp(3rem, 2rem + 4vw, 5rem);
  }
  .about-hero h1 { font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: -0.02em; margin-top: var(--s-3); }
  .about-hero__intro { margin-top: var(--s-6); display: grid; gap: var(--s-4); max-width: 60ch; color: var(--ink-soft); }
  .about-hero__intro .lede { color: var(--ink); }
  .about-hero__portrait { position: relative; isolation: isolate; max-width: 340px; width: 80%; justify-self: center; }
  .about-hero__stage {
    position: absolute; inset: 15% 3% 0 3%; z-index: -1;
    background:
      radial-gradient(ellipse 60% 42% at 50% 22%, rgba(255, 252, 245, 0.9), rgba(255, 252, 245, 0) 72%),
      linear-gradient(180deg, #ebe3d5 0%, #e3d8c6 55%, #d9ccb6 100%);
  }
  .about-hero__portrait img { width: 100%; height: auto; }

  @media (min-width: 900px) {
    .about-hero { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(3rem, 6vw, 6rem); align-items: end; }
    .about-hero__portrait { width: 100%; justify-self: end; margin-bottom: calc(-1 * clamp(3rem, 2rem + 4vw, 5rem)); }
  }
  .about-hero-wrap { border-bottom: 1px solid var(--rule); overflow: clip; }

  .h-section { font-size: var(--fs-3xl); line-height: 1.12; }

  .perspective__title { grid-column: 1 / span 5; font-size: var(--fs-3xl); line-height: 1.12; }
  .perspective__body { grid-column: 7 / span 6; font-size: var(--fs-md); line-height: 1.75; }

  .edu-col { grid-column: 1 / span 7; }
  .cred-col { grid-column: 9 / span 4; }
  .edu-full { list-style: none; margin-top: var(--s-6); border-top: 1px solid var(--ink); }
  .edu-full li { padding: var(--s-4) 0; border-bottom: 1px solid var(--rule-strong); }
  .edu-full__prog { font-family: var(--font-serif); font-size: var(--fs-xl); line-height: 1.3; }
  .edu-full__prog span { font-style: italic; color: var(--ink-soft); }
  .edu-full__inst { font-size: var(--fs-sm); color: var(--muted); margin-top: var(--s-1); }

  .creds { margin: var(--s-6) 0 0; border-top: 1px solid var(--ink); }
  .creds div { padding: var(--s-4) 0; border-bottom: 1px solid var(--rule-strong); }
  .creds dt { font-family: var(--font-serif); font-size: var(--fs-2xl); letter-spacing: 0.03em; line-height: 1.2; }
  .creds dd { margin: var(--s-1) 0 0; font-size: var(--fs-sm); color: var(--muted); }

  .principles { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 3rem); border-top: 1px solid var(--ink); }
  .principles li { padding: var(--s-5) 0 var(--s-6); border-bottom: 1px solid var(--rule); display: grid; gap: var(--s-2); align-content: start; }
  .principles h3 { font-size: var(--fs-xl); }
  .principles p { font-size: var(--fs-base); color: var(--ink-soft); line-height: 1.65; }

  .curious__head { grid-column: 1 / span 4; }
  .curious__intro { margin-top: var(--s-5); font-size: var(--fs-base); max-width: 42ch; }
  .curious__list { grid-column: 6 / span 7; list-style: none; border-top: 1px solid var(--ink); }
  .curious__list li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-5); padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
  .curious__list .serif { font-size: var(--fs-lg); line-height: 1.3; }
  .curious__list .muted { font-size: var(--fs-sm); line-height: 1.55; }

  @media (max-width: 899px) {
    .perspective__title, .perspective__body, .edu-col, .cred-col, .curious__head, .curious__list { grid-column: 1 / -1; }
    .perspective__body, .curious__list { margin-top: var(--s-6); }
    .cred-col { margin-top: var(--s-8); }
    .principles { grid-template-columns: minmax(0, 1fr); }
    .curious__list li { grid-template-columns: 1fr; gap: var(--s-1); }
  }
  @media (min-width: 600px) and (max-width: 899px) {
    .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

/* ===== calisma-alanlari.astro ===== */
.ph-text { grid-column: 1 / span 7; }
  .ph-text .lede { max-width: 44ch; }
  .relmap { grid-column: 9 / span 4; margin: 0; align-self: center; }
  .relmap svg { width: 100%; height: auto; overflow: visible; }
  .rm-c { font-family: var(--font-serif); font-style: italic; font-size: 17px; fill: #0d1b2a; }
  .rm-t { font-family: var(--font-sans); font-size: 12.5px; fill: #0d1b2a; letter-spacing: 0.02em; }
  .rm-n { fill: #7a211c; font-family: var(--font-serif); }

  .area-nav { padding-block: var(--s-5); border-bottom: 1px solid var(--rule); }
  .area-nav ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-7); }
  .area-nav a { text-decoration: none; font-size: var(--fs-sm); color: var(--ink-soft); }
  .area-nav a:hover { color: var(--accent); }
  .area-nav .num { margin-right: 0.3em; }

  .area-sec__head { grid-column: 1 / span 4; align-self: start; position: sticky; top: calc(var(--header-h) + 2rem); }
  .area-sec__no { font-size: var(--fs-xl); display: block; margin-bottom: var(--s-3); }
  .area-sec__head h2 { font-size: var(--fs-3xl); line-height: 1.1; }
  .area-sec__body { grid-column: 6 / span 7; }
  .area-sec__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); margin-top: var(--s-7); }
  .area-sec__cols h3, .area-sec__rel h3 { margin-bottom: var(--s-3); }

  .plain-list { list-style: none; border-top: 1px solid var(--rule); }
  .plain-list li { padding: var(--s-2) 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-base); color: var(--ink-soft); line-height: 1.5; }
  .q-list { list-style: none; display: grid; gap: var(--s-4); border-top: 1px solid var(--rule); padding-top: var(--s-3); }
  .q-list li { font-family: var(--font-serif); font-style: italic; font-size: var(--fs-lg); line-height: 1.4; color: var(--ink); }

  .area-sec__rel { margin-top: var(--s-7); }
  .area-sec__rel dl { margin: 0; display: grid; gap: var(--s-3); }
  .area-sec__rel div { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--rule); }
  .area-sec__rel dt { font-weight: 500; font-size: var(--fs-sm); }
  .area-sec__rel dd { margin: 0; color: var(--ink-soft); font-size: var(--fs-base); line-height: 1.6; }

  .area-sec__proj { margin-top: var(--s-6); display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); align-items: baseline; }
  .area-sec__proj .eyebrow { flex-basis: 100%; }
  .area-sec__proj a { font-size: var(--fs-base); }

  .pn__text { grid-column: 1 / span 8; font-family: var(--font-serif); font-size: var(--fs-2xl); line-height: 1.35; }
  .pn__cta { grid-column: 1 / span 4; margin-top: var(--s-6); justify-self: start; }

  @media (max-width: 899px) {
    .ph-text, .relmap, .area-sec__head, .area-sec__body, .pn__text, .pn__cta { grid-column: 1 / -1; }
    .relmap { max-width: 380px; margin-top: var(--s-7); }
    .area-sec__head { position: static; margin-bottom: var(--s-6); }
  }
  @media (max-width: 599px) {
    .area-sec__cols { grid-template-columns: minmax(0, 1fr); }
    .area-sec__rel div { grid-template-columns: 1fr; gap: var(--s-1); }
  }

/* ===== index.astro ===== */
.plist { display: grid; }
  .plist__item { padding-block: clamp(3rem, 2rem + 4vw, 5.5rem); }
  .plist__item + .plist__item { border-top: 1px solid var(--rule); }
  .plist__note { font-size: var(--fs-xs); letter-spacing: 0.03em; padding-bottom: var(--s-9); }

/* ===== [slug].astro ===== */
.proj-hero { padding-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); padding-bottom: var(--s-7); }
  .proj-hero .back { font-size: var(--fs-sm); }
  .proj-hero__meta { display: flex; gap: var(--s-3); align-items: baseline; margin-top: var(--s-7); }
  .proj-hero__meta .num { font-size: 1.25rem; }
  .proj-hero h1 { font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: -0.02em; margin-top: var(--s-3); max-width: 18ch; }
  .proj-hero .lede { margin-top: var(--s-5); max-width: 46ch; }
  .proj-hero .tags { margin-top: var(--s-5); }

  .proj-shot { padding-bottom: var(--s-8); }

  .proj-body { padding-block: var(--s-8) var(--section-y); border-top: 1px solid var(--rule); }
  .proj-aside { grid-column: 1 / span 3; }
  .proj-aside dl { margin: 0; display: grid; gap: var(--s-6); position: sticky; top: calc(var(--header-h) + 2rem); }
  .proj-aside dd { margin: var(--s-2) 0 0; }
  .proj-aside ul { list-style: none; display: grid; gap: var(--s-1); font-size: var(--fs-sm); color: var(--ink-soft); }

  .proj-main { grid-column: 5 / span 7; display: grid; gap: var(--s-8); }
  .proj-main h2 { font-size: var(--fs-2xl); margin-bottom: var(--s-4); }
  .proj-main p { color: var(--ink-soft); font-size: var(--fs-md); line-height: 1.75; }

  .proj-main .steps { list-style: none; counter-reset: s; display: grid; border-top: 1px solid var(--ink); }
  .proj-main .steps li { counter-increment: s; display: grid; grid-template-columns: 2.5rem 1fr; padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); color: var(--ink-soft); line-height: 1.65; }
  .proj-main .steps li::before { content: counter(s, decimal-leading-zero); font-family: var(--font-serif); color: var(--accent); }

  .proj-main .caps { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-6); border-top: 1px solid var(--ink); }
  .proj-main .caps li { padding: var(--s-3) 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-base); color: var(--ink-soft); }

  .shots { display: grid; gap: var(--s-7); padding-bottom: var(--section-y); }
  .shots figcaption { margin-top: var(--s-3); font-size: var(--fs-xs); color: var(--muted); }

  .proj-nav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-6); padding-block: var(--s-7) var(--s-9); border-top: 1px solid var(--rule); }
  .proj-nav__link { display: grid; gap: var(--s-2); text-decoration: none; }
  .proj-nav__link .serif { font-size: var(--fs-xl); line-height: 1.25; transition: color var(--dur) var(--ease); }
  .proj-nav__link:hover .serif { color: var(--accent); }
  .proj-nav__link--next { text-align: right; justify-items: end; }

  @media (max-width: 899px) {
    .proj-aside, .proj-main { grid-column: 1 / -1; }
    .proj-aside { margin-bottom: var(--s-7); }
    .proj-aside dl { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 599px) {
    .proj-main .caps { grid-template-columns: 1fr; }
    .proj-nav { grid-template-columns: 1fr; }
    .proj-nav__link--next { text-align: left; justify-items: start; }
  }

/* ===== [slug].astro ===== */
.article__head {
    max-width: calc(var(--measure) + 2 * var(--gutter));
    padding-top: clamp(3rem, 2rem + 5vw, 6rem);
    padding-bottom: var(--s-7);
    text-align: left;
  }
  .cat-link { text-decoration: none; }
  .cat-link:hover { text-decoration: underline; }
  .article__head h1 {
    margin-top: var(--s-4);
    font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
  }
  .article__deck {
    margin-top: var(--s-5);
    font-family: var(--font-serif);
    font-size: var(--fs-xl);
    line-height: 1.45;
    color: var(--ink-soft);
  }
  .article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin-top: var(--s-6);
    padding-top: var(--s-4);
    border-top: 1px solid var(--rule);
    font-size: var(--fs-sm);
    color: var(--muted);
  }

  /* ---- Makale gövdesi -------------------------------------------------- */
  .prose {
    max-width: var(--measure);
    margin-inline: auto;
    font-family: var(--font-serif);
    font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
    line-height: 1.7;
    color: var(--ink);
    font-optical-sizing: auto;
    hanging-punctuation: first;
  }
  .prose p { margin-top: 1.1em; }
  .prose > p:first-child::first-letter {
    float: left;
    font-size: 3.35em;
    line-height: 0.8;
    padding: 0.1em 0.09em 0 0;
    color: var(--accent);
  }
  .prose h2 {
    margin-top: 2.2em;
    font-size: 1.55em;
    line-height: 1.2;
    letter-spacing: -0.01em;
  }
  .prose h3 { margin-top: 1.8em; font-size: 1.2em; }
  .prose ul, .prose ol { margin-top: 1.1em; padding-left: 1.2em; }
  .prose li { margin-top: 0.4em; padding-left: 0.2em; }
  .prose li::marker { color: var(--accent); }
  .prose strong { font-weight: 600; }
  .prose a { color: var(--accent); }
  .prose em { font-style: italic; }

  .prose .pullquote {
    margin: 2em 0;
    padding: 0.4em 0 0.4em 1.2em;
    border-left: 2px solid var(--accent);
  }
  .prose .pullquote p {
    margin: 0;
    font-size: 1.4em;
    line-height: 1.32;
    font-style: italic;
    letter-spacing: -0.01em;
    color: var(--ink);
  }
  @media (min-width: 1100px) {
    .prose .pullquote {
      margin-inline: -4rem 0;
      padding-left: 1.6em;
    }
  }

  .prose blockquote { margin: 1.6em 0; padding-left: 1.2em; border-left: 1px solid var(--rule-strong); color: var(--ink-soft); font-style: italic; }

  .prose .table-scroll,
  .prose .wp-block-table {
    margin: 1.8em 0 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .prose .table-scroll:focus-visible { outline: 2px solid var(--accent, currentColor); outline-offset: 4px; }
  .prose .table-scroll > table,
  .prose .wp-block-table > table { margin-top: 0; }
  .prose table {
    width: 100%;
    margin-top: 1.8em;
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: 0.78em;
    line-height: 1.45;
    font-feature-settings: 'tnum', 'lnum';
  }
  .prose thead th { font-weight: 500; text-align: left; color: var(--muted); border-bottom: 1px solid var(--ink); padding: 0.6em 0.75em; }
  .prose th[align='right'], .prose td[align='right'] { text-align: right; }
  .prose td { padding: 0.6em 0.75em; border-bottom: 1px solid var(--rule); }
  .prose th:first-child, .prose td:first-child { padding-left: 0; }
  .prose th:last-child, .prose td:last-child { padding-right: 0; }
  .prose tr:last-child td { border-bottom: 1px solid var(--ink); }

  .prose sup a {
    font-family: var(--font-sans);
    font-size: 0.7em;
    font-weight: 600;
    text-decoration: none;
    padding: 0 0.15em;
  }
  .prose .footnotes {
    margin-top: 3em;
    padding-top: 1.2em;
    border-top: 1px solid var(--rule);
    font-family: var(--font-sans);
    font-size: 0.75em;
    line-height: 1.6;
    color: var(--muted);
  }
  .prose .footnotes h2 {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: var(--tracking-caps);
    text-transform: uppercase;
    color: var(--muted);
  }
  .prose .footnotes ol { padding-left: 1.2em; }
  .prose .footnotes p { margin-top: 0.3em; }
  .prose .data-footnote-backref { text-decoration: none; }

  /* ---- Yazar kutusu --------------------------------------------------- */
  .author {
    max-width: var(--measure);
    margin: var(--s-8) auto var(--s-9);
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: var(--s-5);
    align-items: center;
    padding: var(--s-5) 0;
    border-top: 1px solid var(--ink);
    border-bottom: 1px solid var(--rule);
  }
  .author__img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(180deg, #ebe3d5, #ddd0bb);
  }
  /* Portreden yüze yakın kırpım: görsel büyütülüp yüz merkeze alınır */
  .author__img img { width: 220%; max-width: none; height: auto; margin-left: -65%; margin-top: 4%; }
.author__img img.is-custom { width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: 50% 20%; }
  .author__name { font-family: var(--font-serif); font-size: var(--fs-xl); line-height: 1.2; margin-top: var(--s-1); }
  .author__name a { text-decoration: none; }
  .author__name a:hover { color: var(--accent); }
  .author__desc { font-size: var(--fs-sm); color: var(--muted); margin-top: var(--s-1); }

  .related { background: var(--paper-deep); border-top: 0; }
  .related__head { margin-bottom: var(--s-6); }
  .related__head h2 { font-size: var(--fs-2xl); }
  .related__list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); border-top: 1px solid var(--ink); padding-top: var(--s-5); }
  @media (max-width: 899px) { .related__list { grid-template-columns: 1fr; } }

/* ===== iletisim.astro ===== */
.contact { padding-top: clamp(3rem, 2rem + 5vw, 6.5rem); padding-bottom: var(--section-y); row-gap: var(--s-8); }
  .contact__head { grid-column: 1 / span 5; }
  .contact__head h1 { font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: -0.02em; margin-top: var(--s-3); }
  .contact__head .lede { margin-top: var(--s-5); }

  .methods { list-style: none; margin-top: var(--s-7); border-top: 1px solid var(--ink); }
  .methods li { display: grid; grid-template-columns: 8rem 1fr auto; align-items: baseline; gap: var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); }
  .methods .link { font-size: var(--fs-base); justify-self: start; }

  .contact__form { grid-column: 7 / span 6; }
  .form-title { font-size: var(--fs-2xl); margin-bottom: var(--s-5); }
  .dev-note { font-size: var(--fs-xs); color: var(--muted); margin-bottom: var(--s-5); }
  .dev-note code { font-size: 0.95em; }

  .contact-form { display: grid; gap: var(--s-5); }
  .contact-form .field { display: grid; gap: var(--s-2); }
  .contact-form label { font-size: var(--fs-sm); font-weight: 500; color: var(--ink); }
  .contact-form .opt { font-weight: 400; color: var(--muted); }
  .contact-form input, .contact-form textarea {
    font: inherit;
    font-size: var(--fs-md);
    color: var(--ink);
    background: var(--paper-raised);
    border: 1px solid var(--rule-strong);
    border-radius: 2px;
    padding: 0.75rem 0.875rem;
    transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  }
  .contact-form textarea { resize: vertical; min-height: 9rem; line-height: 1.55; }
  .contact-form input:hover, .contact-form textarea:hover { border-color: var(--muted-light); }
  .contact-form input:focus-visible, .contact-form textarea:focus-visible { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(122, 33, 28, 0.18); }
  .contact-form [aria-invalid='true'] { border-color: var(--accent); }

  .form-error { font-size: var(--fs-sm); color: var(--accent); }
  .form-status { font-size: var(--fs-sm); color: var(--ink-soft); min-height: 0; }
  .form-status:empty { display: none; }

  .contact-form .submit {
    justify-self: start;
    font: inherit;
    font-size: var(--fs-base);
    font-weight: 500;
    color: var(--paper);
    background: var(--ink);
    border: 1px solid var(--ink);
    border-radius: 2px;
    padding: 0.7rem 1.4rem;
    cursor: pointer;
    transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .contact-form .submit:hover { background: var(--accent); border-color: var(--accent); }
  .contact-form .privacy { font-size: var(--fs-xs); color: var(--muted); max-width: 52ch; }

  @media (max-width: 899px) {
    .contact__head, .contact__form { grid-column: 1 / -1; }
    .methods li { grid-template-columns: 1fr auto; }
    .methods .eyebrow { grid-column: 1 / -1; }
  }

/* ===== ProseLayout.astro ===== */
.legal { max-width: var(--measure); padding-block: var(--s-8) var(--section-y); font-size: var(--fs-md); line-height: 1.75; }
  .legal h2 { font-size: var(--fs-xl); margin-top: var(--s-7); margin-bottom: var(--s-3); color: var(--ink); }
  .legal ul { padding-left: 1.2em; margin-top: var(--s-3); }
  .legal li + li { margin-top: var(--s-2); }

/* ===== 404.astro ===== */
.nf { padding-block: clamp(5rem, 4rem + 8vw, 10rem); display: grid; gap: var(--s-5); justify-items: start; }
  .nf h1 { font-size: var(--fs-3xl); max-width: 20ch; }

/* ===== BaseLayout.astro ===== */
main:focus { outline: none; }


/* ===== WordPress'e özgü eklemeler ===== */

/* Dil seçici */
.nav__lang { display: flex; align-items: center; }
.lang-switch {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3em;
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--muted);
  text-decoration: none;
  padding: var(--s-2) 0 var(--s-2) var(--s-4);
  border-left: 1px solid var(--rule);
}
.lang-switch__item.is-current { color: var(--ink); }
.lang-switch__sep { color: var(--rule-strong); }
.lang-switch:hover .lang-switch__item:not(.is-current) { color: var(--accent); }
@media (max-width: 899px) {
  .nav__list { inset: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px)) 0 0 0; }
  .nav__lang { border-bottom: 0 !important; padding-top: var(--s-5); }
  .lang-switch { border-left: 0; padding-left: 0; font-size: var(--fs-sm); }
}

/* Form bildirimleri ve bal küpü */
.form-notice { font-size: var(--fs-sm); padding: var(--s-3) var(--s-4); margin-bottom: var(--s-5); border-left: 2px solid; }
.form-notice--ok { color: #2f5a40; border-color: #3d6b4f; background: #edf2ec; }
.form-notice--err { color: var(--accent); border-color: var(--accent); background: var(--accent-wash); }
.contact-form .hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Ekran okuyucu (WordPress çekirdeği) */
.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; }

/* Portre <picture> */
.hero__portrait picture, .about-hero__portrait picture { display: block; }

/* Yazı içi WordPress içerikleri */
.prose img { max-width: 100%; height: auto; margin-top: 1.6em; }
.prose figure { margin: 1.8em 0 0; }
.prose figcaption, .prose .wp-element-caption { font-family: var(--font-sans); font-size: var(--fs-xs); color: var(--muted); margin-top: var(--s-2); }
.prose .wp-block-quote, .prose blockquote { margin: 1.6em 0; padding-left: 1.2em; border-left: 1px solid var(--rule-strong); color: var(--ink-soft); font-style: italic; }
.prose .wp-block-pullquote { margin: 2em 0; padding: 0.4em 0 0.4em 1.2em; border: 0; border-left: 2px solid var(--accent); text-align: left; }
.prose .wp-block-pullquote blockquote { border: 0; padding: 0; margin: 0; font-size: 1.4em; line-height: 1.32; color: var(--ink); }
.prose hr { border: 0; border-top: 1px solid var(--rule); margin: 2.4em 0; }
.page-prose { padding-block: var(--s-8) var(--section-y); }
.shots img { width: 100%; height: auto; }
.author__img img { width: 220%; max-width: none; height: auto; margin-left: -65%; margin-top: 4%; }
.author__img img.is-custom { width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: 50% 20%; }


/* ===== Otorite mimarisi: içerik haritası, konu sayfaları, yönlendirmeler ===== */

/* Breadcrumb */
.crumbs { margin-bottom: var(--s-5); }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-1) 0; font-size: var(--fs-xs); letter-spacing: 0.02em; color: var(--muted); }
.crumbs li + li::before { content: '/'; padding-inline: 0.6em; color: var(--rule-strong); }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; }
.crumbs [aria-current] { color: var(--ink-soft); }
.page-hero .crumbs, .proj-hero .crumbs, .article__head .crumbs { margin-bottom: var(--s-6); }
.proj-hero .crumbs { margin-bottom: var(--s-7); }
.proj-hero .proj-hero__meta { margin-top: 0; }

/* Konu (sütun) sayfası */
.topic__head { max-width: calc(var(--measure) + 2 * var(--gutter)); padding-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); padding-bottom: var(--s-6); }
.topic__head h1 { margin-top: var(--s-3); font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem); line-height: 1.08; letter-spacing: -0.02em; }
.topic__meta { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-5); padding-top: var(--s-4); border-top: 1px solid var(--rule); font-size: var(--fs-sm); color: var(--muted); }
.topic__meta a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule-strong); }
.topic__meta a:hover { color: var(--accent); border-color: var(--accent); }
.topic__children { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2) var(--s-5); margin-top: var(--s-5); }
.topic__children .eyebrow { flex-basis: 100%; }
.topic__body { padding-bottom: var(--s-8); }
.topic__body > p:first-child { font-size: 1.12em; }
.topic__body > p:first-child::first-letter { float: none; font-size: inherit; line-height: inherit; padding: 0; color: inherit; }
.topic__pn { max-width: var(--measure); margin: 0 auto var(--s-9); padding-top: var(--s-4); border-top: 1px solid var(--rule); font-size: var(--fs-sm); color: var(--muted); }
.topic__more { padding-block: clamp(3rem, 2.5rem + 3vw, 5rem); }
.topic__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7) clamp(2rem, 4vw, 4rem); align-items: start; }
.topic__h { font-size: var(--fs-xl); padding-bottom: var(--s-3); border-bottom: 1px solid var(--ink); }
.topic__list { list-style: none; }
.topic__list > li { padding: var(--s-4) 0; border-bottom: 1px solid var(--rule-strong); }
.topic__item { display: grid; gap: var(--s-1); text-decoration: none; }
.topic__item .serif { font-size: var(--fs-lg); line-height: 1.3; transition: color var(--dur) var(--ease); }
.topic__item .muted { font-size: var(--fs-sm); line-height: 1.5; }
.topic__item:hover .serif { color: var(--accent); }
@media (max-width: 999px) { .topic__grid { grid-template-columns: minmax(0, 1fr); } }

/* Yazı altı: bu konuyla ilgili */
.continue { max-width: var(--measure); margin: var(--s-8) auto 0; }
.continue ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-6); margin-top: var(--s-3); border-top: 1px solid var(--ink); }
.continue li { border-bottom: 1px solid var(--rule); }
.continue a { display: grid; gap: 2px; padding: var(--s-3) 0; text-decoration: none; }
.continue__k { font-size: var(--fs-xs); letter-spacing: 0.04em; color: var(--muted); }
.continue .serif { font-size: var(--fs-lg); line-height: 1.3; transition: color var(--dur) var(--ease); }
.continue a:hover .serif { color: var(--accent); }
.continue + .author { margin-top: var(--s-6); }
.article__meta a { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--rule-strong); }
.article__meta a:hover { color: var(--accent); }
@media (max-width: 599px) { .continue ul { grid-template-columns: 1fr; } }

/* Proje */
.proj-hero__by { margin-top: var(--s-4); font-size: var(--fs-sm); color: var(--muted); }
.proj-hero__by a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule-strong); }
.proj-hero__by a:hover { color: var(--accent); }
.proj-main .limits { list-style: none; border-top: 1px solid var(--ink); }
.proj-main .limits li { padding: var(--s-3) 0 var(--s-3) 1.6rem; border-bottom: 1px solid var(--rule); color: var(--ink-soft); position: relative; line-height: 1.6; }
.proj-main .limits li::before { content: '—'; position: absolute; left: 0; color: var(--accent); }
.proj-aside a.link { font-size: var(--fs-sm); }

/* Hakkımda: kanıt listeleri */
.about-evidence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7) clamp(2rem, 4vw, 4rem); }
.about-evidence__list { list-style: none; margin-top: var(--s-3); border-top: 1px solid var(--ink); }
.about-evidence__list li { border-bottom: 1px solid var(--rule); }
.about-evidence__list a { display: block; padding: var(--s-3) 0; text-decoration: none; }
.about-evidence__list .serif { font-size: var(--fs-lg); line-height: 1.3; transition: color var(--dur) var(--ease); }
.about-evidence__list a:hover .serif { color: var(--accent); }
@media (max-width: 899px) { .about-evidence { grid-template-columns: minmax(0, 1fr); } }

/* Yazılar: konu şeridi */
.topic-band { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2) var(--s-5); padding-block: var(--s-5); border-bottom: 1px solid var(--rule); }
.topic-band ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
.topic-band a { font-family: var(--font-serif); font-size: var(--fs-lg); color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule-strong); }
.topic-band a:hover { color: var(--accent); border-color: var(--accent); }

/* Altbilgi gezinmesi */
.footer__nav { padding-block: var(--s-5); border-bottom: 1px solid rgba(201, 207, 214, 0.18); }
.footer__nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); }
.footer__nav a { font-size: var(--fs-sm); }
.footer__top { border-bottom: 0; padding-bottom: var(--s-6); }


/* Önizlemesi ya da görseli olmayan proje kartları */
.pcard--wide.pcard--text { grid-template-columns: minmax(0, 1fr); }

/* ===== Proje çizimleri ===== */
.pvis { margin: 0; background: var(--paper-deep); border: 1px solid var(--rule); overflow: hidden; }
.pvis img { display: block; width: 100%; height: auto; transition: transform 600ms var(--ease); }
.pvis--photo img { aspect-ratio: auto; }
.pcard:hover .pvis { border-color: var(--rule-strong); }
.pcard:hover .pvis img { transform: scale(1.015); }
.proj-shot .pvis { max-width: 980px; }

/* Özelleştir'den yüklenen portre: her oranda fotoğraf temanın portre oranına (5:6) kırpılır. */
img.portrait-custom { width: 100%; height: auto; aspect-ratio: 1145 / 1374; object-fit: cover; object-position: 50% 20%; }
