/* ====================================================================
   UFUK KOLEJİ — Frontend Stilleri
   Renk Paleti: #a2216b · #ffcb05 · Beyaz
   ==================================================================== */

:root{
  --navy:#8c1a5e;
  --navy-deep:#641249;
  --navy-soft:#b02d75;
  --navy-bright:#c4307e;
  --orange:#ffcb05;
  --orange-deep:#8a6d00;
  --gold:#ffcb05;
  --cream:#fdf8f3;
  --blush:#fdf0f7;
  --paper:#ffffff;
  --ink:#170e1a;
  --muted:#574157;
  --line:rgba(140,26,94,.12);
  /* Banner zemini — mobil panelde denenip beğenilen derin mor skala.
     Artık masaüstü banner'ı da aynı skalayı kullanıyor. */
  --banner-1:#1b0b2b;
  --banner-2:#120720;
  --banner-3:#0d0518;
  --shadow-sm:0 2px 12px rgba(140,26,94,.09);
  --shadow:0 18px 50px -20px rgba(140,26,94,.30);
  --shadow-lg:0 40px 90px -35px rgba(140,26,94,.42);
  --r:18px;
  --r-lg:28px;
  --container:1240px;
  --display:'Plus Jakarta Sans','Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --body:'Inter','Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--container);margin:0 auto;padding:0 28px}

/* ---------- TOP BAR ---------- */
.topbar{
  background:linear-gradient(90deg,var(--navy-deep),#4a0e38);
  color:#f9d0e8;
  font-size:.82rem;
  letter-spacing:.02em;
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:18px;height:42px}
.topbar a:hover{color:var(--orange)}
.topbar .tb-left{display:flex;align-items:center;gap:8px}
.topbar .tb-right{display:flex;gap:20px;align-items:center}
.topbar .tb-right a{display:inline-flex;align-items:center;gap:7px}
.topbar .tb-ic{display:inline-flex;align-items:center;color:var(--orange);flex-shrink:0}
.topbar .tb-ic svg{width:14px;height:14px;display:block}
.topbar .tb-tag{color:var(--gold);font-weight:600}
@media(max-width:760px){.topbar .tb-left{display:none}}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:90;
  background:rgba(253,248,243,.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:.3s;
}
.site-header.scrolled{box-shadow:var(--shadow-sm);background:rgba(255,255,255,.92)}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700}
.brand .mark{
  width:48px;height:48px;border-radius:14px;flex:none;
  background:linear-gradient(135deg,var(--navy-deep),var(--navy-bright));
  display:grid;place-items:center;color:#fff;font-size:1.5rem;
  box-shadow:0 8px 20px -8px rgba(140,26,94,.65);position:relative;overflow:hidden;
}
.brand .mark::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,var(--orange),transparent 60%);opacity:.55}
.brand .mark span{position:relative;z-index:2}
.brand b{font-size:1.28rem;color:var(--navy);line-height:1;letter-spacing:-.01em}
.brand small{display:block;font-family:var(--body);font-weight:500;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep);margin-top:3px}

/* Logo görselleri — header (beyaz) ve footer (mor zemin → beyaz pill içinde) */
.head-logo-img{height:62px;width:auto;display:block}
.foot-logo-img{
  height:72px;width:auto;display:block;
  background:#fff;padding:10px 16px;border-radius:14px;
  box-shadow:0 6px 18px -8px rgba(0,0,0,.45);
}

.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu>li{position:relative}
.menu>li>a{
  display:block;padding:12px 16px;font-weight:500;font-size:.95rem;color:var(--navy);
  border-radius:10px;transition:.2s;
}
.menu>li>a:hover{color:var(--navy-deep);background:rgba(140,26,94,.08)}
.menu .has-sub>a::after{content:"▾";margin-left:6px;font-size:.7rem;opacity:.6}
.submenu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:210px;
  background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:8px;
  list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;
  border:1px solid var(--line);
}
.menu .has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:11px 14px;border-radius:9px;font-size:.92rem;color:var(--ink);transition:.18s}
.submenu a:hover{background:var(--navy);color:#fff;padding-left:20px}

.nav-cta{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;
  padding:12px 22px;border-radius:50px;border:none;cursor:pointer;transition:.25s;white-space:nowrap;
}
.btn-primary{background:var(--orange);color:#1a0a1a;box-shadow:0 12px 28px -10px rgba(201,160,0,.5)}
.btn-primary:hover{background:var(--orange-deep);color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(201,160,0,.6)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{transform:translateY(-2px)}
/* Sınav kaydı CTA — kayıt kapatılınca bu buton hiç basılmaz */
.btn-gold{background:linear-gradient(135deg,#ffcb05,#ffb700);color:#530e36;border-color:#ffcb05;font-weight:800}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,203,5,.4)}
/* Menüdeki "Sınav Kaydı" linki ön kayıttan görsel olarak da ayrılsın */
.menu>li>a.nav-sinav{color:var(--navy);position:relative}
.menu>li>a.nav-sinav::before{content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#ffcb05;box-shadow:0 0 0 3px rgba(255,203,5,.28)}
.btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn-outline-light:hover{background:#fff;color:var(--navy)}
.btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:12px;min-width:48px;min-height:48px;align-items:center;justify-content:center;border-radius:10px}
.hamburger:hover{background:rgba(140,26,94,.08)}
.hamburger:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.mob-fg,.mob-cta{display:none}
.hamburger span{width:26px;height:2.5px;background:var(--navy);border-radius:2px;transition:.3s}
.hamburger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media(max-width:1080px){
  .menu{
    display:flex;flex-direction:column;
    position:fixed;top:0;left:0;right:0;bottom:0;
    height:auto;
    background:linear-gradient(175deg,#fff 0%,var(--blush) 100%);
    /* üst boşluk = topbar + header yüksekliği (logo/kapat butonunun altına insin) */
    padding:140px 20px 20px;
    gap:2px;align-items:stretch;
    z-index:89;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-12px);
    transition:opacity .32s ease,visibility .32s,transform .32s ease;
  }
  .nav-cta .btn-ghost,.nav-cta .btn-primary{display:none}
  .hamburger{display:flex}
  /* backdrop-filter, position:fixed alt öğeler için "containing block" üretir;
     mobilde kaldırıldı ki menü overlay'i tüm ekranı kaplasın. Yerine düz zemin. */
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fdf8f3}
  .site-header.scrolled{background:#fff}
  /* Menü overlay'i header'ın içindedir; logo ve kapatma butonu üstte kalmalı */
  .brand,.nav-cta{position:relative;z-index:95}
  /* Menü açıkken arka plan kaymasın */
  body.menu-acik{overflow:hidden}
  .head-logo-img{height:54px}
  .foot-logo-img{height:60px;padding:8px 12px}
  .menu.open{
    opacity:1;visibility:visible;transform:translateY(0);
  }
  .menu.open>li>a{padding:13px 16px;font-size:1.02rem}
  /* Accordion: alt menüler varsayılan kapalı */
  .menu.open .submenu{
    position:static;max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transform:none;box-shadow:none;border:none;
    border-left:2px solid var(--orange);border-radius:0;
    margin:0 0 0 14px;padding:0;
    transition:max-height .35s ease,opacity .28s,padding .2s;
  }
  /* Accordion: açık olan alt menü */
  .menu.open .has-sub.sub-open>.submenu{
    max-height:600px;opacity:1;visibility:visible;padding:4px 0;margin-bottom:6px;
  }
  /* Ok ikonu dönüşü */
  .menu.open .has-sub>a::after{display:inline-block;transition:transform .28s}
  .menu.open .has-sub.sub-open>a::after{transform:rotate(180deg)}
  /* Header'daki CTA butonları mobilde gizlendiği için menünün içinde yeniden sunulur.
     Böylece "Ön Kayıt", "Sınav Kaydı" ve "Veli Randevu" alt menüde kaybolmaz. */
  .mob-cta{
    display:flex!important;flex-direction:column;gap:10px;
    margin:18px 0 4px;padding:16px 14px;
    background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:18px;
    box-shadow:0 10px 28px -14px rgba(83,14,54,.35);
  }
  /* .menu.open>li>a kuralını geçmek için sınıf sayısı bilerek yüksek tutuldu */
  .menu .mob-cta .btn{width:100%;justify-content:center;padding:14px 18px;font-size:.98rem}
  .menu .mob-cta .btn-ghost{background:#fff}
  /* Hover'da zemin mor olmali: asagidaki kural olmadan .menu .mob-cta .btn-ghost
     (3 sinif) .btn-ghost:hover kuralindaki zemini eziyor, yazi beyaza donunce
     beyaz zemin uzerinde okunmaz hale geliyordu. */
  .menu .mob-cta .btn-ghost:hover,
  .menu .mob-cta .btn-ghost:focus-visible,
  .menu .mob-cta .btn-ghost:active{
    background:var(--navy);border-color:var(--navy);color:#fff;
  }
  .menu .mob-cta .btn-ghost:hover svg,
  .menu .mob-cta .btn-ghost:active svg{stroke:#fff;color:#fff}
  /* Sınav CTA'sı ön kayıtla aynı sarıda kalmasın — koyu zemin + altın yazı */
  .menu .mob-cta .btn-gold{
    background:var(--navy);color:#ffcb05;
    border:1.5px solid rgba(255,203,5,.55);box-shadow:0 10px 24px -12px rgba(83,14,54,.6);
  }
  /* Menüde tam genişlik blok olan "Sınav Kaydı" linkinde altın nokta,
     ortada asılı kalmasın diye metnin soluna alınır */
  .menu>li>a.nav-sinav{padding-left:30px}
  .menu>li>a.nav-sinav::before{left:14px;top:50%;transform:translateY(-50%)}
  .mob-cta-row{display:flex;gap:10px}
  .menu .mob-cta-row .btn{flex:1 1 0;min-width:0;padding:13px 10px;font-size:.9rem}
  .mob-cta-tel svg{width:16px;height:16px}

  /* Freelance Grafiker mobil link — ekranın en altında */
  .mob-fg{
    display:block!important;
    margin-top:auto!important;
    padding-top:16px;
    border-top:1px solid var(--line);
  }
  .mob-fg a{
    font-size:.78rem!important;color:var(--muted)!important;
    text-align:center;padding:10px 14px!important;
    display:block;border-radius:8px;background:rgba(140,26,94,.04);
  }
  .mob-fg a:hover{color:var(--navy)!important;background:rgba(140,26,94,.08)}
  .mob-fg b{color:var(--navy-soft)}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(55% 70% at 94% -10%,rgba(255,203,5,.26),transparent 55%),
    radial-gradient(45% 55% at -8% 115%,rgba(255,203,5,.18),transparent 55%),
    radial-gradient(75% 85% at 50% 130%,rgba(50,5,35,.55),transparent 65%),
    linear-gradient(155deg,var(--navy) 0%,var(--navy-deep) 55%,#3a0826 100%);
  color:#fff;padding:96px 0 100px;
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:26px 26px;mask-image:linear-gradient(to bottom,#000,transparent 75%);
}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  background:rgba(255,255,255,.08);padding:8px 16px;border-radius:50px;
  border:1px solid rgba(255,203,5,.28);margin-bottom:24px;
}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,203,5,.30)}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.06;letter-spacing:-.02em}
.hero h1 em{font-style:italic;color:var(--orange);position:relative}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:10px;background:rgba(255,203,5,.22);border-radius:4px;z-index:-1}
.hero p.lead{font-size:1.08rem;color:#f5d0ea;margin:22px 0 32px;max-width:480px;line-height:1.55}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ----- Hero illüstrasyon (animasyonlu öğrenci) ----- */
.hero-illust{
  position:relative;width:100%;max-width:480px;margin-left:auto;aspect-ratio:1/1.05;
}
.hero-student{position:relative;z-index:2;width:100%;height:100%;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.35));
}
.hero-student .es-student{width:100%;height:100%;display:block}

/* Hero gerçek fotoğraf */
.hero-photo{
  position:relative;z-index:2;width:100%;height:100%;
  border-radius:28px;overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,.45), 0 0 0 1px rgba(255,203,5,.18) inset;
  transform:rotate(-1.5deg);
  animation:heroPhotoFloat 6s ease-in-out infinite;
}
.hero-photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s ease;
}
.hero-photo:hover img{transform:scale(1.04)}
.hero-photo::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(160deg, rgba(83,14,54,0) 35%, rgba(83,14,54,.55) 100%);
  pointer-events:none;
}
.hero-photo-glow{
  position:absolute;inset:-18% -12% -12% -18%;z-index:-1;
  background:radial-gradient(closest-side,rgba(255,203,5,.35),rgba(255,203,5,0) 70%);
  filter:blur(30px);
  animation:heroPhotoGlow 5s ease-in-out infinite;
}
.hero-photo-badge{
  position:absolute;left:18px;bottom:18px;z-index:4;
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,#ffcb05,#ffb700);
  color:#530e36;padding:10px 16px;border-radius:14px;
  font-family:var(--display);
  box-shadow:0 10px 24px rgba(0,0,0,.32),0 0 0 3px rgba(255,255,255,.18) inset;
}
.hero-photo-badge .hpb-num{font-size:1.55rem;font-weight:700;line-height:1}
.hero-photo-badge .hpb-txt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.15}

