/* ============================================================
   7-24 Vinç - Site Stilleri (Tailwind tasarımından bağımsız CSS)
   Marka: Güven Lacivert + Amber
   ============================================================ */
:root {
  --radius: 0.5rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.18 0.04 260);
  --surface: oklch(0.97 0.012 250);
  --card: oklch(1 0 0);
  --primary: oklch(0.24 0.07 264);
  --primary-foreground: oklch(0.985 0.003 247);
  --primary-deep: oklch(0.18 0.06 264);
  --accent: oklch(0.78 0.16 70);
  --accent-foreground: oklch(0.2 0.04 264);
  --secondary: oklch(0.95 0.015 250);
  --muted: oklch(0.96 0.012 250);
  --muted-foreground: oklch(0.5 0.03 260);
  --success: oklch(0.65 0.16 152);
  --success-foreground: oklch(1 0 0);
  --destructive: oklch(0.6 0.22 27);
  --border: oklch(0.91 0.015 255);
  --input: oklch(0.91 0.015 255);
  --ring: oklch(0.78 0.16 70);
  --gradient-hero: linear-gradient(135deg, oklch(0.18 0.06 264) 0%, oklch(0.28 0.08 264) 60%, oklch(0.32 0.09 260) 100%);
  --gradient-accent: linear-gradient(135deg, oklch(0.82 0.17 75) 0%, oklch(0.72 0.18 60) 100%);
  --shadow-card: 0 1px 2px oklch(0.18 0.06 264 / 0.06), 0 8px 24px -8px oklch(0.18 0.06 264 / 0.12);
  --shadow-elevated: 0 4px 16px -2px oklch(0.18 0.06 264 / 0.18), 0 20px 40px -16px oklch(0.18 0.06 264 / 0.22);
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; border-color: var(--border); }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.02em; color: var(--primary); margin: 0; line-height: 1.15; }
p { margin: 0; }
ul { margin: 0; padding: 0; }

.container-x { width: 100%; margin-inline: auto; padding-inline: 1rem; max-width: 1200px; }
@media (min-width:640px){ .container-x{ padding-inline:1.5rem; } }
@media (min-width:1024px){ .container-x{ padding-inline:2rem; } }
.section-y { padding-block: 3.5rem; }
@media (min-width:768px){ .section-y{ padding-block:5rem; } }
@media (min-width:1024px){ .section-y{ padding-block:6rem; } }

.bg-surface { background: var(--surface); }
.bg-primary { background: var(--primary); color: var(--primary-foreground); }
.gradient-hero { background-image: var(--gradient-hero); }
.gradient-accent { background-image: var(--gradient-accent); }
.shadow-card { box-shadow: var(--shadow-card); }
.shadow-elevated { box-shadow: var(--shadow-elevated); }
.text-accent { color: var(--accent); }
.text-primary { color: var(--primary); }
.text-muted { color: var(--muted-foreground); }

.eyebrow {
  display:inline-block; font-family:var(--font-display); font-size:0.75rem; font-weight:600;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--accent);
}

/* ---- Butonlar ---- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  border-radius:var(--radius); padding:0.65rem 1.25rem; font-weight:700; font-size:0.95rem;
  cursor:pointer; border:none; transition:opacity .2s, transform .2s, background .2s; line-height:1.2; }
.btn-accent { background-image:var(--gradient-accent); color:var(--primary); box-shadow:var(--shadow-card); }
.btn-accent:hover { opacity:.95; }
.btn-success { background:var(--success); color:var(--success-foreground); }
.btn-success:hover { opacity:.95; }
.btn-primary { background:var(--primary); color:var(--primary-foreground); }
.btn-primary:hover { opacity:.92; }
.btn-outline { background:var(--background); border:1px solid var(--input); color:var(--foreground); }
.btn-lg { padding:0.85rem 1.5rem; font-size:1rem; }
.btn-block { width:100%; }

/* ---- Header ---- */
.site-header { position:sticky; top:0; z-index:40; border-bottom:1px solid var(--border);
  background:color-mix(in oklab, var(--background) 92%, transparent); backdrop-filter:blur(8px); }
.header-row { display:flex; height:4rem; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; align-items:center; gap:0.5rem; }
.brand-badge { display:flex; height:2.25rem; width:2.25rem; align-items:center; justify-content:center;
  border-radius:var(--radius); background-image:var(--gradient-accent); font-family:var(--font-display);
  font-size:0.85rem; font-weight:700; color:var(--primary); }
