/* ============================================================
   REFAJANS — Paylaşılan stil (DESIGN.md, Elevate yerleşimi: lacivert + altın + serif)
   Token'lar yalnız burada; değerler tests/contrast.test.js ile DESIGN.md'ye karşı denetlenir.
   ============================================================ */
:root, :root[data-theme="light"] {
  --bg: #FFFFFF;
  --surface: #F4F4F4;
  --ink: #1B2338;
  --body: #3D4457;
  --faint: #5A6072;
  --line: rgba(27,35,56,.14);
  --field: #858A97;
  --accent: #E8B04A;
  --accent-text: #8A5A0B;
  --on-accent: #121829;
  --navy: #1B2338;
  --navy-deep: #121829;
  --navy-card: #283250;
  --on-navy: #FFFFFF;
  --navy-soft: #C9CEDB;
  --navy-line: rgba(255,255,255,.16);
  --navy-accent: #E8B04A;
  --photo-scrim: rgba(27,35,56,.55);
  --photo-scrim-strong: rgba(18,24,41,.72);
  --whatsapp: #1F7A4D;
  --on-whatsapp: #FFFFFF;
  --error: #B42332;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #121829;
  --surface: #1B2338;
  --ink: #F4F4F4;
  --body: #C9CEDB;
  --faint: #9EA6BA;
  --line: rgba(255,255,255,.12);
  --field: #6E7890;
  --accent: #E8B04A;
  --accent-text: #E8B04A;
  --on-accent: #121829;
  --navy: #1B2338;
  --navy-deep: #121829;
  --navy-card: #283250;
  --on-navy: #FFFFFF;
  --navy-soft: #C9CEDB;
  --navy-line: rgba(255,255,255,.12);
  --navy-accent: #E8B04A;
  --photo-scrim: rgba(27,35,56,.55);
  --photo-scrim-strong: rgba(18,24,41,.72);
  --whatsapp: #1F7A4D;
  --on-whatsapp: #FFFFFF;
  --error: #FF9CA5;
  color-scheme: dark;
}
:root {
  --ff-head: 'Bitter', Georgia, 'Times New Roman', serif;
  --ff-body: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --maxw: 1200px;
  --gutter: 40px;
  --r-pill: 999px;
  --r-card: 4px;
  --r-img: 4px;
  --r-field: 6px;
  --header-h: 76px;
  --dur: 200ms;
  --shadow-fab: 0 8px 24px rgba(0,0,0,.2);
  --scrim: rgba(18,24,41,.96);   /* galeri / film görüntüleyici zemini, iki temada aynı */
  --on-scrim: #FFFFFF;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-padding-top: calc(var(--header-h) + 12px); -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg); color: var(--body);
  font: 400 17px/1.65 var(--ff-body);
  -webkit-font-smoothing: antialiased; overflow-x: clip;
  transition: background-color var(--dur), color var(--dur);
}
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { font-family: var(--ff-head); font-weight: 600; color: var(--ink); letter-spacing: -0.01em; line-height: 1.12; overflow-wrap: anywhere; }
h1 { font-size: clamp(40px, 5.6vw, 72px); line-height: 1.08; }
h2 { font-size: clamp(30px, 3.6vw, 48px); }
h3 { font-size: 22px; font-weight: 600; line-height: 1.25; }
p { overflow-wrap: break-word; }
.lead { font-size: clamp(18px, 1.6vw, 20px); color: var(--body); }
.meta, .eyebrow { font-size: 14px; color: var(--faint); }
.eyebrow { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.link-accent { color: var(--accent-text); font-weight: 700; text-decoration: none; }
.link-accent:hover { text-decoration: underline; }
.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; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: clamp(72px, 8vw, 104px) 0; }
.sec-light { background: var(--bg); }
.sec-gray { background: var(--surface); }
@media (max-width: 760px) { :root { --gutter: 16px; } }

/* odak halkası: görünür, iki temada da 4.5:1 üstü */
:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; border-radius: 2px; }
.on-navy :focus-visible, .rh :focus-visible, .rf :focus-visible, .photo :focus-visible { outline-color: var(--navy-accent); }
.skip { position: absolute; left: 16px; top: -100px; z-index: 100; background: var(--accent); color: var(--on-accent); padding: 12px 18px; border-radius: var(--r-pill); font-weight: 700; text-decoration: none; }
.skip:focus { top: 12px; }

