/* =====================================================================
   f28 · ÇERÇEVE — kapı / pencere / cephe / cam balkon / panjur sistemleri
   Mimari-teknik dil: beyaz + antrasit (var(--secondary)) + tek canlı aksan (var(--primary)), metal tonu var(--accent).
   İmza: profil çerçeveli görsel (.f28-fr — kasa, kanat, çıta, gönye çizgileri, kayıt, kol) + teknik ölçü çizgileri (.f28-dim),
   ince profil kesiti çizimleri (.f28-pf), Uf/dB/RC/EI rozetleri (.f28-chip), cetvel ayırıcı (.f28-rule).
   Renk / font / radius panelden: CSS'te sabit renk yok (yalnız metal/cam tonları türetilir).
   ===================================================================== */
:root {
  --primary: #cf4a14; --secondary: #2a2f35; --accent: #9aa3ab; --dark: #2a2f35;
  --text: #3a4047; --muted: #646c74; --bg: #fff; --surface: #f3f4f5; --surface-2: #e9ebed; --border: #e1e4e7;
  --font-head: 'Archivo', system-ui, sans-serif; --font-body: 'Inter', system-ui, sans-serif;
  --radius: 2px; --radius-sm: 2px; --radius-btn: 2px; --container: 1280px; --header-h: 78px;
  --f28-mono: ui-monospace, 'SFMono-Regular', 'JetBrains Mono', Menlo, Consolas, monospace;
  --f28-ink: var(--secondary);
  --f28-ink-2: color-mix(in srgb, var(--secondary) 86%, #000);
  --f28-line: color-mix(in srgb, var(--secondary) 12%, var(--bg, #fff));
  --f28-line-2: color-mix(in srgb, var(--secondary) 22%, var(--bg, #fff));
  --f28-acc-text: color-mix(in srgb, var(--primary) 88%, var(--secondary));
  --f28-gridline: color-mix(in srgb, var(--secondary) 6%, transparent);
  --f28-sec: clamp(64px, 8vw, 124px);
  --f28-fr-c: var(--secondary);
  --f28-fr-bead: color-mix(in srgb, var(--secondary) 80%, #fff);
  --f28-fr-mitre: rgba(255, 255, 255, .22);
  --f28-fr-w: 16px;
  --f28-metal: linear-gradient(180deg, #eef0f2, #c3c9cf 48%, #e5e8eb 52%, #aeb5bc);
  --f28-wa: #25d366; --f28-wa-ink: #04341a;
  --f28-sill-h: 74px;
  --header-bg: var(--bg, #fff); --footer-bg: color-mix(in srgb, var(--secondary) 90%, #000);
}
body.fam-cerceve { background: var(--bg); color: var(--text); font-size: 16px; font-feature-settings: "ss01", "cv11"; }
.fam-cerceve :where(h1, h2, h3, h4) { color: var(--heading, var(--secondary)); font-weight: var(--head-weight, 700); letter-spacing: -.02em; }
.fam-cerceve ::selection { background: color-mix(in srgb, var(--primary) 30%, #fff); color: var(--secondary); }
.fam-cerceve :focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.fam-cerceve .section { padding: var(--f28-sec) 0; }
.fam-cerceve a { text-underline-offset: .2em; }
.fam-cerceve h1 em, .fam-cerceve h2 em, .fam-cerceve .f28-h1 em, .fam-cerceve .f28-title em { font-style: normal; color: var(--f28-acc-text); }

/* ---------- Butonlar ---------- */
.fam-cerceve .btn { border-radius: var(--radius-btn); font-weight: 700; letter-spacing: .01em; padding: .9em 1.5em; font-family: var(--font-body); }
.fam-cerceve .btn-sm { padding: .62em 1.05em; }
.fam-cerceve .btn-primary { background: var(--primary); border-color: var(--primary); color: var(--on-primary, #fff); }
.fam-cerceve .btn-primary:hover { background: var(--primary-dark, var(--primary)); border-color: var(--primary-dark, var(--primary)); color: var(--on-primary, #fff); }
.fam-cerceve .btn-outline { background: transparent; color: var(--secondary); border-color: var(--f28-line-2); }
.fam-cerceve .btn-outline:hover { background: var(--secondary); border-color: var(--secondary); color: #fff; }
.f28-btn-ink { background: var(--secondary); border-color: var(--secondary); color: #fff; }
.f28-btn-ink:hover { background: var(--f28-ink-2); border-color: var(--f28-ink-2); color: #fff; }
.f28-btn-light { background: #fff; border-color: #fff; color: var(--secondary); }
.f28-btn-light:hover { background: transparent; color: #fff; }
.f28-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .45); color: #fff; }
.f28-btn-ghost:hover { background: #fff; border-color: #fff; color: var(--secondary); }
.f28-btn-wa { background: var(--f28-wa); border-color: var(--f28-wa); color: var(--f28-wa-ink); }
.f28-btn-wa:hover { background: #1fbe5b; border-color: #1fbe5b; color: var(--f28-wa-ink); }
.f28-btn-text { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--secondary); text-decoration: none; border-bottom: 2px solid var(--primary); padding: 0 2px; }
.f28-btn-text:hover { color: var(--f28-acc-text); }
.f28-btn i { transition: translate .25s var(--ease); }
.f28-btn:hover i { translate: 3px 0; }
.f28-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 30px; }
.f28-btns--end { justify-content: flex-end; }

/* ---------- Ortak küçük öğeler ---------- */
.f28-checks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.f28-checks li { display: flex; gap: 12px; align-items: baseline; }
.f28-check-m { flex: none; width: 14px; height: 8px; border-left: 2px solid var(--primary); border-bottom: 2px solid var(--primary); rotate: -45deg; translate: 0 -3px; }
.f28-checks--inline { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.f28-ticks { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; font-size: .9rem; font-weight: 600; color: var(--heading, var(--secondary)); }
.f28-ticks li { display: inline-flex; align-items: baseline; gap: 10px; }
.f28-stars { display: inline-flex; gap: 1px; color: var(--primary); font-size: 15px; }
.f28-callrow { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; min-height: 44px; }
.f28-callrow i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid currentColor; font-size: 18px; flex: none; opacity: .85; }
.f28-callrow span { display: flex; flex-direction: column; line-height: 1.15; }
.f28-callrow small { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; font-weight: 700; }
.f28-callrow b { font-family: var(--font-head); font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.f28-callrow--lg b { font-size: clamp(1.25rem, 2vw, 1.6rem); }
.f28-callrow:hover b { color: var(--f28-acc-text); }

/* =====================================================================
   İMZA — profil kesiti, cetvel, ölçü çizgisi, teknik rozet, çerçeve
   ===================================================================== */
.f28-pf { display: block; width: 100%; height: auto; overflow: visible; }
.f28-pf .f28-pf-dim { stroke-dasharray: none; opacity: .7; }
.f28-rule { display: block; height: 12px; color: var(--f28-line-2); border-bottom: 1px solid currentColor;
  background: repeating-linear-gradient(to right, currentColor 0 1px, transparent 1px 10px) left bottom / 100% 5px no-repeat,
              repeating-linear-gradient(to right, currentColor 0 1px, transparent 1px 50px) left bottom / 100% 11px no-repeat; }

/* Teknik rozet: koyu anahtar hücresi + değer */
.f28-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.f28-chip { display: inline-flex; align-items: stretch; border: 1px solid var(--f28-line-2); background: var(--bg, #fff); font-size: .78rem; line-height: 1; border-radius: var(--radius-sm); overflow: hidden; white-space: nowrap; max-width: 100%; }
.f28-chip i { font-style: normal; display: flex; align-items: center; padding: 6px 8px; background: var(--secondary); color: #fff; font-weight: 700; letter-spacing: .05em; font-family: var(--f28-mono); font-size: .92em; }
.f28-chip b { display: flex; align-items: baseline; gap: 4px; padding: 6px 9px; color: var(--heading, var(--secondary)); font-weight: 700; font-family: var(--font-head); font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; }
.f28-chip b small { font-weight: 500; color: var(--muted); font-size: .88em; font-family: var(--font-body); }
.f28-chip.is-flag b { background: color-mix(in srgb, var(--primary) 12%, var(--bg, #fff)); color: var(--f28-acc-text); }
.f28-chip.is-warn i { background: var(--primary); color: var(--on-primary, #fff); }

/* Ölçü çizgileri (teknik çizim) */
.f28-frw { position: relative; }
.f28-frw.has-dims { padding: 40px 46px 0 0; }
.f28-frw.has-dims::before, .f28-frw.has-dims::after { content: ""; position: absolute; top: 4px; height: 34px; width: 1px; background: var(--f28-dim-c, var(--muted)); opacity: .45; }
.f28-frw.has-dims::before { left: 0; }
.f28-frw.has-dims::after { right: 46px; }
.f28-dim { position: absolute; color: var(--f28-dim-c, var(--muted)); font: 600 .74rem/1 var(--f28-mono); letter-spacing: .04em; pointer-events: none; }
.f28-dim b { position: absolute; padding: 3px 8px; background: var(--f28-dim-bg, var(--bg, #fff)); color: var(--heading, var(--secondary)); font-weight: 700; white-space: nowrap; }
.f28-dim--w { top: 14px; left: 0; right: 46px; height: 1px; background: currentColor; }
.f28-dim--w::before, .f28-dim--w::after { content: ""; position: absolute; top: -7px; width: 1px; height: 15px; background: currentColor; rotate: 45deg; }
.f28-dim--w::before { left: 0; }
.f28-dim--w::after { right: 0; }
.f28-dim--w b { left: 50%; top: 50%; translate: -50% -50%; }
.f28-dim--h { right: 16px; top: 40px; bottom: 0; width: 1px; background: currentColor; }
.f28-dim--h::before, .f28-dim--h::after { content: ""; position: absolute; left: -7px; height: 1px; width: 15px; background: currentColor; rotate: 45deg; }
.f28-dim--h::before { top: 0; }
.f28-dim--h::after { bottom: 0; }
.f28-dim--h b { top: 50%; left: 50%; translate: -50% -50%; rotate: -90deg; z-index: 1; }
.f28-frw.has-dims .f28-dim--h + .f28-fr, .f28-frw.has-dims > .f28-fr { position: relative; }
.f28-frw.has-dims:not(:has(.f28-dim--h)) { padding-inline-end: 0; }
.f28-frw.has-dims:not(:has(.f28-dim--h))::after { right: 0; }
.f28-frw.has-dims:not(:has(.f28-dim--h)) .f28-dim--w { right: 0; }

/* Çerçeve: kasa (padding) + gönye çizgileri + kanat/çıta (cam iç gölgesi) */
.f28-fr { --fw: var(--f28-fr-w); position: relative; display: block; margin: 0; padding: var(--fw); background: var(--f28-fr-c); border-radius: 2px; isolation: isolate;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), 0 46px 80px -46px rgba(0, 0, 0, .6); }
.f28-fr::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background:
    linear-gradient(45deg, transparent calc(50% - .6px), var(--f28-fr-mitre) 50%, transparent calc(50% + .6px)) left top / var(--fw) var(--fw) no-repeat,
    linear-gradient(-45deg, transparent calc(50% - .6px), var(--f28-fr-mitre) 50%, transparent calc(50% + .6px)) right top / var(--fw) var(--fw) no-repeat,
    linear-gradient(-45deg, transparent calc(50% - .6px), var(--f28-fr-mitre) 50%, transparent calc(50% + .6px)) left bottom / var(--fw) var(--fw) no-repeat,
    linear-gradient(45deg, transparent calc(50% - .6px), var(--f28-fr-mitre) 50%, transparent calc(50% + .6px)) right bottom / var(--fw) var(--fw) no-repeat; }
.f28-fr::after { content: ""; position: absolute; inset: calc(var(--fw) * .32); border: 1px solid rgba(255, 255, 255, .07); pointer-events: none; z-index: 3; }
.f28-fr-glass { position: relative; display: block; overflow: hidden; background: linear-gradient(160deg, #d9e1e7, #aebbc5); aspect-ratio: var(--f28-ar-g, 4 / 3); box-shadow: 0 0 0 1px rgba(0, 0, 0, .4); }
.f28-fr-glass img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f28-fr-glass::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  box-shadow: inset 0 0 0 calc(var(--fw) * .28) var(--f28-fr-bead), inset 0 0 0 calc(var(--fw) * .28 + 1px) rgba(0, 0, 0, .3), inset 0 8px 18px rgba(0, 0, 0, .22);
  background: linear-gradient(118deg, rgba(255, 255, 255, .17) 0 14%, transparent 14% 36%, rgba(255, 255, 255, .07) 36% 41%, transparent 41%); }
.f28-fr-ph { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(42, 47, 53, .35); padding: 14%; }
/* pencere: orta kayıt + kol */
.f28-fr--window { --mw: calc(var(--fw) * .78); }
.f28-fr--window .f28-fr-glass { aspect-ratio: var(--f28-ar, var(--f28-ar-g, 7 / 8)); transition: aspect-ratio .45s var(--ease); }
.f28-fr-mull { position: absolute; inset: var(--fw); z-index: 2; pointer-events: none;
  background: linear-gradient(to right, transparent calc(50% - var(--mw) / 2), var(--f28-fr-c) calc(50% - var(--mw) / 2) calc(50% + var(--mw) / 2), transparent calc(50% + var(--mw) / 2)),
              linear-gradient(to right, transparent calc(50% - var(--mw) / 2 - 1px), rgba(0, 0, 0, .35) calc(50% - var(--mw) / 2 - 1px) calc(50% - var(--mw) / 2), transparent calc(50% - var(--mw) / 2) calc(50% + var(--mw) / 2), rgba(0, 0, 0, .35) calc(50% + var(--mw) / 2) calc(50% + var(--mw) / 2 + 1px), transparent calc(50% + var(--mw) / 2 + 1px)); }
.f28-fr-handle { position: absolute; z-index: 4; width: 8px; height: 54px; top: 50%; left: calc(50% - var(--mw) / 2 - 16px); translate: 0 -50%; border-radius: 4px; background: var(--f28-metal); box-shadow: 0 4px 8px -3px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(0, 0, 0, .12); }
.f28-fr-handle::before { content: ""; position: absolute; left: -3px; right: -3px; top: 6px; height: 14px; border-radius: 3px; background: var(--f28-metal); box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .45); }
/* kapı */
.f28-fr--door { --fw: calc(var(--f28-fr-w) * 1.15); border-bottom: 7px solid color-mix(in srgb, var(--accent) 80%, #fff); }
.f28-fr--door .f28-fr-glass { aspect-ratio: var(--f28-ar, var(--f28-ar-g, 5 / 8)); }
.f28-fr-handle--door { left: auto; right: calc(var(--fw) + 18px); top: 52%; height: 110px; width: 9px; }
.f28-fr-handle--door::before { top: 40px; height: 16px; }
/* panjur: kutu + lameller (yüklenince sarılır) */
.f28-fr--shutter { padding-top: calc(var(--fw) * 3.4); }
.f28-fr--shutter .f28-fr-glass { aspect-ratio: var(--f28-ar, var(--f28-ar-g, 1 / 1)); }
.f28-fr-box { position: absolute; left: -6px; right: -6px; top: 0; height: calc(var(--fw) * 3.4); z-index: 5; border-radius: 2px 2px 10px 10px; background: linear-gradient(180deg, color-mix(in srgb, var(--secondary) 70%, #fff), var(--secondary) 70%); box-shadow: 0 10px 16px -10px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .15); }
.f28-fr-box::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 9px; height: 2px; background: rgba(255, 255, 255, .14); }
.f28-fr-slats { position: absolute; left: var(--fw); right: var(--fw); top: calc(var(--fw) * 3.4); height: var(--f28-slat-h, 30%); z-index: 4;
  background: repeating-linear-gradient(to bottom, #dfe3e7 0 12px, #b7bec5 12px 13px, #f3f5f6 13px 14px, #cfd5da 14px 15px); box-shadow: 0 8px 12px -8px rgba(0, 0, 0, .55);
  animation: f28-roll 2.4s .6s cubic-bezier(.45, 0, .2, 1) both; }
.f28-fr-slats::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 8px; background: color-mix(in srgb, var(--secondary) 75%, #888); border-radius: 0 0 2px 2px; }
@keyframes f28-roll { from { height: calc(100% - var(--fw) * 4.4); } }
/* katlanır cam paneller (cam balkon) */
.f28-fr--panorama { --fw: 12px; padding: var(--fw) 0; border-radius: 0; }
.f28-fr--panorama::before, .f28-fr--panorama::after { display: none; }
.f28-fr--panorama .f28-fr-glass { aspect-ratio: var(--f28-ar-g, 21 / 8); box-shadow: none; }
.f28-fr--panorama .f28-fr-glass::after { box-shadow: inset 0 10px 16px -10px rgba(0, 0, 0, .35), inset 0 -10px 16px -10px rgba(0, 0, 0, .35); background: none; }
.f28-fr-panels { position: absolute; left: 0; right: 0; top: var(--fw); bottom: var(--fw); z-index: 2; pointer-events: none; }
.f28-fr-panels i { position: absolute; top: 0; bottom: 0; left: calc(var(--i) * 100% / var(--n)); width: calc(100% / var(--n)); border-inline-start: 3px solid rgba(232, 238, 242, .9);
  background: linear-gradient(104deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0) 34%, rgba(255, 255, 255, .07) 66%, rgba(255, 255, 255, 0) 70%);
  box-shadow: inset 2px 0 0 rgba(0, 0, 0, .18); animation: f28-fold 1.5s cubic-bezier(.3, .7, .2, 1) both; animation-delay: calc(.35s + var(--i) * 70ms); }
.f28-fr-panels i:first-child { border-inline-start-color: transparent; }
@keyframes f28-fold { from { left: calc(var(--i) * 7px); } }
/* giydirme cephe ızgarası */
.f28-fr-grid { position: absolute; inset: var(--fw); z-index: 2; pointer-events: none;
  background-image: linear-gradient(to right, var(--f28-fr-c) 0 6px, transparent 6px), linear-gradient(to bottom, var(--f28-fr-c) 0 5px, transparent 5px);
  background-size: 33.333% 100%, 100% 50%; background-position: calc(33.333% - 3px) 0, 0 calc(50% - 2px); background-repeat: repeat-x, repeat-y; }
.f28-fr--plain .f28-fr-glass { aspect-ratio: var(--f28-ar-g, 4 / 3); }
/* mini (kart) çerçeveler */
.f28-fr.is-mini { --fw: 9px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), 0 20px 30px -24px rgba(0, 0, 0, .5); }
.f28-fr.is-mini .f28-fr-handle { display: none; }
.f28-fr.is-mini.f28-fr--window { --mw: 5px; }
.f28-fr.is-mini .f28-fr-glass { aspect-ratio: var(--f28-ar-g, 4 / 3); }
.f28-fr.is-mini.f28-fr--door .f28-fr-glass { aspect-ratio: 3 / 4; }
.f28-fr.is-mini.f28-fr--door { border-bottom-width: 4px; }
.f28-fr-specs { position: absolute; left: -22px; bottom: 34px; z-index: 6; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.f28-fr-specs .f28-chip { font-size: .84rem; box-shadow: 0 14px 24px -14px rgba(0, 0, 0, .55); border-color: transparent; }
.f28-fr img { transition: scale .8s var(--ease); }
a:hover > .f28-fr img, a:hover .f28-fr img { scale: 1.035; }

/* ---------- Bölüm iskeleti ---------- */
.f28-sec { position: relative; padding: var(--f28-sec) 0; }
.f28-bg-white { background: var(--bg, #fff); }
.f28-bg-tint { background: var(--surface); }
.f28-bg-plan { background-color: var(--surface); background-image: linear-gradient(var(--f28-gridline) 1px, transparent 1px), linear-gradient(90deg, var(--f28-gridline) 1px, transparent 1px); background-size: 32px 32px; }
.f28-bg-ink { background: var(--secondary); color: rgba(255, 255, 255, .78); color-scheme: dark; --f28-dim-c: rgba(255, 255, 255, .55); --f28-dim-bg: var(--secondary); --f28-acc-text: color-mix(in srgb, var(--primary) 70%, #fff); --f28-line: rgba(255, 255, 255, .12); --f28-line-2: rgba(255, 255, 255, .22); }
.f28-bg-ink :where(h1, h2, h3, h4), .f28-bg-ink .f28-title { color: #fff; }
.f28-bg-tint, .f28-bg-plan { --f28-dim-bg: var(--surface); }
.f28-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 18px clamp(28px, 5vw, 80px); align-items: end; margin-bottom: clamp(32px, 4.5vw, 60px); }
.f28-head.is-stack { grid-template-columns: minmax(0, 1fr); margin-bottom: 0; }
.f28-head-b { display: grid; gap: 16px; justify-items: start; }
.f28-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 16px; font: 700 .74rem/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--f28-acc-text); }
.f28-eyebrow-m { flex: none; width: 20px; height: 9px; border: 2px solid currentColor; border-radius: 1px; box-shadow: inset 4px 0 0 -2px currentColor; }
.f28-title { margin: 0; font-size: clamp(1.95rem, 3.4vw, 3.1rem); line-height: 1.06; letter-spacing: -.028em; max-width: 22ch; text-wrap: balance; }
.f28-intro { margin: 0; color: var(--muted); font-size: 1.04rem; line-height: 1.65; max-width: 56ch; }
.f28-bg-ink .f28-intro { color: rgba(255, 255, 255, .66); }
.f28-more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--secondary); text-decoration: none; border-bottom: 1px solid var(--f28-line-2); }
.f28-more:hover { color: var(--f28-acc-text); border-color: var(--primary); }
.f28-bg-ink .f28-more { color: #fff; }
.f28-grid { display: grid; gap: clamp(20px, 2.4vw, 34px); }
.f28-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.f28-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.f28-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* =====================================================================
   HEADER
   ===================================================================== */
.f28-header { background: var(--header-bg, #fff); border-bottom: 1px solid var(--f28-line); box-shadow: none; }
.f28-header.is-scrolled { box-shadow: 0 14px 30px -24px rgba(0, 0, 0, .55); }
.f28-logo { color: var(--secondary); gap: 12px; }
.f28-logo .logo-mark { width: 42px; height: 42px; border-radius: 0; background: transparent; color: currentColor; border: 2px solid currentColor; box-shadow: inset 0 0 0 4px var(--f28-logo-bg, transparent), inset 0 0 0 5px currentColor; font-size: 19px; }
.f28-logo .logo-text strong { font-family: var(--font-head); font-weight: 800; font-size: 1.16rem; letter-spacing: -.02em; color: inherit; }
.f28-logo .logo-text small { letter-spacing: .14em; color: inherit; opacity: .6; font-size: .62rem; }
.f28-bar-in { display: flex; align-items: stretch; justify-content: flex-start; min-height: var(--header-h); gap: 0; padding: 0; max-width: none; }
.f28-jamb { display: flex; align-items: center; flex: none; padding-block: 10px; padding-inline: max(20px, calc((100vw - var(--container)) / 2 + 20px)) 50px; background: var(--secondary); color: #fff; clip-path: polygon(0 0, 100% 0, calc(100% - 26px) 100%, 0 100%); --f28-logo-bg: var(--secondary); }
.f28-jamb .f28-logo { color: #fff; }
.f28-nav { flex: 1; justify-content: flex-start; min-width: 0; padding-inline: 18px; }
.f28-nav .nav-menu { gap: 0; height: 100%; }
.f28-nav .nav-menu > li { display: flex; align-items: stretch; }
.f28-nav .nav-menu > li > a { position: relative; border-radius: 0; padding: 0 10px; min-height: 44px; color: var(--heading, var(--secondary)); font-weight: 600; font-size: .9rem; white-space: nowrap; }
.f28-nav .nav-menu > li > a > i { display: none; }
.f28-nav .nav-menu > li > a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 0; height: 3px; background: var(--primary); scale: 0 1; transform-origin: left; transition: scale .3s var(--ease); }
.f28-nav .nav-menu > li > a:hover::after, .f28-nav .nav-menu > li.is-active > a::after { scale: 1 1; }
.f28-nav .nav-menu > li > a:hover, .f28-nav .nav-menu > li.is-active > a { color: var(--heading, var(--secondary)); }
.f28-nav .nav-menu .submenu { border-radius: 0; border: 1px solid var(--f28-line); border-top: 3px solid var(--primary); padding: 8px; box-shadow: 0 30px 50px -30px rgba(0, 0, 0, .45); min-width: 250px; }
.f28-nav .nav-menu .submenu a { border-radius: 0; font-weight: 500; }
.f28-nav .nav-menu .submenu a:hover { background: var(--surface); color: var(--secondary); box-shadow: inset 3px 0 0 var(--primary); }
.f28-nav .nav-menu > li:nth-last-child(-n+2) > .submenu { left: auto; right: 0; }
.f28-nav > .pf-lang-inline { display: none; }
.f28-mnav { display: none; }
.f28-actions { gap: 10px; flex: none; padding-inline-end: max(20px, calc((100vw - var(--container)) / 2 + 20px)); margin-inline-start: auto; }
.f28-hcall { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-head); font-weight: 700; color: var(--heading, var(--secondary)); white-space: nowrap; font-variant-numeric: tabular-nums; min-height: 44px; }
.f28-hcall i { color: var(--f28-acc-text); font-size: 18px; }
.f28-hcta { white-space: nowrap; }
.f28-ibtn { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--f28-line-2); color: var(--secondary); font-size: 19px; flex: none; }
.f28-mcall { display: none; }
.f28-toggle { border-radius: 0; background: transparent; border: 1px solid var(--f28-line-2); }
.f28-toggle span { background: var(--secondary); }
.f28-lang-d { display: inline-flex; }
.fam-cerceve .lang-current { border-radius: 0; min-height: 36px; }
.fam-cerceve .lang-menu { border-radius: 0; border: 1px solid var(--f28-line); }
.hdr-acc { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .86rem; }
/* dark */
.f28-header--dark { --header-bg: var(--secondary); background: var(--secondary); border-bottom: 0; }
.f28-header--dark::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: max(120px, calc((100vw - var(--container)) / 2 + 160px)); background: var(--primary); }
.f28-header--dark .f28-jamb { background: transparent; clip-path: none; padding-inline-end: 24px; }
.f28-header--dark .f28-nav .nav-menu > li > a, .f28-header--dark .f28-hcall, .f28-header--dark .hdr-acc { color: rgba(255, 255, 255, .88); }
.f28-header--dark .f28-nav .nav-menu > li > a:hover, .f28-header--dark .f28-nav .nav-menu > li.is-active > a { color: #fff; }
.f28-header--dark .f28-hcall i { color: var(--primary); }
.f28-header--dark .lang-current { color: #fff; border-color: rgba(255, 255, 255, .3); }
.f28-header--dark .f28-toggle, .f28-header--dark .f28-ibtn { border-color: rgba(255, 255, 255, .3); color: #fff; }
.f28-header--dark .f28-toggle span { background: #fff; }
/* sill (iki kat) */
.site-header.f28-header--sill { top: calc(-1 * var(--f28-sill-h)); border-bottom: 0; }
.f28-sill-top { background: var(--header-bg, #fff); }
.f28-sill-in { display: flex; align-items: center; gap: 28px; min-height: var(--f28-sill-h); }
.f28-sill-facts { list-style: none; margin: 0 0 0 auto; padding: 0; display: flex; align-items: center; gap: 0; }
.f28-sill-facts li { padding-inline: 22px; border-inline-start: 1px solid var(--f28-line); }
.f28-sill-facts a, .f28-sill-facts li > span { display: flex; align-items: center; gap: 10px; color: var(--heading, var(--secondary)); text-decoration: none; }
.f28-sill-facts i { font-size: 20px; color: var(--f28-acc-text); }
.f28-sill-facts a > span, .f28-sill-facts li > span > span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.f28-sill-facts small { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.f28-sill-facts b { font-size: .88rem; font-weight: 600; white-space: nowrap; }
.f28-sill-hours b { white-space: normal; max-width: 230px; font-size: .8rem; font-weight: 500; }
.f28-sill-facts { min-width: 0; }
@media (max-width: 1440px) { .f28-sill-mail { display: none; } }
.f28-sill-in .f28-actions { padding: 0; }
.f28-sill-bar { background: var(--secondary); }
.f28-sill-nav { min-height: 54px; gap: 18px; }
.f28-sill-nav .f28-nav { padding-inline: 0; margin-inline-start: -14px; }
.f28-sill-bar .f28-nav .nav-menu > li > a { color: rgba(255, 255, 255, .86); min-height: 54px; }
.f28-sill-bar .f28-nav .nav-menu > li > a:hover, .f28-sill-bar .f28-nav .nav-menu > li.is-active > a { color: #fff; }
.f28-sill-tag { width: 64px; color: rgba(255, 255, 255, .3); flex: none; }

@media (max-width: 1560px) {
  .f28-header--jamb .f28-hcall span, .f28-header--dark .f28-hcall span { display: none; }
  .f28-hcall { width: 44px; justify-content: center; border: 1px solid var(--f28-line-2); }
  .f28-header--dark .f28-hcall { border-color: rgba(255, 255, 255, .3); }
}
@media (max-width: 1280px) {
  .f28-sill-hours { display: none; }
}
@media (max-width: 1080px) {
  .f28-mnav { display: grid; gap: 12px; margin-top: 18px; }
  .f28-nav > .pf-lang-inline { display: flex; margin-top: 16px; color: #111; }
  .f28-mnav-call { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #111; min-height: 44px; }
  .f28-mnav-hours { margin: 0; font-size: .85rem; color: #555; }
  .f28-lang-d, .f28-hcall { display: none; }
  .f28-mcall { display: inline-grid; }
  .f28-nav .nav-menu > li > a::after { display: none; }
  .f28-nav .nav-menu > li { display: block; }
  .f28-nav .nav-menu > li > a { padding: 14px 44px 14px 6px; }
  .f28-header .f28-sill-bar { background: transparent; height: 0; overflow: visible; }
  .f28-sill-nav { min-height: 0 !important; padding: 0; }
  .f28-sill-tag { display: none; }
  .site-header.f28-header--sill { top: 0; }
  .f28-sill-facts { display: none; }
  .f28-sill-in .f28-actions { margin-inline-start: auto; }
  .f28-jamb { padding-inline-end: 44px; }
  .f28-actions { margin-inline-start: auto; }
}
html.nav-auto .f28-mnav { display: grid; gap: 12px; margin-top: 18px; }
html.nav-auto .f28-nav > .pf-lang-inline { display: flex; margin-top: 16px; color: #111; }
html.nav-auto .f28-lang-d, html.nav-auto .f28-hcall { display: none; }
html.nav-auto .f28-mcall { display: inline-grid; }
html.nav-auto .f28-nav .nav-menu > li > a::after { display: none; }
html.nav-auto .f28-nav .nav-menu > li { display: block; }
html.nav-auto .f28-actions { margin-inline-start: auto; }
@media (min-width: 769px) and (max-width: 1080px) { .f28-actions .f28-hcta { display: inline-flex; } }
@media (min-width: 1081px) { html.nav-auto .f28-actions .f28-hcta { display: inline-flex; } }
@media (max-width: 560px) {
  .f28-jamb { padding-inline: 16px 34px; clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
  .f28-jamb .f28-logo .logo-text small { display: none; }
  .f28-logo .logo-text strong { font-size: 1rem; }
  .f28-logo .logo-mark { width: 36px; height: 36px; font-size: 16px; }
  .f28-actions { gap: 8px; padding-inline-end: 14px; }
  .f28-sill-in { gap: 12px; }
}

/* =====================================================================
   HERO
   ===================================================================== */
.f28-hero { position: relative; overflow: hidden; isolation: isolate; }
.f28-kicker { display: inline-flex; align-items: center; gap: 14px; margin: 0 0 22px; font: 600 .78rem/1.4 var(--f28-mono); letter-spacing: .06em; color: var(--muted); text-transform: uppercase; }
.f28-kicker-l { flex: none; width: 34px; height: 1px; background: var(--primary); box-shadow: 0 -4px 0 -0px transparent; position: relative; }
.f28-kicker-l::after { content: ""; position: absolute; right: 0; top: -4px; width: 1px; height: 9px; background: var(--primary); rotate: 45deg; }
.f28-h1 { margin: 0; font-size: clamp(2.45rem, 5.3vw, 4.9rem); line-height: .99; letter-spacing: -.035em; font-weight: 800; color: var(--heading, var(--secondary)); text-wrap: balance; }
.f28-lede { margin: 26px 0 0; font-size: clamp(1.02rem, 1.3vw, 1.16rem); line-height: 1.66; color: var(--muted); max-width: 54ch; }
/* split */
.f28-hero--split { padding: clamp(36px, 5.5vw, 84px) 0 0; background: var(--bg, #fff); }
.f28-hero--split::before { content: ""; position: absolute; z-index: -1; inset: 0 0 0 57%; background-color: var(--surface); background-image: linear-gradient(var(--f28-gridline) 1px, transparent 1px), linear-gradient(90deg, var(--f28-gridline) 1px, transparent 1px); background-size: 32px 32px; }
.f28-hero--split { --f28-dim-bg: var(--surface); }
.f28-hero-pf { position: absolute; z-index: -1; left: -40px; bottom: -30px; width: min(420px, 34vw); color: color-mix(in srgb, var(--secondary) 9%, transparent); }
.f28-hs { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 84px); align-items: center; padding-bottom: clamp(36px, 5vw, 72px); }
.f28-hs-text { padding-block: 12px; }
.f28-hs-media { justify-self: center; width: 100%; max-width: 540px; }
.f28-hero--door .f28-hs-media { max-width: 420px; }
.f28-hero--shutter .f28-hs-media { max-width: 500px; }
.f28-hero--split .f28-fr { --f28-fr-w: clamp(14px, 1.6vw, 20px); }
.f28-hero--split .f28-fr-specs { left: -34px; }
/* wall (giydirme cephe) */
.f28-hero--wall { min-height: clamp(580px, 88vh, 860px); display: flex; flex-direction: column; justify-content: flex-end; color: rgba(255, 255, 255, .82); background: var(--secondary); color-scheme: dark; --f28-dim-bg: var(--secondary); }
.f28-hw-media { position: absolute; inset: 0; z-index: -3; }
.f28-hw-media img { width: 100%; height: 100%; object-fit: cover; }
.f28-hw-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--secondary) 82%, transparent) 0%, color-mix(in srgb, var(--secondary) 40%, transparent) 55%, color-mix(in srgb, var(--secondary) 10%, transparent)); }
.f28-hw-grid { position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background-image: linear-gradient(to right, color-mix(in srgb, var(--secondary) 88%, transparent) 0 9px, rgba(255, 255, 255, .12) 9px 10px, transparent 10px),
                    linear-gradient(to bottom, color-mix(in srgb, var(--secondary) 88%, transparent) 0 7px, rgba(255, 255, 255, .1) 7px 8px, transparent 8px);
  background-size: calc(100% / 6) 100%, 100% calc(100% / 3); }
.f28-hw-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px; padding-block: clamp(110px, 16vh, 180px) clamp(36px, 6vh, 64px); }
.f28-hw-panel { max-width: 700px; background: var(--secondary); padding: clamp(28px, 3.6vw, 52px); border-top: 4px solid var(--primary); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7); }
.f28-hero--wall .f28-h1 { color: #fff; font-size: clamp(2.3rem, 4.8vw, 4.3rem); }
.f28-hero--wall .f28-lede { color: rgba(255, 255, 255, .72); }
.f28-hero--wall .f28-kicker { color: rgba(255, 255, 255, .62); }
.f28-hero--wall .f28-ticks { color: #fff; }
.f28-hw-specs { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; color: rgba(255, 255, 255, .5); }
.f28-hw-pf { width: 150px; margin-bottom: 12px; }
.f28-hw-specs .f28-chip { box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .6); border-color: transparent; }
/* panorama */
.f28-hero--pano { padding: clamp(40px, 6vw, 92px) 0 0; background: var(--bg, #fff); }
.f28-hp-top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 24px clamp(32px, 5vw, 80px); align-items: end; margin-bottom: clamp(30px, 4vw, 54px); }
.f28-hp-b .f28-lede { margin-top: 0; }
.f28-hp-b .f28-btns { margin-top: 24px; }
.f28-hp-media { padding-bottom: clamp(36px, 5vw, 64px); }
.f28-hp-media .f28-fr-specs { left: auto; right: 28px; bottom: auto; top: 70px; align-items: flex-end; }
/* hero alt bandı: m² ölçer / arama */
.f28-hero-bar { position: relative; background: var(--secondary); color: rgba(255, 255, 255, .8); color-scheme: dark; border-top: 1px solid rgba(255, 255, 255, .08); }
.f28-hero--wall .f28-hero-bar { background: color-mix(in srgb, var(--secondary) 92%, #000); }
.f28-hero-bar .container { padding-block: 22px; }
.f28-hero-search { display: flex; align-items: flex-end; gap: 18px; }
.f28-hero-search-l { flex: none; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .2); font-size: 22px; color: var(--primary); }
.f28-hero-search .cl-sbox { flex: 1; margin: 0; background: transparent; box-shadow: none; padding: 0; border: 0; border-radius: 0; display: flex; flex-wrap: nowrap; gap: 14px; align-items: flex-end; max-width: none; color: inherit; }
.f28-hero-search .cl-sbox-fields { flex: 1 1 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.f28-hero-search .cl-sbox-btn { margin: 0; min-width: 170px; }
.f28-hero-search .cl-sbox-f > span:first-child { color: rgba(255, 255, 255, .6); }
@media (max-width: 768px) { .f28-hero-search .cl-sbox { flex-direction: column; align-items: stretch; } }
.f28-hero-search .cl-sbox-f span { color: rgba(255, 255, 255, .6); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.f28-hero-search select, .f28-hero-search input { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .2); color: #fff; border-radius: 0; min-height: 48px; }
.f28-hero-search .cl-sbox-btn { min-height: 48px; }

/* m² ölçer formu */
.f28-est { display: grid; grid-template-columns: 210px minmax(0, 1.5fr) 118px auto 118px minmax(160px, 1fr) auto; grid-template-areas: "lead p w x h out a" "note note note note note note note"; align-items: end; gap: 12px 16px; margin: 0; }
.f28-est-lead { grid-area: lead; display: flex; gap: 14px; align-items: center; align-self: center; }
.f28-est-i { flex: none; width: 46px; height: 46px; display: grid; place-items: center; background: var(--primary); color: var(--on-primary, #fff); font-size: 21px; }
.f28-est-lead strong { display: block; color: #fff; font-family: var(--font-head); font-size: .98rem; line-height: 1.22; }
.f28-est-lead small { display: block; font-size: .74rem; opacity: .62; margin-top: 4px; line-height: 1.3; }
.f28-est-f { display: grid; gap: 6px; min-width: 0; position: relative; }
.f28-est-p { grid-area: p; }
.f28-est-n:first-of-type { grid-area: w; }
.f28-est-f > span { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; opacity: .65; }
.f28-est select, .f28-est input { width: 100%; min-height: 48px; border-radius: 0; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .22); color: #fff; padding: 0 12px; font: 600 .93rem var(--font-body); text-overflow: ellipsis; }
.f28-est input { padding-inline-end: 36px; font-family: var(--f28-mono); font-variant-numeric: tabular-nums; }
.f28-est select:focus, .f28-est input:focus { border-color: var(--primary); outline: 0; box-shadow: 0 0 0 1px var(--primary); }
.f28-est select option, .f28-est select optgroup { color: #111; background: #fff; }
.f28-est-n em { position: absolute; right: 10px; bottom: 15px; font: 600 .74rem var(--f28-mono); font-style: normal; opacity: .55; }
.f28-est-x { grid-area: x; align-self: end; padding-bottom: 13px; font-size: 1.1rem; opacity: .5; }
[data-f28-est-hbox] { grid-area: h; }
[data-f28-est-hbox][hidden] { display: grid !important; visibility: hidden; }
.f28-est-out { grid-area: out; display: grid; gap: 4px; padding-inline-start: 18px; border-inline-start: 1px solid rgba(255, 255, 255, .16); align-self: stretch; align-content: end; min-width: 0; }
.f28-est-out small { font: 500 .74rem var(--f28-mono); opacity: .65; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.f28-est-out b { font-family: var(--font-head); font-size: clamp(1.3rem, 1.9vw, 1.7rem); line-height: 1.1; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: -.01em; }
.f28-est-a { grid-area: a; display: flex; align-items: center; gap: 16px; }
.f28-est-a .btn { min-height: 48px; }
.f28-est-note { grid-area: note; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); }
.f28-est-note p { margin: 0; font-size: .76rem; opacity: .58; }
.f28-est-sv { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: #fff; font-weight: 700; font-size: .9rem; text-decoration: none; border-bottom: 2px solid var(--primary); }
.f28-est-sv:hover { color: #fff; border-color: #fff; }
@media (max-width: 1240px) {
  .f28-est { grid-template-columns: minmax(0, 1.4fr) 1fr auto 1fr; grid-template-areas: "lead lead lead lead" "p w x h" "out out a a" "note note note note"; }
  .f28-est-out { padding: 0; border: 0; }
  .f28-est-a { justify-content: flex-end; }
}
@media (max-width: 640px) {
  .f28-est { grid-template-columns: 1fr auto 1fr; grid-template-areas: "lead lead lead" "p p p" "w x h" "out out out" "a a a" "note note note"; }
  .f28-est-a { justify-content: flex-start; flex-wrap: wrap; }
  .f28-est-a .btn { width: 100%; }
}
/* açık zeminde ölçer (kart / fiyat sayfası) */
.f28-est-card, .f28-pl-sidebox { background: var(--secondary); color: rgba(255, 255, 255, .8); padding: clamp(22px, 3vw, 34px); color-scheme: dark; }
.f28-pl-sidebox .f28-est { grid-template-columns: 1fr auto 1fr; grid-template-areas: "lead lead lead" "p p p" "w x h" "out out out" "a a a" "note note note"; }
.f28-pl-sidebox .f28-est-out { padding: 10px 0 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.f28-pl-sidebox .f28-est-a { flex-wrap: wrap; }
.f28-pl-sidebox .f28-est-a .btn { width: 100%; }
.f28-pl-sidebox .f28-est-lead strong, .f28-est-card .f28-est-lead strong { font-size: 1.05rem; }

/* =====================================================================
   BLOKLAR
   ===================================================================== */
/* Rakamlar */
.f28-statlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); }
.f28-statlist li { padding: 8px clamp(16px, 2.4vw, 36px) 6px; border-inline-start: 1px solid var(--f28-line); display: grid; align-content: start; }
.f28-statlist li:first-child { border-inline-start: 0; padding-inline-start: 0; }
.f28-stats { padding: clamp(52px, 6.5vw, 96px) 0; }
.f28-stat-no { font: 600 .72rem var(--f28-mono); letter-spacing: .1em; opacity: .5; margin-bottom: 18px; }
.f28-stat-v { display: flex; align-items: baseline; gap: 4px; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.1rem, 3.7vw, 3.5rem); line-height: 1; letter-spacing: -.035em; color: #fff; font-variant-numeric: tabular-nums; flex-wrap: wrap; }
.f28-bg-white .f28-stat-v, .f28-bg-tint .f28-stat-v, .f28-bg-plan .f28-stat-v { color: var(--heading, var(--secondary)); }
.f28-stat-v small { font-size: .42em; font-weight: 700; letter-spacing: 0; color: var(--f28-acc-text); }
.f28-stat-dim { position: relative; display: block; height: 1px; margin: 18px 0 14px; background: currentColor; opacity: .5; }
.f28-stat-dim::before, .f28-stat-dim::after { content: ""; position: absolute; top: -6px; width: 1px; height: 13px; background: currentColor; rotate: 45deg; }
.f28-stat-dim::before { left: 0; }
.f28-stat-dim::after { right: 0; }
.f28-stat-l { font-size: .92rem; line-height: 1.45; max-width: 24ch; }

/* Sekmeler */
.f28-seg { display: inline-flex; flex-wrap: wrap; gap: 0; margin-bottom: 26px; border: 1px solid var(--f28-line-2); max-width: 100%; }
.f28-seg-b { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 18px; border: 0; border-inline-start: 1px solid var(--f28-line-2); background: transparent; font: 600 .92rem var(--font-body); color: var(--text); cursor: pointer; }
.f28-seg-b:first-child { border-inline-start: 0; }
.f28-seg-b small { font: 600 .72rem var(--f28-mono); opacity: .6; }
.f28-seg-b[aria-selected="true"] { background: var(--secondary); color: #fff; }
.f28-seg-b:not([aria-selected="true"]):hover { background: var(--surface); }
.f28-bg-tint .f28-seg-b:not([aria-selected="true"]):hover { background: var(--bg, #fff); }
.f28-tab-p[hidden] { display: none; }

/* Seri karşılaştırma matrisi */
.f28-mx-wrap { overflow-x: auto; border: 1px solid var(--f28-line); background: var(--bg, #fff); scrollbar-width: thin; }
.f28-mx { width: 100%; min-width: calc(220px + var(--cols, 4) * 170px); border-collapse: separate; border-spacing: 0; font-size: .93rem; }
.f28-mx th, .f28-mx td { padding: 14px 18px; text-align: start; vertical-align: middle; border-bottom: 1px solid var(--f28-line); }
.f28-mx thead th { vertical-align: bottom; padding-top: 22px; border-bottom: 2px solid var(--secondary); }
.f28-mx tbody th { font-weight: 600; color: var(--heading, var(--secondary)); width: 220px; font-size: .88rem; }
.f28-mx tbody th small { display: block; font-weight: 400; color: var(--muted); font-size: .78rem; margin-top: 2px; }
.f28-mx th:first-child { position: sticky; inset-inline-start: 0; z-index: 2; background: var(--bg, #fff); box-shadow: 1px 0 0 var(--f28-line); }
.f28-mx-corner { color: var(--muted); }
.f28-mx-corner span { display: block; font: 700 .7rem var(--f28-mono); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
.f28-mx-pf { width: 120px; color: var(--f28-line-2); }
.f28-mx-h { display: grid; gap: 12px; }
.f28-mx-img { display: block; width: 100%; max-width: 150px; }
.f28-mx-img .f28-fr { --fw: 7px; }
.f28-mx-t { font-family: var(--font-head); font-weight: 700; font-size: 1.02rem; line-height: 1.2; color: var(--heading, var(--secondary)); }
.f28-mx-t a { color: inherit; text-decoration: none; }
.f28-mx-t a:hover { color: var(--f28-acc-text); }
.f28-mx-v { font-family: var(--font-head); font-weight: 600; font-variant-numeric: tabular-nums; color: var(--heading, var(--secondary)); }
.f28-mx-v.is-price { font-weight: 800; }
.f28-mx td.is-best .f28-mx-v { color: var(--f28-acc-text); }
.f28-mx td.is-best .f28-mx-v::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-start: 7px; background: var(--primary); vertical-align: middle; rotate: 45deg; }
.f28-mx-na { color: var(--muted); }
.f28-mx-bar { position: relative; display: block; height: 4px; margin-top: 9px; max-width: 120px; background: var(--f28-line); }
.f28-mx-bar::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--p); background: var(--secondary); }
.f28-mx td.is-best .f28-mx-bar::before { background: var(--primary); }
.f28-mx-go td { border-bottom: 0; padding-block: 16px 20px; }
.f28-mx tbody tr:hover td { background: color-mix(in srgb, var(--surface) 60%, transparent); }
.f28-series-cmp { margin: 22px 0 0; font-size: .86rem; color: var(--muted); display: flex; gap: 8px; align-items: center; }

/* Seri kartı (koleksiyon ezmesi) */
.f28-sc { position: relative; display: flex; flex-direction: column; background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.f28-sc .f28-sc-media { display: block; }
.f28-sc-body { display: flex; flex-direction: column; flex: 1; padding: 20px 2px 0; }
.f28-sc-term { display: inline-block; font: 700 .68rem var(--f28-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.f28-sc-title { margin: 0; font-size: 1.24rem; line-height: 1.2; letter-spacing: -.015em; }
.f28-sc-title a { color: inherit; text-decoration: none; }
.f28-sc-title a:hover { color: var(--f28-acc-text); }
.f28-sc .cl-card-excerpt { margin: 12px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.f28-sc-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 16px 0 0; border-top: 1px solid var(--f28-line); }
.f28-sc-facts div { padding: 10px 0; border-bottom: 1px solid var(--f28-line); }
.f28-sc-facts div:nth-child(2n) { padding-inline-start: 14px; border-inline-start: 1px solid var(--f28-line); }
.f28-sc-facts dt { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.f28-sc-facts dd { margin: 3px 0 0; font-weight: 600; color: var(--heading, var(--secondary)); font-size: .9rem; }
.f28-sc-foot { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 0; }
.f28-sc-price { display: grid; line-height: 1.15; }
.f28-sc-price small { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.f28-sc-price .cl-price strong { font-family: var(--font-head); font-size: 1.24rem; color: var(--heading, var(--secondary)); }
.f28-sc-price em { font-style: normal; font-size: .8rem; color: var(--muted); }
.f28-sc .cl-card-actions { display: flex; align-items: center; gap: 8px; }
.f28-sc-go { width: 44px; height: 44px; display: grid; place-items: center; background: var(--secondary); color: #fff; font-size: 18px; flex: none; }
.f28-sc-go:hover { background: var(--primary); color: var(--on-primary, #fff); }
.f28-sc .cl-cmp-toggle span { border-radius: 0; min-height: 44px; display: inline-flex; align-items: center; }
.f28-sc--sheet { border: 1px solid var(--f28-line-2); background: var(--bg, #fff); padding: 16px; }
.f28-sc--sheet .f28-sc-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.f28-sc--sheet .f28-sc-body { padding: 18px 0 0; }

/* Aile kartı */
.f28-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.f28-card-media { display: block; }
.f28-card-body { display: flex; flex-direction: column; flex: 1; padding-top: 20px; }
.f28-card-meta { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 8px; font: 600 .74rem var(--f28-mono); color: var(--muted); letter-spacing: .04em; }
.f28-card-title { margin: 0; font-size: 1.22rem; line-height: 1.22; }
.f28-card-title a { color: inherit; text-decoration: none; }
.f28-card-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.f28-card-title a:hover, .f28-card:hover .f28-card-title a { color: var(--f28-acc-text); }
.f28-card-text { margin: 10px 0 0; color: var(--muted); font-size: .94rem; line-height: 1.6; }
.f28-card-go { margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .88rem; color: var(--secondary); }
.f28-card-go i { color: var(--primary); transition: translate .25s var(--ease); }
.f28-card:hover .f28-card-go i { translate: 4px 0; }
.f28-card-ico { width: 56px; height: 56px; display: grid; place-items: center; border: 2px solid var(--secondary); font-size: 26px; color: var(--secondary); }
.f28-card--sheet { border: 1px solid var(--f28-line-2); background: var(--bg, #fff); padding: 16px 16px 20px; transition: border-color .25s; }
.f28-card--sheet:hover { border-color: var(--secondary); }
.f28-card--sheet .f28-card-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.f28-card--sheet .f28-card-body { padding-top: 18px; }
.f28-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; font: 700 .72rem var(--f28-mono); letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }
.f28-card-top i { font-size: 18px; color: var(--secondary); }
.f28-card-code { color: var(--f28-acc-text); }
.f28-crop { --c: var(--secondary); position: absolute; inset: -8px; pointer-events: none;
  background: linear-gradient(var(--c), var(--c)) left top / 14px 1px no-repeat, linear-gradient(var(--c), var(--c)) left top / 1px 14px no-repeat,
              linear-gradient(var(--c), var(--c)) right top / 14px 1px no-repeat, linear-gradient(var(--c), var(--c)) right top / 1px 14px no-repeat,
              linear-gradient(var(--c), var(--c)) left bottom / 14px 1px no-repeat, linear-gradient(var(--c), var(--c)) left bottom / 1px 14px no-repeat,
              linear-gradient(var(--c), var(--c)) right bottom / 14px 1px no-repeat, linear-gradient(var(--c), var(--c)) right bottom / 1px 14px no-repeat; opacity: .55; }

/* Hizmetler: büyük kart + liste */
.f28-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.f28-lead-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--secondary); }
.f28-lead-list li { border-bottom: 1px solid var(--f28-line); }
.f28-lead-list a { display: grid; grid-template-columns: 44px minmax(0, 1fr) 76px 24px; gap: 18px; align-items: center; padding: 18px 0; text-decoration: none; color: inherit; }
.f28-lead-no { font: 600 .78rem var(--f28-mono); color: var(--muted); }
.f28-lead-t b { display: block; font-family: var(--font-head); font-size: 1.12rem; color: var(--heading, var(--secondary)); }
.f28-lead-t small { display: block; color: var(--muted); font-size: .88rem; margin-top: 4px; line-height: 1.5; }
.f28-lead-img img { width: 76px; height: 58px; object-fit: cover; display: block; border: 4px solid var(--secondary); }
.f28-lead-list i { color: var(--primary); font-size: 20px; transition: translate .25s; }
.f28-lead-list a:hover b { color: var(--f28-acc-text); }
.f28-lead-list a:hover i { translate: 3px -3px; }

/* Projeler (mozaik) */
.f28-pj { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(200px, 19vw, 270px); gap: clamp(14px, 1.6vw, 22px); }
.f28-pj-i.is-lead { grid-column: span 2; grid-row: span 2; }
.f28-projects--grid .f28-pj { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.f28-projects--grid .f28-pj-i.is-lead { grid-column: auto; grid-row: auto; }
.f28-pj-a { position: relative; display: block; height: 100%; padding: 8px; background: var(--secondary); text-decoration: none; overflow: hidden; }
.f28-pj-img { display: block; height: 100%; overflow: hidden; }
.f28-pj-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: scale .8s var(--ease); }
.f28-pj-a:hover img { scale: 1.04; }
.f28-pj-cap { position: absolute; left: 8px; bottom: 8px; max-width: calc(100% - 16px); display: grid; gap: 3px; padding: 12px 16px; background: var(--bg, #fff); color: var(--heading, var(--secondary)); }
.f28-pj-cap small { font: 700 .66rem var(--f28-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--f28-acc-text); }
.f28-pj-cap b { font-family: var(--font-head); font-size: 1rem; line-height: 1.25; }
.f28-pj-i.is-lead .f28-pj-cap b { font-size: 1.3rem; }
.f28-pj-i:not(.is-lead) .f28-pj-meta { display: none; }
.f28-pj-i:not(.is-lead) .f28-pj-cap { padding: 10px 14px; right: 8px; max-width: none; }
.f28-pj-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .76rem; color: var(--muted); }
.f28-pj-go { position: absolute; right: 8px; top: 8px; width: 42px; height: 42px; display: grid; place-items: center; background: var(--primary); color: var(--on-primary, #fff); font-size: 18px; opacity: 0; transition: opacity .3s; }
.f28-pj-a:hover .f28-pj-go, .f28-pj-a:focus-visible .f28-pj-go { opacity: 1; }

/* Uygulama galerisi */
.f28-gal { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
.f28-gal-i { grid-column: span 2; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.f28-gal-n5 .f28-gal-i:nth-child(-n+2), .f28-gal-n4 .f28-gal-i, .f28-gal-n2 .f28-gal-i { grid-column: span 3; }
.f28-gal-n1 .f28-gal-i { grid-column: 1 / -1; }
.f28-gal-img { display: block; padding: 7px; background: var(--secondary); aspect-ratio: 4 / 3; }
.f28-gal-n5 .f28-gal-i:nth-child(-n+2) .f28-gal-img { aspect-ratio: 16 / 9; }
.f28-gal-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f28-gal-cap { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 2px 0; }
.f28-gal-cap b { font-family: var(--font-head); font-size: 1.04rem; color: var(--heading, var(--secondary)); }
.f28-gal-cap small { font: 600 .74rem var(--f28-mono); color: var(--muted); white-space: nowrap; }
.f28-gal-i:hover b { color: var(--f28-acc-text); }

/* Artılar (teknik föy) */
.f28-features-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 90px); align-items: start; }
.f28-features-pf { width: min(320px, 100%); margin-top: 40px; color: color-mix(in srgb, var(--secondary) 30%, transparent); }
.f28-feat { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--secondary); }
.f28-feat li { position: relative; padding: 24px 24px 26px 0; border-bottom: 1px solid var(--f28-line-2); display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; align-content: start; }
.f28-feat li:nth-child(2n) { padding-inline: 24px 0; border-inline-start: 1px solid var(--f28-line-2); }
.f28-feat-no { position: absolute; top: 26px; inset-inline-end: 6px; font: 600 .7rem var(--f28-mono); color: var(--muted); }
.f28-feat li:nth-child(2n) .f28-feat-no { inset-inline-end: 0; }
.f28-feat i { grid-row: span 2; font-size: 24px; color: var(--f28-acc-text); line-height: 1.2; }
.f28-feat h3 { margin: 0; font-size: 1.06rem; padding-inline-end: 30px; }
.f28-feat p { margin: 6px 0 0; font-size: .92rem; line-height: 1.55; color: var(--muted); }
.f28-feat--row { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); margin-top: clamp(40px, 5vw, 70px); }
.f28-feat--row li, .f28-feat--row li:nth-child(2n) { padding: 24px 22px 24px; border-inline-start: 1px solid var(--f28-line-2); border-bottom: 0; }
.f28-feat--row li:first-child { border-inline-start: 0; padding-inline-start: 0; }

/* Süreç */
.f28-steps { list-style: none; margin: 0; padding: 38px 0 0; display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); position: relative; }
.f28-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 14px; height: 1px; background: var(--secondary); opacity: .45; }
.f28-step { position: relative; padding: 0 22px 0 0; }
.f28-step-tick { position: absolute; left: 0; top: -31px; width: 1px; height: 15px; background: var(--secondary); rotate: 45deg; }
.f28-step:last-child::after { content: ""; position: absolute; right: 0; top: -31px; width: 1px; height: 15px; background: var(--secondary); rotate: 45deg; opacity: .7; }
.f28-step-no { display: block; position: absolute; top: -34px; left: 18px; padding: 2px 8px; background: var(--f28-dim-bg, var(--bg, #fff)); font: 700 .72rem var(--f28-mono); color: var(--f28-acc-text); }
.f28-bg-tint .f28-step-no, .f28-bg-plan .f28-step-no { background: var(--surface); }
.f28-step-i { width: 52px; height: 52px; display: grid; place-items: center; border: 2px solid var(--secondary); font-size: 22px; color: var(--secondary); margin: 6px 0 18px; box-shadow: inset 0 0 0 4px var(--bg, #fff), inset 0 0 0 5px var(--f28-line-2); }
.f28-step h3 { margin: 0; font-size: 1.08rem; }
.f28-step p { margin: 8px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.55; }

/* Hakkımızda */
.f28-about-in { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(36px, 6vw, 100px); align-items: center; }
.f28-about-in.no-img { grid-template-columns: minmax(0, 1fr); }
.f28-about-media { position: relative; max-width: 400px; width: 100%; justify-self: center; }
.f28-about-p { margin: 22px 0 0; font-size: 1.05rem; line-height: 1.7; color: var(--text); max-width: 62ch; }
.f28-about-media .f28-fr--door .f28-fr-glass { aspect-ratio: 2 / 3; }
.f28-plate { position: absolute; right: -26px; bottom: 54px; z-index: 7; display: grid; padding: 12px 22px 12px; background: var(--f28-metal); color: var(--secondary); box-shadow: inset 0 1px 0 #fff, 0 16px 30px -14px rgba(0, 0, 0, .5); border-radius: 2px; }
.f28-plate::before, .f28-plate::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #8a939b); }
.f28-plate::before { left: 7px; }
.f28-plate::after { right: 7px; }
.f28-plate small { font: 700 .62rem var(--f28-mono); letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.f28-plate b { font-family: var(--font-head); font-size: 2rem; line-height: 1; letter-spacing: -.02em; }

/* Öne çıkan */
.f28-hl-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 100px); align-items: center; position: relative; z-index: 1; }
.f28-img-left .f28-hl-media { order: -1; }
.f28-hl-p { margin: 22px 0 0; font-size: 1.06rem; line-height: 1.7; max-width: 58ch; }
.f28-hl-media { max-width: 560px; width: 100%; justify-self: center; }
.f28-bg-ink .f28-hl-media .f28-fr { --f28-fr-c: color-mix(in srgb, var(--secondary) 70%, #000); }
.f28-hl-pf { position: absolute; left: -60px; bottom: -40px; width: 380px; color: rgba(255, 255, 255, .05); pointer-events: none; }
.f28-bg-ink .f28-checks li { color: rgba(255, 255, 255, .85); }

/* Araçlar */
.f28-tool-in { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.f28-tool-side .f28-intro { margin-top: 16px; }
.f28-tool-side .f28-checks { margin-top: 22px; font-size: .9rem; }
.f28-tool-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 10px; background: var(--secondary); color: #fff; font: 700 .7rem var(--f28-mono); letter-spacing: .1em; text-transform: uppercase; }
.f28-tool-img { margin-top: 30px; max-width: 420px; }
.f28-tool-top { max-width: 820px; margin-bottom: 32px; }
.f28-tool--wide .f28-tool-main { max-width: 980px; }
.fam-cerceve .tl-box { border-radius: 0; border: 1px solid var(--f28-line-2); box-shadow: 0 30px 60px -44px rgba(0, 0, 0, .45); background: var(--bg, #fff); }
.fam-cerceve .tl-box .btn { border-radius: var(--radius-btn); }
.fam-cerceve .tl-field input, .fam-cerceve .tl-field select, .fam-cerceve .tl-box input, .fam-cerceve .tl-box select { border-radius: 0; }
.fam-cerceve .tl-out { border-radius: 0; }
.fam-cerceve .tl-out.is-hl { background: var(--secondary); color: #fff; }
.fam-cerceve .tl-out.is-hl * { color: inherit; }
.fam-cerceve .tl-opt { border-radius: 0; }
.fam-cerceve .tl-outputs :where(h2, h3, h4, strong) { color: var(--tl-on, #fff); }
.fam-cerceve .tl-outputs { border-radius: 0; background: var(--secondary); }
.fam-cerceve .tl-progress { border-radius: 0; }
.fam-cerceve .tl-result-band { border-radius: 0; }

/* Fiyat hesaplayıcı */
.f28-pc-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.f28-how { background: var(--bg, #fff); border: 1px solid var(--f28-line-2); padding: 22px 26px; display: grid; grid-template-columns: auto 200px minmax(0, 1fr); gap: 16px 34px; align-items: center; }
.f28-how .f28-checks { margin: 0; }
.f28-pc-in.is-compact { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(24px, 4vw, 56px); }
.f28-pc-in.is-compact .f28-how { grid-template-columns: minmax(0, 1fr); }
.f28-pc-in.is-compact .f28-how-t { writing-mode: horizontal-tb; rotate: 0deg; }
@media (max-width: 1024px) { .f28-pc-in.is-compact { grid-template-columns: minmax(0, 1fr); } }
.f28-how-fig { margin: 0 !important; }
@media (max-width: 860px) { .f28-how { grid-template-columns: minmax(0, 1fr); } .f28-how-t { writing-mode: horizontal-tb !important; rotate: 0deg !important; } .f28-how-fig { max-width: 220px; } }
.f28-how-t { writing-mode: vertical-rl; rotate: 180deg; margin: 0; font: 700 .74rem var(--f28-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--f28-acc-text); }
.f28-how-fig { max-width: 200px; --f28-dim-bg: var(--bg, #fff); }
.f28-how-fig .f28-fr-glass { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--secondary) 8%, #fff) 0 6px, #fff 6px 12px); }
.f28-how .f28-checks { font-size: .9rem; line-height: 1.5; }

/* Randevu */
.f28-apt-in { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.f28-apt-side .f28-callrow { margin-top: 28px; color: var(--heading, var(--secondary)); }
.f28-apt-box .apt-box, .f28-apt-box > * { border-radius: 0; }
.fam-cerceve .apt-box { border-radius: 0; border: 1px solid var(--f28-line-2); box-shadow: 0 30px 60px -44px rgba(0, 0, 0, .45); }
.fam-cerceve .apt-box .btn, .fam-cerceve .apt-wizard .btn { border-radius: var(--radius-btn); }
.fam-cerceve :where(.apt-box, .apt-wizard) :where(input, select, textarea) { border-radius: 0; }
.fam-cerceve :where(.apt-slot, .apt-day, .apt-svc-card, .apt-opt, .apt-steps li, .apt-sum, .apt-side, .apt-cal, .apt-ticket, .apt-quick) { border-radius: 0 !important; }
.fam-cerceve .apt-steps li.is-active { background: var(--secondary); }

/* Paketler */
.f28-pk-desc { color: var(--muted); max-width: 70ch; margin: 0 0 22px; }
.fam-cerceve :where(.shop-pkg, .pkg-card, .shop-pkg-card) { border-radius: 0 !important; }

/* Yorumlar */
.f28-rev-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.f28-rev-head .f28-head { flex: 1; }
.f28-rev-score { flex: none; display: grid; justify-items: end; gap: 4px; margin-bottom: clamp(32px, 4.5vw, 60px); }
.f28-rev-score b { font-family: var(--font-head); font-size: 3.4rem; line-height: 1; color: var(--heading, var(--secondary)); letter-spacing: -.04em; }
.f28-rev-score small { font: 600 .72rem var(--f28-mono); color: var(--muted); }
.f28-rev-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); }
.f28-review { margin: 0; display: flex; flex-direction: column; background: var(--bg, #fff); padding: 26px 26px 24px 30px; border: 1px solid var(--f28-line); border-inline-start: 6px solid var(--secondary); border-radius: 0; box-shadow: none; }
.f28-review-top { display: flex; justify-content: space-between; align-items: center; }
.f28-review-top i { font-size: 28px; color: var(--f28-line-2); }
.f28-review blockquote { margin: 16px 0 22px; font-size: .97rem; line-height: 1.65; color: var(--text); flex: 1; }
.f28-review figcaption { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--f28-line); }
.f28-review .t-avatar { width: 44px; height: 44px; border-radius: 0; object-fit: cover; flex: none; }
.f28-review .t-initials { display: grid; place-items: center; background: var(--secondary); color: #fff; font-weight: 700; font-family: var(--font-head); }
.f28-review figcaption span { display: grid; line-height: 1.3; }
.f28-review strong { color: var(--heading, var(--secondary)); font-size: .95rem; }
.f28-review small { color: var(--muted); font-size: .82rem; }

/* SSS */
.f28-faq-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.f28-faq-help { position: relative; overflow: hidden; margin-top: 34px; padding: 28px; background: var(--secondary); color: rgba(255, 255, 255, .78); color-scheme: dark; }
.f28-faq-help strong { display: block; color: #fff; font-family: var(--font-head); font-size: 1.2rem; position: relative; }
.f28-faq-help p { margin: 8px 0 14px; font-size: .92rem; position: relative; }
.f28-faq-help .f28-callrow { color: #fff; position: relative; }
.f28-faq-help .f28-btns { margin-top: 18px; position: relative; }
.f28-faq-pf { position: absolute; right: -30px; bottom: -24px; width: 220px; color: rgba(255, 255, 255, .07); }
.fam-cerceve .faq-list { gap: 0; border-top: 2px solid var(--secondary); }
.fam-cerceve .faq-item { border: 0; border-bottom: 1px solid var(--f28-line-2); border-radius: 0; background: transparent; }
.fam-cerceve .faq-item summary { padding: 20px 4px; font-family: var(--font-head); font-weight: 600; font-size: 1.04rem; color: var(--heading, var(--secondary)); min-height: 44px; }
.fam-cerceve .faq-item summary i { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--f28-line-2); font-size: 18px; color: var(--secondary); }
.fam-cerceve .faq-item[open] { border-color: var(--f28-line-2); }
.fam-cerceve .faq-item[open] summary i { background: var(--primary); color: var(--on-primary, #fff); border-color: var(--primary); }
.fam-cerceve .faq-answer { padding: 0 48px 22px 4px; color: var(--text); line-height: 1.7; }

/* Blog kartı */
.f28-post { position: relative; display: flex; flex-direction: column; background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.f28-post-media { display: block; padding: 6px; background: var(--secondary); aspect-ratio: 16 / 11; }
.f28-post-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: scale .8s var(--ease); }
.f28-post:hover .f28-post-media img { scale: 1.03; }
.f28-post-media { overflow: hidden; }
.f28-post-body { display: flex; flex-direction: column; flex: 1; padding-top: 18px; }
.f28-post-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 10px; font: 600 .72rem var(--f28-mono); letter-spacing: .06em; color: var(--muted); text-transform: uppercase; }
.f28-post-meta span { color: var(--f28-acc-text); }
.f28-post .card-title { margin: 0; font-size: 1.16rem; line-height: 1.3; }
.f28-post .card-title a { color: var(--heading, var(--secondary)); text-decoration: none; }
.f28-post .card-title a::before { content: ""; position: absolute; inset: 0; }
.f28-post .card-title a:hover { color: var(--f28-acc-text); }
.f28-post .card-text { margin: 10px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.6; }

/* Proje kartı (liste sayfası) */
.f28-pcard { position: relative; display: flex; flex-direction: column; background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.f28-pcard-media { position: relative; display: block; padding: 7px; background: var(--secondary); aspect-ratio: 4 / 3; overflow: hidden; }
.f28-pcard-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: scale .8s var(--ease); }
.f28-pcard:hover .f28-pcard-media img { scale: 1.035; }
.f28-pcard-media .badge { position: absolute; left: 16px; top: 16px; border-radius: 0; }
.f28-pcard-body { padding-top: 18px; }
.f28-pcard .card-title { margin: 0; font-size: 1.16rem; }
.f28-pcard .card-title a { color: var(--heading, var(--secondary)); text-decoration: none; }
.f28-pcard .card-title a::before { content: ""; position: absolute; inset: 0; }
.f28-pcard-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 10px 0 0; font: 500 .76rem var(--f28-mono); color: var(--muted); }

/* Ekip */
.f28-member .f28-fr-glass { aspect-ratio: 4 / 5; }
.f28-member h3 { margin: 18px 0 0; font-size: 1.08rem; }
.f28-member h3 a { color: inherit; text-decoration: none; }
.f28-member p { margin: 4px 0 0; color: var(--muted); font-size: .88rem; }

/* İş ortakları */
.f28-clients-in { display: grid; grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); gap: 28px clamp(28px, 5vw, 70px); align-items: center; }
.f28-plates { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); border-top: 1px solid var(--f28-line-2); border-inline-start: 1px solid var(--f28-line-2); }
.f28-plates li { min-height: 84px; display: grid; place-items: center; padding: 14px; border-inline-end: 1px solid var(--f28-line-2); border-bottom: 1px solid var(--f28-line-2); text-align: center; }
.f28-plates span { font-family: var(--font-head); font-weight: 700; font-size: .84rem; letter-spacing: .06em; text-transform: uppercase; color: color-mix(in srgb, var(--secondary) 70%, var(--bg)); line-height: 1.3; }
.f28-plates img { max-height: 40px; width: auto; filter: grayscale(1); opacity: .75; }
.f28-plates a { text-decoration: none; }

/* Çağrı bandı */
.f28-cta { padding: clamp(40px, 6vw, 90px) 0; background: var(--bg, #fff); }
.f28-cta-in { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: center; padding: clamp(32px, 5vw, 76px); background: var(--secondary); color: rgba(255, 255, 255, .76); color-scheme: dark; }
.f28-cta-in.has-img { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.f28-cta-pf { position: absolute; right: -40px; top: -30px; width: min(520px, 50%); color: rgba(255, 255, 255, .06); pointer-events: none; }
.f28-cta-in.has-img .f28-cta-pf { right: auto; left: -60px; top: auto; bottom: -40px; }
.f28-cta-text { position: relative; }
.f28-cta h2 { margin: 0; color: #fff; font-size: clamp(1.9rem, 3.7vw, 3.3rem); line-height: 1.05; letter-spacing: -.03em; max-width: 20ch; }
.f28-cta h2 em { color: color-mix(in srgb, var(--primary) 70%, #fff); }
.f28-cta p { margin: 18px 0 0; font-size: 1.05rem; line-height: 1.65; max-width: 58ch; }
.f28-cta .f28-callrow { margin-top: 26px; color: #fff; }
.f28-cta-media { position: relative; max-width: 420px; width: 100%; justify-self: end; }
.f28-cta-media .f28-fr { --f28-fr-c: color-mix(in srgb, var(--secondary) 55%, #000); }

/* =====================================================================
   SAYFA BAŞLIĞI + çekirdek sayfalar
   ===================================================================== */
.f28-ph { padding: clamp(46px, 7vw, 96px) 0 0; background-color: var(--surface); background-image: linear-gradient(var(--f28-gridline) 1px, transparent 1px), linear-gradient(90deg, var(--f28-gridline) 1px, transparent 1px); background-size: 32px 32px; color: var(--text); }
.f28-ph-in { position: relative; z-index: 1; padding-bottom: clamp(30px, 4.5vw, 56px); }
.f28-ph .page-title { margin: 14px 0 0; color: var(--heading, var(--secondary)); font-size: clamp(2.1rem, 4.6vw, 4rem); line-height: 1.02; letter-spacing: -.035em; font-weight: 800; max-width: 22ch; }
.f28-ph .page-subtitle { margin: 18px 0 0; color: var(--muted); font-size: 1.06rem; max-width: 62ch; line-height: 1.6; }
.f28-ph .breadcrumb { font: 600 .74rem var(--f28-mono); letter-spacing: .04em; }
.f28-ph .breadcrumb li, .f28-ph .breadcrumb a { color: var(--muted); }
.f28-ph .breadcrumb a:hover { color: var(--f28-acc-text); }
.f28-ph-pf { position: absolute; right: max(10px, calc((100vw - var(--container)) / 2)); bottom: 14px; width: min(340px, 30vw); color: color-mix(in srgb, var(--secondary) 18%, transparent); z-index: 0; }
.f28-ph-rule { position: relative; z-index: 1; color: color-mix(in srgb, var(--secondary) 30%, var(--surface)); }

.fam-cerceve .card { border-radius: 0; }
.fam-cerceve .page-content, .fam-cerceve .content { line-height: 1.75; }
.fam-cerceve :where(.form-control, input[type=text], input[type=email], input[type=tel], input[type=number], input[type=search], input[type=date], select, textarea) { border-radius: 0; }
.fam-cerceve .widget { border-radius: 0; }
.f28-side-call { position: relative; overflow: hidden; background: var(--secondary) !important; color: rgba(255, 255, 255, .78); border: 0 !important; color-scheme: dark; }
.f28-side-call .widget-title { color: #fff; position: relative; }
.f28-side-call p { position: relative; }
.f28-side-call .f28-callrow { color: #fff; margin-top: 14px; position: relative; }
.f28-side-pf { position: absolute; right: -30px; top: -20px; width: 180px; color: rgba(255, 255, 255, .06); }
.f28-side-wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: #fff; min-height: 44px; position: relative; }

/* Koleksiyon sayfaları */
.fam-cerceve :where(.cl-card, .cl-sidebar, .cl-filters, .cl-term-chip, .cl-active-chip, .cl-side-card, .cl-cmpbar, .cl-table-wrap, .cl-sbox, .cl-badge, .cl-chip) { border-radius: 0; }
.fam-cerceve .cl-term-chip.is-active { background: var(--secondary); border-color: var(--secondary); color: #fff; }
.fam-cerceve .cl-cmp-table th { font-family: var(--font-head); }
.fam-cerceve .cl-cmp-head img { border: 6px solid var(--secondary); }
.fam-cerceve .cl-detail .cl-gallery-main img { border: 10px solid var(--secondary); }
.fam-cerceve .cl-side-card { border: 1px solid var(--f28-line-2); box-shadow: none; }
.fam-cerceve .cl-side-price strong { font-family: var(--font-head); }
.fam-cerceve .cl-grid .f28-sc { height: 100%; }
.fam-cerceve .cl-table th { font-family: var(--font-head); }

/* Fiyat listesi sayfası */
.f28-pl-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.f28-pl-side { position: sticky; top: calc(var(--header-h) + 24px); }
.f28-pl-open { margin-top: 14px; }
.f28-pl-terms { margin-bottom: 26px; }
.f28-pt-list { display: grid; gap: 34px; }
.f28-pt-head { display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--secondary); }
.f28-pt-no { font: 700 .76rem var(--f28-mono); color: var(--f28-acc-text); }
.f28-pt-head h3 { margin: 0; font-size: 1.24rem; flex: 1; }
.f28-pt-head small { font: 600 .72rem var(--f28-mono); color: var(--muted); }
.f28-pt-t { width: 100%; border-collapse: collapse; }
.f28-pt-t th, .f28-pt-t td { padding: 14px 0; border-bottom: 1px solid var(--f28-line); vertical-align: top; text-align: start; }
.f28-pt-t th b { display: block; font-weight: 600; color: var(--heading, var(--secondary)); }
.f28-pt-t th small { display: block; color: var(--muted); font-size: .84rem; font-weight: 400; margin-top: 3px; }
.f28-pt-u { width: 90px; padding-inline: 12px !important; }
.f28-pt-u span { display: inline-block; font: 600 .72rem var(--f28-mono); padding: 3px 7px; border: 1px solid var(--f28-line-2); color: var(--muted); }
.f28-pt-p { width: 120px; text-align: end !important; font-family: var(--font-head); font-weight: 800; font-size: 1.06rem; color: var(--heading, var(--secondary)); white-space: nowrap; }
.f28-pt-t tr.is-feat th b::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-start: 8px; background: var(--primary); rotate: 45deg; vertical-align: middle; }
.f28-pt-note { margin: 24px 0 0; font-size: .86rem; color: var(--muted); display: flex; gap: 8px; }

/* Şubeler / dokümanlar (çekirdek bloklar) */
.fam-cerceve .br-head h2, .fam-cerceve .dc-head h2, .fam-cerceve .blk-doc-list h2 { font-size: clamp(1.95rem, 3.4vw, 3.1rem); line-height: 1.06; letter-spacing: -.028em; }
.fam-cerceve .br-eyebrow, .fam-cerceve .dc-eyebrow { font: 700 .74rem var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--f28-acc-text); }
.fam-cerceve :where(.br-card, .br-side, .br-map, .dc-card, .dc-item, .doc-card, .dc-list li) { border-radius: 0 !important; }
.fam-cerceve .blk-branch-map, .fam-cerceve .blk-doc-list { padding: var(--f28-sec) 0; }


/* Formlar / iletişim */
.fam-cerceve .btn-block { width: 100%; }
.fam-cerceve .contact-card, .fam-cerceve .contact-info { border-radius: 0; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.f28-footer { position: relative; overflow: hidden; background: var(--footer-bg); color: rgba(255, 255, 255, .66); padding-top: clamp(52px, 7vw, 96px); color-scheme: dark; }
.f28-foot-pf { position: absolute; right: -60px; top: 120px; width: min(620px, 52vw); color: rgba(255, 255, 255, .04); pointer-events: none; }
.f28-foot-call { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: end; padding-bottom: clamp(36px, 5vw, 64px); }
.f28-foot-call .f28-eyebrow { color: color-mix(in srgb, var(--primary) 70%, #fff); }
.f28-foot-big { display: inline-flex; align-items: baseline; gap: 14px; font-family: var(--font-head); font-weight: 800; font-size: clamp(2rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.04em; color: #fff !important; text-decoration: none; }
.f28-foot-big i { color: var(--primary); font-size: .7em; transition: translate .3s; }
.f28-foot-big:hover i { translate: 6px -6px; }
.f28-foot-call-t { position: relative; padding-bottom: 30px; }
.f28-foot-dim { left: 0; right: 0; top: auto; bottom: 0; color: rgba(255, 255, 255, .3); }
.f28-foot-call-a { display: grid; justify-items: end; gap: 16px; }
.f28-foot-phone { display: grid; justify-items: end; font-family: var(--font-head); font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 2rem); color: #fff !important; text-decoration: none; font-variant-numeric: tabular-nums; }
.f28-foot-phone small { font: 700 .66rem var(--f28-mono); letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.f28-foot-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; padding-block: 44px; border-top: 1px solid rgba(255, 255, 255, .1); }
.f28-footer h3 { color: #fff; font: 700 .74rem var(--f28-mono); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 20px; }
.f28-footer .footer-logo { color: #fff; --f28-logo-bg: var(--footer-bg); }
.f28-foot-about p { margin: 18px 0 20px; font-size: .92rem; line-height: 1.65; max-width: 38ch; }
.f28-footer .footer-links a { display: inline-block; padding-block: 3px; }
.f28-footer .footer-contact i { color: var(--primary); }
.f28-footer .social-links a { border-radius: 0; border: 1px solid rgba(255, 255, 255, .2); width: 44px; height: 44px; display: inline-grid; place-items: center; }
.f28-foot-nl { position: relative; padding-bottom: 36px; }
.f28-foot-nl .nl { border: 1px solid rgba(255, 255, 255, .12); padding: 22px 26px; border-radius: 0; background: rgba(255, 255, 255, .03); }
.f28-foot-nl .nl-title { color: #fff; font-family: var(--font-head); }
.f28-foot-nl .nl-input, .f28-foot-nl input[type=email] { border-radius: 0; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .2); color: #fff; }
.f28-foot-bottom { position: relative; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .82rem; }
.f28-foot-legal { font-family: var(--f28-mono); font-size: .74rem; opacity: .7; }

/* Yapışkan "ücretsiz keşif ve ölçü" sekmesi */
.f28-survey-tab { position: fixed; z-index: 880; top: 50%; right: 0; translate: 0 -50%; display: flex; align-items: center; gap: 10px; writing-mode: vertical-rl; rotate: 180deg;
  padding: 18px 12px 18px 16px; background-color: var(--primary); color: var(--on-primary, #fff); font: 700 .78rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
  background-image: repeating-linear-gradient(to bottom, color-mix(in srgb, var(--on-primary, #fff) 45%, transparent) 0 1px, transparent 1px 7px); background-size: 5px 100%; background-repeat: no-repeat; background-position: right top;
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .5); transition: padding .25s var(--ease); }
.f28-survey-tab i { rotate: 90deg; font-size: 18px; }
.f28-survey-tab:hover { padding-inline-end: 20px; color: var(--on-primary, #fff); }
.f28-survey-tab--left { right: auto; left: 0; rotate: 0deg; background-position: left top; }
.f28-float .fc-btn { border-radius: 0; }
.f28-float .fc-top { background: var(--secondary); }
.f28-mbar { border-top: 1px solid var(--f28-line); }
.f28-mbar a { min-height: 56px; justify-content: center; }
.f28-mbar .mb-quote { background: var(--primary); color: var(--on-primary, #fff) !important; }
.f28-mbar .mb-call { color: var(--secondary) !important; }
@media (max-width: 768px) { .f28-survey-tab { display: none; } }

/* =====================================================================
   SİTE İNCE AYARLARI
   ===================================================================== */
/* 202 Rasyo — kurumsal: daha geniş başlık aralığı, ince kenarlı kartlar */
.site-rasyo .f28-h1 { letter-spacing: -.03em; font-weight: 700; }
.site-rasyo .f28-title { font-weight: 600; }
/* 203 Lagünay — yumuşak köşeler, deniz turkuazı */
.site-lagunay { --f28-fr-c: color-mix(in srgb, var(--secondary) 92%, #fff); }
.site-lagunay .f28-h1 { font-weight: 800; letter-spacing: -.04em; }
/* 204 Sürgüsan — dar (condensed) büyük harf başlıklar */
.site-surgusan :where(.f28-h1, .f28-title, .f28-ph .page-title, .f28-cta h2, .f28-foot-big) { text-transform: uppercase; letter-spacing: -.005em; font-weight: 700; }
.site-surgusan .f28-h1 { font-size: clamp(2.8rem, 6.2vw, 5.8rem); line-height: .94; }
.site-surgusan :where(h3, .f28-card-title, .f28-sc-title, .f28-mx-t) { letter-spacing: 0; }
.site-surgusan .f28-hero--split { background: var(--secondary); color: rgba(255, 255, 255, .78); color-scheme: dark; --f28-dim-c: rgba(255, 255, 255, .5); --f28-dim-bg: var(--f28-ink-2); }
.site-surgusan .f28-hero--split::before { background-color: var(--f28-ink-2); background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); }
.site-surgusan .f28-hero--split .f28-h1 { color: #fff; }
.site-surgusan .f28-hero--split .f28-lede, .site-surgusan .f28-hero--split .f28-kicker { color: rgba(255, 255, 255, .66); }
.site-surgusan .f28-hero--split .f28-ticks { color: #fff; }
.site-surgusan .f28-hero--split .btn-outline { color: #fff; border-color: rgba(255, 255, 255, .4); }
.site-surgusan .f28-hero--split .btn-outline:hover { background: #fff; color: var(--secondary); }
.site-surgusan .f28-hero--split .f28-fr { --f28-fr-c: #50565d; --f28-fr-bead: #6a7178; }
.site-surgusan .f28-hero-pf { color: rgba(255, 255, 255, .05); }
.site-surgusan .f28-hero--split .f28-dim b { color: #fff; }
/* 205 Lamelya — sarı aksan: metin vurguları koyu, düğme metni koyu */
.site-lamelya { --f28-acc-text: color-mix(in srgb, var(--primary) 42%, var(--secondary)); }
.site-lamelya .f28-bg-ink, .site-lamelya .f28-hero-bar { --f28-acc-text: var(--primary); }
.site-lamelya .f28-h1 { letter-spacing: -.045em; }
.site-lamelya .f28-check-m { border-color: var(--secondary); }
.site-lamelya .f28-bg-ink .f28-check-m, .site-lamelya .f28-cta .f28-check-m { border-color: var(--primary); }
.site-lamelya .f28-nav .nav-menu > li > a::after { height: 4px; }

/* =====================================================================
   DUYARLI
   ===================================================================== */
@media (max-width: 1180px) {
  .f28-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-pj { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-pj-i.is-lead { grid-column: span 2; grid-row: span 1; }
  .f28-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 52px; }
  .f28-step-tick { display: none; }
  .f28-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-feat--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-feat--row li:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
}
@media (max-width: 1024px) {
  .f28-hs, .f28-hp-top, .f28-about-in, .f28-hl-in, .f28-tool-in, .f28-faq-in, .f28-apt-in, .f28-pc-in, .f28-features-in, .f28-lead, .f28-pl-layout, .f28-clients-in { grid-template-columns: minmax(0, 1fr); }
  .f28-hero--split::before { inset: 52% 0 0 0; }
  .f28-hs-media { max-width: 480px; }
  .f28-head { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .f28-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-rev-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-statlist { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .f28-statlist li:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
  .f28-cta-in.has-img { grid-template-columns: minmax(0, 1fr); }
  .f28-cta-media { justify-self: start; }
  .f28-how, .f28-pl-side { position: static; }
  .f28-hw-in { grid-template-columns: minmax(0, 1fr); }
  .f28-hw-specs { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .f28-hw-pf { display: none; }
  .f28-hl-media, .f28-about-media { justify-self: start; }
  .f28-features-pf { display: none; }
  .f28-foot-call { grid-template-columns: minmax(0, 1fr); }
  .f28-foot-call-a { justify-items: start; }
  .f28-foot-phone { justify-items: start; }
  .f28-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-gal .f28-gal-i { grid-column: span 1 !important; }
  .f28-gal-n5 .f28-gal-i:first-child, .f28-gal-n3 .f28-gal-i:first-child { grid-column: 1 / -1 !important; }
}
@media (max-width: 768px) {
  .f28-grid-2, .f28-grid-3, .f28-grid-4, .f28-rev-list { grid-template-columns: minmax(0, 1fr); }
  .f28-feat, .f28-feat--row { grid-template-columns: minmax(0, 1fr); }
  .f28-feat li:nth-child(2n), .f28-feat--row li, .f28-feat--row li:nth-child(2n) { padding-inline: 0; border-inline-start: 0; border-bottom: 1px solid var(--f28-line-2); }
  .f28-steps { grid-template-columns: minmax(0, 1fr); padding: 0 0 0 30px; row-gap: 30px; }
  .f28-steps::before { left: 8px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .f28-step { padding: 0; }
  .f28-step-no { position: static; display: inline-block; padding: 0; margin-bottom: 6px; background: none; }
  .f28-step:last-child::after { display: none; }
  .f28-step-i { margin-top: 0; }
  .f28-pj { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 260px; }
  .f28-pj-i.is-lead { grid-column: auto; }
  .f28-rev-head { flex-direction: column; align-items: flex-start; gap: 0; }
  .f28-rev-score { justify-items: start; }
  .f28-lead-list a { grid-template-columns: 34px minmax(0, 1fr) 20px; }
  .f28-lead-img { display: none; }
  .f28-frw.has-dims { padding: 34px 34px 0 0; }
  .f28-frw.has-dims::after { right: 34px; }
  .f28-dim--w { right: 34px; }
  .f28-dim--h { right: 10px; top: 34px; }
  .f28-fr-specs, .f28-hero--split .f28-fr-specs { left: 8px; bottom: 16px; }
  .f28-hp-media .f28-fr-specs { right: 8px; top: auto; bottom: 40px; }
  .f28-plate { right: 10px; bottom: 24px; }
  .f28-hero--pano .f28-fr-glass { aspect-ratio: 4 / 3; }
  .f28-hw-panel { padding: 26px 22px; }
  .f28-hero--wall { min-height: 0; }
  .f28-hw-in { padding-top: 160px; }
  .f28-hero-search { flex-direction: column; align-items: stretch; }
  .f28-hero-search-l { display: none; }
  .f28-gal { grid-template-columns: minmax(0, 1fr); }
  .f28-gal .f28-gal-i, .f28-gal-n5 .f28-gal-i:first-child { grid-column: auto !important; }
  .f28-foot-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .f28-plates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f28-pt-u { width: auto; }
  .f28-pt-p { width: auto; }
  .f28-mx th, .f28-mx td { padding: 12px 12px; }
  .f28-mx tbody th { width: 150px; }
  .f28-mx { min-width: calc(150px + var(--cols, 4) * 150px); }
  .f28-sc-facts { grid-template-columns: minmax(0, 1fr); }
  .f28-sc-facts div:nth-child(2n) { padding-inline-start: 0; border-inline-start: 0; }
  .f28-cta-in { padding: 30px 22px; }
  .site-surgusan .f28-h1 { font-size: clamp(2.4rem, 11vw, 3.4rem); }
}
@media (max-width: 480px) {
  .f28-h1 { font-size: clamp(2.1rem, 9.4vw, 2.6rem); }
  .f28-btns { gap: 12px; }
  .f28-btns .btn { width: 100%; }
  .f28-hero--split .f28-fr { --f28-fr-w: 12px; }
  .f28-fr-handle { height: 40px; }
  .f28-seg { display: flex; }
  .f28-seg-b { flex: 1 1 auto; justify-content: center; padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .f28-fr-slats, .f28-fr-panels i { animation: none; }
  .f28-fr img, .f28-pj-img img, .f28-post-media img, .f28-pcard-media img { transition: none; }
  .f28-fr--window .f28-fr-glass { transition: none; }
}
@media print { .f28-survey-tab { display: none !important; } }
.fam-cerceve :where(.tl-step, .tl-pl-m, .tl-pl-qty, .tl-pl-x) { border-radius: 0 !important; }
.f28-est.is-metre .f28-est-x { visibility: hidden; }
.f28-sc-facts div:only-child { grid-column: 1 / -1; }

/* Çekirdek modüllerde metin olarak kullanılan ana renk → okunur aksan tonu (sarı/turuncu aksanlarda kontrast) */
.fam-cerceve :where(.tl-range-val, .tl-q-title span, .tl-pl-gt, .tl-pl-price, .tl-card-go, .tl-type, .tl-note i, .tl-ico, .cl-active-chip, .cl-badge-inline, .cl-card-price .cl-price strong, .cl-chip, .cl-val-icon, .cl-list li i, .cl-file i, .cl-freset:hover, .cl-card-title a:hover, .apt-side-link, .apt-side-tel, .apt-side-tel a) { color: var(--f28-acc-text); }
.fam-cerceve .tl-opt:has(input:checked) { color: var(--f28-acc-text); }
.fam-cerceve .tl-ico { border-radius: 0; }
.f28-review .f28-stars i, .f28-review-top .f28-stars i { color: var(--primary); font-size: 15px; }

html.nav-auto .f28-header .f28-sill-bar { background: transparent; height: 0; overflow: visible; }
html.nav-auto .f28-sill-nav { min-height: 0 !important; padding: 0; }
html.nav-auto .f28-sill-tag { display: none; }
@media (max-width: 560px) {
  .f28-sill-in .site-logo { min-width: 0; flex: 1 1 auto; }
  .f28-sill-in .logo-text { min-width: 0; }
  .f28-sill-in .logo-text strong { white-space: normal; font-size: .98rem; line-height: 1.15; }
  .f28-sill-in .logo-text small { display: none; }
  .f28-sill-in .f28-actions { gap: 6px; }
  .f28-header .hdr-cart, .f28-header .f28-ibtn, .f28-header .f28-toggle { width: 42px; height: 42px; }
}
.f28-pl-sidebox .btn-outline { color: #fff; border-color: rgba(255, 255, 255, .3); } .f28-pl-sidebox .btn-outline:hover { background: #fff; color: var(--secondary); border-color: #fff; }
.f28-foot-call-t .f28-eyebrow { display: flex; width: fit-content; } .f28-foot-big { flex-wrap: wrap; }
