/* ============================================
   ARI TEMİZLİK — Professional Cleaning Company
   Inspired by industry standards (silsupur.com.tr vibe)
   ============================================ */

/* Plus Jakarta Sans font yüklemesi includes/header.php içinde <link rel="stylesheet"> ile yapılır (render-blocking @import yerine paralel yükleme için) */

/* ---------- Design Tokens ---------- */
:root {
  /* PRIMARY — Navy (logo "Lavenya" yazısı) — corporate, trust */
  --navy:          #002060;
  --navy-deep:     #001540;
  --navy-darker:   #000A28;
  --navy-soft:     #DCE4F0;
  --navy-bg:       #F2F5FA;

  /* SECONDARY — Magenta (logo "TEMİZLİK" yazısı, sprey kapağı) — used for text/border accents */
  --rose:          #D63384;
  --rose-deep:     #A8266B;
  --rose-darker:   #7B1B4F;
  /* Pastel surfaces — shifted to CYAN family per logo (bubble/spray background) */
  --rose-soft:     #C8E8F4;
  --rose-bg:       #ECF6FB;

  /* ACCENT — Lemon yellow (logo eldiven & sünger) */
  --gold:          #F5D118;
  --gold-deep:     #D1AC0C;

  /* DECORATIVE — Cyan (logo sprey şişesi & kabarcıklar) */
  --cyan:          #50C0E0;
  --cyan-soft:     #D8EEF7;

  /* Surfaces */
  --white:         #FFFFFF;
  --cream:         #F1F8FC;
  --gray-50:       #F9FAFB;
  --gray-100:      #F3F4F6;
  --gray-200:      #E5E7EB;
  --gray-300:      #D1D5DB;

  /* Ink — navy-tinted */
  --ink:           #001540;
  --ink-soft:      #2D3A5A;
  --ink-mute:      #6B7898;
  --line:          #E5E9F2;

  /* Other accents */
  --green:         #10B981;
  --whatsapp:      #25D366;
  --whatsapp-deep: #128C7E;

  --font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

  --container: 1240px;
  --gutter:    1.5rem;
  --radius-sm: 8px;
  --radius:    14px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --shadow-xs: 0 1px 2px rgba(0, 21, 64, 0.05);
  --shadow-sm: 0 2px 8px rgba(0, 21, 64, 0.06);
  --shadow:    0 8px 24px rgba(0, 21, 64, 0.09);
  --shadow-lg: 0 16px 40px rgba(0, 21, 64, 0.13);
  --shadow-navy: 0 8px 24px rgba(0, 32, 96, 0.28);
  --shadow-rose: 0 8px 24px rgba(214, 51, 132, 0.25);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(80, 192, 224, 0.35), transparent 65%),
    radial-gradient(ellipse 55% 45% at 0% 30%, rgba(80, 192, 224, 0.28), transparent 65%),
    radial-gradient(ellipse 50% 40% at 100% 75%, rgba(80, 192, 224, 0.22), transparent 65%),
    radial-gradient(ellipse 55% 45% at 0% 100%, rgba(0, 32, 96, 0.05), transparent 65%),
    var(--cream);
  background-attachment: fixed;
  color: var(--ink);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
input, textarea, select { font: inherit; color: inherit; background: transparent; border: none; outline: none; }

h1, h2, h3, h4, h5, h6 { line-height: 1.2; letter-spacing: -0.02em; font-weight: 700; color: var(--ink); }
p { line-height: 1.65; color: var(--ink-soft); }

/* ---------- Layout ---------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
section { padding: clamp(3rem, 6vw, 5rem) 0; position: relative; }

/* ---------- Typography Helpers ---------- */
.h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; }
.h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 800; line-height: 1.25; letter-spacing: -0.025em; }
.h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 700; }
.h4 { font-size: 1.15rem; font-weight: 700; }

.lede {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.55;
  color: var(--ink-soft);
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rose);
}
.eyebrow::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: currentColor;
}
.text-rose { color: var(--rose); }
.text-gradient {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 55%, var(--rose) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- Top Bar ---------- */
.topbar {
  background: linear-gradient(90deg, var(--rose-bg) 0%, var(--rose-soft) 50%, var(--rose-bg) 100%);
  color: var(--ink-soft);
  padding: 0.65rem 0;
  font-size: 0.82rem;
  font-weight: 500;
  border-bottom: 1px solid rgba(214, 51, 132, 0.08);
}
.topbar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.topbar__left {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  letter-spacing: 0.005em;
}
.topbar__left .sparkle {
  color: var(--gold-deep);
  font-size: 0.85rem;
  animation: sparkle 3.5s ease-in-out infinite;
}
@keyframes sparkle {
  0%, 100% { opacity: 0.7; transform: scale(1) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.15) rotate(15deg); }
}
.topbar__left strong { color: var(--rose-deep); font-weight: 800; }
.topbar__right {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  font-weight: 700;
}
.topbar__right .sep { color: var(--rose); opacity: 0.4; }
.topbar__right a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--rose-deep);
  transition: color 0.2s var(--ease);
}
.topbar__right a:hover { color: var(--rose-darker); }
.topbar__right .ico {
  color: var(--rose-deep);
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
}
@media (max-width: 800px) {
  .topbar__right .sep,
  .topbar__right .label-hide { display: none; }
  .topbar__left { font-size: 0.78rem; }
}
@media (max-width: 520px) {
  .topbar__left { display: none; }
  .topbar__right { width: 100%; justify-content: center; }
}

/* ---------- Header ---------- */
.site-header {
  background: rgba(241, 248, 252, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0, 21, 64, 0.06);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: background 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s var(--ease);
}
.site-header.is-scrolled {
  background: rgba(241, 248, 252, 0.92);
  box-shadow: 0 8px 24px -16px rgba(168, 38, 107, 0.18);
  border-bottom-color: rgba(168, 38, 107, 0.08);
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.35rem 0;
}
.brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-shrink: 0;
}
.brand__mark {
  width: 44px; height: 44px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.35), transparent 55%),
    linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  box-shadow:
    0 8px 18px rgba(214, 51, 132, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  position: relative;
  transition: transform 0.3s var(--ease);
}
.brand:hover .brand__mark { transform: rotate(-4deg); }
.brand__mark::after {
  content: '✦';
  position: absolute;
  top: -4px; right: -4px;
  width: 16px; height: 16px;
  background: var(--gold);
  color: var(--white);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.55rem;
  font-weight: 800;
  box-shadow: 0 2px 6px rgba(245, 209, 24, 0.5);
}
.brand__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.brand__name {
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.brand__tag {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--rose);
  letter-spacing: 0.04em;
  margin-top: 2px;
}

/* Image logo variant */
.brand--logo { gap: 0; }
.brand__logo {
  display: block;
  height: 100px;
  width: auto;
  max-width: 310px;
  object-fit: contain;
  transition: transform 0.3s var(--ease);
  margin: -8px 0;
}
.brand--logo:hover .brand__logo { transform: scale(1.03); }
.brand__logo--footer {
  height: 96px;
  max-width: 280px;
  margin: 0;
}
@media (max-width: 640px) {
  .brand__logo { height: 76px; max-width: 230px; margin: -6px 0; }
  .brand__logo--footer { height: 80px; }
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 0;
}
.nav-menu li {
  position: relative;
}
/* Hairline divider between items */
.nav-menu li + li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background: linear-gradient(180deg, transparent, rgba(0, 21, 64, 0.14), transparent);
}
.nav-menu a {
  display: inline-block;
  padding: 0.6rem 1.25rem;
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ink-mute);
  transition: color 0.3s var(--ease);
  position: relative;
}
/* Ink underline — slow draw from left */
.nav-menu a::after {
  content: '';
  position: absolute;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 0.2rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}
.nav-menu a:hover {
  color: var(--ink);
}
.nav-menu a:hover::after {
  transform: scaleX(1);
}
/* Active — refined gold dot prefix + rose text + persistent fine underline */
.nav-menu a.is-active {
  color: var(--rose-deep);
}
.nav-menu a.is-active::after {
  background: var(--rose);
  height: 1.5px;
  transform: scaleX(1);
  transition-duration: 0s;
}
.nav-menu a.is-active::before {
  content: '';
  position: absolute;
  left: 0.55rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 2px rgba(245, 209, 24, 0.18);
}

.nav-cta {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
}
.nav-phone {
  display: none;
  align-items: center;
  gap: 0.7rem;
  color: var(--ink);
  padding: 0.5rem 0.9rem 0.5rem 0.55rem;
  background: linear-gradient(180deg, #F6FBFD 0%, #E8F3F9 100%);
  border: 1px solid var(--rose-soft);
  border-radius: var(--radius-pill);
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s ease;
  margin-right: 0.4rem;
}
.nav-phone:hover {
  transform: translateY(-1px);
  border-color: var(--rose);
  box-shadow: 0 8px 18px -8px rgba(214, 51, 132, 0.35);
}
.nav-phone:hover .nav-phone__ico {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
}
.nav-phone__ico {
  position: relative;
  width: 36px; height: 36px;
  background: var(--white);
  color: var(--rose-deep);
  border: 1px solid var(--rose-soft);
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: all 0.25s var(--ease);
  flex-shrink: 0;
}
.nav-phone__ico svg { width: 16px; height: 16px; }
.nav-phone__pulse {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  background: var(--green);
  border: 2px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  animation: nav-pulse 2s ease-in-out infinite;
}
@keyframes nav-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
  50% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
}
.nav-phone__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.nav-phone__kicker {
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.nav-phone strong {
  font-weight: 800;
  font-size: 0.92rem;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: var(--ink);
}
@media (min-width: 1024px) { .nav-phone { display: inline-flex; } }

/* Refined CTA button */
.btn.btn--cta {
  position: relative;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: var(--white);
  box-shadow: 0 8px 20px -6px rgba(0, 32, 96, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
  font-weight: 700;
  letter-spacing: 0.01em;
  overflow: hidden;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.btn.btn--cta::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
  transition: left 0.7s var(--ease);
  pointer-events: none;
}
.btn.btn--cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -8px rgba(0, 32, 96, 0.65), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
.btn.btn--cta:hover::before { left: 130%; }
.btn.btn--cta .arrow { transition: transform 0.3s var(--ease); }
.btn.btn--cta:hover .arrow { transform: translateX(4px); }

.menu-toggle {
  display: none;
  width: 44px; height: 44px;
  place-items: center;
  background: var(--rose-bg);
  border-radius: var(--radius-sm);
}
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  display: block;
  width: 20px; height: 2px;
  background: var(--rose-deep);
  border-radius: 2px;
}
.menu-toggle span { position: relative; }
.menu-toggle span::before {
  content: '';
  position: absolute;
  left: 0; top: -6px;
}
.menu-toggle span::after {
  content: '';
  position: absolute;
  left: 0; top: 6px;
}
@media (max-width: 980px) {
  .nav-menu { display: none; }
  .menu-toggle { display: grid; }
}

/* Mobile drawer */
/* ============================================================
   MOBILE DRAWER — Lavenya branded side menu
   Soldan kayan panel + branded nav (icon + label + alt metin) +
   2 quick CTA (call/wa) + working hours strip.
   ============================================================ */
.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 21, 64, 0);
  pointer-events: none;
  transition: background 0.32s var(--ease);
}
.mobile-drawer.is-open {
  pointer-events: auto;
  background: rgba(0, 21, 64, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* PANEL — soldan slide-in */
.mobile-drawer__panel {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 86%;
  max-width: 360px;
  background:
    radial-gradient(circle at 100% 0%, rgba(214, 51, 132, 0.07), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(102, 217, 239, 0.10), transparent 55%),
    var(--white);
  box-shadow: 6px 0 40px -10px rgba(0, 21, 64, 0.45);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 1.6rem 1.2rem 1.4rem;
  transform: translateX(-100%);
  transition: transform 0.34s cubic-bezier(.32, .72, 0, 1);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.mobile-drawer.is-open .mobile-drawer__panel { transform: translateX(0); }

/* CLOSE */
.mdrw__close {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  width: 38px;
  height: 38px;
  border: 0;
  background: rgba(0, 21, 64, 0.06);
  color: var(--ink);
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.2s;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
}
.mdrw__close svg { width: 18px; height: 18px; }
.mdrw__close:hover,
.mdrw__close:active { background: var(--navy); color: var(--white); }

/* HEAD — brand + status */
.mdrw__head {
  padding: 0.4rem 0.3rem 0.9rem;
  border-bottom: 1px dashed rgba(0, 21, 64, 0.12);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
}
.mdrw__logo {
  display: block;
  height: 78px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  margin: -8px 0 -4px -6px;
}
.mdrw__status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(34, 197, 94, 0.10);
  color: #15803d;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.32rem 0.72rem 0.32rem 0.5rem;
  border-radius: 999px;
  letter-spacing: 0.01em;
}
.mdrw__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  position: relative;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
  animation: mdrw-pulse 1.8s ease-out infinite;
}
@keyframes mdrw-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* NAV LINKS */
.mdrw__nav {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.mdrw__link {
  display: grid;
  grid-template-columns: 42px 1fr 18px;
  align-items: center;
  gap: 0.85rem;
  padding: 0.78rem 0.85rem;
  border-radius: 14px;
  background: rgba(241, 248, 252, 0.7);
  border: 1px solid transparent;
  color: var(--ink);
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.mdrw__link:hover,
.mdrw__link:active {
  background: var(--white);
  border-color: rgba(214, 51, 132, 0.18);
  transform: translateX(2px);
}
.mdrw__link.is-active {
  background: linear-gradient(135deg, var(--navy) 0%, #0a1f5c 100%);
  border-color: transparent;
  color: var(--white);
  box-shadow: 0 6px 18px -8px rgba(0, 21, 64, 0.55);
}
.mdrw__link.is-active .mdrw__ico {
  background: rgba(255, 255, 255, 0.14);
  color: var(--white);
}
.mdrw__link.is-active .mdrw__body small { color: rgba(255, 255, 255, 0.7); }
.mdrw__link.is-active .mdrw__arrow { color: var(--gold, #f5d118); }

.mdrw__ico {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--white);
  color: var(--rose);
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px -4px rgba(0, 21, 64, 0.15);
  flex-shrink: 0;
  transition: background 0.2s, color 0.2s;
}
.mdrw__ico svg { width: 22px; height: 22px; }

.mdrw__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.mdrw__body strong {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.mdrw__body small {
  font-size: 0.74rem;
  color: var(--ink-mute);
  margin-top: 2px;
  font-weight: 500;
  line-height: 1.3;
}
.mdrw__arrow {
  width: 18px;
  height: 18px;
  color: var(--ink-mute);
  opacity: 0.5;
  transition: transform 0.2s, opacity 0.2s, color 0.2s;
  flex-shrink: 0;
}
.mdrw__link:hover .mdrw__arrow,
.mdrw__link:active .mdrw__arrow {
  opacity: 1;
  color: var(--rose);
  transform: translateX(2px);
}

/* CTA CARDS — phone + whatsapp */
.mdrw__ctas {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.2rem;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(0, 21, 64, 0.12);
}
.mdrw__cta {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  color: var(--white);
  text-decoration: none;
  font-weight: 600;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.18s, box-shadow 0.2s;
}
.mdrw__cta:hover,
.mdrw__cta:active { transform: translateY(-1px); }
.mdrw__cta--call {
  background: linear-gradient(135deg, var(--navy) 0%, #0a1f5c 100%);
  box-shadow: 0 8px 20px -10px rgba(0, 21, 64, 0.55);
}
.mdrw__cta--wa {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  box-shadow: 0 8px 20px -10px rgba(18, 140, 126, 0.55);
}
.mdrw__cta-ico {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.mdrw__cta-ico svg { width: 19px; height: 19px; }
.mdrw__cta-body {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}
.mdrw__cta-body strong {
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.mdrw__cta-body small {
  font-size: 0.74rem;
  opacity: 0.85;
  font-weight: 500;
  margin-top: 2px;
}

/* HOURS strip */
.mdrw__hours {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: rgba(0, 21, 64, 0.04);
  color: var(--ink-soft);
  font-size: 0.78rem;
}
.mdrw__hours svg { width: 22px; height: 22px; color: var(--rose); flex-shrink: 0; }
.mdrw__hours div { display: flex; flex-direction: column; line-height: 1.3; }
.mdrw__hours strong { font-weight: 700; color: var(--ink); font-size: 0.8rem; }
.mdrw__hours small { font-size: 0.72rem; color: var(--ink-mute); margin-top: 1px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.85rem 1.5rem;
  font-size: 0.94rem;
  font-weight: 700;
  border-radius: var(--radius-pill);
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: var(--white);
  transition: all 0.3s var(--ease);
  white-space: nowrap;
  box-shadow: var(--shadow-navy);
  position: relative;
  overflow: hidden;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 32, 96, 0.38);
}
.btn .arrow { transition: transform 0.3s var(--ease); }
.btn:hover .arrow { transform: translateX(3px); }

.btn--ghost {
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 2px 8px rgba(0, 21, 64, 0.06), inset 0 0 0 1px var(--gray-200);
}
.btn--ghost:hover {
  background: var(--rose-bg);
  color: var(--rose-deep);
  box-shadow: 0 8px 20px rgba(214, 51, 132, 0.12), inset 0 0 0 1px var(--rose-soft);
}

.btn--whatsapp {
  background: linear-gradient(135deg, var(--whatsapp) 0%, var(--whatsapp-deep) 100%);
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.3);
}
.btn--whatsapp:hover { box-shadow: 0 12px 28px rgba(37, 211, 102, 0.4); }

.btn--gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: var(--ink);
  box-shadow: 0 8px 20px rgba(245, 209, 24, 0.3);
}

.btn--dark {
  background: var(--ink);
  box-shadow: 0 8px 20px rgba(0, 21, 64, 0.2);
}
.btn--dark:hover { box-shadow: 0 12px 28px rgba(0, 21, 64, 0.3); background: #2A2A40; }

.btn--lg { padding: 1.05rem 2rem; font-size: 1rem; }
.btn--sm { padding: 0.6rem 1.1rem; font-size: 0.85rem; }
.btn--block { width: 100%; }

/* ---------- Badges / Pills ---------- */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  border-radius: var(--radius-pill);
  background: var(--rose-soft);
  color: var(--rose-deep);
}
.badge--gold { background: rgba(245, 209, 24, 0.15); color: var(--gold-deep); }
.badge--green { background: rgba(16, 185, 129, 0.12); color: var(--green); }
.badge--dark { background: var(--ink); color: var(--white); }

.badge .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--green);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.75); }
}

/* ---------- Hero ---------- */
.hero {
  background: transparent;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
  position: relative;
  overflow: hidden;
}
.hero__deco {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.hero__deco--1 {
  top: 10%; right: -8%;
  width: 320px; height: 320px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.18;
  border-radius: 50%;
  filter: blur(40px);
}
.hero__deco--2 {
  bottom: -10%; left: -6%;
  width: 280px; height: 280px;
  background: radial-gradient(circle, var(--gold) 0%, transparent 70%);
  opacity: 0.15;
  border-radius: 50%;
  filter: blur(40px);
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 3rem;
  align-items: center;
}
@media (max-width: 980px) {
  .hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
}

.hero__copy { max-width: 600px; }
.hero__badges {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.hero__title {
  font-size: clamp(2.2rem, 5.5vw, 3.8rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-bottom: 1.2rem;
}
.hero__title .accent { color: var(--rose); }
.hero__title .underline-mark {
  display: inline-block;
  position: relative;
  white-space: nowrap;
}
.hero__title .underline-mark::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  bottom: 4%;
  height: 0.22em;
  background: rgba(245, 209, 24, 0.5);
  z-index: -1;
  border-radius: 4px;
}

.hero__lede {
  max-width: 50ch;
  margin-bottom: 2rem;
  font-size: 1.08rem;
  color: var(--ink-soft);
}

.hero__actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.hero__trust {
  display: flex;
  gap: 1.8rem;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}
.hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.hero__trust-ico {
  width: 38px; height: 38px;
  background: var(--rose-soft);
  color: var(--rose);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.hero__trust-num {
  font-weight: 800;
  font-size: 1.15rem;
  color: var(--ink);
  line-height: 1;
}
.hero__trust-label {
  font-size: 0.78rem;
  color: var(--ink-mute);
  font-weight: 500;
}

/* Hero booking form (right side) */
.booking-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 2.5vw, 2rem);
  box-shadow: var(--shadow-lg);
  position: relative;
  max-width: 480px;
  margin-left: auto;
  width: 100%;
  /* Native form control vurguları (date picker, radio, checkbox) marka rengi */
  accent-color: var(--rose);
}
.booking-card__header {
  text-align: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px dashed var(--gray-200);
}
.booking-card__kicker {
  display: inline-block;
  background: var(--rose-soft);
  color: var(--rose-deep);
  padding: 0.3rem 0.8rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.7rem;
}
.booking-card__title {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.booking-card__title small {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink-mute);
  margin-top: 0.25rem;
  letter-spacing: 0;
}

.booking-field { display: flex; flex-direction: column; margin-bottom: 0.9rem; }
.booking-field label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-soft);
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.booking-field label .req { color: var(--rose); }
.booking-field input,
.booking-field select,
.booking-field textarea {
  padding: 0.75rem 0.9rem;
  font-size: 0.92rem;
  font-weight: 500;
  background: var(--gray-50);
  border: 1.5px solid transparent;
  border-radius: var(--radius);
  transition: all 0.2s var(--ease);
}
.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
  background: var(--white);
  border-color: var(--rose);
  box-shadow: 0 0 0 3px rgba(214, 51, 132, 0.1);
}
.booking-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
.booking-card__submit { margin-top: 1.2rem; }
.booking-card__foot {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.78rem;
  color: var(--ink-mute);
}
.booking-card__foot strong { color: var(--rose); font-weight: 700; }

/* Floating sticker on booking card */
.booking-sticker {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px; height: 80px;
  background: var(--gold);
  color: var(--ink);
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  font-weight: 800;
  font-size: 0.7rem;
  line-height: 1.05;
  transform: rotate(12deg);
  box-shadow: 0 8px 20px rgba(245, 209, 24, 0.4);
  z-index: 2;
}
.booking-sticker__big { display: block; font-size: 1.3rem; line-height: 1; }
@media (max-width: 600px) {
  .booking-sticker { width: 70px; height: 70px; font-size: 0.62rem; top: -16px; right: -8px; }
}

/* ---------- Promise Cards ---------- */
.promise {
  background: transparent;
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  border: none;
}
.promise__head {
  text-align: center;
  margin-bottom: 2.2rem;
}
.promise__head .eyebrow { margin-bottom: 0.6rem; }
.promise__head h2 { max-width: 24ch; margin: 0 auto; }

.promise__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.promise-card {
  --tint: var(--rose-soft);
  --tint-deep: var(--rose-deep);
  --tint-soft: rgba(214, 51, 132, 0.08);
  background: var(--tint);
  border-radius: 22px;
  padding: 1.6rem 1.4rem 1.5rem;
  position: relative;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.promise-card:nth-child(2) {
  --tint: #E8F7EF;
  --tint-deep: #047857;
  --tint-soft: rgba(16, 185, 129, 0.1);
}
.promise-card:nth-child(3) {
  --tint: #FFF3DC;
  --tint-deep: var(--gold-deep);
  --tint-soft: rgba(245, 209, 24, 0.12);
}
.promise-card:nth-child(4) {
  --tint: #EEF0FF;
  --tint-deep: #4F46E5;
  --tint-soft: rgba(99, 102, 241, 0.1);
}
.promise-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 30px rgba(0, 21, 64, 0.08);
}

.promise-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.promise-card__ico {
  width: 52px; height: 52px;
  border-radius: 16px;
  background: var(--white);
  color: var(--tint-deep);
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  box-shadow: 0 4px 10px var(--tint-soft);
  transition: transform 0.3s var(--ease);
}
.promise-card:hover .promise-card__ico { transform: rotate(-8deg) scale(1.05); }

.promise-card__chip {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--white);
  color: var(--tint-deep);
  padding: 0.35rem 0.65rem;
  border-radius: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.promise-card__chip::before {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--tint-deep);
}