@keyframes heroPhotoFloat{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(-.5deg) translateY(-10px)}}
@keyframes heroPhotoGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}
.hero-float{
  position:absolute;z-index:3;width:74px;height:74px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,203,5,.32);
  border-radius:22px;backdrop-filter:blur(10px);
  padding:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.hero-float .edu-svg{width:100%;height:100%}
.hero-float.f1{top:6%;left:-2%;animation:heroFloatA 4.2s ease-in-out infinite}
.hero-float.f2{top:14%;right:-4%;animation:heroFloatB 5.0s ease-in-out infinite .4s}
.hero-float.f3{bottom:14%;left:-6%;animation:heroFloatB 4.6s ease-in-out infinite .2s}
.hero-float.f4{bottom:4%;right:0%;animation:heroFloatA 5.4s ease-in-out infinite .6s}

@keyframes heroFloatA{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}
@keyframes heroFloatB{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-12px) rotate(-3deg)}}

/* Student SVG inner animations */
@keyframes esStuBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes esStuGlow{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
@keyframes esStuCap{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes esStuTassel{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(14deg)}}
@keyframes esStuSpark{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.es-student .es-stu-bob{animation:esStuBob 3.6s ease-in-out infinite;transform-origin:200px 240px}
.es-student .es-stu-glow{animation:esStuGlow 4s ease-in-out infinite;transform-origin:200px 240px;transform-box:fill-box}
.es-student .es-stu-cap{animation:esStuCap 4.8s ease-in-out infinite}
.es-student .es-stu-tassel{animation:esStuTassel 2.6s ease-in-out infinite}
.es-student .es-stu-spark{transform-origin:center;transform-box:fill-box;animation:esStuSpark 2.4s ease-in-out infinite}
.es-student .es-stu-spark.s1{animation-delay:.2s}
.es-student .es-stu-spark.s2{animation-delay:.8s}
.es-student .es-stu-spark.s3{animation-delay:1.2s}
.es-student .es-stu-spark.s4{animation-delay:.5s}

@media(max-width:980px){
  .hero .container{grid-template-columns:1fr;gap:40px}
  .hero-illust{max-width:380px;margin:0 auto}
  .hero p.lead{max-width:100%}
}
@media(max-width:560px){
  .hero{padding:72px 0 72px}
  .hero-float{width:58px;height:58px;padding:10px;border-radius:18px}
  .hero-illust{max-width:300px}
}

/* ---------- HERO STATS BAND ---------- */
.stats-band{
  background:linear-gradient(180deg,#fff 0%,#faf6ef 100%);
  border-bottom:1px solid var(--line);
  padding:0;
  position:relative;
  margin-top:-46px;z-index:3;
}
.stats-band .container{position:relative}
.stats-row{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;
  background:#fff;
  border-radius:var(--r-lg);
  box-shadow:0 18px 50px rgba(30,10,40,.10),0 2px 6px rgba(30,10,40,.04);
  border:1px solid var(--line);
  padding:22px 28px;gap:18px;
}
.stat-item{
  display:flex;align-items:center;gap:14px;padding:6px 4px;
  transition:.25s;
}
.stat-item:hover{transform:translateY(-2px)}
.stat-ic{
  flex:none;width:54px;height:54px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(255,203,5,.22),rgba(255,203,5,.08));
  border:1px solid rgba(255,203,5,.35);
  border-radius:16px;padding:8px;
}
.stat-ic .edu-svg{width:100%;height:100%}
.stat-body b{
  display:block;font-family:var(--display);font-weight:700;
  font-size:1.65rem;line-height:1;color:var(--navy-deep);letter-spacing:-.01em;
}
.stat-body span{
  display:block;margin-top:4px;font-size:.78rem;color:var(--muted);
  letter-spacing:.04em;text-transform:uppercase;font-weight:500;
}
.stat-divider{
  width:1px;height:48px;
  background:linear-gradient(180deg,transparent,var(--line) 30%,var(--line) 70%,transparent);
}

@media(max-width:980px){
  .stats-band{margin-top:-20px}
  .stats-row{grid-template-columns:1fr 1fr;gap:14px 24px;padding:22px}
  .stat-divider{display:none}
  .stat-item{padding:10px 4px;border-bottom:1px solid var(--line)}
  .stat-item:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:780px){
  .stats-band{margin-top:0;padding-top:16px}
}
/* Mobil: 4 satır yerine 2 + 2 kare — dikeyde yer kaplamasın.
   İkon üstte, rakam ortada, etiket altta; hücreler arası ince ayraçla ayrılır. */
@media(max-width:620px){
  .stats-band{padding-top:14px}
  /* Ayraçlar için grid boşluğu hilesi: 1px'lik gap, satırın zeminini gösterir */
  .stats-row{
    grid-template-columns:1fr 1fr;gap:1px;padding:0;overflow:hidden;
    background:var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(30,10,40,.10);
  }
  .stat-item{
    background:#fff;flex-direction:column;align-items:center;text-align:center;gap:8px;
    padding:16px 8px;border-bottom:0;
  }
  .stat-item:hover{transform:none}
  .stat-ic{width:42px;height:42px;border-radius:13px;padding:7px}
  .stat-body b{font-size:1.35rem}
  .stat-body span{font-size:.66rem;letter-spacing:.05em;margin-top:5px;line-height:1.3}
}
@media(max-width:380px){
  .stat-item{padding:14px 4px}
  .stat-body b{font-size:1.2rem}
  .stat-body span{font-size:.62rem}
}

/* ---------- SECTION GENERICS ---------- */
section{position:relative}
.section{padding:96px 0}
.section-head{max-width:640px;margin-bottom:54px}
.section-head.center{margin-inline:auto;text-align:center}
.eyebrow{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:14px;
}
.section-head h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;color:var(--navy);letter-spacing:-.015em}
.section-head p{color:var(--muted);font-size:1.05rem;margin-top:16px}

/* ---------- KADEMELER ---------- */
.kademe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.kademe-card{
  position:relative;border-radius:var(--r);overflow:hidden;min-height:300px;
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff;
  background:linear-gradient(145deg,var(--navy-soft),var(--navy-deep));
  box-shadow:var(--shadow);transition:.35s;isolation:isolate;
}
.kademe-card::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.9;transition:.4s;
  background:linear-gradient(180deg,transparent 30%,rgba(90,15,50,.92));
}
.kademe-card .badge{
  position:absolute;top:20px;left:24px;font-family:var(--display);font-size:3.6rem;
  font-weight:700;color:rgba(255,255,255,.15);line-height:.8;
}
.kademe-card h3{font-family:var(--display);font-size:1.95rem;line-height:1.15;margin-bottom:10px}
.kademe-card p{font-size:1rem;line-height:1.55;color:#f0cae0;margin-bottom:18px}
.kademe-card .more{font-size:.92rem;font-weight:600;color:var(--gold);display:inline-flex;gap:7px;align-items:center}
.kademe-card:hover{transform:translateY(-8px)}
.kademe-card:hover .more{gap:12px;color:var(--orange)}
.kademe-card:nth-child(2){background:linear-gradient(145deg,#5e18a8,#320d5e)}
.kademe-card:nth-child(3){background:linear-gradient(145deg,#c99200,#7d5900)}
.kademe-card:nth-child(4){background:linear-gradient(145deg,#6b1247,#3a0826)}
.kademe-card:nth-child(2) p{color:#d4b8f0}
.kademe-card:nth-child(2) .more{color:#e2d0ff}
.kademe-card:nth-child(3) p{color:#ffe4a0}
.kademe-card:nth-child(3) .more{color:#fff3c0}
@media(max-width:980px){
  .kademe-grid{grid-template-columns:1fr 1fr}
  .kademe-card h3{font-size:1.8rem}
}
@media(max-width:560px){
  .kademe-grid{grid-template-columns:1fr}
  /* Tek sutunda kart cok genisledigi icin yukseklik dusurulur,
     yoksa numara ile metin arasinda yeniden bos alan olusuyor. */
  .kademe-card{min-height:252px;padding:24px}
  .kademe-card .badge{font-size:3.2rem}
}

/* ---------- HAKKIMIZDA SPLIT ---------- */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-img{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background:linear-gradient(145deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-soft) 100%)}
.about-img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,203,5,.22),transparent 55%);pointer-events:none}
.about-img .badge-float{
  position:absolute;bottom:24px;left:24px;background:var(--orange);color:#1a0a1a;
  padding:18px 24px;border-radius:18px;box-shadow:var(--shadow),0 0 0 5px rgba(255,203,5,.25);
}
.about-img .badge-float b{font-family:var(--display);font-size:2.4rem;display:block;line-height:1}
.about-img .badge-float span{font-size:.82rem}
.about-text h2{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,3.2vw,2.7rem);color:var(--navy);line-height:1.1;letter-spacing:-.01em;margin-bottom:20px}
.about-text p{color:var(--muted);margin-bottom:16px}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.mv-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm)}
.mv-card .mv-num{font-family:var(--display);color:var(--orange-deep);font-size:1.3rem;font-weight:700}
.mv-card h4{color:var(--navy);font-size:1.05rem;margin:6px 0 8px}
.mv-card p{font-size:.86rem;margin:0}
/* Hakkimizda sayfasindaki genis varyant — inline stil yerine sinif kullanilir ki
   asagidaki mobil kurali ezilmesin. */
.mv-grid-lg{gap:26px}
.mv-grid-lg .mv-card{padding:36px}
.mv-grid-lg .mv-num{font-size:2rem}
.mv-grid-lg h4{font-size:1.4rem;font-family:var(--display)}
@media(max-width:880px){.about-split{grid-template-columns:1fr;gap:40px}}
/* Mobilde iki kart yan yana sikisiyordu — alt alta alinir. */
@media(max-width:700px){
  .mv-grid{grid-template-columns:1fr;gap:14px}
  .mv-grid-lg{gap:18px}
  .mv-grid-lg .mv-card{padding:24px}
  .mv-grid-lg .mv-num{font-size:1.6rem}
  .mv-grid-lg h4{font-size:1.2rem}
}

/* ---------- HABERLER ---------- */
.haber-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.haber-card{
  background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);transition:.3s;display:flex;flex-direction:column;
}
.haber-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--navy)}
.haber-thumb{aspect-ratio:16/11;overflow:hidden;background:linear-gradient(135deg,var(--navy-soft),var(--navy));position:relative}
.haber-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.haber-card:hover .haber-thumb img{transform:scale(1.06)}
.haber-thumb .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.35);font-family:var(--display);font-size:2.4rem}
.haber-body{padding:24px;display:flex;flex-direction:column;flex:1}
.haber-cat{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:12px}
.haber-cat::before{content:"";width:18px;height:2px;background:linear-gradient(90deg,var(--orange),var(--navy-soft))}
.haber-body h3{font-family:var(--display);font-size:1.22rem;color:var(--navy);line-height:1.25;margin-bottom:10px}
.haber-body p{font-size:.9rem;color:var(--muted);flex:1}
.haber-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.haber-meta .read{color:var(--navy);font-weight:600;display:inline-flex;gap:6px;align-items:center;transition:.2s}
.haber-card:hover .read{gap:10px;color:var(--orange-deep)}
@media(max-width:980px){.haber-grid{grid-template-columns:1fr 1fr}.haber-grid .haber-card:first-child{grid-column:1/-1}}
@media(max-width:620px){.haber-grid{grid-template-columns:1fr}.haber-grid .haber-card:first-child{grid-column:auto}}

