/* nCoach tanitim — site-wide theme tokens (dark-first).
   Structure:
     1) bare :root          = dark palette (site default)
     2) prefers-color-scheme: light, guarded with :root:not([data-theme="dark"])
                            = light palette for the system default
     3) :root[data-theme="light"]
                            = light palette when the user toggles explicitly
   The data-theme attribute therefore overrides in both directions:
   "dark" defeats the light media query via the :not() guard, "light" wins
   over the bare :root. Every theme-dependent token below is defined in all
   three blocks — keep the two light blocks identical.
   Pages keep their own local variable names but point them at these --t-*
   tokens, so a single palette swap re-skins the whole site.

   --t-accent-bright is the emphatic gold next to the base --t-accent, and the
   emphasis direction flips with the theme: on dark ground it is lighter, on
   light ground it must be deeper, because a lighter gold on white loses the
   4.5:1 text contrast. The two must stay distinguishable in both themes —
   scripts/check-contrast.js measures that step.

   --t-field-line is separate from --t-line / --t-line-strong because a form
   field's border is the field's ONLY visual boundary: WCAG 2.1 SC 1.4.11 asks
   it for 3:1 against both the fill and the band around it, while a decorative
   card edge is under no such threshold. Keeping one token for both would drag
   every decorative edge up with it. Its value is a solid grey rather than a
   translucent line so the ratio does not drift with whatever sits underneath.
   scripts/check-contrast.js measures the border tokens too. */

/* ============================================================================
   YAZI TIPLERI — KENDI SUNUCUMUZDAN
   ----------------------------------------------------------------------------
   Dosyalar assets/font/ altinda duruyor; site hicbir yazi tipi servisine istek
   atmiyor. Iki gerekce, ikisi de olculdu:

   1) GIZLILIK. Dinamik olarak yuklenen bir yazi tipi servisi sayfa acilirken
      ziyaretcinin IP adresini onay alinmadan ucuncu tarafa aktarir. Onceden 29
      sayfanin hepsi iki dis konaga baglaniyordu (58 + 29 referans). Aktarimi
      hukuka uygun hale getirmenin tek temiz yolu aktarimi ORTADAN KALDIRMAK.

   2) DUZEN KAYMASI. Olculdu 2026-09-14 (400px, soguk onbellek): ana sayfada
      CLS 0.24-0.27 idi ve tek sebebi yazi tipi gecisiydi — dis yazi tipi
      istegi engellenince CLS 0'a duyuyordu, gorseller engellenince degismiyordu.
      Sebep: yedek yiginin metrikleri Inter ile eslesmiyordu, swap aninda satir
      kutulari yeniden olculuyor ve altindaki her sey kayiyordu.

   Cozum iki parcali: (a) dosyalar ayni kokten geliyor ve on yukleniyor,
   (b) yedek aileler METRIK ESLEMELI tanimli — swap anindaki olcu farki
   sifirlaniyor.

   Metrikler olculdu (headless Chrome, canvas TextMetrics, 100px, ayni ornek
   metin — 26 harf x 2 + rakamlar + marka ifadesi):
     Inter 5108.3 / Arial 4851.9 = %105.28   (ust 97, alt 24)
     Playfair: canvas olcumu guvenilir cikmadi, deger sayfanin gercek
     ciziminden secildi — ayrintisi asagida yedek tanimin yaninda.
   size-adjust = hedef genislik / yedek genislik; ust/alt payi da ayni orana
   bolunerek veriliyor.

   ARTIK KALAN FARK OLCULDU (yazi tipi dosyalari tumden engellendiginde,
   yani yedek yigin tek basina cizerken): belge yuksekligi farki
   tr/index.html 400px'te -21px, 1440px'te +24px, en/index.html 400px'te
   -57px — sayfa boyunun %0.3-0.7'si. Oncesi ayni olcumde 91-155px idi.

   ON YUKLEME yalniz govde fontu icin yapiliyor. Baslik fontu (Playfair)
   20 sayfada kullaniliyor ama on yuklenmiyor: ek 59KB'lik on yukleme ilk
   boyamayi geciktirir ve yedek metrikleri eslendikten sonra gec gelen bir
   baslik fontunun uretecegi kayma kucuk kaliyor. Yedek olarak local() ile Arial ve Georgia secildi:
   ikisi de her masaustu platformda ayni olculerle bulunur; system-ui ise
   platformdan platforma degistigi icin tek bir orana baglanamaz.

   Alt kume adresleri ve unicode-range degerleri servisin kendi ciktisindan
   alindi; boylece hangi harf hangi dosyayi indiriyor sorusu degismedi.
   Turkce ve Ingilizce sayfalarin ikisi de latin-ext'e ihtiyac duyuyor
   (olculdu: en/ altinda s-cedilla ve I-nokta geciyor, tr/ altinda 1865 kez).
   ============================================================================ */

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

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

