/* =====================================================================
   Artı Estetik — motion.css (animatronik_animasyon.md + Mobilci kalibrasyonu)
   Kanal kuralı: giriş = transform+opacity · süzülme = translate · eğim/dönüş = rotate
   (puan hapı: ortalama = translate · giriş + süzülme = transform, sıralı;
   WhatsApp: hover = transform · basılı = scale, giriş animasyonu yok)
   Yalnızca transform/translate/rotate/scale/opacity (+ reveal ve yıldız dolgusunda bir kez clip-path).
   Tüm hareket .js altında; prefers-reduced-motion: reduce → hareket yok.
   ===================================================================== */

/* ---------- 0. Sayfa / dil geçişi — CSS cross-document view transition (§8; JS ele geçirme yok) ---------- */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-group(root) { animation-duration: 200ms; animation-timing-function: cubic-bezier(.4, 0, .2, 1); }
  /* İsteğe bağlı (varsayılan açık): header yerinde kalır; görsel QA'da blur/parlama sorunu çıkarsa bu satır silinir */
  .site-header { view-transition-name: site-header; }
}

/* ---------- 1. Hover / odak derinliği (yalnızca ince işaretçi) ---------- */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .btn--primary:hover, .btn--light:hover { transform: translateY(-2px); transition: transform 240ms var(--ease-out), background-color 160ms var(--ease-soft); }
  .btn--secondary:hover { transform: translateY(-1px); transition: transform 240ms var(--ease-out), background-color 160ms var(--ease-soft); }
  .btn:hover .btn__icon { transform: translateX(2px); }
  .btn:active, .btn--primary:active, .btn--light:active, .btn--secondary:active { transform: translateY(0) scale(.98); transition-duration: 90ms; }
  /* H-1 ince kart hover'ı: −2 px, kart zemini değişmez */
  .service-card:not(.service-card--static):hover { transform: translateY(-2px); transition: transform 220ms var(--ease-out), border-color 160ms var(--ease-soft); }
  .service-card:not(.service-card--static):active { transform: translateY(0); transition-duration: 90ms; }
  .service-card:not(.service-card--static):hover .service-card__chev,
  .service-card:not(.service-card--static):hover .card-more .i { transform: translateX(3px); transition: transform 220ms var(--ease-out), color 160ms var(--ease-soft); }
  .team-card--link:hover { transform: translateY(-2px); transition: transform 220ms var(--ease-out), border-color 160ms var(--ease-soft); }
  .team-card--link:active { transform: translateY(0); }
  .team-card--link:hover .team-card__arrow .i { transform: translateX(3px); transition: transform 220ms var(--ease-out); }
  .chip:hover { transform: translateY(-1px); transition: transform 200ms var(--ease-out), border-color 160ms var(--ease-soft); }
  .chip:active { transform: translateY(0); }
  .text-link:hover .i { transform: translateX(2px); }
  .text-link--ext:hover .i { transform: translate(2px, -2px); }
}
@media (hover: hover) and (pointer: fine) {
  .service-card:not(.service-card--static):hover, .team-card--link:hover { border-color: rgba(57, 117, 208, .35); }
  .service-card:not(.service-card--static):hover::after,
  .team-card--link:hover::after { opacity: 1; transition: opacity 220ms var(--ease-out); }
  /* hale + ikon tonu: maskeli PNG ikon (svc-ico, currentColor) hale rengini izler */
  .service-card:not(.service-card--static):hover .halo { background-color: var(--c-accent-soft-2); color: var(--c-accent); }
  .service-card:not(.service-card--static):hover .service-card__chev { color: var(--c-primary); }
}
/* WhatsApp düğmesi: hover yalnızca ≥768 (etiketli hap); ek gölge katmanı yok */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .wa-fab:hover { border-color: rgba(57, 117, 208, .35); }
  .wa-fab:hover .wa-fab__icon { background-color: var(--c-accent-soft-2); }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .wa-fab:hover { transform: translateY(-2px); }
  .wa-fab:active { transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) { .wa-fab:active { scale: .98; } }
