/* ==========================================================================
   Özen Legal — main.css          "gece müzesi": karanlık galeride ışıklı heykel
   Statik site; derleme adımı yok. Themis sahnesi css/themis.css içindedir ve
   buradaki :root değişkenlerini okur (adları değiştirmeyin).

   Katman düzeni (kök yığın bağlamı):
     -2  body::before  sabit zemin (degrade + spot ışığı + vinyet)
     -1  body::after   film greni
      0  .themis-stage (mobil) + mobil karartma perdeleri
      1  .themis-stage (masaüstü), .wrap (içerik)
     50  .site-header

   İçindekiler:
     1. Yazı tipleri       6. Header + menü       11. Yaklaşım (zaman çizgisi)
     2. Değişkenler        7. Hero                12. Alıntı
     3. Temel + zemin      8. Bölüm iskeleti      13. İletişim + form
     4. Yardımcılar        9. Hakkında            14. Footer
     5. Düğme + bağlantı  10. Çalışma alanları    15. Uzun metin + blog
                                                  16. Görünme, hareket azaltma, baskı
   ========================================================================== */

/* 1. Yazı tipleri — yerelde barındırılır (assets/fonts); üçüncü tarafa istek yok */
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/cinzel-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/cinzel-latin.woff2") format("woff2");
  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: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
  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: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
  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: "Jost";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../assets/fonts/jost-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../assets/fonts/jost-latin.woff2") format("woff2");
  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;
}

/* 2. Değişkenler */
:root {
  /* Marka — themis.css bu adları okur */
  --ink: #0A1422;          /* sayfa zemini */
  --navy-deep: #101F35;
  --navy: #1F3A5F;         /* marka laciverti: ışık alan yüzeyler, parıltı */
  --gold: #C6A671;
  --gold-bright: #E3C891;
  --ivory: #F6F2EA;
  --mist: #C9D1DC;

  /* Themis sahnesi */
  --themis-w: clamp(380px, 44vw, 720px);
  --themis-right: clamp(0px, 2vw, 40px);
  /* Mobilde heykel: hero'da belirgin, aşağıda silik, sayfa sonunda yeniden belirgin.
     --hero-vis ve --end-vis değerlerini main.js kaydırmaya göre yazar (0..1). */
  --hero-vis: 1;
  --end-vis: 0;
  --themis-mobile-opacity: calc(0.40 + 0.15 * var(--hero-vis) + 0.53 * var(--end-vis));
  /* Heykelin üstünde bırakılacak güvenli pay (themis.js okur): header yüksekliği + birkaç px.
     Düz px değeri olmalı; header 960px altında 68px, üstünde 92px'tir. */
  --themis-top-safe: 96px;

  /* Türetilmiş renkler */
  --text: #D3D9E1;                           /* gövde metni: ink üzerinde ~12:1 */
  --text-dim: #A9B4C2;                       /* ikincil metin: ink üzerinde ~8:1 */
  --gold-line: rgba(198, 166, 113, 0.42);
  --gold-faint: rgba(198, 166, 113, 0.2);
  --line: rgba(201, 209, 220, 0.14);
  --line-strong: rgba(201, 209, 220, 0.5);   /* form çizgisi: >= 3:1 */
  --scrim: 10, 20, 34;                       /* rgba(var(--scrim), a) */
  --error: #F4B9A9;

  /* Yazı */
  --font-display: "Cinzel", "Trajan Pro 3", "Trajan Pro", "Times New Roman", serif;
  --font-serif: "Cormorant Garamond", "Cormorant", "EB Garamond", Garamond, Georgia, serif;
  --font-sans: "Jost", "Century Gothic", "Avenir Next", "Segoe UI", system-ui, sans-serif;

  /* Ölçü */
  --header-h: 68px;
  --gutter: clamp(20px, 5.2vw, 88px);
  --content-max: 58rem;
  --measure: 38rem;
  --section-pad: clamp(5.5rem, 3.5rem + 9vw, 11.5rem);
  --ease: cubic-bezier(0.22, 0.61, 0.21, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  color-scheme: dark;
}

@media (min-width: 960px) {
  :root { --header-h: 92px; }
}
@media (max-width: 959.98px) {
  :root { --themis-top-safe: 76px; }
}

/* Heykelin boyu (sahne yüksekliğinin oranı): kısa ekranlarda küçülür ki sayfa sonunda
   kalkan el ve terazi header şeridinin altında kalmasın (üst boşluk >= header + ~10px). */
@media (min-width: 1024px) and (max-height: 960px) { :root { --themis-fit: 0.85; } }
@media (min-width: 1024px) and (max-height: 820px) { :root { --themis-fit: 0.83; } }
@media (min-width: 1024px) and (max-height: 740px) { :root { --themis-fit: 0.815; } }
@media (min-width: 1024px) and (max-height: 640px) { :root { --themis-fit: 0.79; } }
@media (max-width: 1023.98px) and (max-height: 760px) { :root { --themis-fit: 0.815; } }
@media (max-width: 1023.98px) and (max-height: 620px) { :root { --themis-fit: 0.79; } }

/* 3. Temel + zemin */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  background: var(--ink);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* Yapışkan header payı hedeflerde (scroll-margin) verilir; html üzerinde scroll-padding-top
   KULLANMAYIN: header içindeki bir öğe odaklandığında (Tab, Esc sonrası menü düğmesi)
   Chrome sayfayı yarım ekran yukarı kaydırır. */
main,
main [id],
:where(main, .site-footer) :where(a, button, input, select, textarea, summary, [tabindex]) {
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
html.nav-locked { overflow: hidden; }

body {
  /* Spot ışığının konumu (zemin katmanı body::before bu değerleri okur) */
  --spot-x: 50%;
  --spot-y: 36%;

  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  /* body'ye zemin VERMEYİN: sabit zemin katmanları ve Themis sahnesi altında kalırdı. */
  color: var(--text);
  font-family: var(--font-sans);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}
@media (min-width: 1024px) {
  body { --spot-x: 84%; --spot-y: 16%; }
  body.has-themis {
    --spot-x: calc(100% - var(--themis-right) - var(--themis-w) / 2);
    --spot-y: 46%;
  }
}

/* Tek ve kesintisiz zemin: derin degrade + heykel sütununun arkasında spot ışığı + vinyet */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(120% 95% at 50% 42%, rgba(4, 8, 14, 0) 52%, rgba(3, 7, 13, 0.62) 100%),
    radial-gradient(ellipse 30vmax 9vmax at var(--spot-x) 100%, rgba(198, 166, 113, 0.09) 0%, rgba(198, 166, 113, 0) 72%),
    radial-gradient(ellipse 36vmax 48vmax at var(--spot-x) var(--spot-y),
      rgba(52, 92, 146, 0.5) 0%, rgba(31, 58, 95, 0.4) 26%, rgba(31, 58, 95, 0.16) 56%, rgba(31, 58, 95, 0) 80%),
    radial-gradient(ellipse 62vmax 42vmax at 0% 0%, rgba(31, 58, 95, 0.2) 0%, rgba(31, 58, 95, 0) 72%),
    linear-gradient(180deg, #0D1A2D 0%, #0A1422 42%, #070F1A 100%);
}
/* Çok hafif film greni (satır içi SVG feTurbulence; dış istek yok) */
body::after {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  z-index: -1;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 240px 240px;
}

h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, address { margin: 0; }
ul, ol { padding: 0; }
address { font-style: normal; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }

a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
button, input, textarea, select { font: inherit; color: inherit; }

::selection { background: var(--gold); color: var(--ink); }

:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 4px;
  border-radius: 1px;
}

[hidden] { display: none !important; }

/* 4. Yardımcılar */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 10px; left: 10px;
  z-index: 100;
  padding: 0.8em 1.3em;
  background: var(--ivory);
  color: var(--ink);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
  transform: translateY(-220%);
}
.skip-link:focus { transform: none; }

/* İçerik kabı: Themis sahnesinin üstünde kalır; kap sorguları (@container) bu kaba göre çalışır */
.wrap {
  position: relative;
  z-index: 1;
  width: min(100% - 2 * var(--gutter), var(--content-max));
  margin-inline: auto;
  container: wrap / inline-size;
}

/* İmza süsü: logodaki "Ö" harfinin iki altın karesi — idareli kullanılır */
.ornament {
  display: block;
  width: 22px;
  height: 7px;
  background:
    linear-gradient(var(--gold), var(--gold)) left / 7px 7px no-repeat,
    linear-gradient(var(--gold), var(--gold)) right / 7px 7px no-repeat;
}

.eyebrow {
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}
.eyebrow--ornament {
  display: flex;
  align-items: center;
  gap: 1.1em;
}
.eyebrow--ornament::before {
  content: "";
  flex: none;
  width: 16px;
  height: 5px;
  background:
    linear-gradient(var(--gold), var(--gold)) left / 5px 5px no-repeat,
    linear-gradient(var(--gold), var(--gold)) right / 5px 5px no-repeat;
}