/* ---- METRIK ESLEMELI YEDEKLER ----
   Yazi tipi inene kadar ciziminde kullanilan aile. Olculer yukaridaki
   oranlardan geliyor; swap anindaki satir kutusu farki bu sayede sifira
   yakin kaliyor. Dosya indirilmez: src yalnizca local(). */
@font-face{
  font-family:'Inter fallback';
  src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');
  size-adjust:105.28%;
  ascent-override:92.13%;
  descent-override:22.80%;
  line-gap-override:0%;
}
@font-face{
  font-family:'Playfair Display fallback';
  src:local('Georgia'),local('Times New Roman'),local('Liberation Serif');
  /* Bu oran canvas olcumunden DEGIL, sayfanin gercek ciziminden secildi.
     Playfair degisken bir yuz ve canvas'ta agirlik ekseni guvenilir
     uygulanmiyor (400 agirlikta %101.70, 700 agirlikta %89.08 gibi birbiriyle
     celisen oranlar verdi). Bunun yerine deger suplu olculdu: yazi tipi
     dosyalari engellenip sayfanin belge yuksekligi ve h1 kutusu gercek
     fontlu kosumla karsilastirildi (tr/index.html, 400px ve 1440px):
       size-adjust   %89   %93   %97   %101  %105
       h1 farki      -37   -37   -37     0     0   px (400px)
       belge farki  -155  -123   -91   -53   -21  px (400px)
       belge farki  -103  -103   -26   +24   +24  px (1440px)
     %105'te h1 iki genislikte de birebir ayni sariyor ve belge farki
     %0.3-0.5'e iniyor. Ust/alt payi ayni orana bolunuyor. */
  size-adjust:105%;
  ascent-override:102.86%;
  descent-override:23.81%;
  line-gap-override:0%;
}