/* ---------- butonlar ve haplar ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 24px; border-radius: var(--r-pill);
  border: 1px solid transparent; background: none; cursor: pointer;
  font-weight: 700; font-size: 16px; text-decoration: none; white-space: nowrap;
  transition: background-color var(--dur), color var(--dur), border-color var(--dur), opacity var(--dur);
}
.btn-accent { background: var(--accent); color: var(--on-accent); }
.btn-accent:hover { opacity: .88; }
.btn-ink { background: var(--ink); color: var(--bg); }
.btn-ink:hover { opacity: .85; }
.btn-line { border-color: var(--line); color: var(--ink); }
.btn-line:hover { border-color: var(--ink); }
.btn-outline { border-color: var(--ink); color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--bg); }
.btn-ghost { border-color: var(--on-navy); color: var(--on-navy); }
.btn-ghost:hover { background: var(--on-navy); color: var(--navy); }
.btn-wa { background: var(--whatsapp); color: var(--on-whatsapp); }
.btn-wa:hover { opacity: .9; }
.btn-lg { min-height: 52px; padding: 0 28px; }
.btn svg { flex: none; }
.btn:disabled { opacity: .6; cursor: progress; }
.btn .arr { transition: transform var(--dur); }
.btn:hover .arr { transform: translateX(3px); }
.icon-btn {
  width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center;
  border-radius: var(--r-pill); border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer;
}
.pill {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px;
  border-radius: var(--r-pill); border: 1px solid var(--line); background: transparent;
  color: var(--ink); font-weight: 700; font-size: 15px; cursor: pointer; text-decoration: none;
  transition: background-color var(--dur), color var(--dur);
}
.pill[aria-pressed="true"], .pill.is-on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.badge { display: inline-flex; align-items: center; min-height: 30px; padding: 0 14px; border-radius: var(--r-pill); background: var(--accent); color: var(--on-accent); font-size: 13px; font-weight: 700; }
.badge-line { background: transparent; border: 1px solid var(--navy-line); color: var(--on-navy); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
.center { margin-top: 40px; text-align: center; }

/* ---------- lacivert yüzeyler ---------- */
.on-navy { background: var(--navy); color: var(--navy-soft); }
.on-navy h1, .on-navy h2, .on-navy h3 { color: var(--on-navy); }
.on-navy .lead { color: var(--navy-soft); }
.pattern { background-image: radial-gradient(var(--navy-line) 1px, transparent 1.5px); background-size: 28px 28px; }

/* başlıkta altın çizgili tek kelime */
.hl { box-shadow: inset 0 -0.2em 0 var(--accent); -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .04em; }

/* fotoğraf üstü kutu: görsel + perde + içerik */
.photo { position: relative; overflow: hidden; background: var(--navy); color: var(--on-navy); isolation: isolate; }
.photo > .ph-img, .photo > .ph-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.photo::after { content: ""; position: absolute; inset: 0; background: var(--photo-scrim); z-index: -1; }
.photo.strong::after, .photo .ph-text-zone { background: var(--photo-scrim-strong); }
.photo .ph-text-zone { position: absolute; inset: 0; z-index: -1; }
.linkish { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; min-height: 44px; text-align: left; }

/* ---------- header ---------- */
.rh { position: sticky; top: 0; z-index: 50; background: var(--navy); color: var(--on-navy); }
.rh-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--header-h); }
.logo { font-family: var(--ff-head); font-weight: 600; font-size: 30px; letter-spacing: -0.01em; color: var(--on-navy); text-decoration: none; line-height: 1; }
.logo span { color: var(--navy-accent); }
.rh-nav { display: flex; align-items: center; gap: 4px; font-weight: 700; font-size: 16px; }
.rh-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; color: var(--on-navy); text-decoration: none; border-bottom: 2px solid transparent; }
.rh-nav a:hover, .rh-nav a[aria-current="page"] { border-bottom-color: var(--navy-accent); }
.rh-right { display: flex; align-items: center; gap: 8px; }
.rh .icon-btn, .rh .lang-btn { border-color: var(--navy-line); color: var(--on-navy); }
.lang-btn { min-height: 44px; padding: 0 14px; border-radius: var(--r-pill); border: 1px solid var(--line); background: transparent; color: var(--ink); font-weight: 700; font-size: 14px; cursor: pointer; white-space: nowrap; }
.lang-off { opacity: .72; }
.rh-cta { min-height: 44px; padding: 0 20px; }
.rh-burger { display: none; }
@media (max-width: 980px) {
  .rh-nav, .rh-cta, .rh-right > .lang-btn, .rh-right > [data-theme-toggle] { display: none; }
  .rh-burger { display: grid; }
  .logo { font-size: 26px; }
}

