/* Füzyonist TR sayfaları ortak stiller (index-tr'den türetildi) */

/* Füzyonist TR ana sayfa — PDF içerik yerleşimi için sayfa-özel stiller */
/* içerik tipografisi: Google Sans Flex */
.manifesto,.claim-m,.claim-s,.btn-b,.nav-tag{font-family:"Google Sans Flex",sans-serif}
/* Tek marka fontu: tema kalıntısı Almarena (başlıklar) ve Aratigo (gövde) nerede kaldıysa
   Google Sans Flex'e çevrilir — hero h2, h1 marquee, döngü h3'leri, h4'ler, süreç metinleri */
body,h1,h2,h3,h4,h5,h6,p,a,li,button,.shema-tag,.shema-txt,.expertise__link-text,.deroulement-intro,.expertise__text{font-family:"Google Sans Flex",sans-serif}
/* Tema sayfa başlığını SINIF seçiciyle Almarena'ya sabitliyor (.marquee__text) — yukarıdaki
   h1 element kuralını yeniyordu, bu yüzden başlıklar hâlâ tema fontunda kalıyordu.
   Aynı risk taşıyan diğer tema tipografi sınıfları da burada kapatılır. */
.marquee__text,.claim-m,.claim-s,.manifesto,.nav-tag,.expertise__title,.deroulement__title-block h4{font-family:"Google Sans Flex",sans-serif}
/* Tema .95 satır aralığı GSF'de İ noktasını ve ğ/ş/ç kuyruklarını taşırıyor. */
.marquee__text{line-height:1.1}
/* GSF metrikleri: ascent .966em ama Ü/İ tepesi .933em, ş/ğ dibi -.504em. line-height 1.1'de
   satır kutusu üstte .890em'de kapanıyor → umlaut ve kuyruklar kutunun DIŞINDA kalıyor ve
   SplitText'in gsap_split_line-mask sarmalayıcısı (overflow:clip) onları kesiyordu.
   Çözüm satır aralığını şişirmek değil, kırpma kutusunu genişletmek: padding kutuyu büyütür,
   eşit negatif margin satır konumunu ve satır arası mesafeyi olduğu gibi bırakır.
   (overflow-clip-margin aynı işi yapar ama iOS Safari'de güvenilir değil.) */
.gsap_split_line-mask{padding-top:.24em;padding-bottom:.24em;margin-top:-.24em;margin-bottom:-.24em}
.fz-wordmark{font-family:"Google Sans Flex",sans-serif;font-weight:700;color:#fff;font-size:12.3vw;line-height:.95;letter-spacing:-.045em;white-space:nowrap}
.footer .fz-wordmark{font-size:11.2vw}
/* kategori adı büyük tipografide — uzun kelimeler sığsın diye boyut düşürüldü */
/* line-height 1.05'te Ç/ş kuyrukları satır kutusunun (doku maskesinin) dışında kalıp görünmüyordu */
.fz-cat-h2{font-size:5.6vw !important;line-height:1.2 !important}
@media(max-width:479px){.fz-cat-h2{font-size:11vw !important}}
/* servis butonları: büyük tipografinin üstünde alt alta (site btn stili) */
.fz-services{display:flex;flex-direction:column;align-items:flex-start;gap:.6vw;margin-bottom:2vw}
.fz-svc-btn.btn{text-decoration:none}
/* çizgisel buton: dolgu yok, ince kenarlık (sitenin çizgi diliyle uyumlu) */
.fz-svc-btn.btn{border:1px solid rgba(5,9,11,.5)}
.fz-svc-btn.btn::before{background:transparent}
.fz-services .fz-svc-btn .icon{background-color:transparent !important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2305090B%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h14M13%206l6%206-6%206%22/%3E%3C/svg%3E") !important}
.clipping-text .fz-services *{background-image:none !important;-webkit-text-fill-color:currentColor !important}
.clipping-text .fz-services .btn{color:#05090B}
@media(max-width:479px){.fz-services{gap:2vw;margin-bottom:5vw}}
/* Nasıl Çalışıyoruz — tema 100vh'lik footer'ı -100vh margin'le beyaz bölümün altına çekiyordu;
   bizim footer height:auto olduğu için üstüne biniyordu — normal akışa alındı */
.last-section.bg-white{margin-bottom:0}
/* Nasıl Çalışırız — tema bu bölümü scroll'la -100vh kaydırıyordu (Webflow IX2). transform
   layout'u etkilemediği için altında tam bir ekran yüksekliği kadar delik kalıyor, CTA
   aşağı itilmediği için arada sabit canvas boş bant gibi görünüyordu. Kaydırma iptal:
   bölüm akıştaki yerinde duruyor, CTA hemen ardından geliyor. */
.last-section{transform:none !important}
/* Nasıl Çalışıyoruz: hero ve döngü başlıkları orijinal (design-dexperiences) ölçülerinde —
   sayfa kimliğine kilitli override kaldırıldı, tema tipografisi geçerli. */
/* clipping-text (Blizar dokulu degrade maske) açık zeminde bazı harfleri görünmez yapıyor —
   beyaz bölümlerdeki metinler düz mürekkep rengine çevrildi (SplitText'in ürettiği satır
   sarmalayıcıları da * ile kapsanıyor). */
.bg-white .clipping-text,.bg-white .clipping-text *,
.center-text .clipping-text,.center-text .clipping-text *{
  background-image:none !important;
  -webkit-text-fill-color:currentColor !important;
  color:#05090B !important}
/* Nasıl Çalışıyoruz — Çerçeveler bölümü: hero'daki .test-blend-mode numarasının aynısı.
   Beyaz bölüm lighten ile karışır: beyaz beyaz kalır, koyu harfler alttaki sabit
   degrade canvas'a açılan saydam pencere olur (doku görseli değil, gerçek arka plan). */
html[data-wf-page="6900d49b1291a3f7726c225f"] .last-section.bg-white{mix-blend-mode:lighten}
/* Servis sayfalarının beyaz bölümü de aynı saydamlıkla: Yaklaşım paragrafı (ve bölümdeki
   koyu metinler) arkada oynayan degrade canvas'ı harflerin içinden gösterir */
section.bg-white{mix-blend-mode:lighten}
/* Yaklaşım ile Proje süreci arasındaki ve Tamamlayan Alanlar üstündeki dev boşluklar kısıldı
   (tema: .expertise-info margin 13.889vw idi) */
section.bg-white .expertise-info{margin-top:5vw;margin-bottom:5vw}
@media(max-width:767px){section.bg-white .expertise-info{margin-top:12vw;margin-bottom:12vw}}
/* Tema .deroulement-intro'ya sabit max-width:30vw veriyor ve mobil için override'ı yok:
   .expertise-info mobilde tek sütuna dönünce 30vw ≈ 117px kalıyor, giriş paragrafı
   satır başına 2-3 kelimeye sıkışıyordu. Mobilde sütun genişliğini kullansın. */
@media(max-width:767px){.deroulement-intro{max-width:none}}
/* Ana sayfa dışındaki footer bölgesi: saydam kalır (arkadaki canvas görünmeye devam eder)
   ama karartma ana sayfadaki koyuluğa yaklaşacak kadar güçlü */
html:not([data-wf-page="68f77e4ac7ca6bd68b326cb4"]) .footer.div-block-8,
html:not([data-wf-page="68f77e4ac7ca6bd68b326cb4"]) .plfooter{background:rgba(2,6,10,.55)}
/* GSF'ye geçince temanın .95 satır aralığı harfleri üst üste bindiriyordu */
.manifesto{line-height:1.1 !important}
/* Nasıl Çalışırız — notre-approche shema portu (Google Sans Flex).
   Yerleşim tema grid'inin kendi kuralları (2 grup × 2 daire); burada sadece tipografi. */
.shema-section .manifesto,.shema-section .nav-tag,.shema-section .shema-txt{font-family:"Google Sans Flex",sans-serif}
/* yapışkan manifesto kendi sütununa (kolon 2-7) sığsın — 4.167vw'de satır uçları
   sağdaki dairelerin üstüne taşıyordu */
@media(min-width:768px){.shema-section .approche-shema__txt .manifesto{font-size:3vw;line-height:1.05;max-width:32vw}}
.shema-section .shema-txt{padding:0 3.2vw;font-size:1.45vw}
@media(max-width:479px){.shema-section .shema-txt{font-size:4.2vw;padding:0 8vw}}
/* Sayfası henüz olmayan hizmetler: <a> href'siz — bağlantı gibi görünmesin */
.fz-svc-btn:not([href]){opacity:.5;cursor:default;pointer-events:none}
.fz-svc-btn:not([href]) .icon{display:none}
.vertical-line{position:relative;--line-progress:0}
.vertical-line::before,.vertical-line::after{content:"";position:absolute;left:50%;width:1px;height:calc(4.861vw*var(--line-progress));background-color:#8EA48D}
.vertical-line::before{top:2.5vw}
.vertical-line::after{bottom:2.5vw}
@media screen and (max-width:479px){
.vertical-line::before,.vertical-line::after{height:calc(12.438vw*var(--line-progress))}
.vertical-line::before{top:5vw !important}
.vertical-line::after{bottom:5vw !important}
}
.shema-border{--progress:0}
.shema-border::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #fff;mask:conic-gradient(#000 0 calc(var(--progress)*1turn),transparent calc(var(--progress)*1turn) 1turn);-webkit-mask:conic-gradient(#000 0 calc(var(--progress)*1turn),transparent calc(var(--progress)*1turn) 1turn)}
@media(max-width:767px){
.fz-plbridge{padding:14vw 6vw 20vw}
}
/* footer zemini site zemininden biraz daha koyu + üstte ince ayırıcı (fz-footer.css'teki değerlerle aynı) */
/* footer: ortalanmış CTA (polenist iletişim bölümü düzeni) + altta wordmark */
.footer .right.right-align{display:none !important}
.footer.div-block-8{display:flex;flex-flow:column;height:auto;min-height:0;gap:6vw;padding:2vw 1.389vw 3vw}
.footer>.grid-container.big-margin{display:block;padding:0;margin:0}
.footer .footer-text-container{align-items:center;text-align:center}
.fz-footer-desc{font-family:"Google Sans Flex",sans-serif;font-size:1.1vw;line-height:1.65;color:#CDD2CB;max-width:38vw;margin:0;text-align:center}
@media(max-width:767px){.fz-footer-desc{font-size:3.6vw;max-width:82vw}}
.footer .bot{display:none !important}
.footer.div-block-8{justify-content:center;padding-bottom:8vw}
/* Ana sayfa DIŞINDAKİ sayfalarda CTA bloğu footer'la birleşik:
   footer'ın koyu zemini + üst çizgisi CTA'dan başlar, plfooter'ın kendi çizgisi kalkar,
   aradaki ölü boşluk (gap 6vw + padding 8vw) kapanır; üstten nefes payı verilir */
html:not([data-wf-page="68f77e4ac7ca6bd68b326cb4"]) .footer.div-block-8{
  background:transparent;border-top:1px solid rgba(205,210,203,.12);
  gap:0;padding-top:6vw;padding-bottom:3vw;margin-top:0}
html:not([data-wf-page="68f77e4ac7ca6bd68b326cb4"]) .plfooter{border-top:0}
@media(max-width:767px){
html:not([data-wf-page="68f77e4ac7ca6bd68b326cb4"]) .footer.div-block-8{padding-top:12vw;padding-bottom:6vw}
}
.plfooter .plfooter-square{display:none !important}


/* ---- sunum ayıraçları: "Hizmet" yerine 1·2·3 sayfa numarası ---- */
.fz-pager{display:flex;align-items:center;gap:.85vw}
.fz-pager .n{
  display:grid;place-items:center;
  width:2.5vw;height:2.5vw;min-width:30px;min-height:30px;
  border:1px solid rgba(205,210,203,.45);border-radius:50%;
  color:#CDD2CB;background:transparent;
  font-family:"Google Sans Flex",sans-serif;font-size:.76vw;font-weight:500;line-height:1;
  font-variant-numeric:tabular-nums;
  transition:background-color .4s ease,color .4s ease,border-color .4s ease;
}
.fz-pager .n.is-on{background:#CDD2CB;border-color:#CDD2CB;color:#05090B}
@media(max-width:479px){
  .fz-pager{gap:3.2vw}
  .fz-pager .n{width:9vw;height:9vw;font-size:3.2vw}
}

/* ayıraç paneli: üstteki etiket kalktı, ikon dikeyde ortalanır,
   sayfa numarası panelin altına sabitlenir */
.h-slide.side .slide-side__content{justify-content:center;position:relative}
.h-slide.side .slide-side__content .fz-pager{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}

/* ============================================================
   Wempany markaları köprüsü — ortalanmış etiket/başlık, altında
   iki daire; her dairede markanın çizgisel logosu, altında adı ve
   açıklaması. İki logo da aynı çizgi kalınlığında (non-scaling).
   ============================================================ */
.fz-plbridge{position:relative;background:transparent;font-family:"Google Sans Flex",sans-serif}
.fz-plbridge__rail{position:relative}
.fz-plbridge__stage{position:relative;min-height:100vh;display:flex;align-items:center;padding:6vh 4vw}
.fz-plbridge__wrap{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1vw}
.fz-plbridge__col{display:flex;flex-direction:column;align-items:inherit;gap:1.1vw;width:100%}
.fz-plbridge__metas{display:flex;flex-direction:column;gap:2.4vh;align-items:inherit}
.fz-plbridge__meta{display:flex;flex-direction:column;gap:.9vh;align-items:inherit}
.fz-plbridge__tag{font-weight:600;font-size:.9vw;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:#DEE3DC;margin:0}
.fz-plbridge__title{color:#EDEDED;font-weight:500;font-size:4.4vw;line-height:1.05;letter-spacing:-.03em;margin:0}
.fz-plbridge__brands{display:grid;grid-template-columns:repeat(2,1fr);gap:5vw;width:100%;max-width:74vw;margin-top:3vh}
.fz-plbridge__brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4vh}
.fz-plbridge__brand .fz-plbridge__circle{flex:none}
.fz-plbridge__circle{margin:0;width:15.5vw;height:15.5vw;border-radius:50%;border:1px solid rgba(243,236,223,.45);display:grid;place-items:center}
.fz-plbridge__amblem{display:block;width:8.5vw;height:8.5vw}
.fz-plbridge__amblem svg{width:100%;height:100%;overflow:visible;display:block}
/* İki amblem aynı kutuda ama viewBox'ları farklı (arı 825, amblem 200 birim).
   Aynı ekran kalınlığı için oran 825/200 = 4.125. non-scaling-stroke kaldırıldı:
   hem kalınlıklar eşitlendi hem de dash animasyonu aynı koordinat sisteminde. */
.fz-bee-draw path{fill:none;stroke:#F3ECDF;stroke-width:10.31;stroke-linecap:round;stroke-linejoin:round}
/* Füzyonist amblemi kendini çizerken stroke-dasharray kullanıyor; non-scaling-stroke
   dash desenini EKRAN birimine çevirdiği için getTotalLength()'in verdiği viewBox
   uzunluğuyla uyuşmuyor ve geniş ekranda halkalar kapanmadan kalıyordu. Bu yüzden
   burada kalınlık viewBox biriminde (2.4 ≈ 1.5px @1440) veriliyor. */
.fz-mark-draw ellipse,.fz-mark-draw path{fill:none;stroke:#F3ECDF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.fz-plbridge__name{color:#EDEDED;font-weight:600;font-size:1.35vw;line-height:1;letter-spacing:.08em;text-transform:uppercase;margin:0}
.fz-plbridge__txt{color:#F3ECDF;font-size:1.15vw;line-height:1.6;margin:0;max-width:26vw}
/* ---- Kaydırmaya bağlı yörünge (yalnız JS "is-3d" verince) ----
   Solda Füzyonist ambleminin sabit durduğu "ev" bloğu, sağda ince bir
   elips yörünge: Polenist dairesi kaydırma ilerledikçe bu yörüngede
   döner. Yörüngenin uzak yarısında küçülüp sönükleşir ve çizginin
   ARKASINDAN geçer; yakın yarısında büyür, öne çıkar. Yeni bir marka
   eklenirse aynı yörüngeye eklenir.
   JS düşerse bölüm eski, her şeyin göründüğü hâliyle durur. */
.fz-plbridge.is-3d .fz-plbridge__rail{height:300vh}
.fz-plbridge.is-3d .fz-plbridge__stage{position:sticky;top:0;height:100vh;min-height:0;overflow:hidden;padding:6vh 5vw}
.fz-plbridge.is-3d .fz-plbridge__wrap{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;gap:4vw;text-align:left;
}

/* --- sol: yörüngeyle birlikte dönen marka metni ---
   Üç markanın rozet + ad + açıklaması AYNI hücreyi paylaşır; hangisi
   yörüngenin ön yüzündeyse JS onun opaklığını açar, diğerlerini kapatır.
   Hücre yüksekliği en uzun metne göre sabit kalsın diye üçü de grid'in
   aynı satır/sütununda duruyor — geçişte metin zıplamıyor. */
.fz-plbridge.is-3d .fz-plbridge__col{
  display:grid;grid-template-rows:auto;justify-items:start;align-items:center;
  align-content:center;gap:0;
}
.fz-plbridge.is-3d .fz-plbridge__meta{display:flex;flex-direction:column;gap:1.6vh;align-items:flex-start}
.fz-plbridge.is-3d .fz-plbridge__col .fz-plbridge__meta{
  grid-row:1;grid-column:1;
  text-align:left;pointer-events:none;
  transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.3,1);
}
/* soldaki marka adı bölümün ana başlığı: iri ve krem */
.fz-plbridge.is-3d .fz-plbridge__name{
  font-size:2.4vw;letter-spacing:.1em;color:#EDEDED;line-height:1;
}
.fz-plbridge.is-3d .fz-plbridge__txt{font-size:1.05vw;max-width:27vw}
/* markanın kendi sitesine giden buton: metnin altında, alt CTA ile aynı
   dilde (çerçeveli krem, hover'da dolan). Metin bloğu solda sönerken
   butonun tıklanabilirliği JS'te açılıp kapanıyor — arkadaki görünmez
   kart tıklamayı yakalamasın diye. */
.fz-plbridge__meta .fz-plbridge__btn{margin-top:1.2vh}
.fz-plbridge__meta .fz-plbridge__btn .btn{font-size:.78vw}
@media(max-width:991px){.fz-plbridge__meta .fz-plbridge__btn .btn{font-size:1.1vw}}
@media(max-width:767px){
  .fz-plbridge__meta .fz-plbridge__btn{margin-top:4vw}
  .fz-plbridge__meta .fz-plbridge__btn .btn{font-size:3.1vw}
}

/* --- sağ: yörünge --- */
.fz-plbridge.is-3d .fz-plbridge__ring{
  display:flex;flex-direction:column;align-items:center;gap:2vh;
}
.fz-plbridge.is-3d .fz-plbridge__orbit{
  position:relative;
  width:min(100%,66vh);aspect-ratio:1;
}
.fz-plbridge.is-3d .fz-plbridge__path{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;
}
.fz-plbridge.is-3d .fz-plbridge__path ellipse{
  fill:none;stroke:rgba(243,236,223,.3);
  /* saç teli kalınlık: viewBox ölçeğinden bağımsız tam 1px.
     (Burada güvenli — bu elipste stroke-dash animasyonu yok.) */
  vector-effect:non-scaling-stroke;stroke-width:1px;
}
.fz-plbridge.is-3d .fz-plbridge__orbit.is-behind .fz-plbridge__path{z-index:3}
.fz-plbridge.is-3d .fz-plbridge__brand.is-seed{
  position:absolute;left:50%;top:50%;z-index:2;
  margin:0;gap:0;
  will-change:transform;
}
/* marka rozeti: "Wempany Markası" / "Partner Şirket" */
.fz-plbridge__badge{
  display:inline-flex;align-items:center;
  padding:.42em .95em .38em;
  border:1px solid rgba(243,236,223,.32);border-radius:50vw;
  color:#8EA48D;
  font-size:.68vw;font-weight:600;line-height:1;
  letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:1.1vh;
}
@media(max-width:991px){.fz-plbridge__badge{font-size:1vw}}
@media(max-width:767px){.fz-plbridge__badge{font-size:2.6vw;padding:.5em 1em .45em}}

/* Seed Brand Studio amblemi: markanın çizgisel karşılığı */
.fz-seed-draw{width:100%;height:100%;display:block;overflow:visible}
.fz-seed-draw circle,.fz-seed-draw path{
  fill:none;stroke:#F3ECDF;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;
}
.fz-plbridge.is-3d .fz-plbridge__brand.is-seed .fz-plbridge__circle{
  width:clamp(104px,11vw,188px);height:clamp(104px,11vw,188px);
}
.fz-plbridge.is-3d .fz-plbridge__brand.is-seed .fz-plbridge__amblem{width:52%;height:52%}
/* Sağ sütunda yalnız yörünge kaldı: üç marka dairesi tek elipste döner,
   adları/açıklamaları solda değişir. */
.fz-plbridge.is-3d .fz-plbridge__ring{
  display:grid;justify-items:center;align-content:center;
}

@media(max-width:991px){
  .fz-plbridge__circle{width:22vw;height:22vw}
  .fz-plbridge__txt{font-size:1.5vw;max-width:32vw}
  .fz-plbridge__name{font-size:1.9vw}
}
/* ---- mobil: 3B kapalı; her marka kendi metniyle alt alta ----
   Metinler solda (.fz-plbridge__col), daireler sağda (.fz-plbridge__orbit)
   durduğu için varsayılan akışta önce üç metin, sonra üç daire geliyor ve
   eşleşme kayboluyor. display:contents ile aradaki tüm kutular şeffaflaşır,
   altı öğe .fz-plbridge__wrap'in tek sütununa girer ve order ile
   daire → metin sırası kurulur. */
@media(max-width:767px){
  .fz-plbridge__wrap{display:flex;flex-direction:column;align-items:center;gap:6vw}
  .fz-plbridge__col,
  .fz-plbridge__ring,
  .fz-plbridge__orbit{display:contents}
  .fz-plbridge__path{display:none}
  .fz-plbridge__brand.is-seed{
    position:static;margin:0;
    transform:none !important;opacity:1 !important;filter:none !important;
  }
  .fz-plbridge__orbit > article:nth-of-type(1){order:1}
  .fz-plbridge__col   > .fz-plbridge__meta:nth-child(1){order:2}
  .fz-plbridge__orbit > article:nth-of-type(2){order:3;margin-top:6vw}
  .fz-plbridge__col   > .fz-plbridge__meta:nth-child(2){order:4}
  .fz-plbridge__orbit > article:nth-of-type(3){order:5;margin-top:6vw}
  .fz-plbridge__col   > .fz-plbridge__meta:nth-child(3){order:6}
  .fz-plbridge__meta.is-seed{
    opacity:1 !important;transform:none !important;
    align-items:center;text-align:center;max-width:none;
  }
  /* metin kutusu hiçbir koşulda kabı aşmasın */
  .fz-plbridge__txt{max-width:100%}
}

@media(max-width:767px){
  .fz-plbridge{min-height:auto;display:block;padding:14vw 6vw 16vw}
  .fz-plbridge__wrap{gap:4vw}
  .fz-plbridge__tag{font-size:3.4vw}
  .fz-plbridge__title{font-size:8.4vw}
  .fz-plbridge__brands{grid-template-columns:1fr;gap:12vw;max-width:none;margin-top:11vw}
  .fz-plbridge__brand{gap:5vw}
  .fz-plbridge__circle{width:44vw;height:44vw}
  .fz-plbridge__amblem{width:19vw;height:19vw}
  .fz-plbridge__name{font-size:4.6vw}
  .fz-plbridge__txt{font-size:3.6vw;max-width:78vw}
}


/* Alt CTA butonu (.fz-plbridge__btn) hâlâ her sayfanın footer bloğunda kullanılıyor;
   köprü bölümü yenilenirken silinen kurallar geri alındı — altı çizili görünüyordu. */
.fz-svc-btn.btn,.fz-plbridge__btn .btn{text-decoration:none}
.fz-plbridge__btn .btn{border:1px solid rgba(243,236,223,.55);color:#F3ECDF}
.fz-plbridge__btn .btn::before{background:transparent}
.fz-plbridge__btn .btn .icon{background-color:transparent !important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23F3ECDF%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h14M13%206l6%206-6%206%22/%3E%3C/svg%3E") !important}
.fz-plbridge__btn .btn:hover{color:#05090B}
.fz-plbridge__btn .btn:hover .icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2305090B%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h14M13%206l6%206-6%206%22/%3E%3C/svg%3E") !important}

/* ---- Yaklaşımlar kartları (Nasıl Çalışırız): tema kartı 34vw yüksekliğe
   sabitleyip ikon için 12.5vw yer ayırıyor; space-between metni dibe itince
   ortada kocaman boşluk kalıyordu. İkon ve rezerve alan küçültüldü. ---- */
.expertise__svg-block{height:4.4vw}
.expertise__svg-block img{width:3vw;height:3vw;display:block}
.expertise__item{min-height:20vw;padding:2.6vw 2.2vw 2.2vw}
.expertise__text-block{grid-column-gap:.9vw;grid-row-gap:.9vw}
@media(max-width:991px){
  .expertise__svg-block{height:6.5vw}
  .expertise__svg-block img{width:5vw;height:5vw}
  .expertise__item{min-height:28vw}
}
@media(max-width:767px){
  .expertise__svg-block{height:16vw}
  .expertise__svg-block img{width:13vw;height:13vw}
  .expertise__item{min-height:62vw;padding:7vw 5vw}
  .expertise__text-block{grid-column-gap:3vw;grid-row-gap:3vw}
}


/* Nasıl Çalışırız — "Çalışma Modeli" bloğu.
   Tema etiketi negatif margin ile paragrafın ilk satırının içine sarkıtıyor,
   ilk satırı da 6vw girintiliyor; uzun cümlede vurgulu kısım white-space:pre
   yüzünden sarmayıp taşıyordu. Etiket paragrafın üstüne alındı. */
.first-slide .subtitle-in-text{margin-bottom:1.1vw}
.first-slide .manifesto .text-span-2{padding-left:0}
.first-slide .manifesto .span-text{white-space:normal}

/* ---- İletişim sayfası formu (PDF revizesi) ----
   Tema .form ızgarası 2 sütun: solda Ad Soyad / E-posta / Şirket alt alta,
   sağda Mesaj bu üç satır boyunca uzanır (alt çizgisi Şirket'in çizgisiyle
   hizalanır), en altta Gönder. Satırlar içeriğe göre kalsın diye align-content
   start; aksi hâlde ızgara boş alanı satırlara dağıtıp etiketleri ortalıyor. */
#fz-contact{width:100%;align-content:start;grid-template-rows:auto auto auto auto}
#fz-contact .field--message{grid-column:2;grid-row:1/4;display:flex;
  /* tema align-self:flex-start ile kutuyu içeriğe büzüyor; span ettiği üç
     satırı doldursun ki alt çizgisi Şirket'in çizgisiyle hizalansın */
  align-self:stretch}
#fz-contact .fz-form-send{grid-column:1/3;display:flex;align-items:center;gap:1.4vw;padding-top:1.2vw}
#fz-contact .field,#fz-contact .field--message{border-bottom:1px solid rgba(243,236,223,.35)}
#fz-contact .field__input{font-family:"Google Sans Flex",sans-serif;font-size:1.05vw}
#fz-contact textarea.field__input{resize:none;height:100%;min-height:0}
#fz-contact .field__input::placeholder{color:rgba(255,255,255,.45)}
#fz-contact button.button-small{background:none;border:0;padding:0;cursor:pointer}
.fz-form-note{margin:0;font-size:.85vw;opacity:.8}
/* form durumları: hata notu, eksik alan çizgisi, gönderim kilidi, bal küpü */
.fz-form-note.is-error{opacity:1;color:#ffd9c9}
#fz-contact .field.is-error{border-bottom-color:rgba(255,217,201,.85)}
#fz-contact button.button-small[disabled]{opacity:.55;pointer-events:none}
.fz-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:767px){
  #fz-contact{grid-template-rows:none}
  #fz-contact .field--message,#fz-contact .fz-form-send{grid-column:auto;grid-row:auto}
  #fz-contact .field__input{font-size:3.6vw}
  #fz-contact textarea.field__input{min-height:28vw}
  .fz-form-note{font-size:3vw}
}

/* İletişim sayfası wordmark'ı: tema line-height .95 satır kutusunu harflerden
   kısa bırakıyor (Google Sans Flex ~1.12em yer istiyor), bu yüzden yazı alttaki
   bölüme taşıyordu. Boyut kapsayıcıya sığacak şekilde, satır kutusu harflere
   göre açıldı. */
.contact-section .fz-wordmark,.bot .footer-bot-info .fz-wordmark{font-size:9.4vw;line-height:1.15}

/* İletişim sayfası: tema bölümü height:100vh + overflow:hidden ile sabitliyor.
   Form eklenince içerik bir ekrana sığmıyor ve en alttaki wordmark bölümün
   sınırında kesiliyordu. Bölüm içeriğe göre uzasın, en az bir ekran kalsın. */
.contact-section{height:auto;min-height:100vh;overflow:visible}
.container.f-page{height:auto;min-height:100vh}

/* İletişim sayfasında wordmark, Webflow reveal animasyonunun başlangıç
   transform'uyla (~translateY 234px) aşağı kaymış duruyor; bu sayfada o
   animasyon hiç tetiklenmediği için kayma sıfırlanmıyor ve .div-hide
   (overflow:hidden) harflerin altını kesiyordu. Taşıma sıfırlanıp maske açıldı. */
.contact-section .footer-bot-info .logo-footer{transform:none !important}
.contact-section .footer-bot-info .div-hide{overflow:visible}

/* ---- Randevu paneli (sağdan açılan çekmece) ----
   Tema .calendly-panel__item'ı flex ile ortalayıp yalnız takvimi gösteriyordu.
   Üstte kişi bilgisi + açıklama, altında gömülü takvim olacak şekilde dikey
   akışa çevrildi; panel 25vw dar olduğu için ölçüler ona göre. */
.calendly-panel__item{flex-direction:column;justify-content:flex-start;overflow-y:auto;
  /* tema zemini var(--white) (#CDD2CB); Calendly iframe'i saf beyaz olduğu
     için üstteki bilgi bloğuyla arasında ton farkı oluyordu */
  background:#fff}
.fz-randevu{width:100%;padding:2vw 1.8vw 1.2vw;box-sizing:border-box;color:#05090B;
  font-family:"Google Sans Flex",sans-serif}
.fz-randevu__foto{margin:0 0 1.1vw;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:.5vw}
.fz-randevu__foto img{width:100%;height:100%;object-fit:cover;display:block}
.fz-randevu__ad{margin:0;font-size:1.05vw;font-weight:600;line-height:1.2}
.fz-randevu__rol{margin:.15vw 0 0;font-size:.85vw;opacity:.65}
.fz-randevu__baslik{margin:1.1vw 0 .3vw;font-size:.75vw;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.fz-randevu__metin{margin:0;font-size:.85vw;line-height:1.5;opacity:.85}
.calendly-panel__item .calendly-inline-widget{flex:1 1 auto;width:100%;min-height:52vh;padding-top:0}
@media(max-width:767px){
  .fz-randevu{padding:7vw 6vw 4vw}
  .fz-randevu__foto{border-radius:2vw;margin-bottom:4vw}
  .fz-randevu__ad{font-size:4.6vw}
  .fz-randevu__rol{font-size:3.4vw}
  .fz-randevu__baslik{margin:4vw 0 1.2vw;font-size:3vw}
  .fz-randevu__metin{font-size:3.4vw}
}

/* Calendly köşesini maskelemek için konmuş döndürülmüş beyaz kare; dar panelde
   içeriğin üstünde üçgen olarak görünüyordu. */
.calendly-panel__item .hide-calendly-fanion{display:none}

/* Panel açıkken header gizlensin (panel z-index 9999, header üstünde kalıyordu) */
/* fz-tr.css, fz-header.css'ten önce yüklendiği için eşit özgüllükte kural
   eziliyordu; bu tek durum için !important gerekiyor. */
body.fz-panel-open #header{opacity:0 !important;pointer-events:none;transition:opacity .35s ease}

/* Sunum ayıraç panellerindeki servis grubu ikonları.
   Artık stroke tabanlılar ve ".svg-draw" sınıfını da taşıyorlar; böylece tema
   script'inin ".svg-draw path" çizim animasyonuna dahil oluyorlar.
   Buradaki color, gsap devreye girene kadar stroke="currentColor" için
   başlangıç rengini verir (script sonrasında stroke'u kendisi yazar). */
.fz-group-icon{width:5.556vw;height:5.556vw;display:block;color:#F3ECDF}
@media(max-width:479px){.fz-group-icon{width:19.9vw;height:19.9vw}}

/* ============================================================
   İLETİŞİM SAYFASI — MOBİL DÜZELTMELERİ
   Kök sebep: temanın iletişim sayfası mobil kuralları
   @media(max-width:479px) içinde (tema CSS 4658–5979), yukarıdaki
   override'larımız ise @media(max-width:767px) kullanıyor.
   480–767px bandı ikisinin de dışında kalıp kırık bir melez oluşturuyordu.
   ============================================================ */

/* 1) YATAY TAŞMA
   Kapalı randevu çekmecesi translateX(110%) ile sağda bekliyor; yukarıdaki
   .contact-section{overflow:visible} kuralı (bkz. 257. satır) temanın
   kırpmasını kaldırdığı için belge 27,5vw yatay taşıyordu
   (ölçüm: 500px→638/500, 768px→979/768, 390px→819/390, 1440px→1836/1440).
   Bölüm dikeyde uzayabilsin ama yatayda kırpsın. overflow-x:clip tercih
   edildi: hidden gibi kaydırma kabı yaratmaz, position:sticky ve reveal
   animasyonlarını bozmaz. Kırpma sınırı bölümün kendi 100vw kutusu olduğu
   için masaüstünde zaten ekran dışında kalan hiçbir şey görünürlük
   kaybetmez (1440px'te .panel--button sağ kenarı 1459 > 1440). */
.contact-section{overflow-x:clip;overflow-y:visible}

/* 2) 480–767px BANDI
   Bu bantta form 2 sütun kalıyor (500px'te 114+114px), ekranın %47'sini
   kaplıyor, etiketler 3,47px'e düşüyor, randevu çekmecesi 125px'lik şerit
   oluyor ve mobil CTA hiç görünmüyordu. Bandı temanın ≤479 davranışına
   eşitliyoruz. */
@media(min-width:480px) and (max-width:767px){
  /* Header bu bantta ~22,3vw yüksekliğe kadar büyüyor ama .container.f-page
     üst dolgusu 5vw'de kalıyor; ilk alan header'ın altında kalıyordu
     (500px: header alt kenarı 111,3 / ilk alan üst kenarı 45,8 → 65px binme,
     767px'te 101px). Tema ≤479'daki değerle aynı: 28,607vw. */
  /* Yan dolgu da tema ≤479 değerine (4,975vw) çekildi; bantta 1,389vw kalıyor
     ve içerik ekran kenarına 6,9px'e kadar yaklaşıyordu (479→480 geçişinde
     form sol kenarı 23,8'den 6,7'ye zıplıyordu). */
  .contact-section .container.f-page{padding-top:28.607vw;
    padding-left:4.975vw;padding-right:4.975vw}
  .contact-section .grid-container.on-mobile{display:block;padding-left:0;padding-right:0}
  #fz-contact{display:flex;flex-flow:column;align-items:stretch;
    min-width:100%;height:auto;grid-row-gap:8vw;gap:8vw}
  #fz-contact .field--message{height:auto}
  #fz-contact .field__label.tag-field{font-size:2.2vw}
  #fz-contact .field__input{padding-top:4.975vw;padding-bottom:4.975vw}
  #fz-contact textarea.field__input{min-height:28vw}
  /* Gönder düğmesi de masaüstü ölçüsünde kalıyordu (500px'te 17,4px yükseklik,
     3,47px yazı — hem okunmaz hem dokunma hedefi olarak çok küçük).
     Tema ≤479 değerleri, yalnızca bu formun içinde. */
  #fz-contact .button-small__center{height:14.925vw;font-size:2.985vw;
    padding-left:4.975vw;padding-right:4.975vw}
  #fz-contact .button-small__arrow{width:14.925vw;min-width:14.925vw;
    height:14.925vw;font-size:2.488vw}
  #fz-contact .button-small__arrow.right{margin-left:-.6vw}

  /* çekmece tam ekran olsun; içindeki Calendly iframe'i ~320px'in altına inemiyor */
  .calendly-panel__item{width:100vw}
  /* dar ekranda çekmecenin altında kalan yan düğme yerine akış içindeki CTA */
  .panel--button.nomobile{display:none}
  /* .container.f-page bu bantta align-items:stretch olduğu için düğme tam
     genişliğe yayılıyor, üstüne sayfa içi .panel--button{transform:translateX(10%)}
     kuralı binince sağdan 41,7px taşıyordu (500px'te sağ kenar 541,67).
     Tema ≤479'da bunu kapsayıcıya align-items:center vererek çözüyor. */
  .panel--button.onmobile{display:flex;position:relative;
    justify-content:center;align-items:center;align-self:center;width:auto}
  .panel--button.onmobile,.panel--button.onmobile.is-open{transform:none !important}
  /* Daire ve içindeki yazı bantta masaüstü ölçüsünde kalıyordu (500px'te
     45px daire, ~3,5px yazı = okunmaz). Tema ≤479 değerleri uygulandı. */
  .panel--button.onmobile .circle--btn{width:32.338vw;height:32.338vw}
  .panel--button.onmobile .circle--btn-inner{font-size:2.985vw;font-weight:600;line-height:1.3}
  /* Yazı .circle--btn-inner'dan değil aradaki maske katmanından besleniyor
     (500px'te ölçülen 4,17px); tema ≤479'da bunu doğrudan span'e veriyor. */
  .panel--button.onmobile .text-btn span{font-size:2.5vw}
}

/* 3) ALAN SIRASI
   Mobilde alanlar DOM sırasıyla diziliyor ve Mesaj ikinci sıraya düşüyor
   (390px'te ölçülen üst kenarlar: 150,4 / 253 / 437,5 / 540,1 / 642,8).
   Masaüstündeki kurguya sadık kalmak için Mesaj üç kısa alandan sonra gelsin. */
@media(max-width:767px){
  #fz-contact>.field{order:1}
  #fz-contact>.field--message{order:2}
  #fz-contact>.fz-form-send{order:3}
}

/* 4) RANDEVU ÇEKMECESİ — kapatma düğmesi ve yükseklik
   Kapatma X'i .calendly-inline-widget'in (position:relative) içinde ve ona
   göre konumlanıyordu; .fz-randevu bloğu eklenince 412px aşağı kayıp
   (390px'te ölçülen top: 411,7) takvimin ortasında kalmıştı. Çekmecenin
   kendi sağ üst köşesine sabitlendi ve 480–767 bandında da görünür yapıldı;
   aksi hâlde o bantta panel bir kez açılınca kapatılamıyordu.
   Ayrıca .calendly-panel height:100% ve .contact-section artık height:auto
   olduğu için çekmece bölüm boyu kadar uzuyordu (390x844'te 1307px =
   ekranın 1,55 katı); bir ekrana sabitlendi. */
@media(max-width:767px){
  .calendly-panel{height:100dvh}
  .calendly-panel__item{height:100dvh;max-height:100dvh}
  /* Calendly'nin widget.js'i kaba satır içi "position:relative" yazıyor;
     kapatma X'i o yüzden takvim kabına göre konumlanıp aşağı kayıyordu
     (500px'te ölçülen top: 525,5). Satır içi stili ezmek için !important şart. */
  .calendly-panel__item .calendly-inline-widget{position:static !important}
  .calendly-panel__item .calendly-close-mobile{display:block;position:absolute;
    top:4.5vw;right:4.5vw;left:auto;bottom:auto;z-index:3;padding:2vw;cursor:pointer}
}

/* 5) Açık çekmecede yan düğmenin kenara çekilmesi
   GSAP/IX2 .panel--button'a satır içi transform yazıyor; sayfa içindeki
   .panel--button.is-open{transform:translateX(-25vw)} kuralı bu yüzden
   düşebiliyor ve düğme z-index:9999 olan çekmecenin altında kalıyor.
   Değer sayfanın kendi değeriyle birebir aynı (masaüstü geometrisi
   değişmez), sadece satır içi stile karşı sertleştiriliyor. */
.panel--button.is-open{transform:translateX(-25vw) !important}

/* ============================================================
   Randevu paneli — MOBİL: tam ekran
   Tema panel'i sağdan açılan 25vw'lik çekmece olarak kurgulamış ve
   sayfa içi stildeki translateX(110%) kapanış kuralı, .is-open kuralını
   ezip paneli ekran dışında bırakıyordu (ölçüldü: 500px'te sol kenar 550px).
   Mobilde panel tüm ekranı kaplasın, kapat tuşuyla sayfaya dönülsün.
   ============================================================ */
@media(max-width:767px){
  .calendly-panel{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    z-index:9999;pointer-events:none}
  .calendly-panel__item{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    transform:translateX(100%);
    transition:transform .55s cubic-bezier(.4,0,.2,1);
    pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .calendly-panel__item.is-open,
  body.fz-panel-open .calendly-panel__item{transform:translateX(0) !important}
  /* Kapat tuşu .calendly-inline-widget'ın İÇİNDE duruyor; panelin sağ üstüne
     çekmek için panele (position:fixed) göre konumlandırılıyor. */
  .calendly-panel__item .calendly-close-mobile{display:grid;place-items:center;
    position:absolute;top:3.5vw;right:4vw;z-index:20;
    width:10vw;height:10vw;border-radius:50%;background:rgba(5,9,11,.07);padding:0}
  .calendly-panel__item .calendly-close-mobile svg{width:4.2vw;height:4.2vw}
  /* kapat tuşuyla çakışmasın diye bilgi bloğuna üstten pay */
  .calendly-panel__item .fz-randevu{padding-top:15vw}
  /* takvim kalan alanı doldursun, altta boşluk kalmasın */
  .calendly-panel__item .calendly-inline-widget{flex:1 1 auto;min-height:64vh;padding-top:0}
  /* panel açıkken arkadaki sayfa kaymasın */
  body.fz-panel-open{overflow:hidden}
}

/* ============================================================
   Nasıl Çalışırız — dev hero başlığı, dile göre boyut
   İngilizce karşılık Türkçeden belirgin uzun (41 → 60 karakter), 9.72vw'de
   ekranı taşırıyor. Motor İngilizce modda <html lang="en"> yaptığı için
   yalnız o dilde küçültüyoruz; Türkçe görünüm aynı kalır.
   ============================================================ */
html[lang="en"] .section-hero-bis .title-cont h2{font-size:6.9vw;letter-spacing:-.26vw}
@media(max-width:767px){
  html[lang="en"] .section-hero-bis .title-cont h2{font-size:10.5vw;letter-spacing:-.3vw}
}

/* Servis sayfası hero başlığı (.marquee__text) İngilizcede daha uzun: 6.944vw'de
   satır sayısı 3'ten 4'e çıkıp bölümü taşırıyor (kurumsal-strateji: +46px).
   Yalnız İngilizcede küçültülüyor; Türkçe görünüm değişmez. */
html[lang="en"] .marquee__text{font-size:6vw}
@media(max-width:767px){html[lang="en"] .marquee__text{font-size:11.5vw}}

/* iletişim formu: bal küpü alanı gizli, hata notu vurgulu */
#fz-contact .fz-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fz-form-note.is-error{color:#E8B4A0}

/* Harita pinliyken hemen ardındaki .horizontal-section kutusu haritanın alt
   yarısını örtüyor ve alttaki 5 çip tıklanamıyordu (ölçüldü: 9 çipin 5'i
   engelli). Harita görünürken üstte kalsın; slider devralınca harita zaten
   sönüp visibility:hidden olduğu için tıklamayı engellemez. */
.fz-map{position:relative;z-index:4}

/* ============================================================
   NASIL ÇALIŞIRIZ — ŞEMA BAĞLAYICI ÇİZGİLERİ
   Bağlayıcılar "0 0 55 1" gibi viewBox'lı SVG'ler; kutu genişliği
   satırdan satıra değiştiği için hem çizgi kalınlığı (1.00–1.33px)
   hem de merkezi kayıyordu. Kalınlık ve dikey hiza
   assets/js/fz-line-align.js içinde ölçüye göre eşitleniyor.
   DİKKAT: burada vector-effect:non-scaling-stroke KULLANILAMAZ —
   çizgiler GSAP'la stroke-dasharray üzerinden çiziliyor ve
   non-scaling-stroke dash desenini ekran birimine çevirip
   getTotalLength()'in viewBox uzunluğuyla uyumsuz hâle getiriyor;
   çizgiler yarım kalıyor (aynı tuzak .fz-mark-draw'da da var).
   ============================================================ */
.second-slide .svg-line svg{overflow:visible}

/* ============================================================
   NASIL ÇALIŞIRIZ — YÖNTEM KÜTÜPHANESİ (.fz-fw)
   Üstteki şema bölümleriyle aynı format: ortada "05 — Yöntem"
   mikro başlığı (temanın nav-tag + s-line bileşeni) ve iki satırlık
   ortalanmış başlık; sayı cümlenin içinde, içi boş konturlu.
   Altında çizgiler iki yandan akıp ortadaki tek düğümde buluşur
   (assets/js/fz-flow.js). Sayaç assets/js/fz-fw.js ile.
   ============================================================ */
.fz-fw{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding:12vh 0;font-family:"Google Sans Flex",sans-serif;overflow:hidden;
}
.fz-fw__inner{
  width:100%;max-width:82vw;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

/* ---- başlık (tema bileşeni) ---- */
.fz-fw__top{
  opacity:0;transform:translateY(10px);
  transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.3,1);
}
.fz-fw__head{
  margin:1.6vh 0 0;
  opacity:0;transform:translateY(16px);
  transition:opacity .85s ease .12s,transform .95s cubic-bezier(.2,.7,.3,1) .12s;
}
.fz-fw.is-in .fz-fw__top,
.fz-fw.is-in .fz-fw__head{opacity:1;transform:none}

/* sayı başlığın içinde: içi boş, konturlu rakam */
.fz-fw__count{
  display:inline-flex;align-items:baseline;
  color:inherit;
  -webkit-text-stroke:0;
  font-size:1em;letter-spacing:inherit;
}
.fz-fw__n{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.fz-fw__plus{
  font-size:1em;margin-left:.02em;
  color:inherit;-webkit-text-stroke:0;
  opacity:0;transition:opacity .5s ease;
}
.fz-fw.is-counted .fz-fw__plus{opacity:1}

/* ---- dünya: tel kafes küre (assets/js/fz-flow.js) ---- */
.fz-fw__flow{width:100%;max-width:34vw;margin-top:3vh}
.fz-fw__flowsvg{display:block;width:100%;height:auto;overflow:visible !important}

/* DİKKAT: dış çember stroke-dasharray ile çiziliyor; buraya
   vector-effect:non-scaling-stroke konulamaz (dash ekran birimine
   geçer, getTotalLength/çevre viewBox biriminde kalır, çizgi yarıda
   kesilir). Kalınlıklar viewBox biriminde (~1px karşılığı). */
.fz-flow__limb{
  fill:none;stroke:rgba(222,227,220,.6);stroke-width:.85;
  stroke-dashoffset:var(--len);
}
.fz-fw__flow.is-drawn .fz-flow__limb{
  stroke-dashoffset:0;
  transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1) .15s;
}
.fz-flow__par,.fz-flow__mer{
  fill:none;stroke:rgba(205,210,203,.34);stroke-width:.7;
  opacity:0;
}
.fz-fw__flow.is-drawn .fz-flow__par,
.fz-fw__flow.is-drawn .fz-flow__mer{
  opacity:1;transition:opacity .9s ease var(--d,0s);
}
/* dünyayı çevreleyen Füzyonist yörüngeleri: sabit elipsler,
   üzerlerinde 3'er parçacık döner (fz-flow.js) */
.fz-flow__orb{
  fill:none;stroke:rgba(222,227,220,.62);stroke-width:1;
  stroke-linejoin:round;opacity:0;
}
.fz-fw__flow.is-drawn .fz-flow__orb{opacity:1;transition:opacity .9s ease var(--d,0s)}
.fz-flow__seeds{opacity:0;transition:opacity .9s ease 1.6s}
.fz-fw__flow.is-drawn .fz-flow__seeds{opacity:1}
.fz-flow__seed{
  fill:#DEE3DC;
  filter:drop-shadow(0 0 5px rgba(214,226,211,.5));
}
/* uydu etiketi: her parçacık bir çerçevenin adını taşır (fz-flow.js).
   Ölçüler viewBox birimi; koyu ince kontur, arkadaki açık zemin lekelerinde
   okunurluğu tutar (filter yerine paint-order — 9 metin her karede konumlanıyor). */
/* kılavuz çizgi: çapayı kolondaki adına bağlar */
.fz-flow__lead{
  stroke:rgba(222,227,220,.3);stroke-width:.5;
}
/* ad: sitenin nav-tag dili — büyük harf, harf aralıklı, küçük ve soluk */
.fz-flow__label{
  fill:rgba(222,227,220,.82);
  font-family:"Google Sans Flex",sans-serif;
  font-size:8.5px;font-weight:600;
  letter-spacing:.14em;   /* büyütme JS'te en-US ile yapılır (tr locale i→İ yapıyor) */
  stroke:rgba(12,18,12,.5);stroke-width:1.4;stroke-linejoin:round;
  paint-order:stroke;
  pointer-events:none;
}

@media(max-width:991px){
  .fz-fw__inner{max-width:90vw}
  .fz-fw__flow{max-width:46vw}
}
@media(max-width:767px){
  .fz-fw{min-height:0;padding:16vw 0;display:block}
  .fz-fw__inner{max-width:none;padding:0 6vw}
  .fz-fw__flow{max-width:72vw;margin-top:9vw}
  .fz-flow__label,.fz-flow__lead{display:none}   /* dar kompozisyonda 9 ad okunmuyor; çapalar kalır */
}
@media(prefers-reduced-motion:reduce){
  .fz-fw__top,.fz-fw__head{opacity:1;transform:none;transition:none}
  .fz-fw__plus{opacity:1}
  .fz-flow__limb{stroke-dashoffset:0;transition:none}
  .fz-flow__par,.fz-flow__mer{opacity:1;transition:none}
  .fz-flow__orb{opacity:1;transition:none}
  .fz-flow__seeds{opacity:1;transition:none}
}


/* ============================================================
   TEMA KİLİDİ İÇİN EMNİYET (boş bant sorunu)
   Her sayfanın <head>'inde şu kural var:
     html.w-mod-js:not(.w-mod-ix3) :is(.last-section, .manifesto, …)
       { visibility: hidden !important }
   Webflow'un etkileşim motoru (IX2) yüklenince <html>'e .w-mod-ix3
   ekler ve kilit açılır. Motor açılmazsa bu bölümler yerini korur
   ama görünmez kalır — sayfada koca bir boş bant oluşur.
   assets/js/fz-header.js zaten 2,5 sn sonra sınıfı ekliyor; bu kural
   JS hiç çalışmasa bile 3 sn sonra görünürlüğü geri veriyor.
   Normal durumda kilit ~1 sn'den kısa sürdüğü için hiç devreye girmez.
   ============================================================ */
@keyframes fz-unlock{to{visibility:visible}}
html.w-mod-js:not(.w-mod-ix3) .last-section,
html.w-mod-js:not(.w-mod-ix3) .last-section-mask,
html.w-mod-js:not(.w-mod-ix3) .h-line,
html.w-mod-js:not(.w-mod-ix3) .manifesto,
html.w-mod-js:not(.w-mod-ix3) .expertise-split,
html.w-mod-js:not(.w-mod-ix3) .split-tag,
html.w-mod-js:not(.w-mod-ix3) .load-split,
html.w-mod-js:not(.w-mod-ix3) .logo-footer{
  animation:fz-unlock 0s linear 3s forwards;
}