:root{
  color-scheme: dark;

  /* blok ritmi: bir bolumun ICINDEKI dikey bosluk (iki basamak, ucuncusu yok).
     Bolumler ARASI ritim dosyanin sonundaki section{} kuralidir. Sayfalar
     bugune kadar 22, 24, 26, 28, 30, 34 ve 40px'i ayni ise kosuyordu; sahne
     katmani da kendi iki jetonunu buradan turetir (assets/css/mock.css),
     boylece cizim ile metin ayni ritmi konusur. Temadan bagimsiz. */
  --t-flow:24px;
  --t-flow-lg:40px;

  /* tipografi: sitenin TEK yazi tipi kaynagi. Sayfalar kendi takma adlarini
     (--f-body, --sans, --font, --body ...) korur ama hepsi buraya bakar; bu
     dosyayi yirmi bir sayfanin hepsi bagladigi icin tek yerden degisir.
     Onceden ayni yigin on bir ayri yerde yazilmisti ve ikisi kaymisti:
     ozellikler/features Inter'i indirip sistem yiginini kullaniyor,
     inceliklerimiz/our-approach Inter'i sistem fontlarinin ARDINA koyuyordu —
     yani o dort sayfada sahne yazilari SF Pro/Segoe ile, digerlerinde Inter
     ile ciziliyordu. Sahneler kendi fontunu bildirmez (assets/css/mock.css
     font-family:inherit), o yuzden bu jeton ayni zamanda diyagram yazilarinin
     fontudur. scripts/check-font.js olcer. Temadan bagimsiz. */
  --t-font-body:'Inter','Inter fallback',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --t-font-display:'Playfair Display','Playfair Display fallback',Georgia,'Times New Roman',serif;
  --t-font-mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;

  /* brand constants (identical in both themes) */
  --t-navy-950:#020617;
  --t-navy-900:#0F172A;
  --t-navy-800:#1E293B;
  --t-navy-300:#CBD5E1;
  --t-gold-const:#D4AF37;
  --t-gold-300-const:#E0C566;
  --t-cream:#FAFAF7;

  /* theme tokens — dark */
  --t-bg:#020617;
  --t-bg-soft:#0B1220;
  --t-surface:rgba(15,23,42,.62);
  --t-surface-2:rgba(15,23,42,.78);
  --t-surface-solid:#0F172A;
  --t-panel:rgba(255,255,255,.05);
  --t-panel-faint:rgba(255,255,255,.03);
  --t-line:rgba(148,163,184,.20);
  --t-line-strong:rgba(148,163,184,.34);
  --t-line-soft:rgba(148,163,184,.10);
  --t-field-line:#64748B;
  --t-ink:#F1F5F9;
  --t-ink-soft:#CBD5E1;
  --t-ink-dim:#94A3B8;
  --t-ink-faint:#78849B;
  --t-accent:#D4AF37;
  --t-accent-bright:#E0C566;
  --t-on-accent:#1A1405;
  --t-accent-soft:rgba(212,175,55,.14);
  --t-accent-line:rgba(212,175,55,.34);
  --t-gold-grad-a:#E0C566;
  --t-gold-grad-b:#D4AF37;
  --t-cyan-ink:#67E2F9;
  --t-cyan-soft:rgba(12,182,234,.12);
  --t-cyan-line:rgba(12,182,234,.40);
  --t-glow:rgba(12,182,234,.28);
  --t-focus:#67E2F9;
  --t-danger:#FCA5A5;
  --t-danger-soft:rgba(248,113,113,.12);
  --t-danger-line:rgba(248,113,113,.48);
  /* Uyari hata degil. "Boru Hattin daraliyor" gibi sahne uyarilari form
     hatasiyla ayni kirmiziyi tasiyinca cizimde bagiriyordu; bu jeton toprak
     tarafina kaydirilmis, doygunlugu dusurulmus kiremit. --t-danger yalniz
     form hatasinda kalir. */
  --t-warn:#DDA694;
  --t-head-bg:rgba(2,6,23,.72);
  --t-head-solid:rgba(2,6,23,.96);
  --t-logo:#0CB6EA;
  --t-shadow:rgba(0,0,0,.5);
  /* Tuvalin USTUNDEKI tek katman (assets/css/shared.css body::before), o yuzden
     burada duran her sey tuvalden goze ulasan payi kisiyor. 2026-09-08'e kadar
     yigina bir de dip karartmasi (linear-gradient, sayfa dibinde .44 alfa)
     biniyordu: ekranin altina inildikce ag sonuyordu ve iki temada da en dusuk
     pay oradaydi (light 0.040). Kalan iki leke sayfaya derinlik veriyor, kisma
     ise 3%'un altinda. Iki tema ayni iki katmani tasir. */
  --t-veil:
    radial-gradient(120% 80% at 50% -10%, rgba(12,182,234,.07), transparent 60%),
    radial-gradient(90% 60% at 90% 110%, rgba(212,175,55,.07), transparent 65%);
  --net-a:#0CB6EA;
  --net-b:#D4AF37;
}

