:root{
  /* Filllo teması — sıcak koyu antrasit + krem/bej */
  --bg:#2b2825;            /* koyu zemin */
  --surface:#34302b;      /* paneller / görsel zemini */
  --cream:#ece3d5;        /* krem aksan */
  --ink:#ece3d5;          /* koyu zeminde metin */
  --ink-soft:rgba(236,227,213,0.74);
  --ink-on-cream:#2b2825; /* krem panelde metin */
  --muted:#9c958a;        /* sıcak muted */
  --line:rgba(236,227,213,0.16);
  --font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html,body{
  width:100%; color:var(--ink); font-family:var(--font);
  -webkit-font-smoothing:antialiased;
  scrollbar-width:none; -ms-overflow-style:none;        /* hide scrollbar, keep scroll */
}
/* Zemin rengi SADECE html'de; body ŞEFFAF — yoksa uzun sayfalarda body'nin opak zemini
   z-index:-1 fluid canvas'ı örter ve sıvı efekt görünmez. */
html{ background:var(--bg); }
body{ background:transparent; }
html::-webkit-scrollbar, body::-webkit-scrollbar{ display:none; width:0; height:0; }
/* Desktop scroll height (350vh) is set by archive.js on the home page only, so
   Info/Contact keep natural height. */
a{ color:inherit; text-decoration:none; }

.site-header{ position:fixed; inset:0 0 auto 0; z-index:50; display:flex; align-items:center;
  justify-content:space-between; padding:1.9em 2.4em; font-size:13px; letter-spacing:0.02em; }
.header-left{ display:flex; align-items:center; gap:3em; }
.brand{ font-weight:600; font-size:16px; letter-spacing:0.06em; display:inline-flex; align-items:center; }
.brand-dot{ font-size:9px; vertical-align:super; margin-left:2px; }
/* Marka logosu (altın dairesel amblem) */
.brand-logo{ height:46px; width:auto; display:block; }
.home-foot-brand .foot-logo{ height:84px; width:auto; display:block; }
.loading-logo{ width:clamp(160px,26vw,240px); height:auto; display:block; margin:0 auto;
  opacity:0; transform:scale(.94); animation:loading-logo-in 1s cubic-bezier(.2,.8,.2,1) .1s forwards; }
@keyframes loading-logo-in{ to{ opacity:1; transform:scale(1); } }
/* Giriş sırası: YDS® -> logo -> sayfa (JS ile zamanlanır) */
.intro-logo{ position:fixed; top:50%; left:50%; width:clamp(160px,26vw,240px); height:auto;
  transform:translate(-50%,-50%) scale(.96); opacity:0; pointer-events:none;
  transition:opacity .5s ease, transform .5s ease; }
.intro-logo.show{ opacity:1; transform:translate(-50%,-50%) scale(1); }
#loadBrand.fade-out{ opacity:0; transition:opacity .4s ease; }
@media (max-width:768px){ .brand-logo{ height:40px; } .home-foot-brand .foot-logo{ height:72px; } }
.nav{ display:flex; gap:2.2em; font-weight:500; }
.nav a{ position:relative; opacity:0.62; transition:opacity .3s ease; }
.nav a.is-active, .nav a:hover{ opacity:1; }
.nav a.is-active::after{ content:""; position:absolute; left:0; bottom:-6px; width:100%; height:1px; background:var(--ink); }
.lang{ display:flex; gap:0.5em; font-weight:500; }
.header-right{ display:flex; align-items:center; gap:1.5em; }
.header-cta{ display:inline-flex; align-items:center; background:var(--cream); color:var(--ink-on-cream);
  border-radius:999px; padding:.62em 1.25em; font-size:13px; font-weight:500; letter-spacing:0.01em; white-space:nowrap;
  transition:transform .3s ease, background .3s ease; }
.header-cta:hover{ transform:translateY(-1px); background:#f4ede2; }
.menu-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:26px; height:18px;
  padding:0; background:none; border:none; cursor:pointer; }
.menu-toggle span{ display:block; width:100%; height:1.5px; background:var(--ink);
  transition:transform .3s ease, opacity .3s ease; }
.lang .sep, .lang .muted{ opacity:0.4; }

/* Mobil menü paneli */
.mobile-menu{ display:none; }
.mobile-menu{ position:fixed; inset:0; z-index:120; background:var(--bg);
  flex-direction:column; align-items:center; justify-content:center; gap:1.4em;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .32s ease, transform .32s ease, visibility .32s; }
body.menu-open .mobile-menu{ display:flex; opacity:1; visibility:visible; transform:none; }
body.menu-open{ overflow:hidden; }
.mobile-menu a{ font-family:var(--font-display); font-size:26px; color:var(--ink); }
.mobile-menu a.is-active{ color:var(--cream); }
.mobile-menu-cta{ margin-top:.4em; font-family:var(--font)!important; font-size:14px!important;
  background:var(--cream); color:var(--ink-on-cream)!important; padding:.8em 1.8em; border-radius:999px; }
.mobile-menu-lang{ display:flex; gap:.6em; margin-top:1em; font-size:15px; }
/* hamburger -> X (menü açıkken) */
body.menu-open .menu-toggle{ z-index:130; }
body.menu-open .menu-toggle span:first-child{ transform:translateY(3.25px) rotate(45deg); }
body.menu-open .menu-toggle span:last-child{ transform:translateY(-3.25px) rotate(-45deg); }

.corner{ position:fixed; bottom:2.2em; z-index:50; background:none; border:none; cursor:pointer;
  font-family:var(--font); font-size:13px; font-weight:500; letter-spacing:0.02em; color:var(--ink);
  padding-bottom:4px; border-bottom:1px solid var(--ink); transition:opacity .3s ease; }
.corner:hover{ opacity:0.55; }
.corner i{ font-style:normal; margin-left:0.4em; }
.corner--left{ left:2.4em; }
.corner--right{ right:2.4em; }

/* WhatsApp iletişim butonu (koyu ton) */
.wa-fab{ position:fixed; right:1.7em; bottom:6.6em; z-index:80; width:52px; height:52px; border-radius:999px;
  display:flex; align-items:center; justify-content:center; background:#211f1c; border:1px solid var(--line);
  box-shadow:0 12px 28px -12px rgba(0,0,0,0.7); transition:transform .3s ease, background .3s ease, border-color .3s ease; }
.wa-fab:hover{ transform:translateY(-2px); background:#2c2925; border-color:rgba(236,227,213,0.3); }
.wa-fab svg{ width:24px; height:24px; fill:var(--cream); }
@media (max-width:768px){ .wa-fab{ right:1em; bottom:1.2em; width:48px; height:48px; } }

/* WebGL sıvı iz katmanı — TÜM içeriğin ARKASINDA (z-index:-1), opak off-white zeminin önünde.
   Böylece halka/metin görünür kalır, gri iz boşluklarda (orta hollow + kenarlar) arkada akar.
   Tıklamayı engellemez. */
.fluid-canvas{ position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:-1; }
@media (max-width:768px){ .fluid-canvas{ display:none; } }

.scene{ position:fixed; inset:0; overflow:hidden; perspective:1600px; perspective-origin:50% 50%; }
.gallery{ position:absolute; top:50%; left:50%; width:0; height:0; transform-style:preserve-3d; will-change:transform; }

/* CARD = stable hitbox. IMPORTANT: NO backface-visibility:hidden (it would hide half the ring -> "C"/spiral). */
.item{ position:absolute; top:0; left:0; width:78px; height:60px; transform-style:preserve-3d; }
.item-card{ position:absolute; inset:0; transform-style:preserve-3d; pointer-events:none;
  border:1px solid rgba(236,227,213,0.32); transition:box-shadow .4s ease; }
.item-card img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.92) brightness(0.97); }
.item-card.is-active{ box-shadow:0 8px 22px -10px rgba(0,0,0,0.6); }

.center{ position:absolute; top:43%; left:50%; transform:translate(-50%,-50%); width:min(520px,42vw);
  text-align:center; pointer-events:none; z-index:5; }