.brand-name { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--primary); line-height:1.1; }
.brand-sub { font-size:10px; text-transform:uppercase; letter-spacing:0.15em; color:var(--muted-foreground); }
.nav-desktop { display:none; align-items:center; gap:0.25rem; }
.nav-desktop a { padding:0.5rem 0.75rem; border-radius:var(--radius); font-size:0.9rem; font-weight:500;
  color:color-mix(in oklab, var(--foreground) 80%, transparent); transition:.2s; }
.nav-desktop a:hover, .nav-desktop a.active { color:var(--primary); background:var(--secondary); }
.header-cta { display:none; align-items:center; gap:0.5rem; }
.menu-toggle { display:inline-flex; height:2.5rem; width:2.5rem; align-items:center; justify-content:center;
  border-radius:var(--radius); border:1px solid var(--border); background:transparent; color:var(--primary); cursor:pointer; }
.nav-mobile { display:none; border-top:1px solid var(--border); background:var(--background); }
.nav-mobile.open { display:block; }
.nav-mobile ul { padding:0.5rem 0; list-style:none; }
.nav-mobile a { display:flex; align-items:center; justify-content:space-between; padding:0.75rem 0;
  font-size:1rem; font-weight:500; border-bottom:1px solid color-mix(in oklab, var(--border) 60%, transparent); }
.nav-mobile li:last-child a { border-bottom:none; }
@media (min-width:1024px){ .nav-desktop{ display:flex; } .header-cta{ display:flex; } .menu-toggle{ display:none; } }