@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    color-scheme: light;
    --t-bg:#FAFAF7;
    --t-bg-soft:#F1F5F9;
    --t-surface:rgba(255,255,255,.74);
    --t-surface-2:rgba(255,255,255,.88);
    --t-surface-solid:#FFFFFF;
    --t-panel:rgba(15,23,42,.06);
    --t-panel-faint:rgba(15,23,42,.035);
    --t-line:rgba(15,23,42,.12);
    --t-line-strong:rgba(15,23,42,.22);
    --t-line-soft:rgba(15,23,42,.07);
    --t-field-line:#78849B;
    --t-ink:#0F172A;
    --t-ink-soft:#334155;
    --t-ink-dim:#475569;
    --t-ink-faint:#5F6B7E;
    --t-accent:#755D09;
    --t-accent-bright:#654F0A;
    --t-on-accent:#FFFFFF;
    --t-accent-soft:rgba(117,93,9,.12);
    --t-accent-line:rgba(117,93,9,.36);
    --t-gold-grad-a:#846A0B;
    --t-gold-grad-b:#685308;
    --t-cyan-ink:#0C6480;
    --t-cyan-soft:rgba(12,100,128,.10);
    --t-cyan-line:rgba(12,100,128,.45);
    --t-glow:rgba(12,100,128,.18);
    --t-focus:#0C6480;
    --t-danger:#B3261E;
    --t-danger-soft:rgba(179,38,30,.08);
    --t-danger-line:rgba(179,38,30,.42);
    --t-warn:#8F3F28;
    --t-head-bg:rgba(250,250,247,.80);
    --t-head-solid:rgba(250,250,247,.98);
    --t-logo:#004B81;
    --t-shadow:rgba(15,23,42,.18);
    --t-veil:
      radial-gradient(120% 80% at 50% -10%, rgba(12,182,234,.04), transparent 60%),
      radial-gradient(90% 60% at 90% 110%, rgba(146,117,12,.05), transparent 65%);
    --net-a:#0E7493;
    --net-b:#92750C;
  }
}

:root[data-theme="light"]{
  color-scheme: light;
  --t-bg:#FAFAF7;
  --t-bg-soft:#F1F5F9;
  --t-surface:rgba(255,255,255,.74);
  --t-surface-2:rgba(255,255,255,.88);
  --t-surface-solid:#FFFFFF;
  --t-panel:rgba(15,23,42,.06);
  --t-panel-faint:rgba(15,23,42,.035);
  --t-line:rgba(15,23,42,.12);
  --t-line-strong:rgba(15,23,42,.22);
  --t-line-soft:rgba(15,23,42,.07);
  --t-field-line:#78849B;
  --t-ink:#0F172A;
  --t-ink-soft:#334155;
  --t-ink-dim:#475569;
  --t-ink-faint:#5F6B7E;
  --t-accent:#755D09;
  --t-accent-bright:#654F0A;
  --t-on-accent:#FFFFFF;
  --t-accent-soft:rgba(117,93,9,.12);
  --t-accent-line:rgba(117,93,9,.36);
  --t-gold-grad-a:#846A0B;
  --t-gold-grad-b:#685308;
  --t-cyan-ink:#0C6480;
  --t-cyan-soft:rgba(12,100,128,.10);
  --t-cyan-line:rgba(12,100,128,.45);
  --t-glow:rgba(12,100,128,.18);
  --t-focus:#0C6480;
  --t-danger:#B3261E;
  --t-danger-soft:rgba(179,38,30,.08);
  --t-danger-line:rgba(179,38,30,.42);
  --t-warn:#8F3F28;
  --t-head-bg:rgba(250,250,247,.80);
  --t-head-solid:rgba(250,250,247,.98);
  --t-logo:#004B81;
  --t-shadow:rgba(15,23,42,.18);
  --t-veil:
    radial-gradient(120% 80% at 50% -10%, rgba(12,182,234,.04), transparent 60%),
    radial-gradient(90% 60% at 90% 110%, rgba(146,117,12,.05), transparent 65%);
  --net-a:#0E7493;
  --net-b:#92750C;
}

/* ---------- shared components built on the tokens ---------- */

/* Odak halkasi — sitenin TEK kaynagi. Burada duruyor cunku theme.css'i on
   dokuz sayfanin hepsi (kok dil kapisi dahil) bagliyor; chrome.css'te olsaydi
   kapi disarida kalirdi. On sekiz dil sayfasi bu dosyayi kendi <style>
   blogundan SONRA bagliyor, kok dil kapisi ONCE — o yuzden "bagli mi" degil
   "son sozu kim soyluyor" olculuyor: scripts/check-a11y.js her sayfada bare
   ":focus-visible" yazan son kuralin bu kural oldugunu dogruluyor.
   Sayfa ici ya da bilesene ozel halkalar (dil anahtari, form alani)
   daha ozgul secicilerle bunun uzerine yazar.
   Gecmiste bu kural border-radius da bildiriyordu: ayni ozgullukte oldugu icin
   yuvarlak dugmelerin kosesini odak aninda kareye cekiyordu. Sadece outline
   yaziliyor — tarayici zaten ogenin kendi yaricapini takip ediyor. */