/* Klavye odağı aynı derinliği alır */
.service-card:not(.service-card--static):has(.stretched:focus-visible), .team-card--link:has(.stretched:focus-visible) { border-color: rgba(57, 117, 208, .35); }
.service-card:has(.stretched:focus-visible)::after, .team-card--link:has(.stretched:focus-visible)::after { opacity: 1; }
.service-card:has(.stretched:focus-visible) .halo { background-color: var(--c-accent-soft-2); color: var(--c-accent); }
@media (min-width: 768px) {
  .wa-fab:focus-visible { border-color: rgba(57, 117, 208, .35); }
  .wa-fab:focus-visible .wa-fab__icon { background-color: var(--c-accent-soft-2); }
}
@media (prefers-reduced-motion: no-preference) {
  .btn--primary:focus-visible, .btn--light:focus-visible { transform: translateY(-2px); }
  .btn--secondary:focus-visible { transform: translateY(-1px); }
  .service-card:has(.stretched:focus-visible), .team-card--link:has(.stretched:focus-visible) { transform: translateY(-2px); }
  .service-card:has(.stretched:focus-visible) .service-card__chev, .service-card:has(.stretched:focus-visible) .card-more .i { transform: translateX(3px); }
  .team-card--link:has(.stretched:focus-visible) .team-card__arrow .i { transform: translateX(3px); }
  .text-link:focus-visible .i { transform: translateX(2px); }
  .text-link--ext:focus-visible .i { transform: translate(2px, -2px); }
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) { .wa-fab:focus-visible { transform: translateY(-2px); } }

/* ---------- 2. CTA belirmesi (header CTA + mobil alt çubuk) ---------- */
.js [data-cta-gate]:not([data-cta-state="shown"]) { visibility: hidden; }
.js [data-cta-gate] {
  opacity: 0; translate: 0 -6px;
  transition: opacity 220ms var(--ease-soft), translate 240ms var(--ease-out), visibility 0s linear 240ms;
}
.js [data-cta-gate][data-cta-state="shown"] {
  opacity: 1; translate: none; visibility: visible;
  transition: opacity 220ms var(--ease-soft), translate 240ms var(--ease-out), visibility 0s;
}
.js .mobile-bar[data-cta-gate] { translate: 0 16px; transition-duration: 260ms, 260ms, 0s; transition-delay: 0s, 0s, 260ms; }
.js .mobile-bar[data-cta-gate][data-cta-state="shown"] { translate: none; transition-delay: 0s; }
@media (hover: none), (pointer: coarse) {
  .js .mobile-bar[data-cta-gate] { transition-duration: 200ms, 200ms, 0s; transition-delay: 0s, 0s, 200ms; }
  .js .mobile-bar[data-cta-gate][data-cta-state="shown"] { transition-delay: 0s; }
}