.center-eyebrow{ font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:1.4em; }
.center-title{ font-family:var(--font-display); font-size:clamp(36px,4.8vw,64px); font-weight:500; line-height:1.04; letter-spacing:-0.01em; }
.center-title em{ font-style:italic; font-weight:400; }
.center-sub{ margin-top:1.3em; font-size:14px; color:var(--muted); }
.center-default,.center-project{ transition:opacity .55s ease; }
.center-project{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; }
.center.show-project .center-default{ opacity:0; }
.center.show-project .center-project{ opacity:1; }
.preview-img{ width:380px; height:210px; flex-shrink:0; overflow:hidden; background:var(--surface); }
.preview-img img{ width:100%; height:100%; object-fit:cover; }
.preview-cat{ margin-top:1.1em; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
.preview-title{ font-family:var(--font-display); margin-top:0.4em; font-size:clamp(22px,2.2vw,28px); font-weight:500; letter-spacing:0; }

.labels{ position:absolute; inset:0; pointer-events:none; }
.label{ position:absolute; transform:translate(-50%,-50%); white-space:nowrap; font-size:14px; font-weight:500;
  letter-spacing:0.01em; pointer-events:none; opacity:0.85; }
.label .ul{ border-bottom:1px solid var(--ink); padding-bottom:2px; }
.label sup{ font-size:10px; color:var(--muted); margin-left:3px; }

.mobile-preview{ display:none; }
.mobile-ring-hitbox{ display:none; }

@media (max-width:768px){
  .mobile-ring-hitbox{ display:block; position:fixed; left:0; right:0; bottom:0; top:50%;
    z-index:20; touch-action:none; pointer-events:auto; }
  .scene{ height:100svh; overflow:hidden; }
  .center, .labels{ display:none; }
  .custom-cursor{ display:none !important; }
  .site-header{ padding:1.15em 1em; align-items:center; }
  .nav, .lang{ display:none; }
  .menu-toggle{ display:flex; }
  .header-right{ gap:1em; }
  .header-cta{ font-size:12px; padding:.55em 1em; }
  .corner{ bottom:auto; top:3.6em; font-size:13px; }
  .corner--left{ left:1em; }
  .corner--right{ right:1em; }
  .mobile-preview{ display:block; position:fixed; top:6.2em; left:0; right:0; z-index:6; padding:0 1em; pointer-events:none; }
  .mp-cat{ font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:5px; }
  .mp-title{ font-size:23px; line-height:1.05; font-weight:500; letter-spacing:-0.01em; margin-bottom:14px; }
  .mp-img{ width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--surface); }
  .mp-img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .mp-view{ display:inline-block; margin-top:11px; font-size:14px; font-weight:700;
    border-bottom:1px solid var(--ink); padding-bottom:2px; pointer-events:auto; }
  .mp-view i{ font-style:normal; margin-left:0.35em; }
}

/* ── Grid view + Filter ─────────────────────────────────────────────── */
.grid-view{ display:none; }
body.grid-active .scene,
body.grid-active .center,
body.grid-active .labels,
body.grid-active .mobile-preview,
body.grid-active .mobile-ring-hitbox{ display:none !important; }
body.grid-active .grid-view{ display:block; }
body.grid-active{ cursor:auto !important; overflow-y:auto; }
html:has(body.grid-active){ overflow-y:auto; }

.grid-view{ padding:7.2em 2.4em 6em; }
.grid-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.grid-tile{ position:relative; display:block; overflow:hidden; }
.grid-img{ aspect-ratio:1/1; overflow:hidden; background:var(--surface); }
.grid-img img{ width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(0.95) brightness(0.99); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.grid-tile:hover .grid-img img{ transform:scale(1.05); }
.grid-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:14px 16px; opacity:0; transition:opacity .35s ease;
  background:linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0) 55%); }
.grid-tile:hover .grid-overlay{ opacity:1; }
.gt-cat{ color:rgba(255,255,255,0.82); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; }
.gt-title{ color:#fff; font-size:16px; font-weight:500; margin-top:3px; letter-spacing:-0.01em; }

.filter-panel{ position:fixed; left:2.4em; bottom:5.4em; z-index:60; display:none;
  background:var(--surface); border:1px solid var(--line); padding:16px 18px; min-width:210px;
  box-shadow:0 18px 40px -22px rgba(0,0,0,0.7); }
body.filter-open .filter-panel{ display:block; }
.filter-heading{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.filter-opt{ display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font-family:var(--font); font-size:13.5px; color:var(--ink); padding:5px 0; opacity:0.62; transition:opacity .25s ease; }
.filter-opt:hover, .filter-opt.is-active{ opacity:1; }
.filter-opt.is-active{ font-weight:600; }
.filter-opt sup{ font-size:10px; color:var(--muted); margin-left:4px; }

@media (max-width:1024px){ .grid-inner{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px){
  .grid-view{ padding:9em 1em 4em; }
  .grid-inner{ grid-template-columns:repeat(2,1fr); gap:6px; }
  .gt-title{ font-size:14px; }
  .filter-panel{ left:1em; right:1em; bottom:auto; top:6.4em; min-width:0; }
}
@media (max-width:430px){ .grid-inner{ grid-template-columns:1fr; } }

/* ═══ Premium Home (landing) ═══════════════════════════════════════════ */
.home{ position:relative; }
.home-wrap{ width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(1.2em,5vw,3.4em); }

/* buttons */
.btn{ display:inline-flex; align-items:center; gap:0.6em; padding:0.95em 1.7em; border-radius:999px;
  font-family:var(--font); font-size:14px; font-weight:500; letter-spacing:0.01em; line-height:1;
  border:1px solid transparent; cursor:pointer; transition:transform .35s ease, background .35s ease, border-color .35s ease, color .35s ease; }
.btn .btn-ar{ transition:transform .35s ease; }
.btn:hover .btn-ar{ transform:translateX(4px); }
.btn--cream{ background:var(--cream); color:var(--ink-on-cream); }
.btn--cream:hover{ transform:translateY(-2px); background:#f4ede2; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:rgba(236,227,213,0.5); transform:translateY(-2px); }

.home-eyebrow{ font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--muted); }

/* hero — Filllo tarzı iki sütun */
.home-hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; padding:8em 0 4em; }
.home-hero-glow{ position:absolute; z-index:0; top:44%; right:16%; width:min(60vw,780px); height:min(60vw,780px);
  transform:translate(18%,-50%);
  background:radial-gradient(circle, rgba(236,227,213,0.11), rgba(236,227,213,0.04) 42%, transparent 70%); pointer-events:none; }
.home-hero-grid{ position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(1.6em,4vw,4em); align-items:center; }
.home-hero-left{ max-width:640px; }
.home-hero-title{ font-family:var(--font-display); font-weight:500; letter-spacing:-0.01em;
  font-size:clamp(38px,5.6vw,84px); line-height:1.02; margin-top:0.45em; }
.home-hero-title em{ font-style:italic; font-weight:400; }
.home-hero-sub{ margin-top:1.4em; max-width:480px; font-size:clamp(15px,1.3vw,17px); line-height:1.7; color:var(--ink-soft); }
.home-cta{ display:flex; flex-wrap:wrap; gap:0.8em; margin-top:2.1em; }

.home-hero-stats{ display:flex; align-items:center; gap:clamp(1.4em,3vw,2.6em); margin-top:2.8em;
  padding-top:1.8em; border-top:1px solid var(--line); }
.hstat-stars{ color:var(--cream); letter-spacing:2px; font-size:13px; }
.hstat-sub{ font-size:11.5px; color:var(--muted); margin-top:0.5em; }
.hstat-big{ font-family:var(--font-display); font-size:clamp(26px,2.6vw,36px); font-weight:500; margin-top:0.15em; }
.hstat-div{ width:1px; height:46px; background:var(--line); }

/* Hero 01/02 iki görselli kompozisyon (admin'den, 5sn'de bir animasyonlu geçiş) */
.home-hero-right{ position:relative; }
.home-hero-stack{ position:relative; width:100%; aspect-ratio:1/1.04; }
.hero-num{ position:absolute; z-index:3; font-size:11px; letter-spacing:.12em; color:#fff;
  background:rgba(20,18,16,0.42); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  padding:.32em .7em; border-radius:999px; pointer-events:none; }
.hero-num--01{ top:.9em; right:.9em; }
.hero-num--02{ top:.7em; left:.7em; }
.hero-slide{ position:absolute; inset:0; opacity:0; visibility:hidden;
  transition:opacity 1s ease, transform 1s ease; transform:scale(1.015); pointer-events:none; }
.hero-slide.is-active{ opacity:1; visibility:visible; transform:none; }
.hero-01{ position:absolute; top:0; left:0; width:72%; aspect-ratio:3/4;
  border-radius:14px; overflow:hidden; background:var(--surface); border:1px solid var(--line); }
.hero-01 img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.95) brightness(.97); }
.hero-02{ position:absolute; right:0; bottom:5%; width:48%; aspect-ratio:1/1;
  border-radius:14px; overflow:hidden; background:var(--surface); border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(0,0,0,.45); }