/* ---- Hero ---- */
.hero { position:relative; isolation:isolate; overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:-10; }
.hero-bg img { height:100%; width:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background-image:var(--gradient-hero); opacity:.9; }
.hero-inner { padding-block:4rem; color:var(--primary-foreground); }
.hero h1 { color:var(--primary-foreground); font-size:2.25rem; line-height:1.05; max-width:48rem; margin-top:.75rem; }
.hero p { margin-top:1.25rem; max-width:36rem; font-size:1rem; color:color-mix(in oklab, var(--primary-foreground) 85%, transparent); }
.hero-actions { margin-top:2rem; display:flex; flex-direction:column; gap:0.75rem; }
.hero-stats { margin-top:3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.hero-stats dt { font-family:var(--font-display); font-size:1.875rem; font-weight:700; color:var(--accent); margin:0; }
.hero-stats dd { margin:0.25rem 0 0; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.05em; color:color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
@media (min-width:768px){
  .hero-inner{ padding-block:7rem; }
  .hero h1{ font-size:3.75rem; }
  .hero p{ font-size:1.125rem; }
  .hero-actions{ flex-direction:row; }
  .hero-stats{ grid-template-columns:repeat(4,1fr); }
}

/* ---- Page hero (iç sayfa) ---- */
.page-hero { background-image:var(--gradient-hero); color:var(--primary-foreground); }
.page-hero-inner { padding-top:2rem; padding-bottom:3rem; }
.page-hero h1 { color:var(--primary-foreground); font-size:1.875rem; }
.page-hero p { margin-top:1rem; max-width:42rem; font-size:1rem; color:color-mix(in oklab, var(--primary-foreground) 80%, transparent); }
@media (min-width:768px){ .page-hero-inner{ padding-top:3rem; padding-bottom:4rem; } .page-hero h1{ font-size:3rem; } .page-hero p{ font-size:1.125rem; } }

/* ---- Breadcrumb ---- */
.breadcrumb { font-size:0.75rem; margin-bottom:1rem; }
.breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:0.25rem; list-style:none;
  color:color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
.breadcrumb a:hover { color:var(--accent); }
.breadcrumb .sep { opacity:.6; }

/* ---- Trust bar ---- */
.trust { border-bottom:1px solid var(--border); background:var(--surface); }
.trust-grid { padding-block:2rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.trust-item { display:flex; align-items:center; gap:0.75rem; }
.trust-ico { display:flex; height:2.5rem; width:2.5rem; align-items:center; justify-content:center; border-radius:var(--radius); background:var(--primary); color:var(--accent); }
.trust-item span { font-family:var(--font-display); font-weight:600; font-size:0.9rem; color:var(--primary); }
@media (min-width:768px){ .trust-grid{ grid-template-columns:repeat(4,1fr); } }

/* ---- Section heading ---- */
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2.5rem; }
.sec-head h2 { margin-top:0.5rem; font-size:1.875rem; }
.sec-head p { margin-top:0.75rem; color:var(--muted-foreground); max-width:36rem; }
.sec-head-center { text-align:center; max-width:42rem; margin:0 auto 2.5rem; }
@media (min-width:768px){ .sec-head h2, .sec-head-center h2{ font-size:2.25rem; } }
.link-arrow { font-size:0.9rem; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:0.25rem; }
.link-arrow:hover { color:var(--accent); }

/* ---- Grids & Cards ---- */
.grid { display:grid; gap:1.25rem; }
.grid-2 { grid-template-columns:1fr; }
.grid-3 { grid-template-columns:1fr; }
.grid-4 { grid-template-columns:1fr; }
@media (min-width:640px){ .grid-2,.grid-3,.grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .grid-3{ grid-template-columns:repeat(3,1fr); } .grid-4{ grid-template-columns:repeat(4,1fr); } }

.card { overflow:hidden; border-radius:0.75rem; background:var(--card); box-shadow:var(--shadow-card);
  border:1px solid var(--border); transition:box-shadow .3s; display:flex; flex-direction:column; }
.card:hover { box-shadow:var(--shadow-elevated); }
.card-img { aspect-ratio:4/3; overflow:hidden; }
.card-img.wide { aspect-ratio:16/10; }
.card-img img { height:100%; width:100%; object-fit:cover; transition:transform .5s; }
.card:hover .card-img img { transform:scale(1.05); }
.card-body { padding:1.25rem; flex:1; display:flex; flex-direction:column; }
.card-body h3 { font-size:1.125rem; color:var(--primary); }
.card-body p { margin-top:0.5rem; font-size:0.9rem; color:var(--muted-foreground); }
.card-cta { margin-top:1rem; display:inline-flex; align-items:center; gap:0.25rem; font-size:0.9rem; font-weight:600; color:var(--accent); }
.kicker { font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--accent); }
.chip { border-radius:9999px; background:var(--surface); border:1px solid var(--border); padding:0.25rem 0.65rem; font-size:0.75rem; font-weight:500; display:inline-block; }
.chip-row { margin-top:0.75rem; display:flex; flex-wrap:wrap; gap:0.5rem; }

/* ---- Why us / feature list ---- */
.split { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media (min-width:1024px){ .split{ grid-template-columns:repeat(2,1fr); } }
.check-list { margin-top:1.5rem; list-style:none; display:flex; flex-direction:column; gap:0.75rem; }
.check-list li { display:flex; align-items:flex-start; gap:0.75rem; }
.check-list .ico { color:var(--accent); flex-shrink:0; margin-top:0.15rem; }
.stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.stat-box { border-radius:0.75rem; background:var(--card); padding:1.5rem; box-shadow:var(--shadow-card); border:1px solid var(--border); }
.stat-box .n { font-family:var(--font-display); font-size:1.875rem; font-weight:700; color:var(--primary); }
.stat-box .t { margin-top:0.25rem; font-size:0.9rem; color:var(--muted-foreground); }
.stat-box.dark { background:var(--primary); color:var(--primary-foreground); text-align:center; }
.stat-box.dark .n { color:var(--accent); }
.stat-box.dark .t { color:color-mix(in oklab, var(--primary-foreground) 75%, transparent); }

/* ---- Region tiles ---- */
.region-tile { display:flex; align-items:center; gap:0.75rem; border-radius:0.5rem; border:1px solid var(--border);
  background:var(--card); padding:1rem; transition:.2s; }
.region-tile:hover { border-color:var(--accent); box-shadow:var(--shadow-card); }
.region-tile .ico { color:var(--accent); flex-shrink:0; }
.region-tile .c { font-family:var(--font-display); font-weight:600; font-size:0.9rem; color:var(--primary); }
.region-tile .t { font-size:0.75rem; color:var(--muted-foreground); }

/* ---- Detail layout ---- */
.detail-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:1024px){ .detail-grid{ grid-template-columns:2fr 1fr; } }
.detail-main { display:flex; flex-direction:column; gap:2.5rem; }
.detail-main img.cover { aspect-ratio:16/9; width:100%; object-fit:cover; border-radius:0.75rem; box-shadow:var(--shadow-card); }
.detail-main h2 { font-size:1.5rem; }
.detail-main p { margin-top:1rem; color:color-mix(in oklab, var(--foreground) 90%, transparent); }
.bestfor { margin-top:1rem; display:grid; grid-template-columns:1fr; gap:0.75rem; list-style:none; }
@media (min-width:640px){ .bestfor{ grid-template-columns:repeat(2,1fr); } }
.bestfor li { display:flex; align-items:flex-start; gap:0.5rem; border-radius:var(--radius); background:var(--surface); border:1px solid var(--border); padding:0.75rem; }
.process { margin-top:1.5rem; list-style:none; display:flex; flex-direction:column; gap:1rem; }
.process li { display:flex; gap:1rem; border-radius:0.75rem; background:var(--card); border:1px solid var(--border); padding:1.25rem; box-shadow:var(--shadow-card); }
.process .num { display:flex; height:2.5rem; width:2.5rem; flex-shrink:0; align-items:center; justify-content:center; border-radius:var(--radius); background-image:var(--gradient-accent); font-family:var(--font-display); font-weight:700; color:var(--primary); }
.process h3 { font-size:1.125rem; color:var(--primary); }
.process p { margin-top:0.25rem; font-size:0.9rem; color:var(--muted-foreground); }

/* ---- FAQ ---- */
.faq { margin-top:1.5rem; display:flex; flex-direction:column; gap:0.75rem; }
details.faq-item { border-radius:0.5rem; border:1px solid var(--border); background:var(--card); padding:1.25rem; }
details.faq-item summary { cursor:pointer; font-family:var(--font-display); font-weight:600; color:var(--primary);
  display:flex; align-items:center; justify-content:space-between; gap:1rem; list-style:none; }
details.faq-item summary::-webkit-details-marker { display:none; }
details.faq-item summary .plus { color:var(--accent); transition:transform .2s; }
details.faq-item[open] summary .plus { transform:rotate(45deg); }
details.faq-item p { margin-top:0.75rem; font-size:0.9rem; color:var(--muted-foreground); }

/* ---- Aside ---- */
.aside { display:flex; flex-direction:column; gap:1.5rem; }
@media (min-width:1024px){ .aside.sticky{ position:sticky; top:6rem; align-self:flex-start; } }
.aside-dark { border-radius:0.75rem; background:var(--primary); color:var(--primary-foreground); padding:1.5rem; }
.aside-dark h3 { color:var(--primary-foreground); font-family:var(--font-display); font-size:1.125rem; }
.aside-dark dl { margin-top:1rem; font-size:0.9rem; }
.aside-dark .row { display:flex; justify-content:space-between; padding-bottom:0.75rem; margin-bottom:0.75rem; border-bottom:1px solid color-mix(in oklab, var(--primary-foreground) 10%, transparent); }
.aside-dark .row:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.aside-dark .row dt { color:color-mix(in oklab, var(--primary-foreground) 70%, transparent); margin:0; }
.aside-dark .row dd { font-weight:600; margin:0; }
.aside-box { border-radius:0.75rem; background:var(--surface); border:1px solid var(--border); padding:1.5rem; }
.aside-box h3 { font-family:var(--font-display); color:var(--primary); }
.aside-box ul { margin-top:1rem; list-style:none; display:flex; flex-direction:column; gap:0.5rem; }
.aside-box ul a { display:flex; align-items:center; justify-content:space-between; font-size:0.9rem;
  color:color-mix(in oklab, var(--foreground) 85%, transparent); }
.aside-box ul a:hover { color:var(--accent); }

/* ---- Blog content ---- */
.post-body { max-width:46rem; margin:0 auto; }
.post-body p { margin-top:1.25rem; color:color-mix(in oklab, var(--foreground) 90%, transparent); line-height:1.8; }
.post-body h2 { margin-top:2rem; font-size:1.5rem; }
.post-body ul { margin-top:1rem; padding-left:1.25rem; list-style:disc; }
.post-body li { margin-top:0.5rem; }
.post-meta { font-size:0.8rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--accent); }

