/* ============================================================
   REMHOY RAY - yeni tasarim denemesi (Ahlatci dili -> altin-grafit)
   TAM UYGULAMA (frontend, 6 Agu 2026). style.css'ten SONRA, yalniz
   ray sayfalarinda yuklenir (header-ray.blade.php icinden).
   Eski stiller ETKILENMEZ.
   Palet: kirik beyaz #FBFAF7, sicak krem #F4F1EC, acik krem #F7F4EE,
   duman-grafit #756E62, altin (acik zeminde) #B98A1F, altin (koyu) #e6b33d,
   cizgi #E0D7C4, grafit #26282C / #2F3237.
   Kurgu: sol sabit ray (200px) + tam ekran perde overlay menu +
   scroll-snap (proximity; mandatory S6'yi kilitler) + IntersectionObserver
   ".is-in" giris animasyonlari (remhoy-ray.js). fullPage.js YOK.
   Giris animasyonlarinin "gizli baslangic" halleri body.ray-js
   arkasindadir: JS calismazsa icerik ANINDA gorunur (guvenli bozulma).
   ============================================================ */

:root {
    --ray-display: clamp(44px, 6.6vw, 118px);
    --ray-h2: clamp(34px, 4.8vw, 84px);
    --ray-count: clamp(40px, 4.2vw, 76px);
    --ray-label: clamp(15px, 1.1vw, 19px);
    --ray-cizgi: #E0D7C4;
    --ray-zemin: #FFFFFF;
    --ray-krem: #F4F1EC;
    --ray-krem2: #F7F4EE;
    --ray-greige: #756E62;
    --ray-altin-acik: #B98A1F;
    --ray-altin: #e6b33d;
    --ray-grafit: #26282C;
    --ray-grafit2: #2F3237;
    --ray-ease: cubic-bezier(.2, .6, .2, 1);
    --ray-perde: cubic-bezier(.77, 0, .18, 1);
    /* REVIZYON 7 (17 Agu 2026): NET SIYAH ink + editoryal fontlar */
    --ray-ink: #141414;
    --ray-ink-2: #2A2A2A;
    --ray-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --ray-font-body: 'Manrope', system-ui, -apple-system, sans-serif;
}

/* ---------- SOL RAY (masaustu) ---------- */
.ray-bar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 200px;
    background: var(--ray-zemin);
    border-right: 1px solid var(--ray-cizgi);
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 28px 16px;
}
@media (min-width: 1600px) {
    .ray-bar { width: 220px; }
    .ray-main { margin-left: 220px; }
    body.has-ray .fix { margin-left: 220px; }
    .ray-nav { padding-left: calc(220px + 8vw); }
    .ray-nav__bottom { left: calc(220px + 8vw); }
}

/* logo cifti: cross-fade (display swap yerine yumusak gecis) */
.ray-bar__logo {
    position: relative;
    display: block;
    width: 140px;
    min-height: 56px;
}
.ray-bar__logo img.ray-bar__logo-full {
    max-width: 140px;
    opacity: 1;
    transition: opacity .45s ease;
}
.ray-bar__logo img.ray-bar__logo-mini {
    position: absolute;
    top: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    opacity: 0;
    transition: opacity .45s ease;
}
body.is-scrolled .ray-bar__logo-full { opacity: 0; }
body.is-scrolled .ray-bar__logo-mini { opacity: 1; }

.ray-burger {
    background: none;
    border: 0;
    cursor: pointer;
    padding: 10px 12px;
}
.ray-burger__line {
    display: block;
    width: 28px;
    height: 2px;
    background: var(--ray-grafit);
    margin: 6px auto;
    transition: transform .35s var(--ray-ease), background-color .3s;
    transform-origin: center;
}
/* hover: orta cizgi kisalir (Ahlatci mikro dokunusu) */
.ray-burger:hover .ray-burger__line:nth-child(2) { transform: scaleX(.6); }
.ray-burger__text {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: .12em;
    color: var(--ray-grafit);
    transition: color .3s;
}
.ray-burger:hover .ray-burger__text { color: var(--ray-altin-acik); }

.ray-bar__phone {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 12px;
    letter-spacing: .08em;
    color: var(--ray-greige);
    transition: color .3s;
}
.ray-bar__phone:hover { color: var(--ray-altin-acik); }

/* ---------- OVERLAY MENU (perde) ---------- */
.ray-nav {
    position: fixed;
    inset: 0;
    background: var(--ray-zemin);
    z-index: 99; /* rayin ALTINDA - ray gorunur kalir */
    transform: translateX(-100%);
    transition: transform .9s var(--ray-perde), visibility 0s linear .9s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: calc(200px + 8vw);
    visibility: hidden;
}
body.ray-nav-open .ray-nav {
    transform: translateX(0);
    visibility: visible;
    transition: transform .9s var(--ray-perde);
}
/* scroll kilidi: home'da scroll .ray-snap'te, ic sayfada body'de */
body.ray-nav-open { overflow: hidden; }
body.ray-nav-open .ray-snap { overflow: hidden; }

/* acikken hamburger X'e morph */
body.ray-nav-open .ray-burger__line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.ray-nav-open .ray-burger__line:nth-child(2) { transform: scaleX(0); }
body.ray-nav-open .ray-burger__line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
body.ray-nav-open .ray-burger:hover .ray-burger__line:nth-child(2) { transform: scaleX(0); }

.ray-nav__menu ul { list-style: none; margin: 0; padding: 0; }
.ray-nav__item {
    display: flex;
    align-items: baseline;
    gap: 22px;
    margin: clamp(8px, 1.6vh, 18px) 0;
    /* giris stagger: kapali durumda asagida + seffaf; acilinca perde
       gecikmesinden sonra sirayla yukari suzulur (JS gerekmez) */
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .4s ease, transform .4s var(--ray-ease);
}
body.ray-nav-open .ray-nav__item {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(.35s + var(--ray-i, 0) * 60ms);
}
.ray-nav__num {
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: 24px;
    font-weight: 300;
    color: var(--ray-altin-acik);
    min-width: 40px;
}
.ray-nav__link {
    display: inline-block;
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: clamp(30px, 3vw, 54px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--ray-grafit);
    transition: color .3s, transform .35s var(--ray-ease);
}
.ray-nav__link:hover,
.ray-nav__link:focus {
    color: var(--ray-altin-acik);
    transform: translateX(12px);
}

