@charset "UTF-8";

/* ===================================================================
   C1 — YAZI TİPLERİ KENDİ SUNUCUMUZDAN (self-host)
   -------------------------------------------------------------------
   NEDEN: Bu üç aile daha önce fonts.googleapis.com'dan çekiliyordu.
   Ölçüldü: oradan gelen CSS TAM render engelleyici — üçüncü taraf
   gecikmesi FCP'ye birebir yansıyordu. Ayrıca her ziyaretçinin HAM IP
   adresi Google'a gidiyordu; bu, CLAUDE.md §6'daki "ham IP asla
   tutulmaz, ipHash() kullanılır" disipliniyle çelişiyor. Dosyalar
   assets/fonts/ altına alındı (SIL OFL — lisans metinleri aynı
   klasörde), üçüncü taraf isteği kalmadı.

   ALT KÜME NOTU: Türkçe için latin-ext ŞART (ğ ş İ Ğ Ş = U+011E-015F)
   ama latin-ext dosyası temel Latin gliflerini İÇERMEZ; ikisi de
   tanımlanır, tarayıcı unicode-range ile gerekeni indirir. (ı U+0131
   ile ç ö ü latin alt kümesindedir.)

   AĞIRLIK NOTU: Yalnızca CSS'te GERÇEKTEN kullanılan ağırlıklar var
   (tarayıcıda ölçüldü). Space Grotesk 500 hiç kullanılmıyordu — artık
   inmiyor. IBM Plex Mono 400 ve 700 kullanılıyordu ama indirilmiyordu,
   tarayıcı sentetik kalın/ince üretiyordu — ikisi de eklendi.
   Manrope 500 yalnızca .breadcrumb__current'taydı, 600'e çekildi.
   =================================================================== */

@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}


/* ===================================================================
   dijitalavukat.tr — TANITIM SİTESİ (KOYU TEMA)
   -------------------------------------------------------------------
   Bağımsız stil dosyası: site sayfaları admin.css yüklemez, panel de
   bu dosyayı yüklemez — iki taraf birbirini bozmadan geliştirilebilir.

   Tasarım sistemi (Faz 8): koyu zeminli, hareketli "ajans" dili.
   Renkler markanın kendi paletinden türetilmiştir; koyu zeminde
   okunabilirlik için AÇIK TONLARI kullanılır (WCAG kontrast gereği,
   rengi ters çevirmek yerine tonunu açmak):

       indigo  #2e3a8c  →  --indigo-lift #7b8bf5   (kontrast 6.4:1)
       yeşil   #0f6e5c  →  --ok          #19a98a   (kontrast 6.6:1)
       ink     #14161c  →  sayfa zemini olarak derinleştirildi

   Eski sürümdeki tüm sınıf adları (bento, bento-tile, span-*, eyebrow,
   status-pill, compliance-tile, price-card, step, faq-item, case-col,
   contact-*) KORUNMUŞTUR — hiçbir görünüm dosyası bozulmaz.
   =================================================================== */

:root{
  --bg:#0a0c11;
  --bg-2:#0f1219;
  --surface:#141823;
  --surface-2:#1a1f2c;
  --panel:#0f1219;
  --border:rgba(255,255,255,.09);
  --border-str:rgba(255,255,255,.16);
  /* A5 — YALNIZCA form alanı (input/textarea/select) kenarlıkları için.
     --border-str form alanlarında 1,63:1 kalıyordu; WCAG 1.4.11 arayüz
     bileşenleri için 3:1 ister. .30 tarayıcıda ÖLÇÜLDÜ: kart zemininde
     (rgb(20,24,35)) yalnızca 2,70:1 veriyordu — .36 ile 3,3:1'e çıkıyor.
     --border-str'yi global değiştirmiyoruz: kart/buton/ayraç gibi dekoratif
     kenarlıklar bilinçli olarak soluk kalmalı. */
  --border-field:rgba(255,255,255,.36);

  --ink:#f3f5f9;          /* eski --ink artık "ana metin" (açık) */
  --txt:#f3f5f9;
  --muted:#96a0b3;
  --soft:#dfe4ee;

  --indigo:#2e3a8c;       /* marka indigosu — dolgu/gradient için */
  --indigo-lift:#7b8bf5;  /* koyu zeminde okunabilir indigo */
  --indigo-tint:rgba(123,139,245,.14);
  --indigo-soft:rgba(123,139,245,.14);

  --ok:#19a98a;
  --ok-tint:rgba(25,169,138,.13);
  --danger:#f07070;
  --danger-tint:rgba(240,112,112,.12);

  /* Faz 18 — ÇEREZ ONAY BANDI.
     --cerez-bg BİLEREK OPAK: bant sayfa içeriğinin üstünde durur; yarı
     saydam bir zeminde altındaki metin karışır ve kontrast ÖLÇÜLEMEZ
     hâle gelirdi (WCAG denetimi "gerçek bileşik renk" ister).
     --cerez-line yalnızca buton/kutu kenarlığı içindir: --border-str
     (.16) bu zeminde ~1,6:1 kalıyordu, WCAG 1.4.11 arayüz bileşenleri
     için 3:1 ister. .42 tarayıcıda ölçüldü. */
  --cerez-bg:#161b26;
  --cerez-line:rgba(255,255,255,.42);

  --radius:18px;
  --radius-sm:11px;

  --font-display: 'Space Grotesk', -apple-system, sans-serif;
  --font-body: 'Manrope', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family: var(--font-body);
  color:var(--txt);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;}
.mono{ font-family: var(--font-mono); }
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--indigo-lift);outline-offset:3px;border-radius:6px;}

/* ---------------------------------------------------------------- */
/* A3 — "İçeriğe atla" bağlantısı (WCAG 2.4.1)                        */
/* Klavye/ekran okuyucu kullanıcısı her sayfada 8-10 menü bağlantısını
   tekrar tekrar geçmek zorunda kalmasın diye. Ekran dışına ALINIR,
   display:none KULLANILMAZ — gizlenen öğe odak alamaz, bağlantı da
   çalışmazdı. Odaklanınca görünür hâle gelir.                       */
/* ---------------------------------------------------------------- */
.skip-link{
  position:absolute;top:0;left:-9999px;z-index:300;
  background:#f3f5f9;color:#0a0c11;   /* 17,6:1 — eşik 4.5:1 */
  padding:13px 20px;border-radius:0 0 10px 0;
  font-weight:700;font-size:.92rem;text-decoration:none;
}
.skip-link:focus{left:0;outline:3px solid var(--indigo-lift);outline-offset:2px;}
/* Odak <main>'e taşındığında (tabindex="-1") halkayı gösterme — kullanıcı
   zaten oraya gitmek istedi, koca bir dikdörtgen çizmek gürültü olur. */
main:focus{outline:none;}