/* ---- CTA band ---- */
.cta-band { background:var(--primary); color:var(--primary-foreground); }
.cta-band-inner { padding-block:2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.cta-band h2 { color:var(--primary-foreground); font-size:1.5rem; }
.cta-band p { margin-top:0.5rem; color:color-mix(in oklab, var(--primary-foreground) 75%, transparent); max-width:36rem; }
.cta-band-actions { display:flex; flex-direction:column; gap:0.75rem; flex-shrink:0; }
@media (min-width:768px){
  .cta-band-inner{ flex-direction:row; align-items:center; justify-content:space-between; padding-block:3.5rem; }
  .cta-band h2{ font-size:1.875rem; }
  .cta-band-actions{ flex-direction:row; }
}

/* ---- References marquee ---- */
.ref-sec { background:var(--surface); border-block:1px solid var(--border); overflow:hidden; }
.marquee { position:relative; display:flex; overflow:hidden; }
.marquee-track { display:flex; flex-shrink:0; align-items:center; gap:2.5rem; animation:marquee 30s linear infinite; }
.ref-item { display:flex; flex-shrink:0; flex-direction:column; align-items:center; gap:0.75rem; padding-inline:0.5rem; }
.ref-item img { height:4rem; width:4rem; object-fit:contain; opacity:.7; filter:grayscale(1); transition:.3s; }
.ref-item:hover img { opacity:1; filter:grayscale(0); }
.ref-item span { font-size:0.75rem; font-weight:600; color:var(--muted-foreground); white-space:nowrap; }
@media (min-width:768px){ .marquee-track{ gap:4rem; } .ref-item img{ height:5rem; width:5rem; } }
@keyframes marquee { from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---- Contact ---- */
.contact-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:1024px){ .contact-grid{ grid-template-columns:repeat(2,1fr); } }
.contact-cards { display:flex; flex-direction:column; gap:1rem; }
.contact-card { display:flex; align-items:center; gap:1rem; border-radius:0.75rem; background:var(--card);
  border:1px solid var(--border); box-shadow:var(--shadow-card); padding:1.25rem; transition:.2s; }
.contact-card:hover { box-shadow:var(--shadow-elevated); }
.contact-card .ico { display:flex; height:3rem; width:3rem; align-items:center; justify-content:center; border-radius:var(--radius); background:var(--primary); color:var(--accent); flex-shrink:0; }
.contact-card .lbl { font-size:0.75rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted-foreground); }
.contact-card .val { font-family:var(--font-display); font-weight:700; font-size:1.125rem; color:var(--primary); }
.contact-card .sub { font-size:0.75rem; color:var(--muted-foreground); }
.form-card { border-radius:0.75rem; background:var(--card); border:1px solid var(--border); box-shadow:var(--shadow-card); padding:1.5rem; }
.form-card h2 { font-size:1.5rem; }
.form-card .hint { margin-top:0.5rem; font-size:0.9rem; color:var(--muted-foreground); }
.form-row { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:640px){ .form-row{ grid-template-columns:repeat(2,1fr); } }
.field { margin-top:1rem; }
.field label { display:block; font-size:0.9rem; font-weight:500; margin-bottom:0.4rem; color:color-mix(in oklab, var(--foreground) 85%, transparent); }
.field input, .field select, .field textarea {
  width:100%; border-radius:var(--radius); border:1px solid var(--input); background:var(--background);
  padding:0.65rem 0.75rem; font-size:0.9rem; font-family:inherit; color:var(--foreground); }
