﻿/* Scroll Reveal — efektler.php kütüphanesi */

    /* ============================================================
       âœ… KÃœTÃœPHANE DOSYASI NOTU
       ------------------------------------------------------------
       - Bir efekti baÅŸka sayfaya taÅŸÄ±mak iÃ§in:
         1) Bu dosyada "FX-XX" arat
         2) CSS bloÄŸunu kopyala
         3) Gerekirse aynÄ± FX'in JS bloÄŸunu da kopyala (bu dosyada Ã§oÄŸu FX saf CSS)
         4) HTML'de: class="rvl fx-XX-...." ekle
    ============================================================ */

    
    

    /* Her BloÄŸun Temel YapÄ±sÄ± */
    .block {
      background: #fff; border-radius: 15px; padding: 25px; margin-bottom: 220px;
      display: flex; gap: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.10);
      align-items: center;
    }
    .block img {
      width: 360px; height: 400px; border-radius: 10px; background: #ddd;
      object-fit: cover; display: block;
    }
    .tech-info {
      background: #272822; color: #f8f8f2; padding: 15px; border-radius: 8px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      font-size: 12px; flex: 1; line-height: 1.55;
    }
    .tech-info b { color: #66d9ef; } /* Parametre isimleri mavi */
    .tech-info i { color: #a6e22e; font-style: normal; } /* DeÄŸerler yeÅŸil */

    /* ============================================================
       âœ… SCROLL REVEAL MOTORU (1 KEZ EKLENÄ°R)
       - Hatalar dÃ¼zeltildi:
         * transition-property netleÅŸtirildi
         * filter reset "none" yapÄ±ldÄ± (sadece blur deÄŸil, tÃ¼m filtreleri sÄ±fÄ±rlar)
         * 3D flip titremesi iÃ§in backface/preserve-3d eklendi
         * reduce-motion desteÄŸi eklendi
    ============================================================ */
    .rvl {
      opacity: 0;
      visibility: hidden;
      transform: translate(0,0); /* bazÄ± tarayÄ±cÄ±lar iÃ§in baÅŸlangÄ±Ã§ stabil */
      filter: none;
      backface-visibility: hidden;
      transform-style: preserve-3d;

      /* VarsayÄ±lan geÃ§iÅŸ (efekt bazÄ±nda override edilebilir) */
      transition-property: transform, opacity, filter, box-shadow, clip-path, -webkit-mask-position, mask-position, border-color;
      transition-duration: var(--rvl-dur, .8s);
      transition-timing-function: var(--rvl-ease, ease-out);
      transition-delay: var(--rvl-delay, 0s);
      will-change: transform, opacity, filter;
    }

    .rvl.active {
      opacity: 1;
      visibility: visible;
      transform: translate(0,0) scale(1) rotate(0) skew(0) rotateX(0) rotateY(0);
      filter: none;
    }

    /* KullanÄ±cÄ± hassasiyeti: animasyon istemeyenler */
    @media (prefers-reduced-motion: reduce) {
      .rvl {
        transition: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        filter: none !important;
      }
      .fx-58-float.active { animation: none !important; }
      .fx-60-glitch.active { animation: none !important; }
    }

    /* ============================================================
       âœ… 60 EFEKT (FX-01 â†’ FX-60)
       - Her satÄ±r yanÄ±nda: numara + isim + ne yaptÄ±ÄŸÄ±
       - BazÄ± efektlerde .active Ã¶zel hali gerekir (clip-path, line, border, float, glitch)
    ============================================================ */

    /* --------------------------
       A) TEMEL REVEAL / HAREKET
    -------------------------- */

    /* ===================== FX-01 ===================== */
    .fx-1-fade { } /* 1. FADE: Sadece belirme (opacity motorla gelir) */

    /* ===================== FX-02 ===================== */
    .fx-2-slide-up { transform: translateY(60px); } /* 2. SLIDE UP: AÅŸaÄŸÄ±dan yukarÄ± */

    /* ===================== FX-03 ===================== */
    .fx-3-slide-down { transform: translateY(-60px); } /* 3. SLIDE DOWN: YukarÄ±dan aÅŸaÄŸÄ± */

    /* ===================== FX-04 ===================== */
    .fx-4-slide-left { transform: translateX(-100px); } /* 4. SLIDE LEFT: Soldan giriÅŸ */

    /* ===================== FX-05 ===================== */
    .fx-5-slide-right { transform: translateX(100px); } /* 5. SLIDE RIGHT: SaÄŸdan giriÅŸ */

    /* ===================== FX-06 ===================== */
    .fx-6-diag-left-top { transform: translate(-90px, -90px); } /* 6. DIAGONAL LT: Sol Ã¼stten Ã§apraz */

    /* ===================== FX-07 ===================== */
    .fx-7-diag-left-bottom { transform: translate(-90px, 90px); } /* 7. DIAGONAL LB: Sol alttan Ã§apraz */

    /* ===================== FX-08 ===================== */
    .fx-8-drop-in { transform: translateY(-140px); --rvl-ease: cubic-bezier(0.175, 0.885, 0.32, 1.275); } /* 8. DROP IN: YukarÄ±dan dÃ¼ÅŸÃ¼ÅŸ (spring) */

    /* ===================== FX-09 ===================== */
    .fx-9-soft-spring { transform: translateY(90px); --rvl-ease: cubic-bezier(0.175, 0.885, 0.32, 1.275); } /* 9. SOFT SPRING: YumuÅŸak yay */

    /* ===================== FX-10 ===================== */
    .fx-10-bounce-up { transform: translateY(110px); --rvl-ease: cubic-bezier(0.68, -0.55, 0.265, 1.55); } /* 10. BOUNCE UP: Sert zÄ±plama */

    /* ===================== FX-11 ===================== */
    .fx-11-stagger-1 { transform: translateY(30px); --rvl-delay: .20s; } /* 11. STAGGER-1: 200ms gecikme */

    /* ===================== FX-12 ===================== */
    .fx-12-stagger-2 { transform: translateY(30px); --rvl-delay: .40s; } /* 12. STAGGER-2: 400ms gecikme */


    /* --------------------------
       B) Ã–LÃ‡EK / PREMIUM
    -------------------------- */

    /* ===================== FX-13 ===================== */
    .fx-13-zoom-in { transform: scale(.5); } /* 13. ZOOM IN: KÃ¼Ã§Ã¼kten bÃ¼yÃ¼r */

    /* ===================== FX-14 ===================== */
    .fx-14-zoom-out { transform: scale(1.5); } /* 14. ZOOM OUT: BÃ¼yÃ¼kten kÃ¼Ã§Ã¼lÃ¼r */

    /* ===================== FX-15 ===================== */
    .fx-15-shrink-fade { transform: scale(1.12) translateY(20px); } /* 15. SHRINK FADE: Hafif kÃ¼Ã§Ã¼lerek oturur */

    /* ===================== FX-16 ===================== */
    .fx-16-zoom-out-fade { transform: scale(1.22); } /* 16. ZOOM OUT + FADE: Premium yakÄ±nlaÅŸma hissi */

    /* ===================== FX-17 ===================== */
    .fx-17-apple-style { transform: scale(.92) translateY(28px); --rvl-ease: cubic-bezier(0.4, 0, 0.2, 1); --rvl-dur: 1s; } /* 17. APPLE STYLE: Premium easing + scale */

    /* ===================== FX-18 ===================== */
    .fx-18-rotate-scale { transform: rotate(-180deg) scale(.55); --rvl-dur: 1s; } /* 18. ROTATE+SCALE: DÃ¶nerek oturur */

    /* ===================== FX-19 ===================== */
    .fx-19-wide-reveal { transform: scaleX(0); transform-origin: left; } /* 19. WIDE REVEAL: Soldan geniÅŸleyerek */

    /* ===================== FX-20 ===================== */
    .fx-20-vertical-reveal { transform: scaleY(0); transform-origin: top; } /* 20. VERTICAL REVEAL: Ãœstten aÃ§Ä±lÄ±r */


    /* --------------------------
       C) ROTATE / SPIRAL / HYBRID
    -------------------------- */

    /* ===================== FX-21 ===================== */
    .fx-21-rotate-left { transform: rotate(-45deg); } /* 21. ROTATE LEFT: Sola yatÄ±k baÅŸlar */

    /* ===================== FX-22 ===================== */
    .fx-22-rotate-right { transform: rotate(45deg); } /* 22. ROTATE RIGHT: SaÄŸa yatÄ±k baÅŸlar */

    /* ===================== FX-23 ===================== */
    .fx-23-rotate-full { transform: rotate(-180deg) scale(.85); } /* 23. ROTATE FULL: BÃ¼yÃ¼k dÃ¶nÃ¼ÅŸ */

    /* ===================== FX-24 ===================== */
    .fx-24-spiral { transform: rotate(180deg) scale(0); --rvl-dur: 1s; } /* 24. SPIRAL: DÃ¶n + bÃ¼yÃ¼ */

    /* ===================== FX-25 ===================== */
    .fx-25-slide-rotate { transform: translateY(90px) rotate(10deg); } /* 25. SLIDE+ROTATE: Kay + dÃ¶n */

    /* ===================== FX-26 ===================== */
    .fx-26-wobble { transform: translateY(40px) rotate(-8deg); --rvl-dur: .9s; } /* 26. WOBBLE: Hafif titrek giriÅŸ */
    .fx-26-wobble.active { animation: fxWobble .7s ease-out both; } /* 26. WOBBLE: active ile kÄ±sa wobble */
    @keyframes fxWobble {
      0% { transform: translateY(0) rotate(0); }
      30% { transform: translateY(0) rotate(2deg); }
      55% { transform: translateY(0) rotate(-2deg); }
      75% { transform: translateY(0) rotate(1deg); }
      100% { transform: translateY(0) rotate(0); }
    }


    /* --------------------------
       D) 3D / FLIP / PERSPECTIVE
    -------------------------- */

    /* ===================== FX-27 ===================== */
    .fx-27-flip-x { transform: perspective(1000px) rotateX(90deg); } /* 27. FLIP X: Ãœstten katlanma */

    /* ===================== FX-28 ===================== */
    .fx-28-flip-y { transform: perspective(1000px) rotateY(90deg); } /* 28. FLIP Y: Yandan dÃ¶nme */

    /* ===================== FX-29 ===================== */
    .fx-29-flip-down { transform: perspective(1000px) rotateX(-90deg); transform-origin: top; } /* 29. FLIP DOWN: Kapak gibi */

    /* ===================== FX-30 ===================== */
    .fx-30-flip-right-3d { transform: perspective(1000px) rotateY(-90deg); transform-origin: right; } /* 30. FLIP RIGHT 3D */

    /* ===================== FX-31 ===================== */
    .fx-31-door-open { transform: perspective(1000px) rotateY(-90deg); transform-origin: left; } /* 31. DOOR OPEN: MenteÅŸeli aÃ§Ä±lÄ±ÅŸ */

    /* ===================== FX-32 ===================== */
    .fx-32-perspective-deep { transform: perspective(1000px) translateZ(-400px); } /* 32. PERSPECTIVE DEEP: Arkadan gelir */

    /* ===================== FX-33 ===================== */
    .fx-33-3d-deep { transform: perspective(1000px) translateZ(-800px) rotateX(20deg); --rvl-dur: 1s; } /* 33. 3D DEEP: Daha agresif */

    /* ===================== FX-34 ===================== */
    .fx-34-tilt-in { transform: perspective(1000px) rotateX(-30deg) translateY(50px); } /* 34. TILT IN: 3D eÄŸimli giriÅŸ */

    /* ===================== FX-35 ===================== */
    .fx-35-3d-pop { transform: perspective(1000px) translateZ(180px) scale(.92); } /* 35. 3D POP: Ã–nden gelir gibi */

    /* ===================== FX-36 ===================== */
    .fx-36-3d-card { transform: perspective(1000px) rotateY(18deg) translateX(-18px) scale(.94); } /* 36. 3D CARD: Kart eÄŸimi */


    /* --------------------------
       E) SKEW / DISTORT
    -------------------------- */

    /* ===================== FX-37 ===================== */
    .fx-37-skew-up { transform: skewY(6deg) translateY(45px); } /* 37. SKEW UP: Yamuk yÃ¼kselme */

    /* ===================== FX-38 ===================== */
    .fx-38-skew-in { transform: skewX(-20deg) translateX(-55px); } /* 38. SKEW IN: Yamuk giriÅŸ */

    /* ===================== FX-39 ===================== */
    .fx-39-skew-basic { transform: skewY(10deg) translateY(55px); } /* 39. SKEW BASIC: Daha belirgin */

    /* ===================== FX-40 ===================== */
    .fx-40-skew-strong { transform: skewX(-28deg) translateX(-80px) scale(.95); } /* 40. SKEW STRONG: GÃ¼Ã§lÃ¼ yamuk */

    /* ===================== FX-41 ===================== */
    .fx-41-shear-snap { transform: skewX(18deg) translateY(35px); --rvl-ease: cubic-bezier(.2, .9, .2, 1); } /* 41. SHEAR SNAP: HÄ±zlÄ± dÃ¼zleÅŸme */


    /* --------------------------
       F) BLUR / FILTER / COLOR
    -------------------------- */

    /* ===================== FX-42 ===================== */
    .fx-42-blur { filter: blur(15px); } /* 42. BLUR: BulanÄ±ktan nete */

    /* ===================== FX-43 ===================== */
    .fx-43-blur-to-clear { filter: blur(20px) brightness(.5); --rvl-dur: 1.1s; } /* 43. BLUR+DARK â†’ CLEAR */

    /* ===================== FX-44 ===================== */
    .fx-44-gray-to-color { filter: grayscale(100%); } /* 44. GRAY â†’ COLOR: Renk aÃ§Ä±lÄ±r */

    /* ===================== FX-45 ===================== */
    .fx-45-saturate-pop { filter: saturate(.2); --rvl-dur: 1s; } /* 45. SATURATE POP: Soluktan canlÄ±ya */

    /* ===================== FX-46 ===================== */
    .fx-46-contrast-lift { filter: contrast(.6); --rvl-dur: 1s; } /* 46. CONTRAST LIFT: Flat â†’ gÃ¼Ã§lÃ¼ */

    /* ===================== FX-47 ===================== */
    .fx-47-hue-shift { filter: hue-rotate(80deg); --rvl-dur: 1s; } /* 47. HUE SHIFT: Ton kaydÄ±rma (renk dÃ¶ner) */

    /* ===================== FX-48 ===================== */
    .fx-48-bright-rise { filter: brightness(.55); --rvl-dur: 1s; } /* 48. BRIGHT RISE: KaranlÄ±ktan normale */


    /* --------------------------
       G) CLIP / MASK REVEAL
    -------------------------- */
    
    /* 49â€“52: clip-path'i .block yerine img Ã¼zerinde uygula */
    .fx-49-clip-left img    { clip-path: inset(0% 100% 0% 0%); transition: clip-path 1s ease; }   /* 49. CLIP LEFT: Soldan aÃ§ */
    .fx-49-clip-left.active img { clip-path: inset(0% 0% 0% 0%); }                                  /* 49 active tam gÃ¶rÃ¼nÃ¼r */
    
    .fx-50-clip-top img     { clip-path: inset(100% 0% 0% 0%); transition: clip-path 1s ease; }   /* 50. CLIP TOP: Ãœstten aÃ§ */
    .fx-50-clip-top.active img  { clip-path: inset(0% 0% 0% 0%); }                                  /* 50 active tam gÃ¶rÃ¼nÃ¼r */
    
    .fx-51-clip-right img   { clip-path: inset(0% 0% 0% 100%); transition: clip-path 1s ease; }   /* 51. CLIP RIGHT: SaÄŸdan aÃ§ */
    .fx-51-clip-right.active img { clip-path: inset(0% 0% 0% 0%); }                                 /* 51 active tam gÃ¶rÃ¼nÃ¼r */
    
    .fx-52-clip-bottom img  { clip-path: inset(0% 0% 100% 0%); transition: clip-path 1s ease; }   /* 52. CLIP BOTTOM: Alttan aÃ§ */
    .fx-52-clip-bottom.active img { clip-path: inset(0% 0% 0% 0%); }                                /* 52 active tam gÃ¶rÃ¼nÃ¼r */
    
    


    /* ===================== FX-53 ===================== */
    .fx-53-mask-slide {
      /* Safari iÃ§in -webkit-mask kullanÄ±yoruz */
      -webkit-mask-image: linear-gradient(90deg, #000 50%, transparent 50%);
      -webkit-mask-size: 200% 100%;
      -webkit-mask-position: 100% 0;

      mask-image: linear-gradient(90deg, #000 50%, transparent 50%);
      mask-size: 200% 100%;
      mask-position: 100% 0;

      --rvl-dur: 1s;
    } /* 53. MASK SLIDE: Maske kayarak aÃ§Ä±lÄ±r */
    .fx-53-mask-slide.active {
      -webkit-mask-position: 0 0;
      mask-position: 0 0;
    } /* 53. MASK SLIDE: active maske aÃ§Ä±lÄ±r */

    /* ===================== FX-54 ===================== */
    .fx-54-wipe-mask {
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
      -webkit-mask-size: 250% 100%;
      -webkit-mask-position: 120% 0;

      mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
      mask-size: 250% 100%;
      mask-position: 120% 0;

      --rvl-dur: 1.1s;
      --rvl-ease: cubic-bezier(0.2, 0.9, 0.2, 1);
    } /* 54. WIPE MASK: IÅŸÄ±k bandÄ± gibi wipe */
    .fx-54-wipe-mask.active {
      -webkit-mask-position: 0 0;
      mask-position: 0 0;
    } /* 54. WIPE MASK: active */


    /* --------------------------
       H) SHADOW / BORDER / LINE
    -------------------------- */

    /* ===================== FX-55 ===================== */
    .fx-55-shadow-reveal { transform: translateY(18px); box-shadow: 0 0 0 rgba(0,0,0,0); } /* 55. SHADOW REVEAL: GÃ¶lge ile derinlik */
    .fx-55-shadow-reveal.active { box-shadow: 0 20px 50px rgba(0,0,0,0.18); } /* 55. SHADOW REVEAL: active gÃ¶lge */

    /* ===================== FX-56 ===================== */
    .fx-56-border-draw { border: 2px solid transparent; } /* 56. BORDER DRAW: KenarlÄ±k sonradan gÃ¶rÃ¼nÃ¼r */
    .fx-56-border-draw.active { border-color: rgba(59, 130, 246, 0.95); } /* 56. BORDER DRAW: active border */

    /* ===================== FX-57 ===================== */
    .fx-57-line-draw { position: relative; } /* 57. LINE DRAW: Alt Ã§izgi Ã§izilir */
    .fx-57-line-draw::after {
      content: "";
      position: absolute;
      left: 25px;
      right: 25px;
      bottom: 16px;
      height: 2px;
      background: rgba(59, 130, 246, 0.95);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.9s ease;
    } /* 57. LINE DRAW: baÅŸlangÄ±Ã§ Ã§izgi yok */
    .fx-57-line-draw.active::after { transform: scaleX(1); } /* 57. LINE DRAW: active Ã§izgi */


    /* --------------------------
       I) FLOAT / PARALLAX / GLITCH
    -------------------------- */

    /* ===================== FX-58 ===================== */
    .fx-58-float { } /* 58. FLOAT: active olunca sÃ¼rekli sÃ¼zÃ¼lme */
    .fx-58-float.active { animation: fxFloat 3s ease-in-out infinite; } /* 58. FLOAT: active animation */
    @keyframes fxFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

    /* ===================== FX-59 ===================== */
    .fx-59-parallax-img { overflow: hidden; } /* 59. IMAGE PARALLAX: Kutu iÃ§inde resim farklÄ± hareket eder */
    .fx-59-parallax-img img { transform: scale(1.25) translateY(40px); transition: transform 1.5s ease-out; } /* 59. IMAGE PARALLAX: baÅŸlangÄ±Ã§ */
    .fx-59-parallax-img.active img { transform: scale(1) translateY(0); } /* 59. IMAGE PARALLAX: active */

    /* ===================== FX-60 ===================== */
    .fx-60-glitch { transform: translateX(30px); --rvl-dur: .25s; } /* 60. GLITCH: hÄ±zlÄ± sarsÄ±ntÄ± giriÅŸ */
    .fx-60-glitch.active { animation: fxGlitch .45s steps(2, end) 1; } /* 60. GLITCH: active kÄ±sa glitch */
    @keyframes fxGlitch {
      0%   { transform: translateX(0); }
      15%  { transform: translateX(-8px); }
      30%  { transform: translateX(10px); }
      45%  { transform: translateX(-6px); }
      60%  { transform: translateX(6px); }
      75%  { transform: translateX(-3px); }
      100% { transform: translateX(0); }
    }
    
    
    
    
    
    
    
    
    
    
    
    /* =====================================================================
       âœ… FX-61 / FX-62 â€” STICKY INNER PARALLAX (Card iÃ§i resim kaydÄ±rma)
       - Card: 400px (metin + resim)
       - Sol resim maskesi: 320px (istersen 400 de yaparsÄ±n)
       - Resim: daha uzun (Ã¶r: 320x900)
       - Scroll ederken: card sticky kalÄ±r, SADECE resim iÃ§eride akar
    ===================================================================== */
    /* Ortak parallax card (section) */
    .fx-61-parx,
    .fx-62-parx{
      --parx-card-h: 400px;            /* card yÃ¼ksekliÄŸi */
      --parx-sticky-top: 110px;        /* sticky top (header varsa ayarla) */
      --parx-gap: 20px;
      --parx-left-w: 320px;            /* sol resim alanÄ± geniÅŸliÄŸi */
      --parx-left-h: 320px;            /* sol resim mask yÃ¼ksekliÄŸi (400 de yapabilirsin) */
    
      /* JS bunu hesaplayÄ±p yazacak: resim ne kadar kayacak? */
      --parx-travel: 400px;
    
      /* Section yÃ¼ksekliÄŸi = card + travel -> scroll mesafesi oluÅŸturur */
      height: calc(var(--parx-card-h) + var(--parx-travel));
      margin: 120px 0;
      position: relative;
    }
    /* Sticky card kutusu (senin .block temasÄ±na uyumlu) */
    .fx-61-parx .parx-wrap,
    .fx-62-parx .parx-wrap{
      height: var(--parx-card-h);
      display: flex;
      gap: var(--parx-gap);
      align-items: center;
    
      background: #fff;
      border-radius: 15px;
      padding: 25px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.10);
    
      position: sticky;
      top: var(--parx-sticky-top);
      overflow: hidden;
    }
    /* Sol gÃ¶rsel maskesi */
    .fx-61-parx .parx-left,
    .fx-62-parx .parx-left{
      width: var(--parx-left-w);
      height: var(--parx-left-h);
      border-radius: 10px;
      overflow: hidden;
      background: #ddd;
      flex: 0 0 var(--parx-left-w);
    }
    /* Ä°Ã§eride kayan gÃ¶rsel */
    .fx-61-parx .parx-img,
    .fx-62-parx .parx-img{
      width: 100%;
      height: auto;                 /* uzun resim lazÄ±m */
      display: block;
      transform: translateY(0);
      will-change: transform;
    }
    /* SaÄŸ metin */
    .fx-61-parx .parx-right,
    .fx-62-parx .parx-right{
      flex: 1;
    }
    /* Tech info senin temana uyum (istersen aynÄ± bÄ±rak) */
    .fx-61-parx .tech-info,
    .fx-62-parx .tech-info{
      margin-top: 10px;
    }
    /* FX-62 daha â€œpremium yavaÅŸâ€ his iÃ§in kÃ¼Ã§Ã¼k smoothing */
    .fx-62-parx .parx-img{
      transition: transform 0.12s linear; /* kÃ¼Ã§Ã¼k smoothing */
    }
    /* Mobil: alt alta */
    @media (max-width: 820px){
      .fx-61-parx .parx-wrap,
      .fx-62-parx .parx-wrap{
        flex-direction: column;
        height: auto;               /* mobilde sticky yerine normal akÄ±ÅŸ daha iyi */
        position: relative;
        top: auto;
      }
      .fx-61-parx,
      .fx-62-parx{
        height: auto;               /* mobilde section boyunu kilitleme */
      }
      .fx-61-parx .parx-left,
      .fx-62-parx .parx-left{
        width: 100%;
        max-width: 420px;
      }
    }

	
	/* ===================== fx-stagger-up-63 ===================== */
    .fx-stagger-up-63 { transform: translateY(50px); } 				/* AÅŸaÄŸÄ±dan yukarÄ± geliÅŸ */    
    .delay-1 { transition-delay: 0.1s; } 							/* 1. Resim 100ms sonra */
    .delay-2 { transition-delay: 0.2s; } 							/* 2. Resim 200ms sonra */
    .delay-3 { transition-delay: 0.3s; } 							/* 3. Resim 300ms sonra */
    
    /* ===================== fx-stagger-right-64 ===================== */
	/* --- YAN YANA RESÄ°MLER Ä°Ã‡Ä°N SOLDAN SAÄA SIRALI GELÄ°Å --- */
	.fx-stagger-right-64 { transform: translateX(-50px); }     /* BaÅŸlangÄ±Ã§ta 50px solda bekle */
	.delay64-1 { transition-delay: 0.1s; }                     /* 1. Resim: 100ms gecikme */
	.delay64-2 { transition-delay: 0.2s; }                     /* 2. Resim: 200ms gecikme */
	.delay64-3 { transition-delay: 0.3s; }                     /* 3. Resim: 300ms gecikme */
	.delay64-4 { transition-delay: 0.4s; }                     /* 4. Resim: 300ms gecikme */
    
    
    
    
    /* =====================================================================
       âœ… AILL THEME PATCH (NON-DESTRUCTIVE)
       - Mevcut CSS'e dokunmadan: Dark/Light + Mobile uyum katmanÄ±
       - Bu blok en altta kalmalÄ± (override iÃ§in)
    ===================================================================== */
    
    /* 1) Renk deÄŸiÅŸkenleri (Light varsayÄ±lan) */
    :root{
      --ui-bg: #f0f2f5;
      --ui-text: #0f172a;
      --ui-card: #ffffff;
      --ui-border: rgba(15, 23, 42, 0.10);
      --ui-shadow: 0 4px 15px rgba(0,0,0,0.10);
      --ui-muted: rgba(15, 23, 42, 0.65);
    
      --ui-code-bg: #272822;
      --ui-code-text: #f8f8f2;
      --ui-code-k: #66d9ef;
      --ui-code-v: #a6e22e;
    }
    
    /* 2) OS Dark Mode otomatik */
    @media (prefers-color-scheme: dark){
      :root{
        --ui-bg: #0b1220;
        --ui-text: #e6edf7;
        --ui-card: #0f1a2b;
        --ui-border: rgba(230, 237, 247, 0.10);
        --ui-shadow: 0 10px 30px rgba(0,0,0,0.45);
        --ui-muted: rgba(230, 237, 247, 0.70);
    
        --ui-code-bg: #0b1020;
        --ui-code-text: #e7eefb;
        --ui-code-k: #77d7ff;
        --ui-code-v: #9be86d;
      }
    }
    
    /* 3) Ä°stersen manuel theme (opsiyonel)
       <html class="theme-dark"> veya <html class="theme-light">
    */
    html.theme-dark{
      --ui-bg: #0b1220;
      --ui-text: #e6edf7;
      --ui-card: #0f1a2b;
      --ui-border: rgba(230, 237, 247, 0.10);
      --ui-shadow: 0 10px 30px rgba(0,0,0,0.45);
      --ui-muted: rgba(230, 237, 247, 0.70);
    
      --ui-code-bg: #0b1020;
      --ui-code-text: #e7eefb;
      --ui-code-k: #77d7ff;
      --ui-code-v: #9be86d;
    }
    html.theme-light{
      --ui-bg: #f0f2f5;
      --ui-text: #0f172a;
      --ui-card: #ffffff;
      --ui-border: rgba(15, 23, 42, 0.10);
      --ui-shadow: 0 4px 15px rgba(0,0,0,0.10);
      --ui-muted: rgba(15, 23, 42, 0.65);
    
      --ui-code-bg: #272822;
      --ui-code-text: #f8f8f2;
      --ui-code-k: #66d9ef;
      --ui-code-v: #a6e22e;
    }
    
    /* 4) Mevcut class'larÄ± BOZMADAN renkleri variable'a baÄŸla */
    
    
    .block{
      background: var(--ui-card) !important;
      box-shadow: var(--ui-shadow) !important;
      border: 1px solid var(--ui-border);
    }
    
    .tech-info{
      background: var(--ui-code-bg) !important;
      color: var(--ui-code-text) !important;
      border: 1px solid rgba(255,255,255,0.08);
    }
    
    .tech-info b{ color: var(--ui-code-k) !important; }
    .tech-info i{ color: var(--ui-code-v) !important; }
    
    /* Darkâ€™ta resim Ã§ok parlaksa hafif dengele (istersen kapatÄ±rsÄ±n) */
    @media (prefers-color-scheme: dark){
      .block img{
        filter: saturate(0.95) contrast(1.02);
      }
    }
    
    /* =====================================================================
       âœ… MOBILE / RESPONSIVE PATCH
       - MasaÃ¼stÃ¼ dÃ¼zeni bozmadan sadece kÃ¼Ã§Ã¼k ekranlarda alt alta
    ===================================================================== */
    
    /* Tablet ve altÄ±: bloklar alt alta, resim full geniÅŸlik */
    @media (max-width: 920px){
      
    
      
    
      .block{
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 18px;
        margin-bottom: 140px;
      }
    
      .block img{
        width: 100% !important;
        height: auto !important;      /* taÅŸmayÄ± bitirir */
        max-height: 420px;            /* aÅŸÄ±rÄ± uzamasÄ±n */
        aspect-ratio: 16 / 10;        /* gÃ¶rÃ¼ntÃ¼ dengeli dursun */
      }
    
      .tech-info{
        font-size: 12px;
        overflow-wrap: anywhere;      /* uzun kelimeler taÅŸmasÄ±n */
        word-break: break-word;
      }
    }
    
    /* Telefon: daha sÄ±kÄ± padding, daha kÃ¼Ã§Ã¼k gÃ¶lge */
    @media (max-width: 520px){
      
    
      .block{
        border-radius: 14px;
        padding: 14px;
        margin-bottom: 110px;
      }
    
      .block img{
        border-radius: 12px;
        max-height: 360px;
        aspect-ratio: 4 / 3;
      }
    
      .tech-info{
        font-size: 11.5px;
        line-height: 1.6;
        padding: 12px;
        border-radius: 12px;
      }
    
      /* Clip efektlerinde kÃ¼Ã§Ã¼k ekranda daha pÃ¼rÃ¼zsÃ¼z geÃ§iÅŸ */
      .fx-49-clip-left img,
      .fx-50-clip-top img,
      .fx-51-clip-right img,
      .fx-52-clip-bottom img{
        transition-duration: .9s !important;
      }
    }
    
	
    /* =====================================================================
       âœ… PARALLAX BLOKLARI (FX-61/62 parx) â€” Responsive dÃ¼zeltme
       - Senin mevcut parallax CSS'in Ã¼zerine minimum override
    ===================================================================== */    
    /* BÃ¼yÃ¼k ekranda bile taÅŸma olmasÄ±n */
    .fx-61-parx .parx-left,
    .fx-62-parx .parx-left{
      width: min(var(--parx-left-w), 42vw);
    }    
    /* Tablet/telefon: sticky yerine normal akÄ±ÅŸ + full width gÃ¶rsel */
    @media (max-width: 920px){
      .fx-61-parx .parx-wrap,
      .fx-62-parx .parx-wrap{
        position: relative !important;
        top: auto !important;
      }
    
      .fx-61-parx .parx-left,
      .fx-62-parx .parx-left{
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
      }
    
      .fx-61-parx .parx-img,
      .fx-62-parx .parx-img{
        width: 100%;
        height: auto;
        transform: none !important; /* mobilde JS parallax devre dÄ±ÅŸÄ± gibi */
      }
    }
    
    /* =====================================================================
       âœ… KÃœÃ‡ÃœK BONUS: SeÃ§im (highlight) rengi dark/light uyumlu
    ===================================================================== */
    ::selection{
      background: rgba(59,130,246,0.28);
    }

    
    

  
