/* ==========================================================================
   AVES Referanslar: firma > iş > görsel sayfaları (T-20261110-003)
   Onaylı ön tasarımdan (ajans/tasarim/referanslar-on-tasarim/assets/style.css, T-20261110-001) aktarıldı.
   Önek: rf-   Kapsayıcı: .rf-page (<main> içindeki div). Site app.css'iyle çakışmamak için değişkenler
   :root yerine .rf-page üzerindedir; yer tutucu şerit, önce/sonra ve önizleme sınıfları taşınmadı.
   Mobile-first: taban 320-639 px, sonra 640 / 768 / 1024 / 1280.
   ========================================================================== */

.rf-page {
  --rf-ink: #1A1630;
  --rf-paper: #F6F4FB;
  --rf-deep: #5A2BE0;      /* açık zeminde METİN moru (marka moru 4,49'a düşer) */
  --rf-soft: #B39DFF;      /* koyu zeminde metin moru */
  --rf-h1: clamp(2rem, 1.3rem + 3vw, 3.5rem);
  --rf-h2: clamp(1.625rem, 1.15rem + 2vw, 2.75rem);
  --rf-pad: 44px;
  --rf-wrap: min(1180px, 100% - 40px);
  --rf-header: 88px;       /* sabit site başlığının payı (hero üst boşluğu) */
}

.rf-page {
  font-family: var(--font-primary);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--rf-ink);
  background: var(--rf-paper);
  overflow-x: clip;
}
.rf-page h1, .rf-page h2, .rf-page h3, .rf-page h4, .rf-page p,
.rf-page ul, .rf-page ol, .rf-page dl, .rf-page dd, .rf-page figure, .rf-page blockquote { margin: 0; padding: 0; }
.rf-page ul, .rf-page ol { list-style: none; }
.rf-page img { display: block; max-width: 100%; height: auto; }
.rf-page [hidden] { display: none !important; }

/* Sitenin diğer iç sayfalarıyla aynı kapsayıcı: `container-fluid px-4 px-lg-5`
   (tam genişlik, 24px / ≥992px'te 48px kenar) — hero ve breadcrumb ile aynı sol hiza (2026-11-11) */
.rf-wrap { width: 100%; padding-inline: 1.5rem; }
@media (min-width: 992px) { .rf-wrap { padding-inline: 3rem; } }

.rf-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; }

/* ---------- Bölgeler: renkler yalnız değişkenlerle yönetilir ---------- */
.rf-zone {
  position: relative; isolation: isolate; overflow: hidden;
  padding: var(--rf-pad) 0;
  color: var(--c-text); background: var(--c-bg);
}
.rf-zone::before, .rf-zone::after { content: ''; position: absolute; z-index: -1; pointer-events: none; }

