:root {
  --bg: #F6F3EE;
  --bg-2: #EFEBE4;
  --bg-hover: #ECE8E0;
  --line: #E2DDD4;
  --line-2: #D3CDC2;
  --ink: #1C1B18;
  --ink-2: #4A4741;
  --mute: #6A665F;
  --ind: oklch(0.52 0.17 278);
  --ind-soft: oklch(0.88 0.06 278);
  --ind-text: #E4E0F4;
  --dark-2: #262522;
  --dark-3: #302E2A;
  --dark-line: #34322E;
  --dark-mute: #9A958C;
  --dark-text: #BDB8B0;
  --gutter: clamp(20px, 4vw, 32px);
  --max: 1320px;
  --w-lbl: 'wdth' 90, 'wght' 560;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: 'Google Sans Flex', system-ui, sans-serif; -webkit-font-smoothing: antialiased; font-variation-settings: 'wght' 400; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
strong { font-weight: inherit; color: var(--ink); font-variation-settings: 'wght' 560; }
h1, h2, h3 { font-weight: normal; margin: 0; }
p { margin: 0; }
figure { margin: 0; }
:focus-visible { outline: 2px solid var(--ind); outline-offset: 3px; }
[id] { scroll-margin-top: 72px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 50; padding: 10px 14px; border-radius: 999px; background: var(--ink); color: var(--bg); }
.skip:focus { top: 12px; }

.wrap { max-width: var(--max); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); width: 100%; }
.wrap-narrow { max-width: 1100px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); width: 100%; }
.sec-md { padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(48px, 8vw, 96px); }
.sec-lg { padding-top: clamp(56px, 9vw, 112px); padding-bottom: clamp(56px, 9vw, 112px); }
.stack-lg { display: flex; flex-direction: column; gap: 28px; }
.stack-xl { display: flex; flex-direction: column; gap: 32px; }
.head-sm { display: flex; flex-direction: column; gap: 12px; }
.grid { display: grid; gap: 12px; }
.g220 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.g260 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.g300 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.g340 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.mw820 { max-width: 820px; }
.mw640 { max-width: 640px; }
.ind { color: var(--ind); }

/* Tipografi */
.h1 { font-size: clamp(44px, 6vw, 88px); line-height: 0.95; letter-spacing: -0.035em; font-variation-settings: 'wght' 520; max-width: 1000px; text-wrap: balance; }
.h2 { font-size: clamp(32px, 4.4vw, 58px); line-height: 1; letter-spacing: -0.03em; font-variation-settings: 'wght' 540; text-wrap: balance; }
.h2c { font-size: clamp(30px, 4vw, 52px); line-height: 1; letter-spacing: -0.03em; font-variation-settings: 'wght' 540; }
.h3 { font-size: clamp(26px, 3vw, 40px); line-height: 1.05; letter-spacing: -0.025em; font-variation-settings: 'wght' 540; }
.h3s { margin-top: 24px; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.1; letter-spacing: -0.02em; font-variation-settings: 'wght' 540; }
.lead-sm { font-size: 17px; line-height: 1.5; color: var(--ink-2); }
.lab { font-size: 13px; letter-spacing: 0.04em; font-variation-settings: var(--w-lbl); color: var(--mute); }
.eyebrow { font-size: 13px; letter-spacing: 0.04em; color: var(--ind); font-variation-settings: var(--w-lbl); }
.note { font-size: 17px; font-variation-settings: 'wght' 520; }