/* ---------- ETKİNLİK ALANLARI ---------- */
.faaliyet{background:linear-gradient(155deg,var(--navy-deep) 0%,var(--navy) 55%,#530e36 100%);color:#fff;position:relative;overflow:hidden}
.faaliyet::before{content:"";position:absolute;inset:0;opacity:.35;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px}
.faaliyet::after{content:"";position:absolute;top:-25%;right:-8%;width:480px;height:480px;border-radius:50%;background:rgba(255,203,5,.10);filter:blur(70px);pointer-events:none}
.faaliyet .section-head h2{color:#fff}
.faaliyet .section-head p{color:#f0cae0}
.alan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;position:relative}
.alan-chip{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:22px 18px;text-align:center;transition:.3s;
  display:flex;flex-direction:column;align-items:center;
}
.alan-chip:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-5px)}
.alan-chip .ic{width:46px;height:46px;margin:0 auto 12px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:var(--gold)}
.alan-chip:hover .ic{background:rgba(30,10,10,.15);color:#1a0a1a}
.alan-chip b{font-size:.95rem;font-weight:700;color:#fff;display:block}
.alan-chip:hover b{color:#1a0a1a}
.alan-chip .alan-desc{
  font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.78);
  margin:10px 0 0;text-align:center;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  transition:color .3s;
}
.alan-chip:hover .alan-desc{color:rgba(26,10,26,.85)}
@media (max-width:640px){
  .alan-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
  .alan-chip{padding:18px 14px}
  .alan-chip .alan-desc{font-size:.72rem;-webkit-line-clamp:3}
}

/* ---------- CTA ---------- */
.cta-band{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 45%,#530e36 100%);
  border-radius:var(--r-lg);padding:64px 48px;position:relative;overflow:hidden;color:#fff;
  text-align:center;box-shadow:var(--shadow-lg);
}
.cta-band > *{position:relative;z-index:2}
.cta-band::before{content:"";position:absolute;bottom:-80%;left:-8%;width:380px;height:380px;border-radius:50%;background:rgba(255,203,5,.14);filter:blur(55px);pointer-events:none;z-index:1}
.cta-band::after{content:"";position:absolute;top:-40%;right:-10%;width:380px;height:380px;border-radius:50%;background:rgba(255,203,5,.10);filter:blur(30px);z-index:1}
.cta-band h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;max-width:760px;margin:0 auto}
.cta-band p{margin:14px auto 0;color:rgba(255,255,255,.92);max-width:620px}
.cta-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 32px;margin-top:30px}
.cta-actions .btn{min-width:260px;justify-content:center}
.cta-tel{color:inherit;text-decoration:none;text-align:center;display:inline-block}
.cta-tel-label{font-size:.74rem;letter-spacing:.6px;text-transform:uppercase;opacity:.78;display:block;margin-bottom:2px}
.cta-phone{font-family:var(--display);font-size:1.55rem;font-weight:700;letter-spacing:.4px}
@media(max-width:780px){.cta-band{padding:44px 22px}.cta-actions .btn{min-width:0;width:100%}}

/* ---------- MAP ---------- */
.map-wrap{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff}
.map-wrap iframe{filter:saturate(.95)}

/* ---------- FOOTER ---------- */
.site-footer{background:linear-gradient(180deg,var(--navy-deep) 0%,#3a0826 100%);color:#e8c0da;padding:72px 0 0}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:50px}
.foot-brand .brand b{color:#fff}
.foot-brand p{font-size:.9rem;margin-top:18px;max-width:300px}
.foot-social{display:flex;gap:10px;margin-top:22px}
.foot-social a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#f9d0e8;transition:.25s}
.foot-social a:hover{background:var(--orange);color:#1a0a1a;transform:translateY(-3px)}
.foot-col h4{color:#fff;font-size:1rem;margin-bottom:20px;font-family:var(--display)}
.foot-col ul{list-style:none}
.foot-col ul li{margin-bottom:11px}
.foot-col ul a{font-size:.9rem;transition:.2s}
.foot-col ul a:hover{color:var(--orange);padding-left:5px}
.foot-contact li{display:flex;gap:12px;font-size:.9rem;margin-bottom:14px;align-items:flex-start}
.foot-contact .ic{color:var(--orange);flex:none;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}
.foot-contact .ic svg{width:18px;height:18px;display:block}
/* İletişim sayfası — kurumsal kart listesi */
.contact-list li{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start}
.contact-list li:last-child{margin-bottom:0}
.contact-list .ci{flex:none;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(140,26,94,.08);color:var(--navy);transition:.2s}
.contact-list li:hover .ci{background:var(--navy);color:#fff}
.contact-list .ci svg{width:20px;height:20px;display:block}
.contact-list strong{display:block;margin-bottom:3px;font-size:.92rem}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.foot-bottom a{color:var(--gold)}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
/* Mobilde "Kurumsal" ve "Kademeler" yan yana kalir — ikisi de kisa listeler
   oldugu icin alan fazlasiyla yetiyor, boylece footer gereksiz uzamiyor.
   Marka blogu ve uzun satirli Iletisim sutunu tam genislikte durur. */
@media(max-width:520px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px 18px}
  .foot-brand,.foot-grid>div:last-child{grid-column:1 / -1}
  .foot-col h4{margin-bottom:14px}
  .foot-col ul li{margin-bottom:9px}
}

/* ---------- PAGE HERO (iç sayfa) — mor → sarı gradient + dekoratif SVG ---------- */
.page-hero{
  background:
    radial-gradient(45% 90% at 88% 18%,rgba(255,211,0,.32),transparent 60%),
    radial-gradient(35% 70% at 10% 100%,rgba(255,203,5,.18),transparent 60%),
    linear-gradient(125deg,#3d0826 0%,#7b0761 38%,#a82270 62%,#d99300 92%,#ffd300 100%);
  color:#fff;padding:48px 0 42px;position:relative;overflow:hidden;
}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.32;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,#000,transparent);pointer-events:none}
.page-hero::after{
  content:"";position:absolute;top:-40%;right:-10%;width:680px;height:680px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,211,0,.18) 0%,transparent 65%);
  pointer-events:none;animation:phHaloPulse 9s ease-in-out infinite;
}
@keyframes phHaloPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}
.page-hero .container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-hero .ph-text{flex:1;min-width:0}
.page-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,3vw,2.4rem);position:relative;letter-spacing:-.01em;text-shadow:0 4px 24px rgba(40,7,30,.35);line-height:1.1}
.page-hero .ph-deco{width:160px;height:160px;flex:0 0 auto;position:relative;opacity:.92;filter:drop-shadow(0 14px 28px rgba(40,7,30,.35))}
.page-hero .ph-deco svg{width:100%;height:100%}
@media (max-width:780px){.page-hero{padding:34px 0 28px}.page-hero .ph-deco{display:none}}
.breadcrumb{display:flex;gap:10px;align-items:center;font-size:.86rem;color:#fff3cf;position:relative;margin-top:10px}
.breadcrumb a{color:#ffe6f4}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb span{opacity:.5}

/* ---------- İÇERİK / ARTICLE ---------- */
.article{max-width:820px;margin:0 auto}
.article-thumb{border-radius:var(--r-lg);overflow:hidden;margin-bottom:36px;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--navy-soft),var(--navy))}
.article-meta{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:.88rem;margin-bottom:18px}
.article h1.t{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--navy);line-height:1.12;margin-bottom:20px}
.article-content{font-size:1.06rem;color:#33404f}
.article-content p{margin-bottom:18px}
.article-content ul,.article-content ol{margin:0 0 18px 22px}
.article-content li{margin-bottom:8px}
.article-content strong{color:var(--navy)}
.article-content img{max-width:100%;height:auto;border-radius:10px;margin:14px 0}
.article-content a{color:var(--brand);text-decoration:underline}
.article-content blockquote{border-left:4px solid var(--brand);padding:6px 16px;margin:14px 0;color:#3a4252;font-style:italic;background:#faf6fb}

/* Quill rich-text — kart/inline kullanımlar için */
.rich-text p{margin:0 0 .8em 0}
.rich-text p:last-child{margin-bottom:0}
.rich-text ul,.rich-text ol{margin:0 0 .8em 22px}
.rich-text li{margin-bottom:4px}
.rich-text strong{color:inherit}
.rich-text a{color:var(--brand);text-decoration:underline}
.rich-text img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}
.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4{margin:.6em 0 .35em;font-family:var(--display);color:var(--navy)}
.rich-text blockquote{border-left:3px solid var(--brand);padding:4px 12px;margin:8px 0;color:#3a4252;font-style:italic;background:#faf6fb}

/* ---------- FORM ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:600;color:var(--navy)}
.field input,.field select,.field textarea{
  font-family:var(--body);font-size:.95rem;padding:13px 16px;border:1.5px solid var(--line);
  border-radius:12px;background:var(--cream);transition:.2s;color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px rgba(140,26,94,.10)}
.field input:invalid:not(:placeholder-shown):not(:focus),.field textarea:invalid:not(:placeholder-shown):not(:focus){border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.08)}
.field input:valid:not(:placeholder-shown),.field textarea:valid:not(:placeholder-shown){border-color:rgba(46,160,67,.4)}
.field textarea{resize:vertical;min-height:120px}
.alert{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:.92rem}
.alert-success{background:rgba(46,160,67,.12);color:#1a7431;border:1px solid rgba(46,160,67,.3)}
.alert-error{background:rgba(220,38,38,.1);color:#b91c1c;border:1px solid rgba(220,38,38,.3)}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}

/* ---------- WHATSAPP FLOAT ---------- */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:80;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(37,211,102,.6);transition:.3s;color:#fff;border:none;cursor:pointer;padding:0}
.wa-float:hover{transform:scale(1.08)}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
.wa-float svg{width:32px;height:32px}

/* ---------- WHATSAPP İLETİŞİM MODALI ---------- */
.wa-modal{position:fixed;inset:0;z-index:1000;background:rgba(15,8,20,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:waFadeIn .25s ease}
.wa-modal[hidden]{display:none}
@keyframes waFadeIn{from{opacity:0}to{opacity:1}}
.wa-modal-inner{position:relative;background:#fff;border-radius:20px;width:min(460px,100%);max-height:92vh;overflow-y:auto;padding:28px 26px 24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);animation:waSlideUp .35s cubic-bezier(.16,1,.3,1)}
@keyframes waSlideUp{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
.wa-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:none;background:transparent;font-size:1.8rem;line-height:1;color:#888;cursor:pointer;border-radius:50%;transition:.2s}
.wa-close:hover{background:#f4f0f7;color:#000}
.wa-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;padding-right:32px}
.wa-head .wa-ic{flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(37,211,102,.5)}
.wa-head h3{font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--navy,#0a2540);margin:0 0 4px;line-height:1.2}
.wa-head p{font-size:.88rem;color:#666;margin:0;line-height:1.4}
.wa-field{margin-bottom:14px}
.wa-field label{display:block;font-size:.85rem;font-weight:600;color:#333;margin-bottom:6px}
.wa-field input,.wa-field textarea{width:100%;padding:11px 13px;border:1.5px solid #e5e0ec;border-radius:10px;font-size:.95rem;font-family:inherit;transition:.2s;background:#fff;box-sizing:border-box}
.wa-field input:focus,.wa-field textarea:focus{outline:none;border-color:#25d366;box-shadow:0 0 0 3px rgba(37,211,102,.15)}
.wa-field textarea{resize:vertical;min-height:96px}
.wa-feedback{font-size:.85rem;margin:8px 0 2px;min-height:1.1em;font-weight:500}
.wa-feedback.ok{color:#0d7c3f}
.wa-feedback.err{color:#c0292c}
.wa-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;background:#25d366;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:6px;transition:.2s;box-shadow:0 10px 22px -8px rgba(37,211,102,.5)}
.wa-submit:hover:not(:disabled){background:#1ebe57;transform:translateY(-1px)}
.wa-submit:disabled{opacity:.7;cursor:wait}
.wa-submit.loading{position:relative;color:transparent}
.wa-submit.loading::after{content:'';position:absolute;width:20px;height:20px;border:2.5px solid #fff;border-right-color:transparent;border-radius:50%;animation:waSpin .7s linear infinite}
@keyframes waSpin{to{transform:rotate(360deg)}}
.wa-note{font-size:.78rem;color:#999;text-align:center;margin:10px 0 0;line-height:1.4}
@media (max-width:480px){
  .wa-modal{padding:12px}
  .wa-modal-inner{padding:22px 18px 18px;border-radius:16px}
  .wa-head h3{font-size:1.18rem}
  .wa-head .wa-ic{flex-basis:46px;width:46px;height:46px}
}

/* ---------- HOME SLIDER (responsive, dengeli) ---------- */
.home-slider{position:relative;width:100%;min-height:clamp(460px,60vh,620px);overflow:hidden;isolation:isolate;
  background:linear-gradient(165deg,var(--banner-1) 0%,var(--banner-2) 58%,var(--banner-3) 100%)}
.home-slider .slides{position:absolute;inset:0}
/* Slaytlar üst üste yığılır (grid 1/1) — böylece kap her zaman en uzun slaytın
   yüksekliğinde kalır, slayt değişince zıplama/boşluk oluşmaz. */
.home-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease,visibility .9s;display:flex;align-items:center;color:var(--slide-text,#fff);pointer-events:none;visibility:hidden}
.home-slider .slide.active{opacity:1;z-index:2;pointer-events:auto;visibility:visible}
/* Marka ışıkları: düz arka renk üzerinde yumuşak magenta + altın hüzme.
   Fotoğraflı/videolu slaytlarda zaten derinlik var, orada uygulanmaz. */
.home-slider .slide:not(.has-img):not(.has-video)::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(62% 72% at 10% 106%, rgba(196,48,126,.42) 0%, rgba(196,48,126,0) 70%),
    radial-gradient(46% 58% at 94% -10%, rgba(255,203,5,.18) 0%, rgba(255,203,5,0) 70%);
}
.home-slider .slide-img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:1;transform:scale(1.02);transition:transform 8s ease}
.home-slider .slide.active .slide-img{transform:scale(1.08)}
.home-slider .slide-video{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;background:#000}
.home-slider .slide-video iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%, calc(100vh * 16/9));height:max(100%, calc(100vw * 9/16));border:0;pointer-events:none}
.home-slider .slide.has-video .slide-img{opacity:0!important}
@media (max-width:780px){
  .home-slider .slide.has-video .slide-video{display:none} /* mobilde veri tasarrufu için gizle, fotoğraf öne çıksın */
  .home-slider .slide.has-video .slide-img{opacity:1!important}
}
.home-slider .slide-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}
.home-slider .slide-container{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;padding:64px 0}
.home-slider .slide.h-orta .slide-container{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.home-slider .slide.h-sag .slide-container{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.home-slider .slide.h-sag .slide-text{order:2;align-items:flex-end;text-align:right;margin-left:auto}
.home-slider .slide.h-sag .slide-hero-svg{order:1;justify-self:start}
.home-slider .slide-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;max-width:600px;transform:translateY(14px);opacity:0;transition:opacity .8s ease .15s, transform .8s ease .15s}
.home-slider .slide.active .slide-text{opacity:1;transform:translateY(0)}
.home-slider .slide.h-orta .slide-text{align-items:center;text-align:center}
.home-slider .slide-text .slide-eyebrow{display:inline-block;background:var(--eb-bg,rgba(255,255,255,.15));color:var(--eb-fg,#fff);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 16px;border-radius:99px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px}
.home-slider .slide-text h1,
.home-slider .slide-text h2{color:var(--slide-text,#fff);font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.15;margin:0 0 16px;text-shadow:0 2px 18px rgba(0,0,0,.35);letter-spacing:-.02em}
.home-slider .slide.t-uzun .slide-text h1,
.home-slider .slide.t-uzun .slide-text h2{font-size:clamp(1.5rem,2.5vw,2.15rem)}
.home-slider .slide-text .slide-desc{color:var(--slide-text,#fff);font-size:clamp(.98rem,1.15vw,1.1rem);line-height:1.6;margin:0 0 24px;max-width:540px;opacity:.94;text-shadow:0 1px 6px rgba(0,0,0,.28)}
.home-slider .slide-btn{background:var(--btn-bg,#ffd300);color:var(--btn-fg,#170e1a);border:none;padding:14px 30px;border-radius:99px;font-weight:700;font-size:.95rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;box-shadow:0 6px 18px rgba(0,0,0,.22)}
.home-slider .slide-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.28);filter:brightness(1.06)}
.home-slider .slide-hero-svg{position:relative;width:100%;max-width:420px;justify-self:end;aspect-ratio:1/1;opacity:0;transform:translateY(20px) scale(.94);transition:opacity 1s ease .3s, transform 1s ease .3s}
.home-slider .slide-hero-svg svg{width:100%;height:100%;filter:drop-shadow(0 22px 40px rgba(0,0,0,.35))}
.home-slider .slide.active .slide-hero-svg{opacity:1;transform:translateY(0) scale(1)}

/* ---- Masaüstü görsel kartı ----
   Sorun: aynı fotoğraf hem tam ekran arka planda hem sağdaki kartta net duruyordu;
   iki kopya birbiriyle yarışıp dağınık görünüyordu.
   Çözüm: arka plandaki kopya yumuşatılıp karartılır (ambiyans olur), kart tek net
   odak noktası hâline gelir. Kart >=981px'te görünür — mobil/tablet düzeni aynı. */
.home-slider .slide-card{
  position:relative;width:100%;max-width:400px;aspect-ratio:1/1;justify-self:end;
  opacity:0;transform:translateY(24px) scale(.96);
  transition:opacity .9s cubic-bezier(.16,1,.3,1) .25s, transform .9s cubic-bezier(.16,1,.3,1) .25s;
}
/* Kartın arkasında hafif kaydırılmış altın çerçeve — derinlik verir */
.home-slider .slide-card::before{
  content:"";position:absolute;z-index:0;inset:0;
  transform:translate(12px,12px);
  border:1.5px solid rgba(255,211,0,.45);border-radius:28px;
  transition:transform .9s cubic-bezier(.16,1,.3,1) .35s;
}
/* Yumuşak marka ışığı */
.home-slider .slide-card::after{
  content:"";position:absolute;z-index:0;inset:6% -8% -12% 6%;
  background:radial-gradient(60% 60% at 50% 50%, rgba(196,48,126,.55) 0%, rgba(196,48,126,0) 72%);
  filter:blur(28px);opacity:.9;pointer-events:none;
}
.home-slider .slide-card img{
  position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 34px 70px -22px rgba(0,0,0,.68), 0 6px 20px -8px rgba(0,0,0,.4);
}
.home-slider .slide.active .slide-card{opacity:1;transform:translateY(0) scale(1)}
.home-slider .slide.active .slide-card::before{transform:translate(16px,16px)}
/* Sağa hizalı slaytta kart sola geçer, çerçeve de ters yöne kayar */
.home-slider .slide.h-sag .slide-card{order:1;justify-self:start}
.home-slider .slide.h-sag .slide-card::before{transform:translate(-12px,12px)}
.home-slider .slide.h-sag.active .slide-card::before{transform:translate(-16px,16px)}
.home-slider .slide.h-sag .slide-card::after{inset:6% 6% -12% -8%}
/* Ortalı hizalamada tek sütun var — kart metnin altına düşmesin diye gizlenir */
.home-slider .slide.h-orta .slide-card{display:none}

/* Kart varken arka plan kopyası geri plana çekilir: hafif bulanık + karartma.
   Yalnızca masaüstünde; mobilde kart zaten yok, fotoğraf tam ekran kalır. */
@media (min-width:981px){
  .home-slider .slide.has-img:not(.h-orta):not(.has-video) .slide-img{
    filter:blur(7px) saturate(1.08) brightness(.72);
    transform:scale(1.14);
  }
  .home-slider .slide.has-img:not(.h-orta):not(.has-video).active .slide-img{transform:scale(1.2)}
  /* Metin tarafını okunur tutan yumuşak geçiş */
  .home-slider .slide.has-img:not(.h-orta):not(.has-video) .slide-overlay::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(100deg, rgba(23,14,26,.55) 0%, rgba(23,14,26,.22) 46%, rgba(23,14,26,0) 72%);
  }
  .home-slider .slide.h-sag.has-img:not(.has-video) .slide-overlay::after{
    background:linear-gradient(260deg, rgba(23,14,26,.55) 0%, rgba(23,14,26,.22) 46%, rgba(23,14,26,0) 72%);
  }
  .home-slider .slide-container{gap:56px}
  /* Kart 400px kare; banner biraz yukselince ust/alt nefes payi dengeli olur */
  .home-slider{min-height:clamp(540px,66vh,680px)}
}

/* Kumanda sarmalayıcısı: masaüstünde kutu üretmez, çocuklar slider'a göre konumlanır */
.home-slider .slide-ctrl{display:contents}
.home-slider .slide-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s, transform .2s, border-color .2s}
.home-slider .slide-nav:hover{background:rgba(255,255,255,.34);border-color:rgba(255,255,255,.45)}
.home-slider .slide-nav:focus-visible{outline:2px solid #ffd300;outline-offset:3px}
.home-slider .slide-nav.prev{left:24px}
.home-slider .slide-nav.next{right:24px}
/* bottom değeri .stats-band'in negatif margin'i (-46px) kadar yukarıda tutulur;
   aksi hâlde istatistik kartı noktaların üstüne binip tıklanamaz hâle getiriyordu. */
.home-slider .slide-dots{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:10px;padding:8px 14px;background:rgba(0,0,0,.28);border-radius:99px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.home-slider .slide-dots .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);border:none;cursor:pointer;transition:.25s;padding:0}
.home-slider .slide-dots .dot:hover{background:rgba(255,255,255,.75)}
.home-slider .slide-dots .dot.active{background:#fff;width:26px;border-radius:5px}

/* Otomatik geçiş duraklat/başlat — çevresindeki halka kalan süreyi gösterir */
.home-slider .slide-play{
  position:absolute;bottom:64px;right:24px;z-index:4;
  width:40px;height:40px;border-radius:50%;cursor:pointer;color:#fff;
  background:rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:grid;place-items:center;transition:background .2s,border-color .2s;
}
.home-slider .slide-play:hover{background:rgba(0,0,0,.5);border-color:rgba(255,255,255,.45)}
.home-slider .slide-play:focus-visible{outline:2px solid #ffd300;outline-offset:3px}
.home-slider .slide-play .sp-pause{width:9px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.home-slider .slide-play.is-paused .sp-pause{
  width:0;height:0;border:none;margin-left:3px;
  border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;
}
.home-slider .slide-play .sp-ring{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg);pointer-events:none}
.home-slider .slide-play .sp-ring circle{fill:none;stroke:#ffcb05;stroke-width:2;stroke-linecap:round;stroke-dasharray:100.5;stroke-dashoffset:100.5}
@keyframes spProgress{from{stroke-dashoffset:100.5}to{stroke-dashoffset:0}}
.home-slider.is-playing .slide-play.tick .sp-ring circle{animation:spProgress 6.5s linear forwards}

/* Dar masaüstlerinde ok düğmeleri içerik kolonunun üstüne taşıyor;
   illüstrasyonu biraz içeri alarak çakışmayı önlüyoruz. */
/* Ok düğmeleri için ayrılmış oluk.
   Oklar slider'ın kenarına (24px) yapışık duruyor ve 48px genişler; yani sağda
   ve solda 72px'lik bir bant kaplarlar. Metin kolonu .container ile hizalandığı
   için dar masaüstlerinde bu bandın altına giriyordu.
   Çözüm: slide-container'a 88px yan iç boşluk verilir, max-width de aynı miktar
   büyütülür — böylece geniş ekranda metin genişliği/hizası birebir aynı kalır,
   dar ekranda ise metin okların oluğuna hiç girmez. */
@media (min-width:981px){
  .home-slider .slide-container{
    max-width:calc(var(--container) + 120px);
    padding-left:88px;padding-right:88px;
  }
}

/* Tablet: 2 sütun kalkar, hero-svg küçülüp altta ortalanır */
@media (max-width:1080px){
  /* yan iç boşluğa dokunma — ok oluğu min-width:981px kuralından geliyor */
  .home-slider .slide-container{gap:32px;padding-top:56px;padding-bottom:56px}
  .home-slider .slide-hero-svg{max-width:340px}
  .home-slider .slide-card{max-width:320px}
  .home-slider .slide-card img{border-radius:22px}
  .home-slider .slide-card::before{border-radius:24px}
}
@media (max-width:980px){
  .home-slider{min-height:clamp(500px,80vh,640px)}
  .home-slider .slide-container,
  .home-slider .slide.h-sag .slide-container{grid-template-columns:minmax(0,1fr);gap:28px;text-align:center;padding:56px 28px 88px}
  .home-slider .slide-text,
  .home-slider .slide.h-sag .slide-text{align-items:center;text-align:center;max-width:640px;margin:0 auto;order:1}
  .home-slider .slide-hero-svg{max-width:240px;margin:0 auto;justify-self:center;order:2}
  .home-slider .slide.h-sag .slide-hero-svg{justify-self:center}
  .home-slider .slide-card{display:none}
  .home-slider .slide-nav{width:42px;height:42px;font-size:1.5rem}
  .home-slider .slide-nav.prev{left:12px}
  .home-slider .slide-nav.next{right:12px}
  /* Bu kırılımda istatistik kartının bindirmesi -20px */
  .home-slider .slide-dots{bottom:40px}
  .home-slider .slide-play{bottom:38px;right:12px;width:36px;height:36px}
}

/* ---------- Mobil banner (≤780px) ----------
   Düzen: kompakt görsel şeridi + üstünde yüzen etiket, altında koyu metin paneli.
   Görsel bilinçli olarak küçük tutulur (16/9), panelle arasındaki geçiş
   yumuşatılır; böylece banner tek parça bir kart gibi durur ve dikeyde
   ekranın yarısından fazlasını yemez. Kumanda şeridi en altta ayrı satırdadır. */
@media (max-width:780px){
  .home-slider{min-height:0;height:auto;overflow:hidden;border-radius:0 0 26px 26px}
  /* Slaytlar tek grid hücresinde üst üste yığılır: kap her zaman EN UZUN
     slaytın yüksekliğinde kalır. Böylece slayt değiştikçe banner boyu
     zıplamaz, altındaki şeritle arasında boşluk açılıp kapanmaz. */
  .home-slider .slides{position:relative;inset:auto;display:grid}
  .home-slider .slide{
    position:relative;inset:auto;grid-area:1/1;padding:0;display:flex;
    flex-direction:column;justify-content:flex-end;color:#fff;transform:none;
    opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s;
  }
  .home-slider .slide.active{opacity:1;visibility:visible;z-index:2}

  /* Görsel şeridi en az 16/9 yüksekliğinde; slaytlar eşit boyda tutulduğu için
     artan boşluğu da görsel doldurur (flex:1) — üstte boş koyu alan kalmaz. */
  .home-slider .slide-img{
    position:relative;width:100%;height:auto;flex:1 1 0;min-height:min(56.25vw,230px);
    background-size:cover;background-position:center;inset:auto;
    transform:none!important;transition:none;opacity:1!important;z-index:1;
  }
  /* Görselin alt kenarı panele erisin — kesik/yapıştırma hissi kalmasın */
  .home-slider .slide-img::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(12,5,16,.42) 0%,rgba(12,5,16,0) 34%,rgba(12,5,16,0) 62%,var(--banner-1) 100%);
  }
  .home-slider .slide-overlay{display:none}

  .home-slider .slide-container{
    position:relative;display:block;padding:16px 18px 22px;
    background:linear-gradient(180deg,var(--banner-1) 0%,var(--banner-2) 100%);z-index:3;
  }
  /* Etiket panelin ustune ciktigi icin baslik biraz asagi alinir. */
  .home-slider .slide.has-img .slide-container{padding-top:20px}
  .home-slider .slide-text,
  .home-slider .slide.h-sag .slide-text{max-width:100%;align-items:flex-start;text-align:left;margin:0;transform:none;opacity:1}
  .home-slider .slide.h-orta .slide-text{align-items:center;text-align:center}

  /* Etiket: görseli olan slaytlarda görselin üstüne yüzer, panelde yer kaplamaz */
  .home-slider .slide-text .slide-eyebrow{
    margin-bottom:10px;font-size:.66rem;padding:6px 12px;letter-spacing:.06em;
    line-height:1.25;max-width:100%;
  }
  /* Konumlanma referansı .slide-container'dır; bottom:100% etiketi tam olarak
     panelin üstüne, yani görselin alt kenarına oturtur. */
  /* +8px: eskiden panele 4px giriyordu ve etiket ile baslik ic ice goruluyordu. */
  .home-slider .slide.has-img .slide-text .slide-eyebrow{
    position:absolute;bottom:calc(100% + 8px);left:18px;z-index:4;margin:0;
    width:-moz-fit-content;width:fit-content;max-width:calc(100% - 36px);
    /* Uzun etiketler rozeti çok satırlı bir şeride çeviriyordu — tek satır + üç nokta */
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    background:rgba(12,5,16,.68);color:#ffd85c;
    border:1px solid rgba(255,203,5,.38);
    box-shadow:0 8px 20px rgba(0,0,0,.4);
  }
  .home-slider .slide.h-orta.has-img .slide-text .slide-eyebrow{left:50%;transform:translateX(-50%);right:auto}

  /* Başlık: mobilde vurgulu — büyük punto, kalın, altın vurgu çizgisi */
  .home-slider .slide-text h1,
  .home-slider .slide-text h2{
    font-size:clamp(1.62rem,6.6vw,2.05rem);font-weight:800;line-height:1.16;
    letter-spacing:-.025em;margin:0 0 12px;padding-bottom:12px;
    text-shadow:0 2px 12px rgba(0,0,0,.45);position:relative;
  }
  /* Haber slaytlarinin basligi uzun olabiliyor; kirpmak yerine puntoyu
     kucultuyoruz — boylece manset tam okunuyor. Sinif PHP tarafinda eklenir. */
  .home-slider .slide.t-uzun .slide-text h1,
  .home-slider .slide.t-uzun .slide-text h2{font-size:clamp(1.24rem,5vw,1.55rem);line-height:1.22}
  .home-slider .slide-text h1::after,
  .home-slider .slide-text h2::after{
    content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;border-radius:3px;
    background:linear-gradient(90deg,#ffcb05,rgba(255,203,5,.15));
  }
  .home-slider .slide.h-orta .slide-text h1::after,
  .home-slider .slide.h-orta .slide-text h2::after{left:50%;transform:translateX(-50%)}

  /* Açıklama 3 satırla sınırlı — uzun metinler banner'ı şişirmesin */
  .home-slider .slide-text .slide-desc{
    font-size:.92rem;line-height:1.5;margin:0 0 16px;text-shadow:none;opacity:.88;
    display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .home-slider .slide-btn{width:100%;justify-content:center;padding:15px 20px;font-size:1rem;box-shadow:0 10px 24px rgba(0,0,0,.35)}

  /* Fotoğraflı/videolu slaytta hero SVG gizli kalır — görsel zaten var. */
  .home-slider .slide.has-img .slide-hero-svg,
  .home-slider .slide.has-video .slide-hero-svg{display:none}
  /* Fotoğrafsız slaytlarda ise hero SVG mobilde de gösterilir: panelin üstünde,
     fotoğrafın yerini tutan bir görsel alan olarak. Eskiden gizlendiği için
     bu slaytlar bomboş koyu bir kutu gibi duruyordu. */
  .home-slider .slide:not(.has-img):not(.has-video) .slide-container{
    display:flex;flex-direction:column-reverse;flex:1 1 auto;
  }
  /* Yükseklik bilerek sabitlenir: flex öğesi olduğu için aspect-ratio yerine
     içeriğin doğal boyu devreye giriyor ve şerit gereğinden uzun oluyordu. */
  .home-slider .slide:not(.has-img):not(.has-video) .slide-hero-svg{
    display:block;position:relative;width:calc(100% + 36px);max-width:none;
    height:auto;aspect-ratio:auto;flex:1 1 0;min-height:min(52vw,200px);overflow:hidden;
    margin:0 -18px 6px;opacity:1;transform:none;transition:none;
  }
  .home-slider .slide:not(.has-img):not(.has-video) .slide-hero-svg svg{
    width:100%;height:100%;filter:none;
  }

  /* Kumanda şeridi: ‹ • • • › — tek satır, dokunma hedefleri 44px */
  .home-slider .slide-ctrl{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:10px 14px 14px;background:var(--banner-3);position:relative;z-index:5;
  }
  .home-slider .slide-nav{
    position:static;flex:none;width:44px;height:44px;font-size:1.5rem;
    background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);
    transform:none;border-radius:14px;
  }
  .home-slider .slide-nav:active{background:rgba(255,203,5,.28);border-color:rgba(255,203,5,.5)}
  .home-slider .slide-dots{
    position:static;flex:1 1 auto;transform:none;justify-content:center;
    padding:0;background:transparent;border-radius:0;margin:0;backdrop-filter:none;gap:8px;
  }
  /* Dokunma hedefini büyüt ama görünen nokta küçük kalsın */
  .home-slider .slide-dots .dot{
    background:rgba(255,255,255,.32);width:9px;height:9px;
    box-shadow:0 0 0 8px transparent;
  }
  .home-slider .slide-dots .dot.active{background:#ffcb05;width:24px}
  /* Duraklat düğmesi şeridin sağ ucunda, oklarla aynı hizada */
  /* position:relative şart — ilerleme halkası (inset:-1px) buna göre konumlanır */
  .home-slider .slide-play{
    position:relative;inset:auto;flex:none;width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);backdrop-filter:none;
  }
}
@media (max-width:400px){
  .home-slider .slide-text h1,
  .home-slider .slide-text h2{font-size:1.5rem}
  .home-slider .slide-container{padding:14px 15px 20px}
  .home-slider .slide-ctrl{padding:8px 12px 12px}
  .home-slider .slide:not(.has-img):not(.has-video) .slide-hero-svg{
    width:calc(100% + 30px);margin:0 -15px 8px;
  }
}

/* ---------- SCROLL TO TOP ---------- */
.scroll-top{
  position:fixed;bottom:100px;right:26px;z-index:79;
  width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:var(--navy);color:#fff;
  display:grid;place-items:center;
  box-shadow:0 8px 24px -6px rgba(140,26,94,.5);
  opacity:0;transform:translateY(12px) scale(.9);
  transition:opacity .3s,transform .3s,background .2s;
  pointer-events:none;
}
.scroll-top.show{opacity:1;transform:none;pointer-events:auto}
.scroll-top:hover{background:var(--navy-bright);transform:translateY(-2px)}
.scroll-top:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.scroll-top svg{width:20px;height:20px}

/* ---------- PAGE PROGRESS BAR ---------- */
.page-progress{
  position:fixed;top:0;left:0;z-index:9999;height:3px;
  background:linear-gradient(90deg,var(--orange),var(--navy-bright));
  width:0;transition:width .15s linear;pointer-events:none;
  border-radius:0 2px 2px 0;
}

/* ---------- UTIL / ANIM ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.16,.84,.44,1)}
.reveal.in{opacity:1;transform:none}
.text-orange{color:var(--orange-deep)}
.mt0{margin-top:0}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}

/* Eğitim SVG animasyonları ayrı dosyada: assets/css/edu-svg.css */

/* ---------- NEDEN UFUK BÖLÜMÜ ---------- */
.neden-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.neden-card{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center;transition:.35s;position:relative;overflow:hidden}
.neden-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(255,203,5,.12),transparent 60%);opacity:0;transition:.35s}
.neden-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px -16px rgba(140,26,94,.28);border-color:rgba(140,26,94,.3)}
.neden-card:hover::before{opacity:1}
.neden-card .icon-wrap{width:92px;height:92px;margin:0 auto 18px;position:relative}
.neden-card h3{font-family:var(--display);color:var(--navy);font-size:1.15rem;margin-bottom:10px}
.neden-card p{color:var(--muted);font-size:.92rem;line-height:1.6}

/* ---------- SKIP LINK (a11y) ---------- */
.skip-link{
  position:absolute;left:-9999px;top:8px;z-index:9999;
  background:var(--navy);color:#fff;padding:10px 18px;border-radius:10px;
  font-weight:600;text-decoration:none;
}
.skip-link:focus{left:8px;outline:2px solid var(--orange);outline-offset:2px}

/* ---------- KVKK ÇEREZ BANNER ---------- */
.kvkk-banner{
  position:fixed;left:14px;right:14px;bottom:14px;z-index:9500;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.32);
  opacity:0;transform:translateY(16px);transition:opacity .28s ease,transform .28s ease;
  max-width:1080px;margin:0 auto;
}
.kvkk-banner.show{opacity:1;transform:translateY(0)}
.kvkk-banner-inner{
  display:flex;align-items:center;gap:20px;
  padding:18px 22px;flex-wrap:wrap;justify-content:space-between;
}
.kvkk-banner .kvkk-text{flex:1 1 360px;font-size:.92rem;color:var(--ink);line-height:1.5}
.kvkk-banner .kvkk-text a{color:var(--navy);font-weight:600;text-decoration:underline}
.kvkk-banner .kvkk-actions{flex:0 0 auto}
.kvkk-banner .btn-sm{padding:10px 18px;font-size:.92rem}
@media(max-width:600px){
  .kvkk-banner-inner{padding:14px 16px;gap:12px}
  .kvkk-banner .kvkk-actions{width:100%}
  .kvkk-banner .btn-sm{width:100%;justify-content:center}
}

/* ---------- PROSE (gizlilik politikası / uzun metin sayfaları) ---------- */
.prose{font-size:1.02rem;line-height:1.78;color:#2a1f2c}
.prose h2{font-family:var(--display);color:var(--navy);font-size:1.45rem;margin:32px 0 12px;font-weight:600}
.prose h3{color:var(--navy-deep);font-size:1.12rem;margin:22px 0 8px;font-weight:600}
.prose p{margin-bottom:14px}
.prose ul{margin:6px 0 18px 24px}
.prose li{margin-bottom:6px}
.prose a{color:var(--navy);text-decoration:underline}

/* ---------- HERO BACKGROUND DEKORASYONLARI ---------- */
.hero-deco{position:absolute;pointer-events:none;opacity:.18;z-index:1;width:120px;height:120px}
.hero-deco.d1{top:8%;left:5%;width:90px;height:90px}
.hero-deco.d2{top:14%;right:8%;width:100px;height:100px}
.hero-deco.d3{bottom:18%;left:3%;width:80px;height:80px}
.hero-deco.d4{bottom:10%;right:5%;width:110px;height:110px}

@media (max-width:980px){
  .neden-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .hero-deco{display:none}
}
@media (max-width:560px){
  .neden-grid{grid-template-columns:1fr}
  .neden-card .icon-wrap{width:78px;height:78px}
}

/* ---------- TOAST BİLDİRİM SİSTEMİ ---------- */
.toast-stack{
  position:fixed;top:20px;right:20px;z-index:10000;
  display:flex;flex-direction:column;gap:10px;
  max-width:calc(100vw - 40px);pointer-events:none;
}
.toast{
  pointer-events:auto;
  display:flex;align-items:flex-start;gap:12px;
  min-width:280px;max-width:400px;
  padding:14px 16px 14px 18px;border-radius:14px;
  background:#fff;color:var(--ink);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.06);
  border-left:4px solid var(--navy);
  font-size:.92rem;line-height:1.45;
  transform:translateX(120%);opacity:0;
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s;
}
.toast.show{transform:translateX(0);opacity:1}
.toast.hide{transform:translateX(120%);opacity:0}
.toast.success{border-left-color:#2ea043}
.toast.error{border-left-color:#dc2626}
.toast.info{border-left-color:var(--navy)}
.toast.warn{border-left-color:#f59e0b}
.toast-ic{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:.9rem;font-weight:700;color:#fff}
.toast.success .toast-ic{background:#2ea043}
.toast.error .toast-ic{background:#dc2626}
.toast.info .toast-ic{background:var(--navy)}
.toast.warn .toast-ic{background:#f59e0b}
.toast-body{flex:1;padding-top:2px}
.toast-title{font-weight:700;margin-bottom:2px;color:var(--navy)}
.toast-close{border:0;background:transparent;cursor:pointer;color:#999;font-size:1.2rem;line-height:1;padding:0 2px;margin-left:6px}
.toast-close:hover{color:var(--ink)}
@media(max-width:520px){
  .toast-stack{top:12px;right:12px;left:12px;max-width:calc(100vw - 24px)}
  .toast{min-width:0;width:100%}
}

/* ---------- COPY-TO-CLIPBOARD ---------- */
.copy-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;margin-left:6px;
  border-radius:8px;border:1px solid var(--line);background:#fff;
  color:var(--navy);cursor:pointer;transition:.18s;padding:0;
  vertical-align:middle;
}
.copy-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.copy-btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.copy-btn.copied{background:#2ea043;color:#fff;border-color:#2ea043}
.copy-btn svg{width:14px;height:14px}

/* ---------- CHAR COUNTER ---------- */
.char-counter{display:block;text-align:right;font-size:.75rem;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.char-counter.warn{color:#f59e0b}
.char-counter.limit{color:#dc2626;font-weight:600}

/* ---------- WhatsApp float — attention pulse ---------- */
.wa-float::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#25d366;opacity:.5;z-index:-1;
  animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{
  0%{transform:scale(1);opacity:.55}
  70%{transform:scale(1.65);opacity:0}
  100%{transform:scale(1.65);opacity:0}
}

/* ---------- KVKK banner — reject button ---------- */
.kvkk-banner .kvkk-actions{display:flex;gap:8px;flex-wrap:wrap}
.kvkk-banner .btn-ghost.btn-sm{padding:10px 16px;font-size:.88rem;background:transparent;color:var(--muted);border:1px solid var(--line)}
.kvkk-banner .btn-ghost.btn-sm:hover{color:var(--navy);border-color:var(--navy);background:transparent}
@media(max-width:600px){
  .kvkk-banner .kvkk-actions .btn{flex:1;justify-content:center}
}

/* ---------- Enhanced focus visible (a11y — global) ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}

/* prefers-reduced-motion — kullanıcı animasyon istemiyorsa durdur */
@media (prefers-reduced-motion:reduce){
  .es-book .es-page,.es-mortar,.es-mortar .es-tassel,
  .es-atom .es-orbit1,.es-atom .es-orbit2,.es-atom .es-orbit3,
  .es-bulb .es-glow,.es-bulb .es-rays,
  .es-pencil .es-line,.es-pencil .es-pen,
  .es-rocket .es-rise,.es-rocket .es-flame,
  .es-compass .es-arms,.es-compass .es-circle,
  .es-globe .es-spin{animation:none!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .page-progress{display:none}
  .scroll-top{transition:none}
  .home-slider .slide{transition:none}
  .hero-photo{animation:none}
  .hero-photo-glow{animation:none}
  .hero-float{animation:none!important}
  .wa-float::before{animation:none!important}
  .toast{transition:none}
}


/* ---------- YÖNETİCİ DÜZENLEME ÇUBUĞU (yalnızca admin oturumunda) ---------- */
.admin-bar{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9998;
  display:flex;align-items:center;gap:6px;padding:7px 8px 7px 12px;
  background:rgba(24,8,26,.92);color:#fff;border:1px solid rgba(255,203,5,.35);
  border-radius:99px;box-shadow:0 10px 30px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:.82rem;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;
}
.admin-bar .ab-rozet{background:#ffcb05;color:#2a0a1e;font-weight:700;font-size:.68rem;
  letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px}
.admin-bar .ab-link{color:#fff;text-decoration:none;padding:5px 11px;border-radius:99px;
  white-space:nowrap;transition:background .18s}
.admin-bar .ab-link:hover{background:rgba(255,255,255,.14)}
.admin-bar .ab-link:focus-visible{outline:2px solid #ffcb05;outline-offset:2px}
.admin-bar .ab-kapat{background:none;border:none;color:rgba(255,255,255,.6);
  font-size:1.15rem;line-height:1;cursor:pointer;padding:2px 7px;border-radius:50%}
.admin-bar .ab-kapat:hover{color:#fff;background:rgba(255,255,255,.14)}
/* Mobilde WhatsApp/yukarı-çık düğmeleriyle çakışmasın diye biraz yukarıda durur */
@media (max-width:780px){ .admin-bar{bottom:74px;font-size:.78rem;gap:4px;padding:6px 6px 6px 10px} }
@media print{ .admin-bar{display:none} }