/* ---------- 3. Açılır panel, mobil menü paneli (header altı, modal değil), SSS ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js .dropdown { opacity: 0; transform: translateY(-6px) scale(.98); transition: opacity 140ms var(--ease-soft), transform 140ms var(--ease-soft); }
  .js .dropdown.is-open { opacity: 1; transform: none; transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out); }

  .js .menu-panel { opacity: 0; transform: translateY(-8px); transition: opacity 160ms var(--ease-soft), transform 160ms var(--ease-soft); }
  .js .menu-panel.is-open { opacity: 1; transform: none; transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
  .js .menu-panel__list > li { opacity: 0; transform: translateY(8px); }
  .js .menu-panel.is-open .menu-panel__list > li { opacity: 1; transform: none; transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out); transition-delay: calc(60ms + var(--mi, 0) * 40ms); }
  .js .menu-panel__list > li:nth-child(2) { --mi: 1; }
  .js .menu-panel__list > li:nth-child(3) { --mi: 2; }
  .js .menu-panel__list > li:nth-child(4) { --mi: 3; }
  .js .menu-panel__list > li:nth-child(5) { --mi: 4; }
  .js .menu-panel__list > li:nth-child(6) { --mi: 5; }
  /* hamburger ↔ ×: çapraz solma + × için rotate(-45° → 0) */
  .js .menu-toggle .i { transition: opacity 180ms var(--ease-out), rotate 180ms var(--ease-out); }
  .js .menu-toggle__close { rotate: -45deg; }
  .js .menu-toggle[aria-expanded="true"] .menu-toggle__close { rotate: 0deg; }

  .faq__item[open] .faq__a { animation: faq-in 260ms var(--ease-out); }
}
@media (prefers-reduced-motion: no-preference) and ((hover: none) or (pointer: coarse)) {
  .js .menu-panel.is-open { transition-duration: 180ms; }
  .js .menu-panel { transition-duration: 120ms; }
  .js .menu-panel.is-open .menu-panel__list > li { transition-delay: calc(var(--mi, 0) * 25ms); }
  .js .menu-toggle .i { transition-duration: 140ms; }
}
[data-perf="low"] .menu-panel__list > li { transition: none !important; opacity: 1 !important; transform: none !important; }
[data-perf="low"] .menu-panel.is-open { transition-duration: 140ms !important; }
@keyframes faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- 4. Scroll-reveal (JS yalnızca görünüm altındaki öğelere .rv ekler) ---------- */
.js .rv {
  opacity: 0; transform: translateY(var(--rv-y, 20px));
  transition:
    opacity calc(var(--rv-dur, 640ms) * var(--tm)) var(--rv-ease, var(--ease-out)) var(--rv-d, 0ms),
    transform calc(var(--rv-dur, 640ms) * var(--tm)) var(--rv-ease, var(--ease-out)) var(--rv-d, 0ms);
}
.js .rv[data-rv="up-sm"] { --rv-y: 12px; --rv-dur: 480ms; }
.js .rv[data-rv="scale"] { --rv-dur: 720ms; transform: translateY(12px) scale(.97); transform-origin: 50% 100%; }
.js .rv[data-rv="pop"] { --rv-dur: 420ms; --rv-ease: var(--ease-pop); transform: scale(.6); }
.js .rv[data-rv="fade"] { --rv-dur: 900ms; --rv-ease: var(--ease-soft); transform: none; }
.js .rv[data-rv="draw"], .js .rv[data-rv="draw-v"] {
  opacity: 1; transform: none; clip-path: inset(0 100% 0 0);
  transition: clip-path calc(var(--rv-draw, 520ms) * var(--tm)) var(--ease-draw) var(--rv-d, 0ms);
}
.js .rv[data-rv="draw-v"] { clip-path: inset(0 0 100% 0); }
.js .rv[data-rv="mask"] {
  --rv-mask-r: 32px;
  transform: none; clip-path: inset(0 0 100% 0 round var(--rv-mask-r));
  transition:
    opacity calc(400ms * var(--tm)) var(--ease-soft) var(--rv-d, 0ms),
    clip-path calc(var(--rv-mask-dur, 900ms) * var(--tm)) var(--ease-draw) var(--rv-d, 0ms);
}
/* Süreç adımları: ray çizilir, düğümler sırayla belirir */
.js .rv[data-rv="steps"] { opacity: 1; transform: none; transition: none; }
.js .steps.rv::before { clip-path: inset(0 0 100% 0); }
.js .steps.rv .step__node { opacity: 0; transform: scale(.6); }
.js .steps.rv .step__title, .js .steps.rv .step__text { opacity: 0; transform: translateY(12px); }
.step:nth-child(1) { --si: 0; } .step:nth-child(2) { --si: 1; } .step:nth-child(3) { --si: 2; }
.step:nth-child(4) { --si: 3; } .step:nth-child(5) { --si: 4; }
@media (min-width: 1024px) { .js .steps.rv::before { clip-path: inset(0 100% 0 0); } }
/* Değer kartı numara dairesi: kart açıldıktan +100 ms pop */
.js .values .rv::before { opacity: 0; transform: scale(.6); }

/* Hedef durumlar (tür kurallarından sonra) */
.js .rv.is-in { opacity: 1; transform: none; }
.js .rv.is-in[data-rv="draw"], .js .rv.is-in[data-rv="draw-v"] { clip-path: inset(0 0 0 0); }
.js .rv.is-in[data-rv="mask"] { clip-path: inset(0 0 0 0 round var(--rv-mask-r)); }
.js .steps.rv.is-in::before { clip-path: inset(0 0 0 0); transition: clip-path calc(var(--ray, 1000ms) * var(--tm)) var(--ease-draw); }
.js .steps.rv.is-in .step__node {
  opacity: 1; transform: none;
  transition: opacity calc(420ms * var(--tm)) var(--ease-pop) calc(var(--si) * var(--sstep, 120ms)), transform calc(420ms * var(--tm)) var(--ease-pop) calc(var(--si) * var(--sstep, 120ms));
}
.js .steps.rv.is-in .step__title, .js .steps.rv.is-in .step__text {
  opacity: 1; transform: none;
  transition: opacity calc(480ms * var(--tm)) var(--ease-out) calc(var(--si) * var(--sstep, 120ms) + 100ms), transform calc(480ms * var(--tm)) var(--ease-out) calc(var(--si) * var(--sstep, 120ms) + 100ms);
}
.js .values .rv.is-in::before {
  opacity: 1; transform: none;
  transition: opacity calc(420ms * var(--tm)) var(--ease-pop) calc(var(--rv-d, 0ms) + var(--pop-d, 100ms)), transform calc(420ms * var(--tm)) var(--ease-pop) calc(var(--rv-d, 0ms) + var(--pop-d, 100ms));
}