:focus-visible{outline:2px solid var(--t-focus);outline-offset:3px}

/* brand mark: single-colour vector, painted per theme via mask */
.brand-logo{
  width:27px;height:27px;flex:none;display:inline-block;vertical-align:-6px;
  background-color:var(--t-logo);
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1024 1024%22 width=%221024%22 height=%221024%22 fill-rule=%22nonzero%22 role=%22img%22 aria-label=%22nCoach%22%3E %3Cpath id=%22ncoach-mark%22 fill=%22currentColor%22 d=%22M463.73 51.52C454.18 51.62 436.55 56.72 428.89 57.38C384.56 61.15 316.79 90.02 277.7 111.97C268.1 119.42 256.42 125.71 245.95 131.99C213.59 151.39 176.23 192.22 152.26 221.41C146.39 228.55 138.09 236.27 134.39 244.76C114.06 269.91 73.05 346.41 69.29 376.79C68.75 381.12 57.64 411.9 57.63 421.28C57.55 425.66 55.04 428.46 54.74 432.54C53.58 448.28 49.94 463.76 48.94 479.61C46.89 512.28 50.17 541.68 51.86 573.21C52.02 576.35 54.22 578.57 54.47 581.67C55.16 590.48 58.37 616.59 62.5 623.57C65.25 631.13 68.55 644.42 69.86 652.32C70.42 655.74 73.44 661.44 74.99 664.43C78.13 670.47 79.36 678.71 81.75 685.09C91.13 710.04 104.66 734.75 119.24 757.21C123.36 763.56 137.08 788.05 142.8 791.07C145.18 792.32 148.19 791.64 150.52 791.07C153.53 770.79 150.58 627.24 149.92 584.21C149.27 539.2 150.11 492.45 157.19 448.08C158.74 438.37 162.01 429.25 163.05 419.36C163.75 412.65 172.93 390.77 174.61 383.22C175.96 374.42 182.03 364.54 185.85 356.54C211.95 301.9 242.66 268.92 289.17 228.85C297.56 224.11 312.3 210.25 320.09 207.4C321.03 207.06 375.76 178.12 376.27 177.76C377.59 176.82 379.46 177.18 381.05 176.85C381.13 176.84 417.81 163.66 419.93 162.65C424.18 160.63 459.76 155.09 466.76 153.49C495.39 151.59 524.8 150.25 553.4 153.5C580.35 156.56 641.84 169.64 662.03 187.21C671.75 198.31 667.82 260.47 667.82 264.81C667.85 307.48 667.55 350.15 667.6 392.82C667.6 426.15 667.68 459.49 667.51 492.82C667.48 497.82 667.23 502.81 667 507.8C666.94 509.01 659.7 561.04 674.45 562.98C685.09 564.38 696.76 563.22 707.32 563.1C718.32 562.91 729.32 562.99 740.32 563.04C752.45 563.1 770.1 567.35 770.12 549.93C770.17 504.93 770.14 459.93 770.1 414.93C770.09 346.26 770.19 277.59 770.11 208.91C770.11 183.95 779.39 156.93 769.45 134.03C760.53 113.48 686.63 81.14 663.67 75.2C656.11 74.43 644.26 67.42 637.47 66.58C620.03 64.45 603.03 57.81 585.63 54.77C557.78 49.91 521.25 47.84 493.47 48.86C483.36 49.24 474.01 51.71 463.73 51.52ZM876.57 232.5C861.63 293.04 873.17 430.49 873.18 438.65C873.22 455.5 876.35 502.23 872.58 528.62C870.33 544.37 868.16 560.01 866.94 575.81C866.76 578.22 864.79 579.84 864.54 582.23C862.43 602.33 850.27 630.2 849.3 639.66C812.94 716.04 800.54 735.1 734.01 796.18C698.82 825.42 630.28 859.82 586.21 864.95C583.82 865.23 582.38 867.43 579.93 867.61C571.37 868.22 564.14 870.77 555.56 870.65C549.26 870.81 544.15 873.18 537.96 873.55C520.06 874.63 501.89 874.65 483.99 873.32C453.74 871.07 386.92 854.98 360.41 840.54C351.85 833.1 356.01 817.42 356.04 807.75C356.46 677.45 355.88 769.54 355.89 635.77C356 596.44 356.2 557.11 356.29 517.78C356.42 460.93 367.69 461.21 320.24 460.95C294.4 460.89 253.91 450.77 253.89 473.69C253.86 517.69 253.89 561.68 253.89 605.68C253.89 674.68 253.89 743.67 253.89 812.67C253.89 838.97 244.01 867.39 254.37 891.56C256.48 896.47 259.25 900.79 263.83 904.09C281.95 917.17 335.96 943.25 357.19 948.83C366.35 949.83 383.63 959.1 393.29 960.42C408.05 962.43 422.34 967.38 437.14 969.24C461.76 972.33 487.42 975.66 512.41 975.32C527.58 975.12 542.07 972.31 557.18 972.5C565.06 972.37 584.36 967.25 591.03 966.69C637.62 962.74 702.45 936.47 742.86 913.2C800.61 883.9 847.57 833.36 887.98 783.3C924.91 736.23 956.17 664.29 966.37 606.33C966.43 594.9 970.48 583.76 971.92 572.52C975.4 545.47 975.46 516.95 975.34 489.82C975.31 481.84 971.06 439.26 969.11 430.72C967.05 421.71 963.86 412.54 963.21 403.2C957.4 390.65 955.54 376 951.18 362.9C939.95 329.08 922.82 297.28 904.76 266.62C899.57 257.82 885.85 234.07 876.57 232.5ZM469.55 256.31C461.32 261.9 460.32 268.42 460.3 278.63C459.89 487.93 460.79 291.26 461.53 514.54C461.96 644.36 461.97 582.21 460.21 656.48C459.87 670.81 459.55 685.13 459.36 699.46C458.65 753.88 449.92 763.55 502.42 768.45C510.13 769.17 516.42 770.62 524.23 770.83C533.16 771.07 554.15 775.66 561.26 765.38C563.77 761.76 564.86 759.5 564.86 755.35C564.95 595.4 564.96 435.45 564.95 275.5C564.95 244.88 536.72 258.23 514.29 258.52C499.16 258.71 484.73 254.92 469.55 256.31Z%22/%3E %3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1024 1024%22 width=%221024%22 height=%221024%22 fill-rule=%22nonzero%22 role=%22img%22 aria-label=%22nCoach%22%3E %3Cpath id=%22ncoach-mark%22 fill=%22currentColor%22 d=%22M463.73 51.52C454.18 51.62 436.55 56.72 428.89 57.38C384.56 61.15 316.79 90.02 277.7 111.97C268.1 119.42 256.42 125.71 245.95 131.99C213.59 151.39 176.23 192.22 152.26 221.41C146.39 228.55 138.09 236.27 134.39 244.76C114.06 269.91 73.05 346.41 69.29 376.79C68.75 381.12 57.64 411.9 57.63 421.28C57.55 425.66 55.04 428.46 54.74 432.54C53.58 448.28 49.94 463.76 48.94 479.61C46.89 512.28 50.17 541.68 51.86 573.21C52.02 576.35 54.22 578.57 54.47 581.67C55.16 590.48 58.37 616.59 62.5 623.57C65.25 631.13 68.55 644.42 69.86 652.32C70.42 655.74 73.44 661.44 74.99 664.43C78.13 670.47 79.36 678.71 81.75 685.09C91.13 710.04 104.66 734.75 119.24 757.21C123.36 763.56 137.08 788.05 142.8 791.07C145.18 792.32 148.19 791.64 150.52 791.07C153.53 770.79 150.58 627.24 149.92 584.21C149.27 539.2 150.11 492.45 157.19 448.08C158.74 438.37 162.01 429.25 163.05 419.36C163.75 412.65 172.93 390.77 174.61 383.22C175.96 374.42 182.03 364.54 185.85 356.54C211.95 301.9 242.66 268.92 289.17 228.85C297.56 224.11 312.3 210.25 320.09 207.4C321.03 207.06 375.76 178.12 376.27 177.76C377.59 176.82 379.46 177.18 381.05 176.85C381.13 176.84 417.81 163.66 419.93 162.65C424.18 160.63 459.76 155.09 466.76 153.49C495.39 151.59 524.8 150.25 553.4 153.5C580.35 156.56 641.84 169.64 662.03 187.21C671.75 198.31 667.82 260.47 667.82 264.81C667.85 307.48 667.55 350.15 667.6 392.82C667.6 426.15 667.68 459.49 667.51 492.82C667.48 497.82 667.23 502.81 667 507.8C666.94 509.01 659.7 561.04 674.45 562.98C685.09 564.38 696.76 563.22 707.32 563.1C718.32 562.91 729.32 562.99 740.32 563.04C752.45 563.1 770.1 567.35 770.12 549.93C770.17 504.93 770.14 459.93 770.1 414.93C770.09 346.26 770.19 277.59 770.11 208.91C770.11 183.95 779.39 156.93 769.45 134.03C760.53 113.48 686.63 81.14 663.67 75.2C656.11 74.43 644.26 67.42 637.47 66.58C620.03 64.45 603.03 57.81 585.63 54.77C557.78 49.91 521.25 47.84 493.47 48.86C483.36 49.24 474.01 51.71 463.73 51.52ZM876.57 232.5C861.63 293.04 873.17 430.49 873.18 438.65C873.22 455.5 876.35 502.23 872.58 528.62C870.33 544.37 868.16 560.01 866.94 575.81C866.76 578.22 864.79 579.84 864.54 582.23C862.43 602.33 850.27 630.2 849.3 639.66C812.94 716.04 800.54 735.1 734.01 796.18C698.82 825.42 630.28 859.82 586.21 864.95C583.82 865.23 582.38 867.43 579.93 867.61C571.37 868.22 564.14 870.77 555.56 870.65C549.26 870.81 544.15 873.18 537.96 873.55C520.06 874.63 501.89 874.65 483.99 873.32C453.74 871.07 386.92 854.98 360.41 840.54C351.85 833.1 356.01 817.42 356.04 807.75C356.46 677.45 355.88 769.54 355.89 635.77C356 596.44 356.2 557.11 356.29 517.78C356.42 460.93 367.69 461.21 320.24 460.95C294.4 460.89 253.91 450.77 253.89 473.69C253.86 517.69 253.89 561.68 253.89 605.68C253.89 674.68 253.89 743.67 253.89 812.67C253.89 838.97 244.01 867.39 254.37 891.56C256.48 896.47 259.25 900.79 263.83 904.09C281.95 917.17 335.96 943.25 357.19 948.83C366.35 949.83 383.63 959.1 393.29 960.42C408.05 962.43 422.34 967.38 437.14 969.24C461.76 972.33 487.42 975.66 512.41 975.32C527.58 975.12 542.07 972.31 557.18 972.5C565.06 972.37 584.36 967.25 591.03 966.69C637.62 962.74 702.45 936.47 742.86 913.2C800.61 883.9 847.57 833.36 887.98 783.3C924.91 736.23 956.17 664.29 966.37 606.33C966.43 594.9 970.48 583.76 971.92 572.52C975.4 545.47 975.46 516.95 975.34 489.82C975.31 481.84 971.06 439.26 969.11 430.72C967.05 421.71 963.86 412.54 963.21 403.2C957.4 390.65 955.54 376 951.18 362.9C939.95 329.08 922.82 297.28 904.76 266.62C899.57 257.82 885.85 234.07 876.57 232.5ZM469.55 256.31C461.32 261.9 460.32 268.42 460.3 278.63C459.89 487.93 460.79 291.26 461.53 514.54C461.96 644.36 461.97 582.21 460.21 656.48C459.87 670.81 459.55 685.13 459.36 699.46C458.65 753.88 449.92 763.55 502.42 768.45C510.13 769.17 516.42 770.62 524.23 770.83C533.16 771.07 554.15 775.66 561.26 765.38C563.77 761.76 564.86 759.5 564.86 755.35C564.95 595.4 564.96 435.45 564.95 275.5C564.95 244.88 536.72 258.23 514.29 258.52C499.16 258.71 484.73 254.92 469.55 256.31Z%22/%3E %3C/svg%3E") center/contain no-repeat;
}
/* Ozellik sinamasi: mask-image destegi yoksa isaret gizlenir. url() burada
   yalnizca SOZDIZIMI sinanir, dosya indirilmez — o yuzden var olmayan bir
   yola bakmak yerine sitenin kendi ikonunu gosteriyor. Onceden
   ../img/ncoach-mark-tek-renk.svg yaziliydi ve o dosya yayin kokunde
   duruyordu ama HICBIR yerden cagrilmiyordu; iki ayri "dogru logo"
   kaynagi olmasin diye tasarim kaynaklari site-tools/brand/ altina
   tasindi. Cizilen isaret yukaridaki gomulu data URI. */