.field input:focus, .field select:focus, .field textarea:focus { outline:2px solid var(--ring); outline-offset:0; }
.form-success { display:flex; flex-direction:column; align-items:center; text-align:center; padding-block:2.5rem; color:var(--success); }
.alert { border-radius:var(--radius); padding:0.85rem 1rem; font-size:0.9rem; margin-bottom:1rem; }
.alert-success { background:color-mix(in oklab, var(--success) 12%, transparent); color:var(--success); border:1px solid color-mix(in oklab, var(--success) 30%, transparent); }
.alert-error { background:color-mix(in oklab, var(--destructive) 10%, transparent); color:var(--destructive); border:1px solid color-mix(in oklab, var(--destructive) 30%, transparent); }

/* ---- Carousel (yatay kaydırmalı, bağımlılıksız) ---- */
.carousel { position:relative; }
.carousel-track {
  display:flex; gap:1.25rem; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch; padding:0.25rem 0 1rem;
  scrollbar-width:none; -ms-overflow-style:none;
}
.carousel-track::-webkit-scrollbar { display:none; }
.carousel-item { flex:0 0 100%; scroll-snap-align:center; display:flex; }
.carousel-item > * { width:100%; height:auto; }
.carousel-item .card { height:100%; }
@media (min-width:640px){ .carousel-item{ flex:0 0 300px; max-width:360px; scroll-snap-align:start; } }
.carousel-controls { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1rem; }
.carousel-btn {
  width:40px; height:40px; flex-shrink:0; border-radius:9999px; border:1px solid var(--border);
  background:var(--card); color:var(--primary); display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:var(--shadow-card); transition:.2s; padding:0;
}
.carousel-btn:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.carousel-dots { display:flex; align-items:center; gap:0.45rem; flex-wrap:wrap; justify-content:center; max-width:60%; }
.carousel-dot {
  width:8px; height:8px; border-radius:9999px; border:none; padding:0; cursor:pointer; transition:.25s;
  background:color-mix(in oklab, var(--primary) 22%, transparent);
}
.carousel-dot.active { width:26px; background:var(--accent); }
.sec-head-actions { display:flex; align-items:center; gap:0.75rem; }