.icon{width:1.15rem;height:1.15rem;flex:none;fill:none;stroke:currentColor;
      stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* ---------------------------------------------------------------- */
/* Bento grid — eski sınıflar korunuyor                              */
/* ---------------------------------------------------------------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:24px;}
.bento-tile{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.bento-tile:hover{transform:translateY(-4px);border-color:var(--border-str);box-shadow:0 20px 44px rgba(0,0,0,.45);}
.bento-tile.brand{
  background:linear-gradient(150deg,#182052,#12172c 58%,#0d1018);
  border-color:rgba(123,139,245,.24);position:relative;overflow:hidden;
}
.bento-tile.brand::after{
  content:"";position:absolute;width:620px;height:620px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(90,110,240,.26),transparent 66%);
  top:-330px;right:-160px;
}
.bento-tile.brand > *{position:relative;z-index:1;}
.bento-tile.final-cta{grid-column:span 12;text-align:center;padding:72px 40px;}
.bento-tile.final-cta::after{left:50%;right:auto;transform:translateX(-50%);}
.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
.span-6{grid-column:span 6;}
.span-8{grid-column:span 8;}
.span-12{grid-column:span 12;}

/* ---------------------------------------------------------------- */
/* Gezinme — yapışkan, kaydırınca bulanıklaşır                       */
/* ---------------------------------------------------------------- */
.site-nav{
  position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;
  transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;
}
.site-nav.is-stuck{
  background:rgba(10,12,17,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--border);
}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;}
.site-nav__brand{
  color:var(--txt);font-weight:600;font-size:1rem;text-decoration:none;
  letter-spacing:-.01em;font-family:var(--font-mono);flex:none;
}
.site-nav__brand span{color:var(--indigo-lift);}
.site-nav__links{display:flex;flex-wrap:wrap;gap:6px 26px;list-style:none;margin:0;padding:0;}
.site-nav__links a{
  color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:600;
  white-space:nowrap;padding:6px 0;position:relative;transition:color .2s ease;
}
.site-nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;
  background:var(--indigo-lift);transition:right .28s cubic-bezier(.2,.7,.3,1);
}
.site-nav__links a:hover,.site-nav__links a[aria-current="page"]{color:var(--txt);}
.site-nav__links a:hover::after,.site-nav__links a[aria-current="page"]::after{right:0;}

.nav-cta{
  display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;
  background:var(--indigo-soft);border:1px solid rgba(123,139,245,.35);color:var(--txt);
  font-size:.85rem;font-weight:700;text-decoration:none;min-height:44px;white-space:nowrap;flex:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.nav-cta:hover{background:rgba(123,139,245,.24);border-color:var(--indigo-lift);transform:translateY(-1px);}

.nav-toggle{
  display:none;width:46px;height:46px;border-radius:12px;flex:none;
  background:rgba(255,255,255,.04);border:1px solid var(--border-str);color:var(--txt);
  align-items:center;justify-content:center;cursor:pointer;padding:0;
}
.nav-toggle .icon{width:1.3rem;height:1.3rem;}
.nav-toggle .ico-close{display:none;}
.site-nav.is-open .nav-toggle .ico-open{display:none;}
.site-nav.is-open .nav-toggle .ico-close{display:block;}

/* ---------------------------------------------------------------- */
/* Hero — arkada yavaşça hareket eden ışık küreleri                  */
/* ---------------------------------------------------------------- */
.hero{position:relative;overflow:hidden;padding:96px 0 72px;}
.hero .wrap{position:relative;z-index:1;}
.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0;}
.glow-a{width:700px;height:700px;background:rgba(70,92,235,.34);top:-250px;right:-120px;animation:float-a 16s ease-in-out infinite;}
.glow-b{width:520px;height:520px;background:rgba(25,169,138,.20);bottom:-220px;left:-140px;animation:float-b 19s ease-in-out infinite;}
@keyframes float-a{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-40px,50px) scale(1.08);}}
@keyframes float-b{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(50px,-40px) scale(1.1);}}
.hero-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:44px;align-items:center;}