.promise-card__title {
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-bottom: 0.4rem;
}
.promise-card__desc {
  font-size: 0.86rem;
  color: var(--ink-soft);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .promise__grid { grid-template-columns: repeat(2, 1fr); gap: 0.9rem; }
}
@media (max-width: 480px) {
  .promise__grid { grid-template-columns: 1fr; }
}

/* ---------- Section Head ---------- */
.section-head {
  text-align: center;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.section-head--left { text-align: left; }
.section-head .eyebrow { margin-bottom: 0.8rem; }
.section-head h2 { max-width: 22ch; margin: 0 auto 0.8rem; }
.section-head--left h2 { margin: 0 0 0.8rem; }
.section-head p { max-width: 56ch; margin: 0 auto; color: var(--ink-soft); }
.section-head--left p { margin: 0; }

/* ---------- Services Grid ---------- */
.services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
}
.service-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--line);
  transition: all 0.35s var(--ease);
  display: flex;
  flex-direction: column;
  position: relative;
}
.service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.service-card__img {
  position: relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  overflow: hidden;
}
.service-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease);
}
.service-card:hover .service-card__img img { transform: scale(1.08); }
.service-card__img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 21, 64, 0.5) 100%);
}
.service-card__tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  background: var(--white);
  color: var(--ink);
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.service-card__price-tag {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  background: var(--rose);
  color: var(--white);
  padding: 0.4rem 0.85rem;
  border-radius: var(--radius-pill);
  font-size: 0.82rem;
  font-weight: 800;
  box-shadow: var(--shadow-rose);
}
.service-card__price-tag small { font-weight: 500; font-size: 0.7rem; opacity: 0.9; }

.service-card__body {
  padding: 1.4rem 1.4rem 1.6rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.service-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
}
.service-card__desc {
  font-size: 0.92rem;
  color: var(--ink-soft);
  line-height: 1.55;
  margin-bottom: 1.2rem;
  flex-grow: 1;
}
.service-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.2rem;
}
.service-card__features span {
  font-size: 0.74rem;
  font-weight: 600;
  background: var(--gray-100);
  color: var(--ink-soft);
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-pill);
}
.service-card__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.service-card__cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--rose);
  transition: gap 0.3s var(--ease);
}
.service-card__cta a:hover { gap: 0.6rem; color: var(--rose-deep); }
.service-card__cta-rating {
  font-size: 0.82rem;
  color: var(--ink-mute);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.service-card__cta-rating::before { content: '★'; color: var(--gold-deep); }

@media (max-width: 900px) { .services { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .services { grid-template-columns: 1fr; } }

/* ---------- Process ---------- */
.process {
  background: transparent;
  position: relative;
  overflow: hidden;
}
.process__deco {
  position: absolute;
  top: -100px; right: -100px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.1;
  border-radius: 50%;
  pointer-events: none;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
  position: relative;
  z-index: 1;
}
/* Connector line through all step cards (desktop only) */
.process-steps::before {
  content: '';
  position: absolute;
  top: 52px;
  left: 6%;
  right: 6%;
  height: 2px;
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--rose-deep) 35%, transparent) 50%, transparent 50%);
  background-size: 12px 2px;
  background-repeat: repeat-x;
  z-index: 0;
  pointer-events: none;
}
.process-step {
  background: var(--white);
  padding: 1.6rem 1.4rem 1.5rem;
  border-radius: 16px;
  border: 1px solid var(--line);
  position: relative;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
  z-index: 1;
}
.process-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -18px rgba(168, 38, 107, 0.22), 0 2px 6px rgba(0,0,0,0.03);
  border-color: color-mix(in srgb, var(--rose-deep) 18%, transparent);
}
.process-step__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.1rem;
}
.process-step__ico {
  width: 52px; height: 52px;
  background: var(--rose-bg);
  color: var(--rose-deep);
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: background 0.3s var(--ease), color 0.3s var(--ease), transform 0.3s var(--ease);
}
.process-step__ico svg { width: 24px; height: 24px; }
.process-step:hover .process-step__ico {
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  color: var(--white);
  transform: scale(1.05) rotate(-3deg);
}
.process-step__num {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--rose-deep);
  letter-spacing: -0.02em;
  line-height: 1;
  opacity: 0.18;
  transition: opacity 0.3s var(--ease);
  font-feature-settings: "tnum";
}
.process-step:hover .process-step__num { opacity: 0.55; }

.process-step__title {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 0.45rem;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.process-step__desc {
  font-size: 0.88rem;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 900px) {
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }
}
@media (max-width: 500px) { .process-steps { grid-template-columns: 1fr; } }

/* ---------- Stats ---------- */
.stats {
  background: linear-gradient(135deg, var(--ink) 0%, #2A2A40 100%);
  color: var(--white);
  border-radius: var(--radius-lg);
  padding: clamp(2rem, 4vw, 3rem);
  position: relative;
  overflow: hidden;
}
.stats::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.2;
}
.stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  position: relative;
  z-index: 1;
}
.stat { text-align: center; }
.stat__num {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--white);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.1rem;
}
.stat__num em { font-style: normal; color: var(--rose); font-size: 0.7em; }
.stat__num small { font-size: 0.5em; font-weight: 500; opacity: 0.8; }
.stat__label {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.02em;
}
@media (max-width: 700px) { .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; } }

/* ---------- About Preview ---------- */
.about-preview {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
  padding: 1rem 0;
}

/* Visual side */
.about-preview__visual {
  position: relative;
  padding: 1.5rem 2rem 3rem;
}
.about-preview__polaroid {
  position: relative;
  background: var(--white);
  padding: 0.9rem 0.9rem 1.6rem;
  border-radius: 6px;
  box-shadow:
    0 1px 2px rgba(168, 38, 107, 0.06),
    0 18px 40px -12px rgba(168, 38, 107, 0.22),
    0 30px 60px -20px rgba(0, 0, 0, 0.12);
  transform: rotate(-2.2deg);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.about-preview__polaroid::before {
  content: '';
  position: absolute;
  top: 0.5rem; left: 50%;
  transform: translateX(-50%) rotate(-3deg);
  width: 70px; height: 18px;
  background: linear-gradient(180deg, rgba(214, 51, 132,0.18), rgba(214, 51, 132,0.08));
  border-radius: 2px;
  z-index: 2;
}
.about-preview__polaroid img {
  width: 100%;
  height: calc(100% - 1rem);
  object-fit: cover;
  border-radius: 3px;
  display: block;
}
.about-preview__visual:hover .about-preview__polaroid { transform: rotate(-0.5deg) scale(1.01); }

/* Stamp on polaroid */
.about-preview__stamp {
  position: absolute;
  top: 1.4rem; right: 1.4rem;
  width: 78px; height: 78px;
  border-radius: 50%;
  background: rgba(241, 248, 252, 0.95);
  border: 2px dashed var(--gold-deep);
  color: var(--gold-deep);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 800;
  line-height: 1;
  transform: rotate(8deg);
  z-index: 3;
  box-shadow: 0 6px 20px -6px rgba(168, 38, 107, 0.25);
}
.about-preview__stamp .stamp-top { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.85; }
.about-preview__stamp .stamp-mid { font-size: 1.5rem; font-weight: 900; margin: 0.15rem 0; }
.about-preview__stamp .stamp-bot { font-size: 0.55rem; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.7; }

/* Floating rating card */
.about-preview__floatcard {
  position: absolute;
  bottom: 0.8rem;
  left: -0.5rem;
  background: var(--white);
  padding: 0.85rem 1.1rem;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  box-shadow: 0 14px 34px -10px rgba(168, 38, 107, 0.25), 0 2px 6px rgba(0,0,0,0.04);
  transform: rotate(2deg);
  z-index: 4;
}
.floatcard__ico {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--white);
  font-size: 1.1rem;
  flex-shrink: 0;
}
.about-preview__floatcard strong { display: block; font-weight: 800; font-size: 0.95rem; color: var(--ink); line-height: 1.2; }
.about-preview__floatcard small { font-size: 0.74rem; color: var(--ink-mute); }

/* Availability sticker */
.about-preview__sticker {
  position: absolute;
  top: 0.5rem; right: -0.4rem;
  background: var(--white);
  color: var(--ink);
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 10px 24px -8px rgba(168, 38, 107,0.22);
  transform: rotate(3deg);
  z-index: 4;
}
.sticker__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,0.18);
  animation: dotPulse 1.8s ease-in-out infinite;
}
@keyframes dotPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(34,197,94,0.18); }
  50% { box-shadow: 0 0 0 7px rgba(34,197,94,0.06); }
}

/* Copy side */
.about-preview__copy h2 { margin-bottom: 1.2rem; }
.about-preview__copy > p {
  margin: 0 0 1.1rem;
  color: var(--ink);
  line-height: 1.75;
  font-size: 1rem;
}
.about-preview__copy .about-lead {
  font-size: 1.18rem;
  line-height: 1.55;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin-bottom: 1.3rem;
  position: relative;
  padding-left: 1.1rem;
}
.about-preview__copy .about-lead::before {
  content: '';
  position: absolute;
  left: 0; top: 0.45em; bottom: 0.45em;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--rose-deep) 0%, var(--gold) 100%);
}
.about-preview__copy .hl {
  background: linear-gradient(180deg, transparent 60%, rgba(245, 209, 24, 0.42) 60%);
  color: var(--ink);
  font-weight: 600;
  padding: 0 0.1em;
  border-radius: 2px;
}
.about-author {
  margin: -0.4rem 0 1.6rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--rose-deep);
  letter-spacing: 0.01em;
}

/* Hülya card — sweet founder note (legacy, unused) */
.hulya-card {
  position: relative;
  margin: 2rem 0 2rem;
  padding: 2rem 2rem 1.8rem 2rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 220, 230, 0.55), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(255, 235, 215, 0.5), transparent 55%),
    linear-gradient(135deg, #E8F3F9 0%, #D8EBF4 100%);
  border-radius: 26px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.4rem;
  align-items: start;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 18px 40px -20px rgba(214, 51, 132, 0.25),
    0 2px 8px rgba(0, 0, 0, 0.03);
}
.hulya-card::before {
  content: '✿';
  position: absolute;
  top: -0.6rem; right: 1.4rem;
  font-size: 1.8rem;
  color: var(--rose);
  opacity: 0.7;
  transform: rotate(15deg);
}
.hulya-card::after {
  content: '✦';
  position: absolute;
  bottom: 1rem; right: 1.3rem;
  font-size: 0.9rem;
  color: var(--gold-deep);
  opacity: 0.55;
}
.hulya-card__avatar {
  position: relative;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 70%, #B5DBED 100%);
  display: grid;
  place-items: center;
  color: var(--white);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.9),
    0 0 0 6px rgba(214, 51, 132, 0.18),
    0 10px 24px -8px rgba(168, 38, 107, 0.4);
  flex-shrink: 0;
}
.hulya-card__heart {
  position: absolute;
  top: -8px; right: -6px;
  width: 22px; height: 22px;
  background: var(--white);
  border-radius: 50%;
  color: var(--rose-deep);
  display: grid;
  place-items: center;
  font-size: 0.78rem;
  box-shadow: 0 4px 10px -3px rgba(214, 51, 132, 0.35);
  animation: heartBeat 2.4s ease-in-out infinite;
}
@keyframes heartBeat {
  0%, 100% { transform: scale(1); }
  20% { transform: scale(1.15); }
  40% { transform: scale(0.95); }
  60% { transform: scale(1.08); }
}
.hulya-card__body { min-width: 0; }
.hulya-card__hi {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--rose-deep);
  letter-spacing: 0.02em;
}
.hulya-card__msg {
  margin: 0 0 1.1rem;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
}
.hulya-card__hl {
  background: linear-gradient(180deg, transparent 60%, #C8E5F2 60%);
  font-weight: 600;
  padding: 0 0.1em;
  border-radius: 2px;
}
.hulya-card__sign {
  margin: 0;
  font-family: "Brush Script MT", "Lucida Handwriting", "Segoe Script", cursive;
  font-size: 2.4rem;
  color: var(--rose-deep);
  line-height: 1;
  transform: rotate(-4deg);
  display: inline-block;
}
.hulya-card__role {
  margin: 0.3rem 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
@media (max-width: 600px) {
  .hulya-card { padding: 1.6rem 1.3rem; gap: 1rem; grid-template-columns: 1fr; text-align: left; }
  .hulya-card__sign { font-size: 2rem; }
}

/* Founder note — single elegant card */
.founder-note {
  position: relative;
  margin: 2rem 0 2rem;
  padding: 2.2rem 2.2rem 1.8rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(214, 51, 132,0.06), transparent 40%),
    linear-gradient(135deg, #F4F9FC 0%, var(--rose-bg) 100%);
  border-radius: 18px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 14px 38px -18px rgba(168, 38, 107,0.22),
    0 2px 6px rgba(0,0,0,0.03);
  overflow: hidden;
}
.founder-note::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--rose-deep) 50%, var(--gold) 100%);
}
.founder-note::after {
  content: '"';
  position: absolute;
  top: 0.6rem; right: 1.4rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 5.5rem;
  line-height: 1;
  color: var(--rose-deep);
  opacity: 0.14;
  font-weight: 700;
  pointer-events: none;
}
.founder-note__sparkle {
  position: absolute;
  top: 1.1rem; left: 1.3rem;
  color: var(--gold-deep);
  font-size: 1rem;
  animation: sparkleSpin 6s ease-in-out infinite;
  transform-origin: center;
}
@keyframes sparkleSpin {
  0%, 100% { transform: rotate(0deg) scale(1); opacity: 0.85; }
  50% { transform: rotate(180deg) scale(1.15); opacity: 1; }
}
.founder-note blockquote {
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
}
.founder-note__lead {
  font-size: 1.08rem;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 1.1rem;
  font-weight: 500;
}
.founder-note__lead strong {
  color: var(--rose-deep);
  font-weight: 700;
  font-style: normal;
}
.founder-note__lead em { font-style: italic; }
.founder-note__line {
  margin: 0;
  padding-left: 1rem;
  border-left: 2px solid var(--rose);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 1.06rem;
  line-height: 1.55;
  color: #4A2230;
}
.founder-note__by {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding-top: 1.2rem;
  border-top: 1px dashed color-mix(in srgb, var(--rose-deep) 30%, transparent);
  position: relative;
}
.founder-note__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  box-shadow: 0 6px 16px -6px rgba(168, 38, 107, 0.4);
}
.founder-note__name {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  flex: 1;
}
.founder-note__name strong {
  font-weight: 800;
  font-size: 0.98rem;
  color: var(--ink);
}
.founder-note__name small {
  font-size: 0.78rem;
  color: var(--rose-deep);
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-top: 0.15rem;
}
.founder-note__sig {
  font-family: "Brush Script MT", "Lucida Handwriting", "Segoe Script", cursive;
  font-size: 2rem;
  color: var(--rose-deep);
  transform: rotate(-6deg);
  margin-right: 0.2rem;
  opacity: 0.85;
  line-height: 1;
}
@media (max-width: 600px) {
  .founder-note { padding: 1.6rem 1.3rem 1.4rem; }
  .founder-note__sig { font-size: 1.6rem; }
}

/* Feature pills */
.about-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin: 0 0 1.8rem;
  list-style: none;
  padding: 0;
}
.about-pill {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  background: var(--tint);
  border: 1px solid color-mix(in srgb, var(--tint-deep) 12%, transparent);
  border-radius: 14px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.about-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--tint-deep) 35%, transparent);
}
.about-pill__ico {
  width: 36px; height: 36px;
  background: var(--white);
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-size: 1.05rem;
  flex-shrink: 0;
  box-shadow: 0 4px 10px -4px color-mix(in srgb, var(--tint-deep) 25%, transparent);
}
.about-pill strong {
  display: block;
  font-weight: 800;
  font-size: 0.9rem;
  color: var(--ink);
  line-height: 1.25;
}
.about-pill small {
  font-size: 0.76rem;
  color: var(--ink-mute);
  line-height: 1.35;
}

/* Founder signature note */
.about-signature {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.3rem;
  background: linear-gradient(135deg, var(--rose-bg) 0%, #EFF7FB 100%);
  border-left: 3px solid var(--rose-deep);
  border-radius: 0 14px 14px 0;
  margin-bottom: 1.8rem;
}
.about-signature__avatar {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  box-shadow: 0 6px 16px -6px rgba(168, 38, 107, 0.4);
}
.about-signature__text em {
  display: block;
  font-style: italic;
  font-weight: 500;
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.45;
  margin-bottom: 0.2rem;
}
.about-signature__text small {
  font-size: 0.78rem;
  color: var(--rose-deep);
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media (max-width: 800px) {
  .about-preview { grid-template-columns: 1fr; }
  .about-preview__visual { padding: 1rem 1.5rem 2.5rem; max-width: 380px; margin: 0 auto; }
  .about-pills { grid-template-columns: 1fr; }
}

/* ---------- Testimonials ---------- */
.testimonials { background: transparent; }
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3rem;
}
.testimonial {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.8rem;
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transition: all 0.3s var(--ease);
  position: relative;
}
.testimonial:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.testimonial__quote-mark {
  position: absolute;
  top: 1.2rem;
  right: 1.4rem;
  font-size: 3rem;
  line-height: 1;
  color: var(--rose-soft);
  font-family: Georgia, serif;
  font-weight: 700;
}
.testimonial__stars { color: var(--gold-deep); letter-spacing: 0.1em; margin-bottom: 0.8rem; font-size: 0.95rem; }
.testimonial__text {
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--ink);
  flex-grow: 1;
  margin-bottom: 1.4rem;
}
.testimonial__author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding-top: 1.2rem;
  border-top: 1px dashed var(--gray-200);
}
.testimonial__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 1rem;
}
.testimonial__name { font-weight: 700; font-size: 0.92rem; color: var(--ink); }
.testimonial__meta { font-size: 0.78rem; color: var(--ink-mute); margin-top: 1px; }
@media (max-width: 900px) { .testimonial-grid { grid-template-columns: 1fr; } }

/* ---------- References / Logos ---------- */
.references {
  background: transparent;
  border-top: 1px solid rgba(0, 21, 64, 0.08);
  border-bottom: 1px solid rgba(0, 21, 64, 0.08);
  padding: 2.5rem 0;
}
.references__head {
  text-align: center;
  margin-bottom: 1.8rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.references__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2rem;
  align-items: center;
}
.references__logo {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--gray-300);
  text-align: center;
  letter-spacing: -0.02em;
  transition: color 0.3s var(--ease);
}
.references__logo:nth-child(2) { font-family: var(--font); font-weight: 800; font-style: normal; }
.references__logo:nth-child(3) { font-family: 'Courier New', monospace; }
.references__logo:nth-child(4) { font-family: var(--font); font-weight: 300; letter-spacing: 0.2em; text-transform: uppercase; font-size: 1rem; font-style: normal; }
.references__logo:nth-child(5) { font-family: Georgia, serif; font-weight: 700; font-style: normal; }
.references__logo:nth-child(6) { font-family: var(--font); font-weight: 800; font-style: normal; letter-spacing: -0.05em; }
.references__logo:hover { color: var(--ink-soft); }
@media (max-width: 900px) { .references__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 500px) { .references__grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Compare ---------- */
.compare {
  background: var(--white);
  border-radius: 22px;
  border: 1px solid var(--line);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 22px 50px -28px rgba(168, 38, 107, 0.18),
    0 2px 6px rgba(0, 0, 0, 0.025);
  overflow: hidden;
  position: relative;
}
.compare::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 50%;
  background:
    radial-gradient(circle at 100% 50%, rgba(214, 51, 132, 0.05), transparent 60%);
  pointer-events: none;
}

.compare__head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 2rem;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #F4FAFC 0%, transparent 100%);
  position: relative;
  z-index: 1;
}
.compare__col-label {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.compare__col-label--them {
  color: var(--ink-mute);
  text-align: right;
}
.compare__col-label--us {
  color: var(--rose-deep);
  text-align: left;
}
.compare__col-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.22rem 0.6rem;
  border-radius: 999px;
  width: fit-content;
}
.compare__col-label--them .compare__col-tag {
  background: var(--line);
  color: var(--ink-mute);
  margin-left: auto;
}
.compare__col-label--us .compare__col-tag {
  background: var(--rose-bg);
  color: var(--rose-deep);
}
.compare__vs {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ink) 0%, #2A2A40 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  font-style: italic;
  box-shadow: 0 8px 18px -6px rgba(0, 21, 64, 0.3);
}

.compare__rows {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
.compare__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--line);
}
.compare__row:last-child { border-bottom: 0; }
.compare__cell {
  padding: 1.1rem 1.6rem;
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-size: 0.93rem;
  line-height: 1.5;
  transition: background-color 0.25s ease;
}
.compare__cell--them {
  color: var(--ink-mute);
  background-color: var(--white);
  text-align: left;
  justify-content: flex-start;
  flex-direction: row;
}
.compare__cell--us {
  color: var(--ink);
  background-color: #E8F3F9;
}
.compare__row:hover .compare__cell--us {
  background-color: var(--rose-bg);
}
.compare__row:hover .compare__cell--them {
  background-color: #FAFAFB;
}
.compare__cell--us strong { font-weight: 700; color: var(--rose-deep); }
.compare__mark {
  flex-shrink: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1;
  margin-top: 0.05rem;
}
.compare__mark--x {
  background: #F1F1F4;
  color: #9B9BAA;
}
.compare__mark--check {
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  color: var(--white);
  box-shadow: 0 4px 10px -3px rgba(214, 51, 132, 0.4);
  font-size: 0.78rem;
}
.compare__topic {
  width: 130px;
  padding: 1.1rem 0.4rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: #FAFAFB;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  place-items: center;
}