@supports not ((mask-image:url("../icons/icon-32.png")) or (-webkit-mask-image:url("../icons/icon-32.png"))){
  .brand-logo{display:none}
}

/* theme toggle (top-right of every header) */
.theme-btn{
  position:relative;
  display:inline-grid;place-items:center;width:38px;height:38px;flex:none;
  border-radius:999px;border:1px solid var(--t-line);background:transparent;
  color:var(--t-ink-soft);cursor:pointer;padding:0;
}
/* Dokunma hedefi 44x44 — halka 38px kaliyor, hedef gorunmeyen bir katmanla
   buyuyor. Kutuyu 44'e cikarmak yanindaki 44'luk dil haplariyla ayni satirda
   agir duruyordu. Mutlak konumlu oldugu icin grid hucresi acmaz; her yandan
   3px tastigi icin araclar arasindaki 8px bosluk komsu hedefe degmez. */
.theme-btn::before{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:inherit;
}
.theme-btn:hover{color:var(--t-ink);border-color:var(--t-line-strong)}
.theme-btn svg{width:18px;height:18px}
.theme-btn .i-sun{display:none}
.theme-btn .i-moon{display:block}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) .theme-btn .i-sun{display:block}
  :root:not([data-theme="dark"]) .theme-btn .i-moon{display:none}
}
:root[data-theme="light"] .theme-btn .i-sun{display:block}
:root[data-theme="light"] .theme-btn .i-moon{display:none}
:root[data-theme="dark"] .theme-btn .i-sun{display:none}
:root[data-theme="dark"] .theme-btn .i-moon{display:block}