/* mobil menü: lacivert çekmece */
.rm-overlay { position: fixed; inset: 0; z-index: 90; background: var(--navy); color: var(--on-navy); padding: 0 var(--gutter) 32px; display: flex; flex-direction: column; gap: 24px; overflow-y: auto; }
.rm-top { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); }
.rm-overlay .icon-btn, .rm-overlay .lang-btn { border-color: var(--navy-line); color: var(--on-navy); }
.rm-overlay :focus-visible { outline-color: var(--navy-accent); }
.rm-nav { display: flex; flex-direction: column; }
.rm-nav a { font-family: var(--ff-head); font-weight: 600; font-size: 32px; color: var(--on-navy); text-decoration: none; padding: 10px 0; border-bottom: 1px solid var(--navy-line); }
.rm-nav a[aria-current="page"] { color: var(--navy-accent); }
.rm-controls { display: flex; gap: 8px; }
body.menu-open { overflow: hidden; }

/* ---------- footer ---------- */
.rf { background: var(--navy-deep); color: var(--navy-soft); border-top: 1px solid var(--navy-line); }
.rf-in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px 40px; padding-top: 56px; padding-bottom: 40px; font-size: 15px; }
.rf .logo { font-size: 28px; }
.rf-col { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.rf-col h2 { font-family: var(--ff-body); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--on-navy); margin-bottom: 8px; }
.rf a, .rf .linkish { color: var(--navy-soft); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.rf a:hover, .rf .linkish:hover { color: var(--on-navy); text-decoration: underline; }
.rf .linkish { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; text-align: left; }
.rf-tag { max-width: 280px; margin-top: 12px; }
.rf-copy { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid var(--navy-line); font-size: 14px; }

/* ---------- sabit WhatsApp ---------- */
.wa-fab {
  position: fixed; right: 24px; bottom: 24px; z-index: 60; width: 60px; height: 60px;
  border-radius: var(--r-pill); background: var(--whatsapp); color: var(--on-whatsapp);
  display: grid; place-items: center; box-shadow: var(--shadow-fab);
}
@media (max-width: 760px) { .wa-fab { right: 16px; bottom: 16px; } }

/* ---------- çerez bildirimi (içeriği kapatmaz, odak tuzağı yok) ---------- */
.cc { position: fixed; left: 16px; bottom: 16px; z-index: 70; max-width: min(520px, calc(100% - 104px)); padding: 12px 16px; border-radius: 14px; background: var(--navy); color: var(--navy-soft); border: 1px solid var(--navy-line); box-shadow: var(--shadow-fab); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 13px; line-height: 1.45; }
.cc[hidden] { display: none; }
.cc p { flex: 1 1 260px; margin: 0; }
.cc a { color: var(--on-navy); font-weight: 700; }
.cc :focus-visible { outline-color: var(--navy-accent); }
.cc .actions { gap: 8px; flex-wrap: nowrap; }
.cc .btn { min-height: 44px; padding: 0 16px; font-size: 14px; }
/* dar ekran: ince alt şerit; metin 2 satır, düğmeler yan yana */
@media (max-width: 760px) { .cc { left: 0; right: 0; bottom: 0; max-width: none; border-radius: 0; border-width: 1px 0 0; padding: 10px 12px; padding-right: 84px; font-size: 12.5px; } .cc p { flex-basis: 100%; } }
.video-note { margin-top: 12px; font-size: 14px; color: var(--faint); }

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

/* ---------- dekor şekiller: görsel yokken token renkli yüzey (yer tutucu metin yok) ---------- */
.shape { position: relative; overflow: hidden; background: var(--navy-card); }
.shape::before, .shape::after { content: ""; position: absolute; border-radius: 50%; }
.shape-card { display: block; position: absolute; inset: 0; }
.shape-card::before { width: 46%; aspect-ratio: 1; right: -10%; bottom: -16%; border: 1px solid var(--navy-line); }
.shape-card::after { width: 9%; aspect-ratio: 1; left: 10%; top: 14%; background: var(--accent); }
.shape-video { position: absolute; inset: 0; }
.shape-video::before { width: 40%; aspect-ratio: 1; left: -8%; bottom: -30%; border: 1px solid var(--navy-line); }
.shape-empty { display: block; width: 72px; height: 72px; border-radius: 50%; }
.shape-empty::before { width: 36%; aspect-ratio: 1; left: 32%; top: 32%; background: var(--accent); }

/* ============================================================
   Ana sayfa
   ============================================================ */
/* 1) tam ekran giriş */
.hero-full { min-height: min(88vh, 920px); min-height: min(88svh, 920px); display: flex; align-items: center; }
.hero-full .hero-in { width: 100%; padding-top: 72px; padding-bottom: 88px; }
.hero-full .ph-text-zone { position: absolute; inset: 0 40% 0 0; z-index: -1; }
.hero-full h1 { max-width: 880px; color: var(--on-navy); font-weight: 600; }
.hero-full .eyebrow { color: var(--navy-soft); margin-bottom: 20px; }
.hero-lead { margin-top: 28px; max-width: 620px; font-size: clamp(18px, 1.7vw, 21px); line-height: 1.6; color: var(--on-navy); }
.hero-full .actions { margin-top: 40px; }
@media (max-width: 760px) {
  .hero-full { min-height: min(80vh, 760px); min-height: min(80svh, 760px); }
  .hero-full .hero-in { padding-top: 48px; padding-bottom: 64px; }
  .hero-full .ph-text-zone { inset: 0; }
}

/* 2) marka şeridi */
.clients { padding: 48px 0; border-bottom: 1px solid var(--line); }
.clients .eyebrow { text-align: center; margin-bottom: 24px; }
.logos { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 48px; }
.logos li { display: grid; place-items: center; min-height: 56px; }
.logos img { max-height: 48px; max-width: 160px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: opacity var(--dur); }
.logos li:hover img { opacity: 1; }
:root[data-theme="dark"] .logos img { filter: grayscale(1) invert(1); }

/* bölüm başlığı satırı */
.sec-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.sec-head:empty { display: none; }
.sec-head h2 { max-width: 760px; }
.sec-head.centered { justify-content: center; text-align: center; }

/* 3) hizmet kartları */
.svc-grid, .reasons-grid { list-style: none; padding: 0; }
.svc-grid > li { display: flex; }
.svc-card { flex: 1 1 auto; }
.svc-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .svc-grid { grid-template-columns: 1fr; } }
.svc-card { display: flex; flex-direction: column; justify-content: flex-end; min-height: 380px; padding: 32px; border-radius: var(--r-card); text-decoration: none; }
.svc-card.no-img { background: var(--navy); }
.svc-card.no-img::after { display: none; }
.svc-num { position: absolute; top: 20px; right: 24px; font-family: var(--ff-head); font-weight: 700; font-size: 96px; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--navy-line); }
.svc-card h3 { color: var(--on-navy); font-size: 26px; }
.svc-card p { margin-top: 10px; color: var(--on-navy); font-size: 16px; line-height: 1.55; }
.svc-go { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 700; color: var(--navy-accent); }
.svc-card:hover .svc-go .arr { transform: translateX(4px); }
.svc-go .arr { transition: transform var(--dur); }