.compare__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.4rem 2rem;
  background: linear-gradient(135deg, #EFF6FB 0%, var(--rose-bg) 100%);
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.compare__foot p {
  margin: 0;
  font-size: 0.98rem;
  color: var(--ink);
}
.compare__foot strong {
  color: var(--rose-deep);
  font-weight: 800;
}

@media (max-width: 800px) {
  .compare::before { display: none; }
  .compare__head { padding: 1.3rem 1.2rem; grid-template-columns: 1fr auto 1fr; gap: 0.6rem; }
  .compare__col-label { font-size: 0.88rem; }
  .compare__vs { width: 38px; height: 38px; font-size: 0.7rem; }

  .compare__row {
    grid-template-columns: 1fr;
    padding: 0.6rem 0;
  }
  .compare__topic {
    width: auto;
    border: 0;
    background: transparent;
    padding: 0.6rem 1rem 0.3rem;
    text-align: left;
    color: var(--rose-deep);
    font-size: 0.7rem;
  }
  .compare__cell { padding: 0.5rem 1rem; font-size: 0.9rem; }
  .compare__cell--them { order: 2; }
  .compare__cell--us { order: 3; border-radius: 10px; margin: 0.3rem 0.8rem; }
  .compare__topic { order: 1; }

  .compare__foot { padding: 1.2rem; flex-direction: column; align-items: stretch; text-align: center; }
}

/* ---------- Areas ---------- */
.areas {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: flex-start;
}
.areas__head { position: sticky; top: 6rem; }
.areas__head .eyebrow { display: inline-block; margin-bottom: 1rem; }
.areas__head h2 { margin-bottom: 1.25rem; }
.areas__head p { margin-bottom: 0; line-height: 1.65; }
.areas__lists {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.areas__group { display: flex; flex-direction: column; gap: 0.7rem; }
.areas__group-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rose);
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed var(--rose-soft);
}
.areas__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
}
.areas__list { grid-auto-rows: 1fr; }
/* Çevre Ankara — metro kart variantı (link, expand yok) */
.areas__list li { list-style: none; display: flex; }
.areas__list li a {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0.85rem 1.1rem;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--ink);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  width: 100%;
  transition: all 0.25s var(--ease);
}
.areas__list li a:hover {
  background: var(--rose-soft);
  border-color: var(--rose);
  color: var(--rose-deep);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px -10px rgba(214, 51, 132, 0.25);
}
.areas__arrow {
  color: var(--rose);
  font-weight: 700;
  transition: transform 0.25s var(--ease);
  flex-shrink: 0;
}
.areas__list li a:hover .areas__arrow {
  transform: translateX(4px);
  color: var(--rose-deep);
}
@media (max-width: 900px) {
  .areas { grid-template-columns: 1fr; }
  .areas__head { position: static; }
  .areas__list { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Areas — Accordion (2-col grid, compact) ---------- */
.areas__districts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  align-items: start;
}
.areas__districts > li { list-style: none; }
.areas__districts > li:has(> details[open]) { grid-column: 1 / -1; }

.areas__district {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color 0.2s var(--ease), box-shadow 0.25s var(--ease);
  height: 100%;
}
.areas__district:hover {
  border-color: var(--rose-soft);
  box-shadow: 0 8px 20px -14px rgba(0, 21, 64, 0.18);
}
.areas__district[open] {
  border-color: var(--rose);
  box-shadow: 0 12px 28px -16px rgba(214, 51, 132, 0.22);
}

.areas__district > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.85rem 1.05rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.9rem;
}
.areas__district > summary::-webkit-details-marker { display: none; }
.areas__district > summary::marker { content: ''; }

.areas__district-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.areas__district-name {
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.01em;
  transition: color 0.2s var(--ease);
}
.areas__district[open] .areas__district-name { color: var(--rose-deep); }
.areas__district-tag {
  font-size: 0.72rem;
  color: var(--ink-mute);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.areas__district-meta {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-shrink: 0;
}
.areas__district-count {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.areas__district[open] .areas__district-count { color: var(--rose-deep); }

.areas__district-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-mute);
  transition: transform 0.3s var(--ease), color 0.2s var(--ease);
}
.areas__district:hover .areas__district-chevron { color: var(--rose); }
.areas__district[open] .areas__district-chevron {
  transform: rotate(180deg);
  color: var(--rose);
}

.areas__expand {
  padding: 0.25rem 1.05rem 1.1rem;
  border-top: 1px solid var(--line);
  margin-top: 0.1rem;
  padding-top: 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.areas__mahalleler {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.1rem 1.4rem;
}
.areas__mahalleler > li { list-style: none; }
.areas__mahalleler > li a {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: var(--ink);
  transition: color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.areas__mahalleler > li a:hover {
  color: var(--rose);
  border-color: var(--rose-soft);
}
.areas__mahalle-name {
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1.3;
  color: inherit;
}
.areas__mahalle-desc {
  font-size: 0.72rem;
  color: var(--ink-mute);
  font-weight: 500;
  line-height: 1.3;
}

.areas__visit-all {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  color: var(--rose);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0.2rem 0 0;
  margin-top: 0.3rem;
  border: 0;
  transition: color 0.2s var(--ease);
}
.areas__visit-all strong { font-weight: 700; }
.areas__visit-all span { transition: transform 0.2s var(--ease); display: inline-block; }
.areas__visit-all:hover { color: var(--rose-deep); }
.areas__visit-all:hover span { transform: translateX(3px); }

/* Çevre Ankara — anchor variantı (expand olmayan kart, metro görünümüyle aynı) */
a.areas__district--link {
  display: block;
  text-decoration: none;
  color: inherit;
}
a.areas__district--link .areas__district-summary {
  padding: 0.85rem 1.05rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.9rem;
}
a.areas__district--link:hover .areas__district-name { color: var(--rose-deep); }
a.areas__district--link:hover .areas__district-count { color: var(--rose); }
.areas__district-count {
  /* allow the small "proje bazlı" label to wear an italic accent */
}
a.areas__district--link .areas__district-count {
  font-style: italic;
  letter-spacing: 0.01em;
}
.areas__district-chevron--arrow { transform: none; }
a.areas__district--link:hover .areas__district-chevron--arrow {
  transform: translateX(3px);
  color: var(--rose);
}

@media (max-width: 900px) {
  a.areas__district--link .areas__district-summary { padding: 0.85rem 1rem; gap: 0.7rem; }
}

@media (max-width: 1100px) {
  .areas__mahalleler { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .areas__districts { grid-template-columns: 1fr; }
  .areas__districts > li:has(> details[open]) { grid-column: auto; }
  .areas__district > summary { padding: 0.85rem 1rem; gap: 0.7rem; }
  .areas__district-name { font-size: 0.96rem; }
  .areas__district-tag { font-size: 0.72rem; }
  .areas__district-count { font-size: 0.74rem; }
  .areas__expand { padding: 0.25rem 1rem 1rem; padding-top: 0.9rem; }
  .areas__mahalleler { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .areas__mahalle-desc { display: none; }
}
@media (max-width: 560px) {
  .areas__mahalleler { grid-template-columns: 1fr; }
}

/* ---------- FAQ ---------- */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
.faq {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem 1.6rem;
  transition: all 0.25s var(--ease);
}
.faq:hover { border-color: var(--rose-soft); box-shadow: var(--shadow-sm); }
.faq__q {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0.4rem;
  display: flex;
  align-items: start;
  gap: 0.6rem;
}
.faq__q::before {
  content: '?';
  flex-shrink: 0;
  width: 22px; height: 22px;
  background: var(--rose);
  color: var(--white);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.78rem;
  font-weight: 800;
  margin-top: 0.1rem;
}
.faq__a { font-size: 0.92rem; color: var(--ink-soft); padding-left: 1.9rem; line-height: 1.55; }
@media (max-width: 700px) { .faq-grid { grid-template-columns: 1fr; } }

/* ---------- CTA Band ---------- */
.cta-band {
  background:
    radial-gradient(ellipse at 80% 20%, rgba(245, 209, 24, 0.18), transparent 60%),
    radial-gradient(ellipse at 10% 80%, rgba(255, 255, 255, 0.1), transparent 60%),
    linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 50%, var(--rose-darker) 100%);
  color: var(--white);
  border-radius: var(--radius-lg);
  margin: 0 var(--gutter);
  padding: clamp(3rem, 5vw, 4rem) clamp(2rem, 4vw, 4rem);
  position: relative;
  overflow: hidden;
}
.cta-band__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 2rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
.cta-band h2 { color: var(--white); font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin-bottom: 1rem; }
.cta-band p { color: rgba(255, 255, 255, 0.9); max-width: 50ch; font-size: 1.05rem; }
.cta-band__actions {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.cta-band .btn--ghost {
  background: rgba(255, 255, 255, 0.15);
  color: var(--white);
  box-shadow: none;
  backdrop-filter: blur(8px);
}
.cta-band .btn--ghost:hover { background: rgba(255, 255, 255, 0.25); color: var(--white); }
.cta-band__phone {
  position: absolute;
  top: 1.5rem; right: 2rem;
  background: rgba(255, 255, 255, 0.15);
  padding: 0.5rem 1rem;
  border-radius: var(--radius-pill);
  font-size: 0.85rem;
  font-weight: 600;
  backdrop-filter: blur(8px);
  display: none;
}
@media (min-width: 1024px) { .cta-band__phone { display: inline-flex; align-items: center; gap: 0.4rem; } }
@media (max-width: 800px) {
  .cta-band__grid { grid-template-columns: 1fr; }
  .cta-band__actions { justify-content: flex-start; }
}

/* ---------- Footer ---------- */
.site-footer {
  background: transparent;
  color: var(--ink);
  padding: 0 0 1.5rem;
  position: relative;
  margin-top: 4rem;
}

/* Pre-footer CTA strip — gizlendi servis detay sayfalarında
   (sayfa içinde zaten birden fazla CTA var, tekrar oluyordu) */
body:has(.srvd-hero) .footer-cta { display: none; }

.footer-cta {
  background:
    radial-gradient(circle at 0% 50%, rgba(214, 51, 132, 0.06), transparent 60%),
    radial-gradient(circle at 100% 50%, rgba(245, 209, 24, 0.08), transparent 60%),
    linear-gradient(135deg, #EFF7FB 0%, var(--rose-bg) 100%);
  border-top: 1px solid rgba(168, 38, 107, 0.1);
  border-bottom: 1px solid rgba(168, 38, 107, 0.1);
  padding: 1.6rem 0;
  margin-bottom: 3.5rem;
}
.footer-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.footer-cta__text {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.footer-cta__sparkle {
  font-size: 1.3rem;
  color: var(--gold-deep);
  animation: sparkleSpin 6s ease-in-out infinite;
  flex-shrink: 0;
}
.footer-cta__text strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.footer-cta__text small {
  font-size: 0.85rem;
  color: var(--ink-mute);
}
.footer-cta__actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

/* Main footer columns */
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr;
  gap: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(0, 21, 64, 0.08);
}
.footer-brand .brand__name { color: var(--ink); font-size: 1.4rem; }
.footer-brand .brand__tag { color: var(--rose); }
.footer-brand p {
  color: var(--ink-soft);
  font-size: 0.9rem;
  margin: 1.2rem 0 1.4rem;
  max-width: 32ch;
  line-height: 1.6;
}

.footer-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 0 0 1.3rem;
}
.footer-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-mute);
}
.footer-trust__ico {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--rose-soft);
  color: var(--rose-deep);
  display: grid;
  place-items: center;
  font-size: 0.65rem;
  font-weight: 800;
}

.footer-brand .social { display: flex; gap: 0.55rem; }
.footer-brand .social a {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  color: var(--rose-deep);
  display: grid;
  place-items: center;
  transition: all 0.25s var(--ease);
}
.footer-brand .social a svg { width: 18px; height: 18px; }
.footer-brand .social a:hover {
  background: linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  color: var(--white);
  border-color: transparent;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px -8px rgba(214, 51, 132, 0.4);
}

.footer-col h4 {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--rose-deep);
  margin-bottom: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 0.7rem;
}
.footer-col h4::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 28px; height: 2px;
  background: linear-gradient(90deg, var(--rose-deep), var(--gold));
  border-radius: 2px;
}
.footer-col ul { display: flex; flex-direction: column; gap: 0.6rem; list-style: none; padding: 0; margin: 0; }
.footer-col__cols {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 1rem !important;
}
.footer-col a {
  font-size: 0.88rem;
  color: var(--ink-soft);
  transition: color 0.2s var(--ease), transform 0.2s var(--ease);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
}
.footer-col a::before {
  content: '›';
  color: var(--rose);
  font-weight: 800;
  font-size: 1rem;
  opacity: 0;
  margin-left: -0.7rem;
  transition: opacity 0.2s ease, margin 0.2s ease;
}
.footer-col a:hover {
  color: var(--rose-deep);
  transform: translateX(2px);
}
.footer-col a:hover::before {
  opacity: 1;
  margin-left: 0;
  margin-right: 0.1rem;
}

.footer-col .contact-item {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.5;
}
.footer-col .contact-item .ico {
  width: 34px; height: 34px;
  background: var(--rose-soft);
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--rose-deep);
  font-size: 0.9rem;
}
.footer-col .contact-item a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}
.footer-col .contact-item a:hover { color: var(--rose-deep); transform: none; }
.footer-col .contact-item a::before { display: none; }
.footer-col .contact-item small {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-mute);
  font-weight: 400;
  margin-top: 0.15rem;
}

/* Live status indicator */
.footer-status .status-dot {
  width: 34px; height: 34px;
  background: rgba(34, 197, 94, 0.12);
  border-radius: 10px;
  flex-shrink: 0;
  position: relative;
}
.footer-status .status-dot::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.18);
  animation: dotPulse 1.8s ease-in-out infinite;
}
.footer-status strong { color: var(--ink); font-weight: 700; }
.footer-status small { color: #16a34a !important; font-weight: 600 !important; }

/* Footer bottom */
.footer-bottom {
  padding-top: 1.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.82rem;
  color: var(--ink-mute);
}
.footer-bottom__sparkle {
  color: var(--gold-deep);
  font-size: 0.85rem;
  opacity: 0.7;
}
.footer-credit {
  font-size: 0.82rem;
  color: var(--ink-mute);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 0.2s ease;
}
.footer-credit:hover {
  color: var(--rose-deep);
}
.footer-bottom__links { display: flex; gap: 1.2rem; }
.footer-bottom a { color: var(--ink-mute); text-decoration: none; transition: color 0.2s ease; }
.footer-bottom a:hover { color: var(--rose-deep); }

@media (max-width: 900px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .footer-cta__inner { flex-direction: column; text-align: center; }
  .footer-cta__text { flex-direction: column; }
}
@media (max-width: 500px) {
  .footer-top { grid-template-columns: 1fr; }
  .footer-col__cols { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: 0.6rem; text-align: center; }
  .footer-bottom__sparkle { display: none; }
}

/* ---------- Floating WhatsApp ---------- */
.wa-float {
  position: fixed;
  right: 1.2rem;
  bottom: 1.2rem;
  z-index: 90;
  background: var(--whatsapp);
  color: var(--white);
  width: 58px; height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.4);
  font-size: 1.6rem;
  font-weight: 700;
  transition: transform 0.3s var(--ease);
}
.wa-float::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--whatsapp);
  opacity: 0.5;
  animation: ring 2.4s ease-out infinite;
}
@keyframes ring {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.6); opacity: 0; }
}
.wa-float:hover { transform: scale(1.08); }

/* ---------- Page Header (inner pages) ---------- */
.page-header {
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(214, 51, 132, 0.08), transparent 60%),
    var(--cream);
  padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(2.5rem, 4vw, 4rem);
  position: relative;
}
.page-header__crumbs {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1.2rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink-mute);
}
.page-header__crumbs a { color: var(--rose); font-weight: 600; }
.page-header__crumbs a:hover { text-decoration: underline; }
.page-header__title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  max-width: 20ch;
  margin-bottom: 1rem;
}
.page-header__title .accent { color: var(--rose); }
.page-header__lede { max-width: 56ch; font-size: 1.05rem; }

/* ---------- Detailed Services (Hizmetler page) ---------- */
.service-detail {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.service-detail:last-child { border-bottom: none; }
.service-detail:nth-child(even) { direction: rtl; }
.service-detail:nth-child(even) > * { direction: ltr; }

.service-detail__visual {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.service-detail__visual img { width: 100%; height: 100%; object-fit: cover; }
.service-detail__num {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  background: var(--white);
  color: var(--rose);
  padding: 0.4rem 0.95rem;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: 0.85rem;
  z-index: 2;
  box-shadow: var(--shadow-sm);
}
.service-detail__tag {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  background: var(--gold);
  color: var(--ink);
  padding: 0.4rem 0.95rem;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 2;
  box-shadow: var(--shadow-sm);
}
.service-detail__content { padding: 0.5rem 0; }
.service-detail__kicker { display: inline-block; margin-bottom: 1rem; }
.service-detail__title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  margin-bottom: 1.2rem;
  line-height: 1.1;
}
.service-detail__title .accent { color: var(--rose); }
.service-detail__body p + p { margin-top: 0.9rem; }

.service-detail__includes {
  margin-top: 1.8rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 1.5rem;
}
.service-detail__includes li {
  position: relative;
  font-size: 0.92rem;
  padding-left: 1.7rem;
  color: var(--ink);
  font-weight: 500;
}
.service-detail__includes li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 20px; height: 20px;
  background: var(--rose-soft);
  color: var(--rose-deep);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.7rem;
  font-weight: 800;
}
.service-detail__bottom {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--gray-50);
  padding: 1.2rem 1.5rem;
  border-radius: var(--radius);
  flex-wrap: wrap;
}
.service-detail__price-label { font-size: 0.78rem; font-weight: 600; color: var(--ink-mute); text-transform: uppercase; letter-spacing: 0.08em; }
.service-detail__price-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--rose);
  letter-spacing: -0.02em;
}
.service-detail__price-value small {
  display: block;
  font-family: var(--font);
  font-size: 0.78rem;
  color: var(--ink-mute);
  font-weight: 500;
}
@media (max-width: 900px) {
  .service-detail { grid-template-columns: 1fr; }
  .service-detail:nth-child(even) { direction: ltr; }
  .service-detail__includes { grid-template-columns: 1fr; }
}

/* ---------- About Page ---------- */
.about-intro {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}
.about-intro__visual {
  aspect-ratio: 4 / 5;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.about-intro__visual img { width: 100%; height: 100%; object-fit: cover; }
.about-intro__badge {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: var(--white);
  padding: 0.6rem 1rem;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: 0.85rem;
  color: var(--rose);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 900px) { .about-intro { grid-template-columns: 1fr; } }

.values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
}
.value {
  padding: 2rem 1.6rem;
  border-radius: var(--radius-lg);
  background: var(--white);
  border: 1px solid var(--line);
  transition: all 0.3s var(--ease);
}
.value:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.value__ico {
  width: 56px; height: 56px;
  background: var(--rose-soft);
  color: var(--rose-deep);
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  margin-bottom: 1.4rem;
}
.value:nth-child(2) .value__ico { background: rgba(245, 209, 24, 0.18); color: var(--gold-deep); }
.value:nth-child(3) .value__ico { background: rgba(16, 185, 129, 0.12); color: var(--green); }
.value__title { font-size: 1.3rem; font-weight: 700; margin-bottom: 0.6rem; letter-spacing: -0.02em; }
.value__desc { font-size: 0.95rem; color: var(--ink-soft); }
@media (max-width: 800px) { .values { grid-template-columns: 1fr; } }

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.3rem;
}
.team-member { text-align: center; }
.team-member__photo {
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  transition: transform 0.3s var(--ease);
}
.team-member:hover .team-member__photo { transform: scale(1.02); }
.team-member__photo img { width: 100%; height: 100%; object-fit: cover; }
.team-member__photo::after {
  content: attr(data-initials);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font);
  font-weight: 800;
  font-size: 4rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: -0.04em;
}
.team-member__photo:has(img)::after { display: none; }
.team-member:nth-child(2) .team-member__photo { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); }
.team-member:nth-child(3) .team-member__photo { background: linear-gradient(135deg, var(--green) 0%, #047857 100%); }
.team-member:nth-child(4) .team-member__photo { background: linear-gradient(135deg, var(--ink) 0%, #2A2A40 100%); }
.team-member__name { font-size: 1.1rem; font-weight: 700; }
.team-member__role { font-size: 0.85rem; color: var(--ink-mute); margin-top: 0.2rem; }
@media (max-width: 800px) { .team-grid { grid-template-columns: repeat(2, 1fr); } }

/* Cert cards */
.cert-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.cert {
  background: var(--white);
  padding: 1.6rem 1.4rem;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  transition: all 0.3s var(--ease);
}
.cert:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.cert__ico {
  width: 44px; height: 44px;
  background: var(--rose-soft);
  color: var(--rose-deep);
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 1rem;
  margin-bottom: 1rem;
}
.cert:nth-child(2) .cert__ico { background: rgba(16, 185, 129, 0.12); color: var(--green); }
.cert:nth-child(3) .cert__ico { background: rgba(245, 209, 24, 0.18); color: var(--gold-deep); }
.cert:nth-child(4) .cert__ico { background: rgba(99, 102, 241, 0.12); color: #6366F1; }
.cert__kicker { font-size: 0.72rem; font-weight: 600; color: var(--ink-mute); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.3rem; }
.cert__name { font-size: 1.05rem; font-weight: 700; line-height: 1.2; }
@media (max-width: 700px) { .cert-grid { grid-template-columns: repeat(2, 1fr); } }

.guarantee {
  margin-top: 2.5rem;
  background: linear-gradient(135deg, var(--ink) 0%, #2A2A40 100%);
  color: var(--white);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.guarantee::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.25;
}
.guarantee__seal {
  width: 110px; height: 110px;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: var(--ink);
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 800;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  line-height: 1.1;
}
.guarantee__seal .big { font-size: 1.5rem; }
.guarantee__text { position: relative; z-index: 1; }
.guarantee__title { color: var(--white); font-size: 1.4rem; font-weight: 700; margin-bottom: 0.3rem; }
.guarantee__desc { color: rgba(255, 255, 255, 0.8); font-size: 0.95rem; max-width: 50ch; }
.guarantee__cta { position: relative; z-index: 1; }
@media (max-width: 800px) {
  .guarantee { grid-template-columns: 1fr; text-align: center; padding: 2rem; }
  .guarantee__seal { margin: 0 auto; }
}

/* ---------- Contact Page ---------- */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}
.contact-info { display: flex; flex-direction: column; gap: 1rem; }
.contact-info__block {
  background: var(--white);
  padding: 1.4rem;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: all 0.3s var(--ease);
}
.contact-info__block:hover { border-color: var(--rose-soft); box-shadow: var(--shadow-sm); }
.contact-info__ico {
  width: 44px; height: 44px;
  flex-shrink: 0;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  background: var(--rose-soft);
  color: var(--rose-deep);
}
.contact-info__block:nth-child(2) .contact-info__ico { background: rgba(245, 209, 24, 0.18); color: var(--gold-deep); }
.contact-info__block:nth-child(3) .contact-info__ico { background: rgba(16, 185, 129, 0.12); color: var(--green); }
.contact-info__block:nth-child(4) .contact-info__ico { background: rgba(99, 102, 241, 0.12); color: #6366F1; }
.contact-info__block h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 0.3rem; }
.contact-info__block p, .contact-info__block a {
  font-size: 0.92rem;
  color: var(--ink-soft);
  display: block;
  line-height: 1.5;
}
.contact-info__block a:hover { color: var(--rose); }

.contact-form-wrap {
  background: var(--white);
  padding: clamp(1.8rem, 3vw, 2.5rem);
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.contact-form-wrap h3 { font-size: 1.5rem; margin-bottom: 0.4rem; }
.contact-form-wrap p { color: var(--ink-mute); margin-bottom: 1.5rem; font-size: 0.92rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
.form-field { display: flex; flex-direction: column; margin-bottom: 1rem; }
.form-field label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.4rem;
}
.form-field label .req { color: var(--rose); }
.form-field input, .form-field textarea, .form-field select {
  padding: 0.8rem 1rem;
  font-size: 0.94rem;
  background: var(--gray-50);
  border: 1.5px solid transparent;
  border-radius: var(--radius);
  transition: all 0.2s var(--ease);
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus {
  background: var(--white);
  border-color: var(--rose);
  box-shadow: 0 0 0 3px rgba(214, 51, 132, 0.1);
}
.form-field textarea { resize: vertical; min-height: 110px; font-family: var(--font); }
.form-actions {
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.form-actions small { color: var(--ink-mute); font-size: 0.82rem; }
@media (max-width: 700px) {
  .contact-layout { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}

.map-strip {
  margin-top: 2.5rem;
  height: 300px;
  background:
    radial-gradient(circle at 30% 30%, rgba(245, 209, 24, 0.2), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(255, 255, 255, 0.05), transparent 50%),
    linear-gradient(135deg, var(--rose-deep) 0%, var(--rose) 100%);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}
.map-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
}
.map-strip__pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}
.map-strip__pin .pin-circle {
  width: 24px; height: 24px;
  background: var(--gold);
  border-radius: 50%;
  border: 5px solid var(--white);
  box-shadow: var(--shadow);
  position: relative;
}
.map-strip__pin .pin-circle::after {
  content: '';
  position: absolute;
  inset: -6px;
  border: 2px solid var(--gold);
  border-radius: 50%;
  animation: ring 2s ease-out infinite;
  opacity: 0.6;
}
.map-strip__pin .pin-label {
  background: var(--white);
  padding: 0.55rem 1.1rem;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: 0.92rem;
  box-shadow: var(--shadow);
  color: var(--ink);
}

/* ---------- Reveal animations ---------- */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal--delay-1 { transition-delay: 0.08s; }
.reveal--delay-2 { transition-delay: 0.16s; }
.reveal--delay-3 { transition-delay: 0.24s; }
.reveal--delay-4 { transition-delay: 0.32s; }

/* ============================================
   HAKKIMIZDA — Editorial Professional Page
   ============================================ */

/* ---------- About Hero ---------- */
.about-hero {
  position: relative;
  padding: 4rem 0 3.5rem;
}
.about-hero__crumbs {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 2.5rem;
}
.about-hero__crumbs a { color: var(--rose-deep); transition: color 0.2s ease; }
.about-hero__crumbs a:hover { color: var(--rose-darker); }
.about-hero__crumbs .sep { color: var(--gray-300); }
.about-hero__crumbs .current { color: var(--ink); font-weight: 600; }

.about-hero__grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 4rem;
  align-items: center;
}
.about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 1.4rem;
}
.about-hero__eyebrow .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.18);
  animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.18); }
  50% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.08); }
}
.about-hero__title {
  font-size: clamp(2.1rem, 4.4vw, 3.5rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 1.4rem;
}
.about-hero__title em {
  font-style: italic;
  font-weight: 500;
  color: var(--ink-soft);
}
.about-hero__lede {
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 64ch;
}

/* Decorative circular seal */
.about-hero__seal {
  display: flex;
  justify-content: center;
}
.seal {
  position: relative;
  width: 240px;
  height: 240px;
  filter: drop-shadow(0 12px 30px rgba(194, 24, 91, 0.18));
}
.seal__ring {
  position: absolute;
  inset: 0;
  animation: spin 24s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.seal__text-svg {
  width: 100%;
  height: 100%;
}
.seal__text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  fill: var(--rose-deep);
  text-transform: uppercase;
}
.seal__core {
  position: absolute;
  inset: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.15);
}
.seal__mark {
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
  font-family: Georgia, serif;
}
.seal__est {
  font-size: 0.62rem;
  letter-spacing: 0.3em;
  opacity: 0.85;
  margin-top: 4px;
}
.seal__year {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin-top: 2px;
}