/* Dokunmatik kalibrasyon (Mobilci) */
@media (hover: none), (pointer: coarse) {
  .js .rv { --rv-dur: 520ms; --rv-y: 16px; --rv-draw: 400ms; }
  .js .rv[data-rv="up-sm"] { --rv-dur: 420ms; --rv-y: 12px; }
  .js .rv[data-rv="scale"] { --rv-dur: 560ms; }
  .js .rv[data-rv="mask"] { --rv-mask-dur: 600ms; }
  .steps { --ray: 700ms; --sstep: 80ms; }
  .values { --pop-d: 60ms; }
  /* iframe'li harita kutusu: dokunmatikte yalnızca opaklık (yeniden bileştirme/titreme önlenir) */
  .js .rv.map-wrap { --rv-dur: 400ms; transform: none; }
}
/* Düşük performans profili: yalnızca opaklık, kademe yok */
[data-perf="low"] .rv, [data-perf="low"] .rv[data-rv] {
  transform: none !important; clip-path: none !important;
  transition: opacity 320ms var(--ease-soft) !important;
}
[data-perf="low"] .steps.rv::before, [data-perf="low"] .steps.rv .step__node,
[data-perf="low"] .steps.rv .step__title, [data-perf="low"] .steps.rv .step__text,
[data-perf="low"] .values .rv::before { clip-path: none !important; transform: none !important; transition: opacity 320ms var(--ease-soft) !important; }

/* Puan yıldızları girişi — yalnızca puan bölümündeki yıldızlar (.trust .stars; hap yıldızı statik) */
.js .trust .stars.is-anim .star {
  transition: opacity calc(420ms * var(--tm)) var(--ease-out) calc(var(--i, 0) * var(--st-step, 80ms)), transform calc(420ms * var(--tm)) var(--ease-out) calc(var(--i, 0) * var(--st-step, 80ms));
}
.js .trust .stars.is-anim .star__fill { transition: clip-path var(--st-sweep, 520ms) var(--ease-draw) calc(var(--i, 0) * var(--st-step, 80ms) + 120ms); }
.js .trust .stars.is-pre .star { opacity: 0; transform: translateY(4px) scale(.9); }
.js .trust .stars.is-pre .star__fill { clip-path: inset(0 100% 0 0); }
@media (hover: none), (pointer: coarse) { .trust .stars { --st-step: 50ms; --st-sweep: 400ms; } }

/* ScrollVideo v2: video / canvas yalnızca JS ile eklenir; hazır olunca posterin üstünde 240 ms'de belirir */
.scrollvideo__video, .scrollvideo__canvas { opacity: 0; transition: opacity 240ms var(--ease-soft); }
.scrollvideo__video.is-ready, .scrollvideo__canvas.is-ready { opacity: 1; }
.sv-hint { transition: opacity 240ms var(--ease-soft); }
.sv-section[data-sv-hint="gone"] .sv-hint { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .sv-section[data-sv-hint="nudge"] .sv-hint__halo .i { animation: sv-nudge 1600ms ease-in-out 3; } /* 3 tekrar, sonra durur */
}
@keyframes sv-nudge { 50% { transform: translateY(4px); } }