.ray-nav__bottom {
    position: absolute;
    left: calc(200px + 8vw);
    right: 24px;
    bottom: 40px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 28px;
    font-size: 15px;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .4s ease, transform .4s var(--ray-ease);
}
body.ray-nav-open .ray-nav__bottom {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .8s;
}
.ray-nav__contact { color: var(--ray-grafit); transition: color .3s; }
.ray-nav__contact:hover { color: var(--ray-altin-acik); }
.ray-nav__social { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ray-nav__social a { color: var(--ray-grafit); font-size: 16px; transition: color .3s; }
.ray-nav__social a:hover { color: var(--ray-altin-acik); }

/* ---------- ICERIK ALANI ---------- */
.ray-main { margin-left: 200px; }
/* ic sayfalar: mevcut .fix sarmalayicisina yalniz has-ray altinda margin;
   width:auto sart - style.css'teki width:100% ile 200px yatay tasmayi onler */
body.has-ray .fix { margin-left: 200px; width: auto; }
body.has-ray .rh-ft { margin-left: 0; border-top: 1px solid var(--ray-cizgi); }

/* ic sayfa pageheader ince ayari (spec 7): krem zemin + greige baslik */
/* ic sayfa baslik bandi da BEYAZ (istek: arka plan tum sitede beyaz) + net siyah baslik */
body.has-ray .page-header { background: #FFFFFF; }
body.has-ray .page-header__bg { display: none; }
body.has-ray .page-header__inner h2 { color: var(--ray-ink); }
body.has-ray .page-header .thm-breadcrumb,
body.has-ray .page-header .thm-breadcrumb a { color: var(--ray-ink-2); }

/* ---------- SCROLL-SNAP KABUGU (yalniz masaustu) ---------- */
@media (min-width: 992px) {
    .ray-snap {
        height: 100vh;
        height: 100dvh;
        overflow-y: auto;
        /* mandatory DEGIL: S6 (teklif+band+footer) 100vh'den uzun,
           mandatory taskin icerigi kilitler (spec 5 karari) */
        scroll-snap-type: y proximity;
        /* scroll-behavior: smooth kaldirildi (istek): tekerlek scroll'u yavas
           animasyonla akiyordu; native/aninda daha akici his. Dot-nav yine
           JS behavior:'smooth' ile yumusak kayar. */
        scroll-behavior: auto;
        overscroll-behavior: contain;
    }
    /* programatik uzun kaydirmada snap gecici kapatilir (dot nav);
       yoksa smooth scroll ilk snap noktasinda takilir */
    .ray-snap.ray-snap--serbest { scroll-snap-type: none; }
    .ray-sec {
        min-height: 100vh;
        min-height: 100dvh;
        scroll-snap-align: start;
        position: relative;
        overflow: hidden;
    }
    /* S6 taskin: snap yalniz baslangic kenarina hizalanir, icerik serbest */
    .ray-close { scroll-snap-stop: normal; }
}

/* ---------- AKTIF BOLUM GOSTERGESI (JS enjekte eder) ---------- */
.ray-dots {
    position: fixed;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 60;
    display: none;
    flex-direction: column;
    gap: 14px;
}
@media (min-width: 992px) { .ray-dots { display: flex; } }
.ray-dots__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid var(--ray-greige);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    transition: height .35s var(--ray-ease), background-color .3s, border-color .3s, opacity .3s;
    opacity: .55;
}
.ray-dots__dot:hover { opacity: 1; border-color: var(--ray-altin-acik); }
.ray-dots__dot.is-active {
    height: 26px;
    background: var(--ray-altin-acik);
    border-color: var(--ray-altin-acik);
    opacity: 1;
}
/* koyu bolumler uzerinde (JS body'e verir) beyaz/altin ton */
body.ray-dark-sec .ray-dots__dot { border-color: rgba(255, 255, 255, .6); }
body.ray-dark-sec .ray-dots__dot.is-active { background: var(--ray-altin); border-color: var(--ray-altin); }

/* ---------- BOLUM ZEMINLERI ---------- */
.ray-hero { background: var(--ray-zemin); }
.ray-about { background: var(--ray-krem); }
.ray-video { background: var(--ray-grafit); }
.ray-cats { background: var(--ray-grafit2); }
.ray-process { background: var(--ray-krem2); }
.ray-close { background: var(--ray-krem); }

/* ---------- ORTAK TIPO ---------- */
.ray-display {
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: var(--ray-display);
    line-height: 1.08;
    letter-spacing: -.02em;
    font-weight: 600;
    color: var(--ray-greige);
    margin: 0;
}
.ray-display__vurgu { font-style: normal; color: var(--ray-altin-acik); }
/* padding-bottom + negatif margin: overflow maskesine descender (italik "g"
   kuyrugu) icin yer acar, satir araligi ayni kalir (kirpilma cozumu) */
.ray-display__line { display: block; overflow: hidden; padding-bottom: .2em; margin-bottom: -.2em; }
.ray-display__inner { display: inline-block; will-change: transform; }

.ray-h2 {
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: var(--ray-h2);
    line-height: 1.1;
    letter-spacing: -.01em;
    font-weight: 600;
    color: var(--ray-greige);
    margin: 0 0 8px;
}
.ray-h2--light { color: #fff; }
.ray-h2--gold { color: var(--ray-altin); }

.ray-eyebrow {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .35em;
    color: var(--ray-altin-acik);
    margin-bottom: 16px;
}
.ray-eyebrow--gold { color: var(--ray-altin); }

/* cizgi-link: onune 40px yatay cizgi, hover'da 64px'e uzar */
.ray-line-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    letter-spacing: .04em;
    color: var(--ray-grafit);
    transition: color .3s;
}
.ray-line-link__line {
    flex: 0 0 auto;
    width: 40px;
    height: 1px;
    background: currentColor;
    transition: width .4s var(--ray-ease);
}
.ray-line-link:hover { color: var(--ray-altin-acik); }
.ray-line-link:hover .ray-line-link__line { width: 64px; }
.ray-line-link--light { color: #fff; }
.ray-line-link--light:hover { color: var(--ray-altin); }
.ray-line-link--dark { color: var(--ray-grafit); }
.ray-line-link--dark:hover { color: #fff; }

/* ============================================================
   S1 HERO - dev display tipografi + sagda bleed gorsel
   ============================================================ */
.ray-hero { overflow: hidden; } /* filigran/bleed tasmasin (mobil dahil) */
.ray-hero__media {
    position: absolute;
    right: 0;
    top: 9vh;
    bottom: 0;
    width: 62vw;
}
.ray-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* okunurluk: text-shadow yerine sol kenardan krem degrade (spec) */
.ray-hero__media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(251, 250, 247, .95) 10%,
        rgba(251, 250, 247, .55) 38%,
        transparent 64%);
    z-index: 1;
    pointer-events: none;
}
.ray-hero__content {
    position: relative;
    z-index: 2;
    margin-left: 9vw;
    padding-top: 24vh;
    padding-bottom: 10vh;
    max-width: 62vw;
}
.ray-hero__text {
    max-width: 44ch;
    font-size: 16px;
    line-height: 1.75;
    color: #60666C;
    margin: 28px 0;
}
/* dev filigran: bizim mevcut tasarim dilinden tasinan imza */
.ray-hero__big {
    position: absolute;
    left: -1vw;
    bottom: -4vw;
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-weight: 600;
    font-size: 22vw;
    line-height: 1;
    letter-spacing: -.02em;
    color: rgba(38, 40, 44, .04);
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    z-index: 0;
}

/* scroll gostergesi: 1px dikey iz + asagi kayan 24px altin parca */
.ray-scroll-hint {
    position: absolute;
    right: 40px;
    bottom: 40px;
    z-index: 2;
    text-align: center;
}
.ray-scroll-hint__track {
    position: relative;
    display: block;
    width: 1px;
    height: 80px;
    background: rgba(185, 138, 31, .3);
    margin: 0 auto 10px;
    overflow: hidden;
}
.ray-scroll-hint__track::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 24px;
    background: var(--ray-altin-acik);
    animation: rayHintKay 2.2s var(--ray-ease) infinite;
}
@keyframes rayHintKay {
    0%   { transform: translateY(-24px); }
    60%  { transform: translateY(80px); }
    100% { transform: translateY(80px); }
}
.ray-scroll-hint__label {
    display: block;
    writing-mode: vertical-rl;
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--ray-greige);
    margin: 0 auto;
}