.hero-02 img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (prefers-reduced-motion:reduce){ .hero-slide{ transition:none; } }

/* Admin: hero kartları */
.hero-admin-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.hero-admin-imgs{ position:relative; aspect-ratio:4/3; background:#26231f; }
.hero-admin-imgs > img{ width:72%; height:100%; object-fit:cover; display:block; }
.hero-admin-02{ position:absolute; right:6%; bottom:9%; width:42%; aspect-ratio:1/1; object-fit:cover;
  border:2px solid var(--surface); border-radius:8px; box-shadow:0 8px 20px rgba(0,0,0,.4); }
.hero-admin-foot{ display:flex; align-items:center; justify-content:space-between; gap:1em; padding:.75em .9em; font-size:13px; color:var(--ink); }

/* Admin: trafik grafiği */
.traf-bars{ display:flex; flex-direction:column; gap:.7em; margin-top:.4em; }
.traf-row{ display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:1em; font-size:13px; }
.traf-date{ color:var(--muted); }
.traf-bar{ height:12px; background:#26231f; border-radius:999px; overflow:hidden; }
.traf-fill{ display:block; height:100%; background:linear-gradient(90deg, rgba(236,227,213,0.5), var(--cream)); border-radius:999px; }
.traf-val{ color:var(--ink-soft); white-space:nowrap; font-size:12.5px; }
@media (max-width:680px){ .traf-row{ grid-template-columns:38px 1fr; } .traf-val{ grid-column:2; text-align:right; } }

.home-hero-scroll{ position:absolute; z-index:3; top:7.4em; right:clamp(1.2em,5vw,3.4em);
  width:52px; height:52px; border-radius:999px; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ink); font-size:17px;
  transition:background .3s ease, transform .3s ease; }
.home-hero-scroll:hover{ background:var(--surface); transform:translateY(3px); }

@media (max-width:900px){
  .home-hero{ padding:7.5em 0 3em; }
  .home-hero-grid{ grid-template-columns:1fr; gap:2.6em; }
  .home-hero-right{ max-width:440px; }
  .home-hero-scroll, .home-hero-glow{ display:none; }
}

/* generic section */
.home-section{ padding:clamp(5em,11vh,9em) 0; border-top:1px solid var(--line); }
.home-split{ display:grid; grid-template-columns:200px 1fr; gap:2em; }
.home-split-side{ display:flex; flex-direction:column; gap:0.4em; }
.home-index{ font-family:var(--font-display); font-size:15px; color:var(--muted); }
.home-index-label{ font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); }
.home-index-row{ display:inline-flex; gap:0.7em; align-items:baseline; font-size:12px; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--muted); margin-bottom:1.1em; }
.home-h2{ font-family:var(--font-display); font-weight:500; letter-spacing:-0.005em;
  font-size:clamp(26px,3.6vw,48px); line-height:1.12; max-width:14ch; }
.home-split-main .home-h2{ max-width:18ch; }
.home-p{ margin-top:1.4em; max-width:560px; font-size:16px; line-height:1.78; color:var(--ink-soft); }

.home-stats{ margin-top:2.8em; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4em;
  border-top:1px solid var(--line); padding-top:1.8em; }
.home-stat{ display:flex; flex-direction:column; gap:0.3em; }
.home-stat-n{ font-family:var(--font-display); font-size:clamp(28px,3vw,40px); font-weight:500; }
.home-stat-l{ font-size:12.5px; color:var(--muted); letter-spacing:0.02em; }