@media (max-width: 900px) {
  .about-hero__grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .about-hero__seal { order: -1; justify-content: flex-start; }
  .seal { width: 180px; height: 180px; }
  .seal__core { inset: 22px; }
  .seal__mark { font-size: 2.4rem; }
}

/* ---------- Founder Letter ---------- */
.founder-letter {
  padding: 5.5rem 0;
  position: relative;
}
.founder-letter::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 600px at 80% 50%, rgba(252, 228, 236, 0.35), transparent 65%);
  pointer-events: none;
}
.founder-letter__grid {
  position: relative;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 4.5rem;
  align-items: flex-start;
}
.portrait-frame {
  position: sticky;
  top: 100px;
  text-align: center;
}
.portrait-frame__inner {
  position: relative;
  background: var(--white);
  padding: 1rem 1rem 1.4rem;
  box-shadow: 0 30px 60px rgba(0, 21, 64, 0.14), 0 2px 6px rgba(0, 21, 64, 0.06);
  border-radius: 4px;
  transform: rotate(-1.5deg);
  transition: transform 0.4s var(--ease);
}
.portrait-frame__inner:hover { transform: rotate(0deg) translateY(-4px); }
.portrait-frame__inner img {
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: 2px;
  filter: contrast(1.02) saturate(0.95);
}
.portrait-frame__stamp {
  position: absolute;
  top: 18px;
  right: -16px;
  background: var(--rose-deep);
  color: var(--white);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(12deg);
  font-family: Georgia, serif;
  box-shadow: 0 8px 18px rgba(194, 24, 91, 0.35);
  border: 2px dashed rgba(255, 255, 255, 0.4);
}
.portrait-frame__stamp span {
  font-size: 0.55rem;
  letter-spacing: 0.2em;
  opacity: 0.9;
}
.portrait-frame__stamp strong {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.portrait-frame__caption {
  margin-top: 1.4rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
}
.portrait-frame__caption small {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--ink-mute);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-top: 0.25rem;
}

.founder-letter__body .eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 1rem;
}
.founder-letter__body .h2 {
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  line-height: 1.25;
  font-weight: 700;
  font-style: italic;
  color: var(--ink);
  margin-bottom: 2rem;
  letter-spacing: -0.015em;
}
.founder-letter__prose {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.founder-letter__prose p {
  font-size: 1.04rem;
  line-height: 1.78;
  color: var(--ink-soft);
}
.founder-letter__prose p.drop::first-letter {
  font-family: Georgia, serif;
  font-size: 3.6rem;
  font-weight: 700;
  float: left;
  line-height: 0.85;
  margin: 0.32rem 0.7rem 0 -0.05rem;
  color: var(--rose-deep);
}
.founder-letter__sign {
  margin-top: 2.4rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--line);
}
.signature {
  display: block;
  font-family: 'Brush Script MT', 'Lucida Handwriting', cursive;
  font-size: 2.1rem;
  font-weight: 400;
  color: var(--rose-deep);
  line-height: 1;
  margin-bottom: 0.3rem;
  transform: rotate(-2deg);
  transform-origin: left center;
  display: inline-block;
}
.founder-letter__sign small {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  font-weight: 600;
  margin-top: 0.5rem;
}

@media (max-width: 900px) {
  .founder-letter { padding: 3.5rem 0; }
  .founder-letter__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .portrait-frame { position: static; max-width: 320px; margin: 0 auto; }
}

/* ---------- Timeline ---------- */
.timeline-section {
  padding: 5rem 0;
}
.timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
  margin-top: 3rem;
  position: relative;
}
.timeline::before {
  content: '';
  position: absolute;
  top: 38px;
  left: 5%;
  right: 5%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--rose-soft) 0 6px, transparent 6px 12px);
  z-index: 0;
}
.timeline__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.timeline__year {
  font-family: Georgia, serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
.timeline__dot {
  position: relative;
  z-index: 1;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--white);
  border: 3px solid var(--rose);
  margin-bottom: 1.2rem;
  box-shadow: 0 0 0 4px var(--rose-bg);
}
.timeline__dot--active {
  background: var(--rose);
  border-color: var(--rose-darker);
  box-shadow: 0 0 0 4px var(--rose-bg), 0 0 0 8px rgba(214, 51, 132, 0.12);
  animation: pulse-dot-rose 2s ease-in-out infinite;
}
@keyframes pulse-dot-rose {
  0%, 100% { box-shadow: 0 0 0 4px var(--rose-bg), 0 0 0 8px rgba(214, 51, 132, 0.12); }
  50% { box-shadow: 0 0 0 4px var(--rose-bg), 0 0 0 14px rgba(214, 51, 132, 0.04); }
}
.timeline__card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem 1.1rem 1.3rem;
  box-shadow: var(--shadow-sm);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.timeline__card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.timeline__card--active {
  background: linear-gradient(180deg, #E8F3F9 0%, var(--white) 100%);
  border-color: var(--rose-soft);
  box-shadow: 0 8px 24px rgba(214, 51, 132, 0.12);
}
.timeline__card h3 {
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0.4rem;
}
.timeline__card p {
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

@media (max-width: 900px) {
  .timeline { grid-template-columns: 1fr; gap: 0; }
  .timeline::before {
    top: 0; bottom: 0; left: 9px; right: auto;
    width: 2px; height: auto;
    background: repeating-linear-gradient(180deg, var(--rose-soft) 0 6px, transparent 6px 12px);
  }
  .timeline__item { flex-direction: row; align-items: flex-start; text-align: left; padding-left: 0; padding-bottom: 1.5rem; gap: 1rem; }
  .timeline__year { width: auto; min-width: 60px; order: 2; font-size: 1.2rem; }
  .timeline__dot { order: 1; margin: 4px 0 0; flex-shrink: 0; }
  .timeline__card { order: 3; flex: 1; }
}

/* ---------- Numbers ---------- */
.numbers {
  padding: 5rem 0;
}
.numbers__head { text-align: center; margin-bottom: 3rem; }
.numbers__head .eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.numbers__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow-sm);
}
.num-cell {
  padding: 2.2rem 1.4rem;
  text-align: center;
  border-right: 1px solid var(--line);
  position: relative;
  background:
    linear-gradient(180deg, #F6FBFD 0%, var(--white) 100%);
}
.num-cell:last-child { border-right: none; }
.num-cell::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  width: 28px;
  height: 3px;
  background: linear-gradient(90deg, var(--rose) 0%, var(--gold) 100%);
  border-radius: 0 0 8px 8px;
  transform: translateX(-50%);
}
.num-cell__big {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 3.4vw, 3rem);
  font-weight: 700;
  color: var(--ink);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 0.6rem;
}
.num-cell__big em {
  font-style: normal;
  font-size: 0.55em;
  color: var(--rose-deep);
  font-weight: 600;
  margin-left: 0.1em;
  vertical-align: 0.2em;
}
.num-cell__label {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}
.num-cell__note {
  font-size: 0.74rem;
  color: var(--ink-mute);
  line-height: 1.4;
}

@media (max-width: 900px) {
  .numbers__grid { grid-template-columns: 1fr 1fr; }
  .num-cell { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .num-cell:nth-child(2n) { border-right: none; }
  .num-cell:nth-last-child(-n+2) { border-bottom: none; }
}

/* ---------- Principles ---------- */
.principles {
  padding: 5rem 0;
}
.principles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  margin-top: 3rem;
}
.pcard {
  position: relative;
  background: var(--tint);
  border: 1px solid var(--tint-deep);
  border-radius: var(--radius-lg);
  padding: 2rem 1.8rem 1.8rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  isolation: isolate;
}
.pcard::before {
  content: '';
  position: absolute;
  top: -45%;
  right: -25%;
  width: 70%;
  height: 100%;
  background: radial-gradient(circle, var(--tint-deep) 0%, transparent 70%);
  opacity: 0.55;
  pointer-events: none;
  z-index: -1;
}
.pcard::after {
  content: '';
  position: absolute;
  bottom: -40%;
  left: -20%;
  width: 60%;
  height: 90%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.6) 0%, transparent 70%);
  pointer-events: none;
  z-index: -1;
}
.pcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px -16px rgba(0, 21, 64, 0.14);
}
.pcard__sparkle {
  position: absolute;
  top: 1.2rem;
  right: 1.4rem;
  font-size: 0.95rem;
  color: var(--accent);
  opacity: 0.35;
  animation: sparkle-spin 7s ease-in-out infinite;
}
.pcard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.4rem;
  padding-right: 1.6rem; /* keep clear of sparkle */
}
.pcard__num {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 3.2rem;
  font-weight: 400;
  color: var(--accent);
  line-height: 0.9;
  letter-spacing: -0.02em;
  opacity: 0.92;
}
.pcard__ico {
  width: 46px;
  height: 46px;
  background: var(--white);
  border: 1px solid var(--tint-deep);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
  transition: transform 0.4s var(--ease);
}
.pcard:hover .pcard__ico { transform: rotate(-6deg) scale(1.05); }
.pcard__ico svg { width: 22px; height: 22px; }
.pcard__title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
  margin-bottom: 0.7rem;
  line-height: 1.2;
}
.pcard__body {
  font-size: 0.96rem;
  line-height: 1.7;
  color: var(--ink-soft);
  margin-bottom: 1.4rem;
  flex: 1;
}
.pcard__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding-top: 1.2rem;
  border-top: 1px dashed var(--tint-deep);
}
.pcard__chips span {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--accent);
  background: var(--white);
  padding: 0.4rem 0.85rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--tint-deep);
}

@media (max-width: 900px) {
  .principles-grid { grid-template-columns: 1fr; }
}

/* ---------- Essays — "Bu işe dair" ---------- */
.essays-section {
  padding: 5rem 0;
}
.essays {
  max-width: 880px;
  margin: 3rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.essay {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 1.6rem;
  padding: 2.4rem 0;
  border-bottom: 1px dashed var(--rose-soft);
  position: relative;
}
.essay:last-child { border-bottom: none; }
.essay__no {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--rose-deep);
  letter-spacing: 0;
  line-height: 1;
  padding-top: 0.3rem;
  opacity: 0.85;
}
.essay__body h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin-bottom: 0.9rem;
}
.essay__body h3 em {
  font-style: italic;
  color: var(--rose-deep);
  font-weight: 600;
}
.essay__body p {
  font-size: 1.02rem;
  line-height: 1.78;
  color: var(--ink);
  max-width: 64ch;
}
.essay .hl {
  background: linear-gradient(180deg, transparent 60%, rgba(245, 209, 24, 0.42) 60%);
  color: var(--ink);
  font-weight: 600;
  padding: 0 0.1em;
  border-radius: 2px;
}

@media (max-width: 700px) {
  .essay { grid-template-columns: 1fr; gap: 0.6rem; padding: 1.8rem 0; }
  .essay__no { font-size: 1.4rem; padding-top: 0; }
}

/* ---------- Guarantee Panel (standalone) ---------- */
.creds {
  padding: 4rem 0 5rem;
}

/* ---------- Guarantee Panel (Pro) ---------- */
.guarantee-pro {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 3rem;
  align-items: center;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 2.6rem 3rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--rose-soft);
  position: relative;
  overflow: hidden;
}
.guarantee-pro::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, var(--rose-soft) 0%, transparent 70%);
  opacity: 0.5;
  pointer-events: none;
}
.guarantee-pro__seal {
  position: relative;
  width: 180px;
  height: 180px;
  flex-shrink: 0;
}
.guarantee-pro__ring {
  position: absolute;
  inset: 0;
  animation: spin 30s linear infinite;
}
.guarantee-pro__ring svg {
  width: 100%;
  height: 100%;
}
.guarantee-pro__ring text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  fill: var(--rose-deep);
  text-transform: uppercase;
}
.guarantee-pro__core {
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.15);
}
.guarantee-pro__core .big {
  font-family: Georgia, serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}
.guarantee-pro__core small {
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-top: 0.5rem;
  line-height: 1.4;
  opacity: 0.95;
}
.guarantee-pro__text {
  position: relative;
}
.guarantee-pro__text .eyebrow {
  display: inline-block;
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.guarantee-pro__text h3 {
  font-size: clamp(1.4rem, 2.4vw, 1.95rem);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0.8rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.guarantee-pro__text p {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink-soft);
  margin-bottom: 1.4rem;
  max-width: 60ch;
}
.guarantee-pro__cta {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .guarantee-pro { grid-template-columns: 1fr; padding: 2rem 1.4rem; gap: 1.6rem; text-align: center; }
  .guarantee-pro__seal { margin: 0 auto; width: 150px; height: 150px; }
  .guarantee-pro__core .big { font-size: 2.4rem; }
  .guarantee-pro__cta { justify-content: center; }
}

/* ---------- Closing Manifesto ---------- */
.manifesto {
  padding: 5rem 0 6rem;
}
.manifesto__card {
  position: relative;
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  background:
    radial-gradient(ellipse 100% 100% at 50% 0%, var(--rose-bg) 0%, var(--cream) 70%);
  border: 1px solid var(--rose-soft);
  border-radius: var(--radius-lg);
  padding: 4rem 3rem 3.4rem;
  box-shadow: 0 30px 60px -20px rgba(194, 24, 91, 0.15);
}
.manifesto__sparkle {
  display: inline-block;
  font-size: 1.6rem;
  color: var(--gold-deep);
  margin-bottom: 1.4rem;
  animation: sparkle-spin 6s ease-in-out infinite;
}
@keyframes sparkle-spin {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.15); }
}
.manifesto__quote {
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  line-height: 1.6;
  color: var(--ink);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 2rem;
}
.manifesto__quote em {
  font-style: italic;
  color: var(--rose-deep);
  font-weight: 600;
}
.manifesto__sign {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.4rem;
  border-top: 1px solid var(--rose-soft);
}
.manifesto__sign .signature {
  font-size: 1.9rem;
  margin-bottom: 0.4rem;
}
.manifesto__sign small {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  font-weight: 600;
}

@media (max-width: 600px) {
  .manifesto__card { padding: 2.6rem 1.6rem 2.2rem; }
}

/* ============================================
   İLETİŞİM — Contact Page
   ============================================ */

/* ---------- Quick Channels ---------- */
.channels {
  padding: 1rem 0 3.5rem;
}
.channels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.ch-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  background: var(--tint);
  border: 1px solid var(--tint-deep);
  border-radius: var(--radius-lg);
  padding: 1.3rem 1.4rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
  overflow: hidden;
  isolation: isolate;
}
.ch-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 70%;
  height: 130%;
  background: radial-gradient(circle, var(--tint-deep) 0%, transparent 70%);
  opacity: 0.55;
  pointer-events: none;
  z-index: -1;
}
.ch-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 32px -14px rgba(0, 21, 64, 0.14);
}
.ch-card__ico {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--tint-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}
.ch-card__ico svg { width: 22px; height: 22px; }
.ch-card__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.ch-card__meta small {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 0.2rem;
}
.ch-card__meta strong {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 0.15rem;
}
.ch-card__meta span {
  font-size: 0.78rem;
  color: var(--ink-mute);
}
.ch-card__arrow {
  font-size: 1.2rem;
  color: var(--accent);
  font-weight: 600;
  opacity: 0.6;
  transition: transform 0.3s var(--ease), opacity 0.3s ease;
}
.ch-card:hover .ch-card__arrow { transform: translateX(4px); opacity: 1; }

@media (max-width: 900px) { .channels-grid { grid-template-columns: 1fr; } }

/* ---------- Contact Main (Form + Aside) ---------- */
.contact-main {
  padding: 1rem 0 4.5rem;
}
.contact-main__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 2.4rem;
  align-items: flex-start;
}

/* Form flash messages (success/error after submit) */
.cform-flash{
  padding:1rem 1.2rem;border-radius:14px;margin-bottom:1.4rem;
  font-size:.95rem;line-height:1.55;border:1px solid;
}
.cform-flash strong{display:block;margin-bottom:.15rem;font-size:1.02rem}
.cform-flash--ok{background:#eafaf2;color:#1a7a4a;border-color:#bce4d0}
.cform-flash--err{background:#fee;color:#a00;border-color:#fbb}
.cform-flash a{color:inherit;text-decoration:underline;font-weight:700}

/* Form Wrap */
.cform-wrap {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(1.8rem, 3vw, 2.6rem);
  box-shadow: 0 16px 40px -20px rgba(0, 21, 64, 0.10);
  position: relative;
  overflow: hidden;
}
.cform-wrap::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--rose) 0%, var(--gold) 100%);
}
.cform-wrap__head { margin-bottom: 2rem; }
.cform-wrap__head .eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.cform-wrap__head .h2 {
  font-size: clamp(1.5rem, 2.4vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-bottom: 0.6rem;
  line-height: 1.25;
}
.cform-wrap__lede {
  font-size: 0.96rem;
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 56ch;
}

.cform__step {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 1.6rem 0 1rem;
  padding-top: 1.2rem;
  border-top: 1px dashed var(--rose-soft);
}
.cform__step:first-of-type { margin-top: 0; padding-top: 0; border-top: none; }
.cform__step-no {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--rose-soft);
  color: var(--rose-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.cform__step h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.cform .form-field label small {
  font-weight: 500;
  color: var(--ink-mute);
  letter-spacing: 0;
  text-transform: none;
}
.cform .form-field input,
.cform .form-field textarea,
.cform .form-field select {
  background: #F6FBFD;
  border: 1.5px solid var(--line);
  padding: 0.85rem 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.cform .form-field input:hover,
.cform .form-field textarea:hover,
.cform .form-field select:hover { border-color: var(--rose-soft); }
.cform .form-field input:focus,
.cform .form-field textarea:focus,
.cform .form-field select:focus {
  background: var(--white);
  border-color: var(--rose);
  box-shadow: 0 0 0 4px rgba(214, 51, 132, 0.10);
}
.cform__submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
}
.cform__privacy {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 0.82rem;
}
.cform__lock {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--rose-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}
.cform__privacy strong {
  display: block;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.84rem;
}
.cform__privacy small {
  display: block;
  color: var(--ink-mute);
  font-size: 0.74rem;
  margin-top: 0.1rem;
}

/* Aside */
.contact-aside { position: sticky; top: 100px; }
.contact-aside__card {
  background: linear-gradient(180deg, #E8F3F9 0%, var(--white) 100%);
  border: 1px solid var(--rose-soft);
  border-radius: var(--radius-lg);
  padding: 1.8rem;
  box-shadow: 0 16px 40px -22px rgba(194, 24, 91, 0.18);
  position: relative;
  overflow: hidden;
}
.contact-aside__card::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, var(--rose-soft) 0%, transparent 70%);
  opacity: 0.6;
  pointer-events: none;
}
.contact-aside__live {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  background: var(--white);
  border: 1px solid var(--rose-soft);
  border-radius: var(--radius);
  margin-bottom: 1.4rem;
  position: relative;
}
.contact-aside__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
  animation: pulse-dot 2s ease-in-out infinite;
  flex-shrink: 0;
}
.contact-aside__live strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink);
}
.contact-aside__live small {
  display: block;
  font-size: 0.76rem;
  color: var(--ink-mute);
  margin-top: 0.1rem;
}

.contact-aside__items {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  position: relative;
}
.contact-aside__items li {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}
.cs-ico {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 10px;
  background: var(--rose-soft);
  color: var(--rose-deep);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cs-ico svg { width: 16px; height: 16px; }
.contact-aside__items li small {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  font-weight: 600;
  margin-bottom: 0.15rem;
}
.contact-aside__items li a {
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink);
  transition: color 0.2s ease;
}
.contact-aside__items li a:hover { color: var(--rose-deep); }
.contact-aside__items li p {
  font-size: 0.88rem;
  color: var(--ink-soft);
  line-height: 1.5;
}

.contact-aside__promise {
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px dashed var(--rose-soft);
  text-align: center;
  position: relative;
}
.contact-aside__sparkle {
  display: inline-block;
  color: var(--gold-deep);
  font-size: 1.1rem;
  margin-bottom: 0.6rem;
  animation: sparkle-spin 7s ease-in-out infinite;
}
.contact-aside__promise p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ink);
  font-style: italic;
  margin-bottom: 0.8rem;
}
.contact-aside__promise .signature {
  font-size: 1.4rem;
  display: inline-block;
}
.contact-aside__promise small {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  font-weight: 600;
  margin-top: 0.3rem;
}

@media (max-width: 900px) {
  .contact-main__grid { grid-template-columns: 1fr; }
  .contact-aside { position: static; }
}

/* ---------- Map Section ---------- */
.map-section { padding: 0 0 4rem; }
.map-section .map-strip { margin-top: 0; height: 280px; }
.map-strip__overlay {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  padding: 1rem 1.2rem;
  border-radius: var(--radius);
  box-shadow: 0 12px 32px -8px rgba(0, 21, 64, 0.18);
  max-width: 280px;
}
.map-strip__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--rose-deep);
  margin-bottom: 0.4rem;
}
.map-strip__eyebrow .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.18);
  animation: pulse-dot 2s ease-in-out infinite;
}
.map-strip__overlay strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.015em;
  margin-bottom: 0.2rem;
}
.map-strip__overlay small {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-mute);
  line-height: 1.5;
}