/* ---------- 5. Hero yükleme koreografisi (saf CSS, ≤900 ms; H1/CTA/görsel hiç gizlenmez) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js .hero__eyebrow { --rise: 10px; animation: rise calc(460ms * var(--tm)) var(--ease-out) backwards; }
  .js .hero__title { --rise: 16px; animation: rise calc(560ms * var(--tm)) var(--ease-out) calc(60ms * var(--tm)) backwards; }
  .js .hero__sub { --rise: 14px; animation: rise calc(540ms * var(--tm)) var(--ease-out) calc(160ms * var(--tm)) backwards; }
  .js .hero__cta { --rise: 12px; animation: rise calc(540ms * var(--tm)) var(--ease-out) calc(260ms * var(--tm)) backwards; }
  .js .hero-stat { animation: rise-in calc(460ms * var(--tm)) var(--ease-out) calc((300ms + var(--hs, 0) * 60ms) * var(--tm)) backwards; }
  .js .hero-visual__img { --rise: 14px; animation: rise calc(600ms * var(--tm)) var(--ease-out) calc(100ms * var(--tm)) backwards; }
  /* Puan hapı (§9): giriş 3 px (transform) → bitince ölçülü süzülme 0 … −3 px (transform, sıralı); ortalama translate'te */
  .js .hero-bubble {
    animation:
      bubble-in calc(480ms * var(--tm)) var(--ease-out) calc(420ms * var(--tm)) backwards,
      bubble-float 6500ms var(--ease-drift) calc(900ms * var(--tm)) infinite alternate;
  }
  /* Dönen halkalar (tur 3 hareketi; proje sahibi notuyla geri geldi): solarak girer, 140 sn'de tek tur;
     hero görünüm dışındayken duraklar (.is-paused .drift) */
  .js .hero-orbits-wrap { animation: fade-in calc(500ms * var(--tm)) var(--ease-soft) calc(360ms * var(--tm)) backwards; }
  .js .hero-orbits { animation: spin 140s linear infinite; }

  /* Kapanış bandı ortamı (yalnızca CSS) */
  .js .closing__blob { animation: drift-closing 48s var(--ease-drift) var(--fd, 0s) infinite alternate; }
  .js .closing__arc--a { animation: sway 60s var(--ease-drift) var(--fd, 0s) infinite alternate; }
  .js .closing__arc--b { animation: sway 72s var(--ease-drift) var(--fd, 0s) infinite alternate; }

  .js .is-paused .drift { animation-play-state: paused; }

  /* İç sayfa girişleri (yükleme; H1 opaklığı .6'dan başlar) */
  .js .enter { animation: rise calc(480ms * var(--tm)) var(--ease-out) calc(var(--ed, 0ms) * var(--tm)) backwards; }
  .js .enter--60 { --ed: 60ms; }
  .js .enter--80 { --ed: 80ms; }
  .js .enter--120 { --ed: 120ms; }
  .js .enter--140 { --ed: 140ms; }
  .js .enter--r14 { --rise: 14px; }
  .js .enter-photo { --rise: 12px; animation: rise calc(560ms * var(--tm)) var(--ease-out) calc(140ms * var(--tm)) backwards; }
  .js .enter-fade { animation: fade-in calc(600ms * var(--tm)) var(--ease-soft) backwards; }
  .js .enter-pop { animation: pop-in calc(420ms * var(--tm)) var(--ease-pop) calc((var(--pd, 0ms) + var(--pi, 0) * var(--ps, 70ms)) * var(--tm)) backwards; }
  /* Medya yuvası yedek kartları (Hakkımızda giriş): up-sm, 320 ms'den 80 ms kademe */
  .js .enter-art { animation: rise-sm calc(480ms * var(--tm)) var(--ease-out) calc((320ms + var(--ai, 0) * var(--as, 80ms)) * var(--tm)) backwards; }
  /* Hizmetler dizini ikon mozaiği (tur 5; takımyıldızının enter-pop değerleri aynen) */
  .js .svc-mosaic__tile { --pd: 300ms; --ps: 70ms; }
  .js .notfound__card { animation: card-in calc(480ms * var(--tm)) var(--ease-out) backwards; }
  .js .notfound__card .halo { --pd: 160ms; }
}
.hero-stat:nth-child(2) { --hs: 1; }
.hero-stat:nth-child(3) { --hs: 2; }
.svc-mosaic__tile:nth-child(2) { --pi: 1; }
.svc-mosaic__tile:nth-child(3) { --pi: 2; }
.svc-mosaic__tile:nth-child(4) { --pi: 3; }
.svc-mosaic__tile:nth-child(5) { --pi: 4; }
.svc-mosaic__tile:nth-child(6) { --pi: 5; }
.svc-mosaic__tile:nth-child(7) { --pi: 6; }
.svc-mosaic__tile:nth-child(8) { --pi: 7; }
.art-gulus__k2 { --ai: 1; }
.art-gulus__k3 { --ai: 2; }

