/* =====================================================================
   Artı Estetik — pages.css (bölüm ve sayfa bileşenleri)
   Mobile-first; kırılımlar: 480 · 768 · 1024 · 1200 · 1280 · 1440 (Arayüzcü, tur 4)
   + Mobilci'nin yazılı ek koşulları (<360, <400, 640 not kartı, yatay telefon, kısa ekran)
   + tur 7: randevular paneli tablo/kart eşiği 720 (CEO talimatı)
   Paylaşılan hizmet ikonu (.svc-ico) style.css'tedir; burada yalnızca bağlama göre --svc-s.
   ===================================================================== */

/* Ortak bölüm başlığı aralığı */
.section .container > h2 + .lead { margin-top: 16px; }

/* ---------- Hero (anasayfa; tur 4: proje sahibinin görseli + dönen halkalar + istatistik satırı;
   tur 5: tek yıldızlı puan hapı; tur 6a: yüzen tedavi kartı kaldırıldı, sağ kenar ve görsel kenar solmaları) ---------- */
.hero {
  position: relative; z-index: 1; overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding-top: calc(var(--header-h) + clamp(24px, 4vw, 56px));
  padding-bottom: calc(var(--hero-curve) + var(--trust-overlap) + 12px);
  /* tur 5 (madde 4): eğri alt kenar yerine alt kısım şeffaflaşarak puan bölümünün köprü gradyanına akar (dikişsiz).
     tur 6a: sağ kenar 56 px'te solar (scrollbar-gutter şeridiyle keskin dikiş olmaz); iki maske kesiştirilir, tepeye solma yok */
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--hero-curve) - var(--trust-overlap)), transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--hero-curve) - var(--trust-overlap)), transparent 100%);
  background:
    radial-gradient(28rem 20rem at 30% 18%, rgba(255, 255, 255, .60) 0%, rgba(255, 255, 255, 0) 70%),
    radial-gradient(30rem 26rem at 85% 82%, rgba(57, 117, 208, .18) 0%, rgba(57, 117, 208, 0) 70%),
    radial-gradient(26rem 20rem at 50% 100%, rgba(200, 208, 219, .40) 0%, rgba(200, 208, 219, 0) 70%),
    linear-gradient(180deg, var(--c-hero-top) 0%, var(--c-hero-mid) 60%, var(--c-hero-bottom) 100%);
}
/* tur 6a: sağ kenar solması yalnızca yer kaplayan klasik kaydırma çubuğu olan masaüstünde (gutter yalnızca orada oluşur; mobilde metni/CTA'yı soldurmasın) */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .hero {
    -webkit-mask-image:
      linear-gradient(to bottom, #000 0, #000 calc(100% - var(--hero-curve) - var(--trust-overlap)), transparent 100%),
      linear-gradient(to left, transparent 0, #000 var(--gutter)),
      linear-gradient(to right, transparent 0, #000 var(--gutter));
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to bottom, #000 0, #000 calc(100% - var(--hero-curve) - var(--trust-overlap)), transparent 100%),
      linear-gradient(to left, transparent 0, #000 var(--gutter)),
      linear-gradient(to right, transparent 0, #000 var(--gutter));
    mask-composite: intersect;
  }
}
.hero::after, .closing__panel::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-size: 160px 160px;
}
.hero::after {
  z-index: var(--z-grain); opacity: .035; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .047 0 0 0 0 .122 0 0 0 0 .227 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero__ambient {
  position: absolute; inset: 0; z-index: var(--z-ambient);
  width: 100%; height: 100%; pointer-events: none; opacity: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0 46%, #000 70%);
  mask-image: linear-gradient(180deg, transparent 0 46%, #000 70%);
  transition: opacity calc(1200ms * var(--tm)) var(--ease-soft) 300ms;
}
.hero__ambient.is-live { opacity: 1; }
.hero__ambient.is-static { opacity: 1; transition: none; } /* reduced-motion / saveData / düşük pil: tek statik kare, girişsiz */
.hero__ambient.is-faded { opacity: 0; transition: opacity 400ms var(--ease-soft); }
@media (hover: none), (pointer: coarse) { .hero__ambient { transition-duration: 700ms; } }
.hero__text { position: relative; z-index: var(--z-content); }
.eyebrow {
  display: flex; align-items: center; gap: 8px; width: fit-content;
  padding: 6px 14px 6px 8px;
  border: 1px solid var(--c-line); border-radius: var(--r-pill);
  background: rgba(255, 255, 255, .7);
  font: 600 var(--fs-eyebrow)/1.3 var(--font-body); letter-spacing: .01em; color: var(--c-ink-2);
}
.eyebrow .i { width: 16px; height: 16px; color: var(--c-primary); }
/* tur 6b: yeni H1 (TR 4 kelime, EN 8 kelime) — dengeli kırılım + uzun Türkçe sözcükte taşma emniyeti; ölçü/token aynı */
.hero__title { margin-top: 20px; font-size: var(--fs-display); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; overflow-wrap: break-word; }
.hl {
  color: var(--c-primary);
  background: linear-gradient(transparent 62%, rgba(57, 117, 208, .22) 62% 92%, transparent 92%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
  padding-inline: .04em;
}
.hero__sub { margin-top: 24px; max-width: 34rem; }
.hero__cta { margin-top: 36px; }
@media (max-width: 767px) { .hero__cta { width: 100%; justify-content: space-between; } }

/* İstatistik satırı (R17; tur 5): üstte tek OPAK saç çizgisi (kabın kenarlığı, içerik genişliğinde),
   ızgara + nowrap → değer kırılmaz, etiketle çakışmaz. Çizgi → metin: 20 px (<768) / 24 px (≥768).
   DOM sırası etiket → değer, görsel sırada değer üstte. */
ul.hero-stats, .hero-stats {
  position: relative; z-index: var(--z-content);
  display: grid; grid-auto-flow: column; grid-auto-columns: max-content;
  justify-content: start; align-items: end;
  column-gap: 24px; row-gap: 16px;
  width: fit-content; max-width: 100%;
  margin: 24px 0 0; padding: 20px 0 0;
  list-style: none;
  border-top: 1px solid var(--c-stat-line);
}
.hero-stat { display: flex; flex-direction: column-reverse; gap: 6px; min-width: 0; }
.hero-stat__value {
  display: inline-flex; align-items: center; gap: 4px;
  flex-wrap: nowrap; white-space: nowrap;
  font: 800 var(--fs-stat)/1.15 var(--font-head); color: var(--c-ink); font-variant-numeric: tabular-nums;
}
.hero-stat__label { font: 500 var(--fs-small)/1.3 var(--font-body); color: var(--c-ink-2); white-space: nowrap; }
.hero-stat__star {
  width: 16px; height: 16px; margin: 0; flex: none; overflow: visible;
  fill: var(--c-star); stroke: var(--c-star-edge); stroke-width: 1; stroke-linejoin: round;
}
@media (min-width: 768px) {
  ul.hero-stats, .hero-stats { column-gap: 40px; margin-top: 32px; padding-top: 24px; min-width: min(100%, 360px); }
}
@media (max-width: 359px) {
  .hero-stats { grid-auto-flow: row; grid-template-columns: repeat(2, max-content); column-gap: 16px; }
  .hero-stat__value { font-size: 18px; }
}

/* Görsel (tek dosya; çerçeve/gölge/filtre yok). Eliptik maske köşeleri tamamen şeffaf yapar:
   sağ-üst mavi leke ve sol-alt gri gölge kaybolur, merkez kart + organik şekiller korunur.
   Tur 6a: elips kutu kenarında tam şeffaflığa inmediği için yatay + dikey %7 kenar solmalarıyla kesiştirilir. */
.hero-visual {
  position: relative; z-index: var(--z-visual);
  width: min(100%, 420px); aspect-ratio: 1 / 1; margin: 40px auto 0;
  /* Yedek: görsel yüklenemezse yumuşak, kenarsız ışık (görsel varken opak alanın altında kalır) */
  background: radial-gradient(closest-side, rgba(227, 236, 250, .9) 0%, rgba(227, 236, 250, 0) 100%);
}
.hero-visual__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 40%;
  -webkit-mask-image:
    radial-gradient(ellipse 56% 54% at 50% 48%, #000 60%, transparent 100%),
    linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    radial-gradient(ellipse 56% 54% at 50% 48%, #000 60%, transparent 100%),
    linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-composite: intersect;
}
/* Dönen halkalar (tur 3 kompozisyonundan; 140 sn, reduced-motion'da statik) — görselin merkez kartını çevreler */
.hero-orbits-wrap {
  position: absolute; left: 50%; top: 47%; z-index: 1;
  width: 96%; aspect-ratio: 1 / 1; translate: -50% -50%; pointer-events: none;
}
.hero-orbits { width: 100%; height: 100%; overflow: visible; }
.hero-orbits .orbit { fill: none; stroke-width: 1.75; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.hero-orbits .orbit--a { stroke: #3975D0; stroke-opacity: .35; stroke-dasharray: 240 420; }
.hero-orbits .orbit--b { stroke: #C8D0DB; stroke-dasharray: 180 400; }
/* Kalıntı lekenin üstü: ışık cebi (her zaman) + puan hapı (yalnızca gerçek veri gelince) */
.hero-visual__veil, .hero-bubble { position: absolute; left: 75%; top: 65%; translate: -50% -50%; }
.hero-visual__veil {
  z-index: 2; width: 32%; aspect-ratio: 3 / 2; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .85) 0%, rgba(237, 243, 251, .6) 55%, rgba(237, 243, 251, 0) 100%);
}
/* Puan hapı (tur 5): tek satır, tek amber yıldız + "{kat50} yorum" */
.hero-bubble {
  z-index: var(--z-content);
  display: inline-flex; align-items: center; gap: 8px;
  height: 44px; padding: 0 16px 0 12px; margin: 0;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-pill);
  box-shadow: var(--shadow-2), var(--hi-inset);
  white-space: nowrap;
  /* Tur 9: hap her zaman içeriğine göre boyutlanır (left:75% ile mutlak konum, kullanılabilir genişliği %25'e düşürüp içeriği taşırmasın) */
  width: max-content; max-width: none; box-sizing: border-box;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
.hero-bubble__star {
  width: 18px; height: 18px; flex: none; overflow: visible;
  fill: var(--c-star); stroke: var(--c-star-edge); stroke-width: 1; stroke-linejoin: round;
}
.hero-bubble__label { flex: none; font: 600 15px/1 var(--font-body); color: var(--c-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Tur 9: telefonda puan hapı küçülür (masaüstü/tablet aynı) */
@media (max-width: 767px) {
  .hero-bubble { height: auto; min-height: 32px; padding: 6px 14px 6px 10px; gap: 6px; }
  .hero-bubble__star { width: 14px; height: 14px; }
  .hero-bubble__label { font-size: 13px; line-height: 1.25; }
}

@media (min-width: 1024px) {
  .hero {
    padding-top: calc(var(--header-h) + 24px);
    padding-bottom: calc(var(--hero-curve) + var(--trust-overlap));
    background:
      radial-gradient(38rem 26rem at 22% 40%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 70%),
      radial-gradient(48rem 36rem at 88% 8%, rgba(57, 117, 208, .22) 0%, rgba(57, 117, 208, 0) 70%),
      radial-gradient(40rem 30rem at 6% 96%, rgba(200, 208, 219, .40) 0%, rgba(200, 208, 219, 0) 70%),
      linear-gradient(180deg, var(--c-hero-top) 0%, var(--c-hero-mid) 60%, var(--c-hero-bottom) 100%);
  }
  .hero__ambient {
    -webkit-mask-image: linear-gradient(90deg, transparent 0 38%, #000 62%);
    mask-image: linear-gradient(90deg, transparent 0 38%, #000 62%);
  }
  .hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .hero__text { grid-column: 1 / 7; }
  .hero-visual { grid-column: 7 / 13; justify-self: end; width: min(100%, 520px); aspect-ratio: 928 / 1152; margin: 0; }
  .hero-visual__img { object-position: 50% 50%; }
  .hero-orbits-wrap { top: 45%; width: 104%; }
  .hero-visual__veil, .hero-bubble { top: 60%; }
}

/* ---------- Puan bölümü (R5; tur 5: tek merkezli dikey yığın — eyebrow → başlık → küçük satır → yıldızlar;
   tur 6a: yıldızların altında ortalı küçük "yorumların tamamı" bağlantısı;
   tur 6b: yıldızlar → 4 düz metin hapı (.trust__pill) → kapanış cümlesi (.trust__close) → bağlantı.
   zemin G6 köprü gradyanı: hero tabanı → ScrollVideo üst durağı, aynı hex'ler → dikişsiz.
   Bölüm kökünde reveal/transform/overflow/filter YOK; hareket yalnızca kartta) ---------- */
.trust {
  position: relative;
  margin-top: calc(-1 * var(--hero-curve));
  padding-top: calc(var(--hero-curve) - var(--trust-overlap));
  padding-bottom: var(--s-6);
  background: linear-gradient(180deg, var(--c-hero-bottom) 0%, var(--c-bridge-mid) 50%, var(--c-sv-top) 100%);
}
.trust__card {
  position: relative; z-index: var(--z-content);
  max-width: 920px; margin-inline: auto; /* tur 8: 560 → 920; 4 hap tek satır, kart alçalır (eni > boyu) */
  display: grid; justify-items: center; text-align: center; gap: 0;
  padding: 28px 32px 26px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-2);
}
.trust__card .pill-eyebrow { margin: 0; }
.trust__card .trust__title {
  margin: 14px 0 0;
  font: 800 var(--fs-trust-title)/1.15 var(--font-head); letter-spacing: -.015em; color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.trust__num { display: inline-block; min-width: 1ch; font-variant-numeric: tabular-nums; white-space: nowrap; }
.trust__sub { margin: 6px 0 0; font: 500 var(--fs-small)/1.4 var(--font-body); color: var(--c-ink-2); }
.trust__count { font-weight: 700; color: var(--c-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.trust__count-n { display: inline-block; min-width: 3ch; text-align: right; }
.stars { display: inline-flex; gap: 4px; margin: 0; }
.star { position: relative; flex: none; width: 24px; height: 24px; }
.star:nth-child(2) { --i: 1; } .star:nth-child(3) { --i: 2; } .star:nth-child(4) { --i: 3; } .star:nth-child(5) { --i: 4; }
.star svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; stroke-linejoin: round; stroke-linecap: round; }
.star__base { fill: var(--c-star-empty); stroke: var(--c-line-strong); stroke-width: 1; }
.star__fill { fill: var(--c-star); stroke: var(--c-star-edge); stroke-width: 1; clip-path: inset(0 calc((1 - var(--f, 1)) * 100%) 0 0); }
.trust .stars { margin-top: 14px; gap: 6px; }
.trust .stars .star { width: 24px; height: 24px; }
/* Tur 6b: yorum temaları hapları — düz metin (bağlantı/hover/odak/ikon yok; .chip etkileşimli olduğu için kullanılmaz).
   <ul role="list">: taban ul[role=list] sıfırlamasına güvenilmez, liste kutusunun margin/padding'i burada açıkça yazılır.
   Mevcut jetonlar: --r-pill, --c-line, #fff zemin, gövde fontu --fs-small. Saran satır, ortalı. */
ul.trust__pills, .trust__pills {
  display: flex; flex-wrap: nowrap; justify-content: center; gap: 8px; /* ≥768: tek satır */
  max-width: 100%; margin: 16px 0 0; padding: 0; list-style: none;
}
.trust__pill {
  display: inline-flex; align-items: center; max-width: 100%;
  min-height: 32px; margin: 0; padding: 5px 14px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-pill);
  font: 600 var(--fs-small)/1.3 var(--font-body); color: var(--c-ink);
  overflow-wrap: anywhere;
}
/* Tur 6b: kapanış cümlesi — küçük punto, kart genişliğinde dengeli */
.trust__close { margin: 14px 0 0; max-width: 62ch; font: 400 var(--fs-small)/1.55 var(--font-body); color: var(--c-ink-2); text-wrap: pretty; }
/* Tur 6a: küçük metin bağlantısı (dış, yeni sekme); tur 6b: kapanış cümlesinin hemen altında. 44 px dokunma hedefi ve odak .text-link'ten */
.trust__link { margin-top: 4px; justify-self: center; font-size: var(--fs-small); }
@media (min-width: 768px) and (max-width: 1023px) { /* tablet: hap tek satırda kalsın */
  .trust__card { padding-inline: 20px; }
  ul.trust__pills, .trust__pills { gap: 6px; }
  .trust__pill { padding: 5px 10px; white-space: nowrap; }
}
@media (min-width: 1024px) { .trust__pill { white-space: nowrap; } }
@media (max-width: 767px) {
  .trust__card { max-width: none; padding: 24px 20px 26px; }
  .trust .stars .star { width: 22px; height: 22px; }
  /* mobil: düzenli 2×2 ızgara */
  ul.trust__pills, .trust__pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 14px; }
  .trust__pill { justify-content: center; text-align: center; padding: 4px 10px; }
  .trust__close { margin-top: 12px; }
}

/* ---------- Hizmetler (R4: K-3a satır kartı, K-3b karo; eşit genişlik + yükseklik, H-1) ---------- */
.split { display: grid; gap: 40px; }
.split__intro .lead { margin-top: 20px; }
.split__intro .text-link { margin-top: 16px; }
.card-grid {
  --cols: 1;
  display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  grid-auto-rows: 1fr; align-items: stretch; gap: 20px;
}
.card-grid > li, .tile-grid > li { display: flex; }
@media (min-width: 768px) { .card-grid--rows { --cols: 2; } }
@media (min-width: 1024px) {
  .split { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
  .split__intro { grid-column: 1 / 5; position: sticky; top: calc(var(--header-h) + 32px); align-self: start; }
  .split__list { grid-column: 5 / 13; }
}
@media (min-width: 1024px) and (max-width: 1199px) { .card-grid--rows { --cols: 1; } }

.service-card {
  position: relative; isolation: isolate; flex: 1; min-width: 0;
  background: #fff; border: 1px solid var(--c-line); box-shadow: var(--shadow-1);
  transition: transform 180ms var(--ease-soft), border-color 160ms var(--ease-soft);
}
/* H-1: gölge ayrı katmanda, opaklıkla açılır (box-shadow animasyonlanmaz) */
.service-card::after, .team-card--link::after {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  opacity: 0; box-shadow: var(--shadow-hover); transition: opacity 180ms var(--ease-soft);
}
.service-card .halo { transition: background-color 160ms var(--ease-soft), color 160ms var(--ease-soft); }
.service-card--row {
  display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: start;
  padding: 18px 16px; border-radius: var(--r-lg);
}
.service-card--row .halo { width: 48px; height: 48px; }
.service-card--row .svc-ico { --svc-s: 28px; }
.service-card__title { font-size: var(--fs-h4); line-height: 1.3; font-weight: 700; letter-spacing: 0; padding-right: 28px; overflow-wrap: break-word; }
.service-card--static .service-card__title { padding-right: 0; }
.service-card__text { margin-top: 4px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); overflow-wrap: break-word; }
.service-card__chev { position: absolute; top: 20px; right: 16px; width: 20px; height: 20px; color: var(--c-ink-2); transition: transform 180ms var(--ease-soft), color 160ms var(--ease-soft); }

@media (min-width: 480px) {
  .service-card--row { grid-template-columns: 56px 1fr; gap: 16px; padding: 20px 24px; }
  .service-card--row .halo { width: 56px; height: 56px; }
  .service-card--row .svc-ico { --svc-s: 32px; }
}
/* Kartların dar kaldığı aralık (Mobilci K-3a Çözüm 1b) — 48 px hale, ikon 28 px */
@media (min-width: 768px) and (max-width: 1199px) {
  .service-card--row { grid-template-columns: 48px 1fr; gap: 12px; padding: 18px 16px; }
  .service-card--row .halo { width: 48px; height: 48px; }
  .service-card--row .svc-ico { --svc-s: 28px; }
}
.tile-grid {
  display: grid; grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: 1fr; align-items: stretch; gap: 24px; margin-top: 32px;
}
@media (min-width: 768px) { .tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.service-card--tile { display: flex; flex-direction: column; gap: 12px; padding: 32px; border-radius: var(--r-xl); }
.service-card--tile .svc-ico { --svc-s: 36px; } /* tur 5: 64 px hale, ikon 36 px */
@media (max-width: 359px) { .service-card--tile { padding: 24px; } }
.service-card--tile .service-card__title { font-size: var(--fs-h3); padding-right: 0; }
.service-card--tile .service-card__text { margin-top: 0; font-size: var(--fs-body); line-height: 1.65; }
.service-card__arc { position: absolute; top: 0; right: 0; width: 64px; height: 64px; stroke: var(--c-accent); stroke-opacity: .2; }
.card-more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; font: 600 16px/1.3 var(--font-body); color: var(--c-primary); }
.card-more .i { width: 18px; height: 18px; transition: transform 180ms var(--ease-soft); }
@supports selector(:has(*)) {
  .service-card .stretched:focus-visible, .team-card .stretched:focus-visible { outline: none; }
  .service-card:has(.stretched:focus-visible), .team-card:has(.stretched:focus-visible) { outline: 2px solid var(--c-focus); outline-offset: 3px; }
}

/* ---------- "Artı anı" — ScrollVideo v2 (tur 4; puan bölümünün altı; görünür metin yok; davranış main.js §10b) ----------
   Sticky ata kuralı: section / .sv-track / .sv-stage üzerinde overflow, transform, filter, contain,
   will-change, backdrop-filter, view-transition-name ve reveal YOK. Pin yalnızca [data-sv-pin="on"] iken.
   --sv-extra = sahnede videonun dışında kalan dikey pay (yalnızca metinsiz ipucu ikonu + aralar).
   Tur 5 pin kuyruğu: sahne içerik yüksekliğinde (ipucu + 12 px + video), merkezleme sticky top'ta,
   pin uzunluğu D = track::after ara parçası (220svh + header | <768 160svh + header) → aynı D. */
.sv-section {
  --sv-reserve: 0px; --sv-extra: 72px; --sv-hint-h: 32px;
  position: relative; padding-top: var(--section-y-sm); padding-bottom: 0;
  background: linear-gradient(180deg, var(--c-sv-top) 0%, var(--c-sv-bottom) 100%);
}
@media (max-width: 1023px) { .sv-section { --sv-reserve: var(--float-reserve); } }
@media (max-width: 767px) { .sv-section { --sv-extra: 88px; } }
/* Bölüm bitince sonraki bölüm kasıtlı kompakt boşlukla başlar (pin açık ya da statik — aynı kural) */
.sv-section + section { --sv-gap: 36px; padding-top: var(--sv-gap); }
@media (min-width: 768px) { .sv-section + section { --sv-gap: 48px; } }
@media (min-width: 1024px) { .sv-section + section { --sv-gap: 56px; } }
@media (min-width: 1600px) { .sv-section + section { --sv-gap: 64px; } }
.sv-track { display: block; }
.sv-stage { display: grid; justify-items: center; }
.sv-hint { display: none; }
.sv-hint__halo {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255, 255, 255, .7); border: 1px solid var(--c-line); color: var(--c-primary);
}
.sv-hint__halo .i { width: 18px; height: 18px; }
.scrollvideo {
  position: relative; flex: none; margin: var(--s-3) auto 0;
  width: min(100%, 680px); aspect-ratio: 4 / 3;
  background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible;
  -webkit-mask-image: radial-gradient(closest-side ellipse at 50% 50%, #000 70%, transparent 100%);
  mask-image: radial-gradient(closest-side ellipse at 50% 50%, #000 70%, transparent 100%);
}
.scrollvideo__poster, .scrollvideo__first, .scrollvideo__video, .scrollvideo__canvas {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
/* Pin açık: kap = sahne + ara parça (D); sahne içeriğe iner, video görünür alanın ortasında yapışır (svh; vh yalnızca yedek) */
.sv-section[data-sv-pin="on"] .sv-track { height: auto; }
.sv-section[data-sv-pin="on"] .sv-track::after {
  content: ""; display: block;
  height: calc(220vh + var(--header-h)); height: calc(220svh + var(--header-h));
}
@media (max-width: 767px) {
  .sv-section[data-sv-pin="on"] .sv-track::after { height: calc(160vh + var(--header-h)); height: calc(160svh + var(--header-h)); }
}
.sv-section[data-sv-pin="on"] .sv-stage {
  --sv-vw: min(680px, calc(100vw - 2 * var(--gutter)), calc((100svh - var(--header-h) - var(--sv-reserve) - var(--sv-extra)) * 4 / 3));
  position: sticky;
  top: var(--header-h);
  top: max(var(--header-h), calc((100svh + var(--header-h) - var(--sv-reserve) - var(--sv-hint-h) - 12px - var(--sv-vw) * .75) / 2));
  height: auto; padding-bottom: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
}
.sv-section[data-sv-pin="on"] .sv-hint { display: block; }
.sv-section[data-sv-pin="on"] .scrollvideo {
  width: min(100%, 680px, calc((100svh - var(--header-h) - var(--sv-reserve) - var(--sv-extra)) * 4 / 3));
}
/* Kısa dikey telefon: ipucu yok, pay küçük (Mobilci K2c) */
@media (max-width: 767px) and (max-height: 680px) and (orientation: portrait) {
  .sv-section { --sv-extra: 40px; --sv-hint-h: 0px; }
  .sv-hint { display: none !important; }
}
/* Pin yalnızca yeterli yükseklik ve svh desteğiyle (JS de bu koşullarda statik moddadır) */
@media (max-height: 549px) {
  .sv-section[data-sv-pin="on"] .sv-track { height: auto; }
  .sv-section[data-sv-pin="on"] .sv-track::after { display: none; }
  .sv-section[data-sv-pin="on"] .sv-stage { position: static; height: auto; padding-bottom: 0; }
}
@supports not (height: 1svh) {
  .sv-section[data-sv-pin="on"] .sv-track { height: auto; }
  .sv-section[data-sv-pin="on"] .sv-track::after { display: none; }
  .sv-section[data-sv-pin="on"] .sv-stage { position: static; height: auto; padding-bottom: 0; }
}

/* ---------- Hikâye + medya kabuğu (K-15 slot-11) + mini dış cephe (K-6b) ---------- */
.story-media__grid { display: grid; gap: 48px; }
.story-media__text h2 + p { margin-top: 24px; }
.story-media__text p + p { margin-top: 1em; }
.story-media__text .text-link { margin-top: 20px; }
.story-media__media { min-width: 0; }
@media (max-width: 1023px) { .story-media { padding-bottom: calc(var(--section-y) + 24px); } }
@media (max-width: 767px) { .story-media { padding-bottom: calc(var(--section-y) + 56px); } } /* tur 3: mini kart −56 px */
@media (min-width: 1024px) {
  .story-media__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .story-media__text { grid-column: 1 / 6; max-width: var(--measure); }
  .story-media__media { grid-column: 6 / 13; align-self: center; }
}
.photo-wrap { position: relative; isolation: isolate; width: min(288px, 100%); margin-inline: auto; }
.photo-wrap__blob { position: absolute; left: -48px; top: -36px; z-index: -1; width: min(360px, 120%); fill: #E3ECFA; }
.photo-shell {
  position: relative; width: min(288px, 100%); margin: 0 auto; padding: 8px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-2);
}
.photo-shell__frame {
  position: relative; overflow: hidden; aspect-ratio: 382 / 510; border-radius: 24px;
  background:
    radial-gradient(60% 40% at 50% 30%, rgba(57, 117, 208, .14) 0%, rgba(57, 117, 208, 0) 70%),
    linear-gradient(160deg, #E3ECFA 0%, #ECF2FA 100%);
}
.photo-shell__frame::before { /* yedek kompozisyon: porselen kemer (görsel yüklenemezse görünür) */
  content: ""; position: absolute; left: 24%; right: 24%; top: 20%; bottom: 16%;
  border-radius: 999px 999px 16px 16px; background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(255, 255, 255, .9);
}
.photo-shell__frame img { position: relative; width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
.photo-shell--mini {
  position: absolute; left: -24px; bottom: -32px; z-index: 2;
  width: clamp(112px, 22%, 152px); margin: 0; padding: 6px; border-radius: var(--r-lg);
}
.photo-shell--mini .photo-shell__frame, .photo-shell--mini .photo-shell__frame img { aspect-ratio: 3 / 4; border-radius: 18px; }
@media (max-width: 767px) { .photo-shell--mini { left: 12px; bottom: -56px; width: 96px; } } /* tur 3: −24 → −56 px (yüzlerin altında kalır) */

/* ---------- Medya yuvası (K-15; fotoğrafsız tamamlanmış illüstrasyon alt katmanı) ---------- */
.media-shell {
  position: relative; padding: 8px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-2);
}
/* Fotoğraflı kabuklar: görsel doğal boyutundan büyük gösterilmez (doğal genişlik + 2×8 iç boşluk + 2×1 kenar) */
.media-shell--yasam { max-width: calc(1376px + 18px); }
.media-shell--gulus { max-width: calc(1264px + 18px); }
.media-shell--yolculuk { max-width: calc(1200px + 18px); }
.media-shell--portrait { width: min(288px, 100%); max-width: calc(382px + 18px); margin-inline: auto; }
/* slot-9 dikey çerçeve + arkasındaki blob (sarmalayıcı yığın bağlamı kurar; blob kabuğun arkasında kalır) */
.media-portrait { position: relative; isolation: isolate; width: min(288px, 100%); margin-inline: auto; }
.media-portrait__blob { position: absolute; left: -56px; top: -40px; z-index: -1; width: 340px; fill: #E3ECFA; pointer-events: none; }
.media-slot {
  position: relative; margin: 0; overflow: hidden; isolation: isolate;
  aspect-ratio: var(--ar-m, var(--ar)); border-radius: 24px; background: var(--c-bg-ice);
}
@media (min-width: 768px) { .media-slot { aspect-ratio: var(--ar); } }
.media-slot__art { position: absolute; inset: 0; z-index: 0; }
.media-slot__art > * { position: absolute; }
.media-slot__img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 50%); display: block; }
.media-slot--yasam { --ar: 16 / 9; --ar-m: 4 / 3; --focus: 52% 40%; }
.media-slot--gulus { --ar: 3 / 2; --ar-m: 4 / 3; --focus: 42% 45%; }
.media-slot--deger { --ar: 3 / 2; --ar-m: 3 / 2; --focus: 50% 40%; } /* tur 4: slot-11-anasayfa-yasam.webp fotoğrafı */
.media-slot--mekan { --ar: 3 / 4; --ar-m: 3 / 4; --focus: 50% 50%; }
.media-slot--yolculuk { --ar: 4 / 3; --ar-m: 4 / 3; --focus: 40% 50%; }

/* Yedek kartların ortak stili */
.art-card { display: grid; place-items: center; background: #fff; border: 1px solid #fff; border-radius: var(--r-lg); box-shadow: var(--shadow-1); }
.art-card--xl { border-radius: var(--r-xl); box-shadow: var(--shadow-2); }
.art-sq { aspect-ratio: 1 / 1; }
.art-halo { display: grid; place-items: center; width: clamp(44px, 46%, 72px); aspect-ratio: 1 / 1; border-radius: 50%; background: #E3ECFA; color: var(--c-primary); }
.art-halo .i { width: 50%; height: 50%; }
.art-halo--72 { width: min(72px, 70%); }
@media (max-width: 479px) { .art-card .art-halo { width: clamp(32px, 46%, 72px); } }
.art-lines { inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; }
.art-arc { fill: none; stroke-width: 1.75; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.art-arc--accent { stroke: #3975D0; stroke-opacity: .35; }
.art-arc--silver { stroke: #C8D0DB; }
.art-dot { display: block; border-radius: 50%; background: #C8D0DB; }
.art-corner { top: 0; right: 0; width: 56px; height: 56px; stroke: #3975D0; stroke-opacity: .35; }

/* slot-11 art-yasam (anasayfa hikâye) */
.art-yasam {
  background:
    radial-gradient(60% 70% at 88% 8%, rgba(57, 117, 208, .20) 0%, rgba(57, 117, 208, 0) 70%),
    radial-gradient(55% 65% at 6% 96%, rgba(200, 208, 219, .30) 0%, rgba(200, 208, 219, 0) 70%),
    #F5F8FC;
}
.art-yasam__blob { left: 30%; top: 6%; width: 44%; fill: #E3ECFA; }
.art-yasam__k1 { left: 10%; top: 44%; width: 22%; rotate: -3deg; }
.art-yasam__k2 { left: 39%; top: 18%; width: 24%; box-shadow: var(--shadow-2); }
.art-yasam__k3 { left: 70%; top: 40%; width: 20%; rotate: 3deg; }
.art-yasam__d1 { left: 6%; top: 14%; width: 6px; height: 6px; }
.art-yasam__d2 { left: 94%; top: 72%; width: 8px; height: 8px; }
.art-yasam__d3 { left: 58%; top: 88%; width: 5px; height: 5px; background: #3975D0; opacity: .35; }

/* slot-8 art-gulus (Hakkımızda giriş) */
.art-gulus { background: #ECF2FA; }
.art-gulus__blob-a { left: -6%; top: -10%; width: 58%; fill: #E3ECFA; }
.art-gulus__blob-b { right: 4%; bottom: -14%; width: 38%; fill: #C8D0DB; opacity: .45; }
.art-gulus__main { left: 12%; top: 24%; width: 44%; height: 52%; }
.art-gulus__k2 { left: 62%; top: 14%; width: 18%; rotate: 3deg; }
.art-gulus__k3 { left: 64%; top: 56%; width: 16%; rotate: -2deg; }
.art-gulus__d1 { left: 8%; top: 80%; width: 6px; height: 6px; }
.art-gulus__d2 { left: 88%; top: 8%; width: 8px; height: 8px; }
.art-gulus__d3 { left: 54%; top: 90%; width: 5px; height: 5px; }
.art-gulus__d4 { left: 94%; top: 46%; width: 7px; height: 7px; }

/* slot-10 art-deger (Hakkımızda değerler; tur 4: yalnızca fotoğraf yüklenemezse görünür) */
.art-deger { background: #ECF2FA; }
.art-deger__blob-a { left: -12%; top: -4%; width: 92%; fill: #E3ECFA; }
.art-deger__blob-b { right: -8%; bottom: -6%; width: 60%; fill: #fff; opacity: .6; }
.art-deger__card {
  left: 14%; top: 20%; width: 72%; height: 56%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding-bottom: 8%;
}
.art-deger__arc { width: 40px; height: 8px; overflow: visible; fill: none; stroke: #3975D0; stroke-opacity: .5; stroke-width: 1.75; stroke-linecap: round; }
.art-deger__card .art-corner { position: absolute; }

/* slot-9 art-mekan (Hakkımızda konfor) */
.art-mekan { background: #F5F8FC; }
.art-mekan__floor { left: 0; right: 0; bottom: 0; height: 28%; background: #E3ECFA; border-radius: 32px 32px 0 0; }
.art-mekan__window {
  left: 50%; top: 10%; width: 36%; height: 50%;
  border-radius: 999px 999px 24px 24px; border: 1px solid var(--c-line); box-shadow: var(--shadow-1);
  background: radial-gradient(70% 60% at 50% 30%, rgba(57, 117, 208, .20) 0%, rgba(57, 117, 208, 0) 70%), #FFFFFF;
}
.art-mekan__lamp { left: 20%; top: 16%; width: 12%; aspect-ratio: 1 / 1; border-radius: 50%; background: #C8D0DB; opacity: .7; }
.art-mekan__back { left: 10%; bottom: 30%; width: 38%; height: 11%; border-radius: 999px 999px 16px 16px; background: #E3ECFA; }
.art-mekan__bench { left: 8%; bottom: 20%; width: 42%; height: 14%; border-radius: var(--r-pill); background: #FFFFFF; box-shadow: var(--shadow-1); }
.art-mekan__leaf { bottom: 24%; width: 9%; aspect-ratio: 2 / 3; border-radius: 0 100% 0 100%; background: #C8D0DB; }
.art-mekan__leaf--1 { right: 8%; }
.art-mekan__leaf--2 { right: 13%; rotate: -24deg; }

/* slot-13 art-yolculuk (Sağlık turizmi giriş) */
.art-yolculuk { background: #F5F8FC; }
.art-yolculuk__sun {
  left: 50%; top: -18%; width: 52%; aspect-ratio: 1 / 1; translate: -50% 0; border-radius: 50%;
  background: radial-gradient(circle, rgba(57, 117, 208, .20) 0%, rgba(57, 117, 208, 0) 70%);
}
.art-yolculuk__card { left: 50%; top: 24%; width: 30%; translate: -50% 0; }

/* ---------- Ekip kartı (K-5: ad + unvan + yaklaşım; eşit yükseklik) ---------- */
.team-row, .team-stage { position: relative; isolation: isolate; }
.team-row__grid { display: grid; gap: 48px; }
.team-row__intro p { margin-top: 16px; }
.team-row__cards { position: relative; }
@media (min-width: 1024px) {
  .team-row__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); }
  .team-row__intro { grid-column: 1 / 8; }
  .team-row__cards { grid-column: 1 / -1; }
}
.team-row__blob {
  position: absolute; z-index: 0; left: 50%; top: 50%;
  width: min(560px, 120%); margin-left: calc(min(560px, 120%) / -2); margin-top: calc(min(560px, 120%) / -2);
  fill: #ECF2FA;
}
.team-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: minmax(0, 400px); justify-content: center; align-items: stretch;
  gap: var(--grid-gap); margin: 0; padding: 0; list-style: none;
}
.team-grid > li { display: flex; }
@media (min-width: 768px) {
  .team-grid { grid-template-columns: repeat(2, minmax(0, 340px)); }
  .team-grid > li:nth-child(3) { grid-column: 1 / -1; justify-self: center; width: min(100%, 340px); }
}
@media (min-width: 1024px) {
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
  .team-grid > li:nth-child(3) { grid-column: auto; justify-self: stretch; width: auto; }
}
.team-card {
  position: relative; isolation: isolate; flex: 1; min-width: 0;
  display: flex; flex-direction: column;
  padding: 12px 12px 24px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-1);
  transition: transform 180ms var(--ease-soft), border-color 160ms var(--ease-soft);
}
.team-card__stage {
  position: relative; height: 274px; display: grid; place-items: end center; overflow: hidden; border-radius: 20px;
  background:
    radial-gradient(70% 60% at 50% 100%, #E3ECFA 0%, rgba(227, 236, 250, 0) 70%),
    linear-gradient(180deg, #F5F8FC 0%, #ECF2FA 100%);
}
.portrait {
  position: relative; width: 200px; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 16px 16px 0 0;
  background: linear-gradient(160deg, #E3ECFA 0%, #ECF2FA 100%);
}
.portrait::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(12, 31, 58, .06);
  background: linear-gradient(180deg, rgba(0, 47, 115, 0) 60%, rgba(0, 47, 115, .14) 100%);
}
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.portrait--mono { display: grid; place-items: center; background: linear-gradient(160deg, #E3ECFA 0%, #B9CBE8 100%); }
.mono-avatar {
  position: relative; z-index: 1; display: grid; place-items: center;
  width: 132px; height: 132px; border-radius: 50%; background: #fff;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, .45), var(--shadow-1);
  font: 700 var(--fs-monogram)/1 var(--font-head); letter-spacing: .02em; color: var(--c-primary);
}
.portrait__arc { position: absolute; top: 14px; right: 14px; z-index: 1; width: 56px; height: 56px; stroke: var(--c-accent); stroke-opacity: .35; }
.team-card__body { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 20px 12px 0; }
.team-card__name { font-size: inherit; letter-spacing: 0; }
.team-card__name .unvan { display: block; font: 600 var(--fs-small)/1.4 var(--font-body); color: var(--c-ink-2); }
.team-card__name .ad { display: block; margin-top: 2px; font: 700 20px/1.25 var(--font-head); color: var(--c-ink); }
.team-card__approach { margin: 0; font: 400 15px/1.6 var(--font-body); color: var(--c-ink-2); text-wrap: pretty; overflow-wrap: break-word; hyphens: manual; }
.team-card__arrow {
  position: absolute; top: 20px; right: 20px; z-index: 2;
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: #fff; color: var(--c-primary); box-shadow: var(--shadow-1);
}
.team-card__arrow .i { width: 18px; height: 18px; transition: transform 180ms var(--ease-soft); }
@media (max-width: 359px) { .team-card__arrow { width: 32px; height: 32px; top: 12px; right: 12px; } }

/* ---------- Konum, bilgi listesi (K-7), gömülü harita (K-8) ---------- */
.location__grid { display: grid; gap: 40px; }
.location__text > p { margin-top: 20px; }
.location__text .text-link { margin-top: 20px; }
@media (min-width: 1024px) {
  .location__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .location__text { grid-column: 1 / 6; }
  .location__map { grid-column: 6 / 13; }
}
.info-list { display: grid; gap: 16px; margin-top: 28px; }
.info-item { position: relative; min-height: 48px; padding-left: 64px; display: flex; flex-direction: column; justify-content: center; }
.info-item .halo { position: absolute; left: 0; top: 50%; margin-top: -24px; }
.info-item dt { font: 600 var(--fs-small)/1.4 var(--font-body); color: var(--c-ink-2); }
.info-item dd { font: 600 17px/1.45 var(--font-body); color: var(--c-ink); overflow-wrap: anywhere; }
.info-item dd.is-plain { font-weight: 400; }
.info-item dd a { display: inline-flex; align-items: center; min-height: 44px; }
.info-cards { display: grid; gap: 16px; margin-top: 40px; align-items: stretch; }
.info-card { padding: 24px 24px 24px 88px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1); }
.info-card .halo { left: 24px; }
@media (max-width: 479px) {
  .info-card { padding: 20px 20px 20px 82px; }
  .info-card .halo { left: 20px; }
}
@media (max-width: 399px) { .info-card dd a[href^="mailto:"] { font-size: 15px; } }
@media (min-width: 768px) {
  .info-cards { grid-template-columns: 1fr 1fr; }
  .info-card { padding: 24px; justify-content: flex-start; }
  .info-card .halo { position: static; margin: 0 0 12px; }
}
@media (min-width: 1200px) {
  .info-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .info-card--wide { grid-column: span 2; }
}
.wa-note { margin-top: 16px; max-width: 70ch; font-size: var(--fs-small); line-height: 1.55; color: var(--c-ink-2); }
.map-embed {
  position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; isolation: isolate;
  border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-1);
  background:
    repeating-linear-gradient(0deg, rgba(0, 47, 115, .035) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(0, 47, 115, .035) 0 1px, transparent 1px 44px),
    radial-gradient(40% 50% at 50% 45%, #FFFFFF 0%, #ECF2FA 100%);
}
.map-embed__art { position: absolute; inset: 0; z-index: 0; display: grid; place-items: center; }
.map-embed__pin {
  display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%;
  background: var(--c-primary); color: #fff;
  box-shadow: 0 0 0 12px rgba(57, 117, 208, .14), var(--shadow-2);
}
.map-embed__pin .i { width: 28px; height: 28px; }
.map-embed__frame { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; background: transparent; }
.map-note { margin-top: 12px; max-width: 62ch; font-size: var(--fs-small); line-height: 1.55; color: var(--c-ink-2); }
/* Yatay telefon: harita sayfanın kaydırma alanını kaplamasın (Mobilci K-8 Çözüm 1c) */
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) {
  .map-embed { aspect-ratio: auto; height: min(60svh, 260px); }
}

/* ---------- Kapanış bandı (K-1, R10) ---------- */
.closing { padding-block: var(--section-y-sm); background: var(--c-bg); }
.closing__panel {
  position: relative; overflow: hidden; isolation: isolate;
  width: min(100% - 2 * var(--gutter), var(--container-wide)); margin-inline: auto;
  display: grid; gap: 28px; padding: clamp(40px, 5vw, 72px);
  border-radius: var(--r-xl); color: var(--c-on-dark);
  background:
    radial-gradient(36rem 24rem at 12% 0%, rgba(31, 91, 181, .55) 0%, rgba(31, 91, 181, 0) 70%),
    radial-gradient(32rem 22rem at 92% 100%, rgba(57, 117, 208, .35) 0%, rgba(57, 117, 208, 0) 70%),
    radial-gradient(28rem 18rem at 55% 55%, rgba(12, 31, 58, .40) 0%, rgba(12, 31, 58, 0) 70%),
    #002F73;
}
.closing__panel::after {
  z-index: 0; opacity: .05; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' 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 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.closing__arc { position: absolute; z-index: 0; stroke: #fff; stroke-opacity: .14; pointer-events: none; }
.closing__arc--a { left: 0; top: 0; width: 230px; height: 230px; }
.closing__arc--b { right: 0; bottom: 0; width: 330px; height: 330px; }
.closing__blob { position: absolute; z-index: 0; top: -120px; right: -100px; width: 360px; fill: #fff; opacity: .06; pointer-events: none; }
.closing__text, .closing__panel > .btn { position: relative; z-index: 1; }
/* tur 6b: kapanış başlıkları uzadı (S1 sesi) — uzun Türkçe sözcükte dar ekranda taşma emniyeti */
.closing h2 { color: #fff; overflow-wrap: break-word; }
.closing__text p { margin-top: 16px; max-width: 52ch; font-size: var(--fs-lead); font-weight: 500; line-height: 1.6; color: var(--c-on-dark-2); }
.closing :focus-visible { outline-color: var(--c-focus-on-dark); }
@media (max-width: 767px) { .closing__panel > .btn { width: 100%; justify-content: space-between; } }
@media (max-width: 479px) { .closing__panel { padding: 32px; } }
@media (min-width: 1024px) {
  .closing__panel { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .closing__text { grid-column: 1 / 9; }
  .closing__panel > .btn { grid-column: 9 / 13; justify-self: end; }
}

/* ---------- Sayfa girişi (K-2) + amblemler (K-4) + hizmetler ikon mozaiği ---------- */
.page-intro {
  position: relative; overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding-top: calc(var(--header-h) + clamp(40px, 6vw, 88px));
  padding-bottom: clamp(48px, 6vw, 88px);
  background:
    /* tur 8 (4.4): iki yıkama da yatayda ORTALI (önce %85 / %0 köşelerindeydi → sol kenarda gri yıkama, sağda hiçbir şey) */
    radial-gradient(40rem 22rem at 50% 0%, rgba(57, 117, 208, .14) 0%, rgba(57, 117, 208, 0) 70%),
    radial-gradient(32rem 20rem at 50% 100%, rgba(200, 208, 219, .35) 0%, rgba(200, 208, 219, 0) 70%),
    #F5F8FC;
}
.page-intro__arc { position: absolute; top: 0; right: 0; width: 190px; height: 190px; stroke: var(--c-accent); stroke-opacity: .35; }
.page-intro__grid { position: relative; display: grid; gap: 40px; }
.page-intro__text .lead { margin-top: 20px; max-width: var(--measure); }
.page-intro__text .lead + .lead, .page-intro__text .lead + p { margin-top: 1em; max-width: var(--measure); }
.page-intro__aside { display: flex; justify-content: center; }
.page-intro__aside--top { order: -1; justify-content: flex-start; }
.page-intro__media { min-width: 0; }
@media (min-width: 1024px) {
  .page-intro__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .page-intro__text { grid-column: 1 / 8; }
  .page-intro__aside { grid-column: 8 / 13; }
  .page-intro__aside--top { order: 0; grid-column: 9 / 13; justify-content: center; }
  .page-intro--full .page-intro__text { grid-column: 1 / -1; }
  .page-intro--media .page-intro__text { grid-column: 1 / 7; }
  .page-intro--media .page-intro__media { grid-column: 7 / 13; align-self: center; }
}
/* JS kapalıyken <1280 header akışta (sarmalanan satır) → giriş header'ın arkasına uzanmaz */
@media (max-width: 1279px) {
  .no-js .hero, .no-js .page-intro { margin-top: 0; padding-top: clamp(24px, 4vw, 56px); }
}
.back-pill {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  min-height: 36px; margin-bottom: 20px; padding: 0 14px 0 10px;
  border: 1px solid var(--c-line); border-radius: var(--r-pill); background: rgba(255, 255, 255, .7);
  font: 600 var(--fs-eyebrow)/1.3 var(--font-body); color: var(--c-primary); text-decoration: none;
}
.back-pill::before { content: ""; position: absolute; inset: -4px 0; }
.back-pill .i { width: 16px; height: 16px; }

/* ---------- Hekim sayfaları (tur 8): mevcut page-intro / team-card / chips / areas bileşenleri; yalnız küçük eklemeler ---------- */
.doc-field { margin: 12px 0 0; font: 600 var(--fs-eyebrow)/1.4 var(--font-body); color: var(--c-primary); }
.page-intro__text .doc-field + .lead { margin-top: 16px; }
.doc-portrait { position: relative; width: min(100%, 360px); margin-inline: auto; padding: 12px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-2); }
.doc-portrait .portrait { width: 100%; aspect-ratio: auto; border-radius: 20px; } /* tam kare: kırpma yok */
.doc-portrait .portrait img { display: block; height: auto; }
.team-grid--two { grid-template-columns: minmax(0, 340px); }
@media (min-width: 768px) { .team-grid--two { grid-template-columns: repeat(2, minmax(0, 340px)); } }
@media (min-width: 1024px) { .team-grid--two { grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; } }
.doc-others h2 { text-align: center; margin-bottom: 32px; }
.doc-back { display: flex; justify-content: center; margin: 32px 0 0; }
.doc-back .back-pill { margin-bottom: 0; }

.emblem { position: relative; width: 112px; height: 112px; display: grid; place-items: center; flex: none; }
.emblem__blob-a { position: absolute; inset: 0; width: 100%; height: 100%; fill: #E3ECFA; }
.emblem__blob-b, .emblem__orbits { display: none; }
.emblem__disc {
  position: relative; display: grid; place-items: center;
  width: 72px; height: 72px; border-radius: 50%; background: #fff; color: var(--c-primary);
  box-shadow: 0 0 0 8px #E3ECFA, var(--shadow-1);
}
.emblem__disc .svc-ico { --svc-s: 40px; } /* tur 5: M amblem 72 px disk, ikon 40 px */
@media (min-width: 1024px) {
  .emblem { width: 220px; height: 220px; }
  .emblem__blob-b { display: block; position: absolute; right: -10px; bottom: -6px; width: 120px; height: 120px; fill: #C8D0DB; opacity: .55; }
  .emblem__orbits { display: block; position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
  .emblem__disc { width: 128px; height: 128px; box-shadow: 0 0 0 10px #E3ECFA, var(--shadow-2); }
  .emblem__disc .svc-ico { --svc-s: 64px; } /* L amblem 128 px disk, ikon 64 px */
}

/* Hizmetler dizini başlık görseli — ikon mozaiği (tur 5, K-arayuzcu-4 S1; dekoratif, yalnız ≥1024) */
.svc-mosaic-wrap { display: none; }
@media (min-width: 1024px) {
  .svc-mosaic-wrap { display: flex; justify-content: flex-end; align-items: center; }
  .svc-mosaic {
    position: relative; isolation: isolate;
    display: grid; grid-template-columns: repeat(4, 72px); grid-auto-rows: 72px; gap: 12px;
    padding: 24px 24px 36px; /* alt pay: aşağı kaydırılan karolar için */
  }
  .svc-mosaic::before { /* yumuşak radial hale (blob değil) */
    content: ""; position: absolute; inset: -6% -8%; z-index: -1; border-radius: 50%; pointer-events: none;
    background: radial-gradient(closest-side, rgba(227, 236, 250, .95) 0%, rgba(227, 236, 250, 0) 100%);
  }
  .svc-mosaic__tile {
    display: grid; place-items: center;
    background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg);
    box-shadow: var(--shadow-1), var(--hi-inset); color: var(--c-primary);
  }
  .svc-mosaic__tile:nth-child(even) { translate: 0 12px; } /* organik ritim: 2., 4., 6., 8. karo 12 px aşağı */
  .svc-mosaic__tile:nth-child(3), .svc-mosaic__tile:nth-child(6) { background: var(--c-accent-soft); border-color: var(--c-accent-soft); }
  .svc-mosaic__tile .svc-ico { --svc-s: 36px; }
}
@media (min-width: 1200px) {
  .svc-mosaic { grid-template-columns: repeat(4, 88px); grid-auto-rows: 88px; gap: 16px; }
  .svc-mosaic__tile .svc-ico { --svc-s: 44px; }
}

/* ---------- Açıklama, süreç (R7), not (K-13), SSS (R8), çipler, form bağlantısı ---------- */
.explainer__grid { display: grid; gap: 24px; }
@media (min-width: 1024px) {
  .explainer__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
  .explainer__head { grid-column: 1 / 5; }
  .explainer__body { grid-column: 5 / 12; max-width: var(--measure); }
}
.steps { position: relative; display: grid; gap: 28px; margin: 40px 0 0; padding: 0; list-style: none; counter-reset: step; }
.steps::before { content: ""; position: absolute; top: 22px; bottom: 22px; left: 21px; border-left: 2px dashed rgba(57, 117, 208, .35); }
.steps--3 { --n: 3; } .steps--4 { --n: 4; } .steps--5 { --n: 5; }
.step { position: relative; padding-left: 64px; counter-increment: step; }
.step__node {
  position: absolute; left: 0; top: 0; display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1.5px solid var(--c-accent);
  font: 700 18px/1 var(--font-head); color: var(--c-primary);
}
.step__node::before { content: counter(step); }
.step__title { padding-top: 9px; font-size: var(--fs-h4); line-height: 1.3; letter-spacing: 0; }
.step__text { margin-top: 6px; color: var(--c-ink-2); }
@media (min-width: 1024px) {
  .steps { grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 24px; }
  .steps::before { top: 22px; bottom: auto; left: 22px; right: 22px; border-left: 0; border-top: 2px dashed rgba(57, 117, 208, .35); }
  .step { padding: 64px 0 0; }
  .step__title { padding-top: 0; }
}
.info-row { display: flex; gap: 12px; align-items: flex-start; margin-top: 32px; padding: 16px 20px; border-radius: var(--r-lg); background: #E3ECFA; color: var(--c-ink); }
.info-row .i { margin-top: 3px; color: var(--c-primary); }
.page-intro .info-row { max-width: var(--measure); margin-top: 20px; }

.note {
  display: grid; gap: 16px; max-width: 960px; margin-inline: auto;
  padding: clamp(24px, 3vw, 40px);
  background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-lg);
}
.note .halo { width: 40px; height: 40px; }
.note .halo .i { width: 20px; height: 20px; }
.note__body > * + * { margin-top: 1em; }
.note__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.note__list li { display: flex; gap: 10px; align-items: flex-start; }
.note__list .i { margin-top: 3px; color: var(--c-accent); }
.note__last { display: flex; gap: 14px; align-items: center; margin-top: 4px; padding-top: 20px; border-top: 1px solid var(--c-line); }
@media (min-width: 640px) {
  .note { grid-template-columns: 56px 1fr; gap: 20px; }
  .note .halo { width: 56px; height: 56px; }
  .note .halo .i { width: 28px; height: 28px; }
  .note__list, .note__last { grid-column: 2 / -1; }
}
@media (min-width: 1024px) {
  .note--split { grid-template-columns: 56px 1fr 1fr; }
  .note--split .note__list { grid-column: 3; align-self: center; }
  .note--split .note__last { grid-column: 2 / -1; }
}

.faq { display: grid; gap: 12px; max-width: 860px; margin-top: 32px; }
/* Tur 8: tüm öğe (summary + cevap + kenarlık) TEK yüzeydir. Hover/dokunma koyulaşması öğe düzeyinde uygulanır; summary kendi arka planını taşımaz → açıkken "yarısı boyalı" dikiş olmaz. */
.faq__item { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1); transition: border-color 160ms var(--ease-soft), background-color 160ms var(--ease-soft); }
.faq__item[open] { border-color: rgba(57, 117, 208, .35); }
.faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 64px; padding: 20px 24px; list-style: none; cursor: pointer;
  border-radius: var(--r-lg);
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item[open] summary { border-radius: var(--r-lg) var(--r-lg) 0 0; }
@supports selector(:has(a)) { /* odak halkası da tüm öğeyi sarar (hizmet kartlarıyla aynı yaklaşım) */
  .faq__item summary:focus-visible { outline: none; }
  .faq__item:has(summary:focus-visible) { outline: 2px solid var(--c-focus); outline-offset: 3px; }
}
.faq__q { font: 700 var(--fs-h4)/1.3 var(--font-head); color: var(--c-ink); }
.faq__chev { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: #E3ECFA; color: var(--c-primary); transition: transform 240ms var(--ease-out); }
.faq__item[open] .faq__chev { transform: rotate(180deg); }
.faq__a { max-width: 70ch; padding: 0 24px 22px; }
@media (hover: hover) and (pointer: fine) { .faq__item:hover { background: var(--c-bg); } }
@media (hover: none), (pointer: coarse) { .faq__item:has(summary:active) { background: var(--c-bg); } }

.chips { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.chip {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px 0 8px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-pill);
  font: 600 15px/1 var(--font-body); color: var(--c-ink); text-decoration: none;
  transition: border-color 160ms var(--ease-soft), transform 180ms var(--ease-soft);
}
/* tur 5: 32 px daire hale her genişlikte + sahibin ikonu 20 px (.svc-ico--fine), primary */
.chip__halo { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #E3ECFA; color: var(--c-primary); transition: background-color 160ms var(--ease-soft); }
.chip__halo .svc-ico { --svc-s: 20px; }
@media (hover: hover) and (pointer: fine) {
  .chip:hover { border-color: rgba(57, 117, 208, .35); }
  .chip:hover .chip__halo { background: var(--c-accent-soft-2); }
}

.formlink {
  position: relative; overflow: hidden; display: grid; gap: 24px;
  padding: clamp(32px, 4vw, 56px); border-radius: var(--r-xl); background: #E3ECFA;
}
.formlink__blob { position: absolute; top: -90px; right: -70px; width: 260px; fill: #fff; opacity: .5; }
.formlink__arc { position: absolute; top: 0; right: 0; width: 150px; height: 150px; stroke: var(--c-accent); stroke-opacity: .35; }
.formlink__text, .formlink > .btn { position: relative; }
/* tur 6b: form bağlantısı başlıkları uzadı (ör. "…değerlendiriyoruz") — dar ekranda taşma emniyeti */
.formlink__text h2 { overflow-wrap: break-word; }
.formlink__text p { margin-top: 12px; color: var(--c-ink-2); }
/* tur 8: EN CTA metinleri daha uzun ("Request an appointment for root canal treatment") → dar ekranda düğme satıra sarılır, ızgara taşmaz */
@media (max-width: 767px) {
  .formlink { grid-template-columns: minmax(0, 1fr); }
  .formlink > .btn { width: 100%; justify-content: space-between; white-space: normal; height: auto; min-height: 56px; padding-block: 12px; text-align: left; line-height: 1.25; }
}
@media (min-width: 1024px) {
  .formlink { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .formlink__text { grid-column: 1 / 9; }
  .formlink > .btn { grid-column: 9 / 13; justify-self: end; }
}

/* ---------- Hakkımızda (giriş → vizyon → misyon → değerler → alanlar → konfor → kapıdan çıkarken) ---------- */
.pill-eyebrow {
  display: inline-flex; align-items: center; width: fit-content; padding: 6px 14px;
  border-radius: var(--r-pill); background: #E3ECFA;
  font: 600 var(--fs-eyebrow)/1.3 var(--font-body); letter-spacing: .01em; color: var(--c-primary);
}
.pill-eyebrow--white { background: #fff; }
.page-intro__eyebrow { margin-bottom: 16px; } /* tur 8: sayfa girişlerinde H1 üstündeki küçük başlık */
.pill-eyebrow + h2 { margin-top: 16px; }
.vision { max-width: 760px; margin-inline: auto; text-align: center; }
.vision .pill-eyebrow { margin-inline: auto; }
.vision__body { margin-top: 20px; }
.vision__arc, .promise__arc { display: block; width: 64px; height: 16px; margin: 0 auto 20px; stroke: var(--c-accent); stroke-opacity: .35; }

.values__grid { display: grid; gap: 32px; }
.values__aside { display: contents; }
.values__intro .lead { margin-top: 16px; }
/* tur 4: fotoğraflı 3:2 yuva (kabuk ≥1024 en çok 440 px, <1024 en çok 400 px ortalı) */
.values__media { order: 1; width: 100%; max-width: 400px; margin-inline: auto; }
.values { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: v; }
.values li {
  display: grid; grid-template-columns: 44px 1fr; gap: 4px 18px; align-items: start;
  padding: 24px 28px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1);
  counter-increment: v;
}
.values li::before {
  content: counter(v); content: counter(v) / "";
  grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: #E3ECFA; font: 700 18px/1 var(--font-head); color: var(--c-primary);
}
.values h3 { padding-top: 10px; font-size: var(--fs-h4); line-height: 1.3; letter-spacing: 0; }
.values p { color: var(--c-ink-2); }
@media (min-width: 1024px) {
  .values__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
  .values__aside { display: block; grid-column: 1 / 6; position: sticky; top: calc(var(--header-h) + 32px); align-self: start; }
  .values__media { max-width: 440px; margin: 32px 0 0; }
  .values { grid-column: 6 / 13; }
}

.areas { display: grid; gap: 12px; margin-top: 28px; }
@media (min-width: 480px) { .areas { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .areas { grid-template-columns: repeat(3, 1fr); } }
.areas li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-md); font: 500 16px/1.45 var(--font-body); color: var(--c-ink); overflow-wrap: break-word; }
@media (min-width: 768px) { .areas li { padding: 16px 18px; } }
.areas .i { margin-top: 1px; color: var(--c-accent); }
.areas-note { margin-top: 24px; color: var(--c-ink-2); }

.comfort__grid { display: grid; gap: 40px; }
.comfort__text > h2 + p { margin-top: 20px; }
.comfort__list { display: grid; gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: comfort; }
.comfort__list li {
  display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start;
  padding: 20px 24px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1);
  counter-increment: comfort;
}
.comfort__list li::before {
  content: counter(comfort); content: counter(comfort) / "";
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: #E3ECFA; font: 700 18px/1 var(--font-head); color: var(--c-primary);
}
.comfort__list li span { padding-top: 9px; }
.comfort__last { margin-top: 24px; }
.comfort__media { min-width: 0; }
@media (min-width: 1024px) {
  .comfort__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: center; }
  .comfort__text { grid-column: 7 / 13; }
  .comfort__media { grid-column: 1 / 7; order: -1; }
}
/* <480: numaralı kartlarda metin tam genişliğe iner (Mobilci Values / ComfortList) */
@media (max-width: 479px) {
  .values li { grid-template-columns: 36px 1fr; gap: 8px 12px; padding: 20px 18px; }
  .comfort__list li { grid-template-columns: 36px 1fr; gap: 8px 12px; padding: 18px 16px; }
  .values li::before, .comfort__list li::before { grid-row: auto; width: 36px; height: 36px; font-size: 16px; align-self: center; }
  .values h3 { padding-top: 0; align-self: center; }
  .values p, .comfort__list li span { grid-column: 1 / -1; padding-top: 0; }
}
.promise { max-width: 720px; margin-inline: auto; text-align: center; }
.promise p { margin-top: 20px; }
@media (max-width: 767px) { .vision__body, .promise p { text-align: left; } }

/* ---------- Ekibimiz (tur 5: başlık yanındaki üç boş daire dekoru kaldırıldı) ---------- */
.team-stage h2 { text-align: center; }
.team-stage .team-grid { margin-top: 40px; }
.team-stage__blob-a { position: absolute; z-index: 0; left: 50%; top: 50%; width: min(640px, 120%); translate: -50% -40%; fill: #E3ECFA; }
.team-stage__blob-b { position: absolute; z-index: 0; right: 6%; top: 18%; width: min(280px, 60%); fill: #C8D0DB; opacity: .4; }

/* ---------- Sağlık turizmi ---------- */
.prep__grid { display: grid; gap: 32px; }
.prep__intro .lead { margin-top: 16px; }
.prep { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.prep li {
  display: flex; gap: 12px; align-items: flex-start; padding: 16px 20px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md);
  font: 500 16px/1.45 var(--font-body); color: var(--c-ink);
}
.prep .i { margin-top: 1px; color: var(--c-accent); }
.prep__list .info-row { margin-top: 20px; }
@media (min-width: 1024px) {
  .prep__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
  .prep__intro { grid-column: 1 / 6; }
  .prep__list { grid-column: 6 / 13; }
}
.plan-panel {
  position: relative; overflow: hidden; max-width: 960px; margin-inline: auto;
  display: grid; gap: 24px; padding: clamp(28px, 4vw, 48px);
  border-radius: var(--r-xl); background: #E3ECFA;
}
.plan-panel__blob { position: absolute; top: -80px; right: -60px; width: 220px; fill: #fff; opacity: .5; }
.plan-panel .halo { position: relative; width: 72px; height: 72px; border-radius: 50%; background: #fff; }
.plan-panel .halo .i { width: 32px; height: 32px; }
.plan-panel__text { position: relative; }
.plan-panel__text p { margin-top: 12px; color: var(--c-ink-2); }
@media (min-width: 768px) { .plan-panel { grid-template-columns: 72px 1fr; } }
.topics { display: grid; gap: 20px; max-width: 420px; margin: 32px auto 0; align-items: stretch; }
.topic {
  display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 20px; text-align: center;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-1);
}
.topic h3 { font-size: var(--fs-h4); line-height: 1.3; letter-spacing: 0; }
.topic p { margin: -4px 0 0; max-width: 34ch; font-size: var(--fs-small); line-height: 1.55; color: var(--c-ink-2); } /* tur 8: "Neden Artı Estetik?" maddeleri başlık + kısa metin */
.topics-note { margin-top: 24px; text-align: center; font-size: var(--fs-small); color: var(--c-ink-2); }
@media (min-width: 768px) {
  .topics { grid-template-columns: repeat(3, 1fr); max-width: none; }
  .topic { padding: 28px; }
}
.contact-box { max-width: 760px; margin-inline: auto; padding: 32px; background: #fff; border-radius: var(--r-xl); box-shadow: var(--shadow-1); border: 1px solid var(--c-line); }
.contact-box .info-list { margin-top: 24px; }
.contact-box .text-link { margin-top: 16px; }
@media (max-width: 479px) { .contact-box { padding: 24px; } }

/* ---------- İletişim ---------- */
.map-facade__grid { display: grid; gap: 32px; }
.map-facade__text p { margin-top: 16px; }
.map-facade__text .text-link { margin-top: 12px; }
@media (min-width: 1024px) {
  .map-facade__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
  .map-facade__map { grid-column: 1 / 8; grid-row: 1 / 3; }
  .map-facade__text { grid-column: 8 / 13; grid-row: 1; }
  .map-facade__photo { grid-column: 8 / 13; grid-row: 2; }
}

/* ---------- Randevu formu (K-14, R9; tur 7: sunucuya gönderim — e-posta taslağı / kopyalama yedeği kaldırıldı) ---------- */
.form-section { position: relative; isolation: isolate; }
.form-section__blob-a { position: absolute; z-index: -1; left: 0; top: 0; width: min(520px, 120%); fill: #E3ECFA; }
.form-section__blob-b { position: absolute; z-index: -1; right: 0; bottom: 40px; width: min(380px, 90%); fill: #C8D0DB; opacity: .45; }
.form-panel {
  position: relative; max-width: 760px; margin-inline: auto; padding: clamp(24px, 4vw, 48px);
  display: grid; gap: 24px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-1);
}
.form-panel__form { display: grid; gap: 24px; }
.req-note { margin-top: -12px; font-size: var(--fs-small); color: var(--c-ink-2); }
.field { display: grid; gap: 8px; }
.field__label, .choices legend { font: 600 16px/1.4 var(--font-body); color: var(--c-ink); }
.field__hint { font-size: var(--fs-small); line-height: 1.5; color: var(--c-ink-2); }
.field__input {
  width: 100%; height: 52px; padding: 0 16px;
  border: 1.5px solid var(--c-line-strong); border-radius: var(--r-sm); background: #fff;
  font-size: 17px; color: var(--c-ink);
  transition: border-color 160ms var(--ease-soft);
}
.field__input:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-color: var(--c-primary); }
.field__input[aria-invalid="true"] { border-color: var(--c-error); }
.field__error { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: var(--c-error); }
.field__error .i { width: 18px; height: 18px; margin-top: 2px; }
.choices { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 12px; }
.choices legend { padding: 0; margin-bottom: 12px; }
.choices__grid { display: grid; gap: 10px; }
.choices__grid--time { grid-template-columns: 1fr 1fr; }
.choices__grid--service { grid-template-columns: 1fr; }
@media (max-width: 359px) { .choices__grid--time { grid-template-columns: 1fr; } }
@media (min-width: 768px) {
  .choices__grid--time { grid-template-columns: repeat(4, 1fr); }
  .choices__grid--service { grid-template-columns: 1fr 1fr; }
  .choices__grid--service .choice:last-child { grid-column: 1 / -1; }
}
.choice {
  display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 16px;
  border: 1.5px solid var(--c-line-strong); border-radius: var(--r-sm); background: #fff;
  font: 500 16px/1.35 var(--font-body); color: var(--c-ink); cursor: pointer;
  transition: border-color 160ms var(--ease-soft), background-color 160ms var(--ease-soft);
}
@media (max-width: 479px) { .choice { padding: 12px 14px; gap: 10px; } }
.choice input {
  appearance: none; -webkit-appearance: none; flex: none;
  display: grid; place-items: center; width: 20px; height: 20px; margin: 0;
  border: 1.5px solid var(--c-line-strong); border-radius: 50%; background: #fff;
}
.choice input::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c-primary); transform: scale(0); }
.choice input:checked { border-color: var(--c-primary); }
.choice input:checked::before { transform: none; }
.choice:has(input:checked) { background: #E3ECFA; border-color: var(--c-primary); }
.choices.is-invalid .choice { border-color: var(--c-error); }
@supports selector(:has(*)) {
  .choice input:focus-visible { outline: none; }
  .choice:has(input:focus-visible) { outline: 2px solid var(--c-focus); outline-offset: 3px; }
}
@media (hover: hover) and (pointer: fine) { .choice:hover { border-color: var(--c-primary); } }
@media (hover: none), (pointer: coarse) { .choice:active { background: #E3ECFA; } }
/* Tur 7: zorunlu KVKK onay kutusu — etiketin tamamı dokunma hedefi (≥44 px); içindeki bağlantı /kvkk/ */
.consent { display: grid; gap: 8px; }
.consent__label {
  display: flex; align-items: flex-start; gap: 12px; min-height: 48px; padding: 12px 16px;
  border: 1.5px solid var(--c-line-strong); border-radius: var(--r-sm); background: #fff;
  font: 500 16px/1.5 var(--font-body); color: var(--c-ink); cursor: pointer;
  transition: border-color 160ms var(--ease-soft), background-color 160ms var(--ease-soft);
}
@media (max-width: 479px) { .consent__label { padding: 12px 14px; gap: 10px; font-size: 15px; } }
.consent__input {
  appearance: none; -webkit-appearance: none; flex: none;
  display: grid; place-items: center; width: 22px; height: 22px; margin: 1px 0 0;
  border: 1.5px solid var(--c-line-strong); border-radius: 6px; background: #fff; cursor: pointer;
}
.consent__input::before {
  content: ""; width: 11px; height: 6px; margin-top: -3px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: rotate(-45deg) scale(0);
}
.consent__input:checked { background: var(--c-primary); border-color: var(--c-primary); }
.consent__input:checked::before { transform: rotate(-45deg); }
.consent__label:has(.consent__input:checked) { background: #E3ECFA; border-color: var(--c-primary); }
.consent.is-invalid .consent__label { border-color: var(--c-error); }
@supports selector(:has(*)) {
  .consent__input:focus-visible { outline: none; }
  .consent__label:has(.consent__input:focus-visible) { outline: 2px solid var(--c-focus); outline-offset: 3px; }
}
@media (hover: hover) and (pointer: fine) { .consent__label:hover { border-color: var(--c-primary); } }
@media (hover: none), (pointer: coarse) { .consent__label:active { background: #E3ECFA; } }
/* Tur 7: honeypot — görsel olarak ekran dışında (display:none değil), aria-hidden + tabindex=-1 (HTML'de) */
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.form-actions { display: grid; gap: 12px; justify-items: start; }
@media (max-width: 767px) { .form-actions .btn { width: 100%; } }
/* Tur 7: istek sürerken düğme devre dışı ("Gönderiliyor") — hover/odak kalkışı uygulanmaz */
.form-actions .btn:disabled { opacity: .72; cursor: progress; transform: none; }
.form-note, .privacy { font-size: var(--fs-small); line-height: 1.55; color: var(--c-ink-2); }
input, fieldset, button[type="submit"] { scroll-margin-block: 24px; }
/* Tur 7: sunucu / bağlantı hatası (form, role=alert) ve panel uyarıları (role=alert) — ortak kutu */
.form-alert, .admin-msg {
  display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px;
  background: var(--c-bg); border: 1.5px solid var(--c-error); border-radius: var(--r-md);
  font-size: 15px; line-height: 1.5; color: var(--c-ink);
}
.form-alert .i, .admin-msg .i { width: 18px; height: 18px; margin-top: 2px; color: var(--c-error); }
/* Tur 7: başarı (role=status, odak alır) — form gizlenir, bu kutu panelde görünür */
.form-success { display: grid; gap: 16px; justify-items: start; }
.form-success .halo { color: var(--c-success); }
.form-success__body p { margin-top: 8px; color: var(--c-ink-2); }
@media (min-width: 640px) { .form-success { grid-template-columns: 48px 1fr; align-items: start; gap: 20px; } }
.phone-alt {
  max-width: 760px; margin-inline: auto; padding: 28px 24px; display: grid; gap: 16px;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-xl); box-shadow: var(--shadow-1);
}
.phone-alt .halo { width: 72px; height: 72px; border-radius: 50%; }
.phone-alt .halo .i { width: 32px; height: 32px; }
.phone-alt__body p { margin-top: 8px; color: var(--c-ink-2); }
.phone-alt__num { display: block; margin-top: 10px; font: 700 24px/1.2 var(--font-head); color: var(--c-ink); }
@media (max-width: 767px) { .phone-alt .btn { width: 100%; } }
@media (min-width: 768px) {
  .phone-alt { grid-template-columns: 72px 1fr auto; align-items: center; gap: 24px; padding: 28px 32px; }
}

/* ---------- Randevular paneli (/randevular/; yalnızca klinik personeli — tur 7, davranış js/randevular.js) ----------
   Mevcut token'lar; ≥720 tablo, <720 kart listesi (390 px'te yatay kaydırma yok); dokunma hedefleri ≥44 px.
   Hareket yok (yalnızca satır zemin rengi geçişi; reduced-motion'da kapalı). */
.form-panel.admin-login { max-width: 520px; margin-inline: 0; }
.admin-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.admin-count {
  font: 800 var(--fs-h3)/1.25 var(--font-head); color: var(--c-ink);
  font-variant-numeric: tabular-nums; border-radius: var(--r-sm);
}
.admin-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.admin-actions .btn:disabled { opacity: .72; cursor: progress; transform: none; }
.admin-list > .admin-msg, .admin-empty, .admin-results { margin-top: 24px; }
.admin-empty {
  padding: 24px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg);
  box-shadow: var(--shadow-1); color: var(--c-ink-2);
}
.admin-table-wrap {
  display: none; overflow-x: auto;
  background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1);
}
.admin-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.admin-table th {
  padding: 12px 16px; text-align: left; white-space: nowrap;
  font: 600 var(--fs-small)/1.3 var(--font-body); color: var(--c-ink-2);
  background: var(--c-bg); border-bottom: 1px solid var(--c-line);
}
.admin-table td { padding: 8px 16px; vertical-align: middle; color: var(--c-ink); border-bottom: 1px solid var(--c-line); overflow-wrap: anywhere; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table td:first-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.admin-table tbody tr { transition: background-color 160ms var(--ease-soft); }
.admin-table a, .admin-card a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.admin-cards { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.admin-card { padding: 12px 20px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-1); }
.admin-card__dl > div {
  display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 2px 12px; align-items: center;
  min-height: 44px; padding: 6px 0; border-bottom: 1px solid var(--c-line);
}
.admin-card__dl > div:last-child { border-bottom: 0; }
.admin-card dt { font: 600 var(--fs-small)/1.4 var(--font-body); color: var(--c-ink-2); }
.admin-card dd { min-width: 0; color: var(--c-ink); overflow-wrap: anywhere; }
@media (max-width: 399px) {
  .admin-card__dl > div { grid-template-columns: minmax(0, 1fr); }
  .admin-actions { width: 100%; }
  .admin-actions .btn { flex: 1 1 0; }
}
@media (min-width: 720px) {
  .admin-cards { display: none; }
  .admin-table-wrap { display: block; }
}
@media (hover: hover) and (pointer: fine) { .admin-table tbody tr:hover { background: var(--c-bg); } }
@media (prefers-reduced-motion: reduce) { .admin-table tbody tr { transition: none; } }

/* ---------- KVKK ---------- */
.legal { max-width: 72ch; margin-inline: auto; }
.legal h2 { margin-top: 40px; font-size: var(--fs-h3); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.legal h2:first-child { margin-top: 0; }
.legal h2 + * { margin-top: 12px; }
.legal__card { padding: 24px; background: var(--c-bg-ice); border-radius: var(--r-lg); overflow-wrap: anywhere; }
.legal__card > span { display: block; }
.legal__list { display: grid; gap: 10px; margin-top: 12px; padding: 0; list-style: none; }
.legal__list li { position: relative; padding-left: 20px; }
.legal__list li::before { content: ""; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: var(--c-accent); }

/* ---------- 404 ---------- */
.notfound { display: grid; place-items: center; min-height: calc(80vh - var(--header-h)); min-height: calc(80svh - var(--header-h)); }
.notfound__card {
  width: min(100%, 560px); margin-inline: auto; padding: clamp(32px, 5vw, 56px); text-align: center;
  background: #fff; border-radius: var(--r-xl); box-shadow: var(--shadow-2);
}
.notfound__card .halo { margin: 0 auto 20px; }
.notfound__card h1 { font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem); }
.notfound__card p { margin-top: 16px; color: var(--c-ink-2); }
.notfound__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }
