/* =============================================================
   RATHUDAN — Tasarım Sistemi
   Derin Kırmızı #c2212e · Kömür Siyahı #000a0f
   Kar Beyazı #f3f4f6 · Metalik Gri #b4b7bd
   ============================================================= */

/* ---------------------------------------------------------------
   1. Tokenlar
   --------------------------------------------------------------- */
:root{
  /* Renk */
  --red:        #c2212e;
  --red-bright: #e63946;
  --red-deep:   #8a1620;
  --ink:        #000a0f;
  --ink-2:      #05101a;
  --ink-3:      #0a1722;
  --surface:    #0b141c;
  --surface-2:  #101d28;
  --line:       rgba(243,244,246,.10);
  --line-strong:rgba(243,244,246,.20);
  --snow:       #f3f4f6;
  --steel:      #b4b7bd;
  --steel-dim:  #767b84;

  /* Tipografi — akışkan ölçek */
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;

  /* Alt sinir 2.7rem'di; 375px'lik telefonda vw degeri devreye giremiyor,
     baslik ekrana sigmayip satir kiriyordu. Sinir dusuruldu, kucuk
     ekranda gercekten olceklensin. */
  --fs-mega:  clamp(1.95rem, 8.6vw, 9.2rem);
  --fs-h1:    clamp(2.6rem, 7vw, 6rem);
  --fs-h2:    clamp(2rem, 4.6vw, 3.9rem);
  --fs-h3:    clamp(1.35rem, 2.2vw, 1.85rem);
  --fs-h4:    clamp(1.1rem, 1.5vw, 1.28rem);
  --fs-lead:  clamp(1.05rem, 1.5vw, 1.32rem);
  --fs-body:  1rem;
  --fs-sm:    .9rem;
  --fs-xs:    .78rem;

  /* Boşluk skalası */
  --sp-1: .5rem;   --sp-2: 1rem;    --sp-3: 1.5rem;
  --sp-4: 2rem;    --sp-5: 3rem;    --sp-6: 4.5rem;
  --sp-7: 6.5rem;  --sp-8: 9rem;

  --section-y: clamp(5rem, 11vw, 11rem);

  /* Yerleşim */
  --wrap: 1400px;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);

  /* Şekil */
  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-full: 999px;

  /* Hareket */
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-io:  cubic-bezier(.65,0,.35,1);
  --t-fast: .25s;
  --t-mid:  .5s;
  --t-slow: .9s;

  --header-h: 84px;
}

/* ---------------------------------------------------------------
   2. Sıfırlama ve taban
   --------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scrollbar-color: var(--red) var(--ink);
}
html.is-locked{ overflow:hidden; }

body{
  margin:0;
  background:var(--ink);
  color:var(--snow);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  font-feature-settings:'kern' 1,'liga' 1;
}

img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,textarea,select{ font:inherit; color:inherit; }

h1,h2,h3,h4,h5{
  margin:0;
  font-family:var(--font-display);
  font-weight:800;
  /* Montserrat'ta İ noktasi ve Ü/Ö umlautlari yuksek oturur;
     1.02 Turkce basliklarda ust satira degiyordu. */
  line-height:1.12;
  letter-spacing:-.02em;
  text-wrap:balance;
}
p{ margin:0; text-wrap:pretty; }

::selection{ background:var(--red); color:#fff; }

:focus-visible{
  outline:2px solid var(--red-bright);
  outline-offset:3px;
  border-radius:4px;
}

.skip-link{
  position:absolute; top:-100px; left:var(--gutter); z-index:9999;
  background:var(--red); color:#fff; padding:.9rem 1.5rem; border-radius:0 0 var(--r-sm) var(--r-sm);
  font-weight:600;
}
.skip-link:focus{ top:0; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---------------------------------------------------------------
   3. Yerleşim yardımcıları
   --------------------------------------------------------------- */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.wrap--narrow{ max-width:860px; }
.wrap--mid{ max-width:1100px; }

.section{ padding-block:var(--section-y); position:relative; }
.section--tight{ padding-block:clamp(3.5rem,7vw,6.5rem); }
.section--flush-top{ padding-top:0; }

.stack > * + *{ margin-top:var(--sp-2); }
.stack-lg > * + *{ margin-top:var(--sp-4); }

/* Grain dokusu — tüm sayfanın üstünde ince film */
.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Kaydırma ilerleme çubuğu */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:100%;
  transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--red),var(--red-bright));
  z-index:900; pointer-events:none;
}

/* ---------------------------------------------------------------
   4. Tipografi bileşenleri
   --------------------------------------------------------------- */
.kicker{
  display:inline-flex; align-items:center; gap:.7rem;
  font-size:var(--fs-xs); font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--red-bright);
}
.kicker::before{
  content:''; width:28px; height:1px; background:currentColor; opacity:.7;
}
.kicker--center{ justify-content:center; }

.display{ font-size:var(--fs-h1); }
.title-xl{ font-size:var(--fs-h2); }
.title-md{ font-size:var(--fs-h3); font-weight:700; letter-spacing:-.02em; }
.title-sm{ font-size:var(--fs-h4); font-weight:700; letter-spacing:-.01em; }

.lead{ font-size:var(--fs-lead); color:var(--steel); line-height:1.6; }
.muted{ color:var(--steel); }
.dim{ color:var(--steel-dim); }
.accent{ color:var(--red-bright); }

/* Geri çekilmiş başlık satırı.
   Kontur (text-stroke) yerine DOLU degrade kullanıyoruz: kontur her harfin
   tam çevresini çizdiği için harfler değdiğinde çakışan çizgiler oluşuyordu
   ve ince çizgi büyük puntoda kırılgan duruyordu. Degrade dolgu aynı
   "geride durma" etkisini verir ama harfler sağlam kalır. */
.text-ghost{
  color:rgba(243,244,246,.30);   /* yedek: background-clip desteklenmezse */
}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .text-ghost{
    background:linear-gradient(178deg,
      rgba(243,244,246,.62) 0%,
      rgba(243,244,246,.22) 55%,
      rgba(243,244,246,.06) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
}

.section-head{ max-width:820px; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head .kicker{ margin-bottom:1.2rem; }
.section-head .lead{ margin-top:1.4rem; }

/* Bölüm numarası göstergesi */
.section-index{
  position:absolute; top:calc(var(--section-y) * .55); right:var(--gutter);
  font-family:var(--font-display); font-size:.8rem; letter-spacing:.2em;
  color:var(--steel-dim);
}

/* ---------------------------------------------------------------
   5. Butonlar
   --------------------------------------------------------------- */
.btn{
  --btn-bg: var(--red);
  --btn-fg: #fff;
  position:relative; display:inline-flex; align-items:center; gap:.75rem;
  padding:1.05rem 2rem; border-radius:var(--r-full);
  background:var(--btn-bg); color:var(--btn-fg);
  font-weight:600; font-size:.95rem; letter-spacing:-.01em;
  overflow:hidden; isolation:isolate;
  transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);
  will-change:transform;
}
.btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--red-bright);
  transform:translateY(101%);
  transition:transform var(--t-mid) var(--ease-out);
}
.btn:hover::before{ transform:translateY(0); }
.btn:hover{ box-shadow:0 14px 40px -14px rgba(194,33,46,.75); }
.btn:active{ transform:scale(.97); }
.btn .icon{ transition:transform var(--t-fast) var(--ease-out); }
.btn:hover .icon{ transform:translateX(4px); }

.btn--ghost{
  --btn-bg:transparent; --btn-fg:var(--snow);
  border:1px solid var(--line-strong);
}
.btn--ghost::before{ background:var(--snow); }
.btn--ghost:hover{ color:var(--ink); border-color:var(--snow); box-shadow:none; }

.btn--light{ --btn-bg:var(--snow); --btn-fg:var(--ink); }
.btn--light::before{ background:var(--red); }
.btn--light:hover{ color:#fff; }

.btn--sm{ padding:.7rem 1.4rem; font-size:.85rem; }
.btn--lg{ padding:1.25rem 2.6rem; font-size:1.02rem; }

/* Alt çizgisi kayan metin bağlantı */
.link-line{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:600; color:var(--red-bright); position:relative;
  padding-bottom:2px;
}
.link-line::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:100% 50%;
  transition:transform var(--t-mid) var(--ease-out);
}
.link-line:hover::after{ transform:scaleX(1); transform-origin:0 50%; }
.link-line .icon{ transition:transform var(--t-fast) var(--ease-out); }
.link-line:hover .icon{ transform:translate(3px,-3px); }

/* ---------------------------------------------------------------
   6. Başlık / navigasyon
   --------------------------------------------------------------- */
.header{
  position:fixed; top:0; left:0; right:0; z-index:800;
  height:var(--header-h);
  display:flex; align-items:center;
  transition:transform var(--t-mid) var(--ease-out), background var(--t-mid), backdrop-filter var(--t-mid);
}
.header::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:rgba(0,10,15,.72);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
  opacity:0; transition:opacity var(--t-mid) var(--ease-out);
}
.header.is-stuck::after{ opacity:1; }
.header.is-hidden{ transform:translateY(-100%); }

.header__inner{
  width:100%; max-width:var(--wrap); margin-inline:auto;
  padding-inline:var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
}

.logo{ display:flex; align-items:center; gap:.7rem; flex:none; }
.logo__mark{
  width:42px; height:42px; border-radius:12px; flex:none;
  background:linear-gradient(140deg,var(--red-bright),var(--red-deep));
  display:grid; place-items:center;
  font-family:var(--font-display); font-weight:800; font-size:1.35rem; color:#fff;
  box-shadow:0 8px 26px -10px rgba(194,33,46,.9);
  transition:transform var(--t-mid) var(--ease-out);
}
.logo:hover .logo__mark{ transform:rotate(-10deg) scale(1.06); }
.logo__img{ height:38px; width:auto; }
.logo__text{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:-.02em; }

.nav{ display:flex; align-items:center; gap:.35rem; }
.nav__link{
  position:relative; padding:.55rem .95rem; border-radius:var(--r-full);
  font-size:.92rem; font-weight:500; color:var(--steel);
  transition:color var(--t-fast), background var(--t-fast);
}
.nav__link:hover{ color:var(--snow); background:rgba(243,244,246,.06); }
.nav__link.is-active{ color:var(--snow); }
.nav__link.is-active::after{
  content:''; position:absolute; left:50%; bottom:2px; translate:-50% 0;
  width:5px; height:5px; border-radius:50%; background:var(--red-bright);
}

.header__actions{ display:flex; align-items:center; gap:.9rem; }

.burger{
  display:none; width:46px; height:46px; border-radius:50%;
  border:1px solid var(--line-strong); place-items:center;
  transition:background var(--t-fast), border-color var(--t-fast);
}
.burger:hover{ background:rgba(243,244,246,.06); border-color:var(--line-strong); }
.burger__lines{ display:block; width:18px; height:10px; position:relative; }
.burger__lines span{
  position:absolute; left:0; width:100%; height:1.5px; background:var(--snow); border-radius:2px;
  transition:transform var(--t-mid) var(--ease-out), opacity var(--t-fast);
}
.burger__lines span:nth-child(1){ top:0; }
.burger__lines span:nth-child(2){ bottom:0; }
.burger[aria-expanded="true"] .burger__lines span:nth-child(1){ transform:translateY(4.5px) rotate(45deg); }
.burger[aria-expanded="true"] .burger__lines span:nth-child(2){ transform:translateY(-4.5px) rotate(-45deg); }

/* Tam ekran mobil menü */
.menu{
  position:fixed; inset:0; z-index:790;
  background:var(--ink-2);
  display:flex; flex-direction:column; justify-content:center;
  /* Kucuk telefonlarda 6 baglanti + alt bolum ekrana sigmiyordu ve
     tasan kisma erisilemiyordu. Tasarsa kayabilsin. */
  overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  padding:calc(var(--header-h) + 2rem) var(--gutter) 3rem;
  clip-path:circle(0% at calc(100% - 46px) 42px);
  transition:clip-path .8s var(--ease-out);
  visibility:hidden;
}
.menu.is-open{ clip-path:circle(150% at calc(100% - 46px) 42px); visibility:visible; }
.menu__list{ display:flex; flex-direction:column; gap:.4rem; }
.menu__link{
  font-family:var(--font-display); font-size:clamp(2rem,9vw,3.4rem);
  font-weight:800; letter-spacing:-.03em; color:var(--snow);
  display:flex; align-items:baseline; gap:1rem;
  opacity:0; transform:translateY(28px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out), color var(--t-fast);
}
.menu.is-open .menu__link{ opacity:1; transform:none; }
.menu.is-open .menu__link:nth-child(1){ transition-delay:.12s; }
.menu.is-open .menu__link:nth-child(2){ transition-delay:.18s; }
.menu.is-open .menu__link:nth-child(3){ transition-delay:.24s; }
.menu.is-open .menu__link:nth-child(4){ transition-delay:.30s; }
.menu.is-open .menu__link:nth-child(5){ transition-delay:.36s; }
.menu__link:hover{ color:var(--red-bright); }
.menu__num{ font-size:.8rem; font-weight:500; color:var(--steel-dim); letter-spacing:.1em; }
.menu__foot{
  margin-top:auto; padding-top:2rem; border-top:1px solid var(--line);
  display:grid; gap:1.2rem;
  color:var(--steel); font-size:var(--fs-sm);
}
.menu__cta{ justify-content:center; }
.menu__contact{
  display:flex; flex-wrap:wrap; gap:1rem 1.5rem; justify-content:space-between;
}
.menu__contact a{ display:inline-flex; align-items:center; gap:.4rem; }
.menu__contact a:hover{ color:var(--snow); }

/* ---------------------------------------------------------------
   7. Özel imleç
   --------------------------------------------------------------- */
.cursor{
  position:fixed; top:0; left:0; z-index:9000; pointer-events:none;
  width:9px; height:9px; border-radius:50%; background:var(--red-bright);
  /* Merkezleme JS'teki transform icinde yapilir (translate(-50%,-50%)).
     Burada ayrica translate vermeyin, iki kez uygulanip imlecten kayar. */
  transition:width .3s var(--ease-out), height .3s var(--ease-out),
             background .3s var(--ease-out), opacity .3s;
  opacity:0;
}
.cursor.is-visible{ opacity:1; }
.cursor.is-hover{
  width:56px; height:56px; background:rgba(230,57,70,.18);
  border:1px solid var(--red-bright);
}
/* "Sürükle" imleç rozeti kaldırıldı (sürükleme özelliğiyle birlikte). */

/* ---------------------------------------------------------------
   8. Hero
   --------------------------------------------------------------- */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end;
  padding-top:calc(var(--header-h) + 3rem);
  padding-bottom:clamp(2.5rem,6vw,4.5rem);
  overflow:hidden;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media video,
.hero__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.hero__media::after{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(80% 60% at 15% 20%, rgba(194,33,46,.30), transparent 60%),
    radial-gradient(70% 60% at 85% 80%, rgba(138,22,32,.32), transparent 60%),
    linear-gradient(180deg, rgba(0,10,15,.62) 0%, rgba(0,10,15,.78) 45%, var(--ink) 100%);
}
/* Video yokken canlı degrade zemin */
.hero__media--fallback{
  background:
    radial-gradient(circle at 12% 18%, rgba(194,33,46,.42), transparent 52%),
    radial-gradient(circle at 88% 72%, rgba(138,22,32,.40), transparent 55%),
    linear-gradient(160deg, #10040a 0%, var(--ink) 55%, #050c14 100%);
}
.hero__media--fallback::before{
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(var(--line) 1px, transparent 1px),
                   linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:clamp(50px,7vw,110px) clamp(50px,7vw,110px);
  mask-image:radial-gradient(circle at 50% 45%, #000 10%, transparent 72%);
  -webkit-mask-image:radial-gradient(circle at 50% 45%, #000 10%, transparent 72%);
  opacity:.7;
}

.hero__inner{ position:relative; z-index:2; width:100%; }
.hero__kicker{ margin-bottom:clamp(1.2rem,3vw,2rem); }

.hero__title{
  position:relative;
  /* Satırları panelden zaten üç parça olarak giriliyor; balance burada
     gereksiz yere satır kırıyordu. Yalnızca gerçekten sığmazsa kırılsın. */
  text-wrap:normal;
  font-size:var(--fs-mega);
  /* Türkçe büyük harflerde üstte İ noktası / Ü umlautu, altta Ş ve Ç
     sedillası var. 1.02 üç satırın çakışmadan durabildiği en sıkı değer. */
  line-height:1.02;
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin-bottom:clamp(1.6rem,3vw,2.6rem);
  padding-left:clamp(1rem,2.6vw,2.6rem);
}
/* Tip bloğunu sabitleyen kırmızı dikey çapa */
.hero__title::before{
  content:'';
  position:absolute; left:0; top:.10em; bottom:.20em;
  width:clamp(4px,.45vw,8px); border-radius:99px;
  background:linear-gradient(180deg, var(--red-bright) 0%, var(--red) 45%, transparent 100%);
}
.hero__title span{ display:block; }

.hero__bottom{
  display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:var(--sp-4);
  padding-top:clamp(1.5rem,3vw,2.5rem);
  border-top:1px solid var(--line);
}
.hero__subtitle{ max-width:44ch; }
.hero__cta-group{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }

.hero__scroll{
  display:inline-flex; align-items:center; gap:.7rem;
  font-size:var(--fs-xs); letter-spacing:.2em; text-transform:uppercase;
  color:var(--steel);
}
.hero__scroll-line{
  display:block; width:52px; height:1px; background:var(--line-strong); position:relative; overflow:hidden;
}
.hero__scroll-line::after{
  content:''; position:absolute; inset:0; background:var(--red-bright);
  transform:translateX(-100%); animation:scrollLine 2.2s var(--ease-io) infinite;
}
@keyframes scrollLine{
  0%{ transform:translateX(-100%); }
  55%{ transform:translateX(0); }
  100%{ transform:translateX(100%); }
}

/* ---------------------------------------------------------------
   9. Marquee (kayan şerit)
   --------------------------------------------------------------- */
.marquee{
  position:relative; overflow:hidden;
  padding-block:clamp(1.2rem,2.4vw,2rem);
  border-block:1px solid var(--line);
  background:var(--ink-2);
}
.marquee__track{
  display:flex; width:max-content; gap:2.5rem;
  animation:marquee 38s linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__item{
  display:inline-flex; align-items:center; gap:2.5rem;
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(1.1rem,2.4vw,1.9rem); letter-spacing:-.02em;
  color:var(--steel); white-space:nowrap;
}
.marquee__item::after{
  content:''; width:7px; height:7px; border-radius:50%; background:var(--red); flex:none;
}
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ---------------------------------------------------------------
   10. Kartlar ve ızgaralar
   --------------------------------------------------------------- */
.card{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:clamp(1.7rem,2.6vw,2.4rem);
  transition:border-color var(--t-mid) var(--ease-out), transform var(--t-mid) var(--ease-out);
}
.card::before{
  content:''; position:absolute; inset:0; z-index:-1; opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(194,33,46,.16), transparent 62%);
  transition:opacity var(--t-mid);
}
.card:hover::before{ opacity:1; }
.card:hover{ border-color:rgba(194,33,46,.5); transform:translateY(-5px); }

.card__icon{
  width:54px; height:54px; border-radius:15px; display:grid; place-items:center;
  background:rgba(194,33,46,.14); color:var(--red-bright);
  margin-bottom:1.5rem;
  transition:background var(--t-mid) var(--ease-out), color var(--t-mid), transform var(--t-mid) var(--ease-out);
}
.card:hover .card__icon{ background:var(--red); color:#fff; transform:rotate(-8deg) scale(1.06); }
.card__title{ font-size:var(--fs-h4); font-weight:700; margin-bottom:.7rem; }
.card__text{ color:var(--steel); font-size:var(--fs-sm); }
.card__foot{ margin-top:1.6rem; }

/* Numaralı köşe rozeti */
.card__num{
  position:absolute; top:1.2rem; right:1.5rem;
  font-family:var(--font-display); font-size:.75rem; letter-spacing:.15em;
  color:var(--steel-dim);
}

.grid{ display:grid; gap:clamp(1rem,1.8vw,1.5rem); }
.grid--2{ grid-template-columns:repeat(2,1fr); }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }

/* Asimetrik iki sütun */
.split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
}
.split--reverse{ grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.split--top{ align-items:start; }
/* Icerik agirlikli sayfalar: metin sutunu yan sutundan genis olsun */
.split--content{ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); }

/* Yapışkan sütun */
.sticky-col{ position:sticky; top:calc(var(--header-h) + 3rem); }

/* ---------------------------------------------------------------
   11. Görsel çerçeveler
   --------------------------------------------------------------- */
.figure{
  position:relative; overflow:hidden; border-radius:var(--r-lg);
  background:var(--surface-2);
}
.figure::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  border:1px solid var(--line); pointer-events:none;
}
.figure img{ width:100%; height:100%; object-fit:cover; }
.figure--tall{ aspect-ratio:4/5; }
.figure--wide{ aspect-ratio:16/10; }
.figure--square{ aspect-ratio:1; }

/* Logo gibi kirpilmamasi gereken gorseller icin: tamami sigar, kirpilmaz.
   Panelden "Sigdir (logo)" secildiginde uygulanir. */
.figure--contain{ background:var(--surface); }
.figure--contain img{
  object-fit:contain;
  padding:clamp(1.5rem,4vw,3rem);
}

/* Parallax katmanı */
.figure--parallax img{ scale:1.18; will-change:transform; }

/* Görsel yer tutucu (fotoğraf yüklenmeden) */
.placeholder{
  display:grid; place-items:center; color:var(--steel-dim);
  background:
    radial-gradient(circle at 30% 25%, rgba(194,33,46,.20), transparent 55%),
    linear-gradient(150deg, var(--surface-2), var(--ink-3));
  height:100%; width:100%;
}
.placeholder .icon{ opacity:.4; }

/* ---------------------------------------------------------------
   12. Yatay kaydırma bölümü
   --------------------------------------------------------------- */
.hscroll{ position:relative; }

/* Serit, .wrap ile ayni noktadan baslasin.
   Genis ekranlarda .wrap ortalandigi icin sadece --gutter yetmez;
   ortalama payini da eklememiz gerekiyor. */
.hscroll__viewport,
.hscroll__nav{
  padding-inline:max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter)));
}
/* Snap noktalari da ayni bosluga saygi duysun; yoksa ilk kart
   kaydirma sirasinda konteyner kenarina yapisip basliktan kayar. */
.hscroll__viewport{
  scroll-padding-inline:max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter)));
}
/* overflow-x:auto, dikeyde de kirpma yapar (overflow-y otomatik olarak
   "visible" olmaktan cikar). Kartlar data-anim="up" ile 38px asagidan
   geliyor ve uzerine gelince 5px havalaniyor; bu paylar olmadan animasyon
   ust ve alt kenardan kesiliyordu. Ic bosluk acip ayni miktarda negatif
   kenar bosluguyla geri cekiyoruz, boylece yerlesim degismiyor. */
.hscroll{ --hscroll-bleed:2.75rem; }
.hscroll__viewport{
  display:flex; gap:clamp(1rem,2vw,1.6rem);
  overflow-x:auto; scroll-snap-type:x mandatory;
  padding-block:var(--hscroll-bleed);
  margin-top:calc(var(--hscroll-bleed) * -1);
  margin-bottom:calc(1.5rem - var(--hscroll-bleed));
  scrollbar-width:none;
}
.hscroll__viewport::-webkit-scrollbar{ display:none; }
/* Kendiliginden kayan seritte kartlar kenarlarda birden kesilmesin */
.hscroll__viewport[data-autoscroll]{
  scroll-snap-type:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.hscroll__item{
  flex:0 0 clamp(280px,32vw,420px);
  scroll-snap-align:start;
}
.hscroll__nav{ display:flex; gap:.6rem; justify-content:flex-end; padding-inline:var(--gutter); margin-top:.5rem; }
.hscroll__btn{
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--line-strong); display:grid; place-items:center;
  color:var(--steel);
  transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.hscroll__btn:hover:not(:disabled){ background:var(--red); color:#fff; border-color:var(--red); }
.hscroll__btn:disabled{ opacity:.3; cursor:not-allowed; }
.icon.flip{ transform:scaleX(-1); }

/* ---------------------------------------------------------------
   13. Süreç adımları
   --------------------------------------------------------------- */
.steps{ display:grid; gap:0; counter-reset:step; }
.step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:start;
  padding-block:clamp(1.8rem,3.5vw,2.8rem);
  border-top:1px solid var(--line);
  transition:background var(--t-mid);
}
.step:last-child{ border-bottom:1px solid var(--line); }
.step:hover{ background:rgba(194,33,46,.045); }
.step__num{
  font-family:var(--font-display); font-size:.8rem; letter-spacing:.18em;
  color:var(--red-bright); padding-top:.5rem;
}
.step__title{ font-size:var(--fs-h3); font-weight:700; }
.step__text{ color:var(--steel); }

/* ---------------------------------------------------------------
   14. İstatistikler
   --------------------------------------------------------------- */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  background:var(--surface);
}
.stat{
  padding:clamp(2rem,3.5vw,3rem) clamp(1.2rem,2vw,2rem);
  text-align:center; border-right:1px solid var(--line);
  transition:background var(--t-mid);
}
.stat:last-child{ border-right:0; }
.stat:hover{ background:rgba(194,33,46,.06); }
.stat__value{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(2.4rem,5vw,4rem); letter-spacing:-.04em; line-height:1;
}
.stat__value .suffix{ color:var(--red-bright); }
.stat__label{ margin-top:.7rem; color:var(--steel); font-size:var(--fs-sm); }

/* ---------------------------------------------------------------
   15. Sektör listesi
   --------------------------------------------------------------- */
.sector{
  display:flex; align-items:center; gap:1.2rem;
  padding:1.15rem 1.2rem; border-radius:var(--r-sm);
  border-bottom:1px solid var(--line);
  transition:background var(--t-mid) var(--ease-out), padding-left var(--t-mid) var(--ease-out);
}
.sector:hover{ background:rgba(194,33,46,.07); padding-left:1.8rem; }
.sector__icon{
  width:40px; height:40px; flex:none; border-radius:11px; display:grid; place-items:center;
  background:rgba(194,33,46,.13); color:var(--red-bright);
  transition:background var(--t-mid), color var(--t-mid);
}
.sector:hover .sector__icon{ background:var(--red); color:#fff; }
.sector__title{ font-size:1rem; font-weight:600; }
.sector__text{ color:var(--steel); font-size:var(--fs-sm); margin-top:.15rem; }

/* ---------------------------------------------------------------
   16. Portfolyo
   --------------------------------------------------------------- */
.work{
  position:relative; display:block; overflow:hidden;
  border-radius:var(--r-lg); background:var(--surface);
  border:1px solid var(--line);
  transition:border-color var(--t-mid), transform var(--t-mid) var(--ease-out);
}
.work:hover{ border-color:rgba(194,33,46,.5); transform:translateY(-5px); }
.work__media{ aspect-ratio:16/11; overflow:hidden; position:relative; }
.work__media img{ width:100%; height:100%; object-fit:cover; transition:scale var(--t-slow) var(--ease-out); }
.work:hover .work__media img{ scale:1.07; }
.work__body{ padding:clamp(1.3rem,2vw,1.8rem); }
.work__meta{
  display:flex; flex-wrap:wrap; gap:.6rem; align-items:center;
  font-size:var(--fs-xs); color:var(--steel-dim); margin-bottom:.6rem;
}
.work__tag{
  padding:.25rem .7rem; border-radius:var(--r-full);
  background:rgba(194,33,46,.14); color:var(--red-bright); font-weight:600;
}
.work__title{ font-size:var(--fs-h4); font-weight:700; margin-bottom:.4rem; }
.work__client{ color:var(--steel); font-size:var(--fs-sm); }

/* --- Is ortagi karti: portfolyo kartiyla ayni kalip, gorsel yerine logo --- */
.work--partner{ display:flex; flex-direction:column; }
.work--partner .work__body{ display:flex; flex-direction:column; flex:1; }
.work__media--logo{
  display:grid; place-items:stretch;
  background:linear-gradient(160deg, rgba(243,244,246,.05), rgba(243,244,246,.015));
}
/* Logo koseden koseye kutuyu doldurur. Oran tutmayan gorsellerde tasan
   kisim kirpilir (.work__media zaten overflow:hidden). Boylece hangi
   formatta gorsel yuklenirse yuklensin kart bosluksuz durur. */
.work__media--logo img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  transition:transform var(--t-slow) var(--ease-out);
}
.work--partner:hover .work__media--logo img{ transform:scale(1.05); }
/* Logo yuklenmemisse markanin bas harfi — o da kutuyu bastan basa doldurur */
.partner-mark{
  display:grid; place-items:center; width:100%; height:100%;
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(3.4rem,8vw,5.6rem); letter-spacing:-.05em;
  color:var(--red-bright); opacity:.5;
  background:radial-gradient(120% 90% at 50% 45%, rgba(194,33,46,.20), transparent 70%);
  transition:opacity var(--t-mid);
}
.work--partner:hover .partner-mark{ opacity:.72; }
.work__link{ margin-top:auto; padding-top:1.1rem; font-size:var(--fs-sm); }

/* ---------------------------------------------------------------
   Cozum sayfasi: uygunluk ve teslimat bloklari
   --------------------------------------------------------------- */
.fit-block{ margin-top:clamp(2.5rem,5vw,3.5rem); }
.fit-block__head{ margin-bottom:1.4rem; }
.fit-grid{
  display:grid; gap:1px; background:var(--line);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;
}
.fit-col{ background:var(--surface); padding:clamp(1.3rem,2.2vw,1.7rem); }
.fit-col__label{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:var(--fs-xs); font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:1rem;
}
.fit-col--yes .fit-col__label{ color:var(--red-bright); }
.fit-col--no  .fit-col__label{ color:var(--steel-dim); }
.fit-list{ display:grid; gap:.7rem; list-style:none; padding:0; margin:0; }
.fit-list li{
  position:relative; padding-left:1.1rem;
  font-size:var(--fs-sm); color:var(--steel); line-height:1.55; text-wrap:pretty;
}
.fit-list li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.45;
}
.fit-col--yes .fit-list li{ color:var(--snow); }
.fit-block__note{
  margin-top:1rem; font-size:var(--fs-xs); color:var(--steel-dim); text-wrap:pretty;
}

.deliverables{ margin-top:clamp(2.5rem,5vw,3.5rem); }
.deliverables__head{ margin-bottom:1.4rem; }
.deliverables__list{ list-style:none; padding:0; margin:0; display:grid; gap:.2rem; }
.deliverables__list li{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; align-items:baseline;
  padding:.85rem 0; border-bottom:1px solid var(--line);
  font-size:var(--fs-sm); color:var(--steel); text-wrap:pretty;
}
.deliverables__list li:last-child{ border-bottom:0; }
.deliverables__num{
  font-family:var(--font-display); font-weight:700; font-size:.78rem;
  color:var(--red-bright); letter-spacing:.04em; opacity:.8;
}

/* Ana sayfadaki is ortagi seridi artik portfolyo ile ayni bileseni
   (.hscroll + .work) kullaniyor; ayri bir serit stiline gerek kalmadi. */

/* Logo serisi seffaf PNG degilse yine de duzgun dursun */
@media (prefers-reduced-motion: reduce){
  .work__media--logo img{ transition:none; }
}

/* Logo şeridi */
.logos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
.logo-cell{
  background:var(--ink); padding:clamp(1.8rem,3vw,2.6rem) 1.2rem;
  display:grid; place-items:center; gap:.9rem; text-align:center;
  transition:background var(--t-mid);
}
.logo-cell:hover{ background:var(--surface); }
.logo-cell img{ max-height:56px; width:auto; object-fit:contain; filter:grayscale(1) brightness(1.6); opacity:.75; transition:filter var(--t-mid), opacity var(--t-mid); }
.logo-cell:hover img{ filter:none; opacity:1; }
.logo-cell__name{ font-size:var(--fs-xs); color:var(--steel-dim); }

/* ---------------------------------------------------------------
   17. Yorumlar
   --------------------------------------------------------------- */
.quote-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-md); padding:clamp(1.8rem,2.6vw,2.4rem);
  display:flex; flex-direction:column; gap:1.4rem; height:100%;
  transition:border-color var(--t-mid), transform var(--t-mid) var(--ease-out);
}
.quote-card:hover{ border-color:rgba(194,33,46,.45); transform:translateY(-4px); }
.quote-card__mark{ color:var(--red); opacity:.8; }
.quote-card__text{ font-size:1.02rem; line-height:1.65; flex:1; }
.quote-card__person{ display:flex; align-items:center; gap:.9rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.avatar{
  width:46px; height:46px; border-radius:50%; flex:none; overflow:hidden;
  background:linear-gradient(140deg,var(--red-bright),var(--red-deep));
  display:grid; place-items:center;
  font-family:var(--font-display); font-weight:700; color:#fff;
}
.avatar img{ width:100%; height:100%; object-fit:cover; }
.quote-card__name{ font-weight:600; font-size:.95rem; }
.quote-card__role{ color:var(--steel-dim); font-size:var(--fs-xs); }
.stars{ display:flex; gap:2px; color:var(--red-bright); }

/* ---------------------------------------------------------------
   18. Blog
   --------------------------------------------------------------- */
.post-card{
  display:flex; flex-direction:column; height:100%;
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-md); overflow:hidden;
  transition:border-color var(--t-mid), transform var(--t-mid) var(--ease-out);
}
.post-card:hover{ border-color:rgba(194,33,46,.5); transform:translateY(-5px); }
.post-card__media{ aspect-ratio:16/10; overflow:hidden; }
.post-card__media img{ width:100%; height:100%; object-fit:cover; transition:scale var(--t-slow) var(--ease-out); }
.post-card:hover .post-card__media img{ scale:1.06; }
.post-card__body{ padding:clamp(1.3rem,2vw,1.7rem); display:flex; flex-direction:column; flex:1; gap:.8rem; }
.post-card__meta{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; font-size:var(--fs-xs); color:var(--steel-dim); }
.post-card__title{ font-size:var(--fs-h4); font-weight:700; line-height:1.25; }
.post-card__excerpt{ color:var(--steel); font-size:var(--fs-sm); flex:1; }

.chip-row{ display:flex; flex-wrap:wrap; gap:.6rem; }
.chip{
  padding:.55rem 1.2rem; border-radius:var(--r-full);
  border:1px solid var(--line-strong); font-size:var(--fs-sm); color:var(--steel);
  transition:all var(--t-fast);
}
.chip:hover{ border-color:var(--red); color:var(--snow); }
.chip.is-active{ background:var(--red); border-color:var(--red); color:#fff; }

/* Makale gövdesi */
.prose{ font-size:1.06rem; line-height:1.8; color:var(--steel); }
.prose > * + *{ margin-top:1.3rem; }
.prose h2{ font-size:var(--fs-h3); color:var(--snow); margin-top:2.8rem; }
.prose h3{ font-size:var(--fs-h4); color:var(--snow); margin-top:2.2rem; }
.prose strong{ color:var(--snow); }
.prose a{ color:var(--red-bright); text-decoration:underline; text-underline-offset:3px; }
.prose ul,.prose ol{ padding-left:1.3rem; }
.prose ul li{ list-style:disc; margin-bottom:.5rem; }
.prose ol li{ list-style:decimal; margin-bottom:.5rem; }
.prose blockquote{
  border-left:2px solid var(--red); padding:.4rem 0 .4rem 1.6rem;
  color:var(--snow); font-size:1.15rem; font-style:italic;
}
.prose img{ border-radius:var(--r-md); }
.prose code{ background:var(--surface-2); padding:.15em .45em; border-radius:5px; font-size:.9em; }

/* Özellik listesi (çözüm detay) */
.feature-list{ display:grid; gap:.8rem; }
.feature-list li{ display:flex; align-items:flex-start; gap:.8rem; color:var(--steel); }
.feature-list .icon{ color:var(--red-bright); flex:none; margin-top:.28rem; }

/* ---------------------------------------------------------------
   18b. Fiyat paketleri
   --------------------------------------------------------------- */
.pricing{
  display:grid; gap:clamp(1rem,2vw,1.5rem);
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  align-items:stretch;
}
.price-card{
  position:relative; display:flex; flex-direction:column;
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:clamp(1.8rem,2.6vw,2.4rem);
  transition:transform var(--t-mid) var(--ease-out), border-color var(--t-mid);
}
.price-card:hover{ transform:translateY(-5px); border-color:rgba(194,33,46,.45); }
.price-card--featured{
  border-color:var(--red);
  background:linear-gradient(170deg, rgba(194,33,46,.12), var(--surface) 55%);
  box-shadow:0 22px 60px -28px rgba(194,33,46,.7);
}
.price-card__badge{
  position:absolute; top:-11px; left:50%; translate:-50% 0;
  background:var(--red); color:#fff; font-size:.68rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  padding:.32rem .9rem; border-radius:var(--r-full); white-space:nowrap;
}
.price-card__name{ font-size:var(--fs-h4); font-weight:700; }
.price-card__summary{ color:var(--steel); font-size:var(--fs-sm); margin-top:.5rem; text-wrap:pretty; }
.price-card__pricing{ margin-top:1.4rem; }
.price-card__price{
  display:flex; align-items:flex-start; gap:.28rem;
  font-family:var(--font-display); font-weight:800; line-height:1;
}
.price-card__amount{ font-size:clamp(2.1rem,3.4vw,2.9rem); letter-spacing:-.03em; }
.price-card__amount--quote{ font-size:clamp(1.4rem,2vw,1.7rem); letter-spacing:-.01em; }
/* Para birimi rakamin ustune hizalanir; boylece asagi dusmus gibi durmaz. */
.price-card__currency{
  font-size:clamp(1.15rem,1.9vw,1.6rem); color:var(--red-bright);
  line-height:1; margin-top:.22em;
}
.price-card__period{ display:block; color:var(--steel-dim); font-size:var(--fs-xs); margin-top:.4rem; }
.price-card__features{ margin-top:1.6rem; padding-top:1.6rem; border-top:1px solid var(--line); flex:1; }
.price-card__features--empty{ border-top:0; padding-top:0; margin-top:0; }
.price-card__features li{ font-size:var(--fs-sm); }
.price-card__cta{ margin-top:1.8rem; justify-content:center; }
.pricing__note{
  text-align:center; margin-top:2rem; font-size:var(--fs-sm);
  color:var(--steel-dim); max-width:60ch; margin-inline:auto; text-wrap:pretty;
}

/* Kartlarin ic satirlarini birbirine kilitle: aciklama 1 satir da olsa
   2 satir da olsa fiyatlar, ozellik listeleri ve butonlar ayni hizada kalir.
   Subgrid desteklemeyen tarayicilarda yukaridaki flex duzeni gecerli olur. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 860px) {
    .pricing{ row-gap:0; }
    .price-card{
      display:grid;
      grid-template-rows:subgrid;
      grid-row:span 4;             /* head · pricing · features · cta */
    }
    .price-card__pricing{ margin-top:1.4rem; }
    .price-card__features{ margin-top:1.6rem; }
    .price-card__cta{ margin-top:1.8rem; align-self:end; }
  }
}

/* ---------------------------------------------------------------
   18c. SSS akordeonu
   --------------------------------------------------------------- */
.faq{ display:grid; gap:.7rem; max-width:900px; margin-inline:auto; }
.faq__item{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-md); overflow:hidden;
  transition:border-color var(--t-mid);
}
.faq__item[open]{ border-color:rgba(194,33,46,.45); }
.faq__item:hover{ border-color:var(--line-strong); }

.faq__q{
  display:flex; align-items:center; gap:1rem; cursor:pointer;
  padding:clamp(1.1rem,2vw,1.5rem) clamp(1.2rem,2.2vw,1.8rem);
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(1rem,1.5vw,1.12rem); letter-spacing:-.01em;
  list-style:none;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__num{ color:var(--red-bright); font-size:.78rem; letter-spacing:.1em; flex:none; }
.faq__text{ flex:1; }
.faq__icon{
  flex:none; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; color:var(--red-bright);
  background:rgba(194,33,46,.12);
  transition:transform var(--t-mid) var(--ease-out), background var(--t-mid);
}
.faq__item[open] .faq__icon{ transform:rotate(45deg); background:var(--red); color:#fff; }
.faq__a{
  padding:0 clamp(1.2rem,2.2vw,1.8rem) clamp(1.2rem,2.2vw,1.6rem);
  color:var(--steel); line-height:1.75;
}
.faq__a p + p{ margin-top:.9rem; }
.faq__item[open] .faq__a{ animation:faqIn .4s var(--ease-out); }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

.faq-group{ margin-bottom:clamp(2.5rem,5vw,4rem); }
.faq-group__title{
  font-size:var(--fs-h4); font-weight:700; margin-bottom:1.2rem;
  display:flex; align-items:center; gap:.7rem; max-width:900px; margin-inline:auto;
}
.faq-group__title::before{
  content:''; width:22px; height:2px; background:var(--red); flex:none;
}

/* ---------------------------------------------------------------
   18d. Arama
   --------------------------------------------------------------- */
.search-form{
  display:flex; align-items:center; gap:.7rem;
  max-width:640px; margin-top:2rem;
  background:var(--surface); border:1px solid var(--line-strong);
  border-radius:var(--r-full); padding:.5rem .5rem .5rem 1.2rem;
  transition:border-color var(--t-fast), box-shadow var(--t-fast);
}
.search-form:focus-within{ border-color:var(--red); box-shadow:0 0 0 4px rgba(194,33,46,.15); }
.search-form__icon{ color:var(--steel-dim); flex:none; display:grid; place-items:center; }
.search-form__input{
  flex:1; min-width:0; background:none; border:0; outline:none;
  color:var(--snow); font-size:1rem; padding:.6rem 0;
}
.search-form__input::placeholder{ color:var(--steel-dim); }
.search-form__input::-webkit-search-cancel-button{ filter:invert(.6); }

.search-results{ display:grid; gap:.6rem; }
.search-result{
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
  padding:clamp(1.1rem,2vw,1.5rem); border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--line);
  transition:border-color var(--t-mid), transform var(--t-mid) var(--ease-out);
}
.search-result:hover{ border-color:rgba(194,33,46,.45); transform:translateX(5px); }
.search-result__title{ font-size:1.05rem; font-weight:700; margin-bottom:.35rem; }
.search-result__text{ color:var(--steel); font-size:var(--fs-sm); }
.search-result__meta{ display:block; color:var(--steel-dim); font-size:var(--fs-xs); margin-top:.5rem; }
.search-result__arrow{ color:var(--red-bright); flex:none; transition:transform var(--t-fast) var(--ease-out); }
.search-result:hover .search-result__arrow{ transform:translate(3px,-3px); }

/* Basliktaki arama dugmesi */
.search-toggle{
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--line-strong); color:var(--steel);
  transition:all var(--t-fast) var(--ease-out);
}
.search-toggle:hover{ background:rgba(194,33,46,.12); border-color:var(--red); color:var(--snow); }

/* ---------------------------------------------------------------
   19. Sayfa başlığı (iç sayfalar)
   --------------------------------------------------------------- */
.page-head{
  position:relative;
  padding-top:calc(var(--header-h) + clamp(4rem,9vw,8rem));
  padding-bottom:clamp(2.5rem,5vw,4.5rem);
  overflow:hidden;
}
.page-head::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(60% 80% at 20% 0%, rgba(194,33,46,.26), transparent 62%),
    radial-gradient(50% 70% at 90% 20%, rgba(138,22,32,.20), transparent 60%);
}
.page-head__title{ font-size:var(--fs-h1); text-transform:uppercase; letter-spacing:-.04em; }
.page-head__lead{ max-width:58ch; margin-top:1.5rem; }

.breadcrumb{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; font-size:var(--fs-xs); color:var(--steel-dim); margin-bottom:1.4rem; }
.breadcrumb a:hover{ color:var(--red-bright); }
.breadcrumb__sep{ opacity:.5; }

/* ---------------------------------------------------------------
   20. CTA bandı
   --------------------------------------------------------------- */
.cta-band{
  position:relative; overflow:hidden;
  border-radius:var(--r-lg);
  padding:clamp(2.8rem,6vw,5.5rem) clamp(1.8rem,5vw,4.5rem);
  background:linear-gradient(135deg, var(--red-deep) 0%, var(--red) 55%, #6f101a 100%);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--sp-4);
}
.cta-band::before,
.cta-band::after{
  content:''; position:absolute; border-radius:50%;
  background:rgba(255,255,255,.10); filter:blur(6px);
}
.cta-band::before{ width:380px; height:380px; top:-180px; left:-90px; }
.cta-band::after{ width:300px; height:300px; bottom:-160px; right:-60px; }
.cta-band__content{ position:relative; max-width:60ch; }
.cta-band__title{ font-size:var(--fs-h2); color:#fff; }
.cta-band__text{ color:rgba(255,255,255,.86); margin-top:1rem; }
.cta-band .btn{ position:relative; }

/* ---------------------------------------------------------------
   21. Formlar
   --------------------------------------------------------------- */
.field{ display:block; margin-bottom:1.3rem; }
.field__label{ display:block; font-size:var(--fs-sm); color:var(--steel); margin-bottom:.55rem; font-weight:500; }
.field__req{ color:var(--red-bright); }
.input,
.textarea,
.select{
  width:100%; padding:1rem 1.2rem;
  background:var(--surface); color:var(--snow);
  border:1px solid var(--line-strong); border-radius:var(--r-sm);
  transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}
.input:focus,.textarea:focus,.select:focus{
  outline:none; border-color:var(--red);
  box-shadow:0 0 0 4px rgba(194,33,46,.16);
  background:var(--surface-2);
}
.input::placeholder,.textarea::placeholder{ color:var(--steel-dim); }
.textarea{ min-height:150px; resize:vertical; }
.select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b4b7bd' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1.1rem center; padding-right:2.8rem; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.field--error .input,.field--error .textarea{ border-color:var(--red-bright); }
.field__error{ color:#ff9aa2; font-size:var(--fs-xs); margin-top:.4rem; }

.alert{
  padding:1.1rem 1.4rem; border-radius:var(--r-sm);
  margin-bottom:1.6rem; font-size:var(--fs-sm);
  display:flex; gap:.8rem; align-items:flex-start;
}
.alert--ok{ background:rgba(45,160,90,.14); border:1px solid rgba(45,160,90,.4); color:#93e3b0; }
.alert--err{ background:rgba(194,33,46,.14); border:1px solid rgba(194,33,46,.42); color:#ffa0a8; }
.alert .icon{ flex:none; margin-top:.15rem; }

/* İletişim bilgi satırı */
.contact-row{
  display:flex; gap:1.1rem; align-items:flex-start;
  padding:1.2rem 0; border-bottom:1px solid var(--line);
}
.contact-row__icon{
  width:44px; height:44px; flex:none; border-radius:12px; display:grid; place-items:center;
  background:rgba(194,33,46,.13); color:var(--red-bright);
}
.contact-row__label{ font-size:var(--fs-xs); color:var(--steel-dim); text-transform:uppercase; letter-spacing:.1em; }
.contact-row__value{ font-size:1.02rem; margin-top:.15rem; }
.contact-row__value:hover{ color:var(--red-bright); }

.map-frame{ border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); aspect-ratio:16/10; }
.map-frame iframe{ width:100%; height:100%; border:0; filter:grayscale(.4) invert(.92) contrast(.85); }

/* ---------------------------------------------------------------
   22. Alt bilgi
   --------------------------------------------------------------- */
.footer{ background:var(--ink-2); border-top:1px solid var(--line); position:relative; z-index:2; }
.footer__top{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:clamp(2rem,4vw,3.5rem);
  padding-block:clamp(3.5rem,7vw,6rem);
}
.footer__brand-text{ color:var(--steel); font-size:var(--fs-sm); max-width:38ch; margin-top:1.2rem; }
.footer__col-title{
  font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.16em;
  color:var(--steel-dim); margin-bottom:1.3rem;
}
.footer__links{ display:grid; gap:.75rem; }
.footer__links a{ color:var(--steel); font-size:var(--fs-sm); width:fit-content; position:relative; }
.footer__links a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:var(--red-bright); transition:width var(--t-mid) var(--ease-out);
}
.footer__links a:hover{ color:var(--snow); }
.footer__links a:hover::after{ width:100%; }

.socials{ display:flex; gap:.6rem; margin-top:1.6rem; }
.socials a{
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--line-strong); color:var(--steel);
  transition:all var(--t-fast) var(--ease-out);
}
.socials a:hover{ background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-3px); }

.footer__bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.2rem; padding-block:1.6rem; border-top:1px solid var(--line);
}
.powered{
  font-size:.82rem; color:var(--steel-dim);
  display:inline-flex; align-items:center; gap:.4rem;
}
.powered strong{
  color:var(--snow); font-weight:700; letter-spacing:-.01em;
  position:relative;
}
.powered strong::after{
  content:''; position:absolute; left:0; bottom:-2px; width:100%; height:1px;
  background:var(--red); transform:scaleX(0); transform-origin:0 50%;
  transition:transform var(--t-mid) var(--ease-out);
}
.powered:hover strong::after{ transform:scaleX(1); }
.footer__legal{ display:flex; flex-wrap:wrap; gap:1.2rem; font-size:.82rem; color:var(--steel-dim); }
.footer__legal a:hover{ color:var(--steel); }

.panel-link{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.6rem 1.2rem; border-radius:var(--r-full);
  border:1px solid var(--line-strong); font-size:.8rem; font-weight:600; color:var(--steel);
  transition:all var(--t-fast) var(--ease-out);
}
.panel-link:hover{ background:rgba(194,33,46,.14); border-color:var(--red); color:var(--snow); }

/* ---------------------------------------------------------------
   22b. WhatsApp hızlı erişim
   --------------------------------------------------------------- */
.wa-float{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem);
  z-index:700; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:#25d366;
  box-shadow:0 10px 30px -8px rgba(37,211,102,.6);
  transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);
}
.wa-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 16px 38px -8px rgba(37,211,102,.75); }
.wa-float:active{ transform:scale(.95); }
@media print{ .wa-float{ display:none; } }

/* ---------------------------------------------------------------
   22c. Sizi arayalım
   --------------------------------------------------------------- */
.callback{ position:fixed; left:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:700; }
.callback__toggle{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 1.4rem; border-radius:var(--r-full);
  background:var(--surface); border:1px solid var(--line-strong); color:var(--snow);
  font-size:.88rem; font-weight:600;
  box-shadow:0 12px 34px -14px rgba(0,0,0,.8);
  transition:all var(--t-fast) var(--ease-out);
}
.callback__toggle:hover{ background:var(--red); border-color:var(--red); transform:translateY(-3px); }
.callback__toggle .icon{ color:var(--red-bright); }
.callback__toggle:hover .icon{ color:#fff; }

.callback__panel{
  position:absolute; bottom:calc(100% + .8rem); left:0;
  width:min(340px, calc(100vw - 2rem));
  background:var(--surface); border:1px solid var(--line-strong);
  border-radius:var(--r-lg); padding:1.6rem;
  box-shadow:0 30px 70px -24px rgba(0,0,0,.85);
  animation:cbIn .35s var(--ease-out);
}
@keyframes cbIn{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.callback__close{
  position:absolute; top:.9rem; right:.9rem; color:var(--steel-dim);
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  transition:background var(--t-fast), color var(--t-fast);
}
.callback__close:hover{ background:rgba(243,244,246,.08); color:var(--snow); }
.callback__heading{ font-size:1.1rem; font-weight:700; margin-bottom:.4rem; }
.callback__text{ color:var(--steel); font-size:var(--fs-sm); margin-bottom:1.2rem; }
.callback__panel .field{ margin-bottom:.9rem; }
.callback__panel .input{ padding:.75rem .9rem; font-size:.92rem; }
.callback__status{ font-size:var(--fs-xs); margin-top:.8rem; min-height:1.2em; }
.callback__status.is-ok{ color:#8fe3b4; }
.callback__status.is-err{ color:#ffa0a8; }
.btn--block{ width:100%; }

/* Form yardimci notu */
.field__note{
  display:block; font-size:var(--fs-xs); color:var(--steel-dim); margin-top:.45rem;
}

@media (max-width:640px){
  .callback__toggle span{ display:none; }
  .callback__toggle{ width:52px; height:52px; padding:0; justify-content:center; border-radius:50%; }
}
@media print{ .callback{ display:none; } }

/* ---------------------------------------------------------------
   23. Animasyon durumları
   --------------------------------------------------------------- */
/* GUVENLIK KURALI: Baslangic durumu yalnizca <html class="js"> varken uygulanir.
   JS calismazsa veya bir hata olursa icerik gizli kalmaz, oldugu gibi gorunur. */
/* will-change bilerek kullanılmıyor: sayfada 50+ animasyonlu öğe var,
   hepsini ayrı katmana almak düşük donanımlı telefonlarda bellek ve
   kompozisyon maliyeti yaratıyordu. Basit opacity/transform geçişleri
   zaten GPU'da çalışıyor. */
.js [data-anim]{ opacity:0; }
.js [data-anim="up"]{ transform:translateY(38px); }
.js [data-anim="down"]{ transform:translateY(-28px); }
.js [data-anim="left"]{ transform:translateX(-46px); }
.js [data-anim="right"]{ transform:translateX(46px); }
.js [data-anim="scale"]{ transform:scale(.94); }
.js [data-anim="fade"]{ transform:none; }
.js [data-anim="clip"]{ opacity:1; clip-path:inset(0 0 100% 0); }

/* DIKKAT: clip-path yalnizca "clip" animasyonuna verilir.
   Tum [data-anim] ogelerine verildiginde clip-path:inset(0) ogeyi kendi
   kenar kutusuna kirpiyor ve disari tasan her sey (ornegin fiyat kartinin
   ustundeki "En cok tercih edilen" rozeti) kesiliyordu. */
.js [data-anim].is-in{
  opacity:1; transform:none;
  transition:opacity .95s var(--ease-out), transform .95s var(--ease-out);
}
.js [data-anim="clip"].is-in{
  clip-path:inset(0 0 0 0);
  transition:opacity .95s var(--ease-out), clip-path 1.1s var(--ease-out);
}

/* Sıralı gecikme */
[data-stagger] > *{ transition-delay:calc(var(--i,0) * 90ms); }

/* Split-text hero */
.split-line{
  display:block;
  overflow:hidden;
  /* Türkçe Ş ve Ç'nin sedillası taban çizgisinin altına iner.
     overflow:hidden (açılma animasyonu için gerekli) bunları kesiyordu.
     Alta pay bırakıp aynı miktarda negatif margin ile düzeni koruyoruz. */
  padding-bottom:.18em;
  margin-bottom:-.18em;
}
.split-line > span{
  display:block;
  transform:translateY(105%);
  transition:transform 1.05s var(--ease-out);
}
.is-ready .split-line > span{ transform:translateY(0); }
.is-ready .split-line:nth-child(1) > span{ transition-delay:.06s; }
.is-ready .split-line:nth-child(2) > span{ transition-delay:.16s; }
.is-ready .split-line:nth-child(3) > span{ transition-delay:.26s; }

/* Sayfa giriş perdesi kaldırıldı — açılışı yavaşlatıyordu. */

@keyframes pulseMark{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(.9); opacity:.65; }
}

/* ---------------------------------------------------------------
   24. Duyarlılık
   --------------------------------------------------------------- */
@media (max-width: 1180px){
  .grid--4{ grid-template-columns:repeat(2,1fr); }
  .footer__top{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 980px){
  :root{ --header-h:72px; }
  .nav{ display:none; }
  .burger{ display:grid; }
  .header__actions .btn{ display:none; }
  .grid--3{ grid-template-columns:repeat(2,1fr); }
  .split,.split--reverse{ grid-template-columns:1fr; gap:2.5rem; }
  .split--media-first > .figure{ order:-1; }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2n){ border-right:0; }
  .stat:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .step{ grid-template-columns:auto 1fr; }
  .step__text{ grid-column:2; }
  .sticky-col{ position:static; }
}

@media (max-width: 640px){
  .grid--2,.grid--3,.grid--4{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; }

  /* Alt bilgi mobilde dagilmisti: telif metni ile yasal baglantilar
     ayni satirda kalip "KVKK" tek basina alta dusuyordu. Artik
     baglantilar yan yana ustte, telif metni altinda. */
  .footer__bottom{
    flex-direction:column; text-align:center; gap:1.3rem;
    /* Yuzen "Sizi arayalim" ve WhatsApp butonlari son satirin
       uzerine biniyordu; altta onlara yer birakiyoruz. */
    padding-bottom:calc(1.6rem + 72px);
  }
  .footer__legal{
    justify-content:center; gap:.5rem 1.1rem;
  }
  .footer__legal span{ flex-basis:100%; order:2; }
  .hero__bottom{ flex-direction:column; align-items:flex-start; }
  .hero__title .is-indent{ padding-left:0; }
  /* Mobilde asagi kaydigi icin yuzen "Sizi arayalim" butonunun altinda
     kaliyordu. Zaten masaustune ozgu bir yonlendirme; telefonda gizli. */
  .hero__scroll{ display:none; }
  .cta-band{ flex-direction:column; align-items:flex-start; }
  .section-index{ display:none; }
  .logos{ grid-template-columns:repeat(2,1fr); }

  /* Uygunluk tablosu: iki sutun 640px altinda sikisiyordu */
  .fit-grid{ grid-template-columns:1fr; }

  /* Kart seritleri ekranin neredeyse tamamini kaplasin */
  .hscroll__item{ flex-basis:min(82vw, 340px); }

  /* Fiyat kartlari tek sutuna dustugunde ust bosluk azalsin */
  .pricing{ gap:1rem; }

  /* Cagri bandindaki dekoratif daireler tasmasin */
  .cta-band::before{ width:240px; height:240px; top:-120px; left:-70px; }
  .cta-band::after{ width:200px; height:200px; bottom:-110px; right:-50px; }

  /* Alt bilgi baglantilarini dokunmak icin biraz genislet */
  .footer__links a{ padding-block:.25rem; }
}

/* --- Dar telefonlar --- */
@media (max-width: 400px){
  :root{ --gutter: 1.1rem; }
  .menu__link{ font-size:1.85rem; }
  .menu__list{ gap:.15rem; }
}

/* --- Alcak ekranlar (yatay telefon, kucuk cihaz) --- */
@media (max-height: 620px) and (max-width: 980px){
  .menu{ justify-content:flex-start; }
  .menu__link{ font-size:1.7rem; }
}

/* Dokunmatik cihazlarda özel imleci kapat */
@media (hover: none){
  .cursor{ display:none; }
}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-anim]{ opacity:1 !important; transform:none !important; clip-path:none !important; }
  .split-line > span{ transform:none !important; }
  .marquee__track{ animation:none; }
}

/* Son emniyet: JS gec kalir ya da gozlemci tetiklenmezse
   site.js icindeki zamanlayici bu sinifi ekler ve her sey acilir. */
.anim-off [data-anim]{
  opacity:1 !important; transform:none !important; clip-path:none !important;
}

/* Yazdırma */
@media print{
  .header,.footer,.cursor,.grain,.scroll-progress,.marquee{ display:none !important; }
  body{ background:#fff; color:#000; }
}

/* İsteğe bağlı alan işareti — zorunlu yıldızının sessiz karşılığı */
.field__opt{ color:var(--steel-dim); font-weight:400; font-size:.9em; }