@keyframes rise { from { opacity: .6; transform: translateY(var(--rise, 12px)); } to { opacity: 1; transform: none; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes rise-sm { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bubble-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
@keyframes bubble-float { from { transform: none; } to { transform: translateY(-3px); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop-in { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
@keyframes card-in { from { opacity: .6; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes drift-closing { from { translate: 0 0; rotate: 0deg; } to { translate: -28px 18px; rotate: 6deg; } }
@keyframes sway { from { rotate: -3deg; } to { rotate: 3deg; } }
@keyframes spin { from { rotate: 0deg; } to { rotate: 360deg; } }

/* Dokunmatik: kapanış ortamı durağan (hero halkaları ve puan hapı süzülmesi dokunmatikte de çalışır) */
@media (hover: none), (pointer: coarse) {
  .js .closing__blob, .js .closing__arc { animation: none; }
  .js .svc-mosaic__tile { --ps: 40ms; }
  .js .enter-art { --as: 50ms; }
  .hero::after { mix-blend-mode: normal; opacity: .03; }
  .closing__panel::after { mix-blend-mode: normal; opacity: .04; }
}
/* Düşük performans: süzülmeler (puan hapı dahil) ve halka dönüşü kapalı, kademe yok — hap nihai konumda */
[data-perf="low"] .drift, [data-perf="low"] .hero-orbits { animation: none !important; }
[data-perf="low"] .svc-mosaic__tile { --ps: 0ms; }
[data-perf="low"] .enter-art { --as: 0ms; }

/* ---------- 6. Dokunmatik :active geri bildirimi (Mobilci) ---------- */
@media ((hover: none) or (pointer: coarse)) and (prefers-reduced-motion: no-preference) {
  .btn:active { transform: scale(.97); transition: transform 90ms var(--ease-out); }
  .service-card:not(.service-card--static):active, .chip:active { transform: scale(.985); transition: transform 90ms var(--ease-out); }
  .team-card--link:active { transform: translateY(1px); }
}
@media (hover: none), (pointer: coarse) {
  .btn--primary:active { background: var(--c-primary-pressed); }
  .btn--light:active, .btn--secondary:active { background: #E3ECFA; }
  .chip:active, .service-card:not(.service-card--static):active { border-color: rgba(57, 117, 208, .35); }
  .chip:active .chip__halo, .service-card:not(.service-card--static):active .halo { background-color: var(--c-accent-soft-2); }
}

/* ---------- 7. prefers-reduced-motion: reduce (ZORUNLU) ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
  .rv { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .hero__ambient { transition: none !important; } /* ortam: tek statik kare (JS), giriş geçişi yok */
  .hero-orbits { rotate: none !important; } /* halkalar statik, başlangıç açısında */
  /* puan hapı: animasyon yok (yukarıdaki kural) — lekenin üstünde nihai konumda */
  [data-cta-gate], .dropdown, .menu-panel, .menu-panel__list > li, .menu-toggle .i, .wa-fab, .star, .star__fill { transition: none !important; }
  .menu-toggle .i { rotate: none !important; }
  .btn, .service-card, .team-card, .chip, .text-link .i, .btn__icon, .service-card__chev, .card-more .i, .team-card__arrow .i {
    transform: none !important; translate: none !important;
  }
  .wa-fab { transform: none !important; scale: none !important; }
  .btn, .service-card::after, .team-card--link::after, .btn::after { transition-duration: 120ms !important; }
  /* ScrollVideo: pin yok (JS data-sv-pin yazmaz), yalnızca poster (son kare); ipucu yok */
  .scrollvideo__video, .scrollvideo__canvas, .scrollvideo__first { display: none !important; }
  .sv-hint { display: none !important; }
}

/* ---------- 8. Yazdırma ---------- */
@media print {
  .site-header, .mobile-bar, .menu-panel, .hero__ambient, .skip-link, .wa-fab, .sv-hint { display: none !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .rv { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .hero, .page-intro { margin-top: 0; padding-top: 24px; }
  .sv-section .sv-track { height: auto !important; }
  .sv-section .sv-track::after { display: none !important; }
  .sv-section .sv-stage { position: static !important; height: auto !important; padding-bottom: 0 !important; }
}