.rf-zone--light {
  --c-bg: var(--rf-paper); --c-text: var(--rf-ink); --c-muted: #4A4566;
  --c-line: rgba(26, 22, 48, .16); --c-accent: var(--rf-deep); --c-tint: rgba(108, 59, 255, .09);
  --c-card: #fff;
}
.rf-zone--white { --c-bg: #FFFFFF; --c-card: var(--rf-paper); }
.rf-zone--white, .rf-zone--light {
  --c-text: var(--rf-ink); --c-muted: #4A4566; --c-line: rgba(26, 22, 48, .16);
  --c-accent: var(--rf-deep); --c-tint: rgba(108, 59, 255, .09);
}
.rf-zone--light::before, .rf-zone--white::before {
  top: -25%; right: -18%; width: 75%; height: 110%;
  background: radial-gradient(ellipse at 70% 30%, rgba(108, 59, 255, .10) 0%, rgba(108, 59, 255, .03) 50%, transparent 70%);
}
.rf-zone--light::after, .rf-zone--white::after {
  bottom: -30%; left: -12%; width: 65%; height: 100%;
  background: radial-gradient(ellipse at 20% 80%, rgba(247, 147, 30, .14) 0%, rgba(247, 147, 30, .04) 50%, transparent 70%);
}
.rf-zone--flip::before { right: auto; left: -18%; background: radial-gradient(ellipse at 30% 30%, rgba(108, 59, 255, .10) 0%, rgba(108, 59, 255, .03) 50%, transparent 70%); }
.rf-zone--flip::after  { left: auto; right: -12%; background: radial-gradient(ellipse at 80% 80%, rgba(247, 147, 30, .14) 0%, rgba(247, 147, 30, .04) 50%, transparent 70%); }

.rf-zone--dark {
  --c-bg: linear-gradient(160deg, #0d0b1a 0%, #141026 55%, #1a1230 100%);
  --c-text: #F3F0FF; --c-muted: #C9C2E6; --c-line: rgba(255, 255, 255, .2);
  --c-accent: var(--rf-soft); --c-tint: rgba(179, 157, 255, .14);
}
.rf-zone--dark::before {
  top: -30%; left: -15%; width: 75%; height: 140%;
  background: radial-gradient(ellipse at 30% 40%, rgba(108, 59, 255, .35) 0%, rgba(108, 59, 255, .10) 45%, transparent 70%);
}
.rf-zone--dark::after {
  bottom: -35%; right: -12%; width: 60%; height: 110%;
  background: radial-gradient(ellipse at 80% 80%, rgba(247, 147, 30, .22) 0%, rgba(247, 147, 30, .06) 50%, transparent 70%);
}

/* Mor CTA bandı */
.rf-zone--violet {
  --c-bg: linear-gradient(135deg, #6C3BFF 0%, #4A22C8 100%);
  --c-text: #FFFFFF; --c-muted: #FFFFFF; --c-line: rgba(255, 255, 255, .35); --c-accent: #FFFFFF;
}
.rf-zone--violet::before {
  top: -40%; right: -10%; width: 60%; height: 150%;
  background: radial-gradient(ellipse at 60% 40%, rgba(247, 147, 30, .30) 0%, rgba(247, 147, 30, .08) 45%, transparent 70%);
}
.rf-zone--violet::after {
  bottom: -50%; left: -10%; width: 55%; height: 130%;
  background: radial-gradient(ellipse at 30% 70%, rgba(255, 255, 255, .14) 0%, transparent 65%);
}

/* ---------- Tipografi ---------- */
.rf-page .rf-h1 {
  font-size: var(--rf-h1); font-weight: 700; line-height: 1.06; letter-spacing: -.02em;
  color: var(--c-text); text-wrap: balance; overflow-wrap: break-word; hyphens: auto;
}
.rf-page .rf-h2 {
  font-size: var(--rf-h2); font-weight: 700; line-height: 1.1; letter-spacing: -.02em;
  color: var(--c-text); text-wrap: balance; overflow-wrap: break-word; hyphens: auto;
}
.rf-page .rf-h3 { font-size: 1.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; color: var(--c-text); }
/* Vurgu: <span> değil <em> (canlı h1-h6 span !important kuralı rengi ezer) */
.rf-page .rf-hl { font-style: normal; color: var(--c-accent); }
.rf-page .rf-lead { font-size: 1.0625rem; font-weight: 300; line-height: 1.6; color: var(--c-muted); max-width: 62ch; }
.rf-page .rf-zone--dark .rf-lead { font-weight: 300; }
.rf-page .rf-text { font-size: 1rem; font-weight: 400; color: var(--c-muted); max-width: 68ch; }
.rf-page .rf-text + .rf-text { margin-top: 12px; }
.rf-page .rf-section-head { margin-bottom: 22px; display: grid; gap: 10px; }

.rf-page .rf-a {
  color: var(--c-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
.rf-page .rf-a:hover { text-decoration-thickness: 2px; }
.rf-page .rf-zone--light a:focus-visible, .rf-page .rf-zone--white a:focus-visible,
.rf-page .rf-zone--light button:focus-visible, .rf-page .rf-zone--white button:focus-visible { outline: 3px solid var(--rf-deep); outline-offset: 3px; border-radius: 4px; }
.rf-page .rf-zone--dark a:focus-visible, .rf-page .rf-zone--dark button:focus-visible,
.rf-page .rf-zone--violet a:focus-visible { outline: 3px solid var(--secondary-color); outline-offset: 3px; border-radius: 4px; }
.rf-page .rf-zone--violet a:focus-visible { outline-color: #fff; }

/* ---------- Düğmeler: renkler SABİT, bölge değişkenine bağlı değil ---------- */
.rf-page .rf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 28px;
  font: 600 1rem/1.2 var(--font-primary); text-align: center;
  text-decoration: none; border: 2px solid transparent; border-radius: 4px; cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}
.rf-page .rf-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.rf-page .rf-btn:hover { transform: translateY(-2px); }
.rf-page .rf-btn:hover svg { transform: translateX(4px); }
.rf-page .rf-btn--violet, .rf-page .rf-btn--violet:visited { background: #6C3BFF; border-color: #6C3BFF; color: #FFFFFF; }
.rf-page .rf-btn--violet:hover { background: #5A2BE0; border-color: #5A2BE0; color: #FFFFFF; }
/* Mor bantta: turuncu düğme + beyaz kenar */
.rf-page .rf-btn--orange, .rf-page .rf-btn--orange:visited { background: #F7931E; border-color: #FFFFFF; color: #1A1630; }
.rf-page .rf-btn--orange:hover { background: #FFA640; border-color: #FFFFFF; color: #1A1630; }
.rf-page .rf-btn--ghost, .rf-page .rf-btn--ghost:visited { background: transparent; border-color: #5A2BE0; color: #5A2BE0; }
.rf-page .rf-btn--ghost:hover { background: #5A2BE0; color: #FFFFFF; }
.rf-page .rf-btn--ghost-light, .rf-page .rf-btn--ghost-light:visited { background: transparent; border-color: #FFFFFF; color: #FFFFFF; }
.rf-page .rf-btn--ghost-light:hover { background: #FFFFFF; color: #1A1630; }
.rf-page .rf-btn--block { width: 100%; }
@media (min-width: 640px) { .rf-page .rf-btn--block { width: auto; } }
.rf-page .rf-btn:focus-visible { outline: 3px solid #5A2BE0; outline-offset: 3px; }
.rf-page .rf-zone--dark .rf-btn:focus-visible { outline-color: #F7931E; }
.rf-page .rf-zone--violet .rf-btn:focus-visible { outline-color: #FFFFFF; }
.rf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

/* ---------- Hero ---------- */
.rf-hero { padding: 40px 0 44px; }
.rf-badge {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px;
  padding: 7px 16px; border-radius: 999px; font-size: .875rem; font-weight: 600;
  background: rgba(179, 157, 255, .16); color: #F3F0FF; border: 1px solid rgba(179, 157, 255, .4);
}
.rf-badge svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rf-hero .rf-lead { margin-top: 16px; }
.rf-hero__row { display: grid; gap: 20px; }

.rf-crumbs { margin-bottom: 20px; font-size: .9375rem; }
.rf-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; }
.rf-crumbs li { display: inline-flex; align-items: center; }
.rf-crumbs li + li::before { content: '\203A'; margin: 0 10px; color: #C9C2E6; }
.rf-page .rf-crumbs a { color: #F3F0FF; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 32px; }
.rf-crumbs [aria-current] { color: #C9C2E6; overflow-wrap: anywhere; }

/* ---------- Logo kutuları ---------- */
.rf-logo {
  display: grid; place-items: center; background: #fff;
  border: 1px solid rgba(26, 22, 48, .12); border-radius: 10px; overflow: hidden;
}
.rf-logo img { max-width: 82%; max-height: 74%; width: auto; height: auto; object-fit: contain; }
.rf-logo--sm { width: 72px; height: 36px; flex: none; }
.rf-logo--md { width: 132px; height: 64px; }
.rf-logo--lg { width: 148px; height: 76px; border-radius: 12px; }
.rf-logo--init { color: var(--rf-deep); font-weight: 700; font-size: .875rem; background: #EFEAFE; }

/* ---------- Firma logo şeridi ---------- */
.rf-firms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rf-firm {
  position: relative; display: grid; justify-items: start; gap: 12px; align-content: start;
  padding: 16px; background: var(--c-card, #fff); border: 1px solid rgba(26, 22, 48, .12); border-radius: 14px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rf-firm:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(26, 22, 48, .09); border-color: rgba(108, 59, 255, .35); }
.rf-firm .rf-logo { width: 100%; max-width: 160px; height: 60px; }
.rf-page .rf-firm__name { font-size: 1.0625rem; font-weight: 700; line-height: 1.25; }
.rf-page .rf-firm__link { color: var(--rf-ink); text-decoration: none; }
.rf-page .rf-firm__link::after { content: ''; position: absolute; inset: 0; border-radius: 14px; }
.rf-page .rf-firm__link:focus-visible { outline: none; }
.rf-page .rf-firm__link:focus-visible::after { outline: 3px solid var(--rf-deep); outline-offset: 2px; }
.rf-page .rf-firm__sector { font-size: .875rem; font-weight: 400; color: var(--c-muted); line-height: 1.35; }
@media (min-width: 768px) { .rf-firms { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .rf-firm { padding: 20px; } }
.rf-firms--3 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rf-firms--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Filtre ---------- */
.rf-filter { margin-bottom: 18px; }
.rf-filter__label { font-size: .9375rem; font-weight: 600; margin-bottom: 10px; color: var(--c-text); }
.rf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rf-page .rf-chip {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
  font: 600 .9375rem/1.2 var(--font-primary); color: var(--rf-deep); text-decoration: none;
  background: #fff; border: 2px solid rgba(90, 43, 224, .35); border-radius: 999px; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.rf-page .rf-chip:hover { border-color: var(--rf-deep); background: #EFEAFE; }
.rf-page .rf-chip[aria-pressed="true"], .rf-page .rf-chip[aria-current="true"] { background: #6C3BFF; border-color: #6C3BFF; color: #fff; }
.rf-page .rf-chip:focus-visible { outline: 3px solid var(--rf-deep); outline-offset: 3px; }
.rf-count { font-size: .9375rem; color: var(--c-muted); margin-bottom: 18px; min-height: 1.5em; }
.rf-empty { padding: 28px 20px; text-align: center; background: #fff; border: 1px dashed rgba(26, 22, 48, .3); border-radius: 14px; color: var(--c-muted); }

/* ---------- İş kartları ---------- */
.rf-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@media (min-width: 640px) { .rf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 1024px) { .rf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rf-grid--2 { }
@media (min-width: 1024px) { .rf-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.rf-card {
  position: relative; display: flex; min-width: 0;
  background: #fff; border: 1px solid rgba(26, 22, 48, .12); border-radius: 16px; overflow: hidden;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s ease, border-color .3s ease;
}
.rf-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(26, 22, 48, .10); border-color: rgba(108, 59, 255, .35); }
.rf-card__in { display: flex; flex-direction: column; width: 100%; }
.rf-card__media { position: relative; aspect-ratio: 16 / 10; background: #E9E5F7; overflow: hidden; }
.rf-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .6s cubic-bezier(.4, 0, .2, 1); }
.rf-card:hover .rf-card__media img { transform: scale(1.03); }
.rf-card__body { display: flex; flex-direction: column; gap: 12px; padding: 18px 18px 20px; flex: 1; }
.rf-card__firm { display: flex; align-items: center; gap: 10px; font-size: .9375rem; font-weight: 600; color: #4A4566; }
.rf-card__year { margin-left: auto; font-size: .875rem; font-weight: 600; color: #4A4566; }
.rf-page .rf-card__title { font-size: 1.1875rem; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; overflow-wrap: break-word; }
.rf-page .rf-card__link { color: var(--rf-ink); text-decoration: none; }
.rf-page .rf-card__link::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: 16px; }
.rf-page .rf-card__link:hover { color: var(--rf-deep); }
.rf-page .rf-card__link:focus-visible { outline: none; }
.rf-page .rf-card__link:focus-visible::after { outline: 3px solid var(--rf-deep); outline-offset: 3px; }
.rf-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: .9375rem; font-weight: 600; color: var(--rf-deep); }
.rf-card__more svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.rf-card:hover .rf-card__more svg { transform: translateX(4px); }

/* İş türü etiketleri */
.rf-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rf-tag { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: .8125rem; font-weight: 600; line-height: 1.5; background: rgba(108, 59, 255, .09); color: #5A2BE0; }

/* Görseli olmayan iş: renkli zemin + ikon + "Görsel eklenecek" */
.rf-ph { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 16px; text-align: center; color: #fff; }
.rf-ph svg { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rf-ph span { font-size: .9375rem; font-weight: 600; }
.rf-ph--1 { background: linear-gradient(135deg, #5A2BE0 0%, #3B1AA8 100%); }
.rf-ph--2 { background: linear-gradient(135deg, #141026 0%, #3B1AA8 100%); }
.rf-ph--3 { background: linear-gradient(135deg, #B25F00 0%, #6A3500 100%); }
.rf-ph--4 { background: linear-gradient(135deg, #3B1AA8 0%, #7A3E00 100%); }

/* ---------- Firma sayfası ---------- */
.rf-firmhead { display: grid; gap: 22px; }
.rf-firmhead__id { display: flex; align-items: center; gap: 18px; }
.rf-meta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--c-line); margin-top: 6px; }
.rf-meta__row { display: grid; grid-template-columns: minmax(0, 120px) minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--c-line); }
.rf-meta dt { font-size: .875rem; font-weight: 600; color: var(--c-muted); }
.rf-meta dd { font-size: 1rem; font-weight: 500; color: var(--c-text); overflow-wrap: anywhere; }
.rf-page .rf-zone--dark .rf-meta dd a { color: #F3F0FF; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
  .rf-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .rf-meta__row { grid-template-columns: minmax(0, 150px) minmax(0, 1fr); }
}

.rf-two { display: grid; gap: 28px; }
@media (min-width: 1024px) { .rf-two { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 56px; align-items: start; } }

/* Müşteri yorumu (koyu bölge) */
.rf-quote { position: relative; max-width: 860px; padding: 26px 22px; border: 1px solid var(--c-line); border-left: 4px solid #F7931E; border-radius: 14px; background: rgba(255, 255, 255, .05); }
.rf-page .rf-quote__text { font-size: clamp(1.125rem, 1rem + .8vw, 1.5rem); font-weight: 400; line-height: 1.5; color: var(--c-text); }
.rf-page .rf-quote__by { margin-top: 16px; font-size: .9375rem; color: var(--c-muted); }

/* ---------- İş detayı ---------- */
.rf-kunye { background: #fff; border: 1px solid rgba(26, 22, 48, .12); border-radius: 16px; padding: 20px; box-shadow: 0 10px 30px rgba(26, 22, 48, .06); }
.rf-page .rf-kunye__title { font-size: 1.125rem; font-weight: 700; margin-bottom: 8px; color: var(--rf-ink); }
.rf-kunye .rf-meta { grid-template-columns: minmax(0, 1fr); margin-top: 0; }
.rf-kunye .rf-meta__row { grid-template-columns: minmax(0, 96px) minmax(0, 1fr); }
.rf-kunye dt { color: #4A4566; }
.rf-kunye dd { color: var(--rf-ink); }
.rf-kunye .rf-a { color: var(--rf-deep); }
.rf-checks { display: grid; gap: 8px; }
.rf-checks li { position: relative; padding-left: 26px; font-size: .9375rem; line-height: 1.45; }
.rf-checks li::before { content: ''; position: absolute; left: 2px; top: .38em; width: 11px; height: 6px; border-left: 2px solid var(--rf-deep); border-bottom: 2px solid var(--rf-deep); transform: rotate(-45deg); }
.rf-kunye .rf-btn { margin-top: 18px; width: 100%; }

/* Galeri */
.rf-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 768px) { .rf-gallery { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; } .rf-gal--wide { grid-column: span 4; } .rf-gal--tall { grid-column: span 2; } .rf-gal--half { grid-column: span 3; } }
.rf-gal { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rf-gal__btn { display: block; position: relative; overflow: hidden; border-radius: 14px; border: 1px solid rgba(26, 22, 48, .14); background: #E9E5F7; line-height: 0; cursor: zoom-in; }
.rf-gal__btn img { width: 100%; transition: transform .5s ease; }
.rf-gal--tall .rf-gal__btn { max-width: 320px; margin-inline: auto; }
.rf-gal__btn:hover img { transform: scale(1.025); }
.rf-gal__zoom { position: absolute; right: 10px; bottom: 10px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(13, 11, 26, .78); color: #fff; opacity: 0; transition: opacity .2s ease; }
.rf-gal__btn:hover .rf-gal__zoom, .rf-gal__btn:focus-visible .rf-gal__zoom { opacity: 1; }
@media (hover: none) { .rf-gal__zoom { opacity: 1; } }
.rf-gal__zoom svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rf-page .rf-gal__btn:focus-visible { outline: 3px solid var(--rf-deep); outline-offset: 3px; }
.rf-page .rf-gal figcaption { font-size: .9375rem; color: var(--c-muted); line-height: 1.45; }

/* Lightbox (<dialog>, yalnız JS oluşturur) */
.rf-lb { border: 0; padding: 0; margin: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; background: rgba(8, 6, 18, .94); color: #F3F0FF; font-family: var(--font-primary); }
.rf-lb::backdrop { background: rgba(8, 6, 18, .94); }
.rf-lb__in { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; padding: 12px; gap: 10px; }
.rf-lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rf-lb__count { font-size: .9375rem; color: #C9C2E6; }
.rf-lb__stage { position: relative; display: grid; place-items: center; min-height: 0; touch-action: pan-y; }
.rf-lb__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 8px; background: #141026; }
.rf-lb__cap { max-width: 760px; margin: 0 auto; text-align: center; font-size: .9375rem; line-height: 1.5; color: #E4DFF7; padding: 0 4px 6px; }
.rf-lb__btn {
  width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .7); background: rgba(20, 16, 38, .85); color: #fff; cursor: pointer;
}
.rf-lb__btn:hover { background: #fff; color: #1A1630; }
.rf-lb__btn:focus-visible { outline: 3px solid #F7931E; outline-offset: 3px; }
.rf-lb__btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.rf-lb__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.rf-lb__nav--prev { left: 4px; }
.rf-lb__nav--next { right: 4px; }
@media (min-width: 768px) { .rf-lb__in { padding: 20px 28px; } .rf-lb__nav--prev { left: -4px; } .rf-lb__nav--next { right: -4px; } }
html.rf-lb-open { overflow: hidden; }

/* Anlatım: ihtiyaç → çözüm → sonuç */
.rf-story { display: grid; gap: 28px; }
.rf-story__step { display: grid; gap: 10px; padding-top: 18px; border-top: 3px solid transparent; border-image: linear-gradient(90deg, #6C3BFF, #F7931E) 1; }
@media (min-width: 1024px) { .rf-story { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }
.rf-story .rf-text { max-width: none; }

/* Önceki / sonraki */
.rf-pn { display: grid; gap: 14px; }
@media (min-width: 640px) { .rf-pn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rf-pn__a {
  position: relative; display: grid; gap: 4px; padding: 18px 20px; min-height: 84px;
  background: #fff; border: 1px solid rgba(26, 22, 48, .14); border-radius: 14px; text-decoration: none; color: var(--rf-ink);
  transition: border-color .2s ease, transform .2s ease;
}
.rf-pn__a:hover { border-color: var(--rf-deep); transform: translateY(-2px); }
.rf-pn__a--next { text-align: right; }
.rf-page .rf-pn__a:focus-visible { outline: 3px solid var(--rf-deep); outline-offset: 3px; }
.rf-pn__dir { font-size: .875rem; font-weight: 600; color: #4A4566; }
.rf-pn__name { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }

/* ---------- CTA bandı ---------- */
.rf-cta { text-align: center; }
.rf-cta .rf-wrap { display: grid; justify-items: center; gap: 14px; }
.rf-page .rf-cta .rf-h2 { color: #FFFFFF; max-width: 22ch; }
.rf-page .rf-cta .rf-lead { color: #FFFFFF; font-weight: 400; max-width: 56ch; }
.rf-cta .rf-actions { justify-content: center; margin-top: 8px; }

/* ---------- Kaydırma görünürlüğü: gizleme sınıfını yalnız JS ekler ---------- */
.rf-js [data-rf-reveal].rf-pre { opacity: 0; transform: translateY(22px); }
.rf-js [data-rf-reveal].rf-pre.rf-in { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s ease; }

/* ---------- Büyük ekran ---------- */
@media (min-width: 768px) {
  .rf-page { --rf-pad: 72px; }
  .rf-hero { padding: 64px 0 64px; }
  .rf-card__body { padding: 20px 22px 22px; }
  .rf-kunye { padding: 26px; }
  .rf-quote { padding: 36px 40px; }
  .rf-lb__btn { width: 52px; height: 52px; }
}
@media (min-width: 1024px) {
  .rf-page { --rf-pad: 96px; }
  .rf-hero__row { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: end; gap: 56px; }
  .rf-firmhead { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1280px) { .rf-page { --rf-pad: 112px; } }

/* ---------- Hareket tercihi ---------- */
@media (prefers-reduced-motion: reduce) {
  .rf-page *, .rf-page *::before, .rf-page *::after { transition: none !important; animation: none !important; }
  .rf-card:hover, .rf-firm:hover, .rf-pn__a:hover, .rf-page .rf-btn:hover { transform: none; }
  .rf-card:hover .rf-card__media img, .rf-gal__btn:hover img { transform: none; }
  .rf-js [data-rf-reveal].rf-pre { opacity: 1; transform: none; }
}

/* proje-muduru 2026-11-10: kare logolar (Çetintaş) yatayda gerilmesin */
.rf-page .rf-logo img { width: auto; height: auto; max-width: 86%; max-height: 48px; object-fit: contain; }
.rf-page .rf-logo--sm img { max-height: 28px; }
.rf-page .rf-logo--md img { max-height: 52px; }
.rf-page .rf-logo--lg img { max-height: 62px; }
/* proje-muduru 2026-11-10 (kullanıcı kararları): hikâye 2 adım */
@media (min-width: 1024px) { .rf-story--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ==========================================================================
   Canlı siteye uyarlama (ön tasarımdan sapmalar, rapora yazıldı)
   ========================================================================== */

.rf-page .rf-zone { padding-top: var(--rf-pad); padding-bottom: var(--rf-pad); }

/* Zengin metin (Purifier çıktısı) */
.rf-page .rf-prose { color: var(--c-muted); max-width: 68ch; }
.rf-page .rf-prose p { margin: 0 0 12px; font-size: 1rem; font-weight: 400; color: var(--c-muted); }
.rf-page .rf-prose p:first-child { margin-top: 14px; }
.rf-page .rf-prose ul, .rf-page .rf-prose ol { margin: 0 0 12px; padding-left: 1.25rem; list-style: revert; }
.rf-page .rf-prose li { font-size: 1rem; color: var(--c-muted); list-style: inherit; }
.rf-page .rf-prose a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.rf-page .rf-prose strong, .rf-page .rf-prose b { color: var(--c-text) !important; font-weight: 600; }
.rf-page .rf-prose h2, .rf-page .rf-prose h3, .rf-page .rf-prose h4 { margin: 18px 0 8px; font-size: 1.25rem; color: var(--c-text); }

/* Boş durum / yedek metinler: site p kuralından bağımsız */
.rf-page .rf-empty p, .rf-page .rf-count, .rf-page .rf-filter__label { font-size: 1rem; font-weight: 400; }
.rf-page .rf-count { font-size: .9375rem; }
.rf-page .rf-filter__label { font-weight: 600; font-size: .9375rem; }
.rf-page .rf-card__firm, .rf-page .rf-firm__sector, .rf-page .rf-quote__by, .rf-page .rf-pn__dir { font-weight: 600; }
.rf-page .rf-firm__sector { font-weight: 400; }

/* Görsel yer tutucusu: kapak yüklenmemiş işte yalnız ikon (metin yok) */
.rf-page .rf-ph svg { width: 52px; height: 52px; }

/* Galeri: görsel yönü bilinmediği için tek sayıda görselde ilki tam satır, diğerleri yarım */
@media (min-width: 768px) { .rf-gal--full { grid-column: span 6; } .rf-gal--half { grid-column: span 3; } }

/* Gizli müşteri: kilit ikonlu logo kutusu */
.rf-logo--lock svg { width: 16px; height: 16px; }
.rf-logo--lock-lg { width: 148px; height: 76px; }
.rf-logo--lock-lg svg { width: 28px; height: 28px; }

/* Firma sayfası yorumu: figure/blockquote sıfırlaması */
.rf-page .rf-quote blockquote { margin: 0; }
.rf-page .rf-quote__text { font-weight: 400; }
.rf-page .rf-kunye dd, .rf-page .rf-kunye dt { font-size: inherit; }

/* Galeri küçük görselleri tek oranda kırpılır (tam görsel lightbox'ta ya da JS yokken bağlantıda açılır) */
.rf-page .rf-gal__btn img { aspect-ratio: 16 / 10; height: auto; object-fit: cover; object-position: top center; }
.rf-page .rf-two--solo { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .rf-page .rf-two--solo { grid-template-columns: minmax(0, 560px); } }
.rf-page .rf-empty { margin-top: 8px; }

/* Lightbox: görsel yüklenemediğinde yalnız mesaj (altyazı alanı) görünür */
.rf-lb__stage--error { min-height: 120px; }
.rf-lb__img[hidden] { display: none; }

/* ==========================================================================
   Ortak x-inner-hero içindeki firma bilgisi (firma sayfası) — 2026-11-11
   Hero sitenin diğer iç sayfalarıyla aynı; burada yalnız slot içeriği biçimlenir.
   ========================================================================== */
.rf-herofirm { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 8px; }
.rf-herofirm__logo { display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 12px; padding: 8px 14px; height: 64px; min-width: 96px; }
.rf-herofirm__logo img { max-height: 48px; max-width: 160px; width: auto; height: auto; object-fit: contain; }
.rf-herofirm__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
.rf-herofirm__meta > div { display: inline-flex; align-items: center; gap: 8px; }
.rf-herofirm__meta dt, .rf-herofirm__meta dd { margin: 0; font-weight: 400; }
.rf-herofirm__meta i { opacity: .85; }
.rf-herofirm__meta a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rf-herofirm__meta a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