/* ---------- FAQ Section ---------- */
.faq-section {
  padding: 4rem 0 5rem;
}

/* ============================================
   HİZMETLER — Services Page
   ============================================ */

/* ---------- Service Nav Strip ---------- */
.srv-nav {
  padding: 0.6rem 0 3rem;
}
.srv-nav__inner {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.6rem 0.2rem;
  scrollbar-width: thin;
}
.srv-nav__inner::-webkit-scrollbar { height: 4px; }
.srv-nav__inner::-webkit-scrollbar-thumb { background: var(--rose-soft); border-radius: 4px; }
.srv-nav__chip {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ink);
  transition: all 0.25s var(--ease);
  white-space: nowrap;
}
.srv-nav__chip:hover {
  border-color: var(--rose);
  background: #E8F3F9;
  color: var(--rose-deep);
  transform: translateY(-2px);
  box-shadow: 0 8px 16px -8px rgba(214, 51, 132, 0.3);
}
.srv-nav__num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--rose-soft);
  color: var(--rose-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* ---------- Service Detail Rows ---------- */
.services-list { padding: 0 0 5rem; }
.srv-row {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2.4rem, 5vw, 4.5rem);
  padding: clamp(3rem, 5vw, 4.5rem) 0;
  align-items: center;
  border-bottom: 1px dashed var(--rose-soft);
}
.srv-row:last-of-type { border-bottom: none; }
.srv-row:nth-of-type(even) { direction: rtl; }
.srv-row:nth-of-type(even) > * { direction: ltr; }

/* Visual side */
.srv-row__visual {
  position: relative;
  padding: 2rem 0 2.4rem;
}
.srv-row__frame {
  position: relative;
  background: var(--white);
  padding: 0.85rem 0.85rem 1.2rem;
  border-radius: 4px;
  box-shadow: 0 28px 50px -20px rgba(0, 21, 64, 0.18), 0 2px 6px rgba(0, 21, 64, 0.05);
  transform: rotate(-1.5deg);
  transition: transform 0.5s var(--ease);
}
.srv-row:nth-of-type(even) .srv-row__frame { transform: rotate(1.5deg); }
.srv-row__frame:hover { transform: rotate(0deg) translateY(-4px); }
.srv-row__frame img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
  filter: saturate(0.96) contrast(1.02);
}
.srv-row__stamp {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(8deg);
  font-family: Georgia, serif;
  box-shadow: 0 8px 18px rgba(194, 24, 91, 0.35);
  border: 2px dashed rgba(255, 255, 255, 0.4);
  z-index: 2;
}
.srv-row__stamp small {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
.srv-row__stamp span {
  font-size: 0.55rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-top: 2px;
}
.srv-row__tag {
  position: absolute;
  bottom: 0;
  left: 1rem;
  background: var(--white);
  color: var(--gold-deep);
  border: 1px solid var(--gold);
  padding: 0.4rem 1rem;
  border-radius: var(--radius-pill);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 6px 14px rgba(209, 172, 12, 0.18);
}

/* Content side */
.srv-row__content { min-width: 0; }
.srv-row__kicker {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.srv-row__title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 1.2rem;
}
.srv-row__title .accent { color: var(--rose); font-style: italic; font-weight: 700; }
.srv-row__body {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-bottom: 1.6rem;
}
.srv-row__body p {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.srv-row__includes-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.9rem;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--ink);
}
.srv-row__sparkle {
  color: var(--gold-deep);
  font-size: 0.9rem;
  animation: sparkle-spin 8s ease-in-out infinite;
}
.srv-row__includes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 1rem;
  margin-bottom: 1.8rem;
}
.srv-row__includes li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.88rem;
  color: var(--ink);
  line-height: 1.4;
}
.srv-row__includes svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--rose-deep);
  padding: 3px;
  background: var(--rose-soft);
  border-radius: 50%;
  box-sizing: content-box;
  width: 14px;
  height: 14px;
}

/* Bottom: price + CTAs */
.srv-row__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
}
.srv-row__quote small {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--ink-mute);
  margin-bottom: 0.25rem;
}
.srv-row__quote strong {
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--rose-deep);
  letter-spacing: -0.01em;
  display: block;
  line-height: 1.2;
}
.srv-row__quote span {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: var(--ink-mute);
}
.srv-row__cta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .srv-row { grid-template-columns: 1fr; gap: 2rem; }
  .srv-row:nth-of-type(even) { direction: ltr; }
  .srv-row__includes { grid-template-columns: 1fr; }
}

/* ---------- Closing Card ---------- */
.srv-close {
  padding: 1rem 0 5rem;
}
.srv-close__card {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 2.4rem;
  align-items: center;
  background:
    radial-gradient(ellipse 80% 100% at 0% 50%, var(--rose-bg) 0%, var(--white) 70%);
  border: 1px solid var(--rose-soft);
  border-radius: var(--radius-lg);
  padding: 2.6rem 3rem;
  box-shadow: 0 24px 50px -24px rgba(194, 24, 91, 0.18);
  overflow: hidden;
}
.srv-close__card::before {
  content: '';
  position: absolute;
  top: -60%;
  right: -10%;
  width: 50%;
  height: 200%;
  background: radial-gradient(circle, rgba(245, 209, 24, 0.12) 0%, transparent 70%);
  pointer-events: none;
}
.srv-close__sparkle {
  position: absolute;
  top: 1.4rem;
  right: 1.4rem;
  color: var(--gold-deep);
  font-size: 1.2rem;
  opacity: 0.6;
  animation: sparkle-spin 7s ease-in-out infinite;
}
.srv-close__copy .eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  font-weight: 700;
  margin-bottom: 0.6rem;
}
.srv-close__copy .h2 {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-bottom: 0.8rem;
}
.srv-close__copy p {
  font-size: 1rem;
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 50ch;
}
.srv-close__cta {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: stretch;
}
.srv-close__cta .btn { justify-content: center; }

@media (max-width: 900px) {
  .srv-close__card { grid-template-columns: 1fr; padding: 2rem 1.6rem; }
  .srv-close__cta { flex-direction: row; flex-wrap: wrap; }
  .srv-close__cta .btn { flex: 1; min-width: 140px; }
}

/* =========================================================
   LEGAL PAGES — KVKK / Gizlilik / Çerez Politikası
   ========================================================= */
.legal-page {
  padding: 2rem 0 6rem;
}
.legal-page__wrap {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 4rem;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

/* Table of contents (sticky aside) */
.legal-page__toc {
  position: sticky;
  top: 110px;
  padding: 1.6rem 1.4rem;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(8px);
  border: 1px solid var(--rose-soft);
  border-radius: 18px;
  box-shadow: 0 12px 32px -24px rgba(190, 24, 93, 0.25);
}
.legal-page__toc-title {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rose-deep);
  margin-bottom: 0.9rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px dashed var(--rose-soft);
}
.legal-page__toc ol {
  list-style: none;
  counter-reset: legal-toc;
  margin: 0;
  padding: 0;
}
.legal-page__toc ol li {
  counter-increment: legal-toc;
  margin: 0;
  padding: 0;
}
.legal-page__toc ol li a {
  display: flex;
  gap: 0.55rem;
  align-items: baseline;
  padding: 0.45rem 0;
  font-size: 0.85rem;
  color: var(--ink-soft);
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: color 0.18s, border-color 0.18s, transform 0.18s;
}
.legal-page__toc ol li a::before {
  content: counter(legal-toc, upper-roman) ".";
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 0.78rem;
  color: var(--rose-deep);
  font-weight: 700;
  flex-shrink: 0;
  min-width: 22px;
}
.legal-page__toc ol li a:hover {
  color: var(--rose-deep);
  transform: translateX(2px);
  border-bottom-color: var(--rose-soft);
}

/* Body */
.legal-page__body {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(6px);
  border: 1px solid var(--rose-soft);
  border-radius: 22px;
  padding: 3rem 3.2rem;
  box-shadow: 0 18px 48px -32px rgba(190, 24, 93, 0.22);
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.78;
}
.legal-page__lede {
  font-size: 1.06rem;
  line-height: 1.75;
  color: var(--ink);
  padding: 1.2rem 1.4rem;
  background: linear-gradient(135deg, var(--rose-bg), transparent);
  border-left: 3px solid var(--rose-deep);
  border-radius: 0 12px 12px 0;
  margin-bottom: 2.5rem;
}
.legal-page__body h2 {
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: 1.45rem;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 2.6rem 0 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px dashed var(--rose-soft);
  scroll-margin-top: 100px;
}
.legal-page__body h2:first-of-type {
  margin-top: 0.5rem;
}
.legal-page__body p {
  margin: 0 0 1.1rem;
}
.legal-page__body ul {
  margin: 0 0 1.4rem;
  padding-left: 0;
  list-style: none;
}
.legal-page__body ul li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.6rem;
}
.legal-page__body ul li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: var(--rose-deep);
  font-size: 0.78rem;
}
.legal-page__body strong {
  color: var(--ink);
  font-weight: 700;
}
.legal-page__body em {
  font-family: Georgia, serif;
  font-style: italic;
  color: var(--rose-deep);
}
.legal-page__body a {
  color: var(--rose-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.18s;
}
.legal-page__body a:hover {
  color: var(--ink);
}
.legal-page__sign {
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px dashed var(--rose-soft);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: var(--ink-mute);
  font-style: italic;
}

/* Cookie table */
.legal-table-wrap {
  overflow-x: auto;
  margin: 0 0 1.6rem;
  border-radius: 14px;
  border: 1px solid var(--rose-soft);
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
}
.legal-table thead {
  background: var(--rose-bg);
}
.legal-table th {
  text-align: left;
  padding: 0.85rem 1rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rose-deep);
  border-bottom: 1px solid var(--rose-soft);
}
.legal-table td {
  padding: 0.85rem 1rem;
  border-bottom: 1px dashed var(--rose-soft);
  color: var(--ink-soft);
  vertical-align: top;
}
.legal-table tr:last-child td {
  border-bottom: none;
}
.legal-table td:first-child {
  font-family: Georgia, serif;
  font-style: italic;
  color: var(--ink);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 980px) {
  .legal-page__wrap {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .legal-page__toc {
    position: static;
    top: auto;
  }
  .legal-page__body {
    padding: 2rem 1.5rem;
  }
  .legal-page__lede {
    padding: 1rem 1.1rem;
  }
}

/* ============================================
   SERVICE DETAIL PAGES (.srvd-*)
   Restrained, professional, generous whitespace
   ============================================ */

/* ---------- Hero ---------- */
.srvd-hero {
  padding: 2.5rem 0 5rem;
  background: transparent;
  border-bottom: 1px solid var(--rose-soft);
  position: relative;
  overflow: hidden;
}
.srvd-hero__deco {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  z-index: 0;
}
.srvd-hero__deco--rose {
  top: -8%; right: -6%;
  width: 360px; height: 360px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.16;
  filter: blur(50px);
}
.srvd-hero__deco--gold {
  bottom: -14%; left: -8%;
  width: 300px; height: 300px;
  background: radial-gradient(circle, var(--gold, #F4B942) 0%, transparent 70%);
  opacity: 0.13;
  filter: blur(50px);
}
.srvd-hero .container { position: relative; z-index: 1; }
.srvd-hero__crumbs {
  font-size: 0.82rem;
  color: var(--ink-mute);
  margin-bottom: 2.5rem;
  letter-spacing: 0.01em;
}
.srvd-hero__crumbs a {
  color: var(--ink-mute);
  text-decoration: none;
  transition: color 0.2s ease;
}
.srvd-hero__crumbs a:hover { color: var(--rose-deep); }
.srvd-hero__crumbs .sep { margin: 0 0.55rem; opacity: 0.5; }
.srvd-hero__crumbs .current { color: var(--ink); font-weight: 600; }

.srvd-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.5rem;
  align-items: center;
}
.srvd-hero__eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--rose-deep);
  margin-bottom: 1.25rem;
}
.srvd-hero__title {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 1.5rem;
}
.srvd-hero__lede {
  font-size: 1.08rem;
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0 0 2rem;
  max-width: 36rem;
}
.srvd-hero__cta {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.srvd-hero__image {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
@media (max-width: 900px) {
  .srvd-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .srvd-hero { padding-bottom: 3.5rem; }
}

/* ---------- Section frame ---------- */
.srvd-section {
  padding: 5.5rem 0;
}
.srvd-section--alt {
  background: transparent;
  position: relative;
  overflow: hidden;
}
.srvd-section--alt::before {
  content: "";
  position: absolute;
  top: -20%; right: -10%;
  width: 420px; height: 420px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.10;
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.srvd-section--alt::after {
  content: "";
  position: absolute;
  bottom: -15%; left: -8%;
  width: 360px; height: 360px;
  background: radial-gradient(circle, var(--gold, #F4B942) 0%, transparent 70%);
  opacity: 0.08;
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.srvd-section--alt .container { position: relative; z-index: 1; }
.srvd-end {
  background: transparent;
  position: relative;
}
.srvd-end .container { position: relative; z-index: 1; }
.srvd-section__head {
  max-width: 44rem;
  margin: 0 0 3rem;
}
.srvd-section__label {
  display: block;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--rose-deep);
  margin-bottom: 1rem;
}
.srvd-section__title {
  font-size: clamp(1.6rem, 2.8vw, 2.3rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
  line-height: 1.2;
}

/* ---------- Overview (single-column, narrow) ---------- */
.srvd-overview__body {
  max-width: 44rem;
}
.srvd-overview__body p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--ink-soft);
  margin-bottom: 1.25rem;
}
.srvd-overview__body p:last-child { margin-bottom: 0; }

/* ---------- Scope grid (no card decoration) ---------- */
.srvd-scope__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 3rem;
  max-width: 56rem;
}
.srvd-scope__item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid #ECECEF;
  font-size: 0.98rem;
  color: var(--ink);
  line-height: 1.45;
}
.srvd-scope__item svg {
  width: 18px;
  height: 18px;
  color: var(--rose);
  flex-shrink: 0;
  margin-top: 0.18rem;
}
@media (max-width: 720px) { .srvd-scope__grid { grid-template-columns: 1fr; gap: 0; } }

/* ---------- Process (clean numbered steps) ---------- */
.srvd-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
}
.srvd-step__num {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--rose-deep);
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--ink);
  width: fit-content;
}
.srvd-step__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 0.6rem;
  letter-spacing: -0.01em;
}
.srvd-step__desc {
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0;
}
@media (max-width: 900px) { .srvd-steps { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
@media (max-width: 520px) { .srvd-steps { grid-template-columns: 1fr; } }

/* ---------- FAQ (clean accordion) ---------- */
.srvd-faq .srvd-section__head { margin-left: auto; margin-right: auto; text-align: center; }
.srvd-faq__list { max-width: 48rem; margin-left: auto; margin-right: auto; }
.srvd-faq__item {
  border-bottom: 1px solid #E4E4E8;
  padding: 1.35rem 0;
}
.srvd-faq__item:first-child { border-top: 1px solid #E4E4E8; }
.srvd-faq__item summary {
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1.02rem;
  line-height: 1.4;
}
.srvd-faq__item summary::-webkit-details-marker { display: none; }
.srvd-faq__item summary::after {
  content: "";
  width: 11px;
  height: 11px;
  border-right: 2px solid var(--ink-mute);
  border-bottom: 2px solid var(--ink-mute);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
  flex-shrink: 0;
  margin-right: 4px;
}
.srvd-faq__item[open] summary::after { transform: rotate(-135deg); margin-top: 6px; }
.srvd-faq__item[open] summary { color: var(--rose-deep); }
.srvd-faq__item p {
  margin: 0.85rem 0 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 42rem;
}

/* ---------- Compact end-CTA ---------- */
.srvd-end {
  padding: 5rem 0 5rem;
  text-align: center;
  border-top: 1px solid var(--rose-soft);
}
.srvd-end__title {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 0.85rem;
  letter-spacing: -0.02em;
}
.srvd-end__lede {
  font-size: 1rem;
  color: var(--ink-soft);
  margin: 0 auto 2rem;
  max-width: 34rem;
}
.srvd-end__actions {
  display: inline-flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
}

/* ============================================
   EDITORIAL UPGRADES (story + rooms)
   ============================================ */

/* ---------- Hero upgrade ---------- */
.srvd-hero { padding: 3rem 0 6rem; }
.srvd-hero__grid { gap: 5rem; }
.srvd-hero__title {
  font-size: clamp(2.4rem, 5vw, 4rem);
  letter-spacing: -0.03em;
  line-height: 1.08;
}
.srvd-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--rose-deep);
  font-family: Georgia, "Times New Roman", serif;
}
.srvd-hero__visual { position: relative; }
.srvd-hero__visual::after {
  content: "";
  position: absolute;
  top: 1.25rem; left: 1.25rem;
  right: -1.25rem; bottom: -1.25rem;
  border: 1px solid var(--rose);
  border-radius: 4px;
  z-index: -1;
  opacity: 0.45;
}
.srvd-hero__image {
  aspect-ratio: 4 / 5;
  border-radius: 4px;
  box-shadow: 0 30px 60px -20px rgba(0, 21, 64, 0.18);
}
.srvd-hero__meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 2.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rose-soft);
  font-size: 0.85rem;
  color: var(--ink-mute);
}
.srvd-hero__meta strong { color: var(--ink); font-weight: 700; }
.srvd-hero__meta .sep { opacity: 0.4; }

/* ---------- Story (editorial chapters) ---------- */
.srvd-story {
  padding: 6rem 0;
  background: transparent;
  position: relative;
  overflow: hidden;
}
.srvd-story::before {
  content: "";
  position: absolute;
  top: 8%; right: -8%;
  width: 420px; height: 420px;
  background: radial-gradient(circle, var(--rose) 0%, transparent 70%);
  opacity: 0.10;
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.srvd-story::after {
  content: "";
  position: absolute;
  bottom: 5%; left: -10%;
  width: 340px; height: 340px;
  background: radial-gradient(circle, var(--gold, #F4B942) 0%, transparent 70%);
  opacity: 0.09;
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.srvd-story__intro {
  text-align: center;
  max-width: 38rem;
  margin: 0 auto 5rem;
  position: relative;
  z-index: 1;
}
.srvd-story__kicker {
  display: inline-block;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--rose-deep);
  margin-bottom: 1.1rem;
}
.srvd-story__heading {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 0;
}

.srvd-chapters {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  position: relative;
  z-index: 1;
}
.srvd-chapter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.srvd-chapter--flip .srvd-chapter__visual { order: 2; }
.srvd-chapter__numeral {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 4rem;
  line-height: 1;
  color: var(--rose);
  opacity: 0.55;
  display: block;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
}
.srvd-chapter__title {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--ink);
  line-height: 1.2;
  margin: 0 0 1.5rem;
}
.srvd-chapter__title em {
  font-family: Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: var(--rose-deep);
}
.srvd-chapter__text {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--ink-soft);
  margin: 0;
}
.srvd-chapter__text + .srvd-chapter__text { margin-top: 1.1rem; }

/* Drop cap on first chapter */
.srvd-chapter:first-child .srvd-chapter__text:first-of-type::first-letter {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-style: italic;
  color: var(--rose-deep);
  font-size: 3.6rem;
  line-height: 0.85;
  float: left;
  margin: 0.35rem 0.55rem 0 0;
}

.srvd-chapter__visual {
  position: relative;
}
.srvd-chapter__image {
  width: 100%;
  aspect-ratio: 5 / 6;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  box-shadow: 0 24px 50px -18px rgba(0, 21, 64, 0.22);
}
.srvd-chapter__caption {
  display: block;
  font-size: 0.78rem;
  font-style: italic;
  color: var(--ink-mute);
  text-align: center;
  margin-top: 1rem;
  letter-spacing: 0.02em;
  font-family: Georgia, serif;
}

@media (max-width: 900px) {
  .srvd-chapter { grid-template-columns: 1fr; gap: 2rem; }
  .srvd-chapter--flip .srvd-chapter__visual { order: 0; }
  .srvd-chapters { gap: 4rem; }
}

/* ---------- Rooms (grouped scope) ---------- */
.srvd-rooms {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem 3.5rem;
  margin-top: 1rem;
}
.srvd-room__title {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--ink);
}
.srvd-room__num {
  font-family: Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 0.95rem;
  color: var(--rose-deep);
}
.srvd-room__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}
.srvd-room__list li {
  font-size: 0.96rem;
  line-height: 1.5;
  color: var(--ink-soft);
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}
.srvd-room__list li::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--rose);
  border-radius: 50%;
  margin-top: 0.55rem;
  flex-shrink: 0;
}
@media (max-width: 720px) { .srvd-rooms { grid-template-columns: 1fr; gap: 2rem; } }

/* ---------- Process upgrade (subtle connector line) ---------- */
.srvd-steps {
  position: relative;
}
.srvd-steps::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--rose-soft) 15%, var(--rose-soft) 85%, transparent 100%);
  z-index: 0;
}
.srvd-step { position: relative; z-index: 1; padding-right: 0.5rem; }
@media (max-width: 900px) { .srvd-steps::before { display: none; } }

/* ============================================================
   DISTRICTS LISTING PAGE  (/ilceler.php)
   ============================================================ */
.districts-list {
  background: transparent;
  padding: 3.5rem 0 5rem;
  position: relative;
  overflow: hidden;
}
.districts-list::before {
  content: "";
  position: absolute;
  top: 8%; right: -10%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(214, 51, 132, 0.09), transparent 70%);
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.districts-list::after {
  content: "";
  position: absolute;
  bottom: 5%; left: -8%;
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(245, 209, 24, 0.08), transparent 70%);
  filter: blur(60px);
  border-radius: 50%;
  pointer-events: none;
}
.districts-list .container { position: relative; z-index: 1; }

.districts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media (max-width: 900px) { .districts-grid { grid-template-columns: 1fr; gap: 1.5rem; } }

.district-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--rose-soft);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 10px 30px -18px rgba(0, 21, 64, 0.16);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.district-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px -20px rgba(168, 38, 107, 0.22);
  border-color: rgba(214, 51, 132, 0.28);
}

.district-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.district-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.district-card:hover .district-card__media img { transform: scale(1.04); }

.district-card__num {
  position: absolute;
  top: 1rem; left: 1rem;
  background: rgba(255, 255, 255, 0.92);
  color: var(--rose-deep);
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.35rem 0.7rem;
  border-radius: 2px;
}

.district-card__body {
  padding: 1.6rem 1.6rem 1.4rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.district-card__kicker {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rose);
  margin-bottom: 0.4rem;
}

.district-card__title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 0.75rem;
  color: var(--ink);
}
.district-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.district-card__title a:hover { color: var(--rose-deep); }

.district-card__lede {
  font-size: 0.96rem;
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0 0 1.1rem;
}

.district-card__neighs {
  margin: 0 0 1.3rem;
  padding: 0.85rem 1rem;
  background: var(--rose-bg);
  border-radius: 4px;
}
.district-card__neighs-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-mute);
  margin-bottom: 0.5rem;
}
.district-card__neighs ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
}
.district-card__neighs li {
  font-size: 0.82rem;
  color: var(--ink);
  background: #fff;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  border: 1px solid var(--rose-soft);
}

.district-card__foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--rose-soft);
}
.district-card__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.district-card__meta strong {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--rose-deep);
}
.district-card__meta small {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-mute);
  margin-top: 0.15rem;
}

