/* ══════════════════════════════════════════════════════════════════
   DIJINIKA — DESIGN SYSTEM v2
   Editorial / motion-first agency aesthetic.
   Bu dosya tüm sayfalarda style.css'ten SONRA, sayfaya özel CSS'ten
   ÖNCE yüklenir. Var olan --navy/--blue token'larını genişletir.
   ══════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  /* ── Genişletilmiş renk sistemi (mevcut navy/blue kimliği korunur) ── */
  --ink:#080f1e;
  --ink-2:#0b1d36;
  --navy:#0b1d36;
  --navy-dim:#1a3158;
  --navy-light:#2a4a7a;
  --surface:#ffffff;
  --surface-2:#f7f8fb;
  --surface-3:#eef1f7;
  --line:rgba(11,29,54,0.09);
  --line-strong:rgba(11,29,54,0.18);
  --text:#0b1d36;
  --text-muted:#57698a;
  --text-faint:#93a1bd;
  --blue:#1a56c4;
  --blue-2:#2d6fe8;
  --blue-glow:#6fa8ff;
  --violet:#6a5cff;
  --cyan:#22d3ee;
  --gold:#f0b74a;
  --mint:#2ee6a6;

  /* Gradients — tek renkten çıkıp çok-durakli mesh'e geçiş */
  --grad-brand: linear-gradient(135deg, var(--blue) 0%, var(--violet) 55%, var(--cyan) 100%);
  --grad-dark-mesh:
    radial-gradient(50% 40% at 12% 8%, rgba(45,111,232,0.35) 0%, transparent 60%),
    radial-gradient(45% 45% at 88% 18%, rgba(106,92,255,0.28) 0%, transparent 60%),
    radial-gradient(60% 50% at 50% 100%, rgba(34,211,238,0.14) 0%, transparent 60%),
    var(--ink);
  --grad-text: linear-gradient(100deg, #fff 20%, #bcd4ff 50%, #6fa8ff 80%);

  --shadow-sm: 0 2px 10px rgba(8,15,30,0.06);
  --shadow-md: 0 10px 40px rgba(8,15,30,0.10);
  --shadow-lg: 0 24px 80px rgba(8,15,30,0.18);
  --shadow-glow: 0 0 60px rgba(45,111,232,0.25);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 999px;

  --ease-out: cubic-bezier(0.16,1,0.3,1);
  --ease-in-out: cubic-bezier(0.65,0,0.35,1);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);

  --fluid-1: clamp(0.85rem,0.8rem + 0.2vw,0.95rem);
  --fluid-2: clamp(1rem,0.95rem + 0.3vw,1.15rem);
  --fluid-3: clamp(1.4rem,1.2rem + 1vw,1.9rem);
  --fluid-4: clamp(2.2rem,1.7rem + 2.2vw,3.4rem);
  --fluid-5: clamp(3rem,2.1rem + 4vw,5.6rem);
  --fluid-6: clamp(4rem,2.6rem + 6.5vw,8.5rem);

  --font-display:'Space Grotesk','Bebas Neue',sans-serif;
  --font-sans:'Barlow',sans-serif;
  --font-mono:'Fira Code',monospace;
}

/* ══════════════════════════════════════════════════════════════════
   PRIMITIVES / RESET LAYER
   ══════════════════════════════════════════════════════════════════ */
::selection{background:var(--blue);color:#fff}
.ds-noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Cursor-follow glow blob (desktop only, decorative) */
.cursor-glow{position:fixed;top:0;left:0;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(45,111,232,0.10) 0%,transparent 70%);
  pointer-events:none;z-index:0;transform:translate(-50%,-50%);
  transition:opacity 0.4s;will-change:transform;display:none}
@media(hover:hover) and (pointer:fine){.cursor-glow{display:block}}

/* ══════════════════════════════════════════════════════════════════
   TYPOGRAPHY — big editorial display type
   ══════════════════════════════════════════════════════════════════ */
.ds-eyebrow{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--blue);font-weight:500;
}
.ds-eyebrow::before{content:'';width:22px;height:1px;background:currentColor;opacity:0.5}
.ds-eyebrow.on-dark{color:var(--blue-glow)}

