/* ADK Software Studio · renkler marka panosundan örneklendi (docs/marka)
   İki tema: koyu (Royal Violet + Electric Blue, gece zemini) ve açık (Platinum White + Electric Blue).
   Bütün renkler aşağıdaki değişkenlerde; kuralların içinde sabit renk yok.
   Açık tema bloğu (light:start … light:end) build.mjs tarafından JS'siz ziyaretçiler için
   @media (prefers-color-scheme: light) içine de kopyalanır; elle çoğaltma. */
:root {
  --radius: 20px;
  --wrap: 1180px;
  --display: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* marka sabitleri (iki temada aynı) */
  --violet: #7B39FC;
  --blue: #0E72FD;
  --platinum: #DADBE8;
  --on-accent: #fff;
}

/* Koyu tema: varsayılan; JS yokken ve sistem koyuyken bu kullanılır */
:root, :root[data-theme="dark"] {
  color-scheme: dark;
  --night: #04060F;
  --night-2: #080C1A;
  --surface: #0D1324;
  --line: rgba(218, 219, 232, 0.11);
  --line-strong: rgba(218, 219, 232, 0.22);
  --control-border: rgba(218, 219, 232, 0.42); /* 3:1 (WCAG 1.4.11); önceki 0.22 = 1.66:1 */
  --text: #E9EAF4;
  --muted: #A7ACC6;
  --link: #A98BFF;
  --link-hover: #C9B8FF;
  --eyebrow: #A98BFF;
  --focus: #5AA2FF;
  --grad-text: linear-gradient(100deg, #B9A0FF 0%, #8C66FF 45%, #3D8EFF 100%);
  --header-bg: rgba(4, 6, 15, 0.72);
  --nav-hover-bg: rgba(255, 255, 255, 0.04);
  --hero-bg: radial-gradient(120% 90% at 50% 0%, #080C1A, #04060F 70%);
  --btn-primary-bg: linear-gradient(100deg, #6A2FE8, #3A53F0 55%, #0C64E0);
  --btn-primary-shadow: 0 8px 30px -10px rgba(123, 57, 252, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  --btn-primary-shadow-hover: 0 12px 36px -10px rgba(14, 114, 253, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.22);
  --ghost-bg: rgba(255, 255, 255, 0.02);
  --hover-border: rgba(169, 139, 255, 0.6);
  --hover-bg: rgba(123, 57, 252, 0.08);
  --card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008));
  --card-hover-border: rgba(169, 139, 255, 0.35);
  --card-icon-bg: linear-gradient(140deg, rgba(123, 57, 252, 0.9), rgba(14, 114, 253, 0.9));
  --card-icon-shadow: 0 10px 26px -12px rgba(123, 57, 252, 0.9);
  --step-bg: rgba(8, 12, 26, 0.6);
  --band-bg: linear-gradient(180deg, rgba(19, 26, 42, 0.35), rgba(4, 6, 15, 0));
  --app-icon-shadow: 0 10px 30px -14px rgba(0, 0, 0, 0.9);
  --app-icon-ph-bg: linear-gradient(140deg, #2A1466, #0B2A6E);
  --pill-text: #E4DBFF;
  --pill-bg: rgba(123, 57, 252, 0.18);
  --pill-border: rgba(169, 139, 255, 0.35);
  --cta-border: rgba(169, 139, 255, 0.28);
  --cta-bg: radial-gradient(90% 140% at 0% 0%, rgba(123, 57, 252, 0.22), transparent 60%), radial-gradient(90% 140% at 100% 100%, rgba(14, 114, 253, 0.22), transparent 60%), #0D1324;
  /* ışık kıvrımları */
  --rv-0: #7B39FC; --rv-1: #7B39FC; --rv-2: #A98BFF;
  --rb-0: #0E72FD; --rb-1: #0E72FD; --rb-2: #4C9BFF;
  --rib-v-opacity: 1;
  --rib-b-opacity: 1;
  --rib-v-shadow: drop-shadow(0 0 18px rgba(123, 57, 252, 0.55));
  --rib-b-shadow: drop-shadow(0 0 22px rgba(14, 114, 253, 0.6));
  --glow-a: radial-gradient(circle, rgba(123, 57, 252, 0.55), transparent 65%);
  --glow-b: radial-gradient(circle, rgba(14, 114, 253, 0.5), transparent 65%);
  --glow-opacity: 0.55;
  --mark-glow: none;
  /* tema varyantı görseller (logo) ve düğme ikonları */
  --show-dark: block;
  --show-light: none;
}

/* light:start — Açık tema: Platinum White + Electric Blue; mor yalnızca ikincil */
:root[data-theme="light"] {
  color-scheme: light;
  --night: #F3F4F9;
  --night-2: #FFFFFF;
  --surface: #FFFFFF;
  --line: rgba(11, 20, 48, 0.1);
  --line-strong: rgba(11, 20, 48, 0.2);
  --control-border: #7C829E;
  --text: #0B1430;
  --muted: #4A5170;
  --link: #1A56F0;
  --link-hover: #0B3FB8;
  --eyebrow: #1A56F0;
  --focus: #1E5BFF;
  --grad-text: linear-gradient(100deg, #4A35E0 0%, #1E5BFF 45%, #0B5ED7 100%);
  --header-bg: rgba(243, 244, 249, 0.82);
  --nav-hover-bg: rgba(11, 20, 48, 0.05);
  --hero-bg: radial-gradient(120% 90% at 50% 0%, #FFFFFF, #F3F4F9 70%);
  --btn-primary-bg: linear-gradient(100deg, #4B3FE6, #1E5BFF 55%, #0B5ED7);
  --btn-primary-shadow: 0 8px 24px -12px rgba(30, 91, 255, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  --btn-primary-shadow-hover: 0 12px 30px -12px rgba(30, 91, 255, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.24);
  --ghost-bg: rgba(255, 255, 255, 0.65);
  --hover-border: #1E5BFF;
  --hover-bg: rgba(30, 91, 255, 0.06);
  --card-bg: linear-gradient(180deg, #FFFFFF, rgba(255, 255, 255, 0.72));
  --card-hover-border: rgba(30, 91, 255, 0.4);
  --card-icon-bg: linear-gradient(140deg, #5B3BEF, #1E5BFF);
  --card-icon-shadow: 0 10px 22px -12px rgba(30, 91, 255, 0.7);
  --step-bg: rgba(255, 255, 255, 0.78);
  --band-bg: linear-gradient(180deg, rgba(218, 219, 232, 0.45), rgba(243, 244, 249, 0));
  --app-icon-shadow: 0 10px 24px -14px rgba(11, 20, 48, 0.45);
  --app-icon-ph-bg: linear-gradient(140deg, #2A1466, #0B2A6E);
  --pill-text: #3D1DB0;
  --pill-bg: rgba(123, 57, 252, 0.09);
  --pill-border: rgba(91, 43, 217, 0.3);
  --cta-border: rgba(30, 91, 255, 0.25);
  --cta-bg: radial-gradient(90% 140% at 0% 0%, rgba(123, 57, 252, 0.08), transparent 60%), radial-gradient(90% 140% at 100% 100%, rgba(30, 91, 255, 0.14), transparent 60%), #FFFFFF;
  --rv-0: #8FA2FF; --rv-1: #6E7CF6; --rv-2: #B9C2FF;
  --rb-0: #1E5BFF; --rb-1: #1E5BFF; --rb-2: #7FB0FF;
  --rib-v-opacity: 0.5;
  --rib-b-opacity: 0.6;
  --rib-v-shadow: drop-shadow(0 0 16px rgba(30, 91, 255, 0.2));
  --rib-b-shadow: drop-shadow(0 0 18px rgba(30, 91, 255, 0.28));
  --glow-a: radial-gradient(circle, rgba(218, 219, 232, 0.95), transparent 65%);
  --glow-b: radial-gradient(circle, rgba(30, 91, 255, 0.24), transparent 65%);
  --glow-opacity: 0.85;
  /* açık hero logosunun arkasında yumuşak mavi ışık */
  --mark-glow: radial-gradient(55% 34% at 50% 30%, rgba(30, 91, 255, 0.13), transparent 72%);
  --show-dark: none;
  --show-light: block;
}
/* light:end */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
  color-scheme: light;
  --night: #F3F4F9;
  --night-2: #FFFFFF;
  --surface: #FFFFFF;
  --line: rgba(11, 20, 48, 0.1);
  --line-strong: rgba(11, 20, 48, 0.2);
  --control-border: #7C829E;
  --text: #0B1430;
  --muted: #4A5170;
  --link: #1A56F0;
  --link-hover: #0B3FB8;
  --eyebrow: #1A56F0;
  --focus: #1E5BFF;
  --grad-text: linear-gradient(100deg, #4A35E0 0%, #1E5BFF 45%, #0B5ED7 100%);
  --header-bg: rgba(243, 244, 249, 0.82);
  --nav-hover-bg: rgba(11, 20, 48, 0.05);
  --hero-bg: radial-gradient(120% 90% at 50% 0%, #FFFFFF, #F3F4F9 70%);
  --btn-primary-bg: linear-gradient(100deg, #4B3FE6, #1E5BFF 55%, #0B5ED7);
  --btn-primary-shadow: 0 8px 24px -12px rgba(30, 91, 255, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  --btn-primary-shadow-hover: 0 12px 30px -12px rgba(30, 91, 255, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.24);
  --ghost-bg: rgba(255, 255, 255, 0.65);
  --hover-border: #1E5BFF;
  --hover-bg: rgba(30, 91, 255, 0.06);
  --card-bg: linear-gradient(180deg, #FFFFFF, rgba(255, 255, 255, 0.72));
  --card-hover-border: rgba(30, 91, 255, 0.4);
  --card-icon-bg: linear-gradient(140deg, #5B3BEF, #1E5BFF);
  --card-icon-shadow: 0 10px 22px -12px rgba(30, 91, 255, 0.7);
  --step-bg: rgba(255, 255, 255, 0.78);
  --band-bg: linear-gradient(180deg, rgba(218, 219, 232, 0.45), rgba(243, 244, 249, 0));
  --app-icon-shadow: 0 10px 24px -14px rgba(11, 20, 48, 0.45);
  --app-icon-ph-bg: linear-gradient(140deg, #2A1466, #0B2A6E);
  --pill-text: #3D1DB0;
  --pill-bg: rgba(123, 57, 252, 0.09);
  --pill-border: rgba(91, 43, 217, 0.3);
  --cta-border: rgba(30, 91, 255, 0.25);
  --cta-bg: radial-gradient(90% 140% at 0% 0%, rgba(123, 57, 252, 0.08), transparent 60%), radial-gradient(90% 140% at 100% 100%, rgba(30, 91, 255, 0.14), transparent 60%), #FFFFFF;
  --rv-0: #8FA2FF; --rv-1: #6E7CF6; --rv-2: #B9C2FF;
  --rb-0: #1E5BFF; --rb-1: #1E5BFF; --rb-2: #7FB0FF;
  --rib-v-opacity: 0.5;
  --rib-b-opacity: 0.6;
  --rib-v-shadow: drop-shadow(0 0 16px rgba(30, 91, 255, 0.2));
  --rib-b-shadow: drop-shadow(0 0 18px rgba(30, 91, 255, 0.28));
  --glow-a: radial-gradient(circle, rgba(218, 219, 232, 0.95), transparent 65%);
  --glow-b: radial-gradient(circle, rgba(30, 91, 255, 0.24), transparent 65%);
  --glow-opacity: 0.85;
  /* açık hero logosunun arkasında yumuşak mavi ışık */
  --mark-glow: radial-gradient(55% 34% at 50% 30%, rgba(30, 91, 255, 0.13), transparent 72%);
  --show-dark: none;
  --show-light: block;
}
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--night); color: var(--text); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--body); font-size: 17px; line-height: 1.6; background: var(--night); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-decoration: none; }
a:hover { color: var(--link-hover); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .wrap { padding: 0 32px; } }
.narrow { max-width: 760px; }
.muted { color: var(--muted); }

/* Temaya göre görünen öğeler (logo varyantları, tema düğmesi ikonları) */
.on-dark { display: var(--show-dark) !important; }
.on-light { display: var(--show-light) !important; }

.skip { position: absolute; left: 16px; top: -60px; z-index: 50; padding: 10px 16px; border-radius: 10px; background: var(--violet); color: var(--on-accent); }
.skip:focus { top: 12px; color: var(--on-accent); }

/* Üst çubuk */
.site-header { position: sticky; top: 0; z-index: 20; background: var(--header-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--text); min-height: 44px; }
.brand:hover { color: var(--text); }
.brand-mark { width: 62px; height: auto; }
.brand-word { display: flex; flex-direction: column; line-height: 1.05; }
.brand-adk { font-family: var(--display); font-weight: 400; letter-spacing: 0.42em; font-size: 15px; }
.brand-sub { font-family: var(--display); font-weight: 400; letter-spacing: 0.3em; font-size: 9.5px; text-transform: uppercase; color: var(--muted); }
.nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; flex-wrap: wrap; }
.nav a, .lang { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 10px; color: var(--muted); font-size: 15px; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--text); background: var(--nav-hover-bg); }
.tools { display: flex; align-items: center; gap: 8px; }
.lang { border: 1px solid var(--control-border); color: var(--text); }
.lang:hover { color: var(--text); background: var(--nav-hover-bg); }
.lang svg { width: 17px; height: 17px; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border-radius: 10px; border: 1px solid var(--control-border); background: transparent; color: var(--text); cursor: pointer; font: inherit; }
.theme-toggle:hover { background: var(--nav-hover-bg); border-color: var(--hover-border); }
.theme-toggle svg { width: 19px; height: 19px; }
/* JS yoksa düğme çalışmaz; gizlenir, tema sistemi izler */
:root:not([data-theme]) .theme-toggle { display: none; }
/* theme.js yüklenene kadar düğme yer tutar ama görünmez (yüklenmezse yanlış etiketli, çalışmayan düğme gösterilmez) */
:root[data-theme]:not(.theme-js) .theme-toggle { visibility: hidden; }
@media (max-width: 640px) {
  .bar { padding-top: 6px; padding-bottom: 6px; }
  .brand-sub { display: none; }
  /* üst satır: logo + dil/tema; alt satır: menü */
  .bar { gap: 4px 12px; }
  .tools { margin-left: auto; gap: 6px; }
  .nav { order: 3; width: 100%; margin-left: -9px; }
  .nav a, .lang { padding: 0 9px; font-size: 14px; }
  .lang span { display: none; }
}

/* Işık kıvrımları */
.ribbons { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.rib { position: absolute; width: 70%; height: 120%; }
.rib-violet { left: -18%; top: -20%; opacity: var(--rib-v-opacity); filter: var(--rib-v-shadow); animation: drift-a 18s ease-in-out infinite alternate; }
.rib-blue { right: -12%; bottom: -18%; opacity: var(--rib-b-opacity); filter: var(--rib-b-shadow); animation: drift-b 22s ease-in-out infinite alternate; }
.rib-violet .s0 { stop-color: var(--rv-0); } .rib-violet .s1 { stop-color: var(--rv-1); } .rib-violet .s2 { stop-color: var(--rv-2); }
.rib-blue .s0 { stop-color: var(--rb-0); } .rib-blue .s1 { stop-color: var(--rb-1); } .rib-blue .s2 { stop-color: var(--rb-2); }
.ribbons::before, .ribbons::after { content: ''; position: absolute; border-radius: 50%; filter: blur(90px); opacity: var(--glow-opacity); }
.ribbons::before { width: 520px; height: 520px; left: -160px; top: -200px; background: var(--glow-a); }
.ribbons::after { width: 620px; height: 620px; right: -220px; bottom: -280px; background: var(--glow-b); }
@keyframes drift-a { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(24px, 14px, 0); } }
@keyframes drift-b { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-28px, -12px, 0); } }

/* Hero */
.hero { position: relative; isolation: isolate; padding: 72px 0 88px; border-bottom: 1px solid var(--line); background: var(--hero-bg); }
.hero .wrap { position: relative; }
.hero-grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 960px) { .hero { padding: 120px 0 132px; } .hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.eyebrow { margin: 0 0 18px; font-family: var(--display); font-size: 12.5px; font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; color: var(--eyebrow); }
.display { margin: 0; font-family: var(--display); font-weight: 300; text-transform: uppercase; letter-spacing: 0.2em; line-height: 1.22; font-size: clamp(1.7rem, 6.2vw, 3.7rem); }
.display span { display: block; }
.grad { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 500; }
.lead { margin: 26px 0 0; max-width: 34em; color: var(--muted); font-size: 18px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 0; }
.hero-art { display: flex; flex-direction: column; align-items: center; gap: 28px; }
.hero-lockup { width: min(100%, 362px); }
.hero-side { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; color: var(--muted); font-size: 15px; line-height: 1.6; letter-spacing: 0.04em; align-self: center; }
.hero-side li + li::before { content: "·"; margin-right: 14px; color: var(--line-strong); }

/* Açık tema hero logosunun arkasında yumuşak mavi ışık */
.hero-lockup-light { background: var(--mark-glow); }

/* Butonlar */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 12px; font-weight: 500; font-size: 16px; transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.btn svg { width: 18px; height: 18px; }
.btn-primary { color: var(--on-accent); background: var(--btn-primary-bg); box-shadow: var(--btn-primary-shadow); }
.btn-primary:hover { color: var(--on-accent); transform: translateY(-1px); box-shadow: var(--btn-primary-shadow-hover); }
.btn-ghost { color: var(--text); border: 1px solid var(--control-border); background: var(--ghost-bg); }
.btn-ghost:hover { color: var(--text); border-color: var(--hover-border); background: var(--hover-bg); }

/* Bölümler */
.section { padding: 84px 0; }
.section-tight { padding: 48px 0 84px; }
.section-band { background: var(--band-bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-title { margin: 0 0 36px; font-family: var(--display); font-weight: 400; font-size: clamp(1.5rem, 3.4vw, 2.3rem); letter-spacing: 0.02em; line-height: 1.2; }
.section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 36px; }
.section-head .section-title { margin: 0; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--text); }
.link-arrow:hover svg { transform: translateX(3px); }
.link-arrow svg { transition: transform 0.2s ease; }

.grid-3, .grid-2 { display: grid; gap: 18px; }
@media (min-width: 760px) { .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.card { position: relative; padding: 28px; border-radius: var(--radius); background: var(--card-bg); border: 1px solid var(--line); transition: border-color 0.25s ease, transform 0.25s ease; }
.card:hover { border-color: var(--card-hover-border); }
.card-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; margin-bottom: 22px; color: var(--on-accent); background: var(--card-icon-bg); box-shadow: var(--card-icon-shadow); }
.card-icon svg { width: 22px; height: 22px; }
.card-title { margin: 0 0 10px; font-family: var(--display); font-weight: 500; font-size: 19px; letter-spacing: 0.01em; }
.card-text { margin: 0; color: var(--muted); font-size: 16px; }

.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; counter-reset: s; }
@media (min-width: 760px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.step { padding: 28px 24px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--step-bg); }
.step-n { display: block; margin-bottom: 18px; font-family: var(--display); font-weight: 300; font-size: 34px; letter-spacing: 0.08em; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }

.app-top { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.app-icon { width: 72px; height: 72px; border-radius: 18px; box-shadow: var(--app-icon-shadow); }
.app-icon-ph { display: inline-flex; align-items: center; justify-content: center; color: var(--on-accent); background: var(--app-icon-ph-bg); border: 1px solid var(--line-strong); }
.app-icon-ph svg { width: 30px; height: 30px; }
.app-top .card-title { margin: 0; }
.app-sub { margin: 2px 0 0; color: var(--muted); font-size: 14px; letter-spacing: 0.04em; }
.app-meta { display: flex; align-items: center; gap: 12px; margin: 22px 0 0; color: var(--muted); font-size: 14px; flex-wrap: wrap; }
.pill { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 500; color: var(--pill-text); background: var(--pill-bg); border: 1px solid var(--pill-border); }

.cta-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 40px; border-radius: 26px; border: 1px solid var(--cta-border); background: var(--cta-bg); }
.cta-band .section-title { margin: 0 0 8px; }
@media (max-width: 520px) { .cta-band { padding: 28px 20px; } .cta-band .btn { width: 100%; font-size: 14.5px; padding: 0 14px; } }

/* Alt sayfalar */
.page-hero { position: relative; isolation: isolate; padding: 72px 0 56px; border-bottom: 1px solid var(--line); background: var(--hero-bg); }
.page-hero .wrap { position: relative; }
.page-hero .rib-violet { opacity: calc(0.7 * var(--rib-v-opacity)); }
.page-hero .rib-blue { opacity: calc(0.7 * var(--rib-b-opacity)); }
.page-title { margin: 0; font-family: var(--display); font-weight: 300; font-size: clamp(1.9rem, 5vw, 3.2rem); letter-spacing: 0.04em; line-height: 1.15; }
.prose { margin: 0 0 16px; color: var(--muted); font-size: 17px; max-width: 42em; }
.updated { margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.legal-h { margin: 34px 0 12px; font-family: var(--display); font-weight: 500; font-size: 20px; }
.legal-list { margin: 0; padding-left: 20px; color: var(--text); }
.legal-list li { margin: 6px 0; }

.contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.contact-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.mail { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--control-border); color: var(--text); max-width: 100%; }
.mail:hover { color: var(--text); border-color: var(--hover-border); background: var(--hover-bg); }

/* Alt bilgi */
.site-footer { border-top: 1px solid var(--line); padding: 56px 0 40px; background: var(--night); }
.foot { display: grid; gap: 28px; }
@media (min-width: 860px) { .foot { grid-template-columns: minmax(0, 1fr) auto; align-items: start; } .foot-copy { grid-column: 1 / -1; } }
.foot-lockup { width: 180px; }
.foot-tag { margin: 12px 0 0; font-family: var(--display); font-weight: 300; letter-spacing: 0.24em; text-transform: uppercase; font-size: 12.5px; color: var(--muted); }
.foot-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; }
.foot-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--muted); font-size: 15px; }
.foot-links a:hover { color: var(--text); }
.foot-copy { margin: 0; color: var(--muted); font-size: 14px; border-top: 1px solid var(--line); padding-top: 24px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rib { animation: none !important; }
  .btn, .card, .link-arrow svg, .theme-toggle { transition: none; }
}

/* Tema geçişi (theme.js). Sınıflar yalnızca geçiş süresince <html>'de; ilk yüklemede ve normal hover'larda etkisiz.
   1) View Transitions: yeni tema düğmeden açılan daireyle gelir (--vt-x/--vt-y/--vt-r theme.js'ten). */
html.theme-vt::view-transition-old(root),
html.theme-vt::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
html.theme-vt::view-transition-new(root) { animation: theme-reveal 450ms cubic-bezier(0.22, 1, 0.36, 1); }
@keyframes theme-reveal {
  from { clip-path: circle(0 at var(--vt-x, 100%) var(--vt-y, 0)); }
  to { clip-path: circle(var(--vt-r, 150vmax) at var(--vt-x, 100%) var(--vt-y, 0)); }
}
/* 2) View Transitions yoksa: kısa renk geçişi */
html.theme-fade, html.theme-fade *, html.theme-fade *::before, html.theme-fade *::after {
  transition: background-color 280ms ease, color 280ms ease, border-color 280ms ease, fill 280ms ease, stroke 280ms ease !important;
}
/* Güneş / ay: üst üste; geçişte döner ve yer değiştirir */
.theme-toggle { display: inline-grid; place-items: center; }
.theme-toggle svg { grid-area: 1 / 1; display: block !important; }
:root[data-theme="light"] .theme-toggle .on-dark,
:root:not([data-theme="light"]) .theme-toggle .on-light { opacity: 0; transform: rotate(-90deg) scale(0.5); }
html.theme-vt .theme-toggle svg,
html.theme-fade .theme-toggle svg { transition: opacity 300ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1), color 280ms ease !important; }
@media (prefers-reduced-motion: reduce) {
  html.theme-vt::view-transition-new(root) { animation: none; }
  html.theme-fade *, html.theme-vt .theme-toggle svg, html.theme-fade .theme-toggle svg { transition: none !important; }
}

/* E-posta adresleri: dar ekranda "@" öncesinden satır atlar, harf kesilmez */
.addr { min-width: 0; overflow-wrap: normal; word-break: normal; text-align: left; }
.btn .addr { white-space: normal; line-height: 1.3; }
@media (max-width: 520px) { .cta-band .btn { min-height: 52px; padding: 10px 14px; font-size: 14px; gap: 8px; } .mail { font-size: 14px; padding: 0 12px; gap: 8px; } .contact-row .mail { width: 100%; } }
@media (max-width: 400px) { .mail, .cta-band .btn { font-size: 13px; } .mail { padding: 0 10px; } }