/* store badge — single source of truth for every page (matches index) */
.store-badges{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.store-badge{
  display:inline-flex;align-items:center;gap:13px;
  padding:11px 24px 11px 18px;border-radius:14px;text-decoration:none;
  background:linear-gradient(180deg, var(--t-navy-800), var(--t-navy-950));
  border:1px solid rgba(212,175,55,.42);color:var(--t-cream);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.store-badge:hover{transform:translateY(-2px);border-color:var(--t-gold-300-const);box-shadow:0 14px 38px rgba(212,175,55,.22)}
.store-badge svg{width:27px;height:27px;flex:none;color:var(--t-gold-300-const)}
.store-badge .sb-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;text-align:left}
.store-badge .sb-top{font-size:12px;font-weight:500;color:var(--t-navy-300)}
.store-badge .sb-main{font-size:18.5px;font-weight:700;letter-spacing:-.01em}


/* ---------- site-wide vertical rhythm (96px top on desktop) ----------
   BILEREK sayfa degerlerini eziyor, kaza degil: 455c707a bolum ritmini site
   geneline tasidi ("site geneli section ritmi") ve 2./3. tur gorsel incelemesi
   bu ritimle yapildi. Bolum tasiyan sayfalarin hepsi theme.css'i kendi <style>
   blogundan sonra bagliyor ve secici ozgullugu ayni oldugu icin bu satir
   kazanir; sekiz sayfada duran section{padding:...} bildirimleri o gunden beri
   OLU. Sira iddia degil olcum: scripts/check-cascade.js her sayfada carpisan
   bildirimleri bulur, paylasilan tabakanin sonra boyandigini dogrular ve olu
   bildirimleri sayar. Tek kaynak burasi; silinmesi gereken taraf sayfalardaki
   olu bildirimler, bu satir degil. */
section{padding-top:clamp(56px,7.5vw,96px);padding-bottom:clamp(48px,6.5vw,84px)}