/* ---- About / sayfa görseli (sabit 4:3 yatay) ---- */
.about-split { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:start; }
@media (min-width:1024px){ .about-split{ grid-template-columns:1fr 1fr; gap:3rem; } }
.about-media { border-radius:0.875rem; overflow:hidden; box-shadow:var(--shadow-elevated); aspect-ratio:4/3; }
.about-media img { display:block; width:100%; height:100%; object-fit:cover; }
@media (min-width:1024px){ .about-split.center{ align-items:center; } }

/* ---- Footer ---- */
.site-footer { margin-top:4rem; background:var(--primary); color:var(--primary-foreground); }
.footer-grid { padding-block:3rem; display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:768px){ .footer-grid{ grid-template-columns:repeat(4,1fr); } }
.footer-grid h3 { font-family:var(--font-display); font-size:0.85rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--accent); }
.footer-grid p { margin-top:1rem; font-size:0.9rem; color:color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
.footer-grid ul { margin-top:1rem; list-style:none; display:flex; flex-direction:column; gap:0.5rem; font-size:0.9rem; }
.footer-grid ul a { color:color-mix(in oklab, var(--primary-foreground) 80%, transparent); }
.footer-grid ul a:hover { color:var(--accent); }
.footer-contact li { display:flex; align-items:flex-start; gap:0.5rem; margin-top:0.75rem; }
.footer-contact .ico { color:var(--accent); flex-shrink:0; margin-top:0.15rem; }
.footer-bottom { border-top:1px solid color-mix(in oklab, var(--primary-foreground) 10%, transparent); }
.footer-bottom-inner { padding-block:1.25rem; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:0.75rem; font-size:0.75rem; color:color-mix(in oklab, var(--primary-foreground) 60%, transparent); }
.footer-bottom a { color:var(--accent); }
@media (min-width:640px){ .footer-bottom-inner{ flex-direction:row; } }

/* ---- Mobile sticky buttons ---- */
.mobile-fab { position:fixed; right:1rem; bottom:calc(1rem + env(safe-area-inset-bottom)); z-index:50; display:flex; flex-direction:column; gap:0.75rem; }
.mobile-fab a { display:flex; align-items:center; justify-content:center; width:3.5rem; height:3.5rem; border-radius:9999px; box-shadow:0 8px 20px rgba(0,0,0,.25); transition:transform .2s; }
.mobile-fab a:hover { transform:scale(1.05); }
.fab-wa { background:#25D366; color:#fff; }
.fab-call { background:var(--primary); color:var(--primary-foreground); }
@media (min-width:1024px){ .mobile-fab{ display:none; } }

/* ---- Pulse animations ---- */
@keyframes pulse-accent { 0%,100%{ box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 70%, transparent); } 50%{ box-shadow:0 0 0 14px transparent; } }
@keyframes pulse-success { 0%,100%{ box-shadow:0 0 0 0 color-mix(in oklab, var(--success) 70%, transparent); } 50%{ box-shadow:0 0 0 14px transparent; } }
.pulse-accent { animation:pulse-accent 1.8s ease-in-out infinite; }
.pulse-success { animation:pulse-success 1.8s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce){ .pulse-accent,.pulse-success,.marquee-track{ animation:none; } }

/* ---- 404 ---- */
.notfound { display:flex; min-height:70vh; align-items:center; justify-content:center; padding:1rem; text-align:center; }
.notfound .code { font-size:5rem; font-weight:700; color:var(--primary); }

/* ---- Utility ---- */
.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.hidden-mobile{display:none}
@media (min-width:768px){ .hidden-mobile{display:inline-flex} }
.prose-section h2 { font-size:1.5rem; margin-top:0; }
.two-col-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.spec-pills { margin-top:1rem; display:flex; flex-wrap:wrap; gap:0.5rem; }
.spec-pills .chip { padding:0.4rem 0.85rem; font-size:0.85rem; }
