@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/archivo.woff2') format('woff2')}
@font-face{font-family:'Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url('/assets/fonts/plexsans.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/plexmono.woff2') format('woff2')}

/* ============ TOKENS ============ */
:root{
  --ok-sag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
  /* nötrler — mavi biasli soğuk gri */
  --paper:#F8FAFC;
  --surface:#FFFFFF;
  --surface-2:#EFF5FA;
  --surface-3:#E3EDF6;
  --line:#DBE6F0;
  --line-2:#C1D4E4;
  --text:#0F2438;
  --text-2:#33506B;
  --muted:#5F7692;

  /* MAVİ — marka, güven, gezinme */
  --brand:#0C5FAE;
  --brand-lit:#1580D0;
  --brand-deep:#08406F;
  --brand-soft:#E7F1FB;
  --tint:#EAF3FB;         /* açık mavi bölüm tonu */

  /* TURUNCU — yalnızca satın alma eylemi */
  --buy:#DF6209;
  --buy-hi:#F58A2E;
  --buy-deep:#B84A04;
  --buy-line:#E8823A;
  --buy-soft:#FFF1E2;
  --buy-text:#9A4306;

  /* BEYAZ METIN TASIYAN TURUNCU DOLGU.
     --buy (#DF6209) beyazla 3.57:1 verir; "Satin al" yazisi .93rem/700,
     yani 15.3px — WCAG'de kalin metnin buyuk sayilmasi icin 18.66px gerekir,
     dolayisiyla bu NORMAL metindir ve 4.5:1 ister. --buy'u genel olarak
     koyulastirmak markanin turuncusunu bozardi (kenarlik, ikon, rozet
     hepsi ondan besleniyor), bu yuzden yalnizca beyaz yazi tasiyan
     ZEMINLER icin ayri bir belirtec var. */
  --buy-dolgu:#C05408;        /* beyaz uzerinde 4.65:1 */
  --buy-dolgu-koyu:#A64304;   /* beyaz uzerinde 6.13:1 */

  /* YEŞİL — dahil, ücretsiz, kazanç */
  --green:#12804A;
  --green-lit:#17A05C;
  --green-soft:#E4F4EB;
  --green-text:#0C6339;

  --signal:#D42A20;

  --ink:#0A2337;          /* koyu lacivert — küçük vurgu yüzeyleri */
  --ink-2:#123049;
  --ink-line:#1E4260;
  --ink-text:#F1F7FC;
  --ink-muted:#9DB6CC;

  --radius:14px;
  --radius-lg:20px;
  --shadow-card:0 1px 2px rgba(15,40,70,.05), 0 10px 26px -16px rgba(15,40,70,.22);
  --shadow-lift:0 20px 54px -26px rgba(15,40,70,.38);
  --wrap:1180px;

  --f-display:'Archivo', 'Segoe UI', system-ui, sans-serif;
  --f-body:'Plex Sans', system-ui, -apple-system, sans-serif;
  --f-mono:'Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0C1620; --surface:#122030; --surface-2:#18293A; --surface-3:#1F3347;
    --line:#22384C; --line-2:#2E4A63;
    --text:#E9F1F8; --text-2:#C4D5E4; --muted:#8BA4BB;
    --brand:#4FA3E8; --brand-lit:#6FBAF5; --brand-deep:#2B7CC0; --brand-soft:#152A3E;
    --tint:#112232;
    --buy:#F07A22; --buy-hi:#FF9A45; --buy-deep:#D25A08;
    --buy-line:#E8823A; --buy-soft:#33200E; --buy-text:#F0A268;
    --buy-dolgu:#BC580D; --buy-dolgu-koyu:#A04A0A;   /* beyazla 4.63:1 / 6.04:1 */
    --green:#3DBB7E; --green-lit:#4FD08F; --green-soft:#12281E; --green-text:#5FCF97;
    --ink:#071726; --ink-2:#0E2438; --ink-line:#1D3C56;
    --shadow-card:0 1px 2px rgba(0,0,0,.45), 0 10px 26px -16px rgba(0,0,0,.7);
    --shadow-lift:0 20px 54px -26px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --paper:#17120C; --surface:#1E1811; --surface-2:#251E15; --surface-3:#2E2419;
  --line:#332818; --line-2:#443722;
  --text:#F6EDE1; --text-2:#DFD0BE; --muted:#A6917C;
  --brand:#F0763F; --brand-lit:#FF8B55; --brand-deep:#E4572E;
  --tint:#33240F; --buy-line:#DDB35A; --buy-soft:#33280F; --buy-text:#E0BC6C;
  --buy-dolgu:#BC580D; --buy-dolgu-koyu:#A04A0A;
  --green:#4CA57C; --green-soft:#16281F;
  --ink:#0F0B06; --ink-2:#1A130B; --ink-line:#3A2C1B;
  --shadow-card:0 1px 2px rgba(0,0,0,.4), 0 10px 26px -16px rgba(0,0,0,.65);
  --shadow-lift:0 20px 54px -26px rgba(0,0,0,.8);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--text);
  font-family:var(--f-body); font-size:16.5px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit}
:focus-visible{outline:2.5px solid var(--brand); outline-offset:3px; border-radius:4px}
.skip{position:absolute; left:-999px; top:0; z-index:200; background:var(--brand); color:#fff; padding:10px 16px; border-radius:0 0 8px 0}
.skip:focus{left:0}

h1,h2,h3,h4{font-family:var(--f-display); font-weight:800; letter-spacing:-.028em; line-height:1.08; margin:0; text-wrap:balance; color:var(--text)}
h1{font-size:clamp(2.1rem, 1.2rem + 3.4vw, 3.6rem)}
h2{font-size:clamp(1.55rem, 1.1rem + 1.8vw, 2.4rem)}
h3{font-size:1.1rem; letter-spacing:-.015em; line-height:1.26}

/* BASLIK SEVIYESI belge yapisidir, BOYUT bicimdir.
   Bazi basliklar h1'in hemen altinda h3 olarak yaziliyordu; ekran
   okuyucular icin bu, arada bir bolum atlanmis demektir. Etiketler
   dogru seviyeye cekildi, gorunum degismesin diye eski olculer bu
   siniflara alindi. */
h2.bslk-kucuk{font-size:1.1rem; letter-spacing:-.015em; line-height:1.26}
h3.bslk-kucuk{font-size:.97rem; letter-spacing:-.01em}
h4{font-size:.97rem; letter-spacing:-.01em}
p{margin:0}

.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:22px}
.sec{padding-block:72px}
.sec--tight{padding-block:48px}
.sec--soft{background:var(--surface-2); border-block:1px solid var(--line)}
.sec--warm{background:linear-gradient(180deg, var(--tint), var(--surface-2)); border-block:1px solid var(--line)}
/* Beyaz yuzey: --warm ve --soft bolumleri yan yana gelince ikisi de acik
   mavimsi kaldigi icin birbirine karisiyordu. Bu tur ikisinden de ayrisir. */
.sec--beyaz{background:var(--surface); border-block:1px solid var(--line)}
/* Acik turuncu bant. Ustten asagi beyaza acilir ki agir durmasin;
   bolum aydinlik kalir ama zeminden ayrisir. */
.sec--sicak{background:linear-gradient(180deg, var(--buy-soft), var(--surface));
  border-block:1px solid var(--buy-line)}

/* ============ ATOMS ============ */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-mono); font-size:.68rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--brand);
}
.eyebrow::before{content:""; width:20px; height:1.5px; background:var(--buy-line); flex:none}

/* .lede cogu yerde renkli zemin (.pagehead, .sec--soft) uzerinde duruyor;
   --muted orada 4.16:1 kaliyordu. --text-2 ile 7.48:1. */
.lede{color:var(--text-2); font-size:1.05rem; max-width:62ch; line-height:1.68}
/* Paket kartinin adi anlamsal olarak h3'tur ama gorunumu ust-baslik
   (.eyebrow) kalir; h3'un varsayilan olcusu/bosluklari sifirlanir. */
.pcard-ad{margin:0 0 6px; font-size:inherit; font-weight:inherit; line-height:inherit}

/* Bolum basligi. Genislik ch DEGIL px ile sinirlanir: ch, kapsayicinin
   govde puntosuna gore olculur; baslik ise cok daha buyuk puntoyla cizildigi
   icin 68ch bir basligi gereksiz yere ust uste sarardi (olculdu: 1136 px
   govdenin yalnizca 620 px i kullaniliyordu). Baslik ve altindaki aciklama
   AYNI genislikte biter; paragraf daha dar kalirsa blok basamak gibi gorunur. */
.head{display:flex; flex-direction:column; gap:13px; margin-bottom:36px; max-width:900px}
/* .lede kendi 62ch sinirini tasir; bolum basliginin altinda bu sinir
   kaldirilir, yoksa aciklama basliktan belirgin sekilde dar kalir. */
.head .lede{max-width:none}
.head--center{align-items:center; text-align:center; margin-inline:auto}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; border-radius:11px; border:1px solid transparent;
  font-weight:600; font-size:.93rem; letter-spacing:-.005em; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.btn:hover{transform:translateY(-1.5px)}
/*
 * Satin alma dugmesi.
 *
 * --- Beyaz parlama neden UST SERITTE sinirli? ---
 * Zemin --buy-dolgu (#C05408) beyaz metinle 4.65:1 veriyor; WCAG esigi 4.5.
 * Yani nefes payi neredeyse yok: uzerine %8 beyaz eklense 4.10:1'e duser,
 * %14 eklense 3.71:1. Olculdu. Bu yuzden parlama, YAZININ BULUNMADIGI
 * ust %18'lik seride hapsedilir; metnin oturdugu orta bant hic acilmaz ve
 * okunabilirlik 4.65:1 olarak KORUNUR.
 *
 * Istenen "icinden beyaz gecen" etkisi ise ::after ile, uzerine gelindiginde
 * SUPUREN bir isik olarak verilir. Gecici oldugu ve kullanici o an okumadigi
 * icin kontrast sorunu yaratmaz.
 *
 * Gradyan --buy'dan baslamaz: acik uc (--buy-hi #F58A2E) beyaz metinle
 * 2.45:1 veriyordu, buyuk metin esigi olan 3.0'in bile altinda.
 */
.btn--buy{
  position:relative; overflow:hidden; isolation:isolate;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.07) 12%, rgba(255,255,255,0) 26%),
    linear-gradient(135deg, var(--buy-dolgu) 0%, var(--buy-dolgu) 30%, var(--buy-dolgu-koyu) 100%);
  color:#FFFFFF; font-weight:700;
  box-shadow:0 1px 0 rgba(255,255,255,.30) inset, 0 12px 24px -12px rgba(184,74,4,.62);
}
/* Supuren isik. pointer-events yok — tiklamayi engellemez.
   transform ile hareket eder, yani yerlesim hesabi tetiklemez. */
.btn--buy::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(105deg,
    rgba(255,255,255,0) 38%, rgba(255,255,255,.34) 50%, rgba(255,255,255,0) 62%);
  transform:translateX(-130%);
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.btn--buy:hover{box-shadow:0 1px 0 rgba(255,255,255,.38) inset, 0 18px 32px -14px rgba(184,74,4,.72)}
.btn--buy:hover::after,
.btn--buy:focus-visible::after{transform:translateX(130%)}

@media (prefers-reduced-motion:reduce){
  .btn--buy::after{transition:none}
  .btn--buy:hover::after{transform:translateX(-130%)}
}
.btn--line{border-color:var(--line-2); background:var(--surface); color:var(--text)}
.btn--line:hover{border-color:var(--brand); color:var(--brand)}
.btn--sm{padding:9px 15px; font-size:.85rem; border-radius:9px}

.chip{
  display:inline-flex; align-items:center; gap:7px; padding:5px 11px;
  border:1px solid var(--line); border-radius:999px; background:var(--surface);
  font-size:.79rem; color:var(--text-2); font-weight:500;
}
.chip svg{width:14px; height:14px; flex:none; color:var(--brand)}
.chip--promo{border-color:var(--buy-line); background:var(--buy-soft); color:var(--buy-text);
  font-family:var(--f-mono); font-size:.71rem; letter-spacing:.06em; text-transform:uppercase}
.chip--win{border-color:var(--green); background:var(--green-soft); color:var(--green-text);
  font-family:var(--f-mono); font-size:.71rem; letter-spacing:.06em; text-transform:uppercase}
/* Yapay zeka rozeti: paket kartinda ayrismayi tasir. Marka mavisinin
   koyu ucunu kullanir ki diger chip turleriyle karismasin. */
.chip--zeka{
  align-self:flex-start;   /* dikey esnek kaplarda genislige yayilmasin */
  border-color:var(--brand); background:var(--brand-soft); color:var(--brand-deep);
  font-weight:700;
}

/*
 * Paket kartinin sag ust kosesindeki yapay zeka rozeti.
 *
 * Sol ust kosede "Yeni surum" seridi (.pcard-flag) duruyor; bu yuzden rozet
 * saga tutturulur. Konumlandirma SARMALAYICIDA tutulur, .chip--zeka'da degil:
 * ayni rozet Paradaise sayfasinda normal bir cip seridi icinde de kullaniliyor,
 * orada mutlak konumlanmamali.
 */
.zrozet{
  position:absolute; z-index:3; top:-13px; right:18px;
  display:flex; align-items:flex-end;
}
@media (max-width:560px){
  /* Dar kartta rozet fiyatla carpismasin */
  .zrozet{right:12px; top:-11px}
}
.chip--zeka svg{color:var(--brand)}
.chip--info{border-color:var(--brand-lit); background:var(--brand-soft); color:var(--brand);
  font-family:var(--f-mono); font-size:.71rem; letter-spacing:.06em; text-transform:uppercase}

.live{display:inline-flex; align-items:center; gap:7px; font-family:var(--f-mono); font-size:.7rem;
  letter-spacing:.13em; text-transform:uppercase; color:var(--signal); font-weight:500}
.live i{width:7px; height:7px; border-radius:50%; background:var(--signal); animation:pulse 1.9s infinite}
@keyframes pulse{0%,100%{opacity:1; transform:scale(1)} 50%{opacity:.35; transform:scale(.82)}}

.ic{
  width:42px; height:42px; border-radius:11px; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(155deg, var(--brand-soft), var(--surface-2));
  border:1px solid var(--line); color:var(--brand);
}
.ic svg{width:20px; height:20px; display:block}

/* ============ CARDS & GRIDS ============ */
.grid{display:grid; gap:18px}
.g2{grid-template-columns:repeat(2, minmax(0,1fr))}
.g3{grid-template-columns:repeat(3, minmax(0,1fr))}
.g4{grid-template-columns:repeat(4, minmax(0,1fr))}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:940px){.g3{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}

.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; box-shadow:var(--shadow-card);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.card--hov:hover{border-color:var(--brand-lit); box-shadow:var(--shadow-lift); transform:translateY(-3px)}
.card h2.bslk-kucuk,.card h3{margin-bottom:8px; margin-top:14px}
.card p{color:var(--muted); font-size:.92rem}
/* p{margin:0} genel bir sifirlama; kartta iki paragraf art arda
   gelince yapisik goruunuyordu. Bosluk yalnizca ARDISIK paragraflara
   verilir ki tek paragrafli kartlarda alt bosluk olusmasin. */
.card p + p{margin-top:11px}
.card-link{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:.87rem; font-weight:600; color:var(--brand)}
.card-link svg{width:14px; height:14px; transition:transform .16s ease}
.card--hov:hover .card-link svg{transform:translateX(3px)}

.ticklist{list-style:none; margin:0; padding:0; display:grid; gap:9px}
/* Satir FLEX DEGIL akis icinde kalir.
   Flex iken satirdaki her metin parcasi ve her <strong> ayri bir flex
   ogesiydi; dar bir kartta her oge KENDI icinde sardigi icin
   "Port: 200 . 10000 / Mbit/s Trafik: GB" gibi dagilmis satirlar
   cikiyordu. Ikon mutlak konumlanir, metin normal satir akisiyla sarar. */
.ticklist li{
  position:relative; padding-left:25px;
  font-size:.9rem; color:var(--text-2); line-height:1.5;
}
.ticklist svg{position:absolute; left:0; top:.28em; width:15px; height:15px; color:var(--green)}
.save{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:7px;
  background:var(--green-soft); border:1px solid var(--green); color:var(--green-text);
  font-family:var(--f-mono); font-size:.72rem; font-weight:600; letter-spacing:.02em}
.save svg{width:13px; height:13px; color:var(--green)}
.ticklist--no li{color:var(--muted)}
.ticklist--no svg{color:var(--line-2)}


/* ============ TOPBAR + NAV ============ */
.topbar{background:linear-gradient(90deg, var(--brand-deep) 0%, var(--brand) 70%, var(--brand-lit) 100%); border-bottom:1px solid var(--brand-deep); color:rgba(241,247,252,.82)}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:38px; font-size:.79rem; flex-wrap:wrap}
.topbar a{display:inline-flex; align-items:center; gap:7px; color:rgba(241,247,252,.82); transition:color .15s ease}
.topbar a:hover{color:#FFFFFF}
.topbar svg{width:14px; height:14px}
.topbar-l,.topbar-r{display:flex; align-items:center; gap:18px; flex-wrap:wrap; min-width:0}
@media (max-width:800px){.topbar .hide-sm{display:none}}

.nav{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--line); transition:box-shadow .2s ease}
.nav.is-stuck{box-shadow:0 10px 28px -22px rgba(80,50,20,.55)}
.nav .wrap{display:flex; align-items:center; gap:14px; min-height:70px; flex-wrap:nowrap}

.brand{display:flex; align-items:center; gap:12px; flex:0 1 auto; min-width:0; margin-right:8px}
.brand-mark{width:36px; height:36px; border-radius:10px; flex:none; display:grid; place-items:center;
  background:linear-gradient(140deg, var(--brand-lit) 0%, var(--brand) 55%, var(--brand-deep) 100%);
  color:#FFFFFF; font-family:var(--f-display); font-weight:800; font-size:1.12rem;
  box-shadow:0 6px 14px -8px rgba(12,95,174,.85)}
.brand-name{font-family:var(--f-display); font-weight:800; font-size:1.48rem; letter-spacing:-.042em; line-height:1; color:var(--text)}
.brand-name span{color:var(--brand)}
.brand-sub{display:block; font-family:var(--f-mono); font-size:.55rem; line-height:1; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-top:2px}

.nav-links{display:flex; align-items:center; gap:4px; margin-left:auto}
@media (max-width:1120px){.nav-links{display:none}}
.nav-link{position:relative; padding:10px 13px; border:0; background:none; font-size:.9rem; font-weight:500; color:var(--text-2);
  display:inline-flex; align-items:center; gap:6px; transition:color .15s ease; white-space:nowrap; cursor:pointer}