/* ---------------------------------------------------------------- */
/* Metin / eyebrow / hero içeriği                                     */
/* ---------------------------------------------------------------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family: var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.72rem;
  color:var(--muted);
  font-weight:500;
  padding:7px 14px;border:1px solid var(--border);border-radius:999px;
  background:rgba(255,255,255,.02);
  margin-bottom:26px;
}
.eyebrow .icon{width:.9rem;height:.9rem;color:var(--ok);}
.bento-tile.brand .eyebrow{color:#b9c0ee;border-color:rgba(255,255,255,.14);}

h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:1.04;letter-spacing:-.03em;
  margin:0 0 22px;max-width:17ch;
}
h1 .accent{
  background:linear-gradient(96deg,var(--indigo-lift),#9fb0ff 45%,var(--ok));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.bento-tile.brand h1{color:#fff;}
.sub{font-size:1.08rem;color:var(--muted);max-width:60ch;margin:0 0 26px;}
.bento-tile.brand .sub{color:#c2c9dd;}

.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn{
  /* C1 — font-family:inherit EKLENDİ: <button class="btn"> öğeleri
     (ör. iletişim formunun gönder düğmesi) tarayıcı varsayılanı olan
     Arial ile çiziliyordu; ölçümde 1 öğe Arial 700 görünüyordu.
     <a class="btn"> öğeleri gövde fontunu miras aldığı için fark
     gözden kaçıyordu. */
  font-family:inherit;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 28px;border-radius:999px;text-decoration:none;font-weight:700;
  font-size:.95rem;border:0;cursor:pointer;min-height:48px;
  background:rgba(255,255,255,.05);border:1px solid var(--border-str);color:var(--txt);
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .2s ease,border-color .2s ease;
}
.btn:hover{background:rgba(255,255,255,.09);border-color:var(--indigo-lift);transform:translateY(-2px);}
.btn .icon{width:1.05rem;height:1.05rem;}
.btn-primary{
  background:linear-gradient(120deg,#3d4bb0,#5865e0);color:#fff;border-color:transparent;
  box-shadow:0 10px 30px rgba(70,90,230,.30);
}
.btn-primary:hover{background:linear-gradient(120deg,#4553c0,#6270ea);border-color:transparent;box-shadow:0 16px 40px rgba(70,90,230,.42);}
/* Marka zemininde ("on-brand") beyaz buton */
.btn-primary.on-brand{background:#fff;color:#1a2050;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.btn-primary.on-brand:hover{background:#eef0ff;color:#1a2050;}
.btn-ghost{border:1px solid rgba(255,255,255,.30);color:#fff;background:rgba(255,255,255,.04);}
.btn-ghost:hover{background:rgba(255,255,255,.11);}

section{padding:96px 0;position:relative;}
h2{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.12;letter-spacing:-.025em;
  margin:0 0 16px;max-width:22ch;
}
h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;}
.lead{color:var(--muted);font-size:1.03rem;max-width:64ch;}

/* Bölüm etiketi (— NELER YAPIYORUZ) */
.sec-label{
  font-family:var(--font-mono);font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--indigo-lift);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.sec-label::before{content:"";width:26px;height:1px;background:var(--indigo-lift);}
.sec-head{max-width:680px;margin-bottom:52px;}

/* ---------------------------------------------------------------- */
/* Durum noktası (status pill) — imza öğesi                          */
/* ---------------------------------------------------------------- */
.status-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  padding:6px 13px;border-radius:999px;margin-bottom:8px;
  letter-spacing:.05em;text-transform:uppercase;text-decoration:none;
}
.status-pill .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.status-pill.ok{background:var(--ok-tint);color:var(--ok);}
.status-pill.ok .dot{background:var(--ok);}
.status-pill.danger{background:var(--danger-tint);color:var(--danger);}
.status-pill.danger .dot{background:var(--danger);}
.status-pill.brand{background:var(--indigo-soft);color:var(--indigo-lift);}
.status-pill.brand .dot{background:var(--indigo-lift);}

/* ---------------------------------------------------------------- */
/* Cam kart (hero yanındaki uyum panosu)                             */
/* ---------------------------------------------------------------- */
.glass-card{
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--border);border-radius:var(--radius);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.glass-card .card-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:6px;
}
.live-dot{display:inline-flex;align-items:center;gap:7px;}
.live-dot i{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulse 2.4s infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(25,169,138,.55);}
  70%{box-shadow:0 0 0 9px rgba(25,169,138,0);}
  100%{box-shadow:0 0 0 0 rgba(25,169,138,0);}
}
.check-row{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid var(--border);}
.check-row:last-child{border-bottom:none;padding-bottom:2px;}
.check-row .bulb{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-row.ok .bulb{background:var(--ok-tint);color:var(--ok);}
.check-row.no .bulb{background:var(--danger-tint);color:var(--danger);}
.check-row strong{display:block;font-size:.9rem;font-weight:700;margin-bottom:1px;}
.check-row em{display:block;font-style:normal;font-size:.79rem;color:var(--muted);line-height:1.5;}

/* Dönen kelime satırı */
.rotator{
  font-family:var(--font-mono);font-size:.9rem;color:var(--muted);
  display:flex;align-items:center;gap:10px;margin:0 0 34px;flex-wrap:wrap;
}
/* A2 (CLS) — Kutu artık GRID: dönen kelime ile görünmez "ölçüm" kopyası aynı
   grid hücresinde üst üste biner, kutunun genişliği hepsinin EN GENİŞİNE
   kilitlenir. Önceden genişlik auto idi; kelime her 3 saniyede değişince hero
   alt metni yeniden sarmalanıp .cta-row'u aşağı itiyordu — CLS oturum boyunca
   birikiyordu (360 px'te ölçülen 0,1756). ch tabanlı min-width yerine bu teknik
   seçildi: yazı tipi yüklenmese veya kelime listesi değişse bile doğru kalır. */
.rotator .rot-box{
  position:relative;display:inline-grid;align-items:center;height:1.7em;overflow:hidden;
  padding:0 12px;border-left:2px solid var(--indigo-lift);
}
.rotator .rot-box > *{grid-area:1 / 1;}
.rotator .rot-item{color:var(--txt);font-weight:600;white-space:nowrap;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s ease;}
/* Ölçüm kopyası görünmezdir ama YER KAPLAR (display:none olsaydı genişliğe
   katkı vermezdi). Ekran okuyucudan aria-hidden ile ayrıca gizlenir. */
.rotator .rot-sizer{display:grid;visibility:hidden;pointer-events:none;}
.rotator .rot-sizer > span{grid-area:1 / 1;white-space:nowrap;font-weight:600;}
.rotator .rot-item.out{transform:translateY(-100%);opacity:0;}
.rotator .rot-item.in{animation:rot-in .5s cubic-bezier(.2,.8,.2,1) both;}
@keyframes rot-in{from{transform:translateY(100%);opacity:0;}to{transform:translateY(0);opacity:1;}}

/* ---------------------------------------------------------------- */
/* Kayan şerit (marquee)                                             */
/* ---------------------------------------------------------------- */
.marquee{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--bg-2);overflow:hidden;padding:17px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marquee__track{display:flex;width:max-content;animation:scroll-x 26s linear infinite;}
/* Şeridi durdurma: klavyeyle CTA'ya odaklanınca ve dokunmatikte parmak
   değdiğinde (is-paused, bkz. assets/js/site.js) — hareketli bir bağlantıya
   isabet ettirmek zorunda kalınmasın diye. */
.marquee:focus-within .marquee__track,
.marquee.is-paused .marquee__track{animation-play-state:paused;}
/* Fareyle durdurma YALNIZCA gerçek fareli cihazlarda. Dokunmatikte :hover
   dokunuştan sonra üstte "yapışıp" kaldığı için şerit bir daha hiç
   kaymazdı; bu sarmalayıcı onu engeller. */
@media (hover: hover) and (pointer: fine){
  .marquee:hover .marquee__track{animation-play-state:paused;}
}
@keyframes scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee__item{
  display:inline-flex;align-items:center;gap:11px;padding:0 30px;
  font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
}
.marquee__item .icon{width:.95rem;height:.95rem;color:var(--indigo-lift);}

/* Şerit içindeki tek tıklanabilir öğe (yapay zekâ görünürlüğü CTA'sı) —
   diğer maddelerden ayrışsın diye vurgulu renk + çerçeve. */
.marquee__item--cta{
  color:var(--txt);text-decoration:none;font-weight:600;
  background:var(--indigo-soft);border:1px solid rgba(123,139,245,.38);
  border-radius:999px;padding:11px 20px;margin:0 12px;
  min-height:44px;  /* dokunma hedefi alt sınırı */
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.marquee__item--cta .icon{color:var(--indigo-lift);}
.marquee__item--cta .marquee__arrow{width:.85rem;height:.85rem;transition:transform .2s ease;}
.marquee__item--cta:hover{background:rgba(123,139,245,.26);border-color:var(--indigo-lift);color:#fff;}
.marquee__item--cta:hover .marquee__arrow{transform:translateX(3px);}

/* ---------------------------------------------------------------- */
/* "Neler yapıyoruz" sütunları                                       */
/* ---------------------------------------------------------------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);}
.pillar{
  padding:38px 26px 42px;border-right:1px solid var(--border);
  position:relative;overflow:hidden;transition:background .35s ease;
}
.pillar:last-child{border-right:none;}
.pillar::before{
  content:"";position:absolute;top:-1px;left:0;right:100%;height:2px;
  background:linear-gradient(90deg,var(--indigo-lift),var(--ok));
  transition:right .5s cubic-bezier(.2,.7,.3,1);
}
.pillar:hover{background:rgba(255,255,255,.028);}
.pillar:hover::before{right:0;}
.pillar .num{font-family:var(--font-mono);font-size:.78rem;color:var(--indigo-lift);
  margin-bottom:22px;display:block;letter-spacing:.08em;}
.pillar .p-ico{
  width:44px;height:44px;border-radius:12px;background:var(--indigo-soft);color:var(--indigo-lift);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.pillar:hover .p-ico{transform:translateY(-4px) scale(1.06);}
.pillar .p-ico .icon{width:1.35rem;height:1.35rem;}
.pillar h3{font-size:1.13rem;margin:0 0 11px;}
.pillar p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.68;}

/* ---------------------------------------------------------------- */
/* A12 — Hata sayfası gövdesi (404/405/CSRF). Bu görünümler sade
   <h1>/<p>/<ul> basar; site yerleşimi içinde okunur bir ölçüye
   kavuşsunlar diye ortak kap.                                       */
/* ---------------------------------------------------------------- */
/* max-width .wrap'ta DEĞİL çocuklarda: .wrap'ı daraltmak bloğu ortalar,
   sayfa geri kalanının sol hizasından kayardı. */
.error-page h1{font-size:clamp(2rem,4vw,3.2rem);max-width:16ch;}
.error-page p{color:var(--muted);font-size:1.03rem;max-width:62ch;}
.error-page ul{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:12px;}
.error-page ul a{color:var(--indigo-lift);}

/* ---------------------------------------------------------------- */
/* A15 — Taahhüt / taahhüt etmediklerimiz şeridi                      */
/* Eski "data-count" sayaç şeridinin yerini alır: o şerit 55/4/2/0 gibi
   bağlamsız rakamlar bastığı için sahte performans metriği gibi
   okunuyordu; ayrıca JS kapalıyken dört tane "0" gösteriyordu. Bu blok
   tamamen sunucudan basılan METİNDİR, JS'e bağlı değildir.
   Sınıflar bento/kart diliyle aynı yüzeyi (var(--surface)) kullanır.   */
/* ---------------------------------------------------------------- */
.promise{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:74px 0;}
.promise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.promise-col{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:30px 28px;
}
.promise-col__title{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;
  font-weight:600;margin:0 0 20px;max-width:none;line-height:1.5;
}
.promise-col--yes .promise-col__title{color:var(--ok);}
.promise-col--no  .promise-col__title{color:var(--danger);}
.promise-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.promise-col li{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;color:var(--soft);line-height:1.55;}
.promise-col li .icon{width:1.05rem;height:1.05rem;margin-top:4px;flex-shrink:0;}
.promise-col--yes li .icon{color:var(--ok);}
.promise-col--no  li .icon{color:var(--danger);}
.promise-note{margin:22px 0 0;font-size:.84rem;color:var(--muted);}
@media (max-width:860px){
  .promise-grid{grid-template-columns:1fr;}
}

/* ---------------------------------------------------------------- */
/* Sayaçlar (eski istatistik şeridi — sınıflar geriye dönük uyum için */
/* KORUNUYOR; anasayfada artık kullanılmıyor, bkz. .promise)          */
/* ---------------------------------------------------------------- */
.stats{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:74px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.stat .val{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.5rem,4.8vw,3.8rem);line-height:1;letter-spacing:-.03em;
  background:linear-gradient(120deg,#fff,#9fb0ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  display:block;margin-bottom:12px;
}
.stat.zero .val{background:linear-gradient(120deg,#fff,var(--ok));-webkit-background-clip:text;background-clip:text;}
.stat .lbl{font-size:.88rem;color:var(--muted);line-height:1.55;max-width:26ch;display:block;}
.stat .lbl b{color:var(--txt);font-weight:700;display:block;margin-bottom:3px;font-size:.92rem;}

/* ---------------------------------------------------------------- */
/* "İzin / Yasak" uyum kutuları                                       */
/* ---------------------------------------------------------------- */
.compliance-tile h4{font-family:var(--font-mono);text-transform:uppercase;font-size:.73rem;
  letter-spacing:.09em;margin:0 0 18px;font-weight:500;}
.compliance-tile.ok h4{color:var(--ok);}
.compliance-tile.danger h4{color:var(--danger);}
.compliance-list{list-style:none;margin:0;padding:0;}
.compliance-list li{display:flex;align-items:flex-start;gap:11px;padding:9px 0;font-size:.92rem;color:var(--soft);}
.compliance-list .dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex-shrink:0;}
.compliance-list.ok .dot{background:var(--ok);}
.compliance-list.danger .dot{background:var(--danger);}

/* ---------------------------------------------------------------- */
/* Paket kartları                                                     */
/* ---------------------------------------------------------------- */
.pricing{background:transparent;}
.price-card{display:flex;flex-direction:column;position:relative;}
.price-card.featured{
  background:linear-gradient(165deg,#1a2038,#141823 62%);
  border-color:rgba(123,139,245,.42);box-shadow:0 22px 54px rgba(60,80,220,.20);
}
.price-card.featured::before{
  content:"";position:absolute;inset:-1px;border-radius:var(--radius);padding:1px;
  background:linear-gradient(140deg,var(--indigo-lift),transparent 42%,transparent 60%,var(--ok));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.tier-name{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:5px;letter-spacing:-.01em;}
.tier-for{color:var(--muted);font-size:.87rem;margin-bottom:24px;}
.price-line{margin-bottom:4px;}
.price-big{font-family:var(--font-display);font-size:2.1rem;font-weight:700;color:var(--txt);letter-spacing:-.025em;line-height:1;}
.price-unit{font-family:var(--font-mono);color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;}
.setup-fee{color:var(--muted);font-size:.85rem;margin:10px 0 24px;padding-bottom:22px;border-bottom:1px solid var(--border);}
.feature-list{list-style:none;padding:0;margin:0 0 28px;flex-grow:1;display:flex;flex-direction:column;gap:13px;}
.feature-list li{display:flex;align-items:flex-start;gap:11px;font-size:.9rem;color:var(--soft);line-height:1.5;}
.feature-list .icon{color:var(--ok);width:1.05rem;height:1.05rem;margin-top:2px;}
.check{color:var(--ok);font-weight:700;margin-right:6px;}
.price-cta{
  text-align:center;padding:14px;border-radius:999px;font-weight:700;text-decoration:none;
  font-size:.92rem;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.price-cta.primary{background:linear-gradient(120deg,#3d4bb0,#5865e0);color:#fff;box-shadow:0 10px 26px rgba(70,90,230,.28);}
.price-cta.primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(70,90,230,.4);}
.price-cta.secondary{background:rgba(255,255,255,.05);border:1px solid var(--border-str);color:var(--txt);}
.price-cta.secondary:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}
/* C3 — Kartın altındaki İKİNCİL WhatsApp çıkışı. Birincil düğmenin
   dikkatini çalmasın diye küçük, çerçevesiz ve soluk; dokunma hedefi
   yine de 44px'in altına inmiyor (WCAG 2.5.8). */
.price-cta-alt{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:10px;min-height:44px;text-decoration:none;
  font-size:.8rem;font-weight:600;color:var(--muted);
  transition:color .2s ease;
}
.price-cta-alt:hover{color:var(--txt);text-decoration:underline;}
.price-cta-alt .icon{width:16px;height:16px;flex:none;}
.price-note{font-size:.83rem;color:var(--muted);margin-top:30px;max-width:74ch;}

/* ---------------------------------------------------------------- */
/* Adımlar                                                            */
/* ---------------------------------------------------------------- */
.how{background:transparent;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.steps::before{
  content:"";position:absolute;top:23px;left:6%;right:6%;height:1px;
  background:linear-gradient(90deg,transparent,var(--border-str),var(--border-str),transparent);
}
.step{position:relative;}
.step .n{
  width:46px;height:46px;border-radius:50%;background:var(--bg);
  border:1px solid rgba(123,139,245,.45);color:var(--indigo-lift);
  display:flex;align-items:center;justify-content:center;font-weight:700;
  margin-bottom:20px;font-size:.9rem;font-family:var(--font-mono);position:relative;z-index:1;
  transition:background .3s ease,color .3s ease,transform .3s ease;
}
.step:hover .n{background:var(--indigo-lift);color:#0a0c11;transform:scale(1.08);}
.step h4{margin:0 0 9px;font-size:1.03rem;font-family:var(--font-display);font-weight:600;}
.step p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.65;}
/* bento-tile içindeki adımlar (vaka çalışması) çizgisiz kalsın */
.bento-tile.step .n{background:var(--indigo-soft);}

/* C6 — /nasil-calisir adımları.
   NEDEN AYRI SINIF: mevcut .steps ızgarası dört adımı YAN YANA ve tek
   cümleyle gösteriyor; burada her adım "sizden ne gerekiyor / biz ne
   yapıyoruz / ne kadar sürüyor" olmak üzere üç blok taşıyor, yan yana
   sığmaz. Mevcut .step/.steps sınıflarına dokunulmadı. */
.howto-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px;}
.howto-step{padding:26px;}
.howto-step__head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.howto-step__head h3{margin:0;font-size:1.15rem;}
.howto-step .step-num{
  width:42px;height:42px;border-radius:50%;flex:none;
  background:var(--indigo-soft);border:1px solid rgba(123,139,245,.45);
  color:var(--indigo-lift);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:700;font-size:.9rem;
}
.howto-step__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;}
.howto-cell dt{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--indigo-lift);font-weight:600;margin-bottom:7px;
}
.howto-cell dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.7;}
@media (max-width:820px){
  .howto-step__grid{grid-template-columns:1fr;gap:16px;}
}

/* ---------------------------------------------------------------- */
/* SSS                                                                */
/* ---------------------------------------------------------------- */
.faq{max-width:820px;margin:36px auto 0;}
.faq-item{border-bottom:1px solid var(--border);padding:24px 0;}
.faq-item h4{margin:0 0 9px;font-size:1.05rem;font-family:var(--font-display);font-weight:600;}
.faq-item p{margin:0;color:var(--muted);font-size:.94rem;}

/* ---------------------------------------------------------------- */
/* Footer                                                             */
/* ---------------------------------------------------------------- */
.site-footer{
  background:var(--bg-2);border-top:1px solid var(--border);padding:64px 0 34px;
  font-size:.88rem;color:var(--muted);
}
.site-footer a{color:var(--muted);}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid var(--border);}
.foot-brand{font-family:var(--font-mono);font-weight:600;color:var(--txt);font-size:1.05rem;margin-bottom:14px;display:block;text-decoration:none;}
.foot-brand span{color:var(--indigo-lift);}
.foot-grid p{margin:0;max-width:46ch;line-height:1.7;}
/* A10 — Footer başlıkları <h5> idi; /iletisim gibi sayfalarda belge yapısı
   h1 → h5 diye atlıyordu (WCAG 1.3.1 / başlık sırası). Etiket <h2> oldu,
   görsel boyut .footer-col__title ile aynen korunuyor. Eski `.foot-col h5`
   seçicisi geriye dönük uyum için SİLİNMEDİ. */
.foot-col h5,.foot-col .footer-col__title{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--txt);margin:0 0 16px;font-weight:500;line-height:1.65;max-width:none;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
/* DENETİM DÜZELTMESİ (02.09.2026) — dokunma hedefi yüksekliği.
   Footer bağlantıları 23 px yüksekliğindeydi; WCAG 2.2 AA "Target Size
   (Minimum)" ölçütünün alt sınırı 24×24 CSS px'tir. Sınırın 1 px altında
   kalmak teknik olarak da başarısızlıktır, pratikte de başparmakla
   ıskalanan bir hedeftir. Kutu yüksekliği `min-height` + dikey dolguyla
   büyütülür; `gap` zaten satırları ayırdığı için görsel düzen değişmez. */
.foot-col a{color:var(--muted);text-decoration:none;transition:color .2s ease;display:inline-flex;align-items:center;gap:8px;min-height:24px;padding:2px 0;}
.foot-col a:hover{color:var(--indigo-lift);}
.foot-col .icon{width:1rem;height:1rem;}
.foot-bottom{padding-top:26px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:.8rem;}
.foot-bottom .disclaimer{max-width:72ch;line-height:1.6;}
/* eski sınıflar (geriye dönük uyum) */
.site-footer__links{margin-top:16px;}
.site-footer__links ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;}
.site-footer__links a{color:var(--muted);text-decoration:none;font-weight:600;}
.site-footer__links a:hover{color:var(--indigo-lift);}
.site-footer__contact{display:flex;flex-wrap:wrap;gap:18px;font-size:.85rem;color:var(--muted);}
.site-footer__contact a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.site-footer__contact a:hover{color:var(--ok);}
.site-footer__contact .icon{width:1rem;height:1rem;}

/* Final CTA bloğu (bento dışı kullanım için) */
.final{
  position:relative;overflow:hidden;border-radius:26px;padding:78px 40px;text-align:center;
  background:linear-gradient(150deg,#182052,#12172c 55%,#0d1018);border:1px solid rgba(123,139,245,.24);
}
.final::after{
  content:"";position:absolute;width:640px;height:640px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(90,110,240,.30),transparent 66%);
  top:-330px;left:50%;transform:translateX(-50%);
}
.final > *{position:relative;z-index:1;}
.final h2{margin:0 auto 18px;max-width:19ch;}
.final p{color:#b9c1d4;max-width:56ch;margin:0 auto 32px;font-size:1.04rem;}

/* ---------------------------------------------------------------- */
/* Breadcrumb navigasyonu                                             */
/* ---------------------------------------------------------------- */
.breadcrumb{
  display:flex;align-items:center;gap:0;padding:16px 28px;max-width:1180px;margin:0 auto;
  font-size:.86rem;color:var(--muted);line-height:1.4;flex-wrap:wrap;
}
.breadcrumb__sep{margin:0 8px;color:var(--muted);opacity:.6;}
.breadcrumb__link{color:var(--muted);text-decoration:none;}
.breadcrumb__link:hover{color:var(--indigo-lift);text-decoration:underline;}
/* C1 — Ağırlık 500 idi: Manrope 500 SADECE bu kuralda kullanılıyordu,
   iki dosya (latin + latin-ext) sırf bunun için iniyordu. 600 zaten
   indiriliyor, farkı gözle ayırt edilmiyor. */
.breadcrumb__current{color:var(--txt);font-weight:600;}

/* ---------------------------------------------------------------- */
/* Vaka çalışması — şeffaflık notu + önce/sonra                       */
/* ---------------------------------------------------------------- */
.case-note{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);margin:0;line-height:1.7;}
.case-col h4{font-family:var(--font-mono);text-transform:uppercase;font-size:.73rem;
  letter-spacing:.09em;margin:0 0 14px;color:var(--muted);font-weight:500;}
.case-col.after h4{color:var(--indigo-lift);}
.case-col p{margin:0;font-size:.94rem;color:var(--soft);}

/* ---------------------------------------------------------------- */
/* İletişim formu                                                     */
/* ---------------------------------------------------------------- */
.contact-form{max-width:640px;}
.contact-field{margin-bottom:18px;}
.contact-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px;color:var(--txt);}
/* A5 — Form alanı kenarlığı --border-str ile 1,63:1 kalıyordu; WCAG 1.4.11
   (grafik/arayüz bileşeni) en az 3:1 ister. Yalnızca FORM ALANLARI için
   --border-field kullanılır; genel --border-str'ye dokunulmaz (kart, buton,
   ayraç gibi onlarca yerde bilinçli olarak soluk duruyor). */
.contact-field input,.contact-field textarea,.contact-field select{
  width:100%;padding:13px 15px;border:1px solid var(--border-field);border-radius:var(--radius-sm);
  font:inherit;font-size:.95rem;color:var(--txt);background:rgba(255,255,255,.04);
  min-height:48px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
/* A4 — placeholder #6c768a bileşik zeminde (rgb(29,33,44)) 3,52:1 idi;
   #8a94a8 ile 4,7:1 olur (WCAG 1.4.3 eşiği 4.5:1). */
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#8a94a8;}
/* A6 — "outline:none" genel odak halkasını eziyor, yerine gelen gölge ise
   1,31:1 kontrastındaydı. Artık açık bir outline + daha güçlü gölge var. */
.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus{
  border-color:var(--indigo-lift);background:rgba(255,255,255,.06);
  outline:2px solid var(--indigo-lift);outline-offset:2px;
  box-shadow:0 0 0 3px rgba(123,139,245,.45);
}
.contact-field textarea{min-height:7.5rem;resize:vertical;}
.contact-field .hint{font-size:.8rem;color:var(--muted);margin-top:5px;}
.contact-consent{display:flex;align-items:flex-start;gap:11px;margin:22px 0;font-size:.86rem;color:var(--muted);cursor:pointer;}
.contact-consent input{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--indigo-lift);}
.contact-consent a{color:var(--indigo-lift);}
.contact-alert{padding:15px 17px;border-radius:var(--radius-sm);margin-bottom:22px;font-size:.9rem;border:1px solid;}
.contact-alert--success{background:var(--ok-tint);color:#6fe0c2;border-color:rgba(25,169,138,.35);}
.contact-alert--error{background:var(--danger-tint);color:#ffa8a8;border-color:rgba(240,112,112,.35);}
.contact-alert--info{background:var(--indigo-soft);color:#b6c0ff;border-color:rgba(123,139,245,.35);}
.contact-field .field-error{color:var(--danger);font-size:.82rem;margin-top:5px;}
.contact-field.has-error input,.contact-field.has-error textarea{border-color:var(--danger);}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.contact-info{display:flex;flex-wrap:wrap;gap:14px 26px;margin-bottom:28px;}
.contact-info-item{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--soft);}
.contact-info-item .icon{color:var(--ok);margin-top:3px;flex-shrink:0;}
.contact-info-item a{color:inherit;text-decoration:none;}
.contact-info-item a:hover{color:var(--ok);}

/* details/summary (KVKK açılır metni) */
details{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;background:rgba(255,255,255,.02);}
details summary{color:var(--muted);}
details[open] summary{margin-bottom:10px;color:var(--txt);}

/* ---------------------------------------------------------------- */
/* Blog / yardımcı sınıflar                                           */
/* ---------------------------------------------------------------- */
.text-xs{font-size:.75rem;}
.text-faint{color:var(--muted);}

/* Blog kartında kapak görseli — kartın dolgusunu taşırıp üst köşelere
   oturur. width/height nitelikleri + aspect-ratio sayesinde görsel
   yüklenirken sayfa zıplamaz (CLS). */
.blog-card{display:flex;flex-direction:column;overflow:hidden;padding-top:0;}
.blog-card__cover{
  display:block;margin:-32px -32px 22px;border-bottom:1px solid var(--border);background:var(--bg-2);
}
.blog-card__cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;}

/* Yazı üst bilgisi: yayın / güncelleme tarihi + yazar */
.article-meta{
  display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;
  font-family:var(--font-mono);font-size:.78rem;color:#c2c9dd;letter-spacing:.02em;
}
.article-meta time{color:inherit;}
.article-meta strong{color:#fff;font-weight:600;}
.article-meta__updated{color:#6fe0c2;}

/* Yazının altındaki yazar künyesi */
.author-box{
  display:flex;gap:18px;align-items:flex-start;
  max-width:820px;margin:26px auto 0;padding:26px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
}
.author-box__avatar{
  width:52px;height:52px;border-radius:50%;flex:none;
  background:var(--indigo-soft);color:var(--indigo-lift);
  display:flex;align-items:center;justify-content:center;
}
.author-box__avatar .icon{width:1.5rem;height:1.5rem;}
.author-box__name{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--txt);}
.author-box__title{margin:2px 0 0;font-family:var(--font-mono);font-size:.76rem;color:var(--indigo-lift);letter-spacing:.03em;}
.author-box__bio{margin:12px 0 0;font-size:.92rem;color:var(--muted);line-height:1.7;}

@media (max-width:640px){
  .author-box{flex-direction:column;gap:14px;padding:22px;}
}

/* Yazı sayfasındaki kapak */
.article-cover{
  margin:0 auto;max-width:820px;border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;background:var(--bg-2);box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.article-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;}

/* İçerik içine eklenen görseller (TinyMCE ile yüklenenler dahil) */
.page-content img{
  max-width:100%;height:auto;border-radius:var(--radius-sm);
  border:1px solid var(--border);margin:20px 0;
}

@media (max-width:640px){
  .blog-card__cover{margin:-26px -26px 18px;}
}

/* Sayfa içeriği (KVKK, Gizlilik Politikası — pages tablosu) */
.page-content{max-width:760px;}
.page-content h2{font-size:1.35rem;margin:34px 0 12px;max-width:none;}
.page-content h2:first-child{margin-top:0;}
.page-content h3{font-size:1.1rem;margin:26px 0 10px;}
.page-content p{color:var(--soft);margin:0 0 14px;}
.page-content ul,.page-content ol{color:var(--soft);padding-left:22px;margin:0 0 16px;}
.page-content li{margin-bottom:7px;}
.page-content a{color:var(--indigo-lift);}
.page-content strong{color:var(--txt);}

/* ---------------------------------------------------------------- */
/* İçerik tabloları — DENETİM DÜZELTMESİ (02.09.2026)                 */
/* ---------------------------------------------------------------- */
/*
 * Faz 16'da sanitize_html() `table` etiketine izin vermeye başladı ama
 * bu dosyada tabloya dair TEK BİR KURAL bile yoktu: tablolar tarayıcı
 * varsayılanıyla (kenarlıksız, dolgusuz, açık zemin varsayan) basılıyor
 * ve dar ekranda tüm sayfayı yatay kaydırtıyordu.
 *
 * .table-scroll sarmalayıcısı içerik render edilirken sunucuda eklenir
 * (helpers.php → content_with_table_wrappers) — JS'e bağlı değildir.
 */
.page-content .table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:0 0 18px;
  /* Kaydırılabilir bölge klavyeyle odaklanabilir; odak halkası
     görünmezse klavye kullanıcısı nerede olduğunu kaybeder. */
  border-radius:10px;
}
.page-content .table-scroll:focus-visible{
  outline:2px solid var(--indigo-lift);
  outline-offset:2px;
}
.page-content table{
  border-collapse:collapse;
  width:100%;
  /* Sütunlar sıkışıp okunmaz hâle gelmesin: bu genişliğin altına
     inmek yerine sarmalayıcı kaydırılır. */
  min-width:34rem;
  font-size:.92rem;
}
.page-content thead th{
  background:var(--panel);
  color:var(--txt);
  font-weight:600;
  text-align:left;
}
.page-content th,
.page-content td{
  border:1px solid var(--border);
  padding:10px 12px;
  color:var(--soft);
  vertical-align:top;
}
.page-content tbody tr:nth-child(even) td{
  background:rgba(255,255,255,.02);
}
.page-content caption,
.page-content figcaption{
  color:var(--muted);
  font-size:.85rem;
  margin-top:6px;
  text-align:left;
}

/* ---------------------------------------------------------------- */
/* Yüzen iletişim paneli (bkz. partials/contact-widget.php)           */
/* ---------------------------------------------------------------- */
.cw{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:45;}

.cw__fab{
  width:58px;height:58px;border-radius:50%;background:var(--ok);border:0;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;margin-left:auto;
  box-shadow:0 10px 30px rgba(25,169,138,.42);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.cw__fab:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 16px 38px rgba(25,169,138,.55);}
.cw__fab .icon{width:28px;height:28px;color:#04140f;stroke-width:1.7;}
.cw__fab-ico{display:flex;}
.cw__fab-ico--close{display:none;}
.cw.is-open .cw__fab{background:var(--surface-2);box-shadow:0 10px 30px rgba(0,0,0,.5);}
.cw.is-open .cw__fab .icon{color:var(--txt);}
.cw.is-open .cw__fab-ico--open{display:none;}
.cw.is-open .cw__fab-ico--close{display:flex;}

.cw__panel{
  position:absolute;right:0;bottom:72px;width:340px;max-width:calc(100vw - 32px);
  background:var(--surface);border:1px solid var(--border-str);border-radius:var(--radius);
  box-shadow:0 26px 70px rgba(0,0,0,.6);padding:20px;
  max-height:calc(100vh - 130px);overflow-y:auto;
}
.js .cw__panel{
  opacity:0;transform:translateY(10px) scale(.98);transform-origin:bottom right;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1);
}
.js .cw.is-open .cw__panel{opacity:1;transform:none;}

.cw__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.cw__title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0;letter-spacing:-.01em;}
.cw__close{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:transparent;
  color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  transition:color .2s ease,border-color .2s ease;
}
.cw__close:hover{color:var(--txt);border-color:var(--border-str);}
.cw__close .icon{width:1.05rem;height:1.05rem;}

.cw__quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.cw__q{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  min-height:62px;border-radius:var(--radius-sm);text-decoration:none;
  font-size:.74rem;font-weight:700;letter-spacing:.01em;
  transition:transform .18s ease, filter .18s ease;
}
.cw__q:hover{transform:translateY(-2px);filter:brightness(1.12);}
.cw__q .icon{width:1.15rem;height:1.15rem;}
.cw__q--wa{background:var(--ok);color:#04140f;}
.cw__q--tel{background:rgba(123,139,245,.18);color:#b8c2ff;border:1px solid rgba(123,139,245,.4);}
.cw__q--mail{background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--border-str);}

.cw__or{
  margin:0 0 14px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);text-align:center;
}

.cw__field{margin-bottom:11px;}
.cw__field label{display:block;font-size:.78rem;font-weight:600;color:var(--soft);margin-bottom:5px;}
/* A5 — bkz. .contact-field: form alanı kenarlığı 3:1 eşiğinin üstüne çıkarıldı. */
.cw__field input,.cw__field textarea,.cw__field select{
  width:100%;padding:11px 13px;border:1px solid var(--border-field);border-radius:var(--radius-sm);
  font:inherit;font-size:.9rem;color:var(--txt);background:rgba(255,255,255,.04);min-height:44px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
/* A4 — placeholder kontrastı 3,52:1 → 4,7:1. */
.cw__field input::placeholder,.cw__field textarea::placeholder{color:#8a94a8;}
/* A6 — outline:none kaldırıldı; görünür odak halkası geri geldi. */
.cw__field input:focus,.cw__field textarea:focus,.cw__field select:focus{
  border-color:var(--indigo-lift);background:rgba(255,255,255,.06);
  outline:2px solid var(--indigo-lift);outline-offset:2px;
  box-shadow:0 0 0 3px rgba(123,139,245,.45);
}
.cw__field.has-error input{border-color:var(--danger);}
.cw__field .cw__err{color:var(--danger);font-size:.75rem;margin:4px 0 0;}

.cw__consent{
  display:flex;align-items:flex-start;gap:9px;margin:12px 0 14px;
  font-size:.75rem;color:var(--muted);line-height:1.55;cursor:pointer;
}
.cw__consent input{margin-top:2px;flex-shrink:0;width:17px;height:17px;accent-color:var(--indigo-lift);}
.cw__consent a{color:var(--indigo-lift);}

.cw__submit{
  width:100%;min-height:46px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(120deg,#3d4bb0,#5865e0);color:#fff;
  font:inherit;font-size:.92rem;font-weight:700;
  box-shadow:0 10px 26px rgba(70,90,230,.28);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.cw__submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(70,90,230,.4);}
.cw__submit[disabled]{opacity:.55;cursor:not-allowed;transform:none;}

.cw__msg{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.8rem;border:1px solid;}
.cw__msg--ok{background:var(--ok-tint);color:#6fe0c2;border-color:rgba(25,169,138,.35);}
.cw__msg--err{background:var(--danger-tint);color:#ffa8a8;border-color:rgba(240,112,112,.35);}

.cw__note{margin:10px 0 0;font-size:.72rem;color:var(--muted);text-align:center;}

@media (max-width:640px){
  .cw{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));}
  .cw__fab{width:54px;height:54px;}
  .cw__panel{width:calc(100vw - 32px);bottom:66px;padding:18px;}
}
@media print{.cw{display:none;}}

/* ---------------------------------------------------------------- */
/* Kaydırınca beliren öğeler                                          */
/* ---------------------------------------------------------------- */
/* Gizleme kuralı BİLEREK ".js" ile sınırlıdır. `.reveal` sınıfı sunucudan
   basılır; koşulsuz opacity:0 verilseydi assets/js/site.js herhangi bir
   nedenle çalışmadığında sayfa boş görünürdü (yalnızca anasayfada 25 öğe).
   "js" sınıfını layouts/site.php'deki satır içi betik ekler. */
.js .reveal,.js .bento-tile.will-reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);
}
.js .reveal.is-in,.js .bento-tile.will-reveal.is-visible{opacity:1;transform:none;}
.bento-tile.will-reveal:hover{transform:translateY(-4px);}

/* ---------------------------------------------------------------- */
/* HAREKET AZALTMA (WCAG) — tüm animasyonlar kapanır                  */
/* ---------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .reveal,.bento-tile.will-reveal{opacity:1 !important;transform:none !important;}

  /* Kayan şerit duracağı için, kırpılmış hâlde donup kalmasın:
     tek satır yerine ortalanmış, sarmalanan okunur bir listeye döner.
     (JS de bu modda içeriği ikiye katlamaz — bkz. assets/js/site.js) */
  .marquee{
    -webkit-mask-image:none !important;mask-image:none !important;
    padding:16px 0;
  }
  .marquee__track{
    width:auto;flex-wrap:wrap;justify-content:center;
    row-gap:8px;transform:none !important;
  }
  /* A9 — .marquee__track'e flex-wrap:wrap verilmişti ama maddelerdeki
     white-space:nowrap kaldırılmamıştı: 320 px'te tek bir öğe (özellikle
     CTA) satıra sığmıyor, hareket azaltma açıkken şerit KALICI olarak iki
     yandan kırpılmış kalıyordu. Metin artık sarabiliyor. */
  .marquee__item{
    padding:0 18px;white-space:normal;
    flex-wrap:wrap;justify-content:center;text-align:center;
    max-width:100%;
  }
  .marquee__item--cta{margin:6px 10px;padding:11px 16px;}
}

/* ---------------------------------------------------------------- */
/* RESPONSIVE                                                         */
/* ---------------------------------------------------------------- */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .pillar:nth-child(2){border-right:none;}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--border);}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:36px 28px;}
  .steps{grid-template-columns:repeat(2,1fr);gap:32px;}
  .steps::before{display:none;}
  .foot-grid{grid-template-columns:1fr;gap:32px;}
}

