/* Inter yerel (Google Fonts kaldırıldı: üçüncü taraf origin + render-blocking CSS yok). Alt küme: Latin + Latin-1 + Latin Ext-A + simgeler. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2')}

/* Worasoft — Tasarim/*.dc.html birebir portu. Görünüm inline stillerde; burada yalnız tasarım sistemi (Nocturne) taban kuralları,
   sayfa <style> bloklarındaki keyframes'ler ve tasarımın JS ile yaptığı duyarlı (narrow/wide) geçişlerin CSS karşılığı var. */
:root {
  --color-accent: #9184d9;
  --font-heading: "Inter", system-ui, sans-serif;
  --font-heading-weight: 500;
  --font-body: "Inter", system-ui, sans-serif;
  --space-1: 2.8px; --space-2: 5.6px; --space-3: 8.4px; --space-4: 11.2px; --space-6: 16.8px; --space-8: 22.4px;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 14px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; background: #f5f5fa; color: #1d1f2c; font-family: var(--font-body); text-wrap: pretty; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2); }
h1 { font-size: 42px; } h2 { font-size: 32px; } h3 { font-size: 25px; } h4 { font-size: 20px; } h5 { font-size: 16px; } h6 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: #5b4fb0; text-underline-offset: 3px; }
a:hover { color: #443a8c; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }
button { font-family: inherit; }

@keyframes ws-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes ws-pulse { 0% { box-shadow: 0 0 0 0 rgba(52,168,108,.5); } 100% { box-shadow: 0 0 0 8px rgba(52,168,108,0); } }
@keyframes ws-blob { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(4%,-6%) scale(1.12); } }
@keyframes ws-in { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ws-pop { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }
@keyframes ws-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* Üst menü: tasarımda matchMedia(max-width: 900px) → burger + çekmece */
@media (max-width: 900px) {
  .ws-nav, .ws-lang { display: none !important; }
  .ws-burger { display: grid !important; }
  header.ws-open .ws-drawer { display: flex !important; }
}
/* Hizmetler: matchMedia(max-width: 860px) → kenar menü gizli, tek sütun */
.ws-svc-grid { grid-template-columns: minmax(0,260px) minmax(0,1fr); }
.ws-post-grid { grid-template-columns: minmax(0,220px) minmax(0,680px); }
@media (max-width: 860px) {
  .ws-svc-grid { grid-template-columns: minmax(0,1fr); }
  .ws-post-grid { grid-template-columns: minmax(0,1fr); }
  .ws-svc-aside, .ws-post-aside { display: none !important; }
}
/* Ekran görüntüleri: sağ tık / sürükle / yeni sekmede aç kapalı (görseller zaten alan boyutunda üretilir) */
main img, section img, article img, header img, footer img { pointer-events: none; user-select: none; -webkit-user-drag: none; -webkit-user-select: none; }
/* W·O·R·A kartları: masaüstünde 4 sütun, mobilde 2×2 (kullanıcı isteği, 2026-09-23) */
.ws-wora-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(140px, calc((100% - 3 * clamp(16px,3vw,40px)) / 4))), 1fr)); gap: clamp(28px,4vw,56px) clamp(16px,3vw,40px); }
/* Hizmet detay W·O·R·A: masaüstü 4 yan yana, mobil 2×2 (kullanıcı isteği) */
.ws-wora-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767px) { .ws-wora-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Teklif: adım paneli */
.ws-step { display: none; }
.ws-step.on { display: block; }
.ws-step.on.grid { display: grid; }
/* Yasal metin sayfası (tasarımda karşılığı yok; blog yazısı tipografisi) */
.ws-legal p { margin: 0 0 18px; font-size: 17px; line-height: 1.75; color: #34374a; }
.ws-legal h2 { font-size: clamp(20px, 2vw, 24px); letter-spacing: -0.02em; font-weight: 600; margin: 36px 0 12px; color: #1d1f2c; }
.ws-legal ul { margin: 0 0 18px; padding-left: 22px; }
.ws-legal li { font-size: 16.5px; line-height: 1.7; color: #34374a; margin: 0 0 8px; }
.ws-legal .ws-legal-tarih { font-size: 14.5px; color: #6b6e80; }
/* Çerez bildirimi (KVKK çerez rehberi: analitik yalnız onayla) — Nocturne koyu kart, sağ alt */
.ws-cerez { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; margin: 0 auto; max-width: 560px; padding: 18px 20px; border-radius: 18px; background: #1d1f2c; color: #d9dae6; box-shadow: 0 20px 50px rgba(29,31,44,.35); font-size: 14px; line-height: 1.55; display: none; animation: ws-in .5s both; }
.ws-cerez.on { display: block; }
.ws-cerez a { color: #b5a9f5; font-weight: 600; }
.ws-cerez-btn { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ws-cerez-btn button { font: inherit; font-size: 14px; font-weight: 500; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; cursor: pointer; }
.ws-cerez-kabul { background: linear-gradient(135deg, #7a6dd0, #5b4fb0); color: #f5f5fa; }
.ws-cerez-red { background: #2a2c3d; color: #d9dae6; box-shadow: inset 0 0 0 1px #3a3d52; }
@media (min-width: 720px) { .ws-cerez { left: auto; right: 24px; margin: 0; } }