/* 4) işler bandı + carousel */
.work-band { padding: clamp(72px, 8vw, 104px) 0; }
.work-band .sec-head h2 { color: var(--on-navy); }
.car { position: relative; }
.car-track { display: grid; grid-auto-flow: column; grid-auto-columns: min(86%, 440px); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 8px; overscroll-behavior-x: contain; }
.car-track::-webkit-scrollbar { display: none; }
.car-track > * { scroll-snap-align: start; }
.car-ctrl[hidden] { display: none; }
.car-ctrl { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 32px; }
.car-btn { width: 56px; height: 56px; border-radius: var(--r-pill); border: 1px solid currentColor; background: transparent; color: inherit; display: grid; place-items: center; cursor: pointer; transition: opacity var(--dur), background-color var(--dur); }
.car-btn[aria-disabled="true"] { opacity: .35; cursor: default; }
.car-dots { display: flex; gap: 4px; }
.car-dot { width: 28px; height: 44px; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; padding: 0; }
.car-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; opacity: .4; transition: opacity var(--dur); }
.car-dot[aria-current="true"]::before { opacity: 1; background: var(--accent); }
.on-navy .car-ctrl { color: var(--on-navy); }
.sec-light .car-ctrl, .sec-gray .car-ctrl { color: var(--ink); }