/* 5. Düğme + bağlantı */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  min-height: 3.5rem;
  padding: 0.8em 2.1em 0.8em 2.3em;
  border: 1px solid var(--gold);
  border-radius: 0;
  background: linear-gradient(var(--gold-bright), var(--gold)) left center / 0% 100% no-repeat;
  color: var(--ivory);
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.24em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-size 0.6s var(--ease-out), color 0.35s var(--ease), border-color 0.35s var(--ease);
}
.btn::after {
  content: "";
  width: 1.4em;
  height: 1px;
  background: currentColor;
  transition: width 0.5s var(--ease-out);
}
.btn:active,
.btn:focus-visible {
  background-size: 100% 100%;
  border-color: var(--gold-bright);
  color: var(--ink);
}
.btn:active::after,
.btn:focus-visible::after { width: 2.2em; }
/* Üzerine gelme yalnızca fare/imleç olan aygıtlarda: dokunmatik ekranda dokunuştan sonra
   düğme "üzerinde" kalıp dolu altın görünmesin (dokunma anındaki geri bildirim :active ile verilir). */
@media (hover: hover) {
  .btn:hover {
    background-size: 100% 100%;
    border-color: var(--gold-bright);
    color: var(--ink);
  }
  .btn:hover::after { width: 2.2em; }
}
.btn[disabled] { opacity: 0.55; cursor: progress; }

/* Metin bağlantısı: alt çizgi üzerine gelindiğinde sağdan silinir, soldan yeniden çizilir */
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  min-height: 44px;
  padding-block: 0.5em;
  color: var(--ivory);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-decoration: none;
  text-transform: uppercase;
  background: linear-gradient(var(--gold), var(--gold)) left bottom 0.5em / 100% 1px no-repeat;
  transition: color 0.35s var(--ease);
}
.text-link:hover,
.text-link:focus-visible { color: var(--gold-bright); animation: underline-redraw 0.8s var(--ease) both; }
@keyframes underline-redraw {
  0% { background-size: 100% 1px; background-position: right bottom 0.5em; }
  45% { background-size: 0% 1px; background-position: right bottom 0.5em; }
  46% { background-size: 0% 1px; background-position: left bottom 0.5em; }
  100% { background-size: 100% 1px; background-position: left bottom 0.5em; }
}
.text-link__arrow { font-family: var(--font-sans); letter-spacing: 0; transition: transform 0.4s var(--ease-out); }
.text-link:hover .text-link__arrow { transform: translate(2px, -2px); }
.text-link:hover .text-link__arrow--back { transform: translateX(-4px); }
.text-link:hover .text-link__arrow--fwd { transform: translateX(4px); }

/* 6. Header + menü
   Hero üzerinde saydam; kaydırınca koyu, bulanık "cam" şerit (::before katmanı).
   Cam katmanı ayrı bir sözde öğede durur: backdrop-filter üst öğede olsaydı
   tam ekran mobil menünün (position: fixed) kapsayıcısını değiştirirdi. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--header-h);
  /* saydamken de menü okunaklı kalsın: yukarıdan aşağı eriyen hafif perde */
  background: linear-gradient(180deg,
    rgba(7, 14, 25, 0.66) 0%, rgba(7, 14, 25, 0.5) 32%, rgba(7, 14, 25, 0.27) 62%,
    rgba(7, 14, 25, 0.09) 86%, rgba(7, 14, 25, 0) 100%);
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: rgba(8, 16, 28, 0.74);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid var(--gold-faint);
  opacity: 0;
  transition: opacity 0.5s var(--ease);
}
.site-header.is-scrolled::before { opacity: 1; }
/* Kaydırma ilerlemesi: bir piksellik altın çizgi (main.js --scroll-p değerini yazar) */
.site-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), var(--gold-bright));
  transform: scaleX(var(--scroll-p, 0));
  transform-origin: left center;
  pointer-events: none;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  height: 100%;
  padding-inline: var(--gutter);
}

.brand { display: flex; align-items: center; flex: none; min-height: 44px; }
/* logo: telefonda 40px, masaüstünde 54px; arada akışkan */
.brand img { width: auto; height: clamp(40px, calc(3.2vw + 24px), 54px); }

.site-nav ul {
  display: flex;
  align-items: center;
  gap: clamp(1.4rem, 2.4vw, 2.75rem);
  list-style: none;
}
.site-nav a {
  position: relative;
  display: block;
  padding-block: 0.8em;
  color: var(--ivory);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.3s var(--ease);
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0.24em; bottom: 0.3em;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.5s var(--ease-out);
}
.site-nav a:hover,
.site-nav a.is-active,
.site-nav a[aria-current="page"] { color: var(--gold-bright); }
.site-nav a:hover::after,
.site-nav a.is-active::after,
.site-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left center; }
.site-nav__meta { display: none; }

.nav-toggle {
  display: none;
  align-items: center;
  gap: 0.9em;
  min-height: 44px;
  margin-right: -0.4rem;
  padding: 0 0.4rem;
  border: 0;
  background: none;
  color: var(--ivory);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  cursor: pointer;
}
.nav-toggle__bars {
  position: relative;
  width: 26px;
  height: 9px;
}
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  content: "";
  position: absolute;
  right: 0;
  height: 1px;
  background: var(--gold-bright);
  transition: transform 0.45s var(--ease-out), top 0.45s var(--ease-out), width 0.45s var(--ease-out);
}
.nav-toggle__bars::before { top: 0; width: 100%; }
.nav-toggle__bars::after { top: 8px; width: 62%; }
.nav-open .nav-toggle__bars::before { top: 4px; transform: rotate(45deg); }
.nav-open .nav-toggle__bars::after { top: 4px; width: 100%; transform: rotate(-45deg); }

/* Mobil: tam ekran menü, büyük Cinzel bağlantılar, kademeli giriş */
@media (max-width: 959.98px) {
  .nav-toggle { display: inline-flex; }

  .site-nav {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: -1;
    display: flex;
    flex-direction: column;
    padding: calc(var(--header-h) + 1rem) var(--gutter) clamp(1.5rem, 5vh, 3rem);
    overflow-y: auto;
    background:
      radial-gradient(ellipse 95% 62% at 88% 6%, rgba(31, 58, 95, 0.7), rgba(31, 58, 95, 0) 70%),
      radial-gradient(ellipse 60% 30% at 0% 100%, rgba(198, 166, 113, 0.07), rgba(198, 166, 113, 0) 70%),
      #070E19;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.45s var(--ease), visibility 0s linear 0.45s;
  }
  .nav-open .site-nav {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
  .site-nav ul {
    display: block;
    counter-reset: nav;
    margin-block: auto;
  }
  .site-nav li {
    counter-increment: nav;
    border-bottom: 1px solid var(--line);
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 0.5s var(--ease), transform 0.7s var(--ease-out);
  }
  .site-nav li:first-child { border-top: 1px solid var(--line); }
  .nav-open .site-nav li { opacity: 1; transform: none; }
  .nav-open .site-nav li:nth-child(1) { transition-delay: 0.1s; }
  .nav-open .site-nav li:nth-child(2) { transition-delay: 0.16s; }
  .nav-open .site-nav li:nth-child(3) { transition-delay: 0.22s; }
  .nav-open .site-nav li:nth-child(4) { transition-delay: 0.28s; }
  .nav-open .site-nav li:nth-child(5) { transition-delay: 0.34s; }
  .nav-open .site-nav li:nth-child(6) { transition-delay: 0.4s; }
  .site-nav a {
    display: flex;
    align-items: baseline;
    gap: 1.1rem;
    padding-block: clamp(0.85rem, 2.6vh, 1.35rem);
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 6.6vw, 2.15rem);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.08em;
    white-space: normal;
  }
  .site-nav a::before {
    content: counter(nav, decimal-leading-zero);
    flex: none;
    width: 1.9rem;
    color: var(--gold);
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.18em;
  }
  .site-nav a::after { display: none; }
  .site-nav__meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-top: clamp(1.5rem, 4vh, 2.5rem);
    color: var(--text-dim);
    font-size: 0.76rem;
    letter-spacing: 0.2em;
    line-height: 1.7;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.6s var(--ease) 0s;
  }
  .site-nav__meta .ornament { margin-bottom: 0.9rem; }
  .site-nav__meta strong { color: var(--ivory); font-weight: 400; }
  .nav-open .site-nav__meta { opacity: 1; transition-delay: 0.5s; }

  /* Kısa ekranlarda (yatay tutulan telefon) bağlantılar ekrana sığmaz ve panel kendi içinde kayar.
     Kayan bağlantılar logo ile menü düğmesinin arkasından görünmesin diye header şeridine,
     panelin zeminiyle aynı (aynı konumda, aynı degrade) opak bir perde konur.
     z-index: -1 → panelin (aynı düzey, belgede daha önce) üstünde, logo ve düğmenin altında. */
  @media (max-height: 600px) {
    .site-header__inner::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      background:
        radial-gradient(ellipse 95vw 62vh at 88vw 6vh, rgba(31, 58, 95, 0.7), rgba(31, 58, 95, 0) 70%),
        #070E19;
      background:
        radial-gradient(ellipse 95vw 62dvh at 88vw 6dvh, rgba(31, 58, 95, 0.7), rgba(31, 58, 95, 0) 70%),
        #070E19;
      opacity: 0;
      transition: opacity 0.45s var(--ease);
    }
    .nav-open .site-header__inner::after { opacity: 1; }
  }
}