/* ---------- Tier headings ---------- */
.districts-tier-head {
  margin: 0 0 2rem;
  max-width: 44rem;
}
.districts-tier-head--alt {
  margin: 4.5rem 0 1.6rem;
  padding-top: 3rem;
  border-top: 1px dashed var(--rose-soft);
}
.districts-tier-head__label {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--rose);
  margin-bottom: 0.6rem;
}
.districts-tier-head__title {
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 0.6rem;
}
.districts-tier-head__lede {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0;
}

/* ---------- Outer Ankara strip ---------- */
.districts-outer {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.7rem;
  grid-auto-rows: 1fr;
}
.districts-outer li { display: flex; }
.districts-outer li a {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  background: #fff;
  border: 1px solid var(--rose-soft);
  border-radius: 4px;
  padding: 0.95rem 1.05rem 0.9rem;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.districts-outer li a:hover {
  border-color: var(--rose);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -14px rgba(168, 38, 107, 0.22);
}
.districts-outer__name {
  font-weight: 700;
  font-size: 0.96rem;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.districts-outer__note {
  font-size: 0.78rem;
  color: var(--ink-mute);
  line-height: 1.45;
}
.districts-outer__arrow {
  position: absolute;
  top: 0.95rem;
  right: 0.95rem;
  color: var(--rose);
  font-weight: 700;
  transition: transform 0.2s ease;
}
.districts-outer li a:hover .districts-outer__arrow { transform: translateX(3px); color: var(--rose-deep); }
@media (max-width: 900px) {
  .districts-outer { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .districts-outer { grid-template-columns: 1fr; }
}

/* ============================================================
   SPECIALS — Özel mekân ve durum temizliği (homepage section)
   ============================================================ */
.specials {
  position: relative;
  padding: 6rem 0 5.5rem;
  background: transparent;
  overflow: hidden;
}
.specials__deco {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}
.specials__deco--rose {
  top: -140px; right: -100px;
  width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(214, 51, 132, 0.12), transparent 70%);
}
.specials__deco--gold {
  bottom: -120px; left: -80px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(245, 209, 24, 0.12), transparent 70%);
}
.specials .container { position: relative; z-index: 1; }

.specials__group {
  margin-top: 3rem;
}
.specials__group + .specials__group { margin-top: 3.5rem; }

.specials__group-head {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.8rem;
}
.specials__group-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  padding: 0.55rem 1rem;
  border-radius: 100px;
  box-shadow: 0 4px 12px -8px rgba(0, 21, 64, 0.15);
}
.specials__group-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 0 4px rgba(214, 51, 132, 0.18);
  animation: pulse-dot 2s ease-in-out infinite;
}
.specials__group-dot--gold {
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(245, 209, 24, 0.22);
}
.specials__group-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--line), transparent);
}

.specials__grid {
  display: grid;
  gap: 1.25rem;
}
.specials__grid--4 { grid-template-columns: repeat(4, 1fr); }
.specials__grid--3 { grid-template-columns: repeat(3, 1fr); }

.special-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.75rem 1.5rem 1.55rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  text-decoration: none;
  color: var(--ink);
  transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
  overflow: hidden;
}
.special-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(214, 51, 132, 0) 60%, rgba(214, 51, 132, 0.04) 100%);
  opacity: 0;
  transition: opacity 0.25s var(--ease);
  pointer-events: none;
}
.special-card:hover {
  transform: translateY(-4px);
  border-color: rgba(214, 51, 132, 0.35);
  box-shadow: 0 18px 40px -22px rgba(214, 51, 132, 0.35);
}
.special-card:hover::before { opacity: 1; }

.special-card__tag {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rose-deep);
  background: var(--rose-soft);
  padding: 0.3rem 0.65rem;
  border-radius: 100px;
  z-index: 2;
}
.special-card--alt .special-card__tag {
  color: #8a6310;
  background: #FFF4D6;
}

.special-card__ico {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--rose-bg);
  color: var(--rose);
  transition: background 0.25s var(--ease), color 0.25s var(--ease);
}
.special-card__ico svg { width: 24px; height: 24px; }
.special-card:hover .special-card__ico {
  background: var(--rose);
  color: #fff;
}
.special-card--alt .special-card__ico {
  background: #FFF4D6;
  color: #C68910;
}
.special-card--alt:hover .special-card__ico {
  background: var(--gold);
  color: #fff;
}

.special-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  color: var(--ink);
}
.special-card__desc {
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
  flex: 1;
}
.special-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.4rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--line);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--rose);
  transition: gap 0.2s ease, color 0.2s ease;
}
.special-card__cta svg { width: 16px; height: 16px; }
.special-card:hover .special-card__cta {
  gap: 0.7rem;
  color: var(--rose-deep);
}
.special-card--alt .special-card__cta { color: #C68910; }
.special-card--alt:hover .special-card__cta { color: #8a6310; }

.specials__footer {
  margin-top: 3rem;
  text-align: center;
  padding-top: 2rem;
  border-top: 1px dashed var(--line);
}
.specials__footer p {
  font-size: 1rem;
  color: var(--ink-soft);
  margin: 0;
}
.specials__footer a,
.specials__footer .link-btn {
  color: var(--rose);
  font-weight: 700;
  border-bottom: 2px solid rgba(214, 51, 132, 0.25);
  transition: border-color 0.2s ease;
  background: none;
  padding: 0;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  vertical-align: baseline;
  display: inline;
  line-height: inherit;
}
.specials__footer a:hover,
.specials__footer .link-btn:hover { border-bottom-color: var(--rose); color: var(--rose-deep); }

@media (max-width: 1024px) {
  .specials__grid--4 { grid-template-columns: repeat(2, 1fr); }
  .specials__grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .specials { padding: 4.5rem 0 4rem; }
  .specials__grid--4,
  .specials__grid--3 { grid-template-columns: 1fr; }
  .special-card { padding: 1.5rem 1.25rem 1.35rem; }
}

/* ===================================================================
   Booking card — in-place success state (replaces form on success)
   =================================================================== */
.booking-card { position: relative; }

/* Hide success block by default */
.booking-card__success {
  display: none;
  position: relative;
  text-align: center;
  padding: 1rem .4rem .2rem;
  animation: bk-fade-up .5s ease both;
}

/* When form is in success state: hide all original children, show success */
.booking-card.is-success > *:not(.booking-card__success),
.cform.is-success > *:not(.booking-card__success) {
  display: none !important;
}
.booking-card.is-success .booking-card__success,
.cform.is-success .booking-card__success {
  display: block;
}

/* Sparkles drifting around success block */
.bk-success__sparkles { position: absolute; inset: 0; pointer-events: none; }
.bk-success__sparkles span {
  position: absolute;
  animation: bk-twinkle 2.4s ease-in-out infinite;
  opacity: 0;
}
.bk-success__sparkles span:nth-child(1) { top: 10%;  left: 6%;   color: var(--rose); font-size: 1rem;  animation-delay: 0s; }
.bk-success__sparkles span:nth-child(2) { top: 18%;  right: 10%; color: var(--gold); font-size: .8rem; animation-delay: .6s; }
.bk-success__sparkles span:nth-child(3) { bottom: 38%; left: 4%; color: var(--cyan); font-size: .9rem; animation-delay: 1.2s; }
.bk-success__sparkles span:nth-child(4) { top: 6%;   right: 26%; color: var(--rose); font-size: .7rem; animation-delay: .3s; }

/* Animated checkmark badge */
.bk-success__check {
  width: 92px; height: 92px;
  margin: 1rem auto 1.3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-bg), var(--cyan-soft));
  display: grid; place-items: center;
  position: relative;
}
.bk-success__check::before {
  content: ""; position: absolute; inset: -8px;
  border-radius: 50%;
  border: 2px solid var(--rose);
  opacity: .25;
  animation: bk-pulse-ring 1.8s ease-out infinite;
}
.bk-success__check svg { width: 58px; height: 58px; }
.bk-check__circle {
  fill: none; stroke: var(--rose); stroke-width: 2.5;
  stroke-dasharray: 160; stroke-dashoffset: 160;
  animation: bk-draw-circle .55s ease forwards;
}
.bk-check__tick {
  fill: none; stroke: var(--rose); stroke-width: 3.5;
  stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 40; stroke-dashoffset: 40;
  animation: bk-draw-tick .3s ease .5s forwards;
}

.bk-success__title {
  font-size: 1.45rem;
  margin: 0 0 .6rem;
  letter-spacing: -.02em;
  color: var(--ink);
  position: relative;
}
.bk-success__title span { display: inline-block; transform: translateY(-2px); }

.bk-success__lede {
  color: var(--ink-soft);
  font-size: .98rem;
  line-height: 1.55;
  margin: 0 0 1.3rem;
  position: relative;
}
.bk-success__lede strong { color: var(--rose); font-weight: 700; }

.bk-success__steps {
  list-style: none; padding: .9rem 1rem; margin: 0 0 1.3rem;
  text-align: left;
  background: var(--navy-bg);
  border-radius: 14px;
  position: relative;
}
.bk-success__steps li {
  display: flex; align-items: center; gap: .7rem;
  font-size: .9rem; color: var(--ink);
  padding: .32rem 0;
}
.bk-success__num {
  flex: 0 0 22px; height: 22px;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: #fff;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: .72rem; font-weight: 700;
}

.bk-success__actions { display: grid; gap: .55rem; position: relative; }
.bk-success__reset {
  background: transparent;
  border: 0;
  color: var(--ink-mute);
  font-size: .9rem;
  padding: .5rem;
  cursor: pointer;
  border-radius: 8px;
  transition: color .2s, background .2s;
}
.bk-success__reset:hover { color: var(--ink); background: var(--navy-bg); }

@keyframes bk-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes bk-draw-circle { to { stroke-dashoffset: 0 } }
@keyframes bk-draw-tick { to { stroke-dashoffset: 0 } }
@keyframes bk-pulse-ring {
  0% { transform: scale(1); opacity: .25 }
  100% { transform: scale(1.35); opacity: 0 }
}
@keyframes bk-twinkle {
  0%, 100% { opacity: 0; transform: scale(.5) rotate(0deg) }
  50%      { opacity: 1; transform: scale(1.1) rotate(180deg) }
}
@media (max-width: 480px) {
  .bk-success__title { font-size: 1.25rem; }
  .bk-success__lede { font-size: .92rem; }
  .bk-success__check { width: 78px; height: 78px; }
  .bk-success__check svg { width: 48px; height: 48px; }
}

/* ===================================================================
   Quote modal — site-wide "Teklif Al" popup
   =================================================================== */
.quote-modal {
  position: fixed; inset: 0;
  display: none;
  align-items: center; justify-content: center;
  z-index: 1100;
  padding: 1.2rem;
}
.quote-modal.is-open { display: flex; }
.quote-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 21, 64, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: bk-fade-up .25s ease;
}
.quote-modal__shell {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: 92vh;
  overflow-y: auto;
  animation: bk-pop-in .45s cubic-bezier(.34, 1.56, .64, 1);
  border-radius: 24px;
  box-shadow: 0 30px 70px -10px rgba(0, 21, 64, 0.45);
}
.quote-modal__close {
  position: absolute;
  top: .85rem; right: .9rem;
  width: 34px; height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 21, 64, 0.08);
  color: var(--ink);
  font-size: 1.5rem; line-height: 1;
  cursor: pointer;
  display: grid; place-items: center;
  transition: background .2s, color .2s, transform .2s;
  z-index: 3;
}
.quote-modal__close:hover { background: var(--navy); color: #fff; transform: rotate(90deg); }

.quote-modal__form { margin: 0; max-width: none; }

@keyframes bk-pop-in {
  0% { opacity: 0; transform: scale(.9) translateY(20px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@media (max-width: 480px) {
  .quote-modal { padding: .75rem; }
  .quote-modal__shell { border-radius: 20px; }
}

/* Inline link-style button (e.g., specials section "Bize anlatın") */
.link-btn {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--rose);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: color .2s;
}
.link-btn:hover { color: var(--rose-deep); }

/* Custom request modal textarea focus polish */
#customForm textarea:focus,
#inspectionForm textarea:focus {
  outline: none;
  border-color: var(--rose);
  box-shadow: 0 0 0 3px rgba(214, 51, 132, 0.12);
}

/* Inspection modal — date input + time-slot chips */
#inspectionForm input[type=date] {
  font-family: inherit;
  font-size: inherit;
  color: var(--ink);
}
.bk-timeslot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}
.bk-slot { position: relative; display: block; cursor: pointer; min-width: 0; }
.bk-slot input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bk-slot__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: 1.1rem .5rem .95rem;
  min-height: 118px;
  height: 100%;
  border: 1.5px solid var(--navy-soft);
  border-radius: 14px;
  background: #fff;
  text-align: center;
  transition: border-color .25s, background .25s, transform .15s, box-shadow .25s;
  overflow: hidden;
}
.bk-slot__ico {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--navy-bg);
  color: var(--ink-mute);
  transition: background .25s, color .25s, transform .25s;
  flex-shrink: 0;
}
.bk-slot__ico svg { width: 20px; height: 20px; }
.bk-slot__label {
  font-size: .92rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.15;
  white-space: nowrap;
  max-width: 100%;
}
.bk-slot__time {
  font-size: .68rem;
  font-weight: 600;
  color: var(--ink-mute);
  letter-spacing: .03em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  background: var(--navy-bg);
  padding: .15rem .5rem;
  border-radius: 999px;
  transition: background .25s, color .25s;
}
.bk-slot:has(input[type=radio]:checked) .bk-slot__time {
  background: rgba(214, 51, 132, 0.12);
  color: var(--rose-deep);
}
.bk-slot__check {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--rose);
  color: #fff;
  display: grid;
  place-items: center;
  opacity: 0;
  transform: scale(.4);
  transition: opacity .25s, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.bk-slot__check svg { width: 10px; height: 10px; }

/* Hover */
.bk-slot:hover .bk-slot__inner {
  border-color: var(--rose);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px -8px rgba(214, 51, 132, 0.35);
}
.bk-slot:hover .bk-slot__ico {
  background: var(--rose-bg);
  color: var(--rose);
}

/* Keyboard focus */
.bk-slot input[type=radio]:focus-visible + .bk-slot__inner {
  outline: 2px solid var(--rose);
  outline-offset: 2px;
}

/* Selected */
.bk-slot:has(input[type=radio]:checked) .bk-slot__inner {
  border-color: var(--rose);
  background: linear-gradient(160deg, var(--rose-bg) 0%, #fff 100%);
  box-shadow: 0 8px 20px -10px rgba(214, 51, 132, 0.45);
}
.bk-slot:has(input[type=radio]:checked) .bk-slot__ico {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
  color: #fff;
  transform: scale(1.05);
}
.bk-slot:has(input[type=radio]:checked) .bk-slot__label { color: var(--rose-deep); }
.bk-slot:has(input[type=radio]:checked) .bk-slot__check {
  opacity: 1;
  transform: scale(1);
}

@media (max-width: 480px) {
  .bk-timeslot { grid-template-columns: 1fr; gap: .45rem; }
  .bk-slot__inner { flex-direction: row; gap: .8rem; padding: .7rem .9rem; text-align: left; }
  .bk-slot__check { top: 50%; right: 12px; transform: translateY(-50%) scale(.4); }
  .bk-slot:has(input[type=radio]:checked) .bk-slot__check { transform: translateY(-50%) scale(1); }
}

/* ===== Floating WhatsApp widget (site-wide) ===== */
.wa-widget { position: fixed; right: 22px; bottom: 22px; z-index: 1000; }

.wa-float {
  position: relative;
  width: 60px;
  height: 60px;
  border: 0;
  cursor: pointer;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 0;
  box-shadow: 0 10px 28px rgba(37, 211, 102, .45), 0 4px 12px rgba(0, 0, 0, .12);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  animation: wa-float-in .6s cubic-bezier(.34, 1.56, .64, 1) .8s both;
}
.wa-float:hover {
  background: #1ebe57;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 16px 38px rgba(37, 211, 102, .55), 0 6px 16px rgba(0, 0, 0, .15);
}
.wa-float:active { transform: translateY(-1px) scale(1.02); }
.wa-float__icon { display: flex; width: 32px; height: 32px; position: relative; z-index: 2; }
.wa-float__icon svg { width: 100%; height: 100%; position: absolute; inset: 0; transition: opacity .2s ease, transform .25s ease; }
.wa-float__svg--close { opacity: 0; transform: rotate(-90deg); }
.wa-widget.is-open .wa-float__svg--wa { opacity: 0; transform: rotate(90deg); }
.wa-widget.is-open .wa-float__svg--close { opacity: 1; transform: rotate(0); }

.wa-float__badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #ff3b3b;
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  z-index: 3;
  transition: transform .2s ease, opacity .2s ease;
}
.wa-widget.is-open .wa-float__badge { transform: scale(0); opacity: 0; }

.wa-float__pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25D366;
  z-index: 1;
  opacity: .55;
  animation: wa-pulse 2.2s ease-out infinite;
  pointer-events: none;
}

.wa-float__bubble {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: #0a3a4a;
  color: #fff;
  padding: .55rem .9rem;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}