.ds-h1{
  font-family:var(--font-display);font-weight:700;
  font-size:var(--fluid-6);line-height:0.94;letter-spacing:-0.02em;
  color:var(--text);
}
.ds-h1 .grad{
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.ds-h1.on-dark{color:#fff}

.ds-h2{
  font-family:var(--font-display);font-weight:700;
  font-size:var(--fluid-5);line-height:0.98;letter-spacing:-0.015em;color:var(--text);
}
.ds-h2.on-dark{color:#fff}
.ds-h2 .accent{color:var(--blue)}
.ds-h2.on-dark .accent{color:var(--blue-glow)}

.ds-lead{
  font-family:var(--font-sans);font-weight:300;font-size:var(--fluid-3);
  line-height:1.5;color:var(--text-muted);max-width:46ch;
}
.ds-lead.on-dark{color:rgba(255,255,255,0.62)}

.ds-body{font-family:var(--font-sans);font-weight:300;font-size:1rem;line-height:1.8;color:var(--text-muted)}

/* Kinetic word-swap heading helper */
.kinetic-swap{position:relative;display:inline-grid}
.kinetic-swap span{grid-area:1/1;opacity:0;transform:translateY(100%);transition:transform 0.7s var(--ease-out),opacity 0.5s ease}
.kinetic-swap span.is-active{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════════════════════════════
   MAGNETIC BUTTONS
   ══════════════════════════════════════════════════════════════════ */
.mbtn{
  position:relative;display:inline-flex;align-items:center;gap:0.6rem;
  padding:1.05rem 2.3rem;border-radius:var(--radius-pill);
  font-family:var(--font-mono);font-size:0.78rem;font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;border:1px solid transparent;overflow:hidden;
  transition:transform 0.4s var(--ease-spring),box-shadow 0.4s var(--ease-out),background 0.3s,color 0.3s,border-color 0.3s;
  will-change:transform;
}
.mbtn-primary{background:var(--navy);color:#fff}
.mbtn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}
.mbtn-primary .mbtn-fill{position:absolute;inset:0;background:var(--grad-brand);opacity:0;transition:opacity 0.4s}
.mbtn-primary:hover .mbtn-fill{opacity:1}
.mbtn-primary span,.mbtn-primary svg{position:relative;z-index:1}

.mbtn-ghost{background:transparent;color:var(--navy);border-color:var(--line-strong)}
.mbtn-ghost:hover{border-color:var(--navy);background:rgba(11,29,54,0.04);transform:translateY(-2px)}
.mbtn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,0.22)}
.mbtn-ghost.on-dark:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.06)}

.mbtn-light{background:#fff;color:var(--navy)}
.mbtn-light:hover{box-shadow:0 12px 40px rgba(255,255,255,0.25);transform:translateY(-2px)}

.mbtn svg{width:16px;height:16px;transition:transform 0.35s var(--ease-out)}
.mbtn:hover svg{transform:translate(3px,-3px)}

/* ══════════════════════════════════════════════════════════════════
   CUSTOM ICON SYSTEM (replaces emoji) — stroke-based, consistent
   ══════════════════════════════════════════════════════════════════ */
.dicon{width:26px;height:26px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.dicon-tile{
  width:56px;height:56px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  background:var(--surface-2);border:1px solid var(--line);
  color:var(--navy);transition:0.4s var(--ease-out);
}
.dicon-tile.on-dark{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.12);color:#fff}

/* ══════════════════════════════════════════════════════════════════
   GLASS / SPOTLIGHT CARDS
   ══════════════════════════════════════════════════════════════════ */
.spot-card{
  position:relative;border-radius:var(--radius-md);
  background:var(--surface);border:1px solid var(--line);
  overflow:hidden;isolation:isolate;
  transition:border-color 0.4s,transform 0.5s var(--ease-out),box-shadow 0.5s var(--ease-out);
}
.spot-card::before{
  content:'';position:absolute;inset:-1px;z-index:-1;opacity:0;border-radius:inherit;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(45,111,232,0.14), transparent 60%);
  transition:opacity 0.4s;
}
.spot-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.spot-card:hover::before{opacity:1}
.spot-card.on-dark{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.09)}
.spot-card.on-dark:hover{border-color:rgba(255,255,255,0.22)}
.spot-card.on-dark::before{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(111,168,255,0.16), transparent 60%)}