/* 7. Hero */
.hero {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: calc(100vh - var(--header-h));
  min-height: min(100svh - var(--header-h), 70rem);
  padding-block: clamp(1.5rem, 5vh, 4rem) clamp(1.5rem, 4vh, 2.75rem);
}
.hero__inner { align-self: center; }

/* dar ekranda tek satıra sığsın diye harf aralığı ekran genişliğiyle daralır */
.hero__eyebrow { letter-spacing: clamp(0.1em, calc(3.33vw - 9.5px), 0.34em); }
.hero__title {
  margin-top: clamp(1.25rem, 3.2vh, 2.25rem);
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: clamp(3.4rem, 19.5vw, 6.75rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}
/* Her satır bir maske: içteki span aşağıdan yükselir */
.hero__title .line {
  display: block;
  margin-top: -0.14em;
  padding-top: 0.14em;
  overflow: hidden;
}
.hero__title .line > span { display: block; }

.hero__rule {
  display: block;
  width: min(100%, 34rem);
  height: 1px;
  margin-top: clamp(1.25rem, 3vh, 2rem);
  background: linear-gradient(90deg, var(--gold-bright) 0%, var(--gold) 55%, rgba(198, 166, 113, 0) 100%);
  transform-origin: left center;
}
.hero__sub {
  margin-top: clamp(1rem, 2.4vh, 1.5rem);
  color: var(--mist);
  font-size: clamp(0.76rem, 0.7rem + 0.24vw, 0.9rem);
  line-height: 1.9;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}
.hero__sub span { white-space: nowrap; }
.hero__lead {
  max-width: 34rem;
  margin-top: clamp(1.25rem, 3.4vh, 2.25rem);
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 1.05rem + 1.45vw, 2.15rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.32;
  text-wrap: pretty;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem clamp(1.5rem, 3vw, 2.5rem);
  margin-top: clamp(1.75rem, 4.4vh, 3rem);
}

@media (max-width: 479.98px) {
  /* telefonda düğme ve bağlantı aynı satıra sığsın */
  .hero__actions { column-gap: 1.25rem; }
  .hero__actions .btn { padding-inline: 1.7em 1.5em; }
}

.scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  width: fit-content;
  min-height: 44px;
  margin-top: clamp(1.5rem, 4vh, 3rem);
  color: var(--text-dim);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s var(--ease);
}
.scroll-cue:hover { color: var(--gold-bright); }
.scroll-cue::before {
  content: "";
  width: 1px;
  height: 2.75rem;
  background:
    linear-gradient(var(--gold-bright), var(--gold-bright)) 0 0 / 100% 42% no-repeat,
    rgba(201, 209, 220, 0.22);
  animation: scroll-cue 3.2s cubic-bezier(0.6, 0, 0.3, 1) infinite;
}
@keyframes scroll-cue {
  0% { background-position: 0 -90%, 0 0; }
  70%, 100% { background-position: 0 190%, 0 0; }
}

/* Açılış: 1,2 sn içinde kademeli giriş (yalnızca CSS; JS gerekmez) */
@media (prefers-reduced-motion: no-preference) {
  .hero__eyebrow { animation: rise-in 0.7s var(--ease-out) 0.05s both; }
  .hero__title .line > span { animation: mask-rise 0.95s var(--ease-out) both; }
  .hero__title .line:nth-child(1) > span { animation-delay: 0.1s; }
  .hero__title .line:nth-child(2) > span { animation-delay: 0.2s; }
  .hero__rule { animation: draw-x 0.8s var(--ease-out) 0.42s both; }
  .hero__sub { animation: rise-in 0.6s var(--ease-out) 0.55s both; }
  .hero__lead { animation: rise-in 0.65s var(--ease-out) 0.62s both; }
  .hero__actions { animation: rise-in 0.55s var(--ease-out) 0.74s both; }
  .scroll-cue { animation: fade-in 0.5s var(--ease) 0.9s both; }
  .site-header__inner { animation: fade-in 0.7s var(--ease) 0.05s both; }
}
@keyframes mask-rise { from { transform: translateY(108%); } to { transform: none; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(1.1rem); } to { opacity: 1; transform: none; } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes draw-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* 8. Bölüm iskeleti — boşluk, ince çizgi ve tipografi ile ayrılır; zemin bloğu yok */
.section {
  position: relative;
  padding-block: var(--section-pad);
}

.section-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1.1rem;
  padding-bottom: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);
  margin-bottom: clamp(2.25rem, 1.5rem + 3vw, 4rem);
}
/* Başlığın altındaki ince çizgi: görünürken soldan çizilir */
.section-head::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-line) 34%, var(--line) 100%);
  transform-origin: left center;
}
/* Büyük Roma rakamı: ince altın kontur */
.section-num {
  display: block;
  color: rgba(198, 166, 113, 0.5);
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 2.4rem + 4vw, 4.5rem);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: 0.04em;
  user-select: none;
}
@supports (-webkit-text-stroke: 1px black) {
  .section-num {
    color: transparent;
    -webkit-text-stroke: 1px rgba(198, 166, 113, 0.78);
  }
}
.section-title {
  margin-top: 0.7rem;
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 1.35rem + 2.5vw, 3.35rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-wrap: balance;
}
.section-intro {
  max-width: var(--measure);
  margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.25rem);
  color: var(--text);
  text-wrap: pretty;
}

.prose { max-width: var(--measure); }
.prose p { text-wrap: pretty; }
.prose p + p { margin-top: 1.25em; }
.lead {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.42rem, 1.12rem + 1.3vw, 2.05rem);
  font-weight: 500;
  line-height: 1.34;
  text-wrap: pretty;
}

/* Asimetrik ızgara: rakam sol sütunda, başlık ve gövde sağa kaydırılmış */
@container wrap (min-width: 38rem) {
  .section-head {
    grid-template-columns: clamp(8rem, 24cqw, 13rem) minmax(0, 1fr);
    align-items: end;
    row-gap: 0;
  }
  .section-num { font-size: clamp(5.5rem, 17.5cqw, 9.5rem); }
  .section-body--inset { padding-left: clamp(8rem, 24cqw, 13rem); }
}

/* Themis sahnesi ≥1024px'te sağ sütunu kaplar: içerik kalan sol alanda durur */
@media (min-width: 1024px) {
  .has-themis .section,
  .has-themis .hero,
  .has-themis .site-footer {
    padding-right: calc(var(--themis-w) + var(--themis-right));
  }
  /* içerik sol kenarda logoyla hizalanır (ortalanmaz) */
  .has-themis .wrap { margin-inline: var(--gutter) auto; }
  .has-themis .hero__title { font-size: clamp(3rem, 7.5vw, 8.75rem); }
  .has-themis .hero__lead { max-width: 37rem; }
}

/* Mobil: heykel metnin arkasındadır. Kutular yerine yumuşak karartma perdeleri. */
@media (max-width: 1023.98px) {
  .has-themis .hero::before,
  .has-themis .section::before,
  .has-themis .site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }
  /* Hero: üstte heykel açıkta; metnin arkası alttan yukarı koyulaşır */
  .has-themis .hero::before {
    background: linear-gradient(0deg,
      rgba(var(--scrim), 0.94) 0%, rgba(var(--scrim), 0.86) 34%,
      rgba(var(--scrim), 0.58) 58%, rgba(var(--scrim), 0) 84%);
  }
  .has-themis .hero__inner { align-self: end; }
  /* Küçük puntolu satırlar heykel parçalarının üzerine düştüğünde de okunaklı kalsın (kontrast):
     zemin renginde, koyu zeminde fark edilmeyen yumuşak bir hale */
  .has-themis .hero__eyebrow,
  .has-themis .hero__sub {
    text-shadow:
      0 0 2px rgb(var(--scrim)), 0 0 4px rgb(var(--scrim)), 0 0 4px rgb(var(--scrim)),
      0 0 8px rgb(var(--scrim)), 0 0 8px rgb(var(--scrim)), 0 0 14px rgb(var(--scrim));
  }
  .has-themis .section::before {
    background: linear-gradient(180deg,
      rgba(var(--scrim), 0) 0, rgba(var(--scrim), 0.62) 5rem,
      rgba(var(--scrim), 0.62) calc(100% - 5rem), rgba(var(--scrim), 0) 100%);
  }
  /* Sayfa sonu: tamamlanan heykel için boş bir "sahne" bırakılır */
  .has-themis .contact { padding-bottom: 58vh; padding-bottom: 58svh; }
  .has-themis .contact::before {
    background: linear-gradient(180deg,
      rgba(var(--scrim), 0) 0, rgba(var(--scrim), 0.62) 5rem,
      rgba(var(--scrim), 0.62) calc(100% - 58svh - 2rem), rgba(var(--scrim), 0) calc(100% - 58svh + 6rem));
  }
  /* Footer perdesi footer'ın üstünden başlar: heykelin alt yarısı karanlığa gömülür,
     footer metni koyu zeminde kalır */
  .has-themis .site-footer::before {
    top: -9rem;
    background: linear-gradient(180deg,
      rgba(var(--scrim), 0) 0, rgba(var(--scrim), 0.55) 5rem, rgba(var(--scrim), 0.9) 9.5rem,
      rgba(7, 14, 25, 0.95) 100%);
  }
  .has-themis .site-footer { border-top-color: transparent; }
}