.wa-float__bubble::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -5px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: #0a3a4a;
}
.wa-float:hover .wa-float__bubble,
.wa-float:focus-visible .wa-float__bubble {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@keyframes wa-pulse {
  0%   { transform: scale(1);    opacity: .55; }
  70%  { transform: scale(1.7);  opacity: 0; }
  100% { transform: scale(1.7);  opacity: 0; }
}
@keyframes wa-float-in {
  0%   { opacity: 0; transform: translateY(20px) scale(.6); }
  100% { opacity: 1; transform: translateY(0)    scale(1); }
}

/* Chat popup */
.wa-chat {
  position: absolute;
  right: 0;
  bottom: calc(100% + 28px);
  width: 340px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .22), 0 4px 12px rgba(0, 0, 0, .08);
  overflow: hidden;
  opacity: 0;
  transform: translateY(20px) scale(.92);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.wa-widget.is-open .wa-chat {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.wa-chat__header {
  background: linear-gradient(135deg, #128C7E 0%, #075E54 100%);
  color: #fff;
  padding: .9rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.wa-chat__brand { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.wa-chat__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.wa-chat__avatar img { width: 100%; height: 100%; object-fit: cover; }
.wa-chat__meta { display: flex; flex-direction: column; min-width: 0; }
.wa-chat__meta strong { font-size: .98rem; font-weight: 700; line-height: 1.2; }
.wa-chat__meta span {
  font-size: .8rem;
  opacity: .9;
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-top: 2px;
}
.wa-chat__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #51e070;
  box-shadow: 0 0 0 0 rgba(81, 224, 112, .7);
  animation: wa-dot-pulse 1.8s ease-out infinite;
}
.wa-chat__close {
  background: rgba(255, 255, 255, .15);
  border: 0;
  color: #fff;
  width: 28px; height: 28px;
  border-radius: 50%;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background-color .2s ease;
}
.wa-chat__close:hover { background: rgba(255, 255, 255, .28); }

.wa-chat__body {
  background-color: #ECE5DD;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='%23d4cdc2' fill-opacity='.35'><circle cx='15' cy='15' r='2'/><circle cx='60' cy='40' r='1.5'/><circle cx='100' cy='20' r='2'/><circle cx='30' cy='70' r='1.5'/><circle cx='85' cy='90' r='2'/><circle cx='105' cy='65' r='1.5'/><circle cx='45' cy='105' r='1.5'/></g></svg>");
  padding: 1rem .9rem 1.2rem;
  min-height: 130px;
  max-height: 280px;
  overflow-y: auto;
}
.wa-chat__bubble {
  background: #fff;
  color: #333;
  padding: .7rem .9rem;
  border-radius: 0 12px 12px 12px;
  font-size: .9rem;
  line-height: 1.45;
  max-width: 85%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  animation: wa-bubble-in .35s ease both;
}

.wa-chat__input {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .7rem .75rem;
  background: #f4f4f4;
  border-top: 1px solid #e6e6e6;
}
.wa-chat__input input {
  flex: 1;
  border: 0;
  background: #fff;
  border-radius: 999px;
  padding: .65rem 1rem;
  font: inherit;
  font-size: .92rem;
  outline: none;
  color: #333;
  min-width: 0;
}
.wa-chat__input input::placeholder { color: #999; }
.wa-chat__input input:focus { box-shadow: 0 0 0 2px rgba(37, 211, 102, .25); }
.wa-chat__input button {
  width: 40px; height: 40px;
  border: 0;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background-color .2s ease, transform .15s ease;
}
.wa-chat__input button:hover { background: #1ebe57; }
.wa-chat__input button:active { transform: scale(.95); }
.wa-chat__input button svg { width: 18px; height: 18px; margin-left: -2px; }

@keyframes wa-dot-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(81, 224, 112, .7); }
  70%  { box-shadow: 0 0 0 6px rgba(81, 224, 112, 0); }
  100% { box-shadow: 0 0 0 0 rgba(81, 224, 112, 0); }
}
@keyframes wa-bubble-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
  .wa-widget { right: 16px; bottom: 16px; }
  .wa-float { width: 54px; height: 54px; }
  .wa-float__icon { width: 28px; height: 28px; }
  .wa-float__bubble { display: none; }
  .wa-chat { width: calc(100vw - 32px); }
}

@media (prefers-reduced-motion: reduce) {
  .wa-float, .wa-float__pulse, .wa-chat__dot, .wa-chat__bubble { animation: none; }
}

/* ===========================================================================
   ====================  MOBILE OVERRIDES — HOMEPAGE  ====================
   Sadece mobil viewport (≤768px). Desktop / tablet üstü kuralları DEĞİŞMEZ.
   Eklendi: 2026-05-23
   =========================================================================== */

/* ===== Tablet & altı (max 768px) — yapısal stack düzeltmeleri ===== */
@media (max-width: 768px) {

  /* Genel: section padding daralt */
  section { padding-block: clamp(2.5rem, 6vw, 3.5rem); }

  /* ----- HERO ----- */
  .hero { padding-top: 1.5rem; }
  .hero__actions .btn { flex: 1 1 100%; justify-content: center; }
  .booking-row { grid-template-columns: 1fr; gap: 0.85rem; }

  /* ----- SERVICES ----- */
  .service-card__img { aspect-ratio: 16 / 11; }

  /* ----- PROCESS: connector çizgileri stack'te kafa karıştırıyor ----- */
  .process-steps::before,
  .process-step::before { display: none !important; }

  /* ----- AREAS: sticky header mobilde scroll deneyimini bozar ----- */
  .areas__head {
    position: static;
    top: auto;
    margin-bottom: 1.5rem;
  }
}

/* ===== Small mobile (max 600px) — densification ===== */
@media (max-width: 600px) {

  /* ----- HERO COPY ----- */
  .hero__title { line-height: 1.12; }
  .hero__lede { font-size: 1rem; line-height: 1.6; }
  .hero__lede strong { display: inline; }

  /* HERO TRUST: mobilde gizle — yer kaplıyor, ana CTA aşağı itiliyor */
  .hero__trust { display: none; }

  /* BOOKING CARD: full width, compact padding */
  .booking-card {
    padding: 1.4rem 1.2rem;
    max-width: 100%;
    margin-inline: 0;
  }
  .booking-card__title { font-size: 1.1rem; }
  .booking-card__title small { font-size: 0.78rem; }
  .booking-field label { font-size: 0.82rem; }
  .booking-field input,
  .booking-field select,
  .booking-field textarea {
    font-size: 0.95rem;
    padding: 0.72rem 0.85rem;
  }
  .booking-card .btn { width: 100%; justify-content: center; }

  /* ----- ABOUT PREVIEW ----- */
  .about-preview__visual { padding: 1rem 1rem 2rem; }
  .about-preview__stamp { width: 64px; height: 64px; font-size: 0.65rem; }

  /* ----- SERVICES ----- */
  .service-card__body { padding: 1.15rem 1.1rem 1.35rem; }
  .service-card__title { font-size: 1.1rem; }
  .service-card__desc { font-size: 0.9rem; margin-bottom: 1rem; }
  .service-card__features { gap: 0.3rem; margin-bottom: 1rem; }
  .service-card__features span {
    font-size: 0.7rem;
    padding: 0.26rem 0.55rem;
  }
  .service-card__cta { padding-top: 0.85rem; }
  .service-card__tag {
    top: 0.75rem; left: 0.75rem;
    padding: 0.3rem 0.7rem;
    font-size: 0.68rem;
  }

  /* ----- SPECIALS: group label/line wrap ----- */
  .specials__group-head { flex-wrap: wrap; gap: 0.6rem; }
  .specials__group-label {
    font-size: 0.76rem;
    padding: 0.42rem 0.85rem;
  }
  .specials__group-line { display: none; }
  .special-card { padding: 1.3rem 1.15rem 1.2rem; }
  .special-card__title { font-size: 1.05rem; line-height: 1.3; }
  .special-card__desc { font-size: 0.88rem; line-height: 1.55; }
  .special-card__ico { width: 42px; height: 42px; }

  /* ----- PROCESS step kartları kompakt ----- */
  .process-step { padding: 1.4rem 1.2rem; }
  .process-step__ico { width: 46px; height: 46px; font-size: 1.2rem; }
  .process-step__num { font-size: 1.4rem; }
  .process-step__title { font-size: 1.05rem; }
  .process-step__desc { font-size: 0.88rem; line-height: 1.55; }

  /* ----- COMPARE ----- */
  .compare__head { padding: 1.15rem 1rem; }
  .compare__col-label { font-size: 0.85rem; }
  .compare__row { padding: 0.85rem 1rem; gap: 0.45rem; }
  .compare__topic { font-size: 0.82rem; font-weight: 700; color: var(--ink-mute); }
  .compare__cell { font-size: 0.92rem; }
  .compare__foot { flex-direction: column; align-items: stretch; gap: 0.8rem; }
  .compare__foot .btn { width: 100%; justify-content: center; }

  /* ----- AREAS: tek sütun, summary kompakt ----- */
  .areas__districts {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  .areas__district > summary {
    padding: 0.95rem 1.1rem;
  }
  .areas__district-name { font-size: 0.96rem; }
  .areas__district-tag { font-size: 0.74rem; padding: 0.25rem 0.55rem; }
  .areas__head h2 { font-size: clamp(1.6rem, 6vw, 2rem); }
  .areas__head p { font-size: 0.95rem; line-height: 1.6; }

  /* ----- FAQ ----- */
  .faq-grid { gap: 0.6rem; }
  .faq { padding: 1.1rem 1.15rem; }
  .faq__q {
    font-size: 0.98rem;
    line-height: 1.4;
    gap: 0.55rem;
  }
  .faq__q::before {
    width: 20px; height: 20px;
    font-size: 0.7rem;
    flex-shrink: 0;
  }
  .faq__a {
    padding-left: 1.6rem;
    font-size: 0.9rem;
    line-height: 1.65;
  }

  /* ----- CTA bandı kompakt ----- */
  .cta-band__phone { font-size: 1.1rem; }
}

/* ===== Extra small (max 400px) — son düzeltmeler ===== */
@media (max-width: 400px) {

  /* HERO başlık taşmasın */
  .hero__title { font-size: clamp(1.85rem, 8.5vw, 2.15rem); }
  .hero__lede { font-size: 0.95rem; }

  /* BOOKING padding extra azaltma */
  .booking-card { padding: 1.2rem 0.95rem; }
  .booking-card__header { margin-bottom: 0.85rem; }

  /* SERVICES image biraz daha kare */
  .service-card__img { aspect-ratio: 5 / 4; }
  .service-card__body { padding: 1rem 0.95rem 1.2rem; }
  .service-card__title { font-size: 1.05rem; }

  /* SPECIAL kartları minimal padding */
  .special-card { padding: 1.15rem 1rem 1.1rem; }
  .special-card__title { font-size: 1rem; }

  /* ABOUT PREVIEW dekoratif elementler 320px'de overflow yapıyor */
  .about-preview__floatcard,
  .about-preview__sticker { display: none; }

  /* PROCESS ICON ve başlıklar */
  .process-step { padding: 1.2rem 1rem; }
  .process-step__ico { width: 42px; height: 42px; font-size: 1.1rem; }

  /* COMPARE son trim */
  .compare__head { padding: 1rem 0.85rem; }
  .compare__row { padding: 0.75rem 0.85rem; }
  .compare__topic { font-size: 0.78rem; }
  .compare__cell { font-size: 0.88rem; }

  /* AREAS summary padding */
  .areas__district > summary { padding: 0.85rem 0.95rem; }
  .areas__district-name { font-size: 0.92rem; }

  /* FAQ son */
  .faq { padding: 1rem 1rem; }
  .faq__q { font-size: 0.95rem; }
  .faq__a { font-size: 0.88rem; padding-left: 1.5rem; }
}

/* ===========================================================================
   ====================  MOBILE OVERRIDES — HEADER  ====================
   Mobilde: topbar gizli, "Teklif Al" CTA gizli, logo ortalı, hamburger sağda.
   =========================================================================== */
@media (max-width: 768px) {
  /* 1) Topbar (phone+message ikonları olan üst şerit) → gizle */
  .topbar { display: none; }

  /* 2) "Teklif Al" CTA → gizle (hamburger menü içinde zaten erişilebilir) */
  .nav-cta .btn--cta { display: none; }

  /* 3) Logo ortalansın, hamburger SOLDA kalsın */
  .nav {
    position: relative;
    min-height: 92px;
    padding: 1.6rem 0;
  }
  .nav .brand--logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  .nav .brand__logo {
    height: 80px;
    max-width: 240px;
    margin: 0;
  }
  .nav-cta {
    margin-right: auto;   /* sola yasla */
    margin-left: 0;
    gap: 0;
  }

  /* Drawer base CSS'i (524 satır civarı) tüm slide+backdrop+panel
     işini yapıyor; burada ekstra override gerekmiyor. */
}

/* ===========================================================================
   ====================  MOBILE OVERRIDES — FOOTER  ====================
   =========================================================================== */

@media (max-width: 768px) {
  /* Pre-footer CTA strip */
  .footer-cta { padding-block: 1.5rem; }
  .footer-cta__inner { gap: 1.2rem; }
  .footer-cta__text { gap: 0.5rem; text-align: center; }
  .footer-cta__text strong { font-size: 1.05rem; line-height: 1.3; }
  .footer-cta__text small { font-size: 0.88rem; line-height: 1.5; }
  .footer-cta__sparkle { display: none; }
  .footer-cta__actions {
    width: 100%;
    flex-direction: column;
    gap: 0.6rem;
  }
  .footer-cta__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  /* Footer brand: ortala, sıkıştır */
  .footer-brand {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-brand .brand--logo {
    margin-inline: auto;
  }
  .footer-brand .brand__logo--footer {
    width: 140px !important;
    height: auto !important;
  }
  .footer-brand p {
    font-size: 0.9rem;
    line-height: 1.6;
    max-width: 36ch;
    margin-inline: auto;
  }

  /* Social icons: dokunulabilir, ortalı, daha belirgin */
  .footer-brand .social {
    justify-content: center;
    gap: 0.55rem;
    margin-top: 0.5rem;
  }
  .footer-brand .social a {
    width: 42px;
    height: 42px;
  }
  .footer-brand .social a svg { width: 20px; height: 20px; }

  /* Footer kolonları */
  .footer-top {
    gap: 2rem;
    padding-block: 2.2rem 1.5rem;
  }
  .footer-col h4 {
    font-size: 0.95rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.5rem;
  }
  .footer-col h4::after { width: 28px; }
  .footer-col ul { gap: 0.5rem; }
  .footer-col a { font-size: 0.92rem; }

  /* Hizmet bölgeleri 2-col grid'i mobilde sıkışmasın */
  .footer-col__cols { gap: 0.4rem 1rem; }

  /* İletişim item'ları */
  .footer-col .contact-item {
    gap: 0.7rem;
    align-items: flex-start;
  }
  .footer-col .contact-item .ico {
    width: 32px; height: 32px;
    font-size: 0.95rem;
    flex-shrink: 0;
  }
  .footer-col .contact-item a {
    font-size: 0.95rem;
    word-break: break-word;
  }
  .footer-col .contact-item small {
    font-size: 0.78rem;
    line-height: 1.4;
  }

  /* Alt bant: kompakt, ortala, link grid */
  .footer-bottom {
    padding-block: 1.2rem;
    font-size: 0.82rem;
    gap: 0.85rem;
  }
  .footer-bottom > span:first-child {
    font-size: 0.8rem;
    line-height: 1.5;
  }
  .footer-credit { font-size: 0.8rem; }
  .footer-bottom__links {
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-bottom__links a { font-size: 0.82rem; }
}

@media (max-width: 400px) {
  /* Hizmet bölgeleri ve hizmet linkleri çok daralırsa tek kolon */
  .footer-col__cols { grid-template-columns: 1fr; }

  /* CTA strip daha kompakt */
  .footer-cta__text strong { font-size: 1rem; }
  .footer-cta__text small { font-size: 0.82rem; }

  /* Brand p daha kısa */
  .footer-brand p { font-size: 0.88rem; }

  /* Bottom links satıra sığması için min font */
  .footer-bottom__links { gap: 0.8rem; }
  .footer-bottom__links a { font-size: 0.78rem; }
}

/* ============================================================
   MOBILE OVERRIDES — HİZMETLER SAYFASI (/hizmetler)
   Sadece mobil. Desktop CSS'e dokunulmuyor.
   ============================================================ */

@media (max-width: 768px) {
  /* Hero: padding kompakt */
  .about-hero { padding: 2.2rem 0 1.6rem; }
  .about-hero__crumbs {
    margin-bottom: 1.4rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    gap: 0.45rem;
    flex-wrap: wrap;
  }
  .about-hero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.9rem;
  }
  .about-hero__title { margin-bottom: 1rem; }
  .about-hero__title br { display: none; }
  .about-hero__lede {
    font-size: 1rem;
    line-height: 1.65;
  }

  /* Services list: padding alttan kısalt */
  .services-list { padding: 0 0 2.5rem; }

  /* Srv-row: padding daralt, dashed border görünür kalsın */
  .srv-row {
    padding: 2rem 0;
    gap: 1.5rem;
  }
  .srv-row__visual { padding: 1rem 0 1.5rem; }

  /* Frame: rotation kaldır, mobilde düz daha temiz */
  .srv-row__frame,
  .srv-row:nth-of-type(even) .srv-row__frame {
    transform: rotate(0deg);
  }
  .srv-row__frame img { aspect-ratio: 16 / 11; }

  /* Stamp: daha küçük + içeriğe taşmasın */
  .srv-row__stamp {
    width: 56px; height: 56px;
    top: -10px; right: -8px;
    border-width: 1.5px;
  }
  .srv-row__stamp small { font-size: 1.1rem; }
  .srv-row__stamp span { font-size: 0.5rem; letter-spacing: 0.14em; }

  /* Title & body */
  .srv-row__kicker {
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.55rem;
  }
  .srv-row__title { margin-bottom: 0.9rem; }
  .srv-row__body { margin-bottom: 1.2rem; gap: 0.7rem; }
  .srv-row__body p { font-size: 0.95rem; line-height: 1.65; }

  /* Includes başlığı & liste */
  .srv-row__includes-head {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    margin-bottom: 0.7rem;
  }
  .srv-row__includes {
    gap: 0.5rem 0.8rem;
    margin-bottom: 1.4rem;
  }
  .srv-row__includes li { font-size: 0.88rem; }

  /* Alt strip: quote + CTA — dikey diz */
  .srv-row__bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding-top: 1.1rem;
  }
  .srv-row__quote strong { font-size: 1.15rem; }
  .srv-row__cta {
    width: 100%;
    gap: 0.55rem;
  }
  .srv-row__cta .btn {
    flex: 1 1 0;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 600px) {
  .about-hero { padding: 1.6rem 0 1.2rem; }
  .about-hero__crumbs { margin-bottom: 1rem; }
  .about-hero__lede { font-size: 0.96rem; }

  .srv-row { padding: 1.6rem 0; }
  .srv-row__visual { padding: 0.6rem 0 1.1rem; }
  .srv-row__frame { padding: 0.6rem 0.6rem 0.85rem; }

  .srv-row__stamp {
    width: 50px; height: 50px;
    top: -8px; right: -6px;
  }
  .srv-row__stamp small { font-size: 1rem; }
  .srv-row__stamp span { font-size: 0.45rem; }

  /* CTA butonlar tam genişlik kolon — daha büyük dokunma alanı */
  .srv-row__cta { flex-direction: column; gap: 0.65rem; }
  .srv-row__cta .btn {
    width: 100%;
    padding: 1rem 1.4rem;
    font-size: 1rem;
    min-height: 52px;
    border-radius: 14px;
  }
}

@media (max-width: 400px) {
  .about-hero__crumbs {
    font-size: 0.68rem;
    letter-spacing: 0.1em;
  }
  .srv-row__title { font-size: 1.5rem; }
  .srv-row__body p { font-size: 0.92rem; }
  .srv-row__includes li { font-size: 0.85rem; }
  .srv-row__quote strong { font-size: 1.05rem; }
  .srv-row__quote span { font-size: 0.74rem; }
}

/* ============================================================
   MOBILE OVERRIDES — SERVİS DETAY SAYFALARI (/hizmetler/*)
   Sadece mobil. Desktop CSS'e dokunulmuyor.
   ============================================================ */

@media (max-width: 768px) {
  /* Hero */
  .srvd-hero { padding: 1.8rem 0 2.5rem; }
  .srvd-hero__deco--rose { width: 220px; height: 220px; opacity: 0.12; }
  .srvd-hero__deco--gold { width: 200px; height: 200px; opacity: 0.10; }
  .srvd-hero__crumbs {
    font-size: 0.72rem;
    margin-bottom: 1.3rem;
    flex-wrap: wrap;
  }
  .srvd-hero__crumbs .sep { margin: 0 0.4rem; }
  .srvd-hero__grid { gap: 2rem; }
  .srvd-hero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.85rem;
  }
  .srvd-hero__title {
    font-size: clamp(1.7rem, 6.5vw, 2.2rem);
    line-height: 1.15;
    margin-bottom: 1rem;
  }
  .srvd-hero__title br { display: none; }
  .srvd-hero__lede {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }

  /* Hero CTA: dikey, full width, büyük dokunma */
  .srvd-hero__cta {
    flex-direction: column;
    gap: 0.6rem;
  }
  .srvd-hero__cta .btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.4rem;
    font-size: 1rem;
    min-height: 52px;
    border-radius: 14px;
  }

  /* Hero meta: mobilde tamamen gizle */
  .srvd-hero__meta { display: none; }

  /* Hero visual: dekoratif çerçeve offsetini düzelt + oran düşür */
  .srvd-hero__visual::after {
    top: 0.6rem; left: 0.6rem;
    right: -0.6rem; bottom: -0.6rem;
  }
  .srvd-hero__image { aspect-ratio: 4 / 3; }

  /* Genel section padding */
  .srvd-section { padding: 2.5rem 0; }
  .srvd-section__head { margin: 0 0 1.6rem; }
  .srvd-section__label {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.65rem;
  }
  .srvd-section__title { line-height: 1.25; }
  .srvd-section--alt::before,
  .srvd-section--alt::after {
    width: 240px; height: 240px;
    opacity: 0.06;
  }

  /* Overview */
  .srvd-overview__body p {
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 1rem;
  }

  /* Scope grid */
  .srvd-scope__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .srvd-scope__item {
    font-size: 0.94rem;
    padding: 0.75rem 0;
  }

  /* Story (editorial chapters) */
  .srvd-story {
    padding: 2.8rem 0;
  }
  .srvd-story::before,
  .srvd-story::after {
    width: 220px; height: 220px;
    opacity: 0.07;
  }
  .srvd-story__intro { margin: 0 auto 2.2rem; }
  .srvd-story__kicker {
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    margin-bottom: 0.8rem;
  }
  .srvd-story__heading {
    font-size: clamp(1.35rem, 5.2vw, 1.7rem);
    line-height: 1.35;
  }

  .srvd-chapters { gap: 2.8rem; }
  .srvd-chapter { gap: 1.5rem; }
  .srvd-chapter__numeral {
    font-size: 2.6rem;
    margin-bottom: 0.5rem;
  }
  .srvd-chapter__title {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .srvd-chapter__text {
    font-size: 0.98rem;
    line-height: 1.7;
  }
  .srvd-chapter__text + .srvd-chapter__text { margin-top: 0.85rem; }
  .srvd-chapter:first-child .srvd-chapter__text:first-of-type::first-letter {
    font-size: 2.6rem;
    margin: 0.25rem 0.4rem 0 0;
  }
  .srvd-chapter__image { aspect-ratio: 4 / 3; }
  .srvd-chapter__caption {
    font-size: 0.74rem;
    margin-top: 0.7rem;
  }

  /* Rooms */
  .srvd-rooms { gap: 1.8rem; }
  .srvd-room__title { font-size: 1rem; }
  .srvd-room__list li { font-size: 0.93rem; }

  /* Steps */
  .srvd-steps { gap: 1.6rem; }
  .srvd-step__num {
    font-size: 0.72rem;
    margin-bottom: 0.7rem;
    padding-bottom: 0.7rem;
  }
  .srvd-step__title { font-size: 1.05rem; margin-bottom: 0.4rem; }
  .srvd-step__desc { font-size: 0.92rem; line-height: 1.55; }

  /* FAQ */
  .srvd-faq__item { padding: 1rem 0; }
  .srvd-faq__item summary {
    font-size: 0.96rem;
    gap: 0.75rem;
  }
  .srvd-faq__item summary::after {
    width: 9px; height: 9px;
  }
  .srvd-faq__item p {
    font-size: 0.94rem;
    line-height: 1.65;
    margin: 0.7rem 0 0;
  }

  /* End CTA */
  .srvd-end { padding: 2.5rem 0 3rem; }
  .srvd-end__title { margin-bottom: 0.6rem; }
  .srvd-end__lede {
    font-size: 0.96rem;
    margin-bottom: 1.4rem;
  }
  .srvd-end__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.6rem;
  }
  .srvd-end__actions .btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.4rem;
    font-size: 1rem;
    min-height: 52px;
    border-radius: 14px;
  }
}

@media (max-width: 600px) {
  .srvd-hero { padding: 1.4rem 0 2rem; }
  .srvd-hero__crumbs { margin-bottom: 1rem; }
  .srvd-hero__lede { font-size: 0.96rem; }

  .srvd-section { padding: 2rem 0; }
  .srvd-story { padding: 2.4rem 0; }

  .srvd-chapter__numeral { font-size: 2.2rem; }
  .srvd-chapter__title { font-size: 1.3rem; }
}

@media (max-width: 400px) {
  .srvd-hero__title {
    font-size: 1.55rem;
  }
  .srvd-hero__eyebrow { font-size: 0.66rem; letter-spacing: 0.1em; }
  .srvd-hero__crumbs { font-size: 0.68rem; }
  .srvd-section__title { font-size: 1.35rem; }
  .srvd-story__heading { font-size: 1.2rem; }
  .srvd-chapter__title { font-size: 1.2rem; }
  .srvd-chapter:first-child .srvd-chapter__text:first-of-type::first-letter {
    font-size: 2.2rem;
  }
  .srvd-faq__item summary { font-size: 0.93rem; }
}

/* ============================================================
   MOBILE OVERRIDES — İLÇELER SAYFASI (/ilceler)
   Sadece mobil. Desktop CSS'e dokunulmuyor.
   ============================================================ */

@media (max-width: 768px) {
  /* Liste padding ve blob'lar */
  .districts-list { padding: 1.6rem 0 2.8rem; }
  .districts-list::before {
    width: 260px; height: 260px;
    top: 4%; right: -20%;
  }
  .districts-list::after {
    width: 240px; height: 240px;
    bottom: 2%; left: -20%;
  }

  /* Tier başlıkları */
  .districts-tier-head {
    margin: 0 0 1.4rem;
  }
  .districts-tier-head--alt {
    margin: 2.5rem 0 1.2rem;
    padding-top: 2rem;
  }
  .districts-tier-head__label {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.5rem;
  }
  .districts-tier-head__title {
    line-height: 1.25;
    margin-bottom: 0.5rem;
  }
  .districts-tier-head__lede {
    font-size: 0.96rem;
    line-height: 1.6;
  }

  /* Grid: 900px'te zaten 1fr olur, gap daralt */
  .districts-grid { gap: 1.2rem; }

  /* Card */
  .district-card__media { aspect-ratio: 16 / 10; }
  .district-card__num {
    top: 0.7rem; left: 0.7rem;
    font-size: 0.78rem;
    padding: 0.3rem 0.6rem;
  }
  .district-card__body { padding: 1.2rem 1.2rem 1.1rem; }
  .district-card__kicker {
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.35rem;
  }
  .district-card__title {
    font-size: 1.35rem;
    margin-bottom: 0.55rem;
  }
  .district-card__lede {
    font-size: 0.93rem;
    line-height: 1.6;
    margin-bottom: 0.9rem;
  }

  /* Mahalle çipleri */
  .district-card__neighs {
    margin-bottom: 1rem;
    padding: 0.7rem 0.85rem;
  }
  .district-card__neighs-label {
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.4rem;
  }
  .district-card__neighs li {
    font-size: 0.78rem;
    padding: 0.18rem 0.5rem;
  }

  /* Foot: CTA tam genişlik, daha büyük dokunma */
  .district-card__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
    padding-top: 0.9rem;
  }
  .district-card__foot .btn {
    width: 100%;
    justify-content: center;
    padding: 0.95rem 1.3rem;
    font-size: 0.98rem;
    min-height: 50px;
    border-radius: 14px;
  }
  .district-card__meta { flex-direction: row; align-items: baseline; gap: 0.4rem; }

  /* Outer (çevre ilçeler) çubuk */
  .districts-outer { gap: 0.55rem; }
  .districts-outer li a {
    padding: 0.9rem 2.2rem 0.85rem 0.95rem;
  }
  .districts-outer__name { font-size: 0.94rem; }
  .districts-outer__note { font-size: 0.76rem; }
  .districts-outer__arrow {
    top: 0.85rem;
    right: 0.85rem;
  }
}

@media (max-width: 600px) {
  .districts-list { padding: 1.2rem 0 2.4rem; }
  .districts-tier-head__title { font-size: 1.25rem; }
  .district-card__title { font-size: 1.25rem; }
}

@media (max-width: 400px) {
  .district-card__body { padding: 1rem 1rem 0.95rem; }
  .district-card__title { font-size: 1.2rem; }
  .district-card__lede { font-size: 0.9rem; }
  .district-card__neighs li { font-size: 0.74rem; }
  .districts-tier-head__title { font-size: 1.15rem; }
  .districts-outer__name { font-size: 0.9rem; }
}

/* ============================================================
   MOBILE OVERRIDES — HAKKIMIZDA SAYFASI (/hakkimizda)
   Sadece mobil. Desktop CSS'e dokunulmuyor.
   ============================================================ */

@media (max-width: 768px) {
  /* Founder Letter */
  .founder-letter { padding: 2.4rem 0; }
  .founder-letter__grid { gap: 1.8rem; }
  .portrait-frame { max-width: 260px; }
  .portrait-frame__inner {
    padding: 0.7rem 0.7rem 0.95rem;
    transform: rotate(-1deg);
  }
  .portrait-frame__inner img { aspect-ratio: 4 / 5; }
  .portrait-frame__stamp {
    width: 52px; height: 52px;
    top: 10px; right: -10px;
    border-width: 1.5px;
  }
  .portrait-frame__stamp span { font-size: 0.48rem; letter-spacing: 0.15em; }
  .portrait-frame__stamp strong { font-size: 0.88rem; }
  .portrait-frame__caption {
    margin-top: 0.9rem;
    font-size: 0.95rem;
  }
  .portrait-frame__caption small {
    font-size: 0.72rem;
    letter-spacing: 0.05em;
  }

  .founder-letter__body .eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.7rem;
  }
  .founder-letter__body .h2 {
    margin-bottom: 1.3rem;
    line-height: 1.3;
  }
  .founder-letter__body .h2 br { display: none; }
  .founder-letter__prose { gap: 0.85rem; }
  .founder-letter__prose p {
    font-size: 0.98rem;
    line-height: 1.7;
  }
  .founder-letter__prose p.drop::first-letter {
    font-size: 2.8rem;
    margin: 0.25rem 0.5rem 0 0;
  }
  .founder-letter__sign {
    margin-top: 1.6rem;
    padding-top: 1.1rem;
  }
  .signature { font-size: 1.8rem; }
  .founder-letter__sign small {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    margin-top: 0.35rem;
  }

  /* Essays */
  .essays-section { padding: 2.5rem 0; }
  .essays { margin-top: 1.5rem; }
  .essay { padding: 1.6rem 0; gap: 0.5rem; }
  .essay__no { font-size: 1.3rem; padding-top: 0; }
  .essay__body h3 {
    font-size: 1.15rem;
    margin-bottom: 0.7rem;
    line-height: 1.3;
  }
  .essay__body p {
    font-size: 0.97rem;
    line-height: 1.7;
  }
  .essay .hl { padding: 0; }

  /* Principles */
  .principles { padding: 2.5rem 0; }
  .principles-grid { gap: 1rem; margin-top: 1.6rem; }
  .pcard {
    padding: 1.5rem 1.3rem 1.4rem;
  }
  .pcard__head {
    margin-bottom: 1rem;
    padding-right: 1.4rem;
  }
  .pcard__num { font-size: 2.6rem; }
  .pcard__ico {
    width: 40px; height: 40px;
    border-radius: 10px;
  }
  .pcard__ico svg { width: 20px; height: 20px; }
  .pcard__title {
    font-size: 1.2rem;
    margin-bottom: 0.55rem;
  }
  .pcard__body {
    font-size: 0.94rem;
    line-height: 1.65;
    margin-bottom: 1rem;
  }
  .pcard__chips { padding-top: 0.9rem; gap: 0.35rem; }
  .pcard__chips span {
    font-size: 0.68rem;
    padding: 0.35rem 0.7rem;
  }
  .pcard__sparkle { top: 0.9rem; right: 1rem; }

  /* Numbers */
  .numbers { padding: 2.5rem 0; }
  .numbers__head { margin-bottom: 1.6rem; }
  .num-cell { padding: 1.4rem 0.9rem; }
  .num-cell__big { font-size: 2rem; margin-bottom: 0.4rem; }
  .num-cell__label { font-size: 0.82rem; margin-bottom: 0.25rem; }
  .num-cell__note { font-size: 0.7rem; line-height: 1.35; }
}