/* etkinlik kartı: fotoğraf üstü perdeli */
.ev-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.ev-card { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--r-card); overflow: hidden; background: var(--navy-card); color: var(--on-navy); text-decoration: none; isolation: isolate; }
.ev-card[hidden] { display: none; }
.ev-cover, .ev-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ev-cover img { transition: transform 400ms; }
.ev-card:hover .ev-cover img { transform: scale(1.03); }
.ev-body { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: end; gap: 12px; padding: 20px 22px; background: var(--photo-scrim-strong); }
.ev-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ev-title { font-family: var(--ff-head); font-weight: 600; font-size: 22px; line-height: 1.2; color: var(--on-navy); overflow-wrap: anywhere; }
.ev-meta { font-size: 14px; color: var(--navy-soft); }
.ev-cat { flex: none; padding: 4px 12px; border-radius: var(--r-pill); background: var(--accent); color: var(--on-accent); font-size: 13px; font-weight: 700; white-space: nowrap; }
.ev-card:focus-visible { outline: 3px solid var(--accent-text); outline-offset: 3px; }
.on-navy .ev-card:focus-visible { outline-color: var(--navy-accent); }
@media (max-width: 420px) { .ev-body { flex-direction: column; align-items: flex-start; } }

.empty { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding: 48px; border-radius: var(--r-card); background: var(--surface); }
.empty .shape-empty { background: var(--navy); }
.empty-title { font-family: var(--ff-head); font-weight: 600; font-size: clamp(26px, 3vw, 40px); line-height: 1.15; color: var(--ink); }
.on-navy .empty { background: var(--navy-card); }
.on-navy .empty-title { color: var(--on-navy); }
@media (max-width: 760px) { .empty { padding: 28px 20px; } }

/* 5) rakam bandı */
.stats-band { padding: clamp(72px, 8vw, 112px) 0; }
.stats-band::after { background: var(--photo-scrim-strong); }
.stats-band.no-img { background: var(--navy-deep); }
.stats-band.no-img::after { display: none; }
.counters { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 32px; text-align: center; }
.counters strong { display: block; font-family: var(--ff-head); font-weight: 600; font-size: clamp(44px, 5vw, 64px); line-height: 1; color: var(--on-navy); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.counters span { display: block; margin-top: 12px; font-size: 17px; color: var(--on-navy); }

/* 6) neden biz */
.reasons-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .reasons-grid { grid-template-columns: 1fr; } }
.rs-card { min-height: 340px; padding: 40px; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; border-radius: var(--r-card); }
.rs-card.no-img { background: var(--navy); }
.rs-card.no-img::after { display: none; }
.rs-card:not(.no-img)::after { background: var(--photo-scrim-strong); }
.rs-ic { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); margin-bottom: 8px; }
.rs-card h3 { font-size: clamp(24px, 2.4vw, 30px); color: var(--on-navy); }
.rs-card p { color: var(--on-navy); font-size: 17px; max-width: 460px; }
@media (max-width: 760px) { .rs-card { min-height: 260px; padding: 28px; } }

/* 7) müşteri yorumları */
.testi-band .car-track { grid-auto-columns: min(100%, 760px); }
.testi { padding: 40px; border-radius: var(--r-card); background: var(--surface); border-left: 4px solid var(--accent); }
.testi blockquote { font-family: var(--ff-head); font-weight: 500; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.45; color: var(--ink); }
.testi figcaption { margin-top: 20px; font-size: 15px; color: var(--faint); }
.testi figcaption a { color: var(--accent-text); font-weight: 700; }
@media (max-width: 760px) { .testi { padding: 28px 22px; } }