/* 9. Hakkında */
.prose__body { margin-top: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); }
@container wrap (min-width: 54rem) {
  .prose--columns { max-width: none; }
  .prose--columns .lead { max-width: 44rem; }
  .prose--columns .prose__body {
    column-count: 2;
    column-gap: clamp(2rem, 4cqw, 3.5rem);
  }
  .prose--columns .prose__body p { break-inside: avoid; }
  .prose--columns .prose__body p + p { margin-top: 0; }
}

/* Üç ilke: ince çizgilerle ayrılmış yatay üçlü, küçük altın rakamlar */
.trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(3rem, 2rem + 4vw, 5rem);
  border-top: 1px solid var(--line);
  list-style: none;
  counter-reset: trio;
}
.trio__item {
  counter-increment: trio;
  padding-block: 1.6rem;
  border-bottom: 1px solid var(--line);
}
.trio__item::before {
  content: counter(trio, lower-roman) ".";
  display: block;
  margin-bottom: 0.7rem;
  color: var(--gold);
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1;
}
.trio__title {
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.trio__item p {
  margin-top: 0.7rem;
  color: var(--text);
  font-size: 0.95em;
  line-height: 1.7;
}
@container wrap (min-width: 38rem) {
  .trio { grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
  .trio__item {
    padding: 1.9rem clamp(1.1rem, 3cqw, 2rem) 2rem;
    border-bottom: 0;
    border-left: 1px solid var(--line);
  }
  .trio__item:first-child { padding-left: 0; border-left: 0; }
  .trio__item:last-child { padding-right: 0; }
}

/* Avukatın adı: imza gibi dizilmiş blok */
.signature { margin-top: clamp(3rem, 2rem + 4vw, 5rem); }
.signature__name {
  display: inline-block;
  padding-bottom: 0.55rem;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.7rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.01em;
  background: linear-gradient(90deg, var(--gold), rgba(198, 166, 113, 0)) left bottom / 100% 1px no-repeat;
}
.signature__meta {
  margin-top: 0.9rem;
  color: var(--text-dim);
  font-size: 0.76rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

/* 10. Çalışma alanları — kutu değil, dizin listesi */
.index {
  list-style: none;
  counter-reset: area;
  border-top: 1px solid var(--line);
}
.index__row {
  counter-increment: area;
  position: relative;
  display: grid;
  grid-template-columns: 3.1rem minmax(0, 1fr);
  column-gap: 0.25rem;
  padding-block: clamp(1.5rem, 1.25rem + 1vw, 2.1rem);
  border-bottom: 1px solid var(--line);
}
.index__row::before {
  content: counter(area, decimal-leading-zero);
  grid-row: 1 / span 2;
  padding-top: 0.62em;
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 0.86rem;
  letter-spacing: 0.12em;
  line-height: 1;
}
/* Üzerine gelince: altın çizgi soldan uzar */
.index__row::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-bright) 0%, var(--gold) 55%, rgba(198, 166, 113, 0) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.8s var(--ease-out);
}
.index__title {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 1.35rem + 1vw, 2.15rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.005em;
  text-wrap: balance;
  transition: transform 0.6s var(--ease-out), color 0.4s var(--ease);
}
.index__row p {
  grid-column: 2;
  max-width: 36rem;
  margin-top: 0.7rem;
  color: var(--text-dim);
  font-size: 0.97em;
  line-height: 1.7;
  transition: color 0.4s var(--ease);
}
@media (hover: hover) {
  .index__row:hover::after { transform: scaleX(1); }
  .index__row:hover .index__title { transform: translateX(0.6rem); color: #fff; }
  .index__row:hover p { color: var(--ivory); }
}
/* Dokunmatik ekranda satır, ekranın ortasından geçerken aydınlanır (main.js: .is-lit) */
@media (hover: none) {
  .index__row.is-lit::after { transform: scaleX(1); }
  .index__row.is-lit p { color: var(--text); }
}
@container wrap (min-width: 54rem) {
  .index__row {
    grid-template-columns: 4rem minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 2rem;
    align-items: baseline;
  }
  .index__row::before { grid-row: auto; padding-top: 0; }
  .index__row p { grid-column: 3; margin-top: 0; }
}

/* 11. Çalışma yaklaşımı — kaydırdıkça çizilen dikey zaman çizgisi
   main.js listeye .is-live ekler ve --tl (0..1) değerini yazar; JS yoksa çizgi tamdır. */
.timeline {
  --tl: 1;
  --rail: 0.5rem;
  --indent: clamp(2.25rem, 1.5rem + 3vw, 3.75rem);
  position: relative;
  max-width: 44rem;
  padding-left: var(--indent);
  list-style: none;
}
.timeline::before,
.timeline::after {
  content: "";
  position: absolute;
  left: var(--rail);
  top: 0.9rem;
  bottom: 0.9rem;
  width: 1px;
}
.timeline::before { background: var(--line); }
.timeline::after {
  background: linear-gradient(180deg, var(--gold-bright), var(--gold));
  transform: scaleY(var(--tl));
  transform-origin: center top;
}
.step {
  position: relative;
  padding-bottom: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);
}
.step:last-child { padding-bottom: 0; }
/* düğüm: küçük altın kare */
.step::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0.55rem;
  left: calc(var(--rail) - var(--indent) - 4px);
  width: 9px;
  height: 9px;
  border: 1px solid var(--gold);
  background: var(--gold);
  transition: background-color 0.5s var(--ease), box-shadow 0.5s var(--ease);
}
.timeline.is-live .step:not(.is-reached)::before { background: var(--ink); }
.timeline.is-live .step.is-reached::before { box-shadow: 0 0 0 5px rgba(198, 166, 113, 0.14); }
.step__num {
  display: block;
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 0.95rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
}
.step__title {
  margin-top: 0.35rem;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 1.35rem + 1vw, 2.15rem);
  font-weight: 500;
  line-height: 1.15;
}
.step p {
  max-width: 34rem;
  margin-top: 0.7rem;
  color: var(--text);
}
.timeline.is-live .step__title,
.timeline.is-live .step p { transition: opacity 0.6s var(--ease); }
.timeline.is-live .step:not(.is-reached) .step__title,
.timeline.is-live .step:not(.is-reached) p { opacity: 0.6; }

/* 12. Alıntı — sessiz bir an */
.quote-moment { padding-block: clamp(6rem, 4rem + 10vw, 13rem); }
.quote .ornament { margin-bottom: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem); }
.quote blockquote p {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.95rem, 1.2rem + 3.3vw, 3.9rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.005em;
  text-wrap: balance;
}
.quote__translation {
  max-width: 34rem;
  margin-top: clamp(1.5rem, 1.2rem + 1.4vw, 2.5rem);
  color: var(--text);
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 1.08rem + 0.5vw, 1.5rem);
  line-height: 1.45;
}
.quote figcaption {
  margin-top: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
@media (max-width: 419.98px) {
  /* dar ekranda kaynak satırı tek satırda kalsın */
  .quote figcaption { letter-spacing: 0.16em; }
  .quote figcaption::before { width: 1.75rem; margin-right: 0.8rem; }
}
.quote figcaption::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 1px;
  margin-right: 1.1rem;
  vertical-align: 0.3em;
  background: var(--gold);
}

/* 13. İletişim + form */
.contact { padding-bottom: clamp(4.5rem, 3rem + 6vw, 8rem); }

/* Terazi yerine oturduğunda (themis:lock → main.js html'e .themis-locked ekler)
   İletişim başlığındaki ince çizgi ve rakam hafifçe parlar. */