@media (max-width: 600px) {
  .founder-letter { padding: 2rem 0; }
  .portrait-frame { max-width: 220px; }
  .essays-section,
  .principles,
  .numbers { padding: 2rem 0; }

  .founder-letter__body .h2 { font-size: 1.4rem; }
}

@media (max-width: 400px) {
  .founder-letter__prose p { font-size: 0.94rem; }
  .founder-letter__prose p.drop::first-letter { font-size: 2.4rem; }
  .signature { font-size: 1.6rem; }
  .essay__body h3 { font-size: 1.05rem; }
  .essay__body p { font-size: 0.93rem; }
  .pcard__title { font-size: 1.1rem; }
  .pcard__body { font-size: 0.9rem; }
  .num-cell__big { font-size: 1.7rem; }
  .num-cell__label { font-size: 0.78rem; }
}

/* ============================================================
   MOBILE OVERRIDES — İLETİŞİM SAYFASI (/iletisim)
   Sadece mobil. Desktop CSS'e dokunulmuyor.
   ============================================================ */

@media (max-width: 768px) {
  /* Hızlı kanallar */
  .channels { padding: 0.5rem 0 2rem; }
  .channels-grid { gap: 0.7rem; }
  .ch-card {
    padding: 1rem 1.1rem;
    gap: 0.85rem;
    border-radius: 14px;
  }
  .ch-card__ico {
    width: 42px; height: 42px;
    border-radius: 12px;
  }
  .ch-card__ico svg { width: 20px; height: 20px; }
  .ch-card__meta small {
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    margin-bottom: 0.1rem;
  }
  .ch-card__meta strong {
    font-size: 0.96rem;
    word-break: break-word;
  }
  .ch-card__meta span {
    font-size: 0.74rem;
    line-height: 1.4;
  }
  .ch-card__arrow { font-size: 1.05rem; opacity: 0.55; }

  /* Form + Aside */
  .contact-main { padding: 0.5rem 0 2.5rem; }
  .contact-main__grid { gap: 1.6rem; }

  /* Form Wrap */
  .cform-wrap__head { margin-bottom: 1.4rem; }
  .cform-wrap__head .eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.55rem;
  }
  .cform-wrap__head .h2 {
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }
  .cform-wrap__lede {
    font-size: 0.92rem;
    line-height: 1.6;
  }

  /* Form rows: tek kolon */
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-field { margin-bottom: 0.85rem; }
  .form-field label {
    font-size: 0.86rem;
    margin-bottom: 0.35rem;
  }
  .cform .form-field input,
  .cform .form-field textarea,
  .cform .form-field select {
    padding: 0.9rem 0.95rem;
    font-size: 16px; /* iOS auto-zoom önle */
    border-radius: 12px;
  }
  .cform .form-field textarea { min-height: 95px; }

  /* Step başlığı */
  .cform__step {
    gap: 0.7rem;
    margin: 1.3rem 0 0.85rem;
    padding-top: 1rem;
  }
  .cform__step-no {
    width: 26px; height: 26px;
    font-size: 0.78rem;
  }
  .cform__step h3 { font-size: 0.92rem; }

  /* Submit: dikey, butonlar tam genişlik */
  .cform__submit {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 1.3rem;
    padding-top: 1.2rem;
  }
  .cform__privacy {
    gap: 0.6rem;
    font-size: 0.78rem;
  }
  .cform__lock {
    width: 28px; height: 28px;
    font-size: 0.85rem;
  }
  .cform__privacy strong { font-size: 0.82rem; }
  .cform__privacy small { font-size: 0.72rem; }
  .cform__submit .btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.4rem;
    font-size: 1rem;
    min-height: 52px;
    border-radius: 14px;
  }

  /* Aside */
  .contact-aside__card {
    padding: 1.3rem;
    border-radius: 16px;
  }
  .contact-aside__card::before {
    width: 140px; height: 140px;
    top: -40px; right: -40px;
  }
  .contact-aside__live {
    padding: 0.75rem 0.9rem;
    margin-bottom: 1.1rem;
    gap: 0.7rem;
  }
  .contact-aside__live strong { font-size: 0.88rem; }
  .contact-aside__live small { font-size: 0.72rem; }
  .contact-aside__items { gap: 0.8rem; }
  .contact-aside__items li { gap: 0.7rem; }
  .cs-ico {
    width: 32px; height: 32px;
    border-radius: 9px;
  }
  .cs-ico svg { width: 14px; height: 14px; }
  .contact-aside__items li small {
    font-size: 0.64rem;
    letter-spacing: 0.1em;
  }
  .contact-aside__items li a,
  .contact-aside__items li p {
    font-size: 0.9rem;
    word-break: break-word;
  }

  /* FAQ */
  .faq-section { padding: 2rem 0 2.5rem; }
  .faq-grid { gap: 0.7rem; }
  .faq { padding: 1.1rem 1.2rem; border-radius: 12px; }
  .faq__q {
    font-size: 0.96rem;
    gap: 0.55rem;
    margin-bottom: 0.35rem;
  }
  .faq__q::before {
    width: 20px; height: 20px;
    font-size: 0.72rem;
  }
  .faq__a {
    font-size: 0.9rem;
    padding-left: 1.7rem;
    line-height: 1.55;
  }
}

@media (max-width: 600px) {
  .about-hero { padding: 1.4rem 0 1.2rem; }
  .cform-wrap { padding: 1.4rem 1.2rem; }
  .cform-wrap__head .h2 { font-size: 1.35rem; }
}

@media (max-width: 400px) {
  .ch-card__meta strong { font-size: 0.9rem; }
  .ch-card__meta span { font-size: 0.7rem; }
  .cform-wrap { padding: 1.2rem 1rem; }
  .cform-wrap__head .h2 { font-size: 1.25rem; }
  .cform-wrap__lede { font-size: 0.88rem; }
  .faq__q { font-size: 0.92rem; }
  .faq__a { font-size: 0.86rem; padding-left: 1.6rem; }
}

/* ============================================================
   MOBILE OVERRIDES — QUOTE / INSPECTION MODAL (popup)
   Anasayfa "Ücretsiz Keşif Al" + servis sayfalarındaki quote modal.
   Desktop centered popup → mobile bottom-sheet (slide-up, full-height).
   ============================================================ */

@media (max-width: 768px) {

  /* MODAL WRAPPER → bottom sheet pozisyonu */
  .quote-modal {
    align-items: flex-end;          /* alta yasla */
    padding: 0;                     /* edge-to-edge */
  }

  /* SHELL → full-width sheet */
  .quote-modal__shell {
    max-width: 100%;
    width: 100%;
    max-height: 92dvh;              /* dvh: mobil URL bar ile uyumlu */
    background: var(--white);       /* sheet'in beyaz zemini */
    border-radius: 22px 22px 0 0;   /* yalnızca üst köşeler */
    box-shadow: 0 -10px 40px -8px rgba(0, 21, 64, 0.35);
    animation: bk-sheet-up .35s cubic-bezier(.32, .72, 0, 1);
    /* iOS notch / home indicator safe area */
    padding-bottom: env(safe-area-inset-bottom);
    /* iç scroll */
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* SHEET drag handle (üstte — görsel ipucu) */
  .quote-modal__shell::before {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin: 10px auto 6px;
    border-radius: 99px;
    background: rgba(0, 21, 64, 0.18);
  }

  /* CLOSE button — daha büyük tap target, shell sağ üstüne */
  .quote-modal__close {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    font-size: 1.7rem;
    background: rgba(0, 21, 64, 0.08);
  }
  .quote-modal__close:hover { transform: none; }

  /* Backdrop sadece fade — pop animasyonu bottom-sheet'le çakışmasın */
  @keyframes bk-sheet-up {
    0%   { transform: translateY(100%); }
    100% { transform: translateY(0); }
  }

  /* FORM içi — modal içindeyken booking-card'a ekstra padding gerekmiyor */
  .quote-modal__form.booking-card {
    padding: 0.5rem 1.1rem 1.4rem;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }
  .quote-modal__form .booking-card__header {
    margin-bottom: 0.9rem;
    padding-right: 50px;            /* close butonuna yer */
  }
  .quote-modal__form .booking-card__title { font-size: 1.15rem; line-height: 1.3; }
  .quote-modal__form .booking-card__title small {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.82rem;
    line-height: 1.5;
  }

  /* INPUT'lar → iOS zoom önlemi (16px = no auto-zoom) */
  .quote-modal__form input[type=text],
  .quote-modal__form input[type=tel],
  .quote-modal__form input[type=email],
  .quote-modal__form input[type=date],
  .quote-modal__form select,
  .quote-modal__form textarea {
    font-size: 16px !important;
    min-height: 48px;
    padding: 0.7rem 0.9rem;
    border-radius: 11px;
  }
  .quote-modal__form textarea {
    min-height: 90px !important;
    padding: 0.8rem 0.9rem !important;
  }
  .quote-modal__form .booking-field { margin-bottom: 0.75rem; }
  .quote-modal__form .booking-field label {
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
  }

  /* ROW (telefon + ilçe) — tek sütun */
  .quote-modal__form .booking-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* TIME SLOTS — yatay satır görünümü (kompakt) */
  .quote-modal__form .bk-timeslot {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .quote-modal__form .bk-slot__inner {
    flex-direction: row;
    gap: 0.85rem;
    padding: 0.75rem 1rem 0.75rem 0.9rem;
    min-height: 56px;
    text-align: left;
    justify-content: flex-start;
  }
  .quote-modal__form .bk-slot__ico { width: 34px; height: 34px; }
  .quote-modal__form .bk-slot__ico svg { width: 18px; height: 18px; }
  .quote-modal__form .bk-slot__label { font-size: 0.95rem; }
  .quote-modal__form .bk-slot__time {
    margin-left: auto;
    padding-right: 30px;            /* check ikon için */
    font-size: 0.78rem;
  }

  /* SUBMIT — sticky bottom feel */
  .quote-modal__form .booking-card__submit {
    width: 100%;
    min-height: 54px;
    margin-top: 1rem;
    font-size: 1rem;
  }
  .quote-modal__form .booking-card__foot {
    font-size: 0.78rem;
    line-height: 1.5;
    margin-top: 0.85rem;
  }

  /* SUCCESS state — modal içinde daha kompakt */
  .quote-modal__form .booking-card__success { padding: 1.5rem 0.5rem; }
  .quote-modal__form .bk-success__title { font-size: 1.25rem; }
  .quote-modal__form .bk-success__lede { font-size: 0.92rem; }
  .quote-modal__form .bk-success__steps li {
    font-size: 0.88rem;
    padding: 0.55rem 0.75rem;
  }
}

/* ----- Extra small (≤400px): biraz daha sık ----- */
@media (max-width: 400px) {
  .quote-modal__form.booking-card { padding: 0.5rem 0.9rem 1.2rem; }
  .quote-modal__form .booking-card__title { font-size: 1.05rem; }
  .quote-modal__form .booking-card__title small { font-size: 0.78rem; }
  .quote-modal__form .bk-slot__inner { padding: 0.7rem 0.85rem; min-height: 52px; }
  .quote-modal__form .bk-slot__label { font-size: 0.9rem; }
  .quote-modal__form .bk-slot__time { font-size: 0.72rem; padding-right: 26px; }
  .quote-modal__form .booking-card__submit { min-height: 52px; font-size: 0.95rem; }
}

/* ============================================================
   MOBILE FORM CONTROLS — tap highlight + native select/date
   Tüm booking formları (hero + modal). Sadece mobil.
   ============================================================ */
@media (max-width: 768px) {

  /* --- Tap highlight (mavi flash) --- */
  .bk-slot,
  .bk-slot__inner,
  .booking-field input,
  .booking-field select,
  .booking-field textarea,
  .booking-card .btn,
  .quote-modal__close {
    -webkit-tap-highlight-color: transparent;
  }

  /* Time slot tap feedback (native blue yerine kendi pulse) */
  .bk-slot:active .bk-slot__inner {
    transform: scale(.98);
    background: var(--rose-soft, #ffe8f1);
    border-color: var(--rose);
  }

  /* --- SELECT: native chevron'u kaldır, kendi ok'umuzu koy --- */
  .booking-field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23001540' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 8 10 13 15 8'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    background-size: 18px 18px;
    background-color: var(--gray-50);
    cursor: pointer;
  }
  .booking-field select:focus {
    background-color: var(--white);
  }

  /* --- DATE INPUT: native picker indicator'ı sağa al + ikon ekle --- */
  .booking-field input[type=date] {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001540' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 9h18M8 3v4M16 3v4'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    background-size: 18px 18px;
    background-color: var(--gray-50);
    min-height: 48px;
    position: relative;
  }
  /* iOS Safari'nin kendi takvim ikonu — gizle (kendi ikonumuz var) */
  .booking-field input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    right: 0; top: 0;
    width: 100%; height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  .booking-field input[type=date]::-webkit-date-and-time-value {
    text-align: left;
  }

  /* Tüm input/select için aynı görsel dil (focus ring) */
  .booking-field input:focus,
  .booking-field select:focus,
  .booking-field textarea:focus {
    background-color: var(--white);
    border-color: var(--rose);
    box-shadow: 0 0 0 3px rgba(214, 51, 132, 0.15);
    outline: none;
  }
}

/* ===========================================================================
   ====================  MOBILE OVERRIDES — LEGAL PAGES  ====================
   /kvkk, /gizlilik, /cerez-politikasi, /kullanim-kosullari
   Ortak .legal-page yapısı için. .about-hero hakkımızda block'ta zaten ele alındı.
   =========================================================================== */
@media (max-width: 768px) {

  /* Section padding kompakt */
  .legal-page { padding: 1.4rem 0 3.5rem; }
  .legal-page__wrap { gap: 1.2rem; }

  /* TOC (artık static, 980px'te tek kolon olmuştu) — kompakt kart */
  .legal-page__toc {
    padding: 1.1rem 1.1rem;
    border-radius: 16px;
  }
  .legal-page__toc-title {
    font-size: 0.62rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
  }
  .legal-page__toc ol li a {
    padding: 0.42rem 0;
    font-size: 0.86rem;
    line-height: 1.4;
  }
  .legal-page__toc ol li a::before {
    font-size: 0.72rem;
    min-width: 20px;
  }

  /* Body — daha az padding, daha sıkı line-height */
  .legal-page__body {
    padding: 1.6rem 1.25rem;
    border-radius: 18px;
    font-size: 0.94rem;
    line-height: 1.72;
  }

  /* Lede kutusu */
  .legal-page__lede {
    font-size: 0.96rem;
    line-height: 1.65;
    padding: 0.95rem 1rem;
    margin-bottom: 1.8rem;
    border-radius: 0 10px 10px 0;
  }

  /* H2 başlıklar */
  .legal-page__body h2 {
    font-size: 1.18rem;
    line-height: 1.3;
    margin: 2rem 0 0.85rem;
    padding-bottom: 0.5rem;
    scroll-margin-top: 80px;
  }
  .legal-page__body h2:first-of-type {
    margin-top: 0.3rem;
  }

  /* Liste sıkı */
  .legal-page__body ul { margin: 0 0 1.2rem; }
  .legal-page__body ul li {
    padding-left: 1.4rem;
    margin-bottom: 0.5rem;
  }

  /* Paragraf spacing */
  .legal-page__body p { margin: 0 0 0.95rem; }

  /* İmza/footnote */
  .legal-page__sign {
    margin-top: 2rem;
    padding-top: 1.1rem;
    font-size: 0.78rem;
    line-height: 1.5;
  }

  /* Tablolar (cerez-politikası) yatay scroll edebilsin, font küçült */
  .legal-table { font-size: 0.84rem; }
  .legal-table th {
    padding: 0.7rem 0.85rem;
    font-size: 0.66rem;
  }
  .legal-table td { padding: 0.7rem 0.85rem; }
}

/* ----- 600px altı: ekstra sıkılaştırma ----- */
@media (max-width: 600px) {
  .legal-page__body { padding: 1.35rem 1.05rem; font-size: 0.92rem; }
  .legal-page__body h2 { font-size: 1.1rem; }
  .legal-page__lede { font-size: 0.92rem; padding: 0.85rem 0.95rem; }
  .legal-page__toc { padding: 0.95rem 1rem; }
  .legal-page__toc ol li a { font-size: 0.84rem; padding: 0.38rem 0; }
}

/* ----- 400px altı: son trim ----- */
@media (max-width: 400px) {
  .legal-page__body { padding: 1.15rem 0.9rem; font-size: 0.9rem; line-height: 1.7; }
  .legal-page__body h2 { font-size: 1.05rem; }
  .legal-page__lede { font-size: 0.9rem; padding: 0.8rem 0.85rem; }
  .legal-page__body ul li { padding-left: 1.25rem; }
}

/* ============================================================
   404 — Sayfa Bulunamadı
   (about-hero ritmini ve seal device'ını yeniden kullanır)
   ============================================================ */

.err404-hero {
  padding: 4rem 0 3rem;
  position: relative;
}
.err404-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 500px at 85% 15%, rgba(214, 51, 132, 0.06), transparent 60%),
    radial-gradient(circle 420px at 12% 85%, rgba(0, 32, 96, 0.05), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.err404-hero > .container { position: relative; z-index: 1; }

.err404-hero__grid {
  align-items: center;
}

.err404-hero__cta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

/* 404 seal — rose ringle döner, ortada büyük 404 */
.err404-seal {
  width: 260px;
  height: 260px;
}
.err404-seal .seal__core {
  inset: 30px;
  /* Navy ağırlıklı, rose accent — 404 ciddiyeti */
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 60%, var(--rose-deep) 100%);
}
.err404-seal .seal__mark {
  font-size: 3rem;
  letter-spacing: -0.02em;
}
.err404-seal .seal__est {
  font-size: 0.6rem;
  letter-spacing: 0.34em;
  margin-top: 6px;
  opacity: 0.78;
}
.err404-seal .seal__year {
  font-size: 1.05rem;
  letter-spacing: 0.22em;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.95);
}

/* ---------- Hub Cards ---------- */

.err404-hubs-section {
  padding: 1rem 0 5rem;
  position: relative;
}

.err404-hubs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}

.err404-hub {
  position: relative;
  display: block;
  padding: 2rem 1.8rem 2.2rem;
  background: var(--white);
  border: 1px solid var(--navy-soft);
  border-radius: 14px;
  text-decoration: none;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
  overflow: hidden;
}
.err404-hub::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rose) 0%, var(--rose-deep) 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
.err404-hub:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -22px rgba(0, 21, 64, 0.22);
  border-color: rgba(214, 51, 132, 0.28);
}
.err404-hub:hover::before { transform: scaleX(1); }

.err404-hub__num {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--ink-mute);
  margin-bottom: 1rem;
}
.err404-hub__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rose-deep);
  margin-bottom: 0.7rem;
}
.err404-hub__title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 0.8rem;
}
.err404-hub__desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0 0 1.4rem;
}
.err404-hub__arrow {
  display: inline-block;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--rose-deep);
  transition: color 0.25s ease, transform 0.25s ease;
}
.err404-hub:hover .err404-hub__arrow {
  color: var(--rose-darker);
  transform: translateX(4px);
}

/* ----- Tablet ----- */
@media (max-width: 980px) {
  .err404-hubs { grid-template-columns: 1fr 1fr; }
}

/* ----- MOBILE OVERRIDES — 404 ----- */
@media (max-width: 768px) {
  .err404-hero { padding: 2.5rem 0 2rem; }
  .err404-hero__cta { width: 100%; flex-direction: column; gap: 0.6rem; }
  .err404-hero__cta .btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.4rem;
    font-size: 1rem;
    min-height: 52px;
    border-radius: 14px;
  }

  /* Mobilde seal gizli — başlık+CTA tek başına yeterli */
  .err404-hero .about-hero__seal { display: none; }

  .err404-hubs-section { padding: 0.5rem 0 3.5rem; }
  .err404-hubs { grid-template-columns: 1fr; gap: 1rem; }
  .err404-hub { padding: 1.5rem 1.35rem 1.6rem; border-radius: 12px; }
  .err404-hub__title { font-size: 1.2rem; }
  .err404-hub__desc { font-size: 0.92rem; margin-bottom: 1.1rem; }
}

@media (max-width: 400px) {
  .err404-hero__cta { margin-top: 1.6rem; }
  .err404-hub__title { font-size: 1.1rem; }
}