/* hero giris: maskeli satirlar + gorsel clip-path acilisi
   (gizli baslangic yalniz body.ray-js altinda - JS yoksa icerik gorunur) */
body.ray-js .ray-hero .ray-display__inner {
    transform: translateY(110%);
    transition: transform .7s var(--ray-ease);
}
body.ray-js .ray-hero.is-in .ray-display__inner { transform: translateY(0); }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(2) .ray-display__inner { transition-delay: 90ms; }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(3) .ray-display__inner { transition-delay: 180ms; }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(4) .ray-display__inner { transition-delay: 270ms; }

body.ray-js .ray-hero__media {
    clip-path: inset(0 0 0 100%);
    transition: clip-path .9s var(--ray-perde);
}
body.ray-js .ray-hero.is-in .ray-hero__media { clip-path: inset(0 0 0 0); }

body.ray-js .ray-hero__text,
body.ray-js .ray-hero .ray-line-link {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s var(--ray-ease);
}
body.ray-js .ray-hero.is-in .ray-hero__text { opacity: 1; transform: none; transition-delay: .35s; }
body.ray-js .ray-hero.is-in .ray-line-link { opacity: 1; transform: none; transition-delay: .5s; }

/* ============================================================
   S2 HAKKIMIZDA + SAYACLAR - tam boy dikey hairline'lar
   ============================================================ */
.ray-about { overflow: hidden; } /* tam boy cizgiler icin sart */
.ray-about__inner {
    display: flex;
    gap: 4vw;
    padding: 12vh 4vw 12vh 9vw;
    align-items: center;
    min-height: inherit;
}
.ray-about__left { flex: 0 0 42%; }
.ray-about__text {
    max-width: 58ch;
    font-size: 17px;
    line-height: 1.9;
    color: #60666C;
    margin: 24px 0 0;
}
.ray-about__counters {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.ray-counter {
    position: relative;
    padding: 40px 32px;
}
/* Ahlatci imzasi: hucre cizgisi bolumun TAMAMINI boydan boya gecer */
.ray-counter::before {
    content: "";
    position: absolute;
    left: 0;
    top: -100vh;
    bottom: -100vh;
    width: 1px;
    background: var(--ray-cizgi);
}
.ray-counter__icon {
    display: block;
    font-size: 40px;
    line-height: 1;
    color: var(--ray-altin-acik);
    margin-bottom: 20px;
}
.ray-counter__num {
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: var(--ray-count);
    font-weight: 300;
    line-height: 1.1;
    color: var(--ray-grafit);
    font-variant-numeric: tabular-nums;
}
.ray-counter__suffix {
    color: var(--ray-altin-acik);
    font-weight: 300;
    margin-left: 2px;
}
.ray-counter__label {
    font-size: var(--ray-label);
    color: #60666C;
    margin: 8px 0 0;
}

/* S2 giris: sol blok + sayaclar stagger fade-up */
body.ray-js .ray-about__left,
body.ray-js .ray-counter {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity .7s ease, transform .7s var(--ray-ease);
}
body.ray-js .ray-about.is-in .ray-about__left { opacity: 1; transform: none; }
body.ray-js .ray-about.is-in .ray-counter { opacity: 1; transform: none; }
body.ray-js .ray-about.is-in .ray-counter:nth-child(1) { transition-delay: .15s; }
body.ray-js .ray-about.is-in .ray-counter:nth-child(2) { transition-delay: .27s; }
body.ray-js .ray-about.is-in .ray-counter:nth-child(3) { transition-delay: .39s; }
body.ray-js .ray-about.is-in .ray-counter:nth-child(4) { transition-delay: .51s; }

/* ============================================================
   S3 VIDEO - tam ekran, grafit overlay
   ============================================================ */
.ray-video__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ray-video__overlay {
    position: absolute;
    inset: 0;
    background: rgba(38, 40, 44, .45);
}
.ray-video__content {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12vh 20px;
}
.ray-video__play { margin-top: 40px; color: #fff; }
.ray-video__play-ring {
    position: relative;
    display: block;
    width: 72px;
    height: 72px;
    border: 1px solid var(--ray-altin);
    border-radius: 50%;
    margin: 0 auto 14px;
    animation: rayNabiz 2.6s ease-in-out infinite;
}
/* icinde altin ucgen */
.ray-video__play-ring::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-42%, -50%);
    border-style: solid;
    border-width: 8px 0 8px 13px;
    border-color: transparent transparent transparent var(--ray-altin);
}
@keyframes rayNabiz {
    0%, 100% { box-shadow: 0 0 0 0 rgba(230, 179, 61, .25); }
    50%      { box-shadow: 0 0 0 14px rgba(230, 179, 61, 0); }
}
.ray-video__play-text { font-size: 14px; letter-spacing: .08em; }

body.ray-js .ray-video__content {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .8s ease, transform .8s var(--ray-ease);
}
body.ray-js .ray-video.is-in .ray-video__content { opacity: 1; transform: none; }

/* ============================================================
   S4 KATEGORILER - grafit zemin + Swiper yatay serit
   ============================================================ */
.ray-cats {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ray-cats__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 10vh 4vw 6vh 9vw;
}
.ray-cats__top .ray-line-link { margin-bottom: 12px; white-space: nowrap; }
/* QA duzeltmesi (6 Agu 2026): flex cocugu swiper-container icerik genisligine
   buyuyordu (5 slide x 46vw); Swiper kutuyu wrapper ile ayni sanip snapGrid'i
   tek noktaya dusuruyor, slider HIC kaymiyordu. Genislik sabitlenince duzeldi. */
.ray-cats__slider {
    margin-left: 9vw;
    padding-bottom: 8vh;
    width: calc(100% - 9vw);
    min-width: 0;
}
.ray-cat {
    width: 46vw;
    border-left: 1px solid rgba(230, 179, 61, .25);
    padding: 0 3vw 3vh;
    box-sizing: border-box;
}
.ray-cat__head {
    display: flex;
    align-items: baseline;
    gap: 20px;
    margin-bottom: 4px;
}
.ray-cat__num {
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: 64px;
    font-weight: 300;
    line-height: 1;
    color: var(--ray-altin);
}
.ray-cat__title {
    font-size: clamp(22px, 1.7vw, 32px);
    font-weight: 600;
    color: #fff;
    margin: 0;
}
.ray-cat__img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    margin: 20px 0;
}
.ray-cat__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.9);
    transition: transform .6s var(--ray-ease);
    /* QA duzeltmesi (6 Agu 2026): tarayicinin yerli gorsel surukleme
       davranisi Swiper'in mouse ile kaydirmasini yutuyordu */
    -webkit-user-drag: none;
    user-select: none;
}
.ray-cat:hover .ray-cat__img img { transform: scale(1.04); }
.ray-cat__text {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .65);
    margin-bottom: 18px;
}