.nav-link:hover{color:var(--brand)}
.nav-link.is-on{color:var(--brand); font-weight:600}
.nav-link.is-on::after{content:""; position:absolute; left:13px; right:13px; bottom:0; height:2px; border-radius:2px; background:var(--brand)}
.nav-link svg{width:11px; height:11px; opacity:.6}

.dd{position:relative}
/* buton ile panel arasındaki boşluğu köprüle — fare geçerken menü kapanmasın */
.dd::after{content:""; position:absolute; top:100%; left:-10px; right:-10px; height:16px; display:none}
.dd.is-open::after{display:block}
.dd-panel{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(-6px);
  width:min(690px, 90vw); background:var(--surface); border:1px solid var(--line);
  border-radius:16px; box-shadow:var(--shadow-lift); overflow:hidden;
  display:grid; grid-template-columns:200px 1fr;
  opacity:0; visibility:hidden; transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.dd.is-open .dd-panel,
.dd:focus-within .dd-panel{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.dd-aside{padding:20px 18px; background:linear-gradient(165deg, var(--brand-soft), var(--surface-2)); border-right:1px solid var(--line); display:flex; flex-direction:column; gap:10px}
/* Menu tanitim metni: eskiden <h4> idi, belge yapisini bozdugu icin
   <p class="dd-panel-baslik"> oldu. Gorunum aynen korunuyor. */
.dd-aside .dd-panel-baslik{font-family:var(--f-display); font-weight:800;
  letter-spacing:-.01em; color:var(--text); margin:0; text-wrap:balance;
  font-size:1rem; line-height:1.24}
.dd-aside p{font-size:.79rem; color:var(--muted); line-height:1.5}
.dd-items{padding:10px; display:grid; gap:2px}
.dd-item{display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:11px; transition:background-color .14s ease}
.dd-item:hover{background:var(--surface-2)}
.dd-item .ic{width:34px; height:34px; border-radius:9px}
.dd-item .ic svg{width:16px; height:16px}
.dd-item strong{display:block; font-size:.89rem; font-weight:600; letter-spacing:-.01em}
.dd-item strong + span{display:block; font-size:.77rem; color:var(--muted); margin-top:2px; line-height:1.45}

.burger{display:none; margin-left:auto; width:42px; height:42px; border:0; background:none;
  color:var(--text-2); align-items:center; justify-content:center; cursor:pointer; transition:color .15s ease}
.burger:hover{color:var(--brand)}
.burger svg{width:19px; height:19px}
@media (max-width:1120px){.burger{display:inline-flex}}

/* ============ MOBİL MENÜ ============
   Sayfayi asagi iten bir liste DEGIL, sagdan gelen bir cekmece.
   Eskiden menu icerigin arasina giriyordu: 15 baglanti 806px yer
   kapliyor, 844px'lik ekranda sayfa ile menu ic ice geciyordu.
   Cekmece kendi icinde kayar, sayfa yerinde kalir.

   z-index 200: alt sabit bar (.altbar) 80'de duruyor, cekmece onun da
   ustunde olmali — yoksa menunun alt ucu bara giriyor. */
.mnav{
  position:fixed; top:0; right:0; bottom:0; z-index:200;
  width:min(88vw, 380px);
  display:flex; flex-direction:column;
  background:var(--surface);
  border-left:1px solid var(--line);
  box-shadow:-18px 0 46px rgba(2,20,42,.18);
  transform:translateX(101%); visibility:hidden;
  transition:transform .26s cubic-bezier(.32,.72,.35,1), visibility .26s;
  overscroll-behavior:contain;
}
.mnav.is-open{transform:none; visibility:visible}

.mnav__bas{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; border-bottom:1px solid var(--line); flex:0 0 auto;
}
.mnav__baslik{font-size:.78rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted)}
.mnav__kapat{
  width:40px; height:40px; border:0; background:none; cursor:pointer;
  color:var(--text-2); display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px;
}
.mnav__kapat:hover{background:var(--surface-2); color:var(--brand)}
.mnav__kapat svg{width:20px; height:20px}

/* Yalnizca bu bolum kayar; baslik ve dip sabit kalir. */
.mnav__govde{flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:6px 0}

/*
 * HER UST DUZEY OGE AYNI SATIR BICIMI.
 * Acilir olan ile tekil olanin farki yalnizca sagdaki isarettir
 * (sevron / ok). Boylece hicbir oge digerinin alt basamagi gibi
 * gorunmez — eski duzendeki karisikligin sebebi tam olarak buydu.
 */
.mnav__satir{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  width:100%; padding:15px 18px;
  font-size:1rem; font-weight:600; color:var(--text);
  border-bottom:1px solid var(--line);
  cursor:pointer; list-style:none;
}
.mnav__satir::-webkit-details-marker{display:none}
.mnav__satir:hover{background:var(--surface-2); color:var(--brand)}
.mnav__satir svg{width:18px; height:18px; flex:0 0 auto; color:var(--muted); transition:transform .2s ease}
.mnav__grup[open] > .mnav__satir{color:var(--brand); background:var(--brand-soft); border-bottom-color:transparent}
.mnav__grup[open] > .mnav__satir .mnav__sevron{transform:rotate(180deg); color:var(--brand)}

/* Alt baglantilar girintili ve bir tik kucuk — ust satira BAGLI
   olduklari buradan anlasilir. */
.mnav__ic{padding:4px 0 10px; background:var(--brand-soft); border-bottom:1px solid var(--line)}
.mnav__cocuk{
  display:block; padding:11px 18px 11px 16px; margin-left:18px;
  font-size:.93rem; font-weight:500; color:var(--text-2);
  border-left:2px solid var(--line-2);
}
.mnav__cocuk:hover{color:var(--brand); border-left-color:var(--brand)}
.mnav__cocuk--tumu{font-weight:600; color:var(--brand)}

.mnav__dip{
  flex:0 0 auto; padding:16px 18px calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line); background:var(--surface-2);
  display:flex; flex-direction:column; gap:14px;
}
/* Cizgili dugme: dolu turuncu blok menunun dibinde fazla bagiriyordu.
   Ince kenarlik + marka mavisi ayni isi daha sakin yapiyor. */
.mnav__panel{
  display:flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 20px; border-radius:10px;
  background:var(--surface); border:1px solid var(--brand);
  color:var(--brand); font-weight:600; font-size:.95rem;
}
.mnav__panel:hover{background:var(--brand); color:#FFFFFF}
.mnav__panel svg{width:16px; height:16px}

.mnav__iletisim{display:flex; flex-direction:column; align-items:center; gap:2px; text-align:center}
.mnav__iletisim-bas{
  font-size:.68rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.mnav__tel{
  display:inline-flex; align-items:center; gap:7px;
  font-size:1.02rem; font-weight:700; color:var(--text);
}
.mnav__tel:hover{color:var(--brand)}
.mnav__tel svg{width:15px; height:15px; color:var(--brand)}
.mnav__saat{font-size:.78rem; color:var(--muted)}

.mnav-perde{
  position:fixed; inset:0; z-index:190;
  border:0; padding:0; cursor:pointer;
  background:rgba(6,22,40,.5);
  opacity:0; visibility:hidden;
  transition:opacity .26s ease, visibility .26s;
}
.mnav-perde.is-open{opacity:1; visibility:visible}

body.mnav-acik{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .mnav,.mnav-perde{transition:none}
}
@media (min-width:1121px){
  .mnav,.mnav-perde{display:none !important}
}

/* ============ HERO ============ */
.hero{position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:linear-gradient(160deg, var(--surface) 0%, var(--tint) 58%, var(--paper) 100%)}
/* sol üstte nokta deseni */
.hero::before{content:""; position:absolute; left:-10px; top:24px; width:180px; height:200px; pointer-events:none;
  background-image:radial-gradient(circle, var(--line-2) 1.6px, transparent 1.7px);
  background-size:17px 17px; opacity:.7; mask-image:linear-gradient(135deg,#000,transparent 78%);
  -webkit-mask-image:linear-gradient(135deg,#000,transparent 78%)}
.hero .wrap{position:relative; z-index:1; padding-block:52px 58px}
/* Gorsel sutunu .78fr -> 1.05fr ve bosluk 46 -> 40px.
   Yeni hero gorseli 3:2; eski kare gorselle ayni genislikte cizilince
   ekranda belirgin sekilde kucuk kaliyordu. Metin sutunu yine ~555px,
   basligin en uzun satiri 415px — sikismiyor. */
.hero-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:40px; align-items:center}
@media (max-width:1120px){.hero-grid{grid-template-columns:1fr; gap:34px}}

.hero-title{font-family:var(--f-display); font-weight:800; letter-spacing:-.035em; line-height:1.02; margin:16px 0 0}
.hero-title span{display:block}
.t-pct{font-size:clamp(2.7rem, 1.4rem + 4.6vw, 4.4rem); color:var(--brand)}
.t-ink{font-size:clamp(2.05rem, 1.1rem + 3.2vw, 3.25rem); color:var(--text); margin-top:2px}
.t-blue{font-size:clamp(1.7rem, 1rem + 2.4vw, 2.55rem); color:var(--brand); font-weight:700; margin-top:4px}
.hero-rule{width:132px; height:4px; border-radius:3px; margin-top:22px;
  background:linear-gradient(90deg, var(--brand), var(--brand-lit) 60%, transparent)}
.hero-lede{color:var(--text-2); font-size:1.02rem; max-width:46ch; line-height:1.65; margin-top:20px}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}

/* dört güven rozeti */
.badges{display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-top:28px; max-width:520px}
@media (max-width:900px){.badges{grid-template-columns:repeat(4,1fr); max-width:100%}}
@media (max-width:560px){.badges{grid-template-columns:repeat(2,1fr)}}
.badge{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:15px 11px 13px;
  text-align:center; box-shadow:var(--shadow-card); transition:border-color .18s ease, transform .18s ease}
.badge:hover{border-color:var(--brand-lit); transform:translateY(-2px)}
.badge svg{width:26px; height:26px; color:var(--brand); margin:0 auto 9px; display:block}
.badge b{display:block; font-size:.775rem; font-weight:600; line-height:1.35; color:var(--text)}

/* ürün görseli — şeffaf zeminli cihaz kompozisyonu */
.shotbox{position:relative; isolation:isolate; max-width:470px; margin-inline:auto; width:100%;
  animation:rise .9s cubic-bezier(.2,.7,.3,1) .12s both, drift 8s ease-in-out 1.2s infinite;
  transition:transform .35s ease}
.shotbox::before{content:""; position:absolute; inset:18% 5% 4%; z-index:-1; border-radius:50%;
  background:radial-gradient(56% 52% at 46% 58%, rgba(21,128,208,.26), transparent 72%); filter:blur(44px)}
.shotbox img{display:block; width:100%; height:auto}
/* 470px siniri .shotbox'in KENDISINDE kalir — ayni sinif klasik,
   paradaise ve haber-yazilimi sayfalarinda da kullaniliyor, oralarda
   gorsel kare ve 470 dogru olcu. Buyutme YALNIZCA ana sayfa
   hero'suna kapsanir. */
.hero-grid .shotbox{max-width:600px}
.shotbox:hover{transform:translateY(-5px)}
@keyframes rise{from{opacity:0; transform:translateY(26px) scale(.98)} to{opacity:1; transform:none}}
@keyframes drift{0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)}}

/* ============ STATS ============ */
.stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{background:var(--surface); padding:22px 20px; display:flex; flex-direction:column; gap:5px}
.stat b{font-family:var(--f-display); font-size:1.85rem; font-weight:800; letter-spacing:-.035em; line-height:1; font-variant-numeric:tabular-nums}
.stat span{font-size:.82rem; color:var(--muted)}

/* ============ PRICE ============ */
.price-old{color:var(--muted); text-decoration:line-through; text-decoration-thickness:1.5px; font-family:var(--f-mono); font-size:.9rem}
.price-now{font-family:var(--f-display); font-weight:800; letter-spacing:-.04em; font-size:2.25rem; line-height:1; font-variant-numeric:tabular-nums}
.price-unit{font-family:var(--f-mono); font-size:.74rem; color:var(--muted); letter-spacing:.03em; line-height:1.5}
.price-sub{font-family:var(--f-mono); font-size:.87rem; color:var(--buy-text); font-weight:600; font-variant-numeric:tabular-nums}

.pcard{position:relative; display:flex; flex-direction:column; gap:15px}
.pcard--best{border-color:var(--buy); border-width:2px; box-shadow:var(--shadow-lift)}
.pcard--top{border-color:var(--line-2); background:linear-gradient(170deg, var(--surface-2), var(--surface))}
.pcard-flag{position:absolute; top:-11px; left:22px; padding:4px 11px; border-radius:999px;
  background:linear-gradient(135deg,var(--buy-dolgu),var(--buy-dolgu-koyu)); color:#FFFFFF;
  font-family:var(--f-mono); font-size:.635rem; letter-spacing:.09em; text-transform:uppercase; font-weight:500}
.pcard-top{display:flex; flex-direction:column; gap:5px; padding-bottom:15px; border-bottom:1px dashed var(--line-2)}
.srv{display:inline-flex; align-items:center; gap:5px; font-family:var(--f-mono); font-size:.66rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--brand); border:1px solid var(--brand-lit); background:var(--brand-soft);
  padding:2px 8px; border-radius:5px}

/* ============ TABLE ============ */
.tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
table{width:100%; border-collapse:collapse; min-width:600px}
th,td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); font-size:.885rem}
/* Baslik rengi --muted degil --text-2: 11px buyuk harf yazi normal metin
   sayilir ve 4.5:1 ister; --muted #EFF5FA uzerinde 4.25:1 kaliyordu. */
/* Yalnizca SUTUN basliklari (thead) kucuk-buyuk harf bicimini alir.
   Satir basliklari (th scope="row") govdededir ve normal hucre gibi
   gorunmelidir; aksi halde tabloya anlamsal dogruluk kazandirmak
   gorunumu bozar. */
thead th{font-family:var(--f-mono); font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-2); font-weight:500; background:var(--surface-2)}
tbody th{font-weight:inherit; text-align:left; background:transparent}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td,tbody tr:hover th{background:var(--surface-2)}
td.num,th.num{font-family:var(--f-mono); font-variant-numeric:tabular-nums; text-align:right;
              white-space:nowrap}   /* tutar ve para birimi ayni satirda kalsin */
td strong{font-weight:600}
.tag{font-family:var(--f-mono); font-weight:500; color:var(--brand); font-size:.85rem}

/* ============ COMPARE ============ */
.cmp{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface)}
@media (max-width:760px){.cmp{grid-template-columns:1fr}}
.cmp-h{padding:16px 20px; font-family:var(--f-mono); font-size:.71rem; letter-spacing:.11em; text-transform:uppercase; border-bottom:1px solid var(--line)}
.cmp-h.a{color:var(--muted); background:var(--surface-2)}
.cmp-h.b{color:var(--brand); background:linear-gradient(90deg, var(--brand-soft), var(--surface))}
.cmp-col{border-right:1px solid var(--line)}
@media (max-width:760px){.cmp-col{border-right:0; border-bottom:1px solid var(--line)}}
.cmp-cell{padding:16px 20px; border-bottom:1px solid var(--line); font-size:.89rem; line-height:1.55}
.cmp-cell:last-child{border-bottom:0}
.cmp-col.a .cmp-cell{color:var(--muted)}
.cmp-col.b .cmp-cell strong{display:block; font-weight:600; margin-bottom:3px}