/* 8) iletişim kutusu ve form */
.contact-box { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 48px; padding: 48px; border-radius: var(--r-card); background: var(--bg); border: 1px solid var(--line); }
.contact-intro { display: flex; flex-direction: column; gap: 20px; }
.contact-intro h1, .contact-intro h2 { font-size: clamp(32px, 3.8vw, 48px); }
.contact-intro .actions { margin-top: 4px; }
@media (max-width: 760px) { .contact-box { padding: 24px 16px; gap: 32px; } }
.field label { display: block; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 10px 14px; border-radius: var(--r-field);
  border: 1px solid var(--field); background: var(--bg); color: var(--ink);
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 1px; }
.field .err { color: var(--error); font-size: 14px; margin-top: 6px; }
.cform { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-content: start; }
.cform .wide { grid-column: 1 / -1; }
.cform .field label { font-size: 14px; }
.cform .req { color: var(--faint); }
.cform .field input, .cform .field select { padding: 0 14px; }
.cform .field input[type="date"] { padding: 10px 14px; }
.cform [aria-invalid="true"] { border-color: var(--error); }
.field.check { display: grid; grid-template-columns: 24px 1fr; gap: 6px 12px; align-items: start; }
.field.check input { width: 24px; height: 24px; min-height: 0; margin-top: 2px; padding: 0; accent-color: var(--accent-text); }
.field.check label { margin: 0; font-weight: 500; color: var(--body); font-size: 15px; }
.field.check .err { grid-column: 2; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { font-weight: 700; min-height: 1.6em; color: var(--ink); }
.form-status.is-error { color: var(--error); }
@media (max-width: 560px) { .cform { grid-template-columns: 1fr; } }

/* ============================================================
   İç sayfalar
   ============================================================ */
.page-hero { padding: 64px 0 72px; }
.page-hero h1 { max-width: 960px; color: var(--on-navy); }
.page-hero .lead { margin-top: 20px; max-width: 720px; }
.page-hero.photo { padding: 120px 0 72px; min-height: min(56vh, 560px); display: flex; align-items: flex-end; }
.page-hero.photo > .wrap { width: 100%; }
.page-hero .eyebrow { color: var(--navy-soft); margin-bottom: 16px; }
.page-body { padding-top: 56px; padding-bottom: 88px; }
.list-tools { margin-bottom: 32px; }

/* süzgeç */
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chips .pill { font-size: 14px; padding: 0 18px; }
.on-navy .chips .pill { color: var(--on-navy); border-color: var(--navy-line); }
.on-navy .chips .pill[aria-pressed="true"], .on-navy .chips .pill:hover { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }

/* 404 */
.nf { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; padding: 24px 0; }
.nf .eyebrow { font-family: var(--ff-head); font-size: 22px; font-weight: 700; color: var(--navy-accent); letter-spacing: 0; }
.nf h1 { color: var(--on-navy); }

/* etkinlik detay */
.crumbs ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0 8px; font-size: 14px; color: var(--navy-soft); }
.crumbs li + li::before { content: "/"; margin-right: 8px; }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy-soft); }
.crumbs a:hover { color: var(--on-navy); }
.crumbs [aria-current] { display: inline-flex; align-items: center; min-height: 44px; color: var(--on-navy); }
.badges { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.detail-hero h1 { margin-top: 16px; font-size: clamp(38px, 5.4vw, 68px); }
.detail-sum { margin-top: 20px; max-width: 760px; font-size: clamp(18px, 1.8vw, 21px); line-height: 1.55; color: var(--on-navy); }
.meta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; margin-top: 56px; }
.meta-grid > div { padding: 20px 22px; background: var(--bg); }
.meta-grid dt { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--faint); }
.meta-grid dd { margin: 6px 0 0; font-size: 17px; font-weight: 700; color: var(--ink); }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; padding-top: 48px; }
.stat { padding: 28px; border-radius: var(--r-card); background: var(--navy); color: var(--navy-soft); }
.stat strong { display: block; font-family: var(--ff-head); font-size: 48px; font-weight: 600; line-height: 1; color: var(--on-navy); overflow-wrap: anywhere; }
.stat span { display: block; margin-top: 10px; font-size: 16px; }
.story { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 40px; padding-top: 72px; padding-bottom: 72px; }
.story h2 { margin-bottom: 14px; font-size: 26px; padding-top: 14px; border-top: 3px solid var(--accent); display: inline-block; }
.prose { font-size: 17px; line-height: 1.7; }
.prose > * + * { margin-top: 14px; }
.prose ul { padding-left: 1.2em; }
.prose a { color: var(--accent-text); }
.prose h3, .prose h4 { margin-top: 28px; }
.prose-lg { font-size: 19px; max-width: 760px; }

.gallery-sec { padding-bottom: 72px; }
.gallery-sec h2 { margin-bottom: 24px; font-size: 36px; }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 12px; }
.g-item { padding: 0; border: 0; border-radius: var(--r-img); overflow: hidden; background: var(--surface); cursor: zoom-in; }
.g-item img { width: 100%; height: 100%; object-fit: cover; transition: opacity var(--dur); }
.g-item:hover img { opacity: .9; }
.g-first { grid-column: span 2; grid-row: span 2; }
@media (max-width: 760px) {
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 8px; }
  .gallery-sec h2 { font-size: 30px; }
}

.video-sec { padding-bottom: 80px; }
.video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-card); overflow: hidden; background: var(--navy); display: grid; place-items: center; }
.video-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-play { position: relative; width: 88px; height: 88px; border-radius: var(--r-pill); border: 0; background: var(--accent); color: var(--on-accent); display: grid; place-items: center; cursor: pointer; text-decoration: none; }
.video-play:hover { opacity: .9; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 760px) { .video-play { width: 68px; height: 68px; } }