@media (max-width:860px){
  .bento{grid-template-columns:1fr;}
  .span-3,.span-4,.span-6,.span-8,.span-12{grid-column:span 1;}
  .nav-toggle{display:flex;}
  .site-nav .wrap{flex-wrap:wrap;}
  /* A1 — Menü KAPALIYKEN yalnızca max-height:0 vardı; öğeler "görünmez ama
     odaklanabilir" kalıyordu ve klavye kullanıcısı ekranda hiçbir şey
     görmeden 6 kez Tab'a basıyordu (WCAG 2.4.7 + 2.4.11 ihlali).
     visibility:hidden onları odak sırasından tamamen çıkarır.
     Geçiş: açılışta anında görünür (visibility 0s), kapanışta max-height
     animasyonu bitene kadar (.35s gecikme) görünür kalır — yoksa menü
     kapanma animasyonu görünmezdi. */
  .site-nav__links{
    order:3;flex-basis:100%;width:100%;flex-direction:column;flex-wrap:nowrap;gap:0;
    max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height .35s cubic-bezier(.2,.7,.3,1),visibility 0s linear .35s;
  }
  .site-nav__links li{width:100%;border-top:1px solid var(--border);}
  .site-nav.is-open{
    background:rgba(10,12,17,.96);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom-color:var(--border);
  }
  .site-nav.is-open .site-nav__links{
    max-height:460px;visibility:visible;
    transition:max-height .35s cubic-bezier(.2,.7,.3,1),visibility 0s;
  }
  .site-nav__links a{display:block;padding:15px 2px;font-size:.98rem;min-height:44px;}
  .site-nav__links a::after{display:none;}
  .nav-cta{font-size:.8rem;padding:10px 14px;}
  .nav-cta .icon{display:none;}
  .nav-menu-cta a{color:var(--indigo-lift) !important;font-weight:700;}
  .bento-tile.final-cta,.final{padding:56px 26px;}
}