/* Butonlar */
.btn { display: inline-block; cursor: pointer; border: 0; border-radius: 999px; padding: 14px 20px; font-size: 15px; font-variation-settings: 'wght' 560; text-align: center; line-height: 1.2; transition: background .2s, color .2s; }
.btn-ink { background: var(--ink); color: var(--bg); }
.btn-ink:hover { background: var(--ind); }
.btn-ind { background: var(--ind); color: var(--bg); font-variation-settings: 'wght' 580; }
.btn-ind:hover { background: var(--ink); }
.btn-line { border: 1px solid var(--ink); font-variation-settings: 'wght' 540; }
.btn-line:hover { background: var(--ink); color: var(--bg); }
.btn-line-light { border: 1px solid var(--bg); color: var(--bg); padding: 13px 18px; font-variation-settings: 'wght' 400; }
.btn-line-light:hover { background: var(--bg); color: var(--ind); }
.btn-under { display: inline-block; padding: 14px 18px; font-size: 15px; font-variation-settings: 'wght' 540; border-bottom: 1px solid var(--ink); }
.btn-under:hover { color: var(--ind); border-color: var(--ind); }
.row-btns { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.pill { align-self: flex-start; padding: 7px 12px; border-radius: 999px; font-size: 13px; letter-spacing: 0.04em; font-variation-settings: var(--w-lbl); color: var(--ink); }
.pill-soft { background: var(--ind-soft); }
.pill-h1 { text-transform: uppercase; }
.pill-accent { background: var(--c-accent); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-soft { font-size: 13px; padding: 7px 12px; border-radius: 999px; background: var(--ind-soft); color: var(--ink); font-variation-settings: 'wght' 520; }
.tag-ink { font-size: 13px; padding: 6px 10px; border-radius: 999px; background: var(--ink); color: var(--bg); font-variation-settings: 'wght' 560; }
.price .tag-soft { padding: 6px 10px; font-variation-settings: 'wght' 560; }
.tag-line { font-size: 14px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line-2); }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { cursor: pointer; padding: 11px 16px; border-radius: 999px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 15px; font-variation-settings: 'wght' 540; transition: background .25s, color .25s; }
.chip:hover { background: var(--bg-hover); }
.chip.on { background: var(--ink); color: var(--bg); }
.chips-sm { padding-top: 12px; }
.chips-sm .chip { padding: 9px 16px; font-size: 14px; font-variation-settings: 'wght' 520; }

/* Header */
.hdr { position: sticky; top: 0; z-index: 10; background: rgba(246, 243, 238, 0.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.hdr-in { padding-top: 12px; padding-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.brand { display: flex; align-items: center; gap: 8px; }
.brand-mark { width: 24px; height: 24px; display: block; }
.brand-mark svg, .hero-bg-in svg { display: block; width: 100%; height: 100%; overflow: visible; }
.brand-word { font-size: 26px; line-height: 0.8; letter-spacing: -0.01em; font-variation-settings: 'wght' 480; }
.nav-d { display: flex; align-items: center; gap: 4px; }
.nav-link { padding: 10px 14px; border-radius: 999px; font-size: 15px; font-variation-settings: 'wght' 500; }
.nav-link:hover { background: var(--bg-hover); }
.nav-link[aria-current] { color: var(--ind); }
.nav-cta { margin-left: 8px; padding: 11px 18px; font-variation-settings: 'wght' 540; }
.menu-btn { display: none; cursor: pointer; background: none; border: 0; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px; font-size: 15px; font-variation-settings: 'wght' 560; }
.nav-m { display: flex; flex-direction: column; padding: 8px 20px 20px; border-top: 1px solid var(--line); background: var(--bg); }
.nav-m[hidden] { display: none; }
.nav-m a:not(.btn) { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 22px; font-variation-settings: 'wght' 500; }
.nav-m .btn { margin-top: 16px; padding: 15px 20px; font-size: 16px; font-variation-settings: 'wght' 540; }
@media (max-width: 759px) {
  .nav-d { display: none; }
  .menu-btn { display: flex; }
}
@media (min-width: 760px) { .nav-m { display: none !important; } }

/* Hero */
.hero { height: calc(100svh - 65px); min-height: 460px; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.hero-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.hero-bg-in { position: absolute; right: -8vmin; top: 50%; transform: translateY(-58%); width: min(92vmin, 900px); aspect-ratio: 1 / 1; }
.hl-shapes { fill: none; stroke: var(--ink); stroke-width: 2.4; stroke-linejoin: round; opacity: 0.06; }
/* İkili kesişimler kod editörü gibi görünür; site.js her yeni kesişime bu beş temadan birini (th-0…th-4) verir.
   x* sınıfları: k anahtar kelime, s string, n sayı, c yorum, f fonksiyon, t tip, v değişken/bayrak */
.hl-code { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: 1.6px; }
/* Solarized Dark */
.th-0 .hl-bg { fill: #002b36; } .th-0 .hl-code { fill: #839496; }
.th-0 .xk { fill: #859900; } .th-0 .xs { fill: #2aa198; } .th-0 .xn { fill: #d33682; } .th-0 .xc { fill: #586e75; }
.th-0 .xf { fill: #268bd2; } .th-0 .xt { fill: #b58900; } .th-0 .xv { fill: #cb4b16; }
/* Dracula */
.th-1 .hl-bg { fill: #282a36; } .th-1 .hl-code { fill: #f8f8f2; }
.th-1 .xk { fill: #ff79c6; } .th-1 .xs { fill: #f1fa8c; } .th-1 .xn { fill: #bd93f9; } .th-1 .xc { fill: #6272a4; }
.th-1 .xf { fill: #50fa7b; } .th-1 .xt { fill: #8be9fd; } .th-1 .xv { fill: #ffb86c; }
/* Monokai */
.th-2 .hl-bg { fill: #272822; } .th-2 .hl-code { fill: #f8f8f2; }
.th-2 .xk { fill: #f92672; } .th-2 .xs { fill: #e6db74; } .th-2 .xn { fill: #ae81ff; } .th-2 .xc { fill: #75715e; }
.th-2 .xf { fill: #a6e22e; } .th-2 .xt { fill: #66d9ef; } .th-2 .xv { fill: #fd971f; }
/* One Dark */
.th-3 .hl-bg { fill: #282c34; } .th-3 .hl-code { fill: #abb2bf; }
.th-3 .xk { fill: #c678dd; } .th-3 .xs { fill: #98c379; } .th-3 .xn { fill: #d19a66; } .th-3 .xc { fill: #5c6370; }
.th-3 .xf { fill: #61afef; } .th-3 .xt { fill: #e5c07b; } .th-3 .xv { fill: #e06c75; }
/* Nord */
.th-4 .hl-bg { fill: #2e3440; } .th-4 .hl-code { fill: #d8dee9; }
.th-4 .xk { fill: #81a1c1; } .th-4 .xs { fill: #a3be8c; } .th-4 .xn { fill: #b48ead; } .th-4 .xc { fill: #616e88; }
.th-4 .xf { fill: #88c0d0; } .th-4 .xt { fill: #8fbcbb; } .th-4 .xv { fill: #d08770; }
/* Mobilde kod katmanı yazıların okunmasını zorlaştırır: yalnızca şekiller dolaşır (site.js de aynı sınırı kullanır) */
@media (max-width: 759px) { .hl-reg { display: none; } }
/* Üçlü kesişim: siyah zeminli, daha koyu bir terminal */
.hl-bg-term { fill: #050505; }
.hl-term { fill: #9a9a9a; }
.hl-term .xk { fill: #4e9a06; }
.hl-term .xf { fill: #3f7fbf; }
.hl-term .xs { fill: #b8913a; }
.hl-term .xv { fill: #8a6fb8; }
.hl-term .xc { fill: #555; }
.hero-main { position: relative; z-index: 1; flex: 1; min-height: 0; padding-top: clamp(12px, 4vh, 64px); padding-bottom: clamp(10px, 2.5vh, 32px); display: flex; flex-direction: column; justify-content: center; }
.hero-col { display: flex; flex-direction: column; gap: clamp(10px, 2.6vh, 28px); max-width: 1100px; }
.hero-h { font-size: clamp(26px, min(5.6vw, 7vh), 80px); line-height: 1.04; letter-spacing: -0.035em; font-variation-settings: 'wght' 540; text-wrap: balance; max-width: 12em; }
.typer { display: grid; grid-template-columns: minmax(0, 1fr); }
.typer > span { grid-area: 1 / 1; }
.typer-ghost { visibility: hidden; }
.typer-live.fixed { white-space: nowrap; }
.typer-caret { position: relative; }
.typer-caret::before { content: ''; position: absolute; left: 0.03em; bottom: 0.08em; width: 0.06em; height: 0.9em; background: var(--ind); animation: hzBlink 1s steps(1) infinite; }
.typer-rest { color: transparent; }
.hero-p { font-size: clamp(15px, min(1.6vw, 2.6vh), 21px); line-height: 1.4; color: var(--ink-2); max-width: 540px; text-wrap: pretty; }
.btn-hero { padding: clamp(11px, 1.8vh, 16px) 22px; }
.btn-hero.btn-line { padding: clamp(11px, 1.8vh, 16px) 20px; }
.hero-bullets { display: flex; gap: 8px 20px; flex-wrap: wrap; font-size: 14px; color: var(--ink-2); }
.hero-bullets i { font-style: normal; color: var(--ind); }
@media (max-height: 639px), (max-width: 479px) { .hero-bullets { display: none; } }
.hero-mq { position: relative; z-index: 1; flex-shrink: 0; border-top: 1px solid var(--line); padding: clamp(8px, 1.6vh, 18px) 0; overflow: hidden; }

/* Kayan şerit */
.mq { display: flex; flex-direction: column; gap: clamp(4px, 1vh, 10px); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mq-row { overflow: hidden; white-space: nowrap; }
.mq-track { display: inline-flex; align-items: center; animation-timing-function: linear; animation-iteration-count: infinite; }
.mq-l { animation-name: hzL; }
.mq-r { animation-name: hzR; }
.mq-row:hover .mq-track { animation-play-state: paused; }
.mq-item { color: #C4BFB6; transition: color .2s; font-size: clamp(18px, min(2.1vw, 3.4vh), 28px); line-height: 1.3; letter-spacing: -0.01em; font-variation-settings: 'wght' 460; }
.mq-item:hover { color: var(--ink); }
.mq-dot { width: 5px; height: 5px; border-radius: 50%; background: #DAD5CC; margin: 0 clamp(14px, 1.6vw, 24px); flex-shrink: 0; }
@keyframes hzL { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes hzR { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes hzBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

/* Sorunlar */
.band { background: var(--bg-2); border-top: 1px solid var(--line); }
.prob { background: var(--bg); border-radius: 18px; padding: clamp(22px, 3.4vw, 44px); display: flex; flex-direction: column; gap: clamp(20px, 2.6vw, 32px); box-shadow: 0 1px 0 var(--line); }
.stack { display: grid; }
.stack-i { grid-area: 1 / 1; visibility: hidden; }
.stack-i.on { visibility: visible; }
.prob-q .stack-i { font-size: clamp(22px, 2.6vw, 34px); line-height: 1.2; letter-spacing: -0.02em; font-variation-settings: 'wght' 500; text-wrap: pretty; }
.prob-card { background: var(--bg-2); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.prob-card-ind { background: var(--ind); color: var(--bg); }
.prob-card-ind .lab { color: var(--ind-soft); }
.prob-t .stack-i { font-size: 17px; line-height: 1.45; }
.prob-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.prob-res .stack-i { display: flex; flex-direction: column; gap: 4px; }
.prob-rv { font-size: clamp(36px, 4.4vw, 56px); line-height: 0.95; letter-spacing: -0.03em; color: var(--ind); font-variation-settings: 'wght' 540; }
.prob-rl { font-size: 14px; color: var(--ink-2); }

/* Yaklaşım */
.step { border: 1px solid var(--line); border-radius: 14px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.step-top { display: flex; justify-content: space-between; align-items: baseline; }
.step-n { font-size: 14px; color: var(--ind); font-variation-settings: 'wght' 600; }
.step-m { font-size: 13px; color: var(--mute); }
.step-t { font-size: 24px; line-height: 1.1; letter-spacing: -0.015em; font-variation-settings: 'wght' 540; }
.step-d { font-size: 16px; line-height: 1.5; color: var(--ink-2); text-wrap: pretty; }
.pricing { display: flex; flex-direction: column; gap: 20px; padding-top: clamp(32px, 5vw, 56px); }
.pricing .head-sm { gap: 10px; }
.promise { background: var(--ind); color: var(--bg); border-radius: 16px; padding: clamp(22px, 3vw, 36px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px 40px; align-items: center; }
.promise-h { font-size: clamp(24px, 2.8vw, 36px); line-height: 1.12; letter-spacing: -0.02em; font-variation-settings: 'wght' 540; text-wrap: balance; }
.promise-p { font-size: 17px; line-height: 1.5; color: var(--ind-text); text-wrap: pretty; }
.promise-p strong { color: var(--bg); }
.price { background: var(--bg-2); border-radius: 14px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.price-parts { display: flex; gap: 6px; flex-wrap: wrap; }
.price-d { font-size: 15px; line-height: 1.5; color: var(--ink-2); text-wrap: pretty; }

/* Sonuçlar (koyu) */
.dark { background: var(--ink); color: var(--bg); }
.dark-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.link-soft { font-size: 15px; color: var(--ind-soft); font-variation-settings: 'wght' 540; padding: 6px 0; border-bottom: 1px solid var(--ind-soft); }
.link-soft:hover { color: var(--bg); border-color: var(--bg); }
.results { display: flex; flex-direction: column; gap: 32px; }
/* Şerit tam genişlikte; iç boşluk container kenarına denk gelir, kartlar iki yandan da ekran kenarına kadar akar. */
.scroller { --edge: max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter))); display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--edge) 8px; scroll-padding-inline: var(--edge); scrollbar-width: none; }
.scroller::-webkit-scrollbar { display: none; }
.fcard { scroll-snap-align: start; flex: 0 0 min(82vw, 340px); display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding: 24px; border-radius: 14px; background: var(--dark-2); min-height: 280px; transition: background .2s; }
.fcard:hover { background: var(--dark-3); }
.fcard-cat { font-size: 13px; letter-spacing: 0.04em; font-variation-settings: var(--w-lbl); color: var(--ind-soft); }
.fcard-mid { display: flex; flex-direction: column; gap: 6px; }
.fcard-rv { font-size: clamp(40px, 4.4vw, 54px); line-height: 0.95; letter-spacing: -0.03em; font-variation-settings: 'wght' 540; }
.fcard-rl { font-size: 15px; color: var(--dark-text); }
.fcard-t { font-size: 18px; line-height: 1.3; font-variation-settings: 'wght' 500; padding-top: 16px; border-top: 1px solid #3A3834; }

/* Süreç metni + karşılaştırma */
.prose2 { gap: 16px 48px; font-size: clamp(17px, 1.5vw, 19px); line-height: 1.55; color: var(--ink-2); }
.prose2 p { text-wrap: pretty; }
.feat { background: var(--bg-2); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 16px; line-height: 1.45; }
.cmp { display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.cmp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.4; }
.cmp-head { padding: 14px 0; font-size: 13px; letter-spacing: 0.04em; font-variation-settings: var(--w-lbl); color: var(--mute); }
.cmp-a { color: var(--mute); }
.cmp-b { font-variation-settings: 'wght' 540; }

/* Alt sayfa başlığı */
.page-head { padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(32px, 5vw, 56px); display: flex; flex-direction: column; gap: 28px; }

/* Hizmetler */
.svc-list { display: flex; flex-direction: column; padding-bottom: clamp(56px, 10vw, 112px); }
.svc { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px 56px; padding: 48px 0; border-top: 1px solid var(--ink); }
.svc-l { display: flex; flex-direction: column; gap: 14px; }
.svc-t { font-size: 36px; line-height: 1.05; letter-spacing: -0.025em; font-variation-settings: 'wght' 520; text-wrap: balance; }
.svc-r { display: flex; flex-direction: column; gap: 22px; }
.svc-d { font-size: 18px; line-height: 1.55; color: var(--ink-2); text-wrap: pretty; }
.svc-cases { display: flex; flex-direction: column; gap: 6px; }
.svc-cases a { align-self: flex-start; font-size: 17px; padding: 4px 0; color: var(--ind); font-variation-settings: 'wght' 520; }
.svc-cases a:hover { color: var(--ink); }

/* Vakalar */
.case-grid { padding-top: 24px; padding-bottom: clamp(56px, 10vw, 112px); display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: 48px 28px; }
.ccard { display: flex; flex-direction: column; gap: 18px; transition: opacity .2s; }
.ccard:hover { opacity: 0.8; }
.ccard[hidden] { display: none; }
.ccard-img { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--bg-hover); }
.ccard-body { display: flex; flex-direction: column; gap: 8px; }
.ccard-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--mute); }
.ccard-cat { color: var(--ind); font-variation-settings: var(--w-lbl); }
.ccard-t { font-size: 24px; line-height: 1.15; letter-spacing: -0.015em; font-variation-settings: 'wght' 520; text-wrap: balance; }
.ccard-s { font-size: 15px; line-height: 1.5; color: var(--ink-2); text-wrap: pretty; }

/* Görsel yer tutucu */
.slot { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px; text-align: center; font-size: 13px; color: #8F8A82; background: repeating-linear-gradient(135deg, transparent 0 12px, rgba(28, 27, 24, 0.025) 12px 24px); }
.slot svg { opacity: 0.45; }
.slot-img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Vaka detay */
.case-hero { overflow: hidden; }
.case-hero-in { padding-top: clamp(20px, 3vw, 36px); padding-bottom: clamp(48px, 7vw, 88px); display: flex; flex-direction: column; gap: clamp(24px, 4vw, 44px); }
.back { align-self: flex-start; font-size: 14px; color: var(--dark-mute); font-variation-settings: 'wght' 520; padding: 8px 0; }
.back:hover { color: var(--bg); }
.case-hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: clamp(28px, 4vw, 56px); align-items: center; }
.case-hero-copy { display: flex; flex-direction: column; gap: 22px; }
.case-h { font-size: clamp(36px, 5.4vw, 76px); line-height: 0.98; letter-spacing: -0.035em; font-variation-settings: 'wght' 540; text-wrap: balance; }
.case-short { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5; color: var(--dark-text); max-width: 560px; text-wrap: pretty; }
.case-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 20px; border-top: 1px solid var(--dark-line); }
.case-facts div { display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.35; }
.case-facts .lab { color: var(--dark-mute); }
.case-vis { background: var(--dark-2); border: 1px solid var(--dark-line); border-radius: 20px; padding: clamp(16px, 2.4vw, 28px); min-height: 380px; display: flex; flex-direction: column; color: var(--bg); }
.case-vis > div { display: flex; flex-direction: column; flex: 1; }
.case-quote { padding-top: clamp(56px, 9vw, 120px); padding-bottom: clamp(32px, 5vw, 56px); display: flex; flex-direction: column; gap: 20px; }
.case-quote p { font-size: clamp(28px, 4.4vw, 62px); line-height: 1.1; letter-spacing: -0.03em; font-variation-settings: 'wght' 500; text-wrap: balance; }
.c-ink { color: var(--c-ink); }
.c-accent { color: var(--c-accent); }
.pf { border-radius: 18px; padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; }
.pf p { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; text-wrap: pretty; }
.pf-before { background: var(--bg-2); }
.pf-find { background: var(--c-soft); }
.sol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-bottom: 1px solid var(--line); }
.sol li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: start; padding: 22px 0; border-top: 1px solid var(--line); }
.sol-n { width: 40px; height: 40px; border-radius: 50%; background: var(--c-accent); display: flex; align-items: center; justify-content: center; font-size: 14px; font-variation-settings: 'wght' 600; }
.sol-t { font-size: clamp(19px, 2.1vw, 27px); line-height: 1.3; letter-spacing: -0.015em; font-variation-settings: 'wght' 500; padding-top: 5px; text-wrap: pretty; }
.case-screens { background: var(--c-soft); }
.case-screens .grid { gap: 16px; }
.shot { display: flex; flex-direction: column; gap: 12px; }
.shot .lab { color: var(--ink-2); }
.shot-wide { grid-column: 1 / -1; }
.shot-img { aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 18px 40px rgba(28, 27, 24, 0.1); }
.shot-wide .shot-img { aspect-ratio: 16 / 9; box-shadow: 0 24px 60px rgba(28, 27, 24, 0.14); }
.case-results { background: var(--c-deep); color: var(--bg); }
.case-results .sec-md { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.res { gap: 32px; }
.res > div { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 1px solid rgba(246, 243, 238, 0.3); }
.res-v { font-size: clamp(40px, 5.4vw, 72px); line-height: 0.95; letter-spacing: -0.035em; font-variation-settings: 'wght' 540; }
.res-l { font-size: 16px; line-height: 1.45; color: #E8E4DC; }
.case-stack { padding-top: clamp(40px, 6vw, 64px); padding-bottom: clamp(40px, 6vw, 64px); display: flex; flex-direction: column; gap: 14px; }
.next { display: block; background: var(--bg-2); border-top: 1px solid var(--line); transition: background .2s; }
.next:hover { background: #E6E1D8; }
.next-in { padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(48px, 8vw, 96px); display: flex; flex-direction: column; gap: 12px; }
.next-t { font-size: clamp(30px, 4.8vw, 68px); line-height: 1; letter-spacing: -0.03em; font-variation-settings: 'wght' 540; text-wrap: balance; }

/* İletişim */
.contact { background: var(--ind); color: var(--bg); position: relative; overflow: hidden; }
.contact-in { padding-top: clamp(56px, 10vw, 112px); padding-bottom: clamp(56px, 10vw, 112px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 48px; align-items: center; }
.contact-copy { display: flex; flex-direction: column; gap: 28px; }
.contact-h { font-size: clamp(40px, 5.5vw, 80px); line-height: 0.98; letter-spacing: -0.035em; font-variation-settings: 'wght' 520; text-wrap: balance; }
.contact-p { font-size: 19px; line-height: 1.55; color: var(--ind-text); max-width: 520px; }
.cform { display: flex; flex-direction: column; gap: 14px; background: var(--bg); color: var(--ink); border-radius: 14px; padding: 28px; }
.cform input, .cform textarea { font: inherit; font-size: 17px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line-2); border-radius: 0; padding: 14px 0; outline: none; width: 100%; }
.cform textarea { line-height: 1.5; resize: vertical; min-height: 60px; }
.cform input::placeholder, .cform textarea::placeholder { color: #8F8A82; opacity: 1; }
.cform input:focus, .cform textarea:focus { border-bottom-color: var(--ind); }
.cform [aria-invalid="true"] { border-bottom-color: oklch(0.55 0.19 25); }
.cform-btn { margin-top: 8px; align-self: flex-start; padding: 15px 22px; font-size: 16px; }
.cform-btn[disabled] { opacity: 0.6; cursor: progress; }
.cform-status { font-size: 15px; line-height: 1.45; min-height: 0; }
.cform-status:empty { display: none; }
.cform-status.ok { color: oklch(0.45 0.12 150); }
.cform-status.err { color: oklch(0.5 0.19 25); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Mobil alt çubuk */
.mbar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 20; display: flex; gap: 8px; padding: 8px; border-radius: 999px; background: var(--ink); box-shadow: 0 10px 30px rgba(28, 27, 24, 0.3); }
.mbar[hidden] { display: none; }
.mbar-main { flex: 1; padding: 13px 16px; }
.mbar-call { padding: 13px 18px; border-radius: 999px; color: var(--bg); font-size: 15px; font-variation-settings: 'wght' 540; }
@media (min-width: 760px) { .mbar { display: none !important; } }

/* Footer */
.ftr { background: var(--ink); color: var(--bg); }
.ftr-in { padding-top: clamp(48px, 6vw, 64px); padding-bottom: 32px; display: flex; flex-direction: column; gap: 56px; }
.ftr-top { display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.ftr-brand { display: flex; flex-direction: column; gap: 18px; max-width: 360px; }
.ftr-logo { display: flex; align-items: center; gap: 12px; font-size: 44px; line-height: 0.8; letter-spacing: -0.01em; font-variation-settings: 'wght' 480; }
.ftr-mark { width: 40px; height: 40px; overflow: visible; }
.ftr-motto { display: flex; flex-wrap: wrap; gap: 0 0.3em; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; letter-spacing: -0.015em; font-variation-settings: 'wght' 480; }
.ftr-motto b { font-weight: inherit; color: var(--ind-soft); font-variation-settings: 'wght' 640; }
.ftr-sub { font-size: 15px; line-height: 1.5; color: var(--dark-text); }
.ftr-cols { display: flex; gap: 32px 64px; flex-wrap: wrap; }
.ftr-col { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.ftr-col a:hover { color: var(--ind-soft); }
.ftr-lab { font-size: 13px; color: #8F8A82; font-variation-settings: var(--w-lbl); }
.ftr-city { color: var(--dark-text); }
.ftr-bot { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--dark-line); font-size: 13px; color: #8F8A82; }

/* Kaydırınca beliren içerik (yalnızca JS açıkken) */
@media (prefers-reduced-motion: no-preference) {
  .js main section > :not([data-rv]):not(.in) { opacity: 0; transform: translateY(28px); }
  .js main section > :not([data-rv]) { transition: opacity .9s ease, transform 1s cubic-bezier(.2, .7, .2, 1); }
}