.quote-soft { margin-bottom: 80px; padding: 48px; border-radius: var(--r-card); background: var(--surface); border-left: 4px solid var(--accent); }
.quote-soft blockquote { max-width: 900px; font-family: var(--ff-head); font-weight: 500; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.45; color: var(--ink); }
.quote-soft figcaption { margin-top: 20px; font-size: 15px; }
@media (max-width: 760px) { .quote-soft { padding: 28px; } }

.prev-next { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; padding-bottom: 80px; }
.pn { display: flex; flex-direction: column; gap: 6px; padding: 28px; border-radius: var(--r-card); border: 1px solid var(--line); text-decoration: none; transition: border-color var(--dur); }
.pn:hover { border-color: var(--ink); }
.pn-next { text-align: right; }
.pn-k { font-size: 14px; color: var(--faint); }
.pn-t { font-family: var(--ff-head); font-weight: 600; font-size: 22px; color: var(--ink); overflow-wrap: anywhere; }
@media (max-width: 700px) { .pn-empty { display: none; } }

.cta-band .cta-in { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; padding-top: 80px; padding-bottom: 80px; }
.cta-band h2 { max-width: 680px; }

/* hizmetler ve metin sayfaları */
.toc { margin-top: 32px; }
.sv-item { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 56px; align-items: start; padding: 56px 0; border-top: 1px solid var(--line); }
.sv-item:first-child { border-top: 0; padding-top: 0; }
.sv-media { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-card); }
.sv-media.no-img { background: var(--navy); }
.sv-media.no-img::after { display: none; }
.sv-media::after { background: transparent; }
.sv-item h2 { font-size: clamp(28px, 3.2vw, 40px); }
.sv-item .lead { margin-top: 14px; }
.sv-item .prose { margin-top: 16px; }
@media (max-width: 860px) { .sv-item { grid-template-columns: 1fr; padding: 40px 0; } }
.text-page .actions { margin-top: 32px; }
.text-page .more { margin-top: 32px; }

/* ---------- galeri / film görüntüleyici ---------- */
.lb { position: fixed; inset: 0; z-index: 100; background: var(--scrim); color: var(--on-scrim); display: grid; place-items: center; padding: 72px 72px 24px; }
.lb-fig { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 100%; max-height: 100%; }
.lb-img { max-width: 100%; max-height: calc(100vh - 140px); width: auto; height: auto; object-fit: contain; border-radius: 4px; }
.lb-cap { font-size: 14px; text-align: center; }
.lb-btn { position: absolute; width: 48px; height: 48px; border-radius: var(--r-pill); border: 1px solid currentColor; background: transparent; color: var(--on-scrim); display: grid; place-items: center; cursor: pointer; }
.lb-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.lb-close { top: 16px; right: 16px; }
.lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
.lb-film { width: min(100%, 1100px); aspect-ratio: 16 / 9; }
.lb-film iframe { width: 100%; height: 100%; border: 0; }
body.lb-open { overflow: hidden; }
@media (max-width: 760px) {
  .lb { padding: 72px 8px 88px; }
  .lb-prev, .lb-next { top: auto; bottom: 20px; transform: none; }
  .lb-prev { left: calc(50% - 60px); }
  .lb-next { right: calc(50% - 60px); }
}
@media (max-width: 420px) {
  .btn-lg { padding: 0 20px; white-space: normal; text-align: center; line-height: 1.2; }
  .actions > .btn { flex: 1 1 auto; }
}

/* ============================================================
   Açık tema ayrışması: koyu temada her şey lacivert; açık temada fotoğrafsız
   yüzeyler beyaz/açık gri olur. Fotoğraflı bölümler (giriş, rakam bandı,
   fotoğraflı kartlar), CTA bandı ve alt bilgi iki temada da koyu kalır.
   ============================================================ */