.contact .section-head::before {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-bright) 0%, var(--gold) 45%, rgba(198, 166, 113, 0) 100%);
  box-shadow: 0 0 14px rgba(227, 200, 145, 0.55);
  opacity: 0;
  transform: scaleX(0.35);
  transform-origin: left center;
  transition: opacity 1.2s var(--ease), transform 1.6s var(--ease-out);
}
.themis-locked .contact .section-head::before { opacity: 1; transform: scaleX(1); }
.contact .section-num { transition: -webkit-text-stroke-color 1.2s var(--ease), color 1.2s var(--ease); }
.themis-locked .contact .section-num { -webkit-text-stroke-color: var(--gold-bright); }

/* Adres: antetli kâğıt gibi büyük dizgi */
.letterhead__label,
.contact-item__label {
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.letterhead address {
  margin-top: 1rem;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 6.6cqw, 2.4rem);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: 0.005em;
}
.letterhead address span { display: inline-block; }
.letterhead .text-link { margin-top: clamp(1.25rem, 1rem + 1vw, 2rem); }
@container wrap (min-width: 38rem) {
  .letterhead address { font-size: clamp(1.5rem, 4.9cqw, 2.4rem); }
}

/* Telefon / e-posta / çalışma saatleri (değerler gelince index.html'de açılır) */
.contact-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0 clamp(1.5rem, 3vw, 3rem);
  margin-top: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);
  border-top: 1px solid var(--line);
}
.contact-item { padding-block: 1.5rem; }
.contact-item__value {
  margin-top: 0.6rem;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.2rem + 0.45vw, 1.55rem);
  font-weight: 500;
  line-height: 1.4;
}
.contact-item__value a {
  display: inline-block;
  padding-block: 0.3em;
  text-decoration: none;
  background: linear-gradient(var(--gold-line), var(--gold-line)) left bottom 0.25em / 100% 1px no-repeat;
  transition: color 0.3s var(--ease);
}
.contact-item__value a:hover { color: var(--gold-bright); }

/* Form: kutusuz, yalnızca alt çizgi; kayan etiketler; altın odak çizgisi */
.contact-form {
  margin-top: clamp(3.5rem, 2.5rem + 5vw, 6rem);
  padding-top: clamp(2rem, 1.5rem + 2vw, 3rem);
  border-top: 1px solid var(--line);
}
.contact-form__title {
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.75rem clamp(1.5rem, 4cqw, 3rem);
  margin-top: 1.25rem;
}
.field { min-width: 0; }
.field--wide { grid-column: 1 / -1; }
.field__control {
  position: relative;
  padding-top: 1.55rem;
}
.field input,
.field textarea {
  display: block;
  width: 100%;
  min-height: 3rem;
  padding: 0.6rem 0 0.65rem;
  border: 0;
  border-bottom: 1px solid var(--line-strong);
  border-radius: 0;
  background: transparent;
  color: var(--ivory);
  font-size: max(1.0625rem, 16px);   /* iOS yakınlaştırmasın */
  line-height: 1.5;
  outline: none;
  transition: border-color 0.3s var(--ease);
  -webkit-appearance: none;
  appearance: none;
}
.field textarea { min-height: 8.5rem; resize: vertical; }
.field input:hover,
.field textarea:hover { border-bottom-color: var(--mist); }
/* altın odak çizgisi */
.field__control::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-bright), var(--gold));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.55s var(--ease-out);
  pointer-events: none;
}
.field__control:focus-within::after { transform: scaleX(1); }
/* kayan etiket: boşken alan içinde, odakta / doluyken yukarıda küçük */
.field label {
  position: absolute;
  left: 0;
  top: 2.2rem;
  color: var(--text-dim);
  font-size: max(1.0625rem, 16px);
  line-height: 1.5;
  pointer-events: none;
  transition: top 0.35s var(--ease-out), font-size 0.35s var(--ease-out), letter-spacing 0.35s var(--ease-out), color 0.3s var(--ease);
}
.field input:focus + label,
.field textarea:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:not(:placeholder-shown) + label {
  top: 0.15rem;
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.field input:-webkit-autofill + label {
  top: 0.15rem;
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.field input:-webkit-autofill,
.field textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--ivory);
  caret-color: var(--ivory);
  box-shadow: 0 0 0 100px #0D1929 inset;
}
.field__req { color: var(--gold); letter-spacing: 0; margin-left: 0.3em; }
.field [aria-invalid="true"] { border-bottom-color: var(--error); }
.field__hint {
  margin-top: 0.7rem;
  color: var(--text-dim);
  font-size: 0.88rem;
  line-height: 1.6;
}
.field__error {
  margin-top: 0.5rem;
  color: var(--error);
  font-size: 0.88rem;
  line-height: 1.5;
}
.field__error:empty { display: none; }

/* tuzak alan (bot): görsel ve erişilebilirlik ağacı dışında */
.field--trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0 0.95rem;
  margin-top: 2rem;
}
.consent input {
  /* 24px görünür kutu + 10px saydam kenarlık = 44px dokunma alanı */
  box-sizing: content-box;
  width: 1.5rem;
  height: 1.5rem;
  margin: calc(0.1em - 10px) -10px -10px;
  border: 10px solid transparent;
  border-radius: 0;
  background: transparent padding-box;
  box-shadow: inset 0 0 0 1px var(--line-strong);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: box-shadow 0.3s var(--ease);
}
.consent input:hover { box-shadow: inset 0 0 0 1px var(--mist); }
.consent input:checked {
  background: linear-gradient(var(--gold-bright), var(--gold)) center / 0.7rem 0.7rem no-repeat padding-box;
  box-shadow: inset 0 0 0 1px var(--gold);
}
.consent input:focus-visible { outline-offset: -7px; }
.consent input[aria-invalid="true"] { box-shadow: inset 0 0 0 1px var(--error); }
.consent label { color: var(--text); font-size: 0.95em; line-height: 1.65; cursor: pointer; }
.consent a { color: var(--ivory); text-decoration-color: var(--gold); }
.consent a:hover { color: var(--gold-bright); }
.consent .field__error { grid-column: 2; }

.contact-form__actions { margin-top: 2.25rem; }
.contact-form__note {
  max-width: 40rem;
  margin-top: 2rem;
  color: var(--text-dim);
  font-size: 0.88rem;
  line-height: 1.7;
}
.form-status {
  margin-top: 1.5rem;
  padding: 0.2rem 0 0.2rem 1.1rem;
  border-left: 1px solid var(--gold);
  color: var(--ivory);
}
.form-status:empty { display: none; }
.form-status.is-error { border-left-color: var(--error); color: var(--error); }

/* 14. Footer — kısa ve yalın */
.site-footer {
  position: relative;
  padding-block: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem) clamp(1.25rem, 1rem + 1vw, 1.75rem);
  border-top: 1px solid var(--line);
  color: var(--text-dim);
  font-size: 0.9rem;
  line-height: 1.65;
}
.footer-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem clamp(1.5rem, 4vw, 3rem);
}
.footer-brand { display: flex; align-items: center; flex: none; min-height: 44px; }
.footer-brand img { width: auto; height: 38px; }
.footer-id { flex: 1 1 18rem; text-wrap: balance; }
.footer-id p:first-child { color: var(--ivory); }
.footer-note {
  max-width: 46rem;
  margin-top: 1.25rem;
  font-size: 0.86rem;
  line-height: 1.7;
}
/* Görsel kaynağı (CC BY-SA gereği): küçük ve sakin */
.footer-credit {
  max-width: 46rem;
  margin-top: 0.7rem;
  font-size: 0.78rem;
  line-height: 1.6;
}
.footer-credit a {
  color: inherit;
  text-decoration-color: var(--gold-line);
  transition: color 0.3s var(--ease);
}
.footer-credit a[rel~="license"] { white-space: nowrap; }
.footer-credit a:hover { color: var(--gold-bright); }
.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0 2rem;
  margin-top: 1.1rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--line);
  font-size: 0.86rem;
}
/* Yapımcı satırı */
.footer-made { margin-top: 0.15rem; font-size: 0.78rem; opacity: 0.85; }
.footer-made a {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: var(--gold-line);
  text-underline-offset: 0.2em;
  transition: color 0.3s var(--ease);
}
.footer-made a:hover { color: var(--gold-bright); }
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.75rem;
  list-style: none;
}
.footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  /* kısa bağlantılarda da en az 44px dokunma alanı (yerleşimi kaydırmadan) */
  margin-inline: -10px;
  padding-inline: 10px;
  color: var(--ivory);
  text-decoration: none;
  background: linear-gradient(var(--gold), var(--gold)) left bottom 0.7em / 0 1px no-repeat content-box;
  transition: color 0.3s var(--ease), background-size 0.5s var(--ease-out);
}
.footer-links a:hover,
.footer-links a[aria-current="page"] { color: var(--gold-bright); background-size: 100% 1px; }
@media (max-width: 519.98px) {
  .footer-bottom { display: block; padding-top: 1rem; }
  .footer-links {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: 0 2.5rem;
    margin-top: 0.4rem;
  }
}