/* A11 — Eşikler örtüşmüyordu: 681–860 px arasında hem sağdaki .nav-cta hem
   de menü içindeki .nav-menu-cta görünüyor, aynı CTA iki kez basılıyordu.
   .nav-menu-cta artık .nav-cta'nın gizlendiği yerde (≤680 px) devreye giriyor. */
@media (min-width:681px){
  .nav-menu-cta{display:none;}
}

@media (max-width:680px){
  .nav-cta{display:none;}
}

@media (max-width:640px){
  .wrap{padding:0 20px;}
  .site-nav .wrap{padding:14px 20px;}
  .breadcrumb{padding:14px 20px;}
  section{padding:64px 0;}
  .hero{padding:48px 0 56px;}
  .bento-tile{padding:26px;}
  .pillars{grid-template-columns:1fr;}
  .pillar{border-right:none;border-bottom:1px solid var(--border);}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--border);}
  .stats-grid{grid-template-columns:1fr;gap:30px;}
  .steps{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .whatsapp-float{width:54px;height:54px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));}
  .whatsapp-float .icon{width:27px;height:27px;}
}

/* ===================================================================
   B2 — Hakkımızda: kurucu künyesi (.founder)
   -------------------------------------------------------------------
   NEDEN: /hakkimizda sayfasında işi kimin yaptığı hiç yazmıyordu.
   FOTOĞRAF YOK (bilinçli): avatar, ad-soyaddan türetilen baş harflerden
   saf CSS ile üretilir — görsel dosyası, ek istek ve düzen kayması yok,
   her ekran yoğunluğunda keskin. Renkler markanın kendi indigo
   gradyanından gelir (--indigo / --indigo-lift).
   Mevcut hiçbir sınıf adı değiştirilmedi; bu blok yalnızca EKLEMEDİR.
   =================================================================== */