:root[data-theme="light"] .rh { background: var(--bg); color: var(--ink); border-bottom: 1px solid var(--line); }
:root[data-theme="light"] .rh .logo, :root[data-theme="light"] .rm-overlay .logo { color: var(--ink); }
:root[data-theme="light"] .rh .logo span, :root[data-theme="light"] .rm-overlay .logo span { color: var(--accent-text); }
:root[data-theme="light"] .rh-nav a { color: var(--ink); }
:root[data-theme="light"] .rh-nav a:hover, :root[data-theme="light"] .rh-nav a[aria-current="page"] { border-bottom-color: var(--accent); }
:root[data-theme="light"] .rh .icon-btn, :root[data-theme="light"] .rh .lang-btn { border-color: var(--line); color: var(--ink); }
:root[data-theme="light"] .rh :focus-visible { outline-color: var(--accent-text); }
:root[data-theme="light"] .rm-overlay { background: var(--bg); color: var(--ink); }
:root[data-theme="light"] .rm-overlay .icon-btn, :root[data-theme="light"] .rm-overlay .lang-btn { border-color: var(--line); color: var(--ink); }
:root[data-theme="light"] .rm-overlay :focus-visible { outline-color: var(--accent-text); }
:root[data-theme="light"] .rm-nav a { color: var(--ink); border-bottom-color: var(--line); }
:root[data-theme="light"] .rm-nav a[aria-current="page"] { color: var(--accent-text); }

/* fotoğrafsız hizmet ve "neden biz" kartları */
:root[data-theme="light"] .svc-card.no-img, :root[data-theme="light"] .rs-card.no-img { background: var(--surface); border: 1px solid var(--line); }
:root[data-theme="light"] .svc-card.no-img h3, :root[data-theme="light"] .rs-card.no-img h3 { color: var(--ink); }
:root[data-theme="light"] .svc-card.no-img p, :root[data-theme="light"] .rs-card.no-img p { color: var(--body); }
:root[data-theme="light"] .svc-card.no-img .svc-go { color: var(--accent-text); }
:root[data-theme="light"] .svc-card.no-img .svc-num { -webkit-text-stroke-color: var(--line); }
:root[data-theme="light"] .svc-card.no-img:focus-visible { outline-color: var(--accent-text); }

/* işler bandı ve iç sayfa başlık bandı (fotoğrafsızsa) */
:root[data-theme="light"] .work-band.on-navy, :root[data-theme="light"] .page-hero.on-navy:not(.photo) { background: var(--surface); color: var(--body); }
:root[data-theme="light"] .work-band.on-navy .sec-head h2, :root[data-theme="light"] .page-hero.on-navy:not(.photo) h1 { color: var(--ink); }
:root[data-theme="light"] .page-hero.on-navy:not(.photo) .eyebrow, :root[data-theme="light"] .page-hero.on-navy:not(.photo) .lead { color: var(--faint); }
:root[data-theme="light"] .work-band.on-navy .empty { background: var(--bg); border: 1px solid var(--line); }
:root[data-theme="light"] .work-band.on-navy .empty-title { color: var(--ink); }
:root[data-theme="light"] .work-band.on-navy .car-ctrl { color: var(--ink); }
:root[data-theme="light"] .work-band.on-navy :focus-visible, :root[data-theme="light"] .page-hero.on-navy:not(.photo) :focus-visible { outline-color: var(--accent-text); }
:root[data-theme="light"] .page-hero.on-navy:not(.photo) .chips .pill { color: var(--ink); border-color: var(--line); }
:root[data-theme="light"] .page-hero.on-navy:not(.photo) .btn-ghost, :root[data-theme="light"] .work-band.on-navy .btn-ghost { border-color: var(--ink); color: var(--ink); }
:root[data-theme="light"] .page-hero.on-navy:not(.photo) .btn-ghost:hover, :root[data-theme="light"] .work-band.on-navy .btn-ghost:hover { background: var(--ink); color: var(--bg); }

/* fotoğrafsız giriş bölümü: açık temada açık zemin (fotoğraf yüklenince iki temada da koyu perdeli kalır) */
:root[data-theme="light"] .hero-full.pattern { background-color: var(--surface); background-image: radial-gradient(var(--line) 1px, transparent 1.5px); color: var(--body); }
:root[data-theme="light"] .hero-full.pattern::after { display: none; }
:root[data-theme="light"] .hero-full.pattern h1 { color: var(--ink); }
:root[data-theme="light"] .hero-full.pattern .eyebrow { color: var(--faint); }
:root[data-theme="light"] .hero-full.pattern .hero-lead { color: var(--body); }
:root[data-theme="light"] .hero-full.pattern .btn-ghost { border-color: var(--ink); color: var(--ink); }
:root[data-theme="light"] .hero-full.pattern .btn-ghost:hover { background: var(--ink); color: var(--bg); }
:root[data-theme="light"] .hero-full.pattern :focus-visible { outline-color: var(--accent-text); }