/* 15. Uzun metin sayfaları (kvkk.html, hukuki-uyari.html) + blog */
.page {
  position: relative;
  padding-block: clamp(3rem, 2rem + 6vw, 7.5rem) clamp(4.5rem, 3rem + 6vw, 8.5rem);
}
.page--narrow .wrap { --content-max: 43rem; }   /* yaklaşık 68 karakter */
.page-head {
  position: relative;
  padding-bottom: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);
}
.page-head::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-line) 34%, var(--line) 100%);
  transform-origin: left center;
}
.page-title {
  margin-top: 1.1rem;
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 1.3rem + 2.7vw, 3.4rem);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  text-wrap: balance;
}
.page-title--long { font-size: clamp(1.6rem, 1.2rem + 1.9vw, 2.6rem); line-height: 1.22; }
.page-meta {
  margin-top: 1.1rem;
  color: var(--text-dim);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: no-preference) {
  .page-head > * { animation: rise-in 0.8s var(--ease-out) 0.05s both; }
  .page-head > *:nth-child(2) { animation-delay: 0.14s; }
  .page-head > *:nth-child(3) { animation-delay: 0.24s; }
  .page-head::after { animation: draw-x 1s var(--ease-out) 0.3s both; }
  .page-head ~ * { animation: rise-in 0.8s var(--ease-out) 0.4s both; }
}

.legal__body { margin-top: clamp(2rem, 1.5rem + 2.4vw, 3.5rem); }
.legal__back { margin-top: clamp(2.5rem, 2rem + 2vw, 3.5rem); }

/* Uzun metin tipografisi: .legal__body ve .post__body öğelerine "longform" ile verilir */
.longform { font-size: 1.02em; line-height: 1.8; }
.longform > p { text-wrap: pretty; }
.longform > * + * { margin-top: 1.2em; }
.longform h2 {
  margin-top: 2.8em;
  padding-top: 1.6em;
  border-top: 1px solid var(--line);
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-wrap: balance;
}
.longform h2 .num { margin-right: 0.7em; color: var(--gold); }
.longform h3 {
  margin-top: 2em;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 1.32rem + 0.5vw, 1.75rem);
  font-weight: 600;
  line-height: 1.25;
  text-wrap: balance;
}
.longform h2 + *,
.longform h3 + * { margin-top: 0.9em; }
.longform ul,
.longform ol { list-style: none; }
.longform li { position: relative; padding-left: 1.7rem; }
.longform li + li,
.longform li > ul,
.longform li > ol { margin-top: 0.65em; }
.longform ul > li::before {
  content: "";
  position: absolute;
  left: 0; top: 0.8em;
  width: 5px; height: 5px;
  background: var(--gold);
}
.longform ol { counter-reset: longform; }
.longform ol > li { counter-increment: longform; padding-left: 2.2rem; }
.longform ol > li::before {
  content: counter(longform) ".";
  position: absolute;
  left: 0; top: 0;
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 0.92em;
  letter-spacing: 0.04em;
}
.longform blockquote {
  margin-block: 2em;
  padding-left: clamp(1.1rem, 0.8rem + 1.4vw, 1.9rem);
  border-left: 1px solid var(--gold);
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.18rem + 0.6vw, 1.6rem);
  font-style: italic;
  line-height: 1.45;
}
.longform blockquote > * + * { margin-top: 0.8em; }
.longform strong,
.longform b { color: var(--ivory); font-weight: 500; }
.longform hr {
  height: 1px;
  margin-block: 2.8em;
  border: 0;
  background: var(--line);
}
.longform img { margin-block: 2em; }
.longform code {
  padding: 0.1em 0.35em;
  background: rgba(31, 58, 95, 0.45);
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 0.88em;
}
.longform table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.94em;
  line-height: 1.55;
}
.longform th,
.longform td {
  padding: 0.75em 0.9em 0.75em 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.longform th { color: var(--ivory); font-weight: 500; border-bottom-color: var(--gold-line); }
.longform a {
  color: var(--ivory);
  text-decoration-color: var(--gold);
  transition: color 0.3s var(--ease);
}
.longform a:hover { color: var(--gold-bright); }
/* Müvekkilden beklenen değerler için düzenli yer tutucu */
.placeholder {
  padding: 0 0.3em;
  border-bottom: 1px dashed var(--gold);
  color: var(--gold-bright);
  font-style: italic;
  white-space: nowrap;
}

/* Blog: liste (blog/index.html) ve yazı (blog/<slug>.html). Şablonlar: tools/templates/ */
.blog-intro {
  max-width: var(--measure);
  margin-top: clamp(1.1rem, 0.9rem + 1vw, 1.75rem);
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.85rem);
  font-style: italic;
  line-height: 1.35;
  text-wrap: pretty;
}
.post-list { margin-top: clamp(1rem, 0.5rem + 2vw, 2.5rem); }
.post-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.5rem;
  padding-block: clamp(1.9rem, 1.5rem + 1.6vw, 2.9rem);
  border-bottom: 1px solid var(--line);
}
.post-card::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-bright) 0%, var(--gold) 55%, rgba(198, 166, 113, 0) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.8s var(--ease-out);
}
.post-card:hover::after,
.post-card:focus-within::after { transform: scaleX(1); }
.post-card__date,
.post__date {
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.post-card__title {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 1.38rem + 1vw, 2.2rem);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: 0.005em;
  text-wrap: balance;
}
.post-card__title a {
  display: inline-block;
  padding-block: 0.28em;
  text-decoration: none;
  transition: color 0.3s var(--ease);
}
.post-card__title a:hover { color: var(--gold-bright); }
.post-card__excerpt {
  max-width: var(--measure);
  margin-top: 0.35rem;
  color: var(--text);
  text-wrap: pretty;
}
.post-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem 1.5rem;
  margin-top: 1.1rem;
}
@container wrap (min-width: 44rem) {
  .post-card { grid-template-columns: 10rem minmax(0, 1fr); gap: 0 2rem; }
  .post-card__date { padding-top: 1.05em; }
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.tag {
  display: inline-block;
  padding: 0.34em 0.85em 0.34em 1em;
  border: 1px solid var(--gold-faint);
  color: var(--mist);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.blog-empty {
  padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem);
  border-bottom: 1px solid var(--line);
  color: var(--text-dim);
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.18rem + 0.6vw, 1.6rem);
  font-style: italic;
}