/* S4 giris: slide'lar sagdan stagger */
body.ray-js .ray-cat {
    opacity: 0;
    transform: translateX(60px);
    transition: opacity .7s ease, transform .7s var(--ray-ease);
}
body.ray-js .ray-cats.is-in .ray-cat { opacity: 1; transform: none; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(2) { transition-delay: .1s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(3) { transition-delay: .2s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(4) { transition-delay: .3s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(5) { transition-delay: .4s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(6) { transition-delay: .5s; }
body.ray-js .ray-cats__top {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s var(--ray-ease);
}
body.ray-js .ray-cats.is-in .ray-cats__top { opacity: 1; transform: none; }

/* ============================================================
   S5 SUREC + NEDEN BIZ - kolonlar, tam boy cizgiler
   ============================================================ */
.ray-process { overflow: hidden; }
.ray-process__inner {
    display: flex;
    gap: 4vw;
    padding: 12vh 4vw 4vh 9vw;
    align-items: flex-start;
}
.ray-process__left { flex: 0 0 30%; }
.ray-process__img { margin-top: 36px; height: 46vh; }
.ray-process__img img { width: 100%; height: 100%; object-fit: cover; }
.ray-process__cols {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.ray-process__col {
    position: relative;
    padding: 24px 28px 48px;
}
.ray-process__col::before {
    content: "";
    position: absolute;
    left: 0;
    top: -100vh;
    bottom: -100vh;
    width: 1px;
    background: var(--ray-cizgi);
}
.ray-process__num {
    display: block;
    font-family: var(--thm-heading-font, 'Rubik', sans-serif);
    font-size: 44px;
    font-weight: 300;
    line-height: 1;
    color: var(--ray-grafit);
    margin-bottom: 4px;
}
.ray-process__title {
    font-size: 22px;
    font-weight: 600;
    color: var(--ray-grafit);
    margin: 14px 0 10px;
}
.ray-process__text {
    font-size: 15px;
    line-height: 1.75;
    color: #60666C;
    margin: 0;
}
/* ikincil kusak: choose ilk 3 */
.ray-process__choose {
    display: flex;
    gap: 4vw;
    padding: 4vh 4vw 8vh 9vw;
    border-top: 1px solid var(--ray-cizgi);
    margin: 0 4vw 0 9vw;
    padding-left: 0;
    padding-right: 0;
}
.ray-process__choose-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--ray-grafit);
}
.ray-process__choose-item > span:first-child {
    color: var(--ray-altin-acik);
    font-size: 24px;
    line-height: 1;
}
.ray-process__choose-title { font-weight: 500; }

/* S5 giris: kolonlar alttan 40px stagger 120ms */
body.ray-js .ray-process__left,
body.ray-js .ray-process__col,
body.ray-js .ray-process__choose {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s ease, transform .7s var(--ray-ease);
}
body.ray-js .ray-process.is-in .ray-process__left,
body.ray-js .ray-process.is-in .ray-process__col,
body.ray-js .ray-process.is-in .ray-process__choose { opacity: 1; transform: none; }
body.ray-js .ray-process.is-in .ray-process__col:nth-child(1) { transition-delay: .12s; }
body.ray-js .ray-process.is-in .ray-process__col:nth-child(2) { transition-delay: .24s; }
body.ray-js .ray-process.is-in .ray-process__col:nth-child(3) { transition-delay: .36s; }
body.ray-js .ray-process.is-in .ray-process__choose { transition-delay: .5s; }

/* ============================================================
   S6 TEKLIF + ALTIN KAPANIS
   ============================================================ */
.ray-close { display: flex; flex-direction: column; }
.ray-close__quote {
    display: flex;
    gap: 6vw;
    padding: 12vh 6vw 10vh 9vw;
    flex: 1;
    align-items: center;
}
.ray-close__left { flex: 0 0 52%; }
.ray-close__text {
    max-width: 52ch;
    font-size: 16px;
    line-height: 1.8;
    color: #60666C;
    margin: 20px 0 28px;
}
.ray-close__side { flex: 1; }
.ray-close__side-item {
    display: flex;
    gap: 18px;
    padding: 26px 0;
    border-bottom: 1px solid var(--ray-cizgi);
}
.ray-close__side-item:last-child { border-bottom: 0; }
.ray-close__side-icon {
    font-size: 36px;
    line-height: 1;
    color: var(--ray-altin-acik);
    flex: 0 0 auto;
}
.ray-close__side-title { font-size: 18px; font-weight: 600; color: var(--ray-grafit); margin: 0; }
.ray-close__side-text { font-size: 14px; line-height: 1.7; color: #60666C; margin: 6px 0 0; }

.ray-close__band {
    background: linear-gradient(105deg, #B98A1F, #e6b33d);
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4vw;
    padding: 48px 6vw 48px 9vw;
}
.ray-close__band-title {
    font-size: clamp(26px, 2.4vw, 36px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--ray-grafit);
    max-width: 24ch;
    margin: 0;
}
.ray-close__band-right { flex: 0 0 auto; text-align: left; }
.ray-close__band-right .ray-line-link { font-size: 17px; }
.ray-close__band-phone { margin: 18px 0 0; font-size: 20px; }
.ray-close__band-phone span {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: rgba(38, 40, 44, .7);
    margin-bottom: 4px;
}
.ray-close__band-phone a { color: var(--ray-grafit); font-weight: 500; }
.ray-close__band-phone a:hover { color: #fff; }

body.ray-js .ray-close__left,
body.ray-js .ray-close__side-item {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity .7s ease, transform .7s var(--ray-ease);
}
body.ray-js .ray-close.is-in .ray-close__left,
body.ray-js .ray-close.is-in .ray-close__side-item { opacity: 1; transform: none; }
body.ray-js .ray-close.is-in .ray-close__side-item:nth-child(1) { transition-delay: .15s; }
body.ray-js .ray-close.is-in .ray-close__side-item:nth-child(2) { transition-delay: .3s; }

/* ============================================================
   MOBIL (<992px): snap KAPALI, normal dikey akis (spec 6 karari)
   ============================================================ */
@media (max-width: 991.98px) {
    /* ust ince bar */
    .ray-bar {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        width: 100%;
        height: 64px;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 0 16px;
        border-right: 0;
        border-bottom: 1px solid var(--ray-cizgi);
    }
    .ray-bar__logo { width: auto; min-height: 0; }
    .ray-bar__logo img.ray-bar__logo-full { max-width: none; height: 32px; width: auto; }
    .ray-bar__logo img.ray-bar__logo-mini { display: none; }
    body.is-scrolled .ray-bar__logo-full { opacity: 1; }
    .ray-bar__phone { display: none; }
    .ray-burger { padding: 8px; }
    .ray-burger__text { display: none; }

    .ray-nav { padding: 96px 24px 120px; justify-content: flex-start; overflow-y: auto; }
    .ray-nav__bottom { left: 24px; right: 24px; bottom: 32px; gap: 16px; }
    .ray-nav__num { font-size: 16px; min-width: 28px; }

    .ray-main { margin-left: 0; padding-top: 64px; }
    body.has-ray .fix { margin-left: 0; padding-top: 64px; }

    .ray-dots { display: none; }

    /* bolumler normal akis */
    .ray-sec { min-height: auto; padding: 72px 20px; position: relative; }

    /* hero: gorsel basligin ALTINA tam genislik */
    .ray-hero { display: flex; flex-direction: column; padding-bottom: 0; }
    .ray-hero__media {
        position: static;
        width: calc(100% + 40px);
        margin: 32px -20px 0;
        order: 2;
        aspect-ratio: 4 / 3;
        top: auto;
        bottom: auto;
    }
    .ray-hero__media::before { display: none; }
    .ray-hero__content { margin-left: 0; padding-top: 0; padding-bottom: 0; max-width: none; order: 1; }
    .ray-hero__big { font-size: 34vw; bottom: auto; top: 8px; left: -2vw; order: 0; position: absolute; }
    .ray-scroll-hint { display: none; }
    body.ray-js .ray-hero__media { clip-path: none; }

    .ray-about__inner,
    .ray-process__inner,
    .ray-close__quote {
        flex-direction: column;
        padding: 0;
        gap: 32px;
        align-items: stretch;
    }
    .ray-about__left, .ray-process__left, .ray-close__left { flex: 0 0 auto; }
    .ray-about__counters { grid-template-columns: 1fr 1fr; width: 100%; }
    .ray-counter { padding: 24px 16px; }
    .ray-counter::before { top: 0; bottom: 0; }
    .ray-counter__icon { font-size: 30px; margin-bottom: 12px; }

    .ray-video { padding: 0; }
    .ray-video__content { min-height: 70vh; }

    .ray-process__img { height: auto; aspect-ratio: 4 / 5; max-height: 60vh; }
    .ray-process__cols { grid-template-columns: 1fr; }
    .ray-process__col { padding: 20px 0 28px 20px; }
    .ray-process__col::before { top: 0; bottom: 0; }
    .ray-process__choose { flex-direction: column; gap: 14px; margin: 0; padding: 24px 0 0; }

    .ray-cats { padding-left: 0; padding-right: 0; }
    .ray-cats__top {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 20px 24px;
    }
    .ray-cats__slider { margin-left: 20px; padding-bottom: 0; width: calc(100% - 20px); }
    .ray-cat { width: 84vw; padding: 0 20px 8px; }
    .ray-cat__num { font-size: 44px; }

    .ray-close { padding-bottom: 0; }
    .ray-close__band {
        flex-direction: column;
        align-items: flex-start;
        margin: 48px -20px 0;
        padding: 48px 20px;
        min-height: 0;
        gap: 24px;
    }
}
@media (max-width: 575.98px) {
    .ray-about__counters { grid-template-columns: 1fr; }
}

/* ============================================================
   HAREKET AZALTMA: animasyon/gecis/parallax iptal, icerik gorunur
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .ray-snap { scroll-behavior: auto; }
    .ray-nav { transition: none; }
    .ray-nav__item, .ray-nav__bottom { transition: none; opacity: 1; transform: none; }
    .ray-scroll-hint__track::before, .ray-video__play-ring { animation: none; }
    .ray-cat__img img, .ray-line-link__line, .ray-burger__line,
    .ray-nav__link, .ray-dots__dot, .ray-bar__logo img { transition: none; }
    body.ray-js .ray-hero .ray-display__inner,
    body.ray-js .ray-hero__media,
    body.ray-js .ray-hero__text,
    body.ray-js .ray-hero .ray-line-link,
    body.ray-js .ray-about__left,
    body.ray-js .ray-counter,
    body.ray-js .ray-video__content,
    body.ray-js .ray-cats__top,
    body.ray-js .ray-cat,
    body.ray-js .ray-process__left,
    body.ray-js .ray-process__col,
    body.ray-js .ray-process__choose,
    body.ray-js .ray-close__left,
    body.ray-js .ray-close__side-item {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        transition: none !important;
    }
}

/* === REVIZYON 1 (6 Agu 2026): kullanici geri bildirimleri ================= */

/* 1) Gecis/animasyon sureleri kisaltildi (scroll hareketi daha kisa his) */
.ray-nav { transition: transform 0.5s var(--ray-perde), visibility 0s linear 0.5s; }
body.ray-nav-open .ray-nav { transition: transform 0.5s var(--ray-perde); }
.ray-nav__item { transition-delay: calc(0.18s + var(--ray-i, 0) * 40ms) !important; }
.ray-display__inner { transition-duration: 0.4s; }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(2) .ray-display__inner { transition-delay: 50ms; }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(3) .ray-display__inner { transition-delay: 100ms; }
body.ray-js .ray-hero.is-in .ray-display__line:nth-child(4) .ray-display__inner { transition-delay: 150ms; }
.ray-hero__media { transition-duration: 0.5s; }
body.ray-js .ray-hero.is-in .ray-hero__text { transition-delay: 0.18s; }
body.ray-js .ray-hero.is-in .ray-line-link { transition-delay: 0.28s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(2) { transition-delay: 0.06s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(3) { transition-delay: 0.12s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(4) { transition-delay: 0.18s; }
body.ray-js .ray-cats.is-in .ray-cat:nth-child(5) { transition-delay: 0.24s; }

/* 2) S2: sayaclar kalkti, yerine gorsel */
.ray-about__media {
    position: relative;
    align-self: center;
    height: min(66vh, 620px);
    border-left: 1px solid var(--ray-cizgi, #E0D7C4);
    padding-left: 48px;
}
.ray-about__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.ray-js .ray-about__media { opacity: 0; transform: translateY(28px); transition: opacity 0.5s var(--ray-ease), transform 0.5s var(--ray-ease); transition-delay: 0.15s; }
body.ray-js .ray-about.is-in .ray-about__media { opacity: 1; transform: none; }
@media (max-width: 991px) {
    .ray-about__media { height: 40vh; border-left: 0; padding-left: 0; }
}

/* 3) S4 kategoriler: sayi kucuk, baslik buyuk */
.ray-cat__num { font-size: 20px; font-weight: 400; opacity: 0.9; }
.ray-cat__title { font-size: clamp(28px, 2.6vw, 46px); }
@media (max-width: 991px) {
    .ray-cat__num { font-size: 16px; }
    .ray-cat__title { font-size: 26px; }
}

/* 4) S4 ilerletme oklari (otomatik akisa ek manuel kontrol) */
.ray-cats__nav {
    display: flex;
    gap: 12px;
    margin: 28px 0 0 calc(200px + 9vw);
}
.ray-cats__prev,
.ray-cats__next {
    width: 52px;
    height: 52px;
    border: 1px solid rgba(230, 179, 61, 0.55);
    border-radius: 50%;
    background: transparent;
    color: var(--ray-altin, #e6b33d);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}
.ray-cats__prev span { display: inline-block; transform: rotate(180deg); }
.ray-cats__prev:hover,
.ray-cats__next:hover {
    background: var(--ray-altin, #e6b33d);
    color: #26282C;
}
.ray-cats__prev.swiper-button-disabled,
.ray-cats__next.swiper-button-disabled { opacity: 0.35; pointer-events: none; }
@media (max-width: 991px) {
    .ray-cats__nav { margin-left: 20px; }
}

/* 5) Footer kompakt (cok yer kapliyordu) */
.rh-ft-ust { padding: 18px 0 14px; gap: 20px; }
.rh-ft-govde { padding: 16px 0 20px; gap: 32px; }
.rh-ft-alt-ic { padding-top: 10px; padding-bottom: 10px; }
@media (max-width: 991px) {
    .rh-ft-govde { padding: 16px 0 18px; gap: 20px; }
}

/* REVIZYON 1 ek: oklar baslik hizasina tasindi (bolum alti ekran disindaydi) */
.ray-cats__top-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 18px;
}
.ray-cats__nav { margin: 0; }
@media (max-width: 991px) {
    .ray-cats__top-right { align-items: flex-start; }
    .ray-cats__nav { margin: 0; }
}

/* REVIZYON 2 (6 Agu 2026): ray logosu buyutuldu (kucucuk kaliyordu) */
.ray-bar__logo { width: 170px; min-height: 72px; }
.ray-bar__logo img.ray-bar__logo-full { max-width: 170px; }
.ray-bar__logo img.ray-bar__logo-mini { width: 58px; }
@media (max-width: 991px) {
    .ray-bar__logo img.ray-bar__logo-full { height: 40px; }
}

/* REVIZYON 3 (6 Agu 2026): ic sayfa baslik bandi zemini sayfayla ayni renk
   (krem bant kaldirildi - baslik dogrudan beyaz zeminde, dikissiz) */
body.has-ray .page-header { background: #FFFFFF !important; }

/* REVIZYON 4 (6 Agu 2026): S4 kategoriler
   1) Zemin eski klasik grafite sabitlendi (#26282C)
   2) Ikiser ikiser akis korunarak IKI kartin ekrana TAM sigmasi:
      kart 46vw -> 36vw, gorsel yuksekligi sinirli, bosluklar sikistirildi */
.ray-cats { background: #26282C !important; }
.ray-cats__top { padding: 6vh 4vw 3vh 9vw; }
.ray-cat { width: 36vw; padding: 0 2.4vw 2vh; }
.ray-cat__img {
    aspect-ratio: auto;
    height: min(42vh, 420px);
    margin: 14px 0;
}
.ray-cat__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ray-cats__slider { padding-bottom: 4vh; }
@media (max-width: 991px) {
    .ray-cat { width: 84vw; }
    .ray-cat__img { height: 34vh; }
}

/* REVIZYON 4 ek: kucuk pencerelerde de dikeyde tam sigma */
.ray-cats__top { padding-top: 5vh; padding-bottom: 2.5vh; }
.ray-cat__img { height: min(38vh, 400px); }
.ray-cat__text { font-size: 14.5px; line-height: 1.6; }

/* REVIZYON 5 (6 Agu 2026): hakkimizda surec gridi footerla kaynasiyordu.
   Grid artik beyaz sayfa uzerinde yuzen yuvarlak koseli koyu bir panel:
   kenarlardan iceride, altin ince cerceve, altinda beyaz nefes payi -
   footer ayri bir blok olarak net baslar. */
body.has-ray .rh-hk-grid {
    width: min(1400px, calc(100% - 96px));
    margin: 8px auto 84px;
    border-radius: 24px;
    border: 1px solid rgba(230, 179, 61, 0.35);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
    padding: 72px 0 44px;
}
@media (max-width: 991px) {
    body.has-ray .rh-hk-grid {
        width: calc(100% - 32px);
        margin: 8px auto 56px;
        border-radius: 16px;
        padding: 52px 0 32px;
    }
}

/* === REVIZYON 6 (7 Agu 2026): S6 kapanis "Hemen Teklif Alin" daha belirgin ===
   Baslik greige (#756E62) krem zemininde silikti; grafit + iri + altin alt-cizgi
   ve ince cizgi-link yerine dolu altin hap buton (kullanici istegi).
   Yalniz S6 sol blogunu etkiler; diger bolumlerin ray-h2/line-link'i degismez. */
.ray-close__left .ray-eyebrow {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .3em;
    color: var(--ray-altin-acik);
}
.ray-close__left .ray-h2 {
    color: var(--ray-grafit);
    font-size: clamp(46px, 6.2vw, 108px);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.03;
}
.ray-close__left .ray-h2::after {
    content: "";
    display: block;
    width: 92px;
    height: 5px;
    margin-top: 20px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--ray-altin), var(--ray-altin-acik));
}
.ray-close__left .ray-close__text { color: var(--ray-ink-2); font-size: 17px; }
/* CTA: ince cizgi-link -> dolu altin hap buton (kapanis vurgusu) */
.ray-close__left .ray-line-link {
    padding: 17px 34px;
    border-radius: 999px;
    background: linear-gradient(105deg, #B98A1F, #e6b33d);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .02em;
    box-shadow: 0 14px 30px -12px rgba(185, 138, 31, .65);
    transition: transform .3s var(--ray-ease), box-shadow .3s var(--ray-ease), color .3s;
}
.ray-close__left .ray-line-link:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 20px 40px -12px rgba(185, 138, 31, .8);
}
.ray-close__left .ray-line-link .ray-line-link__line { display: none; }
@media (max-width: 991px) {
    .ray-close__left .ray-h2 { font-size: clamp(38px, 10vw, 56px); }
    .ray-close__left .ray-line-link { padding: 14px 26px; }
}

/* ============================================================================
   REVIZYON 7 (17 Agu 2026) - "TEK CATININ ALTINDA"
   Butun tuval + net siyah ink + editoryal fontlar + video hero + S5 akis.
   Bu blok mevcut kurallarin UZERINE gelir (asagida = kazanir); onceki
   satirlar silinmedi, override edildi (guvenli geri donus).
   ============================================================================ */

/* ---- 1) TIPOGRAFI: Fraunces display + Manrope govde ---- */
.ray-display,
.ray-h2,
.ray-nav__link,
.ray-cat__title,
.ray-flow__title,
.ray-close__left .ray-h2 {
    font-family: var(--ray-font-display);
}
.ray-hero__text,
.ray-about__text,
.ray-video__head .ray-eyebrow,
.ray-eyebrow,
.ray-line-link,
.ray-hero__trust,
.ray-cat__text,
.ray-flow__label,
.ray-flow__text,
.ray-process__intro,
.ray-close__text,
.ray-bar__phone,
.ray-scroll-hint__label,
.ray-nav__contact,
.ray-close__side-title,
.ray-close__side-text,
.ray-process__choose-item {
    font-family: var(--ray-font-body);
}
/* Fraunces daha genis gozukur - hero basligini biraz sik + net siyah */
.ray-display { letter-spacing: -.02em; line-height: 1.05; font-weight: 600; }
.ray-display__vurgu {
    font-family: var(--ray-font-display);
    font-style: italic;
    font-weight: 600;
    color: var(--ray-altin-acik);
}

/* ---- 2) NET SIYAH INK: tum baslik + govde metni (greige/duman temizligi) ---- */
.ray-display,
.ray-h2,
.ray-h2--light,
.ray-h2--gold,
.ray-cat__title,
.ray-process__title,
.ray-flow__title,
.ray-nav__link {
    color: var(--ray-ink);
}
.ray-hero__text,
.ray-about__text,
.ray-cat__text,
.ray-flow__text,
.ray-process__text,
.ray-process__intro,
.ray-close__text,
.ray-counter__label,
.ray-scroll-hint__label,
.ray-bar__phone,
.ray-nav__contact,
.ray-close__side-text {
    color: var(--ray-ink-2);
}
.ray-close__side-title { color: var(--ray-ink); }
.ray-process__choose-item { color: var(--ray-ink); }

/* ---- 3) TEK EDITORYAL TUVAL: tum bolumler ayni acik zemin ---- */
.ray-hero,
.ray-about,
.ray-video,
.ray-cats,
.ray-process,
.ray-close {
    background: var(--ray-zemin);
}
/* REVIZYON 4'un grafit !important'ini geri al */
.ray-cats { background: var(--ray-zemin) !important; }
/* bolumler arasi nefes: cok dusuk kontrast hairline dikis (tuvali diker) */
.ray-about,
.ray-video,
.ray-cats,
.ray-process,
.ray-close {
    border-top: 1px solid rgba(185, 138, 31, .10);
}

/* ---- 4) RAY-BAR INCELTME (istek 7) + LOGO BUYUTME (istek 9) ----
   Denge: bar orijinal 200px'ten INCE ama logo MUTLAK olarak buyuk gorunsun
   (yatay logo dar bara sigmali). Bar 172/184, logo 150/158 - eski 108/122'den
   belirgin buyuk, eski 170'e yakin; bar yine incelmis. */
.ray-bar {
    width: 172px;
    padding: 22px 10px;
}
.ray-main { margin-left: 172px; }
body.has-ray .fix { margin-left: 172px; }
.ray-nav { padding-left: calc(172px + 8vw); }
.ray-nav__bottom { left: calc(172px + 8vw); }
@media (min-width: 1600px) {
    .ray-bar { width: 184px; }
    .ray-main { margin-left: 184px; }
    body.has-ray .fix { margin-left: 184px; }
    .ray-nav { padding-left: calc(184px + 8vw); }
    .ray-nav__bottom { left: calc(184px + 8vw); }
}
.ray-bar__logo { width: 150px; min-height: 70px; }
.ray-bar__logo img.ray-bar__logo-full { max-width: 150px; width: 150px; }
.ray-bar__logo img.ray-bar__logo-mini { width: 60px; }
@media (min-width: 1600px) {
    .ray-bar__logo { width: 158px; }
    .ray-bar__logo img.ray-bar__logo-full { max-width: 158px; width: 158px; }
}
/* incelen menu icin ok navigasyonu ve margin'ler eski 200px'e bagliydi -> guncelle */
.ray-cats__nav { margin-left: 0; }

/* ---- 5) BURGER X MORPH KALDIRMA (istek 10): 3 cizgi halde kalir ---- */
body.ray-nav-open .ray-burger__line:nth-child(1),
body.ray-nav-open .ray-burger__line:nth-child(2),
body.ray-nav-open .ray-burger__line:nth-child(3),
body.ray-nav-open .ray-burger:hover .ray-burger__line:nth-child(2) {
    transform: none;
}
.ray-burger__text {
    font-family: var(--ray-font-body);
    color: var(--ray-ink);
}

/* ---- 6) MENU: numaralar kalkti, hizalama sadelesti (istek 8) ---- */
.ray-nav__item { gap: 0; align-items: center; }
.ray-nav__link { color: var(--ray-ink); font-weight: 600; }

/* ---- 7) HERO: yonetmen bakisli video katmani + kinetik tipografi ---- */
.ray-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Beyaz kaplama kutusu KALDIRILDI (seffaf): kutunun sol kenari beyaz-uzerine-beyaz
   ince bir dikis (kullanicinin gordugu "ortadaki siyah cizgi") yaratiyordu.
   Artik sol alan dogrudan bolum beyazi; foto maske ile yumusar (asagida). */
.ray-hero__media::before {
    background: transparent;
}
/* video sol kenari SERT dikey cizgi yapmasin: yumusak maske ile solda seffaf,
   sagda tam gorunur -> hero'daki dikey cizgi tamamen biter, foto sagda erir */
.ray-hero__video {
    /* gecis sola cekildi: araba (~%53) TAM opak, beyaz sadece arabanin solundaki
       bos alana gelir (onceki maske arabanin onunu yikiyordu) */
    -webkit-mask-image: linear-gradient(105deg, transparent 28%, rgba(0, 0, 0, .45) 42%, #000 54%);
            mask-image: linear-gradient(105deg, transparent 28%, rgba(0, 0, 0, .45) 42%, #000 54%);
}
/* alt kenarda beyaza erime (asagi bolume dikissiz gecis) */
.ray-hero__media::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 14vh;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #FFFFFF);
    z-index: 1;
    pointer-events: none;
}
/* will-change/transform KALDIRILDI: parallax GPU katmani media sol kenarinda
   dikis (cizgi) yapiyordu; parallax da kapatildi (remhoy-ray.js). */
.ray-hero__media { top: 0; width: 56vw; }
.ray-hero__content { will-change: transform; }
.ray-hero__kicker { color: var(--ray-altin-acik); font-weight: 600; letter-spacing: .32em; }

/* guven seridi: altin nokta ayracli tek satir mikro-serit */
.ray-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    list-style: none;
    margin: 26px 0 30px;
    padding: 0;
    font-size: 14px;
    letter-spacing: .01em;
    color: var(--ray-ink);
}
.ray-hero__trust li { position: relative; display: inline-flex; align-items: center; font-weight: 500; }
.ray-hero__trust li + li::before {
    content: "";
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--ray-altin);
    margin-right: 18px;
}
.ray-hero__cta { color: var(--ray-ink); font-weight: 600; }
.ray-hero__cta .ray-line-link__line { background: var(--ray-altin-acik); }

/* ---- 8) S3 VIDEO: acik tuval uzerinde yuzen sinematik pano ---- */
.ray-video__inner {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    padding: 10vh 6vw 10vh 9vw;
}
.ray-video__head { max-width: 60ch; }
.ray-video__panel {
    position: relative;
    width: 100%;
    height: min(56vh, 560px);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(185, 138, 31, .45);
    box-shadow: 0 30px 70px -30px rgba(38, 40, 44, .5);
}
.ray-video__panel .ray-video__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* koyu overlay -> cok hafif sinematik vignette */
.ray-video__panel .ray-video__overlay {
    background: radial-gradient(120% 120% at 50% 40%, rgba(38,40,44,0) 55%, rgba(38,40,44,.28) 100%);
}
.ray-video__panel .ray-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; color: #fff; text-align: center; }

/* ---- 9) S4 KATEGORILER: acik zemin, net siyah kart metni ---- */
.ray-cat { border-left: 1px solid var(--ray-altin-acik); }
.ray-cat__title { color: var(--ray-ink); }
.ray-cat__text { color: var(--ray-ink-2); }
.ray-cat__img img { filter: none; }
.ray-cats .ray-line-link { color: var(--ray-ink); }
.ray-cats .ray-line-link:hover { color: var(--ray-altin-acik); }

/* ---- 10) S5 SUREC: yatay editoryal zaman-cizgisi (numarasiz) ---- */
.ray-process {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}
.ray-process__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4vw;
    padding: 9vh 6vw 5vh 9vw;
}
.ray-process__head-text { max-width: 52ch; }
.ray-process__intro { margin: 18px 0 0; font-size: 16px; line-height: 1.8; max-width: 46ch; }
/* editoryal polaroid: keskin kenar + altin hairline cerceve */
.ray-process__photo {
    flex: 0 0 auto;
    width: clamp(180px, 20vw, 300px);
    margin: 0;
    padding: 8px;
    background: #fff;
    border: 1px solid rgba(185, 138, 31, .5);
    box-shadow: 0 20px 50px -24px rgba(38, 40, 44, .45);
}
.ray-process__photo img { display: block; width: 100%; height: 22vh; max-height: 260px; object-fit: cover; }

.ray-flow { position: relative; padding: 0 6vw 6vh 9vw; }
/* bolumu boydan gecen altin hairline (S2 cizgi dilinin akrabasi) */
.ray-flow__rail {
    position: absolute;
    left: 9vw; right: 6vw;
    top: 11px;
    height: 1px;
    background: rgba(185, 138, 31, .35);
}
/* akis: is-in'de soldan saga uzayan dolu altin cizgi */
.ray-flow__progress {
    position: absolute;
    left: 9vw;
    top: 11px;
    width: 0;
    height: 1px;
    background: var(--ray-altin-acik);
    transition: width 1.4s var(--ray-ease) .2s;
}
.ray-process.is-in .ray-flow__progress { width: calc(100% - 9vw - 6vw); }
.ray-flow__steps {
    display: grid;
    grid-template-columns: repeat(var(--ray-flow-n, 4), 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
}
.ray-flow__step {
    position: relative;
    padding: 0 3vw 0 0;
}
.ray-flow__dot {
    display: block;
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--ray-altin-acik);
    box-shadow: 0 0 0 4px var(--ray-zemin);
    margin-bottom: 26px;
}
.ray-flow__icon { display: block; font-size: 26px; line-height: 1; color: var(--ray-altin-acik); margin-bottom: 12px; }
.ray-flow__label {
    display: block;
    font-family: var(--ray-font-display);
    font-style: italic;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .06em;
    color: var(--ray-altin-acik);
    margin-bottom: 8px;
}
.ray-flow__title { font-size: clamp(19px, 1.5vw, 26px); font-weight: 600; color: var(--ray-ink); margin: 0 0 10px; }
.ray-flow__text { font-size: 15px; line-height: 1.7; color: var(--ray-ink-2); margin: 0; }

/* akis giris: duraklar soldan saga stagger + dot "yanar" */
body.ray-js .ray-flow__step {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s var(--ray-ease);
    transition-delay: calc(.25s + var(--ray-si, 0) * .12s);
}
body.ray-js .ray-process.is-in .ray-flow__step { opacity: 1; transform: none; }

.ray-process__choose {
    display: flex;
    gap: 4vw;
    flex-wrap: wrap;
    border-top: 1px solid rgba(185, 138, 31, .18);
    margin: 0 6vw 0 9vw;
    padding: 4vh 0 6vh;
}
.ray-process__choose-item > span:first-child { color: var(--ray-altin-acik); }

/* ---- 11) DOT NAV: tum bolumler acik oldugu icin sabit altin/siyah ---- */
body.ray-dark-sec .ray-dots__dot { border-color: var(--ray-greige); }
body.ray-dark-sec .ray-dots__dot.is-active { background: var(--ray-altin-acik); border-color: var(--ray-altin-acik); }

/* ---- 12) MOBIL: yeni bolumler dikey akis ---- */
@media (max-width: 991.98px) {
    .ray-bar { width: 100%; }
    .ray-bar__logo { width: auto; min-height: 0; }
    .ray-bar__logo img.ray-bar__logo-full { width: auto; max-width: none; height: 40px; }
    .ray-main { margin-left: 0; }
    body.has-ray .fix { margin-left: 0; }

    .ray-hero__media::after { display: none; }
    /* MOBIL HERO DUZELTME (18 Agu 2026): dosyanin ilerisindeki genel kurallar
       (satir ~1412 width:56vw ve ~1397 sol-seffaf maske) mobil kurallari eziyordu;
       goruntu dar bir serit halinde bozuluyordu. Burada (o kurallardan SONRA)
       geri aliyoruz: medya tam genislik + maske kapali. */
    .ray-hero__media {
        position: static !important;
        width: calc(100% + 40px) !important;
        margin: 24px -20px 0 !important;
        top: auto !important;
        bottom: auto !important;
        aspect-ratio: auto !important;   /* sabit oran yok: yukseklik videonun dogal orani */
        height: auto !important;
        background: var(--ray-zemin);
        clip-path: none !important;
    }
    /* video normal akista, tam genislik, dogal yukseklik -> araba TAM gorunur (kirpma/kaybolma yok) */
    .ray-hero__video {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        object-fit: initial !important;
        -webkit-mask-image: none !important;
                mask-image: none !important;
        display: block;
    }

    .ray-video__inner { padding: 0; gap: 20px; }
    .ray-video__panel { height: 46vh; border-radius: 12px; }

    .ray-process__head { flex-direction: column; align-items: flex-start; padding: 0; gap: 24px; }
    .ray-process__photo { width: clamp(160px, 44vw, 220px); }
    .ray-flow { padding: 28px 0 0; }
    .ray-flow__rail, .ray-flow__progress { display: none; }
    .ray-flow__steps { grid-template-columns: 1fr; gap: 28px; }
    .ray-flow__step { padding: 0 0 0 22px; border-left: 1px solid rgba(185, 138, 31, .3); }
    .ray-flow__dot { position: absolute; left: -7px; top: 0; margin-bottom: 0; }
    .ray-flow__icon { margin-top: 0; }
    .ray-process__choose { margin: 24px 0 0; padding: 20px 0 0; flex-direction: column; gap: 14px; }
}

/* ---- 13) HAREKET AZALTMA: yeni ogeler ---- */
@media (prefers-reduced-motion: reduce) {
    .ray-hero__media, .ray-hero__content { transform: none !important; }
    .ray-flow__progress { transition: none; width: calc(100% - 9vw - 6vw); }
    body.ray-js .ray-flow__step { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============================================================
   14) KATEGORILER (S4) ESKI KOYU HALINE DONDU (kullanici istegi)
   Site geneli BEYAZ kalir; yalniz bu bolum grafit zemin + acik metin.
   Dosya sonunda -> "tek editoryal tuval" beyaz override'ini gecersiz kilar.
   ============================================================ */
.ray-cats { background: var(--ray-grafit2) !important; border-top-color: transparent !important; }
.ray-cats .ray-eyebrow { color: var(--ray-altin) !important; }
.ray-cats .ray-h2 { color: #fff !important; }
.ray-cats .ray-cat__title { color: #fff !important; }
.ray-cats .ray-cat__text { color: rgba(255, 255, 255, .72) !important; }
.ray-cats .ray-cat__num { color: var(--ray-altin) !important; }
.ray-cats .ray-line-link,
.ray-cats .ray-line-link__text { color: #fff !important; }
.ray-cats .ray-line-link:hover,
.ray-cats .ray-line-link:hover .ray-line-link__text { color: var(--ray-altin) !important; }
.ray-cats .ray-cat { border-left-color: rgba(230, 179, 61, .45) !important; }

/* ============================================================
   15) GORSELSIZ KATEGORI KARTI PLACEHOLDER'i (18 Agu 2026)
   Panelden gorsel eklenene kadar cirkin varsayilan yerine,
   grafit zemine oturan zarif bir "gorsel yakinda" bloku.
   ============================================================ */
.ray-cat__ph {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(120% 100% at 50% 0%, rgba(230, 179, 61, .10), transparent 60%),
        var(--ray-grafit);
    border: 1px dashed rgba(230, 179, 61, .40);
    color: rgba(255, 255, 255, .55);
}
.ray-cat__ph-mark {
    font-family: var(--ray-display, 'Fraunces', serif);
    font-size: clamp(56px, 7vw, 96px);
    line-height: 1;
    font-weight: 500;
    color: var(--ray-altin);
    opacity: .9;
}
.ray-cat__ph-note {
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}

/* ============================================================
   16) MOBIL MENU DUZELTME (18 Agu 2026)
   Dosyanin ilerisindeki GENEL kural .ray-nav{padding-left:calc(172px+8vw)}
   (masaustu sol-bar offset'i) medya sorgusu olmadigi icin mobilde de
   uygulanip menuyu SAGA kaydiriyordu. Mobilde sifirliyoruz.
   ============================================================ */
@media (max-width: 991.98px) {
    .ray-nav { padding-left: 24px !important; padding-right: 24px !important; }
    .ray-nav__bottom { left: 24px !important; right: 24px !important; }
}