/* ══════════════════════════════════════════════════════════════════
   SCROLL REVEAL — staggered, direction-aware
   ══════════════════════════════════════════════════════════════════ */
.rv{opacity:1;transform:none;transition:opacity 0.9s var(--ease-out),transform 0.9s var(--ease-out),filter 0.9s var(--ease-out)}
.js-rv .rv{opacity:0;transform:translateY(46px);filter:blur(6px)}
.js-rv .rv.rv-in{opacity:1;transform:translateY(0);filter:blur(0)}
.js-rv .rv-l{transform:translateX(-46px)}
.js-rv .rv-l.rv-in{transform:translateX(0)}
.js-rv .rv-r{transform:translateX(46px)}
.js-rv .rv-r.rv-in{transform:translateX(0)}
.js-rv .rv-scale{transform:scale(0.92)}
.js-rv .rv-scale.rv-in{transform:scale(1)}
.rv-d1{transition-delay:0.08s}.rv-d2{transition-delay:0.16s}.rv-d3{transition-delay:0.24s}
.rv-d4{transition-delay:0.32s}.rv-d5{transition-delay:0.4s}.rv-d6{transition-delay:0.48s}

/* Char/line split for headline reveal */
.split-lines{overflow:hidden;display:block}
.split-line-inner{display:block;transform:translateY(110%);transition:transform 0.9s var(--ease-out)}
.js-rv .rv-in .split-line-inner{transform:translateY(0)}

/* ══════════════════════════════════════════════════════════════════
   MARQUEE (logo showcase)
   ══════════════════════════════════════════════════════════════════ */
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite;gap:0}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ══════════════════════════════════════════════════════════════════
   NUMBER COUNT-UP
   ══════════════════════════════════════════════════════════════════ */
.count-up{font-variant-numeric:tabular-nums}

/* ══════════════════════════════════════════════════════════════════
   SECTION FRAME HELPERS
   ══════════════════════════════════════════════════════════════════ */
.ds-section{padding:clamp(5rem,4rem + 4vw,9rem) clamp(1.5rem,4vw,4rem);position:relative;z-index:1}
.ds-section-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.ds-dark{background:var(--ink);position:relative;overflow:hidden}
.ds-dark::before{content:'';position:absolute;inset:0;background:var(--grad-dark-mesh);z-index:0;pointer-events:none}
.ds-dark .ds-section-inner{position:relative;z-index:1}
.ds-grain-lines{position:absolute;inset:0;z-index:0;opacity:0.05;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,0.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.4) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 0%,#000 0%,transparent 70%);
  mask-image:radial-gradient(ellipse 60% 50% at 50% 0%,#000 0%,transparent 70%);
}

/* Divider with gradient dot */
.ds-divider{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 50%,transparent);position:relative;z-index:1}
.ds-divider.on-dark{background:linear-gradient(90deg,transparent,rgba(255,255,255,0.14) 50%,transparent)}

/* Tag pill */
.ds-pill{
  display:inline-flex;align-items:center;gap:0.4rem;padding:0.35rem 0.85rem;
  border-radius:var(--radius-pill);border:1px solid var(--line-strong);
  font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.05em;color:var(--text-muted);
  background:var(--surface-2);
}
.ds-pill.on-dark{border-color:rgba(255,255,255,0.16);color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.04)}

/* Big index number (editorial style) */
.ds-index{font-family:var(--font-display);font-size:clamp(3rem,6vw,5.5rem);line-height:1;color:var(--line-strong);font-weight:700;transition:color 0.4s}
.ds-dark .ds-index{color:rgba(255,255,255,0.08)}

/* ══════════════════════════════════════════════════════════════════
   REDUCED MOTION
   ══════════════════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  .rv,.split-line-inner,.mbtn,.spot-card,.kinetic-swap span{transition:none!important;animation:none!important}
  .js-rv .rv{opacity:1!important;transform:none!important;filter:none!important}
  .marquee-track{animation:none!important}
}

@media(max-width:640px){
  .cursor-glow{display:none!important}
  .mbtn{padding:0.9rem 1.7rem;font-size:0.72rem}
}