.post__back { margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem); }
.post__back--end { margin: clamp(2.5rem, 2rem + 2vw, 3.5rem) 0 0; }
.post__title {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(2.05rem, 1.5rem + 2.6vw, 3.5rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.002em;
  text-wrap: balance;
}
.post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  margin-top: 1.4rem;
}
.post__body { margin-top: clamp(2rem, 1.5rem + 2.4vw, 3.5rem); }
.post__body > p:first-child {
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.85rem);
  font-weight: 500;
  line-height: 1.38;
}
.post__sources {
  margin-top: clamp(2.75rem, 2rem + 2.5vw, 4rem);
  padding-top: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  border-top: 1px solid var(--gold-line);
  font-size: 0.94em;
  line-height: 1.65;
}
.post__sources-title {
  margin-bottom: 1rem;
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.post__sources ul { list-style: none; }
.post__sources li { position: relative; padding-left: 1.7rem; overflow-wrap: anywhere; }
.post__sources li::before {
  content: "";
  position: absolute;
  left: 0; top: 1.4em;
  width: 5px; height: 5px;
  background: var(--gold);
}
.post__sources a {
  display: inline-block;
  padding-block: 0.66em;   /* tek satırlık kaynakta da >= 44px dokunma alanı */
  color: var(--ivory);
  text-decoration-color: var(--gold);
  transition: color 0.3s var(--ease);
}
.post__sources a:hover { color: var(--gold-bright); }

/* Küçük not kutusu (yazı altı uyarı) */
.note {
  margin-top: clamp(2rem, 1.5rem + 2vw, 3rem);
  padding: 1.15rem 1.4rem;
  border-left: 1px solid var(--gold);
  background: linear-gradient(90deg, rgba(31, 58, 95, 0.38), rgba(31, 58, 95, 0.08));
  color: var(--mist);
  font-size: 0.9rem;
  line-height: 1.7;
}

/* 16. Görünme animasyonu — sınıfları yalnızca main.js ekler; JS yoksa her şey görünür */
.reveal-init {
  opacity: 0;
  transform: translate3d(0, 1.6rem, 0);
}
.reveal-init.is-visible {
  opacity: 1;
  transform: none;
  transition:
    opacity 1s var(--ease) var(--reveal-delay, 0s),
    transform 1.1s var(--ease-out) var(--reveal-delay, 0s);
}
/* ince çizgiler görünürken çizilir */
.section-head.reveal-init::after { transform: scaleX(0); }
.section-head.reveal-init.is-visible::after {
  transform: scaleX(1);
  transition: transform 1.4s var(--ease-out) 0.25s;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  .scroll-cue::before { animation: none; }
  .reveal-init { opacity: 1; transform: none; }
  .section-head.reveal-init::after { transform: none; }
  .site-nav li { transform: none; }
}

@media print {
  :root { color-scheme: light; }
  html { background: #fff; }
  body { color: #111; }
  body::before, body::after { display: none; }
  .site-header { position: static; }
  .site-header::before, .site-header::after, .nav-toggle, .site-nav, .scroll-cue,
  .themis-stage, .skip-link, .hero__actions, .section::before, .hero::before { display: none !important; }
  .section, .hero, .site-footer { padding-right: 0 !important; }
  .hero { min-height: 0; }
  .brand img, .footer-brand img { filter: invert(1) grayscale(1); }
  .reveal-init { opacity: 1 !important; transform: none !important; }
  .hero__title, .section-title, .page-title, .post__title, .lead, .hero__lead, .index__title, .step__title,
  .trio__title, .signature__name, .letterhead address, .contact-item__value, .quote blockquote p,
  .longform h2, .longform h3, .longform strong, .post-card__title, .post__body > p:first-child { color: #111; }
  .eyebrow, .step__num, .quote figcaption, .letterhead__label, .contact-item__label, .index__row::before,
  .trio__item::before, .post__date, .post-card__date { color: #6b5a34; }
  .section-num { color: #bbb; -webkit-text-stroke: 0; }
  .site-footer, .hero__sub, .signature__meta, .quote__translation, .index__row p, .step p,
  .footer-id p:first-child, .footer-links a, .longform a, .note, .tag { color: #333; }
  .timeline.is-live .step .step__title, .timeline.is-live .step p { opacity: 1 !important; }
  /* Kâğıt genişliği dar yerleşime denk gelir: mobildeki koyu metin halesi (beyaz kâğıtta leke gibi
     basılır) ve sayfa sonundaki boş heykel "sahnesi" baskıda kaldırılır. */
  .has-themis .hero__eyebrow, .has-themis .hero__sub { text-shadow: none; }
  .has-themis .contact { padding-bottom: 2rem; }
  .site-footer::before { display: none !important; }
}

/* ==========================================================================
   17. Çok dillilik — TR / EN / RU / AR  (sayfaları tools/build-i18n.mjs üretir)
       17.1 Ek yazı tipleri   17.2 Dil seçici   17.3 Rusça   17.4 Arapça   17.5 Sağdan sola (RTL)
   ========================================================================== */

/* 17.1 Ek yazı tipi alt kümeleri. unicode-range sayesinde yalnızca ilgili harfler ekrana
   çizildiğinde indirilir: Türkçe ve İngilizce sayfalar bu dosyaların hiçbirini istemez. */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-italic-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../assets/fonts/jost-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Cinzel'de Kiril harfleri yoktur. Başlıklarda Kiril harfleri için Cormorant Garamond'un Kiril
   alt kümesi "Cinzel" ailesine bağlanır (biraz büyütülerek): başlık kuralları değişmeden çalışır. */
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  size-adjust: 108%;
}
@font-face {
  font-family: "Noto Naskh Arabic";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/noto-naskh-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../assets/fonts/noto-sans-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

/* 17.2 Dil seçici — menünün ilk öğesi (Hakkında'nın solunda). İşaretleme: tools/build-i18n.mjs.
   JS yokken: dört bayrak yan yana düz bağlantıdır. JS varken (html.js) masaüstünde bayraklı
   düğme + açılır liste; 960px altındaki tam ekran menüde listenin başında dört bayraklı satır. */
.flag {
  flex: none;
  width: 24px;
  height: 16px;
  box-shadow: 0 0 0 1px rgba(246, 242, 234, 0.36);
}
.site-nav .lang { position: relative; }
.lang__btn {
  display: none;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  margin-inline: -0.4rem;
  padding: 0 0.4rem;
  border: 0;
  background: none;
  cursor: pointer;
}
.lang__caret {
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.35s var(--ease-out);
}
.lang.is-open .lang__caret { transform: translateY(1px) rotate(225deg); }
.lang__btn:hover .flag,
.lang.is-open .lang__btn .flag { box-shadow: 0 0 0 1px var(--gold-bright); }

.site-nav .lang__menu {
  display: flex;
  align-items: center;
  gap: 0.25rem 0.9rem;
  margin: 0;
  counter-reset: none;
  list-style: none;
}
.site-nav .lang__menu li {
  border: 0;
  opacity: 1;
  transform: none;
  transition: none;
  counter-increment: none;
}
.site-nav .lang__menu a {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  padding: 0.4rem 0.15rem;
  color: var(--ivory);
  font-family: var(--font-sans);
  font-size: 0.84rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: none;
  white-space: nowrap;
}
/* Rusça ve Arapça dil adları sistem yazı tipiyle yazılır: bu iki sözcük için diğer dillerdeki
   sayfalar Kiril / Arap yazı tipi dosyası indirmesin. */
.site-nav .lang__menu a:lang(ru),
.site-nav .lang__menu a:lang(ar) {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans", Tahoma, Arial, sans-serif;
  letter-spacing: 0;
}
.site-nav .lang__menu a::before,
.site-nav .lang__menu a::after { content: none; }
.site-nav .lang__menu a:hover,
.site-nav .lang__menu a[aria-current] { color: var(--gold-bright); }
.site-nav .lang__menu a[aria-current] .flag { box-shadow: 0 0 0 1px var(--gold-bright); }

@media (min-width: 960px) {
  /* JS yokken yalnızca bayraklar görünür; dil adı ekran okuyucuya kalır */
  html:not(.js) .site-nav .lang__name {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .js .lang__btn { display: inline-flex; }
  .js .site-nav .lang__menu {
    display: none;
    position: absolute;
    top: calc(100% + 0.5rem);
    inset-inline-start: -1rem;
    z-index: 5;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    min-width: 11.5rem;
    padding: 0.4rem;
    border: 1px solid var(--gold-line);
    background: rgba(8, 16, 28, 0.97);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5);
  }
  .js .site-nav .lang.is-open .lang__menu {
    display: flex;
    animation: lang-in 0.28s var(--ease-out) both;
  }
  .js .site-nav .lang__menu a { padding: 0.45rem 0.75rem; }
  .js .site-nav .lang__menu a:hover,
  .js .site-nav .lang__menu a:focus-visible { background: rgba(31, 58, 95, 0.55); }
  .js .site-nav .lang__menu a:focus-visible { outline-offset: -2px; }
  /* etkin dil: sonda küçük altın kare */
  .js .site-nav .lang__menu a[aria-current]::after {
    content: "";
    position: static;
    width: 5px;
    height: 5px;
    margin-inline-start: auto;
    background: var(--gold);
    transform: none;
  }
}
@keyframes lang-in { from { opacity: 0; transform: translateY(-0.4rem); } to { opacity: 1; transform: none; } }

/* Dil seçici eklendi: dar masaüstü genişliklerinde menü logoya taşmasın */
@media (min-width: 960px) and (max-width: 1239.98px) {
  .site-nav > ul { gap: clamp(0.85rem, 1.7vw, 1.4rem); }
  .site-nav > ul > li > a { font-size: 0.72rem; letter-spacing: 0.15em; }
  .site-nav > ul > li > a::after { right: 0.15em; }
}

@media (max-width: 959.98px) {
  .site-nav .lang { counter-increment: none; }
  .site-nav .lang__menu {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 0.5rem;
    padding-block: 0.6rem;
  }
  .site-nav .lang__menu a { gap: 0.4rem; padding-inline: 0; font-size: 0.8rem; letter-spacing: 0; }
}

/* 17.3 Rusça — Kiril harfli başlıklar Cormorant Garamond ile dizilir (bkz. 17.1): biraz daha dolgun */
:lang(ru):is(.section-title, .page-title, .contact-form__title) { font-weight: 500; letter-spacing: 0.05em; }
:lang(ru):is(.trio__title, .longform h2) { font-weight: 600; letter-spacing: 0.1em; }
/* "15 ноября 2026 г." liste sütununa tek satırda sığsın */
.post-card__date:lang(ru) { letter-spacing: 0.14em; white-space: nowrap; }
@media (max-width: 959.98px) {
  .site-nav > ul > li > a:lang(ru) { font-weight: 500; letter-spacing: 0.05em; }
}

/* 17.4 Arapça — yazı tipleri; harf aralığı ve büyük harfe çevirme kapatılır (harf birleşimini bozar).
   Latin harfli parçalar (ad, adres, Latince alıntı) kendi lang niteliğiyle bu kuralların dışında kalır. */
:root:lang(ar) {
  --font-display: "Cinzel", "Noto Naskh Arabic", "Traditional Arabic", "Times New Roman", serif;
  --font-serif: "Cormorant Garamond", "Noto Naskh Arabic", "Traditional Arabic", Georgia, serif;
  --font-sans: "Jost", "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif;
}
:lang(ar) {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-style: normal !important;
}
body:lang(ar) { line-height: 1.95; }
:lang(ar):is(.eyebrow, .hero__sub, .scroll-cue, .signature__meta, .letterhead__label, .contact-item__label,
  .page-meta, .btn, .text-link, .nav-toggle, .site-nav__meta, .step__num) { font-size: 0.98rem; }
:lang(ar):is(.section-title, .page-title) { font-weight: 600; line-height: 1.5; }
:lang(ar):is(.hero__lead, .lead) { line-height: 1.7; }
.hero__lead:lang(ar) { font-size: clamp(1.3rem, 1rem + 1.05vw, 1.75rem); }
:lang(ar):is(.index__title, .step__title, .trio__title, .contact-form__title, .signature__name) { line-height: 1.6; }
:lang(ar).trio__title { font-size: 1.25rem; font-weight: 600; }
:lang(ar).quote__translation { line-height: 1.8; }
.longform:lang(ar) { line-height: 2; }
.longform h2:lang(ar) { font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem); font-weight: 600; line-height: 1.7; }
@media (min-width: 960px) {
  .site-nav > ul > li > a:lang(ar) { font-size: 0.98rem; }
}
@media (max-width: 959.98px) {
  .site-nav > ul > li > a:lang(ar) { line-height: 1.6; }
}

/* 17.5 Sağdan sola (dir="rtl"). Themis sütunu her dilde sağda kalır (css/themis.css'e dokunulmaz);
   metin sütunu solda kalır, metnin kendisi sağa yaslanır. Aşağıda yalnızca fiziksel (sol/sağ)
   değerlerle yazılmış kuralların ayna karşılıkları vardır. */
[dir="rtl"] .btn { padding-inline: 2.2em; background-position: right center; }
[dir="rtl"] .text-link { background-position: right bottom 0.5em; }
[dir="rtl"] .text-link:hover .text-link__arrow { transform: translate(-2px, -2px); }
[dir="rtl"] .text-link:hover .text-link__arrow--back { transform: translateX(4px); }
[dir="rtl"] .site-header::after {
  background: linear-gradient(270deg, var(--gold), var(--gold-bright));
  transform-origin: right center;
}
[dir="rtl"] .site-nav > ul > li > a::after { right: 0; transform-origin: left center; }
[dir="rtl"] .site-nav > ul > li > a:hover::after,
[dir="rtl"] .site-nav > ul > li > a.is-active::after,
[dir="rtl"] .site-nav > ul > li > a[aria-current="page"]::after { transform-origin: right center; }
[dir="rtl"] .nav-toggle { margin-right: 0; margin-left: -0.4rem; }
[dir="rtl"] .nav-toggle__bars::before,
[dir="rtl"] .nav-toggle__bars::after { right: auto; left: 0; }
[dir="rtl"] .hero__rule {
  background: linear-gradient(270deg, var(--gold-bright) 0%, var(--gold) 55%, rgba(198, 166, 113, 0) 100%);
  transform-origin: right center;
}
[dir="rtl"] .section-head::after,
[dir="rtl"] .page-head::after {
  background: linear-gradient(270deg, var(--gold) 0%, var(--gold-line) 34%, var(--line) 100%);
  transform-origin: right center;
}
@container wrap (min-width: 38rem) {
  [dir="rtl"] .section-body--inset { padding-left: 0; padding-right: clamp(8rem, 24cqw, 13rem); }
  [dir="rtl"] .trio__item { border-left: 0; border-right: 1px solid var(--line); }
  [dir="rtl"] .trio__item:last-child { padding-right: clamp(1.1rem, 3cqw, 2rem); padding-left: 0; }
  [dir="rtl"] .trio__item:first-child { padding-right: 0; padding-left: clamp(1.1rem, 3cqw, 2rem); border-right: 0; }
}
[dir="rtl"] .signature__name {
  background: linear-gradient(270deg, var(--gold), rgba(198, 166, 113, 0)) right bottom / 100% 1px no-repeat;
}
[dir="rtl"] .index__row::after {
  background: linear-gradient(270deg, var(--gold-bright) 0%, var(--gold) 55%, rgba(198, 166, 113, 0) 100%);
  transform-origin: right center;
}
@media (hover: hover) {
  [dir="rtl"] .index__row:hover .index__title { transform: translateX(-0.6rem); }
}
[dir="rtl"] .timeline { padding-left: 0; padding-right: var(--indent); }
[dir="rtl"] .timeline::before,
[dir="rtl"] .timeline::after { left: auto; right: var(--rail); }
[dir="rtl"] .step::before { left: auto; right: calc(var(--rail) - var(--indent) - 4px); }
/* Latince alıntı ve kaynağı soldan sağa okunur, sütunda sağa yaslanır */
[dir="rtl"] .quote blockquote,
[dir="rtl"] .quote figcaption { text-align: right; }
[dir="rtl"] .contact .section-head::before {
  background: linear-gradient(270deg, var(--gold-bright) 0%, var(--gold) 45%, rgba(198, 166, 113, 0) 100%);
  transform-origin: right center;
}
[dir="rtl"] .field__control::after {
  background: linear-gradient(270deg, var(--gold-bright), var(--gold));
  transform-origin: right center;
}
[dir="rtl"] .field label { left: auto; right: 0; }
[dir="rtl"] .field__req { margin-left: 0; margin-right: 0.3em; }
/* RTL'de sola taşan öğe yatay kaydırma üretir: tuzak alan sağa taşınır */
[dir="rtl"] .field--trap { left: auto; right: -9999px; }
[dir="rtl"] .form-status { padding: 0.2rem 1.1rem 0.2rem 0; border-left: 0; border-right: 1px solid var(--gold); }
[dir="rtl"] .form-status.is-error { border-right-color: var(--error); }
[dir="rtl"] .footer-links a { background-position: right bottom 0.7em; }
[dir="rtl"] .longform h2 .num { margin-right: 0; margin-left: 0.7em; }
[dir="rtl"] .longform li { padding-left: 0; padding-right: 1.7rem; }
[dir="rtl"] .longform ol > li { padding-right: 2.2rem; }
[dir="rtl"] .longform ul > li::before,
[dir="rtl"] .longform ol > li::before { left: auto; right: 0; }
[dir="rtl"] .longform blockquote {
  padding-left: 0;
  padding-right: clamp(1.1rem, 0.8rem + 1.4vw, 1.9rem);
  border-left: 0;
  border-right: 1px solid var(--gold);
}
[dir="rtl"] .longform th,
[dir="rtl"] .longform td { padding: 0.75em 0 0.75em 0.9em; text-align: right; }
[dir="rtl"] .note {
  border-left: 0;
  border-right: 1px solid var(--gold);
  background: linear-gradient(270deg, rgba(31, 58, 95, 0.38), rgba(31, 58, 95, 0.08));
}


/* ==========================================================================
   18. Online randevu formu (select / tarih alanları) ve WhatsApp düğmesi
   ========================================================================== */
.contact-form__lead { max-width: 40rem; margin-top: 0.9rem; color: var(--text); line-height: 1.7; }
.field select {
  display: block;
  width: 100%;
  min-height: 3rem;
  padding: 0.6rem 1.6rem 0.65rem 0;
  border: 0;
  border-bottom: 1px solid var(--line-strong);
  border-radius: 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23C6A671' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 0.15rem center;
  color: var(--ivory);
  font: inherit;
  font-size: max(1.0625rem, 16px);
  line-height: 1.5;
  outline: none;
  cursor: pointer;
  transition: border-color 0.3s var(--ease);
  -webkit-appearance: none;
  appearance: none;
}
.field select:hover { border-bottom-color: var(--mist); }
.field select option { background: #101F35; color: #F6F2EA; }
.field input[type="date"] { min-width: 0; font-family: inherit; color-scheme: dark; }
/* select ve tarih alanlarında etiket her zaman yukarıda durur */
.field select + label,
.field input[type="date"] + label {
  top: 0.15rem;
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
[dir="rtl"] .field select { padding: 0.6rem 0 0.65rem 1.6rem; background-position: left 0.15rem center; }
[lang="ar"] .field select + label,
[lang="ar"] .field input[type="date"] + label { letter-spacing: 0; text-transform: none; font-size: 0.85rem; }

.wa-fab {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 40;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid rgba(37, 211, 102, 0.55);
  border-radius: 50%;
  background: rgba(10, 20, 34, 0.86);
  color: #25D366;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  transition: background-color 0.3s var(--ease), color 0.3s var(--ease), transform 0.3s var(--ease);
}
.wa-fab:hover { background: #25D366; color: #0A1422; transform: translateY(-2px); }
.wa-fab:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
[dir="rtl"] .wa-fab { right: auto; left: max(1rem, env(safe-area-inset-left)); }
@media print { .wa-fab { display: none; } }