/* selected works */
.home-head{ margin-bottom:2.6em; }
.home-works{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.home-work{ display:block; }
.home-work-img{ aspect-ratio:4/5; overflow:hidden; background:var(--surface); border:1px solid var(--line); }
.home-work-img img{ width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(0.9) brightness(0.96); transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .6s ease; }
.home-work:hover .home-work-img img{ transform:scale(1.05); filter:saturate(1) brightness(1); }
.home-work-meta{ display:flex; flex-direction:column; gap:0.25em; margin-top:1em; }
.home-work-cat{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
.home-work-title{ font-family:var(--font-display); font-size:20px; }
.home-link{ display:inline-flex; align-items:center; gap:0.6em; margin-top:2.4em; font-size:14px; font-weight:500;
  border-bottom:1px solid var(--line); padding-bottom:4px; transition:border-color .3s ease; }
.home-link:hover{ border-color:var(--ink); }
.home-link .btn-ar{ transition:transform .35s ease; }
.home-link:hover .btn-ar{ transform:translateX(4px); }

/* services cream band */
.home-band{ background:var(--cream); color:var(--ink-on-cream); padding:clamp(5em,11vh,9em) 0;
  border-radius:26px; margin:0 clamp(0.5em,2vw,1.4em); }
.home-h2--dark{ color:var(--ink-on-cream); }
.home-index--dark{ color:#6f675c; }
.home-index-label--dark{ color:#6f675c; }
.home-svc-list{ margin-top:1.8em; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:620px; }
.home-svc-list li{ font-family:var(--font-display); font-size:clamp(18px,2vw,23px); padding:0.75em 0;
  border-bottom:1px solid rgba(43,40,37,0.16); }
.home-link--dark{ color:var(--ink-on-cream); border-color:rgba(43,40,37,0.25); }
.home-link--dark:hover{ border-color:var(--ink-on-cream); }

/* cta band */
.home-cta-band{ padding:clamp(6em,14vh,11em) 0; text-align:center; border-top:1px solid var(--line); }
.home-cta-inner{ max-width:760px; }
.home-cta-band .home-cta{ justify-content:center; }
.home-cta-title{ font-family:var(--font-display); font-weight:500; font-size:clamp(34px,5.2vw,72px);
  line-height:1.06; margin-top:0.4em; }
.home-cta-title em{ font-style:italic; font-weight:400; }
.home-cta-band .home-hero-sub{ margin-left:auto; margin-right:auto; }

/* footer */
.home-footer{ border-top:1px solid var(--line); padding:3em 0 1.6em; }
.home-foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5em; }
.home-foot-brand .brand{ font-size:18px; font-weight:600; letter-spacing:0.06em; }
.home-foot-brand p{ margin-top:1em; max-width:280px; font-size:14px; line-height:1.6; color:var(--ink-soft); }
.home-foot-col{ display:flex; flex-direction:column; gap:0.7em; }
.home-foot-h{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:0.4em; }
.home-foot-col a, .home-foot-col span{ font-size:14px; color:var(--ink-soft); transition:color .3s ease; }
.home-foot-col a:hover{ color:var(--ink); }
.home-foot-bottom{ display:flex; justify-content:space-between; margin-top:2.2em; padding-top:1.3em;
  border-top:1px solid var(--line); font-size:12px; color:var(--muted); }

/* ECSİS kredisi — marka sütununda, paletle uyumlu soft koyu↔açık geçiş */
.ecsis-footer-text{ display:inline-flex; align-items:center; gap:.5em; margin-top:1.2em;
  font-size:11px; letter-spacing:.15em; font-weight:500; animation:ecsis-glow 3.6s ease-in-out infinite; }
.ecsis-ic{ width:14px; height:14px; flex:none; }
@keyframes ecsis-glow{ 0%,100%{ color:var(--muted); } 50%{ color:var(--cream); } }
@media (prefers-reduced-motion:reduce){ .ecsis-footer-text{ animation:none; color:var(--muted); } }
.home-foot-legal{ color:var(--muted); border-bottom:1px solid var(--line); transition:color .3s ease; }
.home-foot-legal:hover{ color:var(--ink); }

/* Çerez / KVKK bildirimi — tek seferlik, sadece Kabul Et */
.cookie-bar{ display:none; position:fixed; left:1.2em; right:1.2em; bottom:1.2em; z-index:200; max-width:640px; margin:0 auto;
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.1em 1.3em;
  align-items:center; gap:1.2em; box-shadow:0 20px 55px rgba(0,0,0,.45); }
.cookie-bar.show{ display:flex; animation:cookie-in .5s cubic-bezier(.2,.8,.2,1); }
.cookie-bar p{ font-size:13px; line-height:1.55; color:var(--ink-soft); margin:0; }
.cookie-bar a{ color:var(--cream); border-bottom:1px solid var(--line); }
.cookie-bar .btn{ margin:0; padding:.7em 1.5em; font-size:13px; white-space:nowrap; }
.cookie-actions{ display:flex; flex-direction:column; align-items:stretch; gap:.5em; flex:none; min-width:190px; }
.cookie-actions .btn{ width:100%; }
.cookie-bar [hidden]{ display:none !important; }   /* .btn display'i hidden'ı ezmesin */
.cookie-more{ background:none; border:none; padding:.1em 0 0; font-family:var(--font); font-size:11px;
  letter-spacing:.02em; color:var(--muted); cursor:pointer; text-decoration:underline; align-self:center; }
.cookie-more:hover{ color:var(--ink); }
@keyframes cookie-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (max-width:640px){
  .cookie-bar{ flex-direction:column; align-items:stretch; gap:.9em; left:.7em; right:.7em; bottom:.7em; padding:1.1em; }
  .cookie-actions{ min-width:0; }
  .cookie-bar p{ font-size:12.5px; }
}
/* Onay çubuğu açıkken WhatsApp butonu çakışmasın */
@media (max-width:768px){
  body.cookie-visible .wa-fab{ opacity:0; pointer-events:none; transition:opacity .3s ease; }
}

/* reveal */
.reveal{ opacity:0; transform:translateY(18px); animation:home-reveal .9s cubic-bezier(.2,.8,.2,1) forwards; }
.reveal.d1{ animation-delay:.08s; } .reveal.d2{ animation-delay:.16s; }
.reveal.d3{ animation-delay:.26s; } .reveal.d4{ animation-delay:.4s; }
@keyframes home-reveal{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .reveal{ animation:none; opacity:1; transform:none; } }

@media (max-width:880px){
  .home-split{ grid-template-columns:1fr; gap:1.2em; }
  .home-works{ grid-template-columns:1fr 1fr; }
  .home-svc-list{ grid-template-columns:1fr; }
  .home-foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .home-stats{ grid-template-columns:1fr 1fr; gap:1.4em 1em; }
  .home-works{ grid-template-columns:1fr; }
  .home-foot-grid{ grid-template-columns:1fr; }
  .home-hero-foot{ flex-wrap:wrap; gap:0.5em 0.8em; }
  .home-scroll{ display:none; }
}

/* ═══ Arapça / RTL ═════════════════════════════════════════════════════ */
/* Poppins/Playfair Arapça glif içermez → sistemdeki Arapça fontuna düş. */
html[dir="rtl"], html[dir="rtl"] body{
  font-family:"Segoe UI","Noto Sans Arabic","Tahoma",Arial,sans-serif;
}
html[dir="rtl"] .home-hero-title,
html[dir="rtl"] .home-h2,
html[dir="rtl"] .home-cta-title,
html[dir="rtl"] .center-title,
html[dir="rtl"] .page-title,
html[dir="rtl"] .preview-title,
html[dir="rtl"] .home-work-title,
html[dir="rtl"] .service-name,
html[dir="rtl"] .home-svc-list li,
html[dir="rtl"] .loading-name-line1,
html[dir="rtl"] .loading-name-line2,
html[dir="rtl"] .home-stat-n,
html[dir="rtl"] .service-no,
html[dir="rtl"] .home-index{
  font-family:"Noto Naskh Arabic","Segoe UI","Times New Roman",serif;
}
html[dir="rtl"] em{ font-style:normal; }                 /* Arapça'da italik uygulanmaz */
html[dir="rtl"] .home-eyebrow,
html[dir="rtl"] .center-eyebrow,
html[dir="rtl"] .page-eyebrow,
html[dir="rtl"] .home-index-row,
html[dir="rtl"] .home-stat-l,
html[dir="rtl"] .home-foot-h{ letter-spacing:0; }        /* Arapça harf aralığı bozulmasın */
html[dir="rtl"] .home-cta{ flex-direction:row-reverse; justify-content:flex-end; }
html[dir="rtl"] .home-cta-band .home-cta{ justify-content:center; }
html[dir="rtl"] .lang{ direction:ltr; }                  /* TR / EN / عربي sırası sabit kalsın */

/* Content pages (Info / Contact) */
.page-content{ max-width:760px; margin:0 auto; padding:10em 2.4em 6em; }
.page-eyebrow{ font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin-bottom:1.2em; }
.page-title{ font-family:var(--font-display); font-size:clamp(34px,4.6vw,58px); font-weight:500; line-height:1.06; letter-spacing:0; }
.page-body{ margin-top:2em; max-width:560px; }
.page-body p{ font-size:16px; line-height:1.75; color:var(--ink-soft); margin-bottom:1.1em; }
.page-body--intro{ max-width:620px; }

/* Hakkımızda — misyon / vizyon kartları */
.info-cards{
  margin-top:3.2em; display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.info-card{
  background:var(--surface); border:1px solid var(--line); border-radius:18px;
  padding:2em 2em 2.1em;
  box-shadow:0 18px 48px -32px rgba(0,0,0,0.55);
  transition:border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.info-card:hover{
  border-color:rgba(236,227,213,0.28);
  transform:translateY(-3px);
  box-shadow:0 22px 56px -28px rgba(0,0,0,0.62);
}
.info-card-title{
  font-family:var(--font-display); font-size:clamp(26px,2.8vw,34px); font-weight:500;
  color:var(--ink); letter-spacing:-0.01em; margin:0;
}
.info-card-rule{
  height:1px; margin:1.1em 0 1.35em;
  background:linear-gradient(90deg, rgba(236,227,213,0.55), rgba(236,227,213,0.12) 72%, transparent);
}
.info-card p{
  font-size:15.5px; line-height:1.78; color:var(--ink-soft); margin:0 0 1.05em;
}
.info-card p:last-child{ margin-bottom:0; }
html[dir="rtl"] .info-card-rule{
  background:linear-gradient(270deg, rgba(236,227,213,0.55), rgba(236,227,213,0.12) 72%, transparent);
}
@media (max-width:820px){
  .info-cards{ grid-template-columns:1fr; gap:14px; margin-top:2.6em; }
  .info-card{ padding:1.7em 1.5em 1.8em; }
  .info-card:hover{ transform:none; }
}

/* Yasal sayfa (gizlilik) */
.legal-page .page-body{ max-width:760px; }
.legal-h2{ font-family:var(--font-display); font-size:22px; font-weight:500; color:var(--ink); margin:1.8em 0 .7em; }
.legal-h3{ font-size:15px; font-weight:600; color:var(--ink); margin:1.3em 0 .4em; letter-spacing:.01em; }
.legal-list{ margin:0 0 1.1em 1.2em; padding:0; }
.legal-list li{ font-size:15.5px; line-height:1.7; color:var(--ink-soft); margin-bottom:.6em; }
.page-body a{ color:var(--cream); border-bottom:1px solid var(--line); }
.legal-note{ margin-top:2em; font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:1.2em; }
.contact-list{ margin-top:2.4em; display:grid; grid-template-columns:120px 1fr; gap:0.9em 1.6em; max-width:520px; }
.contact-list dt{ font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); padding-top:2px; }
.contact-list dd{ font-size:16px; }
.contact-list dd a{ border-bottom:1px solid var(--line); padding-bottom:2px; transition:border-color .3s ease; }
.contact-list dd a:hover{ border-color:var(--ink); }

/* İletişim formu */
.contact-form-wrap{ margin-top:3.4em; padding-top:2.6em; border-top:1px solid var(--line); max-width:560px; }
.cf-heading{ font-family:var(--font-display); font-size:26px; font-weight:500; margin-bottom:1em; }
.contact-form .cf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 1.2em; }
.contact-form .cf-grid > div:first-child{ grid-column:1 / -1; }
.cf-label{ display:block; font-size:12px; letter-spacing:.04em; color:var(--muted); margin:1em 0 .4em; }
.cf-input{ width:100%; background:var(--surface); border:1px solid var(--line); border-radius:10px; color:var(--ink);
  font-family:var(--font); font-size:15px; padding:.8em 1em; transition:border-color .25s ease; }
.cf-input:focus{ outline:none; border-color:rgba(236,227,213,0.4); }
.cf-textarea{ resize:vertical; min-height:120px; line-height:1.55; }
.cf-send{ margin-top:1.7em; }
.cf-error{ color:#d99a8c; font-size:13.5px; margin-top:1em; }
.cf-success{ padding:.5em 0 1em; }
.cf-success h2{ font-family:var(--font-display); font-size:28px; font-weight:500; }
.cf-success p{ margin-top:.7em; color:var(--ink-soft); line-height:1.65; }
@media (max-width:560px){ .contact-form .cf-grid{ grid-template-columns:1fr; } }
/* Mobilde WhatsApp sabit butonu form/gönder alanıyla çakışmasın diye alt boşluk */
@media (max-width:768px){
  .page-content{ padding-bottom:5.5em; }
  .cf-send{ margin-bottom:1.5em; }
}

/* Teklif formu + admin teklif chip'leri */
.quote-grid .cf-col2{ grid-column:1 / -1; }
.adm-quote-meta{ display:flex; flex-wrap:wrap; gap:.5em; margin-top:.8em; }
.adm-chip{ font-size:12px; color:var(--ink); background:#3a352f; border:1px solid var(--line);
  border-radius:999px; padding:.3em .8em; }

/* Servisler */
.page-content--wide{ max-width:1040px; }
.page-lead{ margin-top:1.6em; max-width:620px; font-size:17px; line-height:1.7; color:var(--ink-soft); }
.services-grid{ margin-top:3.4em; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

/* Proje detay sayfası */
.proj-detail{ max-width:1000px; }
.proj-back{ display:inline-block; font-size:13px; color:var(--muted); margin-bottom:2em; }
.proj-back:hover{ color:var(--ink); }
.proj-main{ position:relative; margin-top:1.8em; padding:0; border-radius:16px; overflow:hidden;
  background:var(--surface); border:1px solid var(--line); aspect-ratio:16/10;
  display:block; width:100%; cursor:zoom-in; text-align:left; font:inherit; color:inherit; }
.proj-main img{ width:100%; height:100%; object-fit:cover; display:block; }
.proj-zoom-hint{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9em;
  padding:1.2em; text-align:center;
  background:rgba(18,16,14,0.38); color:#fff;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  opacity:0; transition:opacity .35s ease;
  pointer-events:none;
}
.proj-main:hover .proj-zoom-hint,
.proj-main:focus-visible .proj-zoom-hint{ opacity:1; }
.proj-zoom-ic{ width:46px; height:46px; opacity:.95; filter:drop-shadow(0 2px 10px rgba(0,0,0,.35)); }
.proj-zoom-txt{ font-size:14px; font-weight:500; letter-spacing:.02em; max-width:16em; line-height:1.45;
  text-shadow:0 1px 12px rgba(0,0,0,.45); }
@media (hover:none){
  .proj-main{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
  .proj-zoom-hint{
    opacity:1;
    background:linear-gradient(to top, rgba(10,9,8,.72) 0%, rgba(10,9,8,.18) 52%, transparent 100%);
    backdrop-filter:none; -webkit-backdrop-filter:none;
    justify-content:flex-end; padding-bottom:1.1em;
  }
  .proj-zoom-ic{ width:34px; height:34px; }
  .proj-zoom-txt{ font-size:12.5px; max-width:14em; }
}

.proj-lightbox{
  position:fixed; inset:0;
  width:100vw; height:100vh; height:100dvh;
  min-height:-webkit-fill-available;
  margin:0; padding:0; border:none;
  z-index:2147483000;
  display:flex; align-items:center; justify-content:center;
  background:rgba(12,11,10,0.97);
  opacity:0; visibility:hidden; transition:opacity .28s ease, visibility .28s ease;
  touch-action:none; overscroll-behavior:none;
  transform:translate3d(0,0,0); -webkit-transform:translate3d(0,0,0);
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
  isolation:isolate;
}
.proj-lightbox[hidden]{ display:none !important; }
.proj-lightbox.is-open{ opacity:1; visibility:visible; display:flex !important; }
html.proj-lightbox-open,
body.proj-lightbox-open{
  overflow:hidden; height:100%; touch-action:none;
  overscroll-behavior:none;
}
.proj-lightbox-stage{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; max-height:100dvh;
  padding:4.5em 4.8em 3.5em; box-sizing:border-box;
}
.proj-lightbox-img{
  max-width:min(96vw, 1680px);
  max-height:min(calc(100dvh - 7rem), 1200px);
  width:auto; height:auto; object-fit:contain;
  border-radius:8px; box-shadow:0 24px 80px rgba(0,0,0,.45);
  user-select:none; -webkit-user-drag:none;
  touch-action:pan-x pan-y pinch-zoom;
}
.proj-lightbox-close{
  position:absolute; top:max(1.1em, env(safe-area-inset-top, 0px)); right:max(1.2em, env(safe-area-inset-right, 0px)); z-index:3;
  width:48px; height:48px; border:none; border-radius:999px; cursor:pointer;
  background:rgba(236,227,213,0.16); color:var(--cream); font-size:30px; line-height:1;
  transition:background .2s ease, transform .2s ease;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.proj-lightbox-close:hover{ background:rgba(236,227,213,0.22); transform:scale(1.04); }
.proj-lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:52px; height:52px; border:none; border-radius:999px; cursor:pointer;
  background:rgba(236,227,213,0.16); color:var(--cream); font-size:32px; line-height:1;
  transition:background .2s ease, transform .2s ease;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.proj-lightbox-nav:hover{ background:rgba(236,227,213,0.22); }
.proj-lightbox-prev{ left:1.2em; }
.proj-lightbox-next{ right:1.2em; }
.proj-lightbox-count{
  position:absolute; bottom:1.4em; left:50%; transform:translateX(-50%);
  font-size:13px; letter-spacing:.08em; color:rgba(236,227,213,0.72);
}
@media (max-width:760px){
  .proj-main{ aspect-ratio:4/3; border-radius:12px; }
  .proj-lightbox-stage{ padding:calc(4.2em + env(safe-area-inset-top, 0px)) .6em calc(3.4em + env(safe-area-inset-bottom, 0px)); }
  .proj-lightbox-img{
    max-width:100vw; max-height:calc(100dvh - 6.5rem);
    border-radius:0; box-shadow:none;
  }
  .proj-lightbox-nav{ width:46px; height:46px; font-size:28px; }
  .proj-lightbox-prev{ left:max(.35em, env(safe-area-inset-left, 0px)); }
  .proj-lightbox-next{ right:max(.35em, env(safe-area-inset-right, 0px)); }
  .proj-lightbox-count{ bottom:max(1.2em, env(safe-area-inset-bottom, 0px)); }
  .proj-zoom-txt{ font-size:12px; }
}

.proj-thumbs{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-top:12px; }
.proj-thumb{ padding:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; cursor:pointer;
  background:#26231f; aspect-ratio:4/3; transition:border-color .2s ease, transform .2s ease; }
.proj-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.proj-thumb:hover{ transform:translateY(-2px); }
.proj-thumb.is-active{ border-color:var(--cream); }
.proj-body{
  margin-top:2.4em; max-width:720px;
  font-size:16px; line-height:1.75; color:var(--ink-soft);
}
.proj-body p{ margin:0 0 1.15em; }
.proj-body p:last-child{ margin-bottom:0; }
.proj-body[dir="rtl"]{ margin-left:auto; margin-right:0; text-align:right; }
.proj-cta{ display:flex; gap:.8em; margin-top:2.6em; flex-wrap:wrap; }
@media (max-width:760px){ .proj-thumbs{ grid-template-columns:repeat(4,1fr); } }
.service-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:1.7em 1.6em 1.9em; transition:transform .35s ease, border-color .35s ease, background .35s ease; }
.service-card:hover{ transform:translateY(-4px); border-color:rgba(236,227,213,0.28); background:#3a352f; }
.service-no{ font-family:var(--font-display); font-size:14px; color:var(--muted); letter-spacing:0.04em; }
.service-name{ font-family:var(--font-display); font-size:23px; font-weight:500; margin:0.5em 0 0.5em; letter-spacing:0; }
.service-desc{ font-size:14.5px; line-height:1.6; color:var(--ink-soft); }
@media (max-width:1024px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){
  .services-grid{ grid-template-columns:1fr; }
  .page-lead{ font-size:16px; }
}
@media (max-width:768px){
  .page-content{ padding:8em 1.2em 4em; }
  .contact-list{ grid-template-columns:1fr; gap:0.2em 0; }
  .contact-list dd{ margin-bottom:1.1em; }
}

/* ═══ Admin panel ═══════════════════════════════════════════════════════ */
.adm-auth{ min-height:100svh; display:flex; align-items:center; justify-content:center; padding:2em; background:var(--bg); }
.adm-card{ width:100%; max-width:380px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:2.4em 2.2em; }
.adm-brand{ font-weight:600; font-size:17px; letter-spacing:0.06em; color:var(--ink); }
.adm-brand span{ font-size:9px; vertical-align:super; margin-left:1px; }
.adm-brand em{ font-family:var(--font-display); font-style:italic; font-weight:400; color:var(--muted); margin-left:.4em; font-size:16px; }
.adm-h1{ font-family:var(--font-display); font-size:30px; font-weight:500; margin-top:0.7em; letter-spacing:-0.01em; }
.adm-sub{ font-size:14px; color:var(--ink-soft); margin-top:.5em; margin-bottom:1.6em; line-height:1.6; }
.adm-error{ background:rgba(196,92,72,0.14); border:1px solid rgba(196,92,72,0.45); color:#e7b8ac;
  font-size:13px; padding:.7em 1em; border-radius:10px; margin-bottom:1.1em; }
.adm-flash{ background:rgba(120,170,120,0.14); border:1px solid rgba(140,190,140,0.45); color:#a9d3a3;
  font-size:13px; padding:.7em 1em; border-radius:10px; margin-bottom:1.1em; }
.adm-bulk{ display:flex; flex-direction:column; gap:.6em; }
.adm-bulk-form{ display:flex; align-items:flex-end; gap:1em; flex-wrap:wrap; }
.adm-file{ display:block; font-size:13px; color:var(--ink-soft); background:#26231f; border:1px solid var(--line);
  border-radius:10px; padding:.55em .7em; width:100%; cursor:pointer; }
.adm-file::file-selector-button{ font-family:var(--font); font-size:12px; color:var(--ink); background:var(--surface);
  border:1px solid var(--line); border-radius:8px; padding:.4em .8em; margin-right:.8em; cursor:pointer; }
/* Sürükle-bırak alanı */
.adm-dropzone{ border:1.5px dashed var(--line); border-radius:14px; padding:1.8em 1.2em; text-align:center;
  cursor:pointer; transition:border-color .2s ease, background .2s ease; margin-bottom:.4em; }
.adm-dropzone:hover{ border-color:rgba(236,227,213,0.4); }
.adm-dropzone.over{ border-color:var(--cream); background:rgba(236,227,213,0.06); }
.adm-dropzone p{ font-size:14px; color:var(--ink-soft); margin:0; }
.adm-dropzone p strong{ color:var(--ink); }
/* Galeri yönetimi */
.adm-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; margin-top:.6em; }
.adm-gal-item{ position:relative; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#26231f; }
.adm-gal-item.is-cover{ border-color:var(--cream); }
.adm-gal-item > img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.adm-gal-badge{ position:absolute; top:8px; left:8px; font-size:10px; letter-spacing:.05em; text-transform:uppercase;
  background:var(--cream); color:var(--ink-on-cream); padding:.25em .6em; border-radius:999px; font-weight:600; }
.adm-gal-actions{ display:flex; justify-content:space-between; gap:.6em; padding:.55em .7em; }
.adm-gal-actions form{ display:inline; }
.adm-label{ display:block; font-size:12px; letter-spacing:.04em; color:var(--muted); margin:1.1em 0 .45em; }
.adm-input{ width:100%; background:#26231f; border:1px solid var(--line); border-radius:10px; color:var(--ink);
  font-family:var(--font); font-size:15px; padding:.8em 1em; transition:border-color .25s ease; }
.adm-input:focus{ outline:none; border-color:rgba(236,227,213,0.42); }
.adm-btn{ width:100%; margin-top:1.7em; background:var(--cream); color:var(--ink-on-cream); border:1px solid transparent;
  border-radius:999px; font-family:var(--font); font-size:14px; font-weight:500; padding:.9em 1.4em; cursor:pointer;
  transition:transform .3s ease, background .3s ease; }
.adm-btn:hover{ transform:translateY(-2px); background:#f4ede2; }
.adm-btn--ghost{ width:auto; margin:0; background:transparent; color:var(--ink); border-color:var(--line); padding:.6em 1.2em; }
.adm-btn--ghost:hover{ background:#3a352f; transform:none; border-color:rgba(236,227,213,0.4); }

.adm-shell{ min-height:100svh; background:var(--bg); }
.adm-top{ display:flex; align-items:center; gap:2em; padding:1.2em 2em; border-bottom:1px solid var(--line);
  position:sticky; top:0; background:var(--bg); z-index:10; }
.adm-nav{ display:flex; gap:1.6em; font-size:14px; }
.adm-nav a{ color:var(--ink-soft); transition:color .25s ease; }
.adm-nav a:hover{ color:var(--ink); }
.adm-logout{ margin-left:auto; display:flex; align-items:center; gap:1.1em; }
.adm-main{ padding:2.6em 2em; max-width:1100px; margin:0 auto; }
.adm-eyebrow{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.adm-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:2em; }
.adm-stat{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.5em 1.4em;
  display:flex; flex-direction:column; gap:.3em; }
.adm-stat-n{ font-family:var(--font-display); font-size:34px; font-weight:500; }
.adm-stat-l{ font-size:13px; color:var(--muted); }
.adm-panel{ margin-top:2em; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.8em; }
.adm-h2{ font-family:var(--font-display); font-size:20px; font-weight:500; margin-bottom:1em; }
.adm-list{ list-style:none; }
.adm-list li{ font-size:14px; color:var(--ink-soft); padding:.6em 0; border-bottom:1px solid var(--line); }
.adm-list li:last-child{ border-bottom:none; }

/* Admin: görsel özet panosu */
.dash-actions{ display:flex; gap:.6em; }
.dash-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:1.8em 0; }
.dash-stat{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:1.4em 1.4em 1.3em; display:flex; flex-direction:column; gap:.15em; transition:border-color .2s ease, transform .2s ease; }
.dash-stat:hover{ border-color:rgba(236,227,213,0.32); transform:translateY(-2px); }
.dash-ic{ width:30px; height:30px; color:var(--cream); opacity:.85; margin-bottom:.5em; }
.dash-ic svg{ width:100%; height:100%; }
.dash-n{ font-family:var(--font-display); font-size:32px; font-weight:500; line-height:1; color:var(--ink); }
.dash-of{ font-size:16px; color:var(--muted); margin-left:.1em; }
.dash-l{ font-size:12.5px; color:var(--muted); margin-top:.3em; }
.dash-stat.hot{ border-color:rgba(236,227,213,0.4); }
.dash-stat.hot .dash-n{ color:var(--cream); }
.dash-stat.hot::after{ content:""; position:absolute; top:14px; right:14px; width:9px; height:9px;
  border-radius:999px; background:var(--cream); box-shadow:0 0 0 4px rgba(236,227,213,0.12); }
.dash-stat.hot--msg{
  background:linear-gradient(135deg, rgba(236,227,213,0.14) 0%, var(--surface) 58%);
  border-color:rgba(236,227,213,0.58);
  box-shadow:0 0 0 1px rgba(236,227,213,0.08), 0 10px 30px rgba(0,0,0,0.24);
}
.dash-stat.hot--msg .dash-l{ color:var(--cream); font-weight:500; }
.dash-stat.hot--msg .dash-ic{ color:var(--cream); opacity:1; }
.dash-stat.hot--msg::after{
  width:11px; height:11px; background:#f5ede1;
  animation:dash-pulse 2.2s ease-in-out infinite;
}
@keyframes dash-pulse{
  0%,100%{ box-shadow:0 0 0 4px rgba(236,227,213,0.14); transform:scale(1); }
  50%{ box-shadow:0 0 0 9px rgba(236,227,213,0.05); transform:scale(1.08); }
}

.dash-cols{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.dash-card{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.4em 1.5em; }
.dash-card--attention{
  border-color:rgba(236,227,213,0.38);
  box-shadow:inset 0 0 0 1px rgba(236,227,213,0.07), 0 8px 24px rgba(0,0,0,0.18);
}
.dash-card-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1em; margin-bottom:.4em; }
.dash-card-head-left{ display:flex; align-items:center; gap:.7em; flex-wrap:wrap; min-width:0; }
.dash-card-head-badge{
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-on-cream); background:var(--cream); padding:.32em .72em; border-radius:999px;
  box-shadow:0 0 14px rgba(236,227,213,0.28);
}
.dash-card-head .adm-h2{ margin-bottom:0; }
.dash-empty{ color:var(--muted); font-size:13.5px; padding:1em 0 .4em; }
.dash-row{ display:flex; align-items:center; justify-content:space-between; gap:1em;
  padding:.75em 0; border-bottom:1px solid var(--line); }
.dash-row:last-child{ border-bottom:none; }
.dash-row-main{ display:flex; flex-direction:column; gap:.2em; min-width:0; }
.dash-row-name{ font-size:14px; color:var(--ink); display:flex; align-items:center; gap:.5em; }
.dash-row-sub{ font-size:12.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
.dash-row-date{ font-size:12px; color:var(--muted); white-space:nowrap; }
.dash-row:hover .dash-row-name{ color:var(--cream); }
.dash-row--unread{
  margin:0 -1.1em; padding:.85em 1.1em .85em calc(1.1em + 3px);
  background:rgba(236,227,213,0.08);
  border-bottom-color:rgba(236,227,213,0.12);
  border-left:3px solid var(--cream);
  border-radius:0 10px 10px 0;
}
.dash-row--unread .dash-row-name{ color:var(--cream); font-weight:600; }
.dash-row--unread .dash-row-date{ color:var(--ink-soft); font-weight:500; }
.dash-row--unread .adm-badge{
  background:#fff8ee; box-shadow:0 0 12px rgba(236,227,213,0.35);
  font-size:10.5px; padding:.32em .68em;
}

.dash-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:.7em; }
.dash-thumb{ position:relative; border-radius:12px; overflow:hidden; aspect-ratio:4/3; background:#26231f;
  border:1px solid var(--line); display:block; }
.dash-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.dash-thumb:hover img{ transform:scale(1.05); }
.dash-thumb-cap{ position:absolute; left:0; right:0; bottom:0; padding:.5em .7em; font-size:11.5px; color:#fff;
  background:linear-gradient(to top, rgba(0,0,0,.72), transparent); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:900px){
  .dash-stats{ grid-template-columns:repeat(2,1fr); }
  .dash-cols{ grid-template-columns:1fr; }
  .dash-thumbs{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:680px){
  .adm-cards{ grid-template-columns:1fr; }
  .dash-stats{ grid-template-columns:repeat(2,1fr); }
  .dash-thumbs{ grid-template-columns:repeat(2,1fr); }
  .adm-main{ padding:1.6em 1.1em; }
  .adm-top{ padding:1em 1.1em; gap:1em; }
  .adm-nav{ display:none; }
}

/* Admin: proje yönetimi */
.adm-pagehead{ display:flex; align-items:flex-end; justify-content:space-between; gap:1em; margin-bottom:1.6em; }
.adm-btn--sm{ width:auto; margin:0; padding:.7em 1.3em; font-size:13px; }
.adm-listlink{ color:var(--ink); }
.adm-listlink:hover{ color:var(--cream); }

/* Admin: arama + sıralama araç çubuğu */
.adm-toolbar{ display:flex; align-items:center; gap:1em; margin-bottom:1em; flex-wrap:wrap; }
.adm-search{ flex:1; min-width:220px; background:var(--surface); border:1px solid var(--line);
  border-radius:10px; padding:.7em 1em; font-family:var(--font); font-size:14px; color:var(--ink); }
.adm-search::placeholder{ color:var(--muted); }
.adm-search:focus{ outline:none; border-color:rgba(236,227,213,0.4); }
.adm-toolcount{ font-size:12.5px; color:var(--muted); white-space:nowrap; }
.adm-th .adm-sort{ cursor:pointer; user-select:none; display:inline-flex; align-items:center; gap:.3em;
  transition:color .2s ease; }
.adm-th .adm-sort:hover{ color:var(--ink); }
.adm-th .adm-sort.active{ color:var(--cream); }
.adm-sortarrow{ font-size:9px; }
.adm-empty{ padding:1.4em 1.2em; color:var(--muted); font-size:14px; }

.adm-form{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.6em 1.7em; margin-bottom:1.8em; }
.adm-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:1em 1.4em; }
.adm-fieldstack{ display:flex; flex-direction:column; gap:1em; margin-top:1.2em; }
.adm-labelrow{ display:flex; align-items:center; justify-content:space-between; gap:.8em; flex-wrap:wrap; margin-bottom:.35em; }
.adm-labelrow .adm-label{ margin-bottom:0; }
.adm-translate-btn{
  border:1px solid var(--line); background:rgba(236,227,213,0.08); color:var(--ink);
  font-family:var(--font); font-size:12px; font-weight:500; letter-spacing:.02em;
  padding:.45em .85em; border-radius:999px; cursor:pointer;
  transition:background .2s ease, border-color .2s ease, opacity .2s ease;
}
.adm-translate-btn:hover{ background:rgba(236,227,213,0.16); border-color:rgba(236,227,213,0.32); }
.adm-translate-btn:disabled{ opacity:.55; cursor:wait; }
.adm-textarea{ min-height:140px; resize:vertical; line-height:1.55; padding-top:.85em; padding-bottom:.85em; }
.adm-form .adm-label{ margin-top:.2em; }
.adm-formimg{ margin-top:1.2em; width:160px; height:120px; border-radius:10px; overflow:hidden; background:#26231f; border:1px solid var(--line); }
.adm-formimg img{ width:100%; height:100%; object-fit:cover; display:block; }
.adm-imgrow{ display:flex; gap:1.4em; align-items:flex-start; margin-top:1.2em; flex-wrap:wrap; }
.adm-imgactions{ display:flex; flex-direction:column; gap:.7em; }
.adm-upload{ position:relative; overflow:hidden; cursor:pointer; }
.adm-upload input[type=file]{ position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.adm-hint{ font-size:12px; color:var(--muted); max-width:280px; line-height:1.5; }
.adm-formactions{ display:flex; gap:.7em; margin-top:1.4em; }
select.adm-input{ appearance:none; -webkit-appearance:none; cursor:pointer; }

.adm-table{ border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.adm-tr{ display:grid; grid-template-columns:64px 1fr 1fr 70px 150px; align-items:center; gap:1em;
  padding:.7em 1.2em; border-bottom:1px solid var(--line); font-size:14px; }
.adm-tr:last-child{ border-bottom:none; }
.adm-th{ background:var(--surface); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.adm-thumb{ width:48px; height:38px; object-fit:cover; border-radius:6px; display:block; }
.adm-cell-title{ font-weight:500; color:var(--ink); }
.adm-table--cat .adm-tr{ grid-template-columns:1.4fr 1fr 70px 70px 150px; }
.adm-table--user .adm-tr{ grid-template-columns:1fr 1.4fr 100px 150px; }
.adm-key{ font-family:var(--font); font-size:12.5px; color:var(--muted); }
.adm-user{ font-size:13px; color:var(--ink-soft); }
.adm-nav a.is-active{ color:var(--cream); }
/* Admin giriş ekranı */
.auth-wrap{ min-height:100svh; display:flex; align-items:center; justify-content:center; padding:2em 1.2em; }
.auth-card{ width:100%; max-width:380px; text-align:center; }
.auth-logo{ width:120px; height:auto; margin:0 auto 1.4em; display:block; }
.auth-title{ font-family:var(--font-display); font-size:24px; font-weight:500; margin-bottom:1.6em; }
.auth-form{ text-align:left; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.6em 1.7em; }
.auth-form .adm-btn{ width:100%; }
.auth-back{ display:inline-block; margin-top:1.4em; font-size:13px; color:var(--muted); }
.auth-back:hover{ color:var(--ink); }
@media (max-width:760px){
  .adm-table--cat .adm-tr{ grid-template-columns:1fr 90px; }
  .adm-table--cat .adm-tr span:nth-child(2),
  .adm-table--cat .adm-th span:nth-child(2),
  .adm-table--cat .adm-tr span:nth-child(3),
  .adm-table--cat .adm-th span:nth-child(3),
  .adm-table--cat .adm-tr span:nth-child(4),
  .adm-table--cat .adm-th span:nth-child(4){ display:none; }
  .adm-table--user .adm-tr{ grid-template-columns:1fr 100px; }
  .adm-table--user .adm-tr span:nth-child(2),
  .adm-table--user .adm-th span:nth-child(2),
  .adm-table--user .adm-tr span:nth-child(3),
  .adm-table--user .adm-th span:nth-child(3){ display:none; }
}
.adm-rowactions{ display:flex; gap:1em; justify-content:flex-end; }
.adm-link2{ background:none; border:none; cursor:pointer; font-family:var(--font); font-size:13px; color:var(--ink-soft);
  padding:0; transition:color .2s ease; }
.adm-link2:hover{ color:var(--cream); }
.adm-del{ color:#d99a8c; }
.adm-del:hover{ color:#e8b0a3; }

/* Admin: mesajlar */
.adm-msglist{ display:flex; flex-direction:column; gap:12px; margin-top:1.8em; }
.adm-msg{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.3em 1.5em; }
.adm-msg.unread{ border-color:rgba(236,227,213,0.34); }
.adm-msg-head{ display:flex; justify-content:space-between; align-items:center; gap:1em; }
.adm-msg-name-row{ display:flex; align-items:center; gap:.7em; }
.adm-msg-name{ font-weight:600; font-size:15px; color:var(--ink); }
.adm-badge{ font-size:10px; letter-spacing:.05em; text-transform:uppercase; background:var(--cream);
  color:var(--ink-on-cream); padding:.25em .6em; border-radius:999px; font-weight:600; }
.adm-msg-date{ font-size:12px; color:var(--muted); white-space:nowrap; }
.adm-msg-contact{ font-size:13px; color:var(--ink-soft); margin-top:.4em; }
.adm-msg-contact a{ border-bottom:1px solid var(--line); }
.adm-msg-body{ margin-top:.9em; font-size:14.5px; line-height:1.6; color:var(--ink-soft); white-space:pre-wrap; }
.adm-msg-actions{ display:flex; gap:1.4em; margin-top:1.1em; }
@media (max-width:760px){
  .adm-grid2{ grid-template-columns:1fr; }
  .adm-tr{ grid-template-columns:48px 1fr 90px; }
  .adm-tr span:nth-child(3), .adm-th span:nth-child(3){ display:none; }
  .adm-tr span:nth-child(4), .adm-th span:nth-child(4){ display:none; }
}

.custom-cursor{ display:none; }
@media (pointer:fine) and (hover:hover){
  body.has-cursor{ cursor:none; }                       /* dot replaces the OS cursor (archive page only) */
  body.has-cursor .custom-cursor{ display:block; position:fixed; top:0; left:0; width:13px; height:13px;
    border-radius:999px; background:var(--cream); pointer-events:none; z-index:99999; will-change:transform; transition:opacity .3s ease; }
  .custom-cursor.is-hidden{ opacity:0; }
}

body:not(.page-ready) .scene{ opacity:0; }              /* hide ring until fully built+painted */

.loading-screen{ position:fixed; inset:0; z-index:999999; background:var(--bg);
  display:flex; align-items:center; justify-content:center; cursor:default; }
.loading-screen.is-hidden{ pointer-events:none; }
.loading-inner{ text-align:center; }

.loading-stage{
  position:relative; min-height:clamp(4.5em,11vw,6.5em);
  display:flex; align-items:center; justify-content:center;
}

/* — full name: GSAP ile kutu + metin (archive.js) — */
.loading-name{
  position:absolute; inset:0; z-index=1;
  display:flex; align-items:center; justify-content:center;
  opacity=0; pointer-events:none;
}
.loading-name-outer{ overflow:hidden; }
.loading-name-box{
  display:grid; background:var(--cream);
  padding:.85em 1.8em;
  width:max-content; max-width:min(92vw,560px);
}
.loading-name-sizer,
.loading-name-reveal{
  grid-area:1 / 1;
  display:flex; flex-direction:column; align-items:center; gap=.14em;
}
.loading-name-sizer{
  visibility:hidden; pointer-events:none; user-select:none;
  color:transparent;
}
.loading-name-line1,
.loading-name-line2{
  color:var(--ink-on-cream); margin:0; font-family:var(--font-display);
  font-size:clamp(17px,2.6vw,32px); font-weight:500;
  letter-spacing:-.01em; line-height:1.12; white-space:nowrap;
}
.loading-name-line2 em{ font-style:italic; font-weight:400; }
.loading-brand{
  display:inline-block; position:absolute; z-index:2;
  font-weight:600; font-size:34px; letter-spacing:.06em;
  --s-pos:1.16em;
  width:2.15em; height:1.5em; white-space:nowrap;
}
.loading-letter{
  position:absolute; top:0; left:50%;
  opacity:0;
  animation:letter-solo .26s cubic-bezier(.22,1,.36,1) forwards,
             letter-final .42s cubic-bezier(.22,1,.36,1) forwards;
}
.loading-letter:nth-child(1){ --fx:0; animation-delay:0s,.5s; }
.loading-letter:nth-child(2){ --fx:.58em; animation-delay:.15s,.5s; }
.loading-letter:nth-child(3){ --fx:var(--s-pos); animation-delay:.3s,.5s; }
.loading-reg{
  /* S'in sağ ÜST köşesine üst-simge olarak yerleş. font-size ve left aynı oranla
     ana marka font'una bağlı olduğundan ölçek değişse de konum korunur. */
  position:absolute; top:0; left:3.9em;
  font-size:.5em; line-height:1;
  transform:translateY(-.15em);
  opacity:0;
  animation:reg-in .35s ease .92s forwards;
}

@keyframes letter-solo{
  0%{ opacity:0; transform:translateX(-50%) translateY(12px) scale(.82); }
  45%{ opacity:1; transform:translateX(-50%) translateY(-2px) scale(1.07); }
  100%{ opacity:0; transform:translateX(-50%) translateY(-5px) scale(.94); }
}
@keyframes letter-final{
  0%{ opacity:0; left:50%; transform:translateX(-50%) translateY(10px) scale(.88); }
  60%{ opacity:1; transform:translateX(0) translateY(-1px) scale(1.03); }
  100%{ opacity:1; left:var(--fx); transform:translateX(0) translateY(0) scale(1); }
}
@keyframes reg-in{ to{ opacity:1; } }

@media (prefers-reduced-motion:reduce){
  .loading-brand{ width:auto; height:auto; display:inline-flex; align-items:baseline; animation:none!important; }
  .loading-letter{ position:static; }
  .loading-reg{ position:static; }
  .loading-name{ position:static; opacity:1!important; }
  .loading-name-outer{ width:auto!important; height:auto!important; overflow:visible!important; }
  .loading-name-box{ transform:none!important; }
  .loading-name-reveal{ transform:none!important; }
  .loading-brand,.loading-letter,.loading-reg,.loading-name{
    animation:none!important; opacity:1!important; transform:none!important; filter:none!important;
  }
}
@media (max-width:768px){ .loading-screen{ height:100svh; } }