.founder{display:flex;gap:26px;align-items:flex-start;}
.founder__avatar{
  width:88px;height:88px;flex:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--indigo-lift),var(--indigo));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 30px rgba(46,58,140,.35);
  font-family:var(--font-display);font-weight:700;font-size:1.9rem;
  letter-spacing:.02em;color:#fff;
}
.founder__body{min-width:0;}
.founder__body h2{margin:0 0 14px;}
.founder__name{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.18rem;color:var(--txt);}
.founder__title{margin:3px 0 0;font-family:var(--font-mono);font-size:.78rem;color:var(--indigo-lift);letter-spacing:.03em;}
.founder__bio{margin:16px 0 0;font-size:.98rem;color:var(--soft);line-height:1.75;max-width:64ch;}
.founder__note{
  margin:16px 0 0;padding:14px 18px;font-size:.95rem;color:var(--soft);line-height:1.7;max-width:64ch;
  background:var(--indigo-tint);border-left:3px solid var(--indigo-lift);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.founder__contact{margin:18px 0 0;display:flex;align-items:center;gap:9px;font-size:.95rem;}
.founder__contact .icon{width:1.05rem;height:1.05rem;color:var(--indigo-lift);flex:none;}
/* Tarayıcının varsayılan koyu mavi bağlantı rengi bu koyu zeminde
   okunmuyordu (Faz 15 WCAG çalışmasıyla aynı gerekçe) — sitedeki diğer
   metin içi bağlantılarla aynı tona çekilir. */
.founder__contact a{color:var(--indigo-lift);}

@media (max-width:640px){
  .founder{flex-direction:column;gap:18px;}
  .founder__avatar{width:68px;height:68px;font-size:1.5rem;}
}

/* ================================================================== */
/* FAZ 18 — KVKK ÇEREZ ONAY BANDI                                     */
/* ------------------------------------------------------------------ */
/* Bant sunucudan `hidden` ile basılır; assets/js/cerez.js tercihi
   yoksa gösterir. Bu yüzden burada "gizleme" kuralı YOK — `hidden`
   özniteliği tarayıcının kendi kuralıyla (display:none) çalışır ve JS
   kapalıyken bant hiç görünmez (onay verilemeyeceği için doğru
   davranış).                                                          */
/* ================================================================== */
.cerez{
  position:fixed;left:0;right:0;
  bottom:0;
  z-index:60;                    /* yüzen iletişim butonunun (45) üstünde */
  background:var(--cerez-bg);
  border-top:1px solid var(--cerez-line);
  box-shadow:0 -12px 40px rgba(0,0,0,.45);
  padding:18px 0 calc(18px + env(safe-area-inset-bottom));
  /* Kalıcı olarak örtmesin: çok uzun metinlerde bandın kendisi kayar,
     sayfa içeriği erişilemez hâle gelmez. */
  max-height:70vh;overflow-y:auto;
}
.cerez__ic{
  max-width:1180px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;gap:22px 32px;flex-wrap:wrap;
}
.cerez__metin{flex:1 1 380px;min-width:0;}
.cerez__baslik{
  font-family:var(--font-display);font-size:1.02rem;font-weight:700;
  margin:0 0 6px;letter-spacing:-.01em;color:var(--txt);
}
.cerez__aciklama{
  margin:0;font-size:.895rem;line-height:1.6;color:var(--soft);
  max-width:72ch;
}
.cerez__eylemler{
  flex:0 1 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
/* İKİ BUTON GÖRSEL OLARAK EŞİT — aynı sınıf, aynı dolgu, aynı kenarlık,
   aynı yazı ağırlığı. "Reddet" bilinçli olarak soluk/ikincil DEĞİLDİR:
   KVKK'da reddetmek kabul etmek kadar kolay olmalıdır.                */
.cerez__btn{
  font:inherit;font-weight:700;font-size:.9rem;
  color:var(--txt);background:transparent;
  border:1px solid var(--cerez-line);border-radius:var(--radius-sm);
  /* Dokunma hedefi en az 44px (WCAG 2.5.8 / 2.5.5). */
  min-height:44px;min-width:132px;padding:11px 20px;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}
.cerez__btn:hover{background:rgba(255,255,255,.08);border-color:#fff;}
.cerez__link{
  display:inline-flex;align-items:center;
  min-height:44px;padding:11px 6px;
  font-size:.875rem;font-weight:600;
  color:var(--indigo-lift);text-decoration:underline;
  text-underline-offset:3px;
}
.cerez__link:hover{color:#fff;}

/* Bant açıkken yüzen iletişim butonu üstüne çıksın — birbirlerini
   örtmesinler. JS <html>'e .cerez-acik sınıfını ekler.                */
html.cerez-acik .cw{bottom:calc(160px + env(safe-area-inset-bottom));}

/* Footer'daki "Çerez tercihleri" — görünüşü diğer footer bağlantıları
   gibi, semantiği <button> (sayfa içi eylem). JS kapalıyken gizlenir:
   onay verilemeyen bir tarayıcıda çalışmayan düğme göstermeyiz.       */
.foot-link-btn{display:none;}
.js .foot-link-btn{
  display:inline-flex;align-items:center;
  font:inherit;font-size:inherit;
  background:none;border:0;padding:0;
  color:var(--muted);text-decoration:none;cursor:pointer;
  transition:color .2s ease;
}
.js .foot-link-btn:hover{color:var(--indigo-lift);}
/* Dokunma hedefi (WCAG 2.5.5) — GÖRSEL boyutu değiştirmeden büyütülür.
   Footer bağlantılarının tamamı 23 px yüksekliğinde; düğmeye min-height
   vermek onu kardeşlerinden farklı gösterir ve listenin ritmini bozardı.
   Bunun yerine görünmez bir ::after katmanı 44 px'lik dokunma alanı
   sağlar. Liste aralığı 11 px olduğu için komşu bağlantıların alanıyla
   ÇAKIŞMAZ (23 + 2×10,5 = 44). */
.js .foot-link-btn{position:relative;}
.js .foot-link-btn::after{
  content:"";position:absolute;left:0;right:0;
  top:50%;transform:translateY(-50%);height:44px;
}

@media (max-width:700px){
  /* Dar ekranda bant görüntü alanının yarısından fazlasını kaplamasın:
     yazı ve dolgu bir tık küçülür. Metin KISALTILMAZ — KVKK açısından
     ne toplandığı/nasıl reddedileceği tam anlatılmalı. */
  .cerez{padding:14px 0 calc(14px + env(safe-area-inset-bottom));max-height:60vh;}
  .cerez__ic{padding:0 18px;gap:12px;}
  .cerez__baslik{font-size:.95rem;margin-bottom:4px;}
  .cerez__aciklama{font-size:.82rem;line-height:1.5;}
  .cerez__eylemler{width:100%;}
  /* 320 px'te iki buton yan yana sığmalı ama taşmamalı: min-width
     kaldırılır, ikisi eşit paylaşır — "eşit ağırlık" korunur.         */
  .cerez__btn{flex:1 1 0;min-width:0;padding:11px 10px;}
  .cerez__link{flex:1 0 100%;justify-content:center;}
  html.cerez-acik .cw{bottom:calc(210px + env(safe-area-inset-bottom));}
}