/* ============ STEPS ============ */
.steps{display:grid; counter-reset:s}
.step{display:grid; grid-template-columns:60px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.step-n{counter-increment:s; font-family:var(--f-mono); font-size:.76rem; color:var(--brand); letter-spacing:.07em; padding-top:3px}
.step-n::before{content:"0" counter(s)}
.step h3.bslk-kucuk,.step h4{margin-bottom:5px; font-size:1.02rem}
.step p{color:var(--muted); font-size:.91rem}

/* ============ FAQ ============ */
/* Sorular tek bir kartin icinde sac teli cizgilerle ayriliyordu; kirk
   dokuz sorunun oldugu sayfada bu bir beyaz duvara donuyordu. Her soru
   artik KENDI KARTINDA duruyor, arasinda bosluk var ve solunda sira
   numarasi bulunuyor. Acik olan soru zeminden ve kenar seridinden belli
   olur — okuyucu nerede kaldigini kaybetmez. */
.faq{display:grid; gap:10px; counter-reset:sss}
.faq details{
  position:relative; overflow:hidden; counter-increment:sss;
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface);
  transition:border-color .16s ease, box-shadow .16s ease;
}
.faq details:hover{border-color:var(--line-2)}
.faq details[open]{
  border-color:var(--brand-lit);
  box-shadow:var(--shadow-card);
}
/* Acik sorunun sol kenarinda marka seridi */
.faq details[open]::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--brand-lit), var(--brand-deep));
}
.faq summary{
  position:relative; display:flex; align-items:center; gap:14px;
  padding:16px 20px 16px 58px; cursor:pointer; list-style:none;
  font-weight:600; font-size:.94rem; line-height:1.45; color:var(--text);
}
.faq summary::-webkit-details-marker{display:none}
/* Sira numarasi: 01, 02, 03 ... her bolumde bastan baslar. */
.faq summary::before{
  content:counter(sss, decimal-leading-zero);
  position:absolute; left:18px; top:50%; transform:translateY(-50%);
  font-family:var(--f-mono); font-size:.76rem; font-weight:700;
  color:var(--muted); letter-spacing:.02em;
}
.faq details[open] summary::before{color:var(--brand)}
/* Ac/kapa isareti daire icinde */
.faq summary::after{
  content:"+"; display:grid; place-items:center; flex:none;
  width:26px; height:26px; margin-left:auto; border-radius:50%;
  background:var(--brand-soft); color:var(--brand-deep);
  font-family:var(--f-mono); font-size:1.05rem; line-height:1;
  transition:transform .18s ease, background .16s ease, color .16s ease;
}
.faq details[open] summary::after{transform:rotate(45deg); background:var(--brand); color:#fff}
.faq summary:hover{background:var(--surface-2)}
.faq details[open] summary{background:var(--tint)}
.faq details[open] summary:hover{background:var(--tint)}
/* Cevap metni kartin TAM genisligini kullanir.
   Onceki 80ch siniri, 1140 px lik kartin yalnizca 620 px ini
   dolduruyor, sagda genis bir bosluk birakiyordu. Satir uzadigi icin
   metin rengi --muted'dan --text-2'ye cekildi ve satir araligi acildi:
   uzun satirda soluk ve sik metin, gozun satir basini kaybetmesine
   yol acar. */
.faq-a{padding:16px 20px 18px 58px; color:var(--text-2); font-size:.9rem; line-height:1.68;
  border-top:1px solid var(--line)}
.faq-a a{color:var(--brand-deep); font-weight:600}
.faq-a a:hover{color:var(--brand)}
@media (max-width:620px){
  .faq summary{padding-left:20px; padding-right:16px}
  .faq summary::before{position:static; transform:none; margin-right:2px}
  .faq-a{padding-left:20px}
}
@media (prefers-reduced-motion:reduce){
  .faq details,.faq summary::after{transition:none}
}

/* ============ CTA BAND (amber) ============ */
.band{position:relative; overflow:hidden; border-block:1px solid var(--brand-deep);
  background:linear-gradient(118deg, var(--brand-deep) 0%, var(--brand) 52%, var(--brand-lit) 100%)}
.band .wrap{position:relative; padding-block:48px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap}
.band h2{color:#FFFFFF; max-width:21ch}
.band p{color:rgba(241,247,252,.86); margin-top:9px; max-width:48ch; font-size:.97rem}
.band .eyebrow{color:#9FD2F5}
.band .eyebrow::before{background:var(--buy-hi)}
.band-act{display:flex; gap:12px; flex-wrap:wrap}
.btn--onband-line{border-color:rgba(255,255,255,.42); color:#FFFFFF; background:rgba(255,255,255,.08)}
.btn--onband-line:hover{border-color:#FFFFFF; background:rgba(255,255,255,.18); color:#FFFFFF}

/* ============ FOOTER (açık) ============ */
/*
 * Alt bilgi KOYU zeminlidir.
 *
 * Eskiden --surface-2 (#EFF5FA) kullaniyordu ve sayfa zemininden neredeyse
 * ayrismiyordu; sayfa altta "bitmemis" gibi duruyordu. Koyu zemin sayfayi
 * kapatir ve yapay zeka bolumuyle ayni --ink ailesini kullandigi icin site
 * bastan sona ayni dili konusur.
 *
 * Renkler SABIT DEGIL belirtecten gelir; karanlik temada --ink daha da
 * koyulasir, metin belirtecleri ayni kalir, kontrast korunur.
 *
 * Kontrast (WCAG AA 4.5:1):
 *   --ink-text  #F1F7FC / --ink #0A2337 -> 15.6:1
 *   --ink-muted #9DB6CC / --ink #0A2337 ->  7.3:1
 *   #5FB8F5     (bag ustu)              ->  7.2:1
 * DIKKAT: --brand (#0C5FAE) bu zeminde 2.4:1 kalir; METIN RENGI OLARAK
 * KULLANILMAZ, yalnizca dolgu/kenarlik olarak gecer.
 */
.foot{
  background:var(--ink); color:var(--ink-muted);
  border-top:3px solid var(--brand);
}
.foot .alt-baslik{color:var(--ink-text)}
.foot a{color:var(--ink-muted)}
.foot a:hover{color:#5FB8F5}
.foot address{color:var(--ink-muted)}

/* Yazili marka koyu zeminde okunur kalsin */
.foot .brand-name{color:var(--ink-text)}
.foot .brand-name span{color:#5FB8F5}
.foot .brand-sub{color:var(--ink-muted)}

/*
 * Logoyu sutun basliklariyla AYNI HIZAYA cek.
 *
 * Logo dosyasinin ustunde saydam bir bant var: murekkep, goruntunun
 * tepesinden %18,1 asagida basliyor. Bu yuzden logo, yanindaki
 * "HABER YAZILIMI / HIZMETLERIMIZ..." basliklarindan daha asagi
 * dusuyordu. Sutun basliklarinin kendi yarim satir boslugu ise 3,5 px.
 *
 * Kaydirma iki terimden kurulur: goruntunun saydam bandi kadar YUKARI,
 * basligin yarim satir boslugu kadar GERI. Boylece logo yuksekligi
 * panelden degistirilse bile hiza kendiliginden korunur.
 */
.foot .brand-logo{margin-top:calc(var(--logo-h, 42px) * -0.181 + 3.5px)}
@media (max-width:760px){
  /* Bu genislikte .brand-logo yuksekligi .82 ile carpiliyor; kaydirma da
     ayni oranda kucultulur, yoksa logo fazla yukari kacar. */
  .foot .brand-logo{margin-top:calc(var(--logo-h, 42px) * .82 * -0.181 + 3.5px)}
}
.foot-top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:32px; padding-block:48px}
@media (max-width:1000px){.foot-top{grid-template-columns:repeat(2,1fr); gap:28px}}
@media (max-width:560px){.foot-top{grid-template-columns:1fr}}
/* Footer bolum basliklari. Etiket h5 idi; belge yapisinda h2 -> h5 atlamasi
   oluyordu, h2 yapildi. h2 varsayilani buyuk oldugu icin tum ozellikler
   burada aciktan veriliyor — gorunum oncekiyle birebir ayni.
   RENK: koyu zemin degiskeni kullanilir. Burada var(--text) yaziyordu; o acik
   temanin murekkebi (#0F2438) ve alt bilgi zemini (#0A2337) neredeyse ayni
   ton oldugu icin basliklar gorunmez oluyordu — ustelik bu kural yukaridaki
   dogru rengi ayni ozgullukle eziyordu. */
.foot .alt-baslik{font-family:var(--f-mono); font-size:.67rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ink-text); margin:0 0 14px; font-weight:600;
  line-height:1.4}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.foot a{font-size:.875rem; transition:color .15s ease}
.foot-brand p{font-size:.875rem; line-height:1.62; margin-top:13px; max-width:36ch}
.foot-bottom{border-top:1px solid var(--ink-line); padding-block:18px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.79rem}
.foot-note{font-family:var(--f-mono); font-size:.67rem; letter-spacing:.04em; color:var(--ink-muted)}

/* ============ MISC ============ */
.split{display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center}
@media (max-width:880px){.split{grid-template-columns:1fr; gap:30px}}

/*
 * Surec seridi.
 *
 * Kartlarin ARKASINDAN yatay bir ray gecer; kartlar opak oldugu icin ray
 * yalnizca aralardaki bosluklarda gorunur ve adimlarin birbirine bagli
 * oldugunu anlatir. Her bosluga da bir ok ucu konur.
 *
 * Ray yalnizca kartlar TEK SIRADAYKEN anlamlidir; iki ya da tek sutuna
 * dustugunde (dar ekran) hem ray hem oklar gizlenir, yoksa yana dogru
 * akmayan bir surecte yatay ok saskinlik yaratir.
 */
.flowline{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative}
.flowline::before{
  content:""; position:absolute; z-index:0;
  left:12%; right:12%; top:50%; height:2px; margin-top:-1px;
  background:var(--line-2);
}
@media (max-width:860px){
  .flowline{grid-template-columns:repeat(2,1fr); gap:12px}
  .flowline::before{display:none}
}
@media (max-width:480px){.flowline{grid-template-columns:1fr}}

.flownode{
  position:relative; z-index:1;
  border:1px solid var(--line); border-radius:13px; padding:17px;
  background:var(--surface); box-shadow:var(--shadow-card);
}
/* Beyaz zeminli bolumde kart da beyaz kalirsa ayrismaz; kartlar bir ton
   koyulasir. Diger bolumlerde kart beyaz kalmaya devam eder. */
.sec--beyaz .flownode{background:var(--paper)}

/*
 * Adimlar arasindaki gecis dugumu.
 *
 * Ciplak bir ok isareti bosluga birakilmis gibi duruyordu; daire icine
 * alininca rayin uzerindeki bilincli bir DURAK gibi okunuyor. Kurumsal
 * yazilim sitelerinin kullandigi duzen budur.
 *
 * ::before daireyi, ::after okun kendisini cizer. Ikisi de bosluga TAM
 * ortalanir: sol kenar karttan 11px sagda (bosluk 22px), sonra kendi
 * genisliginin yarisi kadar geri cekilir.
 */
.flownode:not(:last-child)::before,
.flownode:not(:last-child)::after{
  content:""; position:absolute;
  left:calc(100% + 11px); top:50%;
  transform:translate(-50%, -50%);
}
.flownode:not(:last-child)::before{
  z-index:2; width:24px; height:24px; border-radius:50%;
  background:var(--surface); border:1px solid var(--line-2);
  box-shadow:0 1px 2px rgba(15,40,70,.07);
}
.flownode:not(:last-child)::after{
  z-index:3; width:11px; height:11px; background:var(--brand);
  -webkit-mask:var(--ok-sag) center/contain no-repeat;
          mask:var(--ok-sag) center/contain no-repeat;
}
@media (max-width:860px){
  .flownode:not(:last-child)::before,
  .flownode:not(:last-child)::after{display:none}
}
.flownode .k{font-family:var(--f-mono); font-size:.65rem; letter-spacing:.11em; text-transform:uppercase; color:var(--brand)}
.flownode h3{margin:9px 0 6px; font-size:.97rem; letter-spacing:-.01em}

.flownode p{font-size:.85rem; color:var(--muted); line-height:1.5}

.notice{border:1px solid var(--brand-lit); background:var(--brand-soft); border-radius:var(--radius); padding:17px 20px; display:flex; gap:13px; align-items:flex-start}
.notice svg{width:19px; height:19px; flex:none; color:var(--brand); margin-top:2px}
.notice--warn{border-color:var(--buy-line); background:var(--buy-soft)}
.notice--warn svg{color:var(--buy)}
.notice p{font-size:.885rem; line-height:1.6; color:var(--text-2)}
.notice strong{font-weight:600; color:var(--text)}
.notice--plain{border-color:var(--line); background:var(--surface)}

/* Ust bardan sonra YALNIZCA gri cizgi gelir. Burada bir de 3 px mavi
   serit vardi; ana sayfada pagehead olmadigi icin o serit yoktu ve
   iki sayfa turu farkli gorunuyordu. Standart: gri cizgi. */
.pagehead{background:linear-gradient(180deg, var(--tint), var(--surface-2)); border-bottom:1px solid var(--line)}
.pagehead .wrap{padding-block:40px 38px}
/* Baslik kirilma yoluna cok yakin duruyordu; ust bosluk 15 -> 26px,
 ust sinir 2.8 -> 2.6rem. Hiyerarsi korunur, nefes payi acilir. */
.pagehead h1{font-size:clamp(1.8rem,1.2rem+2vw,2.6rem); margin-block:26px 13px}
/* Sayfa basligi altindaki giris metni, govde metninden DAHA GENIS akar.
   Genel .lede kurali 62ch ile sinirli — okuma olcusu icin dogru deger o,
   ama sayfa basliginda kisa bir paragraf dort satira boluniyordu.
   Burada 108ch: uzun bir giris iki satira sigar, satir yine de
   ekran genisligi kadar uzamaz. */
.pagehead .lede{max-width:min(112ch, 100%)}
/* Kirilma yolu artik <nav><ol><li> — ayrac CSS ile basilir.
   Metin olarak yazilan "/" ekran okuyucuda "bolu" diye okunuyordu. */
/* Renk --muted degil --text-2: kirilma yolu .pagehead gradyani (--tint
   #EAF3FB) uzerinde duruyor ve .71rem (~11.4px) normal metin sayilir,
   yani 4.5:1 ister. --muted orada 4.16:1 kaliyordu; --text-2 ile 7.48:1.
   Ayrac (--line-2) bicimdir, metin degil; okunurluk esigine girmez. */
.crumb{font-family:var(--f-mono); font-size:.71rem; letter-spacing:.06em; color:var(--text-2); margin-bottom:12px}
/* Kirilma yolu SAGA yaslidir: sayfa basligi solda, "neredesiniz"
   bilgisi sagda durunca ust alan dengelenir. Dar ekranda satir
   kirilirsa da saga hizali kalir. */
.crumb ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:flex-end}
.crumb li{display:flex; align-items:center}
.crumb li + li::before{content:"/"; margin-inline:7px; color:var(--line-2)}
.crumb a{color:inherit; text-decoration:none}
.crumb a:hover{color:var(--brand)}
.crumb [aria-current="page"]{color:var(--text-2)}

.swatch{border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface)}
.swatch-c{height:70px}
.swatch-m{padding:11px 13px; font-family:var(--f-mono); font-size:.71rem; line-height:1.5}
.swatch-m b{display:block; font-weight:500; color:var(--text)}
.swatch-m span{color:var(--muted)}

/* satır içi form alanları */
.field{display:grid; gap:6px; font-size:.84rem; color:var(--muted)}
.field input,.field select,.field textarea{
  padding:12px 14px; border-radius:10px; border:1px solid var(--line);
  background:var(--surface-2); color:var(--text); font:inherit; font-size:.92rem;
}
.field textarea{resize:vertical}

/* ---------------------------------------------------------------------
   Alan adi sorgu sonuclari
   Her sonuc iki satirlik bir kart: ustte alan adi + durum,
   altta fiyat + eylem. Uzun fiyat ve uyari etiketleri sikismaz.
   --------------------------------------------------------------------- */
.dres-box{display:none; gap:10px; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); margin-top:18px}
.dres-box.is-on{display:grid}

.dres{
  display:flex; flex-direction:column; gap:10px;
  padding:14px 16px; border-radius:12px;
  background:var(--surface); border:1px solid var(--line);
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.dres--musait{border-color:#BFE3CE; background:linear-gradient(180deg,#F5FBF8,var(--surface) 60%)}
.dres--musait:hover{border-color:var(--green-lit); box-shadow:0 8px 20px -8px rgba(18,128,74,.3); transform:translateY(-1px)}
.dres--dolu{background:var(--surface-2); border-style:dashed}

/* Ust satir: alan adi + durum rozeti */
.dres__ust{display:flex; align-items:center; justify-content:space-between; gap:10px}
.dres__ad{
  font-family:var(--f-mono); font-size:.95rem; font-weight:600; color:var(--text);
  letter-spacing:-.01em; word-break:break-all; line-height:1.35; min-width:0;
}
.dres__ad .uz{color:var(--brand); font-weight:700}
.dres--dolu .dres__ad{color:var(--muted)}
.dres--dolu .dres__ad .uz{color:var(--muted)}

.dres .st{
  flex:none; display:inline-flex; align-items:center; gap:5px;
  padding:3px 10px; border-radius:20px; white-space:nowrap;
  font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.dres .st::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor}
.dres .st.free{background:var(--green-soft); color:var(--green-text)}
.dres .st.taken{background:var(--surface-3); color:var(--muted)}
.dres .st.unknown{background:var(--buy-soft); color:var(--buy-text)}

/* Alt satir: fiyat + eylem. margin-top:auto kartlari esit yukseklikte tutar. */
.dres__alt{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:10px; flex-wrap:wrap; margin-top:auto;
}
.dres__sag{display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap}
.dres .pr{
  display:flex; flex-direction:column; line-height:1.25; min-width:0;
  font-size:1.05rem; font-weight:800; color:var(--brand-deep); letter-spacing:-.02em;
}
.dres .pr small{font-size:.7rem; font-weight:600; color:var(--muted); letter-spacing:0}
.dres .pr--yok{font-size:.84rem; font-weight:700; color:var(--muted)}
.dres--dolu .pr{color:var(--muted); font-size:.84rem; font-weight:600}

/* cursor:pointer SART: bu oge <button>, tarayicilar butonlarda varsayilan
   olarak ok imleci gosterir. Kural once bir <a> icin yazilmisti (bkz.
   text-decoration:none) ve baglantida el imleci bedava geliyordu; oge
   butona donunce imlec kayboldu, tiklanabilir oldugu anlasilmiyordu. */
.dres__al{
  flex:none; padding:7px 15px; border-radius:8px; cursor:pointer;
  background:var(--buy-dolgu); border:1px solid var(--buy-line); color:#fff;
  font-size:.8rem; font-weight:700; text-decoration:none; white-space:nowrap;
  box-shadow:0 2px 0 var(--buy-deep);
}
.dres__al:hover{background:var(--buy-dolgu-koyu); color:#fff}
.dres__al:active{transform:translateY(1px); box-shadow:none}
.dres__al:disabled{opacity:.55; cursor:default}

/* WHOIS kayit bilgileri — ikincil eylem, satin alma dugmesiyle
   yarismamali: cerceveli ve renksiz. */
.dres__whois{
  flex:none; padding:7px 13px; border-radius:8px;
  background:transparent; border:1px solid var(--line, #d8dee9); color:var(--muted);
  font-size:.78rem; font-weight:700; white-space:nowrap; cursor:pointer;
}
.dres__whois:hover{color:var(--brand-deep); border-color:var(--brand-deep)}
.dres__whois:disabled{opacity:.55; cursor:default}

.dres__whoiskutu{
  grid-column:1/-1; margin-top:10px; padding-top:10px;
  border-top:1px solid var(--line, #e6ebf2);
  font-size:.82rem; color:var(--muted);
}

/* Etiket/deger cifti — dar ekranda alt alta duser */
.dwhois{
  display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:0;
}
.dwhois dt{font-weight:700; color:var(--brand-deep); white-space:nowrap}
.dwhois dd{margin:0; word-break:break-word; white-space:pre-line}
.dwhois__kaynak{margin:8px 0 0; font-size:.72rem; opacity:.7}

@media (max-width:420px){
  .dwhois{grid-template-columns:1fr; gap:1px 0}
  .dwhois dd{margin-bottom:6px}
}

.dres__not{
  display:inline-flex; align-items:center; gap:5px;
  font-size:.7rem; font-weight:600; color:var(--buy-text);
  background:var(--buy-soft); border-radius:6px; padding:3px 8px; white-space:nowrap;
}

/* Bilgi / bekleme satiri */
.dres--bilgi{
  grid-column:1/-1; flex-direction:row; align-items:center; gap:10px;
  justify-content:center; color:var(--muted); font-size:.88rem;
  background:var(--surface-2); border-style:dashed;
}
.dres--hata{color:var(--signal); background:#FDF0EF; border-color:#F3C9C6; border-style:solid}
.dres--bilgi .spin{
  width:15px; height:15px; flex:none; border-radius:50%;
  border:2px solid var(--line-2); border-top-color:var(--brand);
  animation:donuyor .7s linear infinite;
}
@keyframes donuyor{to{transform:rotate(360deg)}}

/* Tescil / transfer talep formu */
.dtalep{
  margin-top:18px; padding:20px; border-radius:12px;
  background:var(--tint); border:1px solid var(--line-2);
  animation:dtalepAc .22s ease;
}
@keyframes dtalepAc{from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:none}}
.dtalep__bas{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.dtalep__bas h3{margin:2px 0 0; font-size:1.05rem; font-family:var(--f-mono); word-break:break-all}
.dtalep__kapat{
  flex:none; width:30px; height:30px; border-radius:8px; cursor:pointer;
  border:1px solid var(--line-2); background:var(--surface);
  color:var(--muted); font-size:19px; line-height:1;
}
.dtalep__kapat:hover{color:var(--text); border-color:var(--muted)}
.dtalep__aciklama{margin:10px 0 16px; font-size:.86rem; color:var(--text-2); line-height:1.65}
.dtalep__izgara{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px}
.dtalep__tam{grid-column:1/-1}
.dtalep .field small{font-size:.74rem; color:var(--muted)}
.dtalep__alt{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-top:16px;
}
.dtalep__uyari{margin:0; font-size:.84rem; color:var(--signal); font-weight:600; min-height:1em}
.dtalep__uyari.ok{color:var(--green-text)}
.dtalep .field input[aria-invalid="true"],
.dtalep .field textarea[aria-invalid="true"]{border-color:var(--signal); background:#FDF4F3}

/* Talep gonderildi kutusu */
.dtalep--bitti{text-align:center; padding:30px 22px; background:var(--green-soft); border-color:#BFE3CE}
.dtalep--bitti .dtalep__im{
  width:52px; height:52px; margin:0 auto 12px; border-radius:50%;
  display:grid; place-items:center; background:var(--surface); color:var(--green);
  font-size:24px; font-weight:700;
}
.dtalep--bitti h3{font-family:inherit; color:var(--green-text)}
.dtalep--bitti p{margin:8px 0 0; font-size:.9rem; color:var(--text-2)}
.dtalep--bitti .no{
  display:inline-block; margin-top:12px; padding:6px 14px; border-radius:8px;
  background:var(--surface); border:1px solid var(--line);
  font-family:var(--f-mono); font-weight:700; color:var(--text);
}

/* Sonuc ozeti */
.dsum{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--line);
  font-size:.86rem; color:var(--text-2);
}
.dsum b{color:var(--green-text)}

@media (max-width:520px){
  .dres-box{grid-template-columns:1fr}
  .dres__ad{font-size:.88rem}
}



@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
  .shotbox{animation:none}
}


/* =====================================================================
   RESPONSIVE DUZELTMELERI
   ===================================================================== */

/* --- Menu: masaustu ve mobil menu ASLA ayni anda gorunmez --- */
@media (max-width:1120px){
  .nav-links{display:none !important}
  .dd-panel{display:none !important}
  .burger{display:inline-flex !important}
  /* Cekmece gorunurlugu transform + visibility ile yonetilir
     (bkz. .mnav). Burada display'e DOKUNULMAZ: display:none verilirse
     acilis animasyonu calismaz ve odak yonetimi bozulur. */
}
@media (min-width:1121px){
  .nav .mnav{display:none !important}
  .burger{display:none !important}
}

/* --- Tablet (1120px alti) --- */
@media (max-width:1120px){
  .hero .wrap{padding-block:40px 46px}
  .shotbox{max-width:420px}
  .hero-title{margin-top:14px}
}

/* --- Kucuk tablet / buyuk telefon --- */
@media (max-width:760px){
  .wrap{padding-inline:18px}
  .hero .wrap{padding-block:32px 38px}
  /* nokta deseni basligin altinda kaliyordu — kucuk ekranda kaldirildi */
  .hero::before{display:none}
  .shotbox{max-width:360px}
  .hero-lede{font-size:.97rem}
  .sec{padding-block:52px}
  .sec--tight{padding-block:36px}
  .head{margin-bottom:28px}
  .band .wrap{padding-block:38px}
  .foot-top{padding-block:38px}
}

/* --- Telefon --- */
@media (max-width:560px){
  .wrap{padding-inline:15px}
  .t-pct{font-size:clamp(2.3rem, 1.2rem + 6vw, 3rem)}
  .t-ink{font-size:clamp(1.7rem, .9rem + 4.6vw, 2.2rem)}
  .t-blue{font-size:clamp(1.35rem, .8rem + 3.4vw, 1.8rem)}
  .hero-rule{width:96px; margin-top:16px}
  .shotbox{max-width:100%}
  .hero-cta{gap:10px}
  .hero-cta .btn{flex:1 1 100%; justify-content:center}
  .badge{padding:13px 8px 11px}
  .badge b{font-size:.72rem}
  .badge svg{width:23px; height:23px; margin-bottom:7px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:17px 15px}
  .stat b{font-size:1.6rem}
  /* kampanya bayragi kart disina tasmasin */
  .pcard-flag{left:16px; font-size:.6rem; padding:3px 9px}
  .card{padding:20px}
  .price-now{font-size:1.95rem}
  .band .wrap{flex-direction:column; align-items:flex-start; gap:22px}
  .band-act{width:100%}
  .band-act .btn{flex:1 1 auto; justify-content:center}
  .foot-bottom{flex-direction:column; gap:8px}
  .crumb{font-size:.66rem}
  .pagehead .wrap{padding-block:30px 28px}
}

/* --- Cok dar telefon --- */
@media (max-width:380px){
  .badges{gap:8px}
  .badge b{font-size:.68rem}
  .brand-sub{display:none}
  .topbar{font-size:.74rem}
}

/* --- Yatay tasmayi kesin olarak engelle --- */
html,body{max-width:100%; overflow-x:hidden}
img,svg,table{max-width:100%}
.tablewrap{max-width:100%}


/* =====================================================================
   HERO GORSELI — arkada akan dalga cizgileri
   Uc katman farkli hiz, genlik ve yonde suzulur; gorsel one cikar.
   ===================================================================== */
.shotbox{overflow:visible}

.dalga{
  position:absolute;
  inset:-6% -20% -10% -20%;
  z-index:-1;
  pointer-events:none;
  display:block;
  /* kenarlarda yumusak sonlanma — cizgiler aniden kesilmesin */
  -webkit-mask-image:radial-gradient(78% 72% at 50% 52%, #000 42%, transparent 78%);
  mask-image:radial-gradient(78% 72% at 50% 52%, #000 42%, transparent 78%);
}
.dalga,
.dalga::before,
.dalga::after{
  background-repeat:repeat-x;
  background-position:0 50%;
}
.dalga::before,
.dalga::after{
  content:"";
  position:absolute;
  inset:0;
}

/* ust katman — genis genlik, yavas */
.dalga{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='150' viewBox='0 0 420 150' preserveAspectRatio='none'%3E%3Cpath d='M0,75 C52,28 105,122 210,75 C315,28 368,122 420,75' fill='none' stroke='%231580D0' stroke-width='2.2' stroke-linecap='round' stroke-opacity='.34'/%3E%3C/svg%3E");
  background-size:420px 62%;
  animation:dalga-ak 26s linear infinite;
}
/* orta katman — ters yon, daha ince */
.dalga::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='150' viewBox='0 0 340 150' preserveAspectRatio='none'%3E%3Cpath d='M0,75 C42,44 85,106 170,75 C255,44 298,106 340,75' fill='none' stroke='%230C5FAE' stroke-width='1.6' stroke-linecap='round' stroke-opacity='.26'/%3E%3C/svg%3E");
  background-size:340px 84%;
  animation:dalga-ak-ters 34s linear infinite;
}
/* alt katman — sik ve hizli, en soluk */
.dalga::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='150' viewBox='0 0 250 150' preserveAspectRatio='none'%3E%3Cpath d='M0,75 C31,56 62,94 125,75 C188,56 219,94 250,75' fill='none' stroke='%2348A0E0' stroke-width='1.3' stroke-linecap='round' stroke-opacity='.2'/%3E%3C/svg%3E");
  background-size:250px 108%;
  animation:dalga-ak 19s linear infinite;
}

@keyframes dalga-ak      {from{background-position-x:0}    to{background-position-x:-420px}}
@keyframes dalga-ak-ters {from{background-position-x:0}    to{background-position-x:340px}}

/* karanlik temada cizgiler biraz daha belirgin olmali */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .dalga{filter:brightness(1.75) saturate(1.15)}
}
:root[data-theme="dark"] .dalga{filter:brightness(1.75) saturate(1.15)}

/* tablet ve altinda dalgalar sadelesir */
@media (max-width:1120px){
  .dalga{inset:-4% -14% -8% -14%}
  .dalga::after{display:none}
}
@media (max-width:560px){
  .dalga{inset:0 -8%; opacity:.7}
  .dalga::before{display:none}
}

@media (prefers-reduced-motion: reduce){
  .dalga,.dalga::before,.dalga::after{animation:none}
}


/* =====================================================================
   HERO GORSELI — saga asagi dusen golge
   Golge renkleri token uzerinden; boylece tema x ekran boyutu
   kombinasyonlarinin hepsinde dogru renk uygulanir.
   drop-shadow seffaf PNG'nin siluetini izler: golge cihazlarin kendi
   bicimine gore duser, dikdortgen bir leke olusmaz.
   ===================================================================== */
:root{
  --sg-yakin:rgba(15,40,70,.16);
  --sg-orta:rgba(15,40,70,.20);
  --sg-uzak:rgba(15,40,70,.12);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --sg-yakin:rgba(0,0,0,.52);
    --sg-orta:rgba(0,0,0,.44);
    --sg-uzak:rgba(0,0,0,.32);
  }
}
:root[data-theme="dark"]{
  --sg-yakin:rgba(0,0,0,.52);
  --sg-orta:rgba(0,0,0,.44);
  --sg-uzak:rgba(0,0,0,.32);
}

.shotbox img{
  filter:
    drop-shadow(10px 14px 18px var(--sg-yakin))
    drop-shadow(26px 34px 44px var(--sg-orta))
    drop-shadow(48px 62px 78px var(--sg-uzak));
  transition:filter .4s ease, transform .35s ease;
}
.shotbox:hover img{
  filter:
    drop-shadow(12px 17px 22px var(--sg-yakin))
    drop-shadow(32px 42px 54px var(--sg-orta))
    drop-shadow(62px 80px 94px var(--sg-uzak));
}

/* isik sol ustten geliyor: hale merkezi de o yona kaysin */
.shotbox::before{
  background:radial-gradient(54% 50% at 42% 47%, rgba(21,128,208,.28), transparent 72%);
}

/* dar ekranda golge kisalir — yatay tasma yapmasin */
@media (max-width:760px){
  .shotbox img{
    filter:
      drop-shadow(6px 9px 12px var(--sg-yakin))
      drop-shadow(18px 24px 32px var(--sg-orta));
  }
  .shotbox:hover img{
    filter:
      drop-shadow(7px 11px 14px var(--sg-yakin))
      drop-shadow(22px 29px 38px var(--sg-orta));
  }
}


/* --- logo: dar ekranda tasmasin --- */
@media (max-width:560px){
  .brand{gap:10px}
  .brand-name{font-size:1.24rem}
  .brand-mark{width:32px; height:32px; font-size:1rem; border-radius:9px}
  .brand-sub{font-size:.51rem; letter-spacing:.13em; margin-top:2px}
}
@media (max-width:380px){
  .brand-name{font-size:1.1rem}
  .brand-mark{width:35px; height:35px; font-size:1rem}
  .brand-sub{display:none}
}



/* --- hero vurgu satiri --- */
.hero-vurgu{
  margin-top:20px;
  font-family:var(--f-display); font-weight:800;
  font-size:clamp(1rem, .82rem + .62vw, 1.22rem);
  letter-spacing:-.012em; line-height:1.25; color:var(--text);
}
.hero-vurgu + .hero-lede{margin-top:10px}
@media (max-width:560px){
  .hero-vurgu{font-size:1rem; margin-top:16px}
}


/* --- ust seritteki eylem baglantisi (Musteri Paneli) ---
   Solundaki telefon/saat/e-posta bilgi metni; bu ise tiklanacak bir eylem.
   Rozet bicimi ikisini birbirinden ayirir ve mavi zeminde one cikarir. */
.topbar-cta{
  display:inline-flex; align-items:center; gap:7px;
  padding:4px 13px 4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.34);
  color:#fff !important;
  font-weight:600; letter-spacing:.005em;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease;
}
.topbar-cta svg{width:13px; height:13px; opacity:.95}
.topbar-cta:hover{
  background:#fff; border-color:#fff;
  color:var(--brand-deep) !important;
}
@media (max-width:560px){
  .topbar-cta{padding:3px 10px 3px 8px; gap:5px}
  .topbar-cta svg{width:12px; height:12px}
}

/* acilir panel basligi: veride yazilan satir sonlari korunur */
.dd-aside .dd-panel-baslik{white-space:pre-line}


/* =====================================================================
   GOMULU HARITA — footer ustu, tam genislik
   ===================================================================== */
.harita{
  position:relative;
  line-height:0;                    /* iframe altindaki bosluk kalksin */
  border-top:1px solid var(--line);
  background:var(--surface-2);
}
.harita iframe{
  display:block; width:100%; height:400px; border:0;
  /* haritayi site paletine yaklastir: hafif doygunluk dusur */
  filter:saturate(.88) contrast(1.02);
}
/* harita uzerine oturan adres rozeti */
.harita-rozet{
  position:absolute; left:max(22px, calc((100% - var(--wrap)) / 2 + 22px)); bottom:26px;
  display:inline-flex; align-items:center; gap:12px;
  padding:13px 18px 13px 14px; border-radius:13px;
  background:var(--surface); border:1px solid var(--line);
  box-shadow:0 14px 34px -14px rgba(15,40,70,.4);
  line-height:1.35; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.harita-rozet:hover{
  transform:translateY(-2px); border-color:var(--brand-lit);
  box-shadow:0 20px 42px -16px rgba(15,40,70,.5);
}
.harita-rozet svg{width:22px; height:22px; flex:none; color:var(--brand)}
.harita-rozet strong{display:block; font-size:.93rem; color:var(--text)}
.harita-rozet > span > span{display:block; font-size:.79rem; color:var(--muted); margin-top:2px}

@media (max-width:760px){
  .harita iframe{height:300px}
  .harita-rozet{left:15px; right:15px; bottom:15px; padding:11px 14px 11px 12px}
  .harita-rozet strong{font-size:.87rem}
  .harita-rozet > span > span{font-size:.74rem}
}
@media (max-width:420px){
  .harita iframe{height:250px}
}


/* =====================================================================
   OLCUM BANDI — ana sayfa, hero altinda
   Tek bir yuzey icinde dort sutun; kart yerine ince ayrac kullanildi,
   boylece bolum "kutu yigini" degil tek bir kunye gibi okunur.
   ===================================================================== */
.olcum{
  display:grid; grid-template-columns:repeat(4,1fr);
  background:var(--surface);
  border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.olcum-oge{
  position:relative;
  padding:28px 22px 24px;
  text-align:center;
  transition:background-color .2s ease;
}
/* ayrac: kenarlara degmeyen ince cizgi */
.olcum-oge + .olcum-oge::before{
  content:""; position:absolute; left:0; top:22%; bottom:22%;
  width:1px; background:var(--line);
}
.olcum-oge:hover{background:var(--surface-2)}

.olcum-ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; margin-bottom:14px;
  border-radius:12px;
  background:var(--brand-soft); color:var(--brand);
}
.olcum-ic svg{width:21px; height:21px; display:block}

.olcum-deger{
  display:flex; align-items:baseline; justify-content:center; gap:4px;
  font-family:var(--f-display); line-height:1;
}
.olcum-deger b{
  font-size:clamp(1.9rem, 1.3rem + 1.5vw, 2.5rem);
  font-weight:800; letter-spacing:-.045em; color:var(--text);
  font-variant-numeric:tabular-nums;
}
.olcum-deger i{
  font-style:normal; font-size:.95rem; font-weight:700;
  color:var(--brand); letter-spacing:-.01em;
}

.olcum-etiket{
  margin-top:10px;
  font-size:.86rem; font-weight:600; color:var(--text-2); line-height:1.35;
}
.olcum-not{
  margin-top:5px;
  font-family:var(--f-mono); font-size:.66rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted); line-height:1.4;
}

@media (max-width:860px){
  .olcum{grid-template-columns:repeat(2,1fr)}
  /* iki sutuna dusunce dikey ayrac yalnizca sag sutunda kalir */
  .olcum-oge + .olcum-oge::before{display:none}
  .olcum-oge:nth-child(2)::before,
  .olcum-oge:nth-child(4)::before{display:block}
  .olcum-oge:nth-child(3)::after,
  .olcum-oge:nth-child(4)::after{
    content:""; position:absolute; top:0; left:14%; right:14%;
    height:1px; background:var(--line);
  }
}
@media (max-width:480px){
  .olcum-oge{padding:22px 14px 20px}
  .olcum-ic{width:36px; height:36px; margin-bottom:11px; border-radius:10px}
  .olcum-ic svg{width:18px; height:18px}
  .olcum-etiket{font-size:.79rem}
  .olcum-not{font-size:.61rem}
}

/* Ekran okuyucuya görünür, gözle görünmez başlık */
.gizli-okuyucu { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
                 overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ============ HABER AKISI — soldan acilan serit ============ */
/*
 * Kap sol kenara sabitlenir ve KAPALIYKEN kendi genisligi kadar sola
 * otelenir; ekranda yalnizca kulp kalir. Basilinca oteleme sifirlanir ve
 * panel saga dogru acilir. Animasyon transform uzerinde yurur (yerlesim
 * hesabi tetiklemez), panelin kendi ic kaydirmasi bundan etkilenmez.
 *
 * z-index 70: yapiskan menunun (.nav, 60) ustunde, "icerige gec"
 * baglantisinin (.skip, 200) altinda.
 */
.haberbar{
  --hb-en:322px;
  position:fixed; left:0; top:50%; z-index:70;
  display:flex; align-items:flex-start;
  transform:translate(calc(-1 * var(--hb-en)), -50%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
}
.haberbar.is-acik{transform:translate(0, -50%)}

/* Panel kapaliyken klavyeyle icine sekme yapilamasin. Gorunurluk
   gecisi kapanma animasyonu bittikten SONRA uygulanir; yoksa panel
   sola kaymadan aninda kaybolur. */
.haberbar__panel{
  width:var(--hb-en);
  display:flex; flex-direction:column;
  max-height:min(72vh, 640px);
  background:var(--surface);
  border:1px solid var(--line);
  border-left:0;
  border-radius:0 var(--radius-lg) var(--radius-lg) 0;
  box-shadow:var(--shadow-lift);
  overflow:hidden;
  visibility:hidden;
  transition:visibility 0s linear .38s;
}
.haberbar.is-acik .haberbar__panel{visibility:visible; transition-delay:0s}

/* --- Baslik seridi --- */
.haberbar__bas{
  display:flex; align-items:center; gap:9px;
  padding:13px 12px 13px 16px;
  background:var(--ink); color:var(--ink-text);
  border-bottom:1px solid var(--ink-line);
}
.haberbar__baslik{
  margin:0; flex:1; min-width:0;
  font-family:var(--f-display); font-size:.95rem; font-weight:700;
  letter-spacing:-.01em; color:var(--ink-text);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
/*
 * Nabiz halkasi transform+opacity ile cizilir; box-shadow canlandirmak
 * her karede BOYAMA gerektiriyordu. Ikisi de sonsuz dongude calistigi
 * icin fark birikiyor.
 */
.haberbar__nabiz{
  width:9px; height:9px; border-radius:50%; flex:none; position:relative;
  background:var(--signal);
}
.haberbar__nabiz::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:rgba(212,42,32,.55);
  animation:haberbar-nabiz 2s ease-out infinite;
}
@keyframes haberbar-nabiz{
  0%  {transform:scale(1);   opacity:.55}
  70% {transform:scale(2.9); opacity:0}
  100%{transform:scale(2.9); opacity:0}
}
.haberbar__kapat{
  flex:none; display:grid; place-items:center;
  width:28px; height:28px; padding:0;
  background:none; border:0; border-radius:8px; cursor:pointer;
  color:var(--ink-muted);
}
.haberbar__kapat svg{width:16px; height:16px}
.haberbar__kapat:hover{background:rgba(255,255,255,.1); color:#fff}

/* --- Liste --- */
.haberbar__liste{
  list-style:none; margin:0; padding:0;
  overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:var(--line-2) transparent;
}
.haberbar__liste::-webkit-scrollbar{width:7px}
.haberbar__liste::-webkit-scrollbar-thumb{background:var(--line-2); border-radius:4px}
.haberbar__oge + .haberbar__oge{border-top:1px solid var(--line)}
.haberbar__oge a{
  display:flex; gap:11px; align-items:flex-start;
  padding:11px 14px; text-decoration:none; color:inherit;
  transition:background .15s ease;
}
.haberbar__oge a:hover{background:var(--surface-2)}
.haberbar__gorsel{
  flex:none; width:72px; height:54px;
  object-fit:cover; border-radius:9px;
  background:var(--surface-3); border:1px solid var(--line);
}
.haberbar__metin{display:flex; flex-direction:column; gap:3px; min-width:0}
/* Kategori solda, tarih saginda — tek satir. Uzun kategori adi
   tarihi asagi itmesin diye kategori kisaltilir, tarih hic kirilmaz. */
.haberbar__ust{display:flex; align-items:baseline; gap:8px}
.haberbar__kat{
  font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--brand);
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
/* Baslik en fazla uc satir; uzun manset listeyi dagitmasin */
.haberbar__yazi{
  font-size:.855rem; line-height:1.4; font-weight:600; color:var(--text);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  line-clamp:3; overflow:hidden;
}
.haberbar__oge a:hover .haberbar__yazi{color:var(--brand)}
.haberbar__zaman{
  flex:none; margin-left:auto; white-space:nowrap;
  font-size:.72rem; color:var(--muted); font-variant-numeric:tabular-nums;
}

.haberbar__alt{border-top:1px solid var(--line); background:var(--surface-2)}
.haberbar__alt a{
  display:flex; align-items:center; justify-content:center; gap:6px;
  padding:10px; font-size:.82rem; font-weight:600;
  color:var(--brand); text-decoration:none;
}
.haberbar__alt a:hover{background:var(--brand-soft)}
.haberbar__alt svg{width:15px; height:15px}

/* --- Kulp --- */
/* Dikey yazi: writing-mode ile cevrilir, boylece serit dar kalir ve
   baslik metni ne olursa olsun sigar. */
.haberbar__kulp{
  flex:none; display:flex; align-items:center; gap:9px;
  padding:16px 7px; align-self:center;
  writing-mode:vertical-rl;
  background:var(--brand); color:#fff;
  border:0; border-radius:0 12px 12px 0;
  box-shadow:var(--shadow-card);
  cursor:pointer; font-family:var(--f-display); font-size:.8rem; font-weight:700;
  letter-spacing:.02em;
  transition:background .18s ease, padding .18s ease;
}
.haberbar__kulp:hover{background:var(--brand-lit); padding-inline:9px}
.haberbar__kulp-yazi{white-space:nowrap}
/* Ok, dugmenin ne YAPACAGINI gosterir: kapaliyken saga (panel saga acilir),
   acikken sola (panel sola kapanir). */
.haberbar__kulp-ok{width:16px; height:16px; transition:rotate .38s ease}
.haberbar.is-acik .haberbar__kulp-ok{rotate:180deg}
.haberbar__kulp-sayi{
  display:grid; place-items:center; min-width:19px; padding:3px 0;
  background:rgba(255,255,255,.22); border-radius:999px;
  font-size:.68rem; font-weight:700;
}

@media (max-width:520px){
  .haberbar{--hb-en:min(86vw, 322px)}
  .haberbar__panel{max-height:min(66vh, 520px)}
  .haberbar__kulp{font-size:.74rem; padding:13px 6px}
}
/* Yer darsa serit yalnizca kulp olarak kalir; panel zaten kaydirilabilir */
@media (max-height:430px){
  .haberbar__panel{max-height:80vh}
}
@media (prefers-reduced-motion:reduce){
  .haberbar, .haberbar__kulp-ok{transition:none}
  .haberbar__nabiz{animation:none}
}

/* ============ MOBIL ALT CUBUK ============ */
/*
 * Telefonda ekranin altina sabitlenen, uygulama tarzi dort maddelik menu.
 * 760 px ustunde HIC cizilmez — genis ekranda ust menu zaten var. Esik
 * BILINCLI olarak telefonla sinirli: burger esigine (1120 px) cekilseydi
 * tabletlerde ve daraltilmis masaustu pencerelerinde de gorunurdu.
 *
 * z-index 80: yapiskan menunun (.nav, 60), efekt siluetinin (61) ve haber
 * seridinin (.haberbar, 70) USTUNDE; "Icerige gec" baglantisinin
 * (.skip, 200) ALTINDA.
 *
 * UYARI: cubugun herhangi bir atasina filter/transform/backdrop-filter
 * verilirse sabit konumlanma kirilir (bkz. :root.yas-tonlama notu).
 */
:root{--altbar-h:56px}

/* ============ SAYFA BASINA DON ============
 *
 * Sohbet robotunun SOLUNDA durur. Robot (.duru) sagdan 22 px'te baslar ve
 * maskotlu halde 74 px genistir; sagdan 22-96 px arasi ONUNDUR. Buton 108
 * px'ten baslar, arada 12 px nefes payi kalir. Bu sayilar robot widget'inin
 * kendi olculeridir; orasi ayri bir uygulama oldugu icin buradan
 * degistirilemez, bu yuzden pay birakilarak sabit yazildi.
 *
 * z-index kasten DUSUK: robot paneli 2147483000 ile acilir ve mobilde tam
 * ekran kaplar — buton onun altinda kalmalidir. Mobil alt cubuk (80) da
 * ustte kalir; zaten buton orada cubugun uzerine tasinir.
 */
.ustcik{
  position:fixed; right:108px; bottom:22px; z-index:75;
  width:46px; height:46px; padding:0;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%;
  background:var(--surface); color:var(--text);
  box-shadow:0 10px 26px -12px rgba(15,40,70,.5);
  cursor:pointer;
  opacity:0; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, background .15s ease,
             color .15s ease, border-color .15s ease;
}
.ustcik.is-on{opacity:1; transform:none}
.ustcik svg{width:20px; height:20px}
.ustcik:hover{background:var(--buy-dolgu); border-color:var(--buy-dolgu); color:#fff}
.ustcik:focus-visible{outline:3px solid var(--brand); outline-offset:3px}
.ustcik:active{transform:translateY(1px)}

/* Mobilde alt cubuk (56 px + iPhone alt seridi) ekranin dibini kapatir;
   buton onun UZERINE cikar. Yatayda zaten robotun solunda oldugu icin
   yukselmek ustuste binme yaratmaz. */
@media (max-width:760px){
  .ustcik{
    bottom:calc(var(--altbar-h) + env(safe-area-inset-bottom, 0px) + 14px);
    width:42px; height:42px;
  }
  .ustcik svg{width:18px; height:18px}
}

@media (prefers-reduced-motion: reduce){
  .ustcik{transition:opacity .2s ease; transform:none}
  .ustcik.is-on{transform:none}
}

.altbar{display:none}

@media (max-width:760px){
  .altbar{
    display:grid; grid-template-columns:repeat(4,1fr);
    position:fixed; left:0; right:0; bottom:0; z-index:80;
    background:var(--surface);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 24px -14px rgba(15,40,70,.45);
    /* iPhone'un alt serit alani (home indicator) — cubuk oraya tasmasin */
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }

  .altbar__oge{
    position:relative;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    /* 56 px: WCAG 2.5.8'in istedigi 24 px'in de, Apple'in onerdigi
       44 px'lik dokunma hedefinin de uzerinde */
    min-height:var(--altbar-h); padding:9px 4px 8px;
    color:var(--muted); text-decoration:none; text-align:center;
    font-size:.67rem; font-weight:600; line-height:1.15;
    -webkit-tap-highlight-color:transparent;
    transition:color .15s ease, background .15s ease;
  }
  .altbar__oge svg{width:22px; height:22px; flex:none}
  .altbar__oge span{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
  .altbar__oge:active{background:var(--surface-2)}
  /* Odak halkasi ekran kenarinda kirpilmasin */
  .altbar__oge:focus-visible{outline-offset:-3px}

  /* Bulundugun sayfa: renk + ustte kisa cizgi */
  .altbar__oge.is-on{color:var(--brand)}
  .altbar__oge.is-on::before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:30px; height:3px; border-radius:0 0 3px 3px; background:var(--brand);
  }

  /* Sayfanin sonu cubugun ARKASINDA kalmasin */
  body{padding-bottom:calc(var(--altbar-h) + env(safe-area-inset-bottom, 0px))}

  /* Haber seridi, cubuktan artan alanin ortasina hizalanir */
  .haberbar{top:calc(50% - (var(--altbar-h) / 2))}

  /*
   * Sohbet widget'i (.duru) stilini calisma aninda <head>'e enjekte edip
   * bottom:22px veriyor ve maskot dugmesi ~138 px yuksekliginde: oldugu
   * yerde birakilirsa cubugun EN SAG sekmesini yutar, tiklanamaz olur.
   * Ikili sinif (.duru.duru) ozgullugu 0-2-0 yapar ve enjekte edilen
   * 0-1-0 kurali kaynak sirasindan bagimsiz yener — !important gerekmez.
   */
  .duru.duru{bottom:calc(var(--altbar-h) + 16px + env(safe-area-inset-bottom, 0px))}
}

/* Cok dar telefonlarda yazi tasmasin */
@media (max-width:340px){
  .altbar__oge{font-size:.62rem; gap:3px}
  .altbar__oge svg{width:20px; height:20px}
}

/* Yatay telefon: haber paneli 80vh iken cubugun altina giriyordu */
@media (max-width:760px) and (max-height:430px){
  .haberbar__panel{max-height:calc(80vh - var(--altbar-h))}
}

@media print{
  .altbar{display:none !important}
  body{padding-bottom:0}
}

/* ============ MARKA LOGOSU ============ */
/*
 * Panelden logo secildiginde ust bardaki yazili marka blogunun yerine
 * bu gorsel gecer (Ayarlar > Logo ve simge).
 *
 * SIKISMA IMKANSIZ: yalnizca YUKSEKLIK verilir, genislik 'auto' kalir —
 * tarayici oram kendisi korur. Dar ekranda max-width devreye girerse de
 * object-fit:contain gorseli ezmek yerine kucultur. Hicbir kuralda
 * width ile height AYNI ANDA sabit deger almaz; alsalardi oran bozulurdu.
 *
 * --logo-h: panelden gelen cizim yuksekligi (satir ici stil ile basilir).
 */
.brand-logo{
  display:block;
  height:var(--logo-h, 42px);
  width:auto;
  max-width:min(58vw, 340px);
  object-fit:contain;
  object-position:left center;
}

/* Logo varken kutucuk ile yazi arasindaki bosluga gerek yok */
.brand--logo{gap:0}

@media (max-width:1120px){
  .brand-logo{max-width:min(52vw, 300px)}
}
@media (max-width:760px){
  /* Telefonda ust bar daralir; logo oransal olarak kuculur, EZILMEZ */
  .brand-logo{height:calc(var(--logo-h, 42px) * .82); max-width:min(60vw, 240px)}
}
@media (max-width:380px){
  .brand-logo{height:calc(var(--logo-h, 42px) * .72); max-width:56vw}
}

/* ============ ANA SAYFA — YAPAY ZEKA BOLUMU ============ */
/*
 * Koyu, temadan bagimsiz bir ayrisma bolumu. Renkler yapay zeka
 * sayfasindaki (.yz-hero) sozlesmenin aynisi; iki sayfa ayni dili konussun.
 * Kontrastlar orada olculdu: #EAF3FB 15.9:1, #9DB6CC 7.3:1, #5FB8F5 7.2:1.
 */
.zeka{
  --z-metin:#EAF3FB; --z-soluk:#9DB6CC; --z-vurgu:#5FB8F5;
  position:relative; overflow:hidden; padding-block:66px;
  background:
    radial-gradient(110% 90% at 82% 6%, #123049 0%, transparent 58%),
    linear-gradient(165deg, #0E2A40 0%, #0A2337 55%, #071726 100%);
  color:var(--z-metin);
}
.zeka .wrap{position:relative; z-index:2}
.zeka__izgara{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(rgba(95,184,245,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95,184,245,.10) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(78% 70% at 50% 42%, #000 25%, transparent 100%);
          mask-image:radial-gradient(78% 70% at 50% 42%, #000 25%, transparent 100%);
}
.zeka__parlama{
  position:absolute; z-index:1; pointer-events:none;
  width:520px; height:520px; right:-110px; top:-180px;
  background:radial-gradient(circle, rgba(21,128,208,.32) 0%, transparent 62%);
}
.zeka__grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:46px; align-items:center}
.zeka__baslik{
  font-family:var(--f-display); font-weight:800; letter-spacing:-.04em; line-height:1.08;
  font-size:clamp(1.9rem, 3.6vw, 2.85rem); margin:14px 0 0; color:var(--z-metin);
}
.zeka__baslik span{color:var(--z-vurgu)}
.zeka__lede{color:var(--z-soluk); font-size:1.04rem; line-height:1.68; margin-top:15px; max-width:56ch}

.zeka__liste{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:13px}
.zeka__liste li{display:flex; gap:11px; align-items:flex-start; font-size:.92rem; line-height:1.6; color:var(--z-soluk)}
.zeka__liste strong{color:var(--z-metin); font-weight:600}
.zeka__liste svg{width:21px; height:21px; flex:none; color:var(--z-vurgu); margin-top:1px}

.zeka__diller{display:flex; flex-wrap:wrap; gap:7px; margin-top:20px}
.zeka__dil{
  padding:5px 11px; border-radius:999px; font-size:.76rem; font-weight:600;
  border:1px solid rgba(95,184,245,.32); background:rgba(95,184,245,.10); color:var(--z-metin);
}
.zeka__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.zeka__not{margin:16px 0 0; font-size:.82rem; line-height:1.6; color:var(--z-soluk); max-width:52ch}

/* --- Editor maketi (tamamen CSS, gorsel dosyasi yok) --- */
.zeka__maket{position:relative; display:grid; place-items:center; min-height:330px}
.zmak{
  width:100%; max-width:390px; border-radius:16px; overflow:hidden;
  border:1px solid rgba(95,184,245,.28); background:rgba(7,23,38,.78);
  box-shadow:0 26px 60px -30px rgba(0,0,0,.9);
}
.zmak__bas{
  display:flex; align-items:center; gap:6px; padding:11px 14px;
  border-bottom:1px solid rgba(95,184,245,.20); background:rgba(234,243,251,.045);
}
.zmak__nokta{width:9px; height:9px; border-radius:50%; background:rgba(157,182,204,.42)}
.zmak__ad{
  margin-left:8px; font-family:var(--f-mono); font-size:.68rem; letter-spacing:.09em;
  text-transform:uppercase; color:var(--z-soluk);
}
.zmak__govde{padding:16px 15px 14px}
.zmak__kaynaklar{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:15px}
.zmak__kaynak{
  padding:4px 9px; border-radius:6px; font-size:.68rem; font-weight:600;
  background:rgba(95,184,245,.13); border:1px solid rgba(95,184,245,.26); color:var(--z-vurgu);
}
/* Metin satirlari: gercek yazi degil, sematik cubuklar */
.zmak__satir{height:9px; border-radius:5px; background:rgba(157,182,204,.26); margin-bottom:9px}
.zmak__satir--baslik{height:14px; width:68%; background:rgba(234,243,251,.55)}
/*
 * Yazilmakta olan satir.
 *
 * DIKKAT: eskiden "width" canlandiriliyordu. width bir YERLESIM ozelligidir;
 * sonsuz dongude canlandirilinca tarayici HER KAREDE yerlesimi yeniden
 * hesapliyor ve ana is parcacigi hic bosalmiyordu (Lighthouse: Speed Index
 * 5,1 sn, TBT 2.660 ms). transform ise bilesik katmanda calisir, yerlesime
 * dokunmaz. Bu animasyonu width/height ile YAZMAYIN.
 *
 * Imlec kaldirildi: konumu cubugun ucuna bagliydi ve transform ile birlikte
 * o da olceklenirdi. Buyuyup kuculen cubuk tek basina "yaziliyor" izlenimi
 * veriyor.
 */
.zmak__satir--yazan{
  width:88%; background:rgba(95,184,245,.55);
  transform-origin:left center;
  animation:zmak-yaz 4.2s ease-in-out infinite;
}
.zmak__alt{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:15px; padding-top:13px; border-top:1px solid rgba(95,184,245,.18);
}
.zmak__rozet{
  padding:4px 10px; border-radius:999px; font-size:.7rem; font-weight:700;
  background:rgba(223,98,9,.18); border:1px solid rgba(232,130,58,.5); color:#F0A268;
}
.zmak__sayac{font-family:var(--f-mono); font-size:.7rem; color:var(--z-soluk)}

@keyframes zmak-yaz{
  0%,8%    {transform:scaleX(.14)}
  55%,70%  {transform:scaleX(1)}
  100%     {transform:scaleX(.14)}
}

/* Robot maketin sag alt kosesinde durur; buyutulmez (184x276 uretilmis) */
.zeka__robot{
  position:absolute; right:-6px; bottom:-14px; z-index:3;
  width:132px; height:auto;
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.6));
  pointer-events:none;
}

@media (max-width:980px){
  .zeka__grid{grid-template-columns:1fr; gap:34px}
  .zeka__maket{min-height:290px}
}
@media (max-width:760px){
  .zeka{padding-block:48px}
  .zeka__izgara{background-size:40px 40px}
  .zeka__robot{width:104px; right:0; bottom:-10px}
}
@media (prefers-reduced-motion:reduce){
  .zmak__satir--yazan{animation:none; transform:scaleX(.7)}
}

/* ============ ANA SAYFA — BASIN KARTI BOLUMU ============ */
/*
 * Sol kolon BILEREK genis: metin dar kolonda cok satira yayilinca bolum
 * asagi dogru uzuyordu. Kart ise dar kalmasin diye sag kenarda sarmalayicinin
 * biraz DISINA tasar (asagidaki 1280px kurali) — boylece metin de genisler,
 * kart da kuculmez.
 */
.prestij{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:28px; align-items:center}
.prestij__liste{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px}
.prestij__liste li{display:flex; gap:10px; align-items:center; font-size:.94rem; color:var(--text-2)}
.prestij__liste svg{width:21px; height:21px; flex:none; color:var(--brand)}
.prestij__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.prestij__kart{display:grid; place-items:center; justify-self:end}

/*
 * Basin karti gorseli.
 * Seffaf PNG/WebP; olcusu kolonu asmaz, orani KORUNUR (yalnizca genislik
 * verilir, yukseklik auto kalir). Hafif bir egim ve golge derinlik verir.
 */
.bkart-gorsel{
  display:block; width:100%; max-width:500px; height:auto;
  filter:drop-shadow(0 22px 34px rgba(10,35,55,.28));
  transform:rotate(-2.5deg);
  transition:transform .3s ease;
}
.prestij__kart:hover .bkart-gorsel{transform:rotate(0deg) scale(1.02)}

/* Sarmalayici (1180px) ile pencere arasinda bosluk kaldigi genisliklerde
   kart saga tasar. Dar ekranda tasmaz — yatay kaydirma cikmasin. */
@media (min-width:1300px){
  .prestij__kart{margin-right:-46px}
}

@media (max-width:980px){
  .prestij{grid-template-columns:1fr; gap:32px}
  .prestij__kart{order:-1}   /* telefonda once kart gorunsun: goz once gorseli alir */
}

/* ============ ILETISIM SAYFASI ============ */
/*
 * Sayfa eskiden 28 adet satir ici style="" niteligi tasiyordu; bosluk ve
 * tipografi sitenin tasarim dilinden degil tek tek elden geliyordu ve
 * kutular birbirini tutmuyordu. Hepsi buraya tasindi.
 */
.ilet-duzen{align-items:start}
.ilet-baslik{margin-top:0}
.ilet-yan{display:grid; gap:18px}

.ilet-form{display:grid; gap:15px; margin-top:20px}
.ilet-ikili{gap:15px}
.ilet-bildirim{margin-top:18px}
.ilet-kvkk{font-size:.8rem; color:var(--muted)}
.zorunlu-yildiz{color:var(--buy)}

/* --- Iletisim kalemleri --- */
/* Tiklanabilir olduklari belli olsun diye kart gibi cizilir; uzerine
   gelince kenarlik markaya doner ve ok saga kayar. */
.ilet-liste{display:grid; gap:9px; margin-top:17px}
.ilet-oge{
  display:flex; align-items:center; gap:13px;
  padding:12px 13px; border-radius:12px;
  border:1px solid var(--line); background:var(--surface);
  text-decoration:none; color:inherit;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.ilet-oge:hover{border-color:var(--brand-lit); background:var(--brand-soft); transform:translateX(2px)}
.ilet-oge__ik{
  display:grid; place-items:center; width:38px; height:38px; flex:none;
  border-radius:10px; background:var(--brand-soft); color:var(--brand);
}
.ilet-oge:hover .ilet-oge__ik{background:var(--surface)}
.ilet-oge__ik svg{width:19px; height:19px}
.ilet-oge__metin{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1}
.ilet-oge__metin strong{font-size:.95rem; color:var(--text); word-break:break-word}
.ilet-oge__metin span{font-size:.82rem; color:var(--muted)}
.ilet-oge__ok{width:15px; height:15px; flex:none; color:var(--line-2); transition:transform .16s ease, color .16s ease}
.ilet-oge:hover .ilet-oge__ok{color:var(--brand); transform:translateX(3px)}

/* --- Adres --- */
.ilet-adres{display:flex; gap:13px; align-items:flex-start; margin-top:16px}
.ilet-adres address{font-style:normal; line-height:1.6; display:grid; gap:2px}
.ilet-adres address strong{color:var(--text)}
.ilet-adres address span{color:var(--muted); font-size:.92rem}
.ilet-yol{margin-top:15px}
.ilet-yol svg{width:15px; height:15px}
.ilet-cta{margin-top:17px}

@media (max-width:760px){
  .ilet-oge__metin strong{font-size:.9rem}
}

/* Basligi olan bilgi kutusu — ikon ust satirda kalir, baslik ve metin yan sutunda akar */
.notice--baslikli > div{display:grid; gap:5px}
.notice__baslik{margin:0; line-height:1.3}

/* ============ KURUMSAL / KATEGORI LISTESI ============ */
/*
 * Iki ayri bicim: sik bakilan bilgi sayfalari genis kart, hukuki metinler
 * taranabilir liste. Ikisi de ayni ok ve gecis dilini kullanir.
 */
.kurum-izgara{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px}
/* Kartlar beyaz zeminde beyaz duruyordu; sayfa bombos gorunuyordu.
   Simdi hafif mavimsi bir gecis zemin, sol kenarda marka seridi ve
   degrade dolgulu ikon var. Renk SUS degil, karti zeminden ayirmak
   icin — bolum de beyaz, kart da beyazsa hicbir sey secilmiyor. */
.kurum-kart{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:15px;
  padding:20px 20px 20px 23px; border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(140deg, var(--tint) 0%, var(--surface) 62%);
  box-shadow:var(--shadow-card); text-decoration:none; color:inherit;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.kurum-kart::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--brand-lit), var(--brand-deep));
}
.kurum-kart:hover{border-color:var(--brand-lit); box-shadow:var(--shadow-lift); transform:translateY(-2px)}
.kurum-kart__ik{
  display:grid; place-items:center; width:48px; height:48px; flex:none;
  border-radius:13px; color:#fff;
  background:linear-gradient(145deg, var(--brand-lit), var(--brand-deep));
  box-shadow:0 7px 16px -9px var(--brand-deep);
}
.kurum-kart__ik svg{width:23px; height:23px}
.kurum-kart__govde{display:flex; flex-direction:column; gap:4px; min-width:0; flex:1}
.kurum-kart__ad{font-family:var(--f-display); font-weight:700; font-size:1.02rem; color:var(--text)}
.kurum-kart__ozet{font-size:.87rem; line-height:1.55; color:var(--text-2)}

/* --- Yasal metin listesi --- */
.kurum-liste{list-style:none; margin:0; padding:0; display:grid; gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.kurum-liste a{
  display:flex; align-items:center; gap:14px;
  padding:16px 18px; background:var(--surface);
  text-decoration:none; color:inherit; transition:background .16s ease;
}
.kurum-liste a:hover{background:var(--surface-2)}
.kurum-liste__ik{
  display:grid; place-items:center; width:38px; height:38px; flex:none;
  border-radius:10px; background:var(--brand-soft); color:var(--brand-deep);
}
.kurum-liste a:hover .kurum-liste__ik{background:var(--brand); color:#fff}
.kurum-liste__ik svg{width:19px; height:19px}
.kurum-liste__metin{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1}
.kurum-liste__metin strong{font-size:.96rem; color:var(--text)}
.kurum-liste__metin span{font-size:.84rem; line-height:1.5; color:var(--text-2)}

/* Ortak ok */
.kurum-ok{width:16px; height:16px; flex:none; color:var(--line-2);
  transition:transform .16s ease, color .16s ease}
.kurum-kart:hover .kurum-ok,
.kurum-liste a:hover .kurum-ok{color:var(--brand); transform:translateX(3px)}

.kurum-band__baslik{margin-top:12px}

@media (max-width:560px){
  .kurum-kart{padding:16px}
  .kurum-kart__ik{width:42px; height:42px}
  .kurum-liste a{padding:14px}
}

/* ============ HOSTING — ALTYAPI VE VERI MERKEZI ============ */
/*
 * Sunucu/veri merkezi gorselleri SATIN ALINMADI, kodla cizildi. Stok
 * fotograf hem telif yuku hem de sayfaya yuz KB bindirirdi; CSS ile
 * cizilen maket her ekranda net kalir ve marka renklerini birebir kullanir.
 */
/* --- Ozellik seridi ---
   Onceki hali dort ayri metin sutunuydu: kutu yok, cizgi yok, zemin yok.
   Sayfa basliginin hemen altinda bosta duruyor, sayfanin gucunu kiriyordu.
   Simdi TEK bir yukseltilmis panel: hucreler ince cizgilerle ayrilir, ust
   kenarda marka seridi vardir, ikonlar duz zemin yerine marka degradesi
   kullanir. Bolum artik "dort paragraf" degil, tek bir bilesen. */
.sec--serit{padding-block:44px 62px}
.ost-serit{
  position:relative; display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  border:1px solid var(--buy-line); border-radius:18px; overflow:hidden;
  background:var(--surface); box-shadow:var(--shadow-card);
}
/* Serit TURUNCU: sayfanin geri kalani mavi oldugu icin bu bolum bilincli
   olarak ayrisir. Turuncu normalde yalnizca "Satin al" eylemine ayrilmisti;
   burada eylem degil VURGU olarak kullanilir, o yuzden hicbir yerinde
   butona benzeyen dolgu yoktur — yalnizca cizgi ve ikon. */
.ost-serit::before{
  content:""; position:absolute; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg, var(--buy-deep), var(--buy-hi) 55%, var(--buy));
}
.ost-oge{padding:30px 26px 28px; transition:background .18s ease}
.ost-oge + .ost-oge{border-left:1px solid var(--buy-line)}
.ost-oge:hover{background:var(--buy-soft)}
/* Ikon zemini --buy degil --buy-dolgu: --buy beyazla 3.57:1 verir,
   ikon cizgileri beyaz oldugu icin 4.5:1 esigini gecen dolgu gerekir. */
.ost-oge__ik{
  display:grid; place-items:center; width:48px; height:48px;
  border-radius:14px; color:#fff;
  background:linear-gradient(145deg, var(--buy-dolgu), var(--buy-dolgu-koyu));
  box-shadow:0 7px 16px -9px var(--buy-deep);
}
.ost-oge__ik svg{width:23px; height:23px}
.ost-oge__ad{display:block; font-family:var(--f-display); font-weight:700; font-size:1.02rem;
  letter-spacing:-.012em; color:var(--text); margin:15px 0 7px}
/* Metin rengi --muted degil --text-2: soluk gri, beyaz panelde okunakli
   degildi ve bolumun zayif gorunmesinin sebeplerinden biriydi. */
.ost-oge p{font-size:.885rem; line-height:1.62; color:var(--text-2); margin:0}
@media (max-width:980px){
  .ost-serit{grid-template-columns:repeat(2, minmax(0,1fr))}
  .ost-oge + .ost-oge{border-left:0}
  .ost-oge:nth-child(2n){border-left:1px solid var(--buy-line)}
  .ost-oge:nth-child(n+3){border-top:1px solid var(--buy-line)}
}
@media (max-width:620px){
  .ost-serit{grid-template-columns:1fr}
  .ost-oge:nth-child(2n){border-left:0}
  .ost-oge + .ost-oge{border-top:1px solid var(--buy-line)}
}

/* --- Koyu veri merkezi bolumu --- */
.dc{
  --dc-metin:#EAF3FB; --dc-soluk:#9DB6CC; --dc-vurgu:#5FB8F5;
  position:relative; overflow:hidden; padding-block:66px;
  background:
    radial-gradient(110% 90% at 80% 6%, #123049 0%, transparent 58%),
    linear-gradient(165deg, #0E2A40 0%, #0A2337 55%, #071726 100%);
  color:var(--dc-metin);
}
.dc .wrap{position:relative; z-index:2}
.dc__izgara{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(rgba(95,184,245,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95,184,245,.09) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 40%, #000 25%, transparent 100%);
          mask-image:radial-gradient(80% 70% at 50% 40%, #000 25%, transparent 100%);
}
.dc__grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:44px; align-items:center}
.dc__baslik{font-family:var(--f-display); font-weight:800; letter-spacing:-.035em;
  font-size:clamp(1.8rem,3.2vw,2.5rem); line-height:1.1; margin:14px 0 0; color:var(--dc-metin)}
.dc__lede{color:var(--dc-soluk); font-size:1.02rem; line-height:1.68; margin-top:15px; max-width:56ch}
.dc__lede strong{color:var(--dc-metin)}
.dc__liste{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:13px}
.dc__liste li{display:flex; gap:11px; align-items:flex-start; font-size:.91rem; line-height:1.6; color:var(--dc-soluk)}
.dc__liste strong{color:var(--dc-metin); font-weight:600}
.dc__liste svg{width:21px; height:21px; flex:none; color:var(--dc-vurgu); margin-top:1px}
.dc__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}

/* --- Sunucu dolabi maketi --- */
.dc__maket{display:grid; place-items:center}
.rack{
  width:100%; max-width:330px; border-radius:14px; overflow:hidden;
  border:1px solid rgba(95,184,245,.28); background:rgba(7,23,38,.75);
  box-shadow:0 26px 60px -30px rgba(0,0,0,.9);
}
.rack__bas{
  display:flex; align-items:center; gap:8px; padding:11px 14px;
  border-bottom:1px solid rgba(95,184,245,.2); background:rgba(234,243,251,.045);
}
.rack__nokta{width:8px; height:8px; border-radius:50%; background:#3DBB7E; flex:none}
.rack__ad{font-family:var(--f-mono); font-size:.63rem; letter-spacing:.11em; color:var(--dc-soluk)}
.rack__birim{
  display:flex; align-items:center; gap:7px; padding:11px 13px;
  border-bottom:1px solid rgba(95,184,245,.12);
}
.rack__led{width:6px; height:6px; border-radius:50%; flex:none}
/* Yalnizca opacity canlandirilir — bilesik katmanda calisir, yerlesim
   hesabi tetiklemez. Her birim farkli gecikmeyle yanar. */
.rack__led--yesil{background:#3DBB7E; animation:rack-yanip 2.4s ease-in-out infinite}
.rack__led--mavi{background:var(--dc-vurgu); animation:rack-yanip 3.1s ease-in-out infinite .7s}
.rack__birim:nth-child(3) .rack__led--yesil{animation-delay:.4s}
.rack__birim:nth-child(4) .rack__led--mavi{animation-delay:1.2s}
.rack__birim:nth-child(5) .rack__led--yesil{animation-delay:.9s}
.rack__cizgi{flex:1; height:5px; border-radius:3px; background:rgba(157,182,204,.22)}
/* VPS sayfasindaki maket birimleri paket ADIYLA yazilir ve populer olan
   isaretlenir — maket, bolumun anlattigi "kaynak size ayrilir" fikrini
   gosterir. Hosting sayfasindaki ozdes birimli dolaptan bilerek farkli. */
.rack__etiket{
  font-family:var(--f-mono); font-size:.63rem; letter-spacing:.06em;
  color:var(--dc-soluk); flex:none; min-width:52px;
}
.rack__birim--sizin{background:rgba(95,184,245,.1); box-shadow:inset 2px 0 0 var(--dc-vurgu)}
.rack__birim--sizin .rack__etiket{color:var(--dc-vurgu)}
.rack__birim--sizin .rack__cizgi{background:rgba(95,184,245,.4)}
.rack__disk{width:26px; height:16px; border-radius:3px; background:rgba(95,184,245,.16);
  border:1px solid rgba(95,184,245,.28); flex:none}
.rack__alt{
  display:flex; gap:8px; padding:12px 13px; border-top:1px solid rgba(95,184,245,.2);
}
.rack__alt span{
  padding:3px 9px; border-radius:999px; font-family:var(--f-mono); font-size:.62rem;
  letter-spacing:.08em; background:rgba(95,184,245,.12);
  border:1px solid rgba(95,184,245,.26); color:var(--dc-vurgu);
}
@keyframes rack-yanip{0%,100%{opacity:1} 50%{opacity:.25}}

@media (max-width:980px){
  .dc__grid{grid-template-columns:1fr; gap:32px}
}
@media (max-width:760px){
  .dc{padding-block:48px}
  .dc__izgara{background-size:38px 38px}
}
@media (prefers-reduced-motion:reduce){
  .rack__led{animation:none !important}
}

/* ============ HOSTING — TABLO, SARTLAR, REHBER ============ */
/* Tablo basliklarina ikon: goz sutunu once ikondan tanir. */
.paket-tablo thead th{white-space:nowrap}
.paket-tablo thead th svg{width:15px; height:15px; vertical-align:-3px; margin-right:6px; color:var(--brand)}
.paket-tablo thead th.num svg{display:none}
/* One cikan paket satiri: sol kenardan turuncu serit + hafif zemin */
.paket-tablo__one td{background:var(--buy-soft)}
.paket-tablo__one td:first-child{box-shadow:inset 3px 0 0 var(--buy)}
.paket-tablo tbody tr:hover td{background:var(--surface-2)}
.paket-tablo__one:hover td{background:var(--buy-soft)}
.paket-not{display:block; margin-top:18px}

/* --- Sartlar: tablodan ayri, basliksi bir panel ---
   Tablo beyaz zeminli bir karttir; kosullar da beyaz kutu olunca ikisi
   birbirine giriyordu. Panel MAVIMSI zemin alir, maddeler kendi
   cercevesini birakir — iki blok artik farkli gorsel dilde. */
.sart-blok{
  margin-top:34px; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--tint); overflow:hidden;
}
/* Baslik seridi de panelin zeminini kullanir: panelin HICBIR yerinde beyaz
   kalmasin istiyoruz, cunku tablo bastan sona beyaz. Serit yalnizca alt
   cizgisiyle ayrilir. */
.sart-blok__ust{
  display:flex; align-items:center; gap:9px;
  padding:12px 18px; border-bottom:1px solid var(--line);
  font-family:var(--f-mono); font-size:.74rem; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--text-2);
}
.sart-blok__ust svg{width:16px; height:16px; flex:none; color:var(--brand)}
.sart-liste{display:grid; gap:0}
.sart{
  display:flex; gap:13px; align-items:flex-start;
  padding:16px 18px; border:0; background:transparent;
}
.sart + .sart{border-top:1px solid var(--line)}
.sart--uyari{background:var(--buy-soft)}
.sart__ik{
  display:grid; place-items:center; width:34px; height:34px; flex:none;
  border-radius:9px; background:var(--brand-soft); color:var(--brand);
}
.sart--uyari .sart__ik{background:rgba(255,255,255,.6); color:var(--buy-text)}
.sart__ik svg{width:18px; height:18px}
.sart strong{display:block; font-size:.94rem; color:var(--text); margin-bottom:3px}
.sart p{margin:0; font-size:.875rem; line-height:1.6; color:var(--text-2)}

/* --- Ust bardaki ozet rozetleri --- */
.chip-sira{display:flex; gap:9px; flex-wrap:wrap; margin-top:18px}

/* --- Hosting / VPS kiyasi ---
   Iki secenek YAN YANA durur; goz ikisini ayni anda gorup karsilastirir.
   Onerilen taraf cerceve ve zeminle belli edilir, metinle degil. */
.kiyas{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px}
.kiyas__kart{
  display:flex; flex-direction:column; gap:16px;
  padding:24px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--paper);
}
.kiyas__kart--one{border-color:var(--buy-line); background:var(--buy-soft)}
.kiyas__ust{display:flex; gap:13px; align-items:center}
.kiyas__ik{
  display:grid; place-items:center; width:42px; height:42px; flex:none;
  border-radius:11px; background:var(--brand-soft); color:var(--brand);
}
.kiyas__kart--one .kiyas__ik{background:rgba(255,255,255,.6); color:var(--buy-text)}
.kiyas__ik svg{width:22px; height:22px}
.kiyas__ust strong{display:block; font-size:1.06rem; color:var(--text); line-height:1.25}
.kiyas__ust span{display:block; font-size:.84rem; color:var(--text-2); margin-top:3px}
.kiyas__liste{list-style:none; margin:0; padding:0; display:grid; gap:10px; flex:1}
.kiyas__liste li{
  position:relative; padding-left:20px;
  font-size:.9rem; line-height:1.55; color:var(--text-2);
}
.kiyas__liste li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%; background:var(--brand);
}
.kiyas__kart--one .kiyas__liste li::before{background:var(--buy)}
.kiyas__kart .btn{align-self:flex-start}
@media (max-width:760px){
  .kiyas{grid-template-columns:1fr}
}

/* --- Rehber --- */
.rehber{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px}
.rehber__oge{
  padding:22px 22px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--surface);
  border-top:3px solid var(--brand-lit);
}
.rehber__oge h3{font-size:1.02rem; margin:0 0 9px}
.rehber__oge p{margin:0; font-size:.9rem; line-height:1.68; color:var(--text-2)}
.rehber__oge strong{color:var(--text)}

/* Dar ekranda tablo satir satir okunur hale gelir */
@media (max-width:720px){
  .paket-tablo table{min-width:0}
  .paket-tablo thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
  .paket-tablo tbody tr{display:block; border:1px solid var(--line); border-radius:var(--radius);
    margin-bottom:12px; padding:6px 0; background:var(--surface)}
  .paket-tablo td{display:flex; justify-content:space-between; gap:14px; border:0; padding:8px 15px}
  .paket-tablo td::before{content:attr(data-etiket); font-family:var(--f-mono); font-size:.7rem;
    letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
  .paket-tablo td:first-child{display:block}
  .paket-tablo td:first-child::before{display:none}
  .paket-tablo__one td:first-child{box-shadow:none}
  .paket-tablo td.num{text-align:left}
}

/* ============ EK HIZMETLER ============ */
/* Koyu bolum: baslik ustte, iki teklif karti altinda YAN YANA.
   Alt alta dizildiklerinde bolum tek basina bir ekrandan uzun oluyordu. */
.ekbas{max-width:76ch; margin-bottom:30px}
.ekbas .dc__lede{max-width:none}

.ekone{display:grid; gap:16px; grid-template-columns:repeat(2, minmax(0,1fr))}
.ekone__kart{
  display:flex; flex-direction:column; gap:11px;
  padding:22px 22px 20px; border-radius:16px;
  border:1px solid rgba(95,184,245,.28); background:rgba(7,23,38,.62);
}
.ekone__ust{display:flex; align-items:center; gap:12px}
.ekone__ik{
  display:grid; place-items:center; width:40px; height:40px; flex:none;
  border-radius:11px; background:rgba(95,184,245,.13); color:var(--dc-vurgu);
}
.ekone__ik svg{width:21px; height:21px}
.ekone__ad{font-family:var(--f-display); font-weight:700; font-size:1.06rem;
  letter-spacing:-.015em; color:var(--dc-metin); line-height:1.25}
.ekone__metin{margin:0; font-size:.86rem; line-height:1.6; color:var(--dc-soluk)}

/* Vardiya saatleri / calisma bicimi — teklifin en somut kismi, bu yuzden
   duz metin degil rozet: goz karta bakinca once bunlari yakalar. */
.ekone__rozetler{display:flex; flex-wrap:wrap; gap:6px}
.ekone__rozetler span{
  padding:4px 10px; border-radius:999px;
  font-family:var(--f-mono); font-size:.72rem; color:var(--dc-vurgu);
  background:rgba(95,184,245,.12); border:1px solid rgba(95,184,245,.3);
}
.ekone__liste{list-style:none; margin:0; padding:0; display:grid; gap:6px}
.ekone__liste li{
  position:relative; padding-left:16px;
  font-size:.82rem; line-height:1.55; color:var(--dc-soluk);
}
.ekone__liste li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:6px; height:6px; border-radius:50%; background:var(--dc-vurgu);
}
/* Fiyat ve buton kartin DIBINE yaslanir: iki kartin metni farkli
   uzunlukta olsa da satin alma dugmeleri ayni hizada durur. */
.ekone__alt{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin-top:auto; padding-top:14px;
  border-top:1px solid rgba(95,184,245,.18);
}
.ekone__fiyat{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.ekone__fiyat b{font-family:var(--f-display); font-weight:800; font-size:1.45rem; color:var(--dc-metin)}
.ekone__fiyat small{font-size:.74rem; color:var(--dc-soluk)}
.ekcta{margin-top:26px}

@media (max-width:860px){
  .ekone{grid-template-columns:1fr}
}

/* --- Diger ek hizmetler izgarasi ---
   Fiyat farki artik BOLUM degil KART duzeyinde gosterilir: dogrudan satin
   alinabilen kart turuncu ust seritle isaretlenir, teklif isteyenler notr
   kalir. Boylece "fiyatli" ve "talebe gore" diye iki ayri bolum acmak
   gerekmiyor. */
.ekizgara{
  display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill, minmax(285px, 1fr));
}
.ekkart{
  position:relative; display:flex; flex-direction:column; gap:10px;
  padding:24px 22px 20px; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--line); background:var(--surface);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ekkart:hover{transform:translateY(-3px); border-color:var(--brand); box-shadow:var(--shadow-card)}
.ekkart__serit{position:absolute; inset:0 0 auto; height:3px; background:var(--line-2)}
.ekkart--fiyatli{border-color:var(--buy-line)}
.ekkart--fiyatli .ekkart__serit{background:linear-gradient(90deg, var(--buy-deep), var(--buy-hi))}
.ekkart--fiyatli:hover{border-color:var(--buy)}

.ekkart__ust{display:flex; align-items:center; justify-content:space-between; gap:12px}
.ekkart__ik{
  display:grid; place-items:center; width:44px; height:44px; flex:none;
  border-radius:12px; background:var(--brand-soft); color:var(--brand);
}
.ekkart--fiyatli .ekkart__ik{background:var(--buy-soft); color:var(--buy-text)}
.ekkart__ik svg{width:22px; height:22px}
/* Donem rozeti: yillik mi, tek seferlik mi, talebe gore mi — musterinin
   fiyattan once merak ettigi sey bu. */
.ekkart__donem{
  padding:4px 10px; border-radius:999px; white-space:nowrap;
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.05em;
  background:var(--surface-2); color:var(--text-2); border:1px solid var(--line);
}
.ekkart--fiyatli .ekkart__donem{background:var(--buy-soft); color:var(--buy-text); border-color:var(--buy-soft)}

.ekkart__ad{margin:4px 0 0; font-size:1.06rem; letter-spacing:-.015em; line-height:1.3}
.ekkart__metin{margin:0; font-size:.875rem; line-height:1.62; color:var(--text-2)}
/* Fiyat ve buton kartin dibine yaslanir: metinler farkli uzunlukta olsa da
   butonlar satir boyunca ayni hizada durur. */
.ekkart__alt{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; margin-top:auto; padding-top:15px;
  border-top:1px dashed var(--line-2);
}
.ekkart__fiyat{display:flex; align-items:baseline; gap:7px; flex-wrap:wrap}
.ekkart__fiyat b{font-family:var(--f-display); font-weight:800; font-size:1.35rem; color:var(--text)}
.ekkart__fiyat small{font-size:.74rem; color:var(--muted)}
.ekkart__fiyat--talep{font-size:.86rem; font-weight:600; color:var(--muted)}

@media (prefers-reduced-motion:reduce){
  .ekkart{transition:none}
  .ekkart:hover{transform:none}
}

/* Pakete gore dahil/degil listesi — renk tek basina anlam tasimaz,
   isaret de degisir (onay / capraz). */
.ekliste li{padding-left:26px}
.ekliste li::before{
  content:""; position:absolute; left:0; top:.42em;
  width:15px; height:15px; border-radius:50%; background:transparent;
  border:1.6px solid currentColor;
}
.ekliste__var{color:var(--green-text)}
.ekliste__yok{color:var(--muted)}
.ekliste li::after{
  position:absolute; left:0; top:.42em; width:15px; height:15px;
  display:grid; place-items:center; font-size:.62rem; font-weight:800;
}
.ekliste__var::after{content:"✓"; color:var(--green-text)}
.ekliste__yok::after{content:"×"; color:var(--muted)}
.kiyas__liste.ekliste li{color:var(--text-2)}

/* ============ BANKA HESAP BILGILERI ============ */
/* Bu sayfada bicim susleme degil ISLEVDIR: yanlis okunan tek karakter
   parayi baska hesaba gonderir. IBAN tek aralikli yazi tipiyle, dorderli
   gruplar halinde ve buyuk puntoyla yazilir; yaninda kopyalama dugmesi
   durur ki kimse elle yazmak zorunda kalmasin. */

/* --- Odeme yontemi kartlari --- */
.odeme-yol{display:grid; gap:16px; grid-template-columns:repeat(2, minmax(0,1fr))}
.odeme-yol__kart{
  display:flex; gap:15px; align-items:flex-start;
  padding:22px 22px 20px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--paper);
}
.odeme-yol__kart--one{border-color:var(--buy-line); background:var(--buy-soft)}
.odeme-yol__ik{
  display:grid; place-items:center; width:46px; height:46px; flex:none;
  border-radius:12px; background:var(--brand-soft); color:var(--brand);
}
.odeme-yol__kart--one .odeme-yol__ik{background:rgba(255,255,255,.65); color:var(--buy-text)}
.odeme-yol__ik svg{width:23px; height:23px}
.odeme-yol__govde strong{
  display:block; font-family:var(--f-display); font-weight:700; font-size:1.06rem;
  letter-spacing:-.015em; color:var(--text); margin-bottom:6px;
}
.odeme-yol__govde p{margin:0; font-size:.885rem; line-height:1.62; color:var(--text-2)}

/* --- Kart semalari ---
   Resmi marka dosyalari kullanilmadi; sade birer temsildir. Saglayicidan
   (PayTR) alinan resmi logolar geldiginde bu blok <img> ile degistirilir. */
.kart-sema{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.kart-sema__oge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 11px; border-radius:8px;
  background:var(--surface); border:1px solid var(--line);
}
.kart-sema__ad{font-family:var(--f-display); font-weight:800; font-size:.74rem; letter-spacing:.02em}
.kart-sema__oge--visa .kart-sema__ad{color:#1A1F71; font-style:italic; letter-spacing:.06em}
.kart-sema__oge--troy .kart-sema__ad{color:#00A7E1}
.kart-sema__oge--mc .kart-sema__ad,
.kart-sema__oge--maestro .kart-sema__ad{color:var(--text-2)}
/* Ic ice iki daire: Mastercard ve Maestro'nun ayirt edici isareti. */
.kart-sema__daire{width:13px; height:13px; border-radius:50%; flex:none}
.kart-sema__oge--mc .kart-sema__daire:first-of-type{background:#EB001B}
.kart-sema__oge--mc .kart-sema__daire:nth-of-type(2){background:#F79E1B; margin-left:-6px}
.kart-sema__oge--maestro .kart-sema__daire:first-of-type{background:#0099DF}
.kart-sema__oge--maestro .kart-sema__daire:nth-of-type(2){background:#ED0006; margin-left:-6px}

/* --- IBAN kartlari --- */
.iban-izgara{display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(340px,1fr))}
.iban-kart{
  position:relative; display:flex; flex-direction:column; gap:14px; overflow:hidden;
  padding:24px 22px 20px; border-radius:16px;
  border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-card);
}
.iban-kart__serit{
  position:absolute; inset:0 0 auto; height:4px;
  background:linear-gradient(90deg, var(--brand-deep), var(--brand-lit));
}
.iban-kart__ust{display:flex; align-items:center; justify-content:space-between; gap:12px}
.iban-kart__banka{
  font-family:var(--f-display); font-weight:800; font-size:1.1rem;
  letter-spacing:-.02em; color:var(--text);
}
.iban-kart__no{
  font-family:var(--f-mono); font-size:.7rem; letter-spacing:.1em; color:var(--muted);
}
.iban-kart__alan{display:flex; flex-direction:column; gap:4px}
.iban-kart__etiket{
  font-family:var(--f-mono); font-size:.66rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.iban-kart__deger{font-size:.9rem; line-height:1.5; color:var(--text-2)}
/* IBAN buyuk ve tek aralikli: goz karakter karakter dogrulayabilsin. */
.iban-kart__iban{
  font-family:var(--f-mono); font-size:1.02rem; font-weight:600;
  letter-spacing:.04em; color:var(--text); word-break:break-all;
}
.iban-kart__kopyala{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  margin-top:auto; cursor:pointer; white-space:nowrap;
  padding:9px 15px; border-radius:9px;
  border:1px solid var(--brand); background:transparent; color:var(--brand);
  font-size:.83rem; font-weight:700;
  transition:background .16s ease, color .16s ease;
}
.iban-kart__kopyala svg{width:16px; height:16px}
.iban-kart__kopyala:hover{background:var(--brand); color:#fff}
.iban-kart__kopyala.is-ok{background:var(--green); border-color:var(--green); color:#fff}

/* --- Kurumsal kunye --- */
.kunye{
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface); overflow:hidden;
}
.kunye__satir{
  display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); gap:14px;
  padding:14px 20px;
}
.kunye__satir + .kunye__satir{border-top:1px solid var(--line)}
.kunye__etiket{font-size:.86rem; color:var(--muted)}
.kunye__deger{font-size:.92rem; color:var(--text); word-break:break-word}

@media (max-width:760px){
  .odeme-yol{grid-template-columns:1fr}
  .iban-izgara{grid-template-columns:1fr}
  .kunye__satir{grid-template-columns:1fr; gap:3px}
}
@media (prefers-reduced-motion:reduce){
  .iban-kart__kopyala{transition:none}
}

/* ============ ICERIK SAYFASI (sozlesme, hakkimizda) ============ */
/* Metin sutunu okunabilirlik icin dar; kalan genislige ayni kategorideki
   diger sayfalarin listesi konur. Onceden orasi bostu ve sayfa yarim
   gorunuyordu. Tek sayfalik kategorilerde yan blok hic cizilmez. */
.sayfa-duzen{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start}
.sayfa-duzen--tek{grid-template-columns:minmax(0,1fr)}
.sayfa-govde{padding:30px}
.sayfa-icerik{max-width:78ch}

/* --- Icerik tipografisi --- */
.sayfa-icerik h2{font-size:1.5rem; margin:30px 0 12px}
.sayfa-icerik h2:first-child{margin-top:0}
.sayfa-icerik h3{font-size:1.12rem; margin:26px 0 10px}
.sayfa-icerik p{margin:0 0 13px; line-height:1.75; color:var(--text-2)}
.sayfa-icerik ul,.sayfa-icerik ol{margin:0 0 15px; padding-left:22px; color:var(--text-2); line-height:1.75}
.sayfa-icerik li{margin-bottom:7px}
/* Tanim listesi kurumsal maddeler icin kullanilir: terim vurgulu bir
   ust baslik, aciklama altinda. Aralarindaki ince cizgi maddeleri ayirir. */
.sayfa-icerik dl{margin:28px 0 0}
.sayfa-icerik dt{
  font-family:var(--f-display); font-weight:800; font-size:.82rem;
  letter-spacing:.09em; text-transform:uppercase; color:var(--brand-deep);
  padding-top:20px; margin-top:20px; border-top:1px solid var(--line);
}
.sayfa-icerik dt:first-of-type{border-top:0; margin-top:0; padding-top:0}
.sayfa-icerik dd{margin:8px 0 0; line-height:1.72; color:var(--text-2)}

/* Giris paragrafi — sayfanin ilk cumlesi, govdeden bir tik buyuk. */
.sayfa-icerik .giris{font-size:1.12rem; line-height:1.7; color:var(--text)}

/* Dikkat kutusu — sayfa sonunda okuyucuyu bir sonraki adima yonlendiren
   kisa not. Renk yalnizca sol seritte; govde zemini sayfayla ayni kalir. */
.sayfa-icerik .uyari-kutu{
  margin:26px 0 0; padding:14px 16px;
  border:1px solid var(--line); border-left:3px solid var(--brand);
  border-radius:8px; background:var(--brand-soft);
}
.sayfa-icerik .uyari-kutu p{margin:0}

/* --- Yan blok --- */
.sayfa-yan{display:grid; gap:16px; position:sticky; top:84px}
.sayfa-yan__kutu{
  padding:20px; border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(150deg, var(--tint), var(--surface) 70%);
}
.sayfa-yan__baslik{
  display:block; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.11em;
  text-transform:uppercase; color:var(--muted); margin-bottom:12px;
}
.sayfa-yan__liste{list-style:none; margin:0; padding:0; display:grid; gap:2px}
.sayfa-yan__liste a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius:9px;
  font-size:.89rem; line-height:1.4; color:var(--text);
  text-decoration:none; transition:background .16s ease, color .16s ease;
}
.sayfa-yan__liste a:hover{background:var(--brand); color:#fff}
.sayfa-yan__liste svg{width:15px; height:15px; flex:none; color:var(--line-2)}
.sayfa-yan__liste a:hover svg{color:#fff}
.sayfa-yan__kutu--iletisim{background:var(--buy-soft); border-color:var(--buy-line)}
.sayfa-yan__ust{display:block; font-family:var(--f-display); font-weight:700;
  font-size:.98rem; line-height:1.3; letter-spacing:-.015em; color:var(--buy-text);
  margin-bottom:8px}
.sayfa-yan__kutu--iletisim p{margin:0 0 14px; font-size:.86rem; line-height:1.6; color:var(--buy-text)}
.sayfa-yan__tel{
  display:block; margin-top:10px; text-align:center;
  font-family:var(--f-mono); font-size:.86rem; color:var(--buy-text); text-decoration:none;
}
.sayfa-yan__tel:hover{text-decoration:underline}

@media (max-width:960px){
  .sayfa-duzen{grid-template-columns:1fr}
  .sayfa-yan{position:static}
}

/* --- Icerik sayfalarinda hafif yapay zeka dokusu ---
   Gorsel degil, CSS: iki katmanli nokta izgarasi. Kenarlara dogru
   silinir ki basligi bastirmasin. */
.pagehead--yz{position:relative; overflow:hidden}
.pagehead--yz .wrap{position:relative; z-index:2}
.yzdoku{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    radial-gradient(circle at center, rgba(12,95,174,.20) 1.4px, transparent 1.5px),
    linear-gradient(90deg, rgba(12,95,174,.07) 1px, transparent 1px);
  background-size:26px 26px, 78px 78px;
  -webkit-mask-image:radial-gradient(75% 90% at 88% 40%, #000 0%, transparent 72%);
          mask-image:radial-gradient(75% 90% at 88% 40%, #000 0%, transparent 72%);
}

/* --- Yan bloktaki yapay zeka kutusu --- */
.sayfa-yan__kutu--yz{
  position:relative; display:block; overflow:hidden; text-decoration:none;
  padding:20px 20px 22px;
  border-color:var(--ink-line);
  background:
    radial-gradient(105% 90% at 85% 10%, #123049 0%, transparent 62%),
    linear-gradient(160deg, #0E2A40 0%, #0A2337 60%, #071726 100%);
  transition:transform .18s ease, box-shadow .18s ease;
}
.sayfa-yan__kutu--yz:hover{transform:translateY(-2px); box-shadow:var(--shadow-lift)}
.yzkutu__doku{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(95,184,245,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95,184,245,.10) 1px, transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(80% 70% at 30% 40%, #000 10%, transparent 100%);
          mask-image:radial-gradient(80% 70% at 30% 40%, #000 10%, transparent 100%);
}
.sayfa-yan__kutu--yz > *{position:relative; z-index:2}
.sayfa-yan__kutu--yz .sayfa-yan__baslik{color:#5FB8F5; margin-bottom:8px}
.yzkutu__baslik{
  display:block; font-family:var(--f-display); font-weight:700; font-size:1rem;
  line-height:1.3; letter-spacing:-.015em; color:#EAF3FB; margin-bottom:8px;
}
.yzkutu__metin{display:block; font-size:.82rem; line-height:1.6; color:#9DB6CC}
/* Maskot kutunun sag alt kosesine oturur; UZATILMAZ, uretildigi
   olcude kalir (buyutulurse bulaniklasir). */
/* Maskot metnin sag sutununu ISGAL ETMEZ: metin uzadigi icin sag sutun
   ayirmak satirlari asiri daraltiyordu. Maskot en alta, "Incele"
   baglantisinin sagina oturur. */
.yzkutu__maskot{
  position:absolute; right:-6px; bottom:-8px; z-index:1;
  width:84px; height:auto; opacity:.9; pointer-events:none;
}
.yzkutu__ok{
  display:inline-flex; align-items:center; gap:6px; margin-top:16px;
  padding-right:80px;                 /* maskotun altina girmesin */
  font-size:.84rem; font-weight:700; color:#5FB8F5;
}
.yzkutu__ok svg{width:15px; height:15px; transition:transform .16s ease}
.sayfa-yan__kutu--yz:hover .yzkutu__ok svg{transform:translateX(3px)}

@media (prefers-reduced-motion:reduce){
  .sayfa-yan__kutu--yz,.yzkutu__ok svg{transition:none}
  .sayfa-yan__kutu--yz:hover{transform:none}
}

/* Icerik sayfalarindaki alinti kutusu.
   Vurgulanmasi gereken bir bilgi ya da dis kaynak bagi icin kullanilir.
   Icerik suzgeci div/class'a izin vermedigi icin panelden girilebilen
   tek "kutu" bicimi budur. */
.sayfa-icerik blockquote{
  position:relative; overflow:hidden;
  margin:28px 0; padding:22px 24px;
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(140deg, var(--tint) 0%, var(--surface) 65%);
}
.sayfa-icerik blockquote::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--brand-lit), var(--brand-deep));
}
.sayfa-icerik blockquote p{margin:0 0 9px}
.sayfa-icerik blockquote p:last-child{margin-bottom:0}
.sayfa-icerik blockquote p:first-child strong{
  font-family:var(--f-display); font-size:1.04rem; letter-spacing:-.015em; color:var(--text);
}
.sayfa-icerik blockquote a{
  display:inline-block; margin-top:5px;
  font-family:var(--f-mono); font-size:1.05rem; font-weight:600; color:var(--brand-deep);
  text-decoration:none; border-bottom:2px solid var(--brand-lit); padding-bottom:2px;
  transition:color .16s ease, border-color .16s ease;
}
.sayfa-icerik blockquote a:hover{color:var(--brand); border-bottom-color:var(--brand)}
@media (prefers-reduced-motion:reduce){ .sayfa-icerik blockquote a{transition:none} }

/* ============ SSS — bolum gezinme seridi ============ */
/* Sayfada kirktan fazla soru var; ziyaretci once hangi bolumde ne kadar
   soru oldugunu gormeli. Rozetteki sayi bunu onceden soyler. */
.sssgez{display:flex; flex-wrap:wrap; gap:9px}
.sssgez__oge{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 15px; border-radius:999px; text-decoration:none;
  /* Bant turuncu oldugu icin dugmeler de sicak aileye gecti: mavi
     dugmeler turuncu zeminde iki ayri renk hikayesi gibi duruyordu.
     Dolgu BEYAZ; renk cerceve, yazi ve sayi rozetinden gelir. */
  border:1px solid var(--buy-line);
  background:var(--surface);
  box-shadow:var(--shadow-card);
  font-size:.88rem; font-weight:700; color:var(--buy-text);
  transition:border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
/* Sayi rozeti DOLGU mavi: dugme icindeki en guclu isaret o olsun,
   ziyaretci hangi bolumde kac soru oldugunu once oradan okusun. */
/* Rozet dolgusu --buy degil --buy-dolgu: beyaz rakamin okunabilmesi icin
   4.5:1 esigini gecen turuncu gerekiyor (--buy beyazla 3.57:1 verir). */
.sssgez__oge b{
  display:grid; place-items:center; min-width:24px; height:24px; padding-inline:7px;
  border-radius:999px; background:var(--buy-dolgu); color:#fff;
  font-family:var(--f-mono); font-size:.72rem; font-weight:700;
}
.sssgez__oge:hover{
  background:linear-gradient(150deg, var(--buy-dolgu), var(--buy-dolgu-koyu));
  border-color:var(--buy-deep); color:#fff; transform:translateY(-2px);
}
.sssgez__oge:hover b{background:rgba(255,255,255,.24); color:#fff}
@media (prefers-reduced-motion:reduce){ .sssgez__oge:hover{transform:none} }
/* Baglantiyla gelindiginde baslik yapiskan barin altinda kalmasin. */
.sec[id^="sss-"]{scroll-margin-top:80px}
@media (prefers-reduced-motion:reduce){ .sssgez__oge{transition:none} }

/* ============ HABER YAZILIMI HUB SAYFASI ============ */
.hy-metin{max-width:74ch}
.hy-metin p{margin:0 0 15px; color:var(--text-2); line-height:1.75}
.hy-metin p:last-child{margin-bottom:0}
.hy-metin strong{color:var(--text)}

.hy-adim{display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px;
  padding:22px 24px; align-items:start; text-decoration:none; color:inherit}
.hy-adim__no{font-family:var(--f-mono); font-size:1.05rem; font-weight:700;
  color:var(--brand); background:var(--brand-soft);
  width:40px; height:40px; border-radius:11px; display:grid; place-items:center; flex:none}
.hy-adim p{color:var(--text-2); font-size:.92rem; line-height:1.6}

.hy-olcut__no{display:inline-block; font-family:var(--f-mono); font-size:.72rem;
  font-weight:700; letter-spacing:.1em; color:var(--brand);
  background:var(--brand-soft); padding:3px 9px; border-radius:999px}

.hy-bolum__baslik{font-size:.82rem; font-weight:700; margin:0 0 14px;
  font-family:var(--f-mono); letter-spacing:.1em; text-transform:uppercase;
  color:var(--text); padding-bottom:11px; border-bottom:1px solid var(--line)}
.hy-liste{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px}
.hy-liste a{display:block; padding:9px 10px; margin-inline:-10px; border-radius:9px;
  text-decoration:none; transition:background .15s ease}
.hy-liste a:hover{background:var(--surface-2)}
.hy-liste__ad{display:block; font-weight:600; color:var(--text); font-size:.94rem}
.hy-liste a:hover .hy-liste__ad{color:var(--brand)}
.hy-liste__alt{display:block; font-size:.81rem; color:var(--muted); margin-top:2px}

/* Hub sayfasi "nedir" bolumu: metin solda, gorsel sagda */
.hy-ikili{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:center}
.hy-ikili .hy-metin{max-width:none}
.hy-gorsel{margin:0}
.hy-gorsel img{width:100%; height:auto; display:block; border-radius:var(--radius);
  box-shadow:0 18px 40px -26px rgba(8,64,111,.5)}
.hy-gorsel figcaption{margin-top:12px; font-size:.84rem; color:var(--muted); line-height:1.5}
@media (max-width:900px){ .hy-ikili{grid-template-columns:1fr; gap:28px} }

/* Hub sayfasi uyari kutusunda baslik satiri */
.hy-uyari__baslik{display:block; color:var(--text); font-size:1rem; margin-bottom:4px}

/* Adim kartlarinda ikinci paragraf */
.hy-adim p + p{margin-top:9px}
.hy-adim p{margin:0}

/* Olcut kartlarinda ikinci paragraf ve bolum kapanis cumlesi */
.hy-olcut p{margin:0}
.hy-olcut p + p{margin-top:9px}
.hy-band__vurgu{margin-top:14px; font-weight:600; color:#fff}

/* Acilir menude ebeveyn sayfasina giden baglanti.
   .dd-aside bir flex sutunu; baglanti en alta itilir ki tanitim metniyle
   arasi acilsin ve tiklanabilir alan kendini belli etsin. */
.dd-aside-bag{
  margin-top:auto; display:inline-flex; align-items:center; gap:6px;
  font-size:.79rem; font-weight:700; color:var(--brand);
  text-decoration:none; line-height:1.3;
}
.dd-aside-bag svg{width:13px; height:13px; flex:none; transition:transform .16s}
.dd-aside-bag:hover{text-decoration:underline}
.dd-aside-bag:hover svg{transform:translateX(2px)}

/* Mobil menude grup basligi artik baglanti olabiliyor; gorunum
   baglanti olmayan basliklarla ayni kalir, yalnizca imlec degisir. */

/* ============ ALT BILGI — SOSYAL MEDYA ============
 *
 * Marka sutununun altinda, tanitim metninden sonra durur. Yalnizca
 * panelde DOLU olan hesaplar cizildigi icin liste bir ya da bes ogeli
 * olabilir; genislik icerige gore ayarlanir.
 *
 * Dokunma hedefi 40x40: WCAG'in onerdigi 24x24 asgarisinin uzerinde,
 * parmakla rahat vurulur. Simge 18px kalir, kalan alan bosluktur.
 */
/* Secici ".foot .sosyal" olmali: site.css:641'deki ".foot ul" kurali
   alt bilgideki her listeyi TEK SUTUNLU izgara yapiyor ve o kural
   (bir sinif + bir etiket) yalin ".sosyal"dan daha ozgul. Simgeler bu
   yuzden yan yana degil alt alta diziliyordu. */
.foot .sosyal{
  display:flex; flex-wrap:wrap; gap:9px;
  list-style:none; margin:18px 0 0; padding:0;
}
.foot .sosyal a{
  display:grid; place-items:center; width:40px; height:40px;
  border:1px solid rgba(157,182,204,.28); border-radius:11px;
  color:var(--ink-muted); background:rgba(255,255,255,.03);
  transition:color .16s ease, border-color .16s ease, background-color .16s ease, transform .16s ease;
}
.foot .sosyal svg{width:18px; height:18px}
.foot .sosyal a:hover{
  color:#5FB8F5; border-color:#5FB8F5;
  background:rgba(95,184,245,.10); transform:translateY(-2px);
}
.foot .sosyal a:focus-visible{outline:2px solid #5FB8F5; outline-offset:2px}

@media (max-width:760px){
  .foot .sosyal{margin-top:15px}
}

/* ============ İLETİŞİM SAYFASI DUYURU NOTU ============
 * Panelden: Icerik Bloklari > iletisim_notu.
 * Iki sutunlu izgaranin ustunde, sayfa genisliginde ince bir serit.
 * Kart gorunumu VERILMEZ: altindaki iki kartla yarismasin, onlardan once
 * okunan kisa bir bilgi olarak kalsin. */
.ilet-not{
  display:flex; align-items:flex-start; gap:11px;
  margin:0 0 24px; padding:13px 16px;
  border:1px solid var(--brand-lit); border-left-width:3px;
  border-radius:var(--radius);
  background:var(--brand-soft);
}
.ilet-not__im{display:inline-flex; flex:none; color:var(--brand); margin-top:1px}
.ilet-not__im svg{width:18px; height:18px}
.ilet-not__metin{font-size:.885rem; line-height:1.6; color:var(--text-2); min-width:0}
.ilet-not__metin > :first-child{margin-top:0}
.ilet-not__metin > :last-child{margin-bottom:0}
.ilet-not__metin p{margin:0}
.ilet-not__metin p + p{margin-top:8px}
.ilet-not__metin strong{color:var(--text); font-weight:600}
.ilet-not__metin a{color:var(--brand); text-decoration:underline; text-underline-offset:2px}

@media (max-width:640px){
  .ilet-not{padding:12px 14px; gap:9px; margin-bottom:18px}
  .ilet-not__metin{font-size:.845rem}
}

/* ============ DUYURU ŞERİDİ ============
 *
 * Panelden: İçerik Blokları > anasayfa_ust_serit.
 *
 * TASARIM GEREKÇESİ
 * Ilk surum duz turuncu bir banttı ve sayfanin geri kalanina yabanci
 * duruyordu: altindaki ust bar mavi, onun altindaki basli k alani beyaz.
 * Ust uste iki doygun renk (turuncu + mavi) sayfanin en ustunu agirlastirdi.
 *
 * Simdi ton merdiveni var: KOYU LACIVERT -> mavi ust bar -> beyaz baslik.
 * Marka turuncusu tek bir yerde, rozette kullanilir; boylece dikkat
 * kampanyaya gider, bandin tamamina degil.
 */
.duyuru{
  position:relative;
  background:
    radial-gradient(80% 180% at 50% 0%, rgba(223,98,9,.20) 0%, rgba(223,98,9,0) 60%),
    linear-gradient(90deg, #071726 0%, #0E2439 50%, #071726 100%);
  color:#E8EEF6;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.07);
}
/* Ust kenardaki ince turuncu cizgi — bandi markaya baglar, zemini
   doygunlastirmadan vurgu verir. */
.duyuru::before{
  content:""; position:absolute; inset:0 0 auto; height:2px;
  background:linear-gradient(90deg, transparent, var(--buy) 30%, var(--buy-hi) 50%, var(--buy) 70%, transparent);
}
.duyuru__ic{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:8px 14px; padding:10px 20px;
  font-size:.855rem; line-height:1.4;
}

/* --- Rozet --- */
.duyuru__rozet{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  padding:3px 10px 3px 8px; border-radius:999px;
  background:linear-gradient(135deg, var(--buy-hi), var(--buy-deep));
  color:#FFFFFF; font-family:var(--f-mono);
  font-size:.66rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 2px 8px -3px rgba(223,98,9,.9);
}
.duyuru__rozet svg{width:12px; height:12px; flex:none}

/* --- Metin ---
 * Kendisi de esnek kutudur. Boylece metin ile cip arasindaki bosluk,
 * rozet ile metin arasindakiyle AYNI degerden (14px) gelir; ayrica cip
 * dar ekranda alt satira dustugunde dikey bosluk da ayni gap'ten cikar.
 * Once cipte "margin-left:2px" vardi: yatayda dar, satir atlayinca ise
 * hic bosluk kalmiyordu. */
.duyuru__metin{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:7px 14px;
  font-weight:500; color:#D7E3F0;
}
.duyuru__metin strong{color:#FFFFFF; font-weight:700}

/* --- Blok icindeki baglanti: alti cizili metin degil, tiklanabilir çip --- */
.duyuru__metin a{
  display:inline-flex; align-items:center; gap:5px;
  padding:2px 9px 2px 11px; border-radius:999px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18);
  color:#FFD9B8; font-weight:700; text-decoration:none; white-space:nowrap;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease;
}
.duyuru__metin a::after{
  content:"→"; font-size:.9em; opacity:.75;
  transition:transform .16s ease;
}
.duyuru__metin a:hover{
  background:rgba(255,255,255,.16); border-color:rgba(255,217,184,.55); color:#FFFFFF;
}
.duyuru__metin a:hover::after{transform:translateX(2px)}
.duyuru__metin a:focus-visible{outline:2px solid var(--buy-hi); outline-offset:2px}

@media (max-width:760px){
  .duyuru__ic{padding:10px 14px; gap:8px 12px; font-size:.79rem}
  .duyuru__rozet{font-size:.6rem; padding:2px 8px 2px 7px}
  /* Cip alt satira dustugunde ustteki cumleye yapismasin */
  .duyuru__metin{gap:9px 12px}
}
/* Dar ekranda rozet + metin alt alta düşerse ortalanmış kalsın */
@media (max-width:420px){
  .duyuru__ic{flex-direction:column; text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .duyuru__metin a, .duyuru__metin a::after{transition:none}
}
