/* Fontlar kendi sunucumuzdan sunulur (Google Fonts'a render-blocking istek atılmaz).
   Variable font: tek dosya 100-900 arası tüm ağırlıkları kapsar. */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-mono-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/geist-mono-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Temel sıfırlama (eski sürümde Tailwind'in yaptığı işi görür) */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --font-geist-sans: "Geist", system-ui, -apple-system, sans-serif;
  --font-geist-mono: "Geist Mono", ui-monospace, monospace;
  --bg: #f3f7f3; --surface: #ffffff; --surface-2: #e8efe9; --text: #102019;
  --muted: #5d6b63; --line: #ccd7cf; --accent: #197c44; --accent-bright: #7cff6b;
  --warm: #e67e25; --terminal: #0b1714; --terminal-text: #eefbf5;
}
:root[data-theme="dark"] {
  --bg: #07100e; --surface: #0b1714; --surface-2: #10221c; --text: #eefbf5;
  --muted: #94a99e; --line: #243c33; --accent: #7cff6b; --accent-bright: #7cff6b;
  --warm: #ffb35c; --terminal: #09120f; --terminal-text: #eefbf5;
}
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-geist-sans), sans-serif; transition: background .35s ease, color .35s ease; }
/* Yatay taşmayı kes: sayfa hiçbir zaman ekrandan geniş olmasın (mobil sığma + tam genişlik şeritler) */
html { overflow-x: hidden; }
html, body { overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-head { position: sticky; top: 0; z-index: 60; background: color-mix(in srgb, var(--bg) 82%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.nav { height: 84px; display: flex; align-items: center; gap: 34px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--font-geist-mono), monospace; font-weight: 700; letter-spacing: .08em; }
.status-dot { display: inline-block; width: 9px; height: 9px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 16px var(--accent-bright); }
.nav-links { display: flex; align-items: center; gap: 30px; font-size: 13px; margin-left: auto; }
.nav-links a:hover, .nav-links a[aria-current] { color: var(--accent); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.theme-toggle, .menu-toggle { border: 1px solid var(--line); background: var(--surface); color: var(--text); padding: 10px 13px; cursor: pointer; display: flex; gap: 12px; font-family: var(--font-geist-mono), monospace; font-size: 11px; letter-spacing: .06em; }
.menu-toggle { display: none; }
.hero { position: relative; min-height: 680px; display: grid; grid-template-columns: 1.18fr .82fr; gap: 72px; align-items: center; padding-block: 72px; }
.eyebrow { display: flex; gap: 28px; font: 11px var(--font-geist-mono), monospace; letter-spacing: .11em; color: var(--muted); }
.eyebrow span:first-child { color: var(--accent); }
h1,h2,h3,p { margin-top: 0; }
h1 { margin: 24px 0 28px; font-size: clamp(54px, 6.4vw, 92px); line-height: .94; letter-spacing: -.065em; font-weight: 650; }
h1 em, h2 em {
  color: var(--accent); font-style: normal; display: inline-block;
  text-shadow:
    1px 1px 0 color-mix(in srgb, var(--accent) 55%, #000),
    2px 2px 0 color-mix(in srgb, var(--accent) 45%, #000),
    3px 3px 0 color-mix(in srgb, var(--accent) 35%, #000),
    4px 4px 0 color-mix(in srgb, var(--accent) 25%, #000),
    8px 14px 28px color-mix(in srgb, var(--accent) 28%, transparent);
}
.hero-text { max-width: 560px; color: var(--muted); font-size: 19px; line-height: 1.65; }
.hero-actions { display: flex; gap: 14px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 16px 19px; border: 1px solid var(--line); font-size: 14px; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--accent) 35%, transparent); }
.button.primary { background: var(--accent); border-color: var(--accent); color: #07100e; font-weight: 650; box-shadow: 0 5px 0 color-mix(in srgb, var(--accent) 45%, #000); }
.button.primary:hover { transform: translateY(-3px); box-shadow: 0 8px 0 color-mix(in srgb, var(--accent) 45%, #000), 0 18px 34px -12px color-mix(in srgb, var(--accent) 45%, transparent); }
.button.primary:active { transform: translateY(2px); box-shadow: 0 2px 0 color-mix(in srgb, var(--accent) 45%, #000); }
.button.quiet { background: var(--surface); }
.more-btn { margin-top: 30px; }

/* ---- Yukarı çık butonu (script.js tüm sayfalara ekler) ---- */
.to-top { position: fixed; right: 20px; bottom: 20px; z-index: 70; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--surface); color: var(--accent); font-size: 19px; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s, transform .25s, visibility .25s, box-shadow .2s, border-color .2s; box-shadow: 0 4px 0 color-mix(in srgb, var(--accent) 30%, #000), 0 16px 30px -14px rgba(0, 0, 0, .45); }
.to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { transform: translateY(-3px); border-color: var(--accent); }
.to-top:active { transform: translateY(1px); box-shadow: 0 1px 0 color-mix(in srgb, var(--accent) 30%, #000); }

/* ---- 3D sahne: dönen tel-kafes küpler ---- */
.scene-cube { position: absolute; transform-style: preserve-3d; pointer-events: none; animation: cube-spin 22s linear infinite; z-index: 0; }
.scene-cube i { position: absolute; inset: 0; border: 1px solid color-mix(in srgb, var(--accent) 60%, transparent); background: color-mix(in srgb, var(--accent) 6%, transparent); }
.scene-cube i:nth-child(1) { transform: translateZ(var(--half)); }
.scene-cube i:nth-child(2) { transform: rotateY(180deg) translateZ(var(--half)); }
.scene-cube i:nth-child(3) { transform: rotateY(90deg) translateZ(var(--half)); }
.scene-cube i:nth-child(4) { transform: rotateY(-90deg) translateZ(var(--half)); }
.scene-cube i:nth-child(5) { transform: rotateX(90deg) translateZ(var(--half)); }
.scene-cube i:nth-child(6) { transform: rotateX(-90deg) translateZ(var(--half)); }
.cube-a { --half: 34px; width: 68px; height: 68px; top: 7%; left: 53%; opacity: .5; }
.cube-b { --half: 16px; width: 32px; height: 32px; bottom: 13%; left: 45%; opacity: .35; animation-duration: 15s; animation-direction: reverse; }
@keyframes cube-spin { from { transform: rotateX(-18deg) rotateY(0deg); } to { transform: rotateX(-18deg) rotateY(360deg); } }

/* ---- Terminal: 3D tilt + derinlik katmanları ---- */
.terminal { position: relative; z-index: 1; background: var(--terminal); color: var(--terminal-text); border: 1px solid #27453a; box-shadow: 18px 18px 0 color-mix(in srgb, var(--accent) 12%, transparent), 0 44px 80px -36px rgba(0, 0, 0, .45); transform-style: preserve-3d; transform: perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) rotate(1deg); transition: transform .18s ease-out, box-shadow .3s; }
.terminal:hover { box-shadow: 22px 22px 0 color-mix(in srgb, var(--accent) 16%, transparent), 0 52px 90px -36px rgba(0, 0, 0, .55); }
.terminal-head, .terminal-foot { transform: translateZ(16px); }
.terminal-body { transform: translateZ(26px); }
.terminal-head,.terminal-foot { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; border-bottom: 1px solid #243c33; color: #82978d; font: 11px var(--font-geist-mono), monospace; }
.terminal-dots { display: flex; gap: 6px; }.terminal-dots i { width: 8px; height: 8px; border-radius: 50%; background: #364b43; }.terminal-dots i:first-child { background: #ff6b5f; }.terminal-dots i:nth-child(2) { background: #ffb35c; }.terminal-dots i:last-child { background: #7cff6b; }
.terminal-body { min-height: 360px; padding: 27px; font: 13px/1.75 var(--font-geist-mono), monospace; }
.terminal-body p { margin-bottom: 12px; }.terminal-body b,.terminal-body strong { color: #7cff6b; }.terminal-body .output { color: #a8bdb3; padding-left: 16px; }.code-block { background: #07100e; padding: 15px 18px; margin: 12px 0 20px; display: flex; flex-direction: column; color: #b8c9c1; }.available { color: #7cff6b; display: flex; align-items: center; gap: 9px; }.cursor { display: inline-block; width: .55em; height: 1em; vertical-align: text-bottom; background: #7cff6b; animation: blink 1s step-end infinite; }
.terminal-foot { border: 0; border-top: 1px solid #243c33; color: #7cff6b; }
@keyframes blink { 50% { opacity: 0; } }
.trust-strip { background: var(--accent); color: #07100e; overflow: hidden; }.trust-inner { min-height: 54px; display: flex; align-items: center; justify-content: space-between; font: 11px var(--font-geist-mono), monospace; letter-spacing: .12em; }.trust-inner i { font-style: normal; }
.section { padding-block: 110px; }
.section-heading { display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; gap: 80px; margin-bottom: 58px; }
.section-heading.compact { align-items: center; }
.kicker { color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .13em; margin-bottom: 18px; }
h2 { font-size: clamp(42px, 5vw, 68px); line-height: 1; letter-spacing: -.055em; margin-bottom: 0; }
.section-heading > p { color: var(--muted); line-height: 1.7; margin-bottom: 2px; }

/* ---- Hizmet kartları: 3D tilt + parlama ---- */
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); perspective: 1600px; }
.service-grid.three { grid-template-columns: repeat(3, 1fr); }
.service-card { display: block; position: relative; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 34px 30px 38px; background: transparent; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .18s ease-out, background .25s, box-shadow .3s; }
.service-card:hover { background: var(--surface); z-index: 2; box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--accent) 30%, transparent); }
.service-card::after { content: ""; position: absolute; inset: 0; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.service-card:hover::after { opacity: 1; }
.service-index { color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; display: inline-block; transform: translateZ(18px); }
.service-card h3 { font-size: 24px; letter-spacing: -.03em; margin: 16px 0 12px; transform: translateZ(28px); }
.service-card p { color: var(--muted); line-height: 1.6; font-size: 14px; max-width: 430px; transform: translateZ(20px); }
.service-card ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; transform: translateZ(14px); }
.service-card li { border: 1px solid var(--line); padding: 7px 10px; color: var(--muted); font: 9px var(--font-geist-mono), monospace; letter-spacing: .08em; }
.service-more { display: inline-block; margin-top: 24px; color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; transform: translateZ(18px); }

/* ---- Alt sayfalar: breadcrumb + sayfa hero + özellik kartları ---- */
.breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-top: 28px; font: 11px var(--font-geist-mono), monospace; letter-spacing: .08em; color: var(--muted); }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb i { font-style: normal; color: var(--line); }
.breadcrumb [aria-current] { color: var(--accent); }
.page-hero { position: relative; padding-block: 58px 84px; }
.page-hero h1 { font-size: clamp(42px, 5vw, 72px); max-width: 940px; margin: 22px 0 26px; }
.page-hero .hero-text { max-width: 640px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); perspective: 1600px; }
.feature-card { position: relative; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 26px 24px 32px; min-height: 210px; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: background .25s, transform .18s ease-out, box-shadow .3s; }
.feature-card:hover { background: var(--surface); z-index: 2; box-shadow: 0 24px 48px -20px color-mix(in srgb, var(--accent) 26%, transparent); }
.feature-card::after { content: ""; position: absolute; inset: 0; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.feature-card:hover::after { opacity: 1; }
.feature-card > span { color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; display: inline-block; transform: translateZ(16px); }
.feature-card h3 { font-size: 19px; letter-spacing: -.02em; margin: 36px 0 10px; transform: translateZ(24px); }
.feature-card p { color: var(--muted); font-size: 14px; line-height: 1.6; transform: translateZ(14px); }

/* ---- Uygulama kartları: 3D tilt + derinlik + parlama ---- */
.app-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); perspective: 1600px; }
.app-card { min-height: 340px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: background .25s, transform .18s ease-out, box-shadow .3s; }
.app-card:hover { background: var(--surface); z-index: 2; box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--accent) 28%, transparent); }
.app-card::after { content: ""; position: absolute; inset: 0; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.app-card:hover::after { opacity: 1; }
.app-top { display: flex; justify-content: space-between; align-items: center; transform: translateZ(14px); }.app-number { font: 11px var(--font-geist-mono), monospace; color: var(--muted); }.tag { border: 1px solid var(--line); padding: 6px 8px; color: var(--muted); font: 9px var(--font-geist-mono), monospace; letter-spacing: .08em; }
.app-icon { margin: 42px 0 34px; width: 72px; height: 72px; display: grid; place-items: center; background: var(--surface-2); color: var(--accent); border-radius: 18px; font: 700 21px var(--font-geist-mono), monospace; box-shadow: inset 0 0 0 1px var(--line); transform: translateZ(34px); }
.app-card:hover .app-icon { box-shadow: inset 0 0 0 1px var(--line), 0 18px 30px -14px color-mix(in srgb, var(--accent) 45%, transparent); }
.app-card h3 { font-size: 24px; margin-bottom: 12px; letter-spacing: -.03em; transform: translateZ(24px); }.app-card p { color: var(--muted); line-height: 1.55; font-size: 14px; max-width: 310px; transform: translateZ(16px); }
.app-card ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; transform: translateZ(12px); }
.app-card li { border: 1px solid var(--line); padding: 6px 9px; color: var(--muted); font: 9px var(--font-geist-mono), monospace; letter-spacing: .08em; }
.app-3 .app-icon { color: var(--warm); }.app-4 .app-icon { border-radius: 50%; }.app-5 .app-icon,.app-6 .app-icon { background: #171713; color: #d6b882; }
.projects-section { background: var(--surface); border-block: 1px solid var(--line); }
.project-list { border-top: 1px solid var(--line); }
.project-row { display: grid; grid-template-columns: 58px 1fr 220px 36px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); transition: padding .2s, color .2s, background .2s; }
.project-row:hover { padding-inline: 12px; color: var(--accent); background: var(--bg); }.project-code { color: var(--muted); font: 11px var(--font-geist-mono), monospace; }.project-row strong { font-size: 20px; }.project-row > span:nth-child(3) { color: var(--muted); font-size: 13px; }.project-row i { font-style: normal; font-size: 20px; text-align: right; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); perspective: 1600px; }
.process-grid article { position: relative; padding: 26px 24px 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 210px; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: background .25s, transform .18s ease-out, box-shadow .3s; }
.process-grid article:hover { background: var(--surface); z-index: 2; box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--accent) 28%, transparent); }
.process-grid article::after { content: ""; position: absolute; inset: 0; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.process-grid article:hover::after { opacity: 1; }
.process-grid span { color: var(--accent); font: 11px var(--font-geist-mono), monospace; display: inline-block; transform: translateZ(16px); }.process-grid h3 { font-size: 21px; margin: 50px 0 12px; transform: translateZ(24px); }.process-grid p { color: var(--muted); font-size: 14px; line-height: 1.55; transform: translateZ(14px); }

/* ---- SSS ---- */
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; font-size: 18px; font-weight: 600; letter-spacing: -.02em; transition: color .2s, padding .2s; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:hover { color: var(--accent); padding-left: 10px; }
.faq-list summary i { font-style: normal; color: var(--accent); font: 400 22px var(--font-geist-mono), monospace; transition: transform .3s; flex-shrink: 0; }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details p { color: var(--muted); line-height: 1.7; max-width: 760px; padding: 0 0 26px; }

footer { background: #06100d; color: #eefbf5; border-top: 1px solid #243c33; }.footer-inner { padding-block: 105px 34px; }.footer-inner h2 { max-width: 850px; font-size: clamp(48px,7vw,90px); }.big-mail { margin-top: 58px; display: flex; justify-content: space-between; border-bottom: 1px solid #365147; padding-bottom: 18px; color: #7cff6b; font-size: clamp(19px,3vw,38px); }
.footer-nav { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 64px; padding-bottom: 22px; border-bottom: 1px solid #16281f; color: #94a99e; font-size: 13px; }
.footer-nav a:hover { color: #7cff6b; }
.footer-links { display: flex; gap: 30px; margin-top: 26px; color: #94a99e; font-size: 13px; }.footer-links span:last-child { margin-left: auto; }
@media (max-width: 900px) { .hero { grid-template-columns: 1fr; }.scene-cube { display: none; }.terminal { max-width: 620px; }.app-grid { grid-template-columns: repeat(2,1fr); }.section-heading { grid-template-columns: 1fr; gap: 25px; }.process-grid { grid-template-columns: repeat(2,1fr); }.project-row { grid-template-columns: 45px 1fr 150px 30px; }.service-grid.three { grid-template-columns: repeat(2,1fr); }.feature-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) { .shell { width: min(100% - 28px,1180px); }.nav { height: 70px; }.nav-actions { margin-left: auto; }.menu-toggle { display: inline-flex; }.nav-links { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 6px 20px 14px; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: 0 34px 44px -26px rgba(0,0,0,.45); }body.nav-open .nav-links { display: flex; }.nav-links > a { display: block; padding: 13px 2px; border-bottom: 1px solid var(--line); font-size: 14px; }.nav-links > a:last-child { border-bottom: 0; }.hero { padding-block: 55px; min-height: auto; gap: 55px; }.eyebrow { justify-content: space-between; gap: 10px; }.eyebrow span:last-child { display: none; }.hero-actions { flex-direction: column; }.terminal-body { min-height: 330px; padding: 19px; font-size: 11px; }.terminal-foot { gap: 10px; font-size: 9px; }.trust-inner { gap: 18px; justify-content: flex-start; overflow: hidden; }.section { padding-block: 75px; }.page-hero { padding-block: 40px 60px; }.service-grid,.service-grid.three { grid-template-columns: 1fr; }.service-card { padding: 28px 22px 32px; }.feature-grid { grid-template-columns: 1fr; }.feature-card { min-height: auto; }.app-grid { grid-template-columns: 1fr; }.app-card { min-height: 300px; }.project-row { grid-template-columns: 34px 1fr 25px; }.project-row > span:nth-child(3) { display: none; }.project-row strong { font-size: 17px; }.process-grid { grid-template-columns: 1fr; }.faq-list summary { font-size: 16px; }.footer-links { flex-wrap: wrap; }.footer-links span:last-child { width: 100%; margin-left: 0; }
  /* Mobilde başlıklar ekrana sığacak şekilde küçülür (yatay taşmayı önler) */
  h1 { font-size: clamp(38px, 10.5vw, 54px); }
  h2 { font-size: clamp(30px, 8.5vw, 42px); }
  .page-hero h1 { font-size: clamp(32px, 9vw, 42px); }
  .footer-inner h2 { font-size: clamp(30px, 8.5vw, 42px); }
  .terminal { box-shadow: 12px 12px 0 color-mix(in srgb, var(--accent) 12%, transparent), 0 30px 60px -30px rgba(0, 0, 0, .45); } }
/* ---- Proje vitrini: ekran görüntülü kartlar (projeler sayfası) ---- */
.work-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.work-card { position: relative; display: block; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; transition: background .25s, box-shadow .3s; }
.work-card:hover { background: var(--bg); z-index: 2; box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--accent) 30%, transparent); }
.work-shot { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.work-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .5s ease; }
.work-card:hover .work-shot img { transform: scale(1.04); }
.work-body { display: block; padding: 20px 24px 26px; }
.work-top { display: flex; justify-content: space-between; align-items: center; }
.work-body strong { display: block; font-size: 22px; letter-spacing: -.03em; margin-top: 14px; }
.work-card:hover .work-body strong { color: var(--accent); }
.work-more { display: inline-block; margin-top: 16px; color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; }

/* ---- Proje detay sayfası: ekran görüntüsü çerçevesi + proje gezinmesi ---- */
.shot-frame { margin: 0; border: 1px solid var(--line); background: var(--surface); box-shadow: 18px 18px 0 color-mix(in srgb, var(--accent) 12%, transparent); }
.shot-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font: 11px var(--font-geist-mono), monospace; letter-spacing: .06em; }
.shot-head a { color: var(--accent); flex-shrink: 0; }
.shot-head a:hover { text-decoration: underline; }
.shot-frame img { display: block; width: 100%; height: auto; }
.case-nav { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.case-nav a { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; transition: background .25s, color .2s; }
.case-nav a + a { border-left: 1px solid var(--line); }
.case-nav a.next { text-align: right; }
.case-nav a:hover { background: var(--surface); color: var(--accent); }
.case-nav a span { color: var(--muted); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; }
.case-nav a strong { font-size: 20px; letter-spacing: -.02em; }
@media (max-width: 640px) {
  .work-grid { grid-template-columns: 1fr; }
  .work-body strong { font-size: 19px; }
  .case-nav { grid-template-columns: 1fr; }
  .case-nav a + a { border-left: 0; border-top: 1px solid var(--line); }
}

/* ---- Uygulama vitrini: gerçek app ikonu + detay bağlantısı (uygulamalar sayfası) ---- */
/* Ekranı olan uygulamanın kartı <a>, olmayanınki <article>; ikisi de aynı görünür. */
a.app-card { display: block; }
a.app-card:hover h3 { color: var(--accent); }
/* Görsel ikon kutuyu tamamen doldurur; .app-4 dairesel kuralını da bilerek ezer. */
.app-icon.gorsel { border-radius: 18px; overflow: hidden; padding: 0; }
.app-icon.gorsel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.app-more { display: inline-block; margin-top: 18px; color: var(--accent); font: 11px var(--font-geist-mono), monospace; letter-spacing: .1em; transform: translateZ(12px); }

/* ---- Uygulama detay sayfası: telefon ekranı galerisi ---- */
/* auto-fit + üst sınır: 2 ekranlı uygulama da 5 ekranlı da ortalanmış görünür. */
.phone-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 200px)); gap: 26px; justify-content: center; }
.phone-shot { margin: 0; }
.phone-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 20px; background: var(--surface-2); box-shadow: 0 26px 46px -28px rgba(0, 0, 0, .5); }
.phone-shot figcaption { margin-top: 14px; text-align: center; color: var(--muted); font: 10px var(--font-geist-mono), monospace; letter-spacing: .08em; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
