/* BLC İskele / Turkey Scaffolding kurumsal site (websitesi/uretici.py) */
/* Manrope (SIL Open Font License) - kendi sunucumuzdan, dış istek yok */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(/font/manrope-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(/font/manrope-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --kirmizi: #af2228;
  --kirmizi-koyu: #8e1a1f;
  --koyu: #1b1f23;
  --antrasit: #2a3036;
  --metin: #4b5259;
  --soluk: #7b828a;
  --cizgi: #e5e5e2;
  --gri: #f4f4f2;
  --beyaz: #fff;
  --golge: 0 10px 30px rgba(20, 24, 28, .08);
  --kose: 6px;
  --gen: 1240px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--metin);
  background: var(--beyaz); font-size: 16px; line-height: 1.65; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { color: var(--koyu); line-height: 1.2; margin: 0 0 .6em; font-weight: 800; letter-spacing: -.01em; }
h1, .h1 { font-size: clamp(2rem, 4.6vw, 3.6rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h2 em, h1 em { font-style: normal; color: var(--kirmizi); }
h3 { font-size: 1.12rem; }
p { margin: 0 0 1em; }
.kap { width: 100%; max-width: var(--gen); margin: 0 auto; padding: 0 20px; }
.kap.dar { max-width: 860px; }

/* düğmeler */
.dugme { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .85em 1.6em;
  border-radius: var(--kose); font-weight: 700; font-size: .95rem; border: 2px solid transparent; cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, transform .2s; font-family: inherit; line-height: 1.2; }
.dugme:hover { transform: translateY(-1px); }
.dugme-kirmizi { background: var(--kirmizi); color: #fff; }
.dugme-kirmizi:hover { background: var(--kirmizi-koyu); }
.dugme-koyu { background: var(--koyu); color: #fff; }
.dugme-koyu:hover { background: var(--kirmizi); }
.dugme-beyaz { background: #fff; color: var(--koyu); }
.dugme-beyaz:hover { background: var(--koyu); color: #fff; }
.dugme-cizgi { border-color: var(--koyu); color: var(--koyu); }
.dugme-cizgi:hover { background: var(--koyu); color: #fff; }
.dugme-cizgi-beyaz { border-color: rgba(255,255,255,.7); color: #fff; }
.dugme-cizgi-beyaz:hover { background: #fff; color: var(--koyu); }
.dugme.tam { width: 100%; margin-top: .6em; }
.dugme.kucuk { padding: .5em 1em; font-size: .85rem; }

/* üst şerit ve başlık */
.ust-serit { background: var(--koyu); color: #c9cdd1; font-size: .82rem; }
.ust-serit-ic { display: flex; justify-content: space-between; align-items: center; min-height: 38px; gap: 1rem; }
.ust-iletisim, .ust-sag { display: flex; gap: 1.4rem; align-items: center; }
.ust-serit a { display: inline-flex; align-items: center; gap: .45em; }
.ust-serit a:hover { color: #fff; }
.ust-serit svg { width: 14px; height: 14px; fill: currentColor; }
.ust-serit .dil { border: 1px solid rgba(255,255,255,.3); padding: .1em .6em; border-radius: 3px; font-weight: 700; }
.baslik { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--cizgi); transition: box-shadow .2s; }
.baslik.golgeli { box-shadow: 0 6px 20px rgba(0,0,0,.07); }
.baslik-ic { display: flex; align-items: center; gap: 1.5rem; min-height: 84px; }
.marka img { height: 58px; width: auto; }
.menu { margin-left: auto; }
.menu > ul { display: flex; list-style: none; margin: 0; padding: 0; gap: .2rem; }
.menu > ul > li { position: relative; }
.menu > ul > li > a { display: block; padding: 1.9rem .85rem; font-weight: 700; color: var(--koyu); font-size: .95rem;
  position: relative; }
.menu > ul > li > a::after { content: ""; position: absolute; left: .85rem; right: .85rem; bottom: 1.4rem; height: 2px;
  background: var(--kirmizi); transform: scaleX(0); transition: transform .2s; }
.menu > ul > li:hover > a::after, .menu > ul > li > a:focus::after { transform: scaleX(1); }
.acilir > a::before { content: ""; position: absolute; right: -.05rem; top: 50%; width: 5px; height: 5px;
  border-right: 2px solid var(--soluk); border-bottom: 2px solid var(--soluk); transform: translateY(-70%) rotate(45deg); }
.alt { position: absolute; top: 100%; left: 0; min-width: 240px; background: #fff; box-shadow: var(--golge);
  border-top: 3px solid var(--kirmizi); list-style: none; margin: 0; padding: .6rem 0; opacity: 0; visibility: hidden;
  transform: translateY(8px); transition: all .18s; }
.acilir:hover > .alt, .acilir:focus-within > .alt { opacity: 1; visibility: visible; transform: none; }
.alt li a { display: block; padding: .5rem 1.3rem; font-weight: 600; font-size: .92rem; color: var(--antrasit); }
.alt li a:hover { color: var(--kirmizi); background: var(--gri); }
.mega { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 1.5rem; padding: 1.4rem 1.6rem;
  left: 50%; transform: translate(-50%, 8px); width: max-content; max-width: 92vw; }
.acilir:hover > .mega, .acilir:focus-within > .mega { transform: translate(-50%, 0); }
.mega ul { list-style: none; margin: 0; padding: 0; }
.mega li a { padding: .3rem 0; background: none !important; }
.mega-baslik { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .08em; color: var(--kirmizi);
  text-transform: uppercase; margin-bottom: .5rem; }
.baslik-teklif { white-space: nowrap; }
.menu-dugmesi { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.menu-dugmesi span { display: block; height: 2px; background: var(--koyu); margin: 5px 0; transition: .2s; }

/* kahraman (ana sayfa) */
.kahraman { position: relative; height: min(86vh, 760px); min-height: 520px; overflow: hidden; background: var(--koyu); }
.slayt { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0;
  transition: opacity 1s ease; display: flex; align-items: center; }
.slayt::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(17,20,23,.86) 0%, rgba(17,20,23,.55) 50%, rgba(17,20,23,.15) 100%); }
.slayt.aktif { opacity: 1; z-index: 1; }
.slayt-ic { position: relative; color: #e8eaec; max-width: var(--gen); }
.slayt-ic > * { max-width: 680px; }
.slayt h1, .slayt .h1 { color: #fff; margin-bottom: .4em; }
.slayt p { font-size: 1.15rem; color: #d5d8db; }
.slayt .ust-baslik { color: #fff; }
.slayt .ust-baslik::before { background: var(--kirmizi); }
.slayt-dugmeler { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.6rem; }
.slayt.aktif .slayt-ic > * { animation: yuksel .9s both; }
.slayt.aktif .slayt-ic > *:nth-child(2) { animation-delay: .1s; }
.slayt.aktif .slayt-ic > *:nth-child(3) { animation-delay: .2s; }
.slayt.aktif .slayt-ic > *:nth-child(4) { animation-delay: .3s; }
@keyframes yuksel { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.slayt-noktalar { position: absolute; z-index: 2; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; }
.slayt-noktalar button { width: 34px; height: 4px; border: 0; background: rgba(255,255,255,.35); cursor: pointer; padding: 0; }
.slayt-noktalar button.aktif { background: var(--kirmizi); }

/* ortak bölümler */
.bolum { padding: clamp(56px, 8vw, 104px) 0; }
.bolum.ilk { padding-top: 60px; }
.bolum-gri { background: var(--gri); }
.bolum-koyu { background: var(--koyu); color: #c9cdd1; }
.bolum-koyu h2, .bolum-koyu h3 { color: #fff; }
.ust-baslik { display: inline-flex; align-items: center; gap: .6em; font-size: .78rem; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--kirmizi); margin-bottom: 1rem; }
.ust-baslik::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.bolum-koyu .ust-baslik { color: #ff6b6b; }
.bolum-basi { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 2.5rem; flex-wrap: wrap; }
.bolum-basi h2 { margin: 0; max-width: 720px; }
.iki-sutun { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.genis-metin { font-size: 1.06rem; max-width: 900px; }
.ara-baslik { margin-top: 2rem; font-size: 1.3rem; }
.not-metni { color: var(--soluk); margin-top: 1.5rem; font-size: .95rem; }

.sayfa-basi { position: relative; background-size: cover; background-position: center; padding: clamp(80px, 12vw, 150px) 0 clamp(48px, 7vw, 80px);
  color: #e3e5e7; }
.sayfa-basi::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,20,23,.9), rgba(17,20,23,.55)); }
.sayfa-basi .kap { position: relative; }
.sayfa-basi h1 { color: #fff; margin-bottom: .3em; }
.sayfa-basi p { font-size: 1.12rem; max-width: 720px; }
.sayfa-basi.buyuk { min-height: 60vh; display: flex; align-items: center; }
.sayfa-basi .dugme { margin: 1rem .6rem 0 0; }
.kirinti { font-size: .85rem; margin-bottom: 1rem; color: #b8bcc0; }
.kirinti a:hover { color: #fff; }
.kirinti span { margin: 0 .35em; opacity: .5; }

/* rakamlar */
.rakam-seridi { background: var(--kirmizi); color: #fff; }
.rakam-izgara { display: grid; grid-template-columns: repeat(4, 1fr); }
.rakam { padding: 2.2rem 1.2rem; border-left: 1px solid rgba(255,255,255,.18); }
.rakam:first-child { border-left: 0; }
.rakam strong { display: block; font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 800; line-height: 1; }
.rakam small { font-size: .9rem; margin-left: .3em; font-weight: 700; opacity: .85; }
.rakam span { display: block; margin-top: .55rem; font-size: .92rem; opacity: .9; }

/* fotoğraf yığını */
.foto-yigini { position: relative; padding: 0 12% 18% 0; }
.foto-yigini .foto-buyuk { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--kose); }
.foto-yigini .foto-kucuk { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1; object-fit: cover;
  border: 8px solid #fff; border-radius: var(--kose); box-shadow: var(--golge); }
.deneyim-rozeti { position: absolute; left: 24px; bottom: 8%; background: var(--kirmizi); color: #fff; padding: 1.1rem 1.4rem;
  border-radius: var(--kose); display: flex; gap: .7rem; align-items: center; box-shadow: var(--golge); }
.deneyim-rozeti strong { font-size: 2.4rem; line-height: 1; }
.deneyim-rozeti span { font-size: .8rem; font-weight: 700; line-height: 1.25; }
.foto-cerceve { position: relative; }
.foto-cerceve img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--kose); }
.gunluk { position: absolute; left: -24px; right: 24px; bottom: -24px; background: var(--koyu); color: #c9cdd1;
  display: grid; grid-template-columns: repeat(3, 1fr); border-radius: var(--kose); overflow: hidden; }
.gunluk div { padding: 1.1rem; border-left: 1px solid rgba(255,255,255,.08); }
.gunluk strong { display: block; color: #fff; font-size: 1.5rem; line-height: 1.1; }
.gunluk small { color: #ff6b6b; font-size: .8rem; }
.gunluk span { font-size: .8rem; }

/* listeler */
.tik-listesi { list-style: none; padding: 0; margin: 1.2rem 0 1.8rem; display: grid; gap: .7rem; }
.tik-listesi.iki { grid-template-columns: 1fr 1fr; }
.tik-listesi li { position: relative; padding-left: 1.9rem; }
.tik-listesi li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%;
  background: var(--kirmizi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat; }
.tik-listesi strong { color: var(--koyu); }
.numarali { padding-left: 1.3rem; margin: 0; }
.numarali li { margin-bottom: .4rem; }
.numarali li::marker { color: var(--kirmizi); font-weight: 800; }

/* kartlar */
.kart-izgara { display: grid; gap: 24px; }
.kart-izgara.uc { grid-template-columns: repeat(3, 1fr); }
.kart-izgara.dort { grid-template-columns: repeat(4, 1fr); }
.foto-kart { position: relative; display: block; border-radius: var(--kose); overflow: hidden; aspect-ratio: 4/5; background: var(--koyu); }
.foto-kart img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s, opacity .3s; opacity: .85; }
.foto-kart::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(17,20,23,.92)); }
.foto-kart-yazi { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 1.6rem; color: #d5d8db; }
.foto-kart h3 { color: #fff; font-size: 1.35rem; }
.foto-kart p { font-size: .93rem; margin-bottom: .7rem; }
.foto-kart:hover img { transform: scale(1.06); opacity: 1; }
.ok { font-weight: 800; font-size: .88rem; color: var(--kirmizi); }
.foto-kart .ok { color: #ff7a7a; }
.grup-baglantilari { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2.5rem;
  padding-top: 2rem; border-top: 1px solid var(--cizgi); }
.grup-baglantilari p { font-size: .92rem; }
.grup-baglantilari a { font-weight: 600; color: var(--antrasit); }
.grup-baglantilari a:hover { color: var(--kirmizi); }
.bilgi-karti { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1.8rem; }
.bilgi-karti .cizgi { display: block; width: 30px; height: 3px; background: var(--kirmizi); margin-bottom: 1.1rem; }
.bilgi-karti p { font-size: .94rem; margin: 0; }

.hizmet-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08); }
.hizmet-karti { background: var(--koyu); padding: 2.2rem 2rem; transition: background .25s; }
.hizmet-karti:hover { background: var(--antrasit); }
.hizmet-karti p { margin: 0; font-size: .95rem; }
.hizmet-no { display: block; font-weight: 800; color: var(--kirmizi); margin-bottom: 1rem; font-size: .9rem; }
.bolum-koyu .hizmet-no { color: #ff6b6b; }

.stok-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 1.8rem; }
.stok { border: 1px solid var(--cizgi); border-top: 3px solid var(--kirmizi); padding: 1.2rem; border-radius: 0 0 var(--kose) var(--kose); background: #fff; }
.stok strong { display: block; font-size: 1.7rem; color: var(--koyu); line-height: 1.1; }
.stok strong small { font-size: .85rem; color: var(--kirmizi); margin-left: .25em; }
.stok h3 { font-size: .95rem; margin: .5rem 0 .3rem; }
.stok p { font-size: .82rem; margin: 0; color: var(--soluk); }

/* projeler */
.proje-mozaik { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; gap: 14px; }
.proje-karo { position: relative; overflow: hidden; border-radius: var(--kose); background: var(--koyu); }
.proje-karo:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.proje-karo:nth-child(4) { grid-column: span 2; }
.proje-karo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.proje-karo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(17,20,23,.85)); }
.proje-karo div { position: absolute; z-index: 1; left: 1.2rem; right: 1.2rem; bottom: 1rem; color: #d5d8db; font-size: .85rem; }
.proje-karo h3 { color: #fff; margin: 0 0 .2rem; }
.proje-karo:hover img { transform: scale(1.05); }
.proje-sekme { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; }
.proje-sekme a { border: 1px solid var(--cizgi); padding: .5em 1em; border-radius: 99px; font-weight: 700; font-size: .88rem; }
.proje-sekme a:hover { border-color: var(--kirmizi); color: var(--kirmizi); }
.proje { margin-bottom: 4rem; scroll-margin-top: 110px; }
.proje-basi { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.2rem; flex-wrap: wrap; }
.proje-basi h2 { margin: 0; font-size: 1.6rem; }
.proje-basi span { color: var(--soluk); }

/* galeri */
.galeri { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 1.8rem; }
.galeri.uc { grid-template-columns: repeat(3, 1fr); }
.galeri-oge { display: block; overflow: hidden; border-radius: var(--kose); aspect-ratio: 4/3; background: var(--gri); }
.galeri-oge.genis { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.galeri-oge img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.galeri-oge:hover img { transform: scale(1.05); }
.isik-kutusu { position: fixed; inset: 0; z-index: 100; background: rgba(10,12,14,.94); display: flex; align-items: center;
  justify-content: center; padding: 4vh 4vw; }
.isik-kutusu img { max-height: 92vh; max-width: 92vw; object-fit: contain; border-radius: 4px; }
.isik-kutusu button { position: absolute; background: rgba(255,255,255,.1); color: #fff; border: 0; width: 52px; height: 52px;
  font-size: 1.6rem; cursor: pointer; border-radius: 50%; }
.isik-kutusu .kapat { top: 20px; right: 20px; }
.isik-kutusu .onceki { left: 20px; top: 50%; }
.isik-kutusu .sonraki { right: 20px; top: 50%; }

/* logolar */
.logo-izgara { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.logo-izgara.kucuk { grid-template-columns: repeat(9, 1fr); gap: 10px; margin-top: 14px; }
.logo-kutu { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); aspect-ratio: 2/1; display: flex;
  align-items: center; justify-content: center; padding: 12%; transition: border-color .2s, box-shadow .2s; }
.logo-izgara.kucuk .logo-kutu { padding: 10%; }
.logo-kutu img { max-height: 100%; width: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: .3s; }
.logo-kutu:hover { border-color: #d0d0cc; box-shadow: var(--golge); }
.logo-kutu:hover img { filter: none; opacity: 1; }
.secilmis-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 2rem; }
.secilmis { background: #fff; border-left: 3px solid var(--kirmizi); border-radius: var(--kose); padding: 1.4rem; display: flex; gap: 1.4rem; }
.secilmis-logo { flex: 0 0 120px; height: 60px; display: flex; align-items: center; }
.secilmis-logo img { max-height: 60px; object-fit: contain; }
.secilmis ul { margin: 0; padding-left: 1.1rem; font-size: .93rem; }
.tesis-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 2rem; }
.tesis { border: 1px solid var(--cizgi); border-top: 2px solid var(--kirmizi); border-radius: var(--kose); padding: 1rem; text-align: center; }
.tesis-logo { height: 54px; display: flex; gap: 10px; align-items: center; justify-content: center; margin-bottom: .6rem; }
.tesis-logo img { max-height: 48px; max-width: 46%; object-fit: contain; }
.tesis-logo img:only-child { max-width: 80%; }
.tesis-logo span { font-weight: 800; color: #c9c9c4; text-transform: uppercase; }
.tesis h3 { font-size: .9rem; margin: 0; }
.tesis > span { font-size: .75rem; color: var(--kirmizi); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.tesis.koyu { background: var(--koyu); border-color: var(--koyu); color: #c9cdd1; display: flex; flex-direction: column; justify-content: center; }
.tesis.koyu h3 { color: #fff; font-size: 1.8rem; }
.tesis.koyu span { color: #c9cdd1; text-transform: none; letter-spacing: 0; font-weight: 500; }

/* ürün sayfası */
.urun-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.urun-yan { position: sticky; top: 110px; display: grid; gap: 18px; }
.yan-kart { border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1.6rem; background: #fff; }
.yan-kart h3 { font-size: 1.05rem; }
.yan-kart.koyu { background: var(--koyu); border-color: var(--koyu); color: #c9cdd1; }
.yan-kart.koyu h3 { color: #fff; }
.yan-kart.koyu p { font-size: .92rem; }
.teknik { margin: 0; }
.teknik div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--cizgi); font-size: .92rem; }
.teknik div:last-child { border-bottom: 0; }
.teknik dt { color: var(--soluk); }
.teknik dd { margin: 0; color: var(--koyu); font-weight: 700; text-align: right; }
.yan-liste { list-style: none; margin: 0; padding: 0; }
.yan-liste li a { display: block; padding: .55rem 0; border-bottom: 1px solid var(--cizgi); font-weight: 600; font-size: .93rem; }
.yan-liste li:last-child a { border-bottom: 0; }
.yan-liste li a:hover, .yan-liste li.secili a { color: var(--kirmizi); }
.buyuk-tel { font-size: 1.5rem; font-weight: 800; color: #fff; }
.icerik-foto { border-radius: var(--kose); margin-top: 1rem; width: 100%; }
.parca-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 2rem; }
.parca { background: #fff; border-radius: var(--kose); border: 1px solid var(--cizgi); overflow: hidden; display: flex; flex-direction: column; }
.parca-gorsel { aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; padding: 1rem; border-bottom: 1px solid var(--cizgi); }
.parca-gorsel img { max-height: 100%; object-fit: contain; }
.parca-yazi { padding: 1.1rem 1.2rem 1.2rem; }
.parca h3 { font-size: 1rem; margin: 0; }
.parca-en { display: block; font-size: .8rem; color: var(--soluk); margin-bottom: .6rem; }
.parca table { width: 100%; border-collapse: collapse; font-size: .85rem; margin-top: .5rem; }
.parca th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--kirmizi); padding: .3rem 0; border-bottom: 2px solid var(--cizgi); }
.parca td { padding: .3rem 0; border-bottom: 1px solid var(--cizgi); color: var(--koyu); }
.parca td small { color: var(--soluk); }
.parca .sag { text-align: right; }
.genel-cizim { margin: 2rem 0; align-items: start; }
.cizim { background: var(--gri); border-radius: var(--kose); padding: 1rem; }
.adim-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 2rem 0; }
.adim { position: relative; aspect-ratio: 1; background: var(--gri); }
.adim img { object-fit: contain; }
.adim span { position: absolute; left: 10px; top: 10px; background: var(--kirmizi); color: #fff; font-weight: 800; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; }
.adim-listesi { counter-reset: adim; list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 2rem; }
.adim-listesi li { counter-increment: adim; position: relative; padding-left: 2.6rem; }
.adim-listesi li::before { content: counter(adim); position: absolute; left: 0; top: 0; width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 2px solid var(--kirmizi); color: var(--kirmizi); font-weight: 800; display: grid; place-items: center; font-size: .8rem; }
.not-kutusu { background: var(--gri); border-left: 3px solid var(--kirmizi); padding: 1.6rem 1.8rem; border-radius: var(--kose); margin-top: 2rem; }
.not-kutusu ul { margin: 0; padding-left: 1.1rem; }
.not-kutusu li { margin-bottom: .35rem; font-size: .94rem; }

.urun-karti { display: block; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.urun-karti:hover { box-shadow: var(--golge); transform: translateY(-3px); }
.urun-karti-foto { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--gri); }
.urun-karti-foto img { width: 100%; height: 100%; object-fit: cover; }
.etiket { position: absolute; left: 12px; top: 12px; background: var(--kirmizi); color: #fff; font-weight: 800; font-size: .72rem; padding: .25em .6em; border-radius: 3px; letter-spacing: .05em; }
.urun-karti-yazi { padding: 1.3rem 1.4rem 1.4rem; }
.urun-karti-yazi p { font-size: .92rem; }

/* kataloglar: kapak görünümlü kartlar */
.katalog-izgara { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 2rem 0 1rem; }
.katalog-karti { display: block; border-radius: var(--kose); overflow: hidden; background: #fff; border: 1px solid var(--cizgi);
  transition: box-shadow .25s, transform .25s; color: var(--metin); }
.katalog-karti:hover { box-shadow: 0 18px 40px rgba(20,24,28,.16); transform: translateY(-4px); }
.katalog-kapak { position: relative; aspect-ratio: 210/297; background-size: cover; background-position: center; }
.katalog-kapak::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,20,23,.1) 30%, rgba(17,20,23,.92)); }
.katalog-kapak::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--kirmizi); }
.katalog-logo { position: absolute; left: 12px; top: 12px; width: 44px; height: auto; background: #fff; padding: 4px; border-radius: 3px; }
.katalog-kapak-yazi { position: absolute; left: 14px; right: 14px; bottom: 18px; color: #fff; }
.katalog-kapak-yazi span { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .18em; color: #ff8a8a; margin-bottom: .3rem; }
.katalog-kapak-yazi strong { display: block; font-size: 1.05rem; line-height: 1.2; }
.katalog-bilgi { padding: 1rem 1.1rem 1.1rem; }
.katalog-bilgi h3 { font-size: .98rem; margin: .3rem 0 .5rem; }
.katalog-karti.ana { border-color: var(--kirmizi); box-shadow: 0 0 0 2px rgba(175,34,40,.15); }
.pdf { font-size: .7rem; font-weight: 800; color: var(--kirmizi); letter-spacing: .05em; }
.katalog-seridi { display: grid; grid-template-columns: 260px 1fr; gap: clamp(32px, 6vw, 72px); align-items: center; }
.katalog-seridi .dugme { margin: .4rem .5rem 0 0; }
.bolum-koyu .katalog-karti { border-color: transparent; }

/* ürün (sistem) sayfası */
.urun-kahraman { position: relative; background-size: cover; background-position: center; color: #e3e5e7;
  padding: clamp(70px, 10vw, 130px) 0 clamp(48px, 6vw, 72px); }
.urun-kahraman::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,20,23,.93) 0%, rgba(17,20,23,.7) 55%, rgba(17,20,23,.35)); }
.urun-kahraman .kap { position: relative; }
.urun-kahraman h1 { color: #fff; max-width: 820px; margin-bottom: .35em; }
.urun-kahraman .ust-baslik { color: #ff8a8a; }
.urun-slogan { font-size: 1.2rem; max-width: 680px; }
.cipler { list-style: none; padding: 0; margin: 1.6rem 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cipler li { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); padding: .5em 1em; border-radius: 99px; font-size: .88rem; }
.cipler strong { color: #fff; margin-right: .2em; }
.cipler.acik li { border-color: var(--cizgi); background: var(--gri); color: var(--antrasit); }
.cipler.acik strong { color: var(--kirmizi); }
.alt-menu { position: sticky; top: 84px; z-index: 40; background: #fff; border-bottom: 1px solid var(--cizgi); }
.alt-menu .kap { display: flex; gap: 2rem; overflow-x: auto; scrollbar-width: none; }
.alt-menu a { padding: 1rem 0; font-weight: 700; font-size: .92rem; white-space: nowrap; border-bottom: 2px solid transparent; }
.alt-menu a:hover { color: var(--kirmizi); border-bottom-color: var(--kirmizi); }
.bolum-not { color: var(--soluk); margin: 0; font-size: .92rem; }
.eleman-izgara { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.eleman-karti { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1rem; display: flex; flex-direction: column;
  transition: box-shadow .2s, border-color .2s, transform .2s; }
.eleman-karti:hover { border-color: var(--kirmizi); box-shadow: var(--golge); transform: translateY(-2px); }
.eleman-gorsel { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; margin-bottom: .8rem; }
.eleman-gorsel img { width: 100%; height: 100%; object-fit: contain; }
.eleman-karti h3 { font-size: .92rem; margin: 0 0 .25rem; }
.eleman-ozet { font-size: .78rem; color: var(--soluk); margin-top: auto; }
.mini-sistemler { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 1.5rem; }
.mini-sistem { position: relative; border-radius: var(--kose); overflow: hidden; aspect-ratio: 4/3; background: var(--koyu); }
.mini-sistem img { width: 100%; height: 100%; object-fit: cover; opacity: .7; transition: opacity .3s, transform .5s; }
.mini-sistem span { position: absolute; left: .9rem; right: .9rem; bottom: .8rem; color: #fff; font-weight: 800; font-size: .9rem; line-height: 1.25; }
.mini-sistem:hover img { opacity: .9; transform: scale(1.05); }

/* eleman (ürün) sayfası */
.eleman-ust { padding-top: 40px; }
.kirinti.koyu { color: var(--soluk); margin-bottom: 1.8rem; }
.kirinti.koyu a:hover { color: var(--kirmizi); }
.eleman-duzen { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 6vw, 72px); align-items: start; }
.eleman-buyuk { position: sticky; top: 110px; background: var(--gri); border-radius: var(--kose); aspect-ratio: 1; display: flex;
  align-items: center; justify-content: center; padding: 6%; }
.eleman-buyuk img { max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.eleman-baslik { font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin-bottom: .2rem; }
.eleman-ikinci { display: block; color: var(--soluk); margin-bottom: 1rem; }
.eleman-duzen .cipler { margin: 0 0 1.2rem; }
.olcu-tablosu { margin: 1.4rem 0; }
.olcu-tablosu h3 { font-size: 1rem; }
.olcu-tablosu h3 a { color: var(--kirmizi); }
.olcu-tablosu table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.olcu-tablosu th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #fff; background: var(--koyu); padding: .65rem .8rem; }
.olcu-tablosu td { padding: .6rem .8rem; border-bottom: 1px solid var(--cizgi); color: var(--koyu); }
.olcu-tablosu tbody tr:nth-child(even) td { background: var(--gri); }
.olcu-tablosu .sag { text-align: right; font-weight: 700; }
.olcu-tablosu .kod { color: var(--soluk); font-size: .82rem; font-variant-numeric: tabular-nums; }
.olcu-tablosu small { color: var(--soluk); }
.eleman-sistemler { font-size: .92rem; }
.eleman-sistemler a { color: var(--kirmizi); font-weight: 700; }

/* sık sorulan sorular */
.sss { margin-top: 1.5rem; display: grid; gap: 10px; }
.sss details { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 0 1.3rem; }
.sss summary { cursor: pointer; list-style: none; padding: 1.1rem 2rem 1.1rem 0; font-weight: 800; color: var(--koyu); position: relative; }
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after { content: "+"; position: absolute; right: 0; top: .9rem; font-size: 1.4rem; color: var(--kirmizi); font-weight: 600; }
.sss details[open] summary::after { content: "–"; }
.sss details p { margin: 0 0 1.2rem; }

/* sertifikalar, lokasyonlar */
.rozet-seridi { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.rozet img { height: 64px; width: auto; }
.sertifika-izgara { margin-top: 2rem; }
.sertifika { border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1.6rem; text-align: center; }
.sertifika-gorsel { height: 90px; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.sertifika-gorsel img { max-height: 90px; width: auto; }
.sertifika p { font-size: .9rem; margin: 0; }
.lokasyon-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 1.5rem; }
.lokasyon { display: flex; gap: 1rem; background: #fff; border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1.3rem; font-size: .9rem; }
.lokasyon h3 { margin: 0; font-size: 1.05rem; }
.lokasyon p { margin: .4rem 0; }
.lokasyon a { color: var(--kirmizi); font-weight: 600; }
.lok-tur { font-size: .72rem; font-weight: 800; color: var(--kirmizi); text-transform: uppercase; letter-spacing: .06em; }
.nokta { flex: 0 0 14px; height: 14px; border-radius: 50%; background: var(--kirmizi); box-shadow: 0 0 0 4px rgba(175,34,40,.15); margin-top: .35rem; }

/* iletişim ve formlar */
.iletisim-duzen { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 5vw, 64px); align-items: start; }
.iletisim-kartlari { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 1.5rem; }
.iletisim-karti { border: 1px solid var(--cizgi); border-radius: var(--kose); padding: 1.2rem; transition: border-color .2s; }
a.iletisim-karti:hover { border-color: var(--kirmizi); }
.iletisim-karti span { display: block; font-size: .75rem; font-weight: 800; color: var(--kirmizi); text-transform: uppercase; letter-spacing: .06em; }
.iletisim-karti strong { display: block; color: var(--koyu); margin-top: .3rem; word-break: break-word; }
.iletisim-karti strong.adres { font-size: .9rem; font-weight: 600; }
.iletisim-karti small { color: var(--soluk); }
.harita { display: inline-block; margin-top: 1.2rem; font-weight: 700; color: var(--kirmizi); }
.form-kutusu { background: var(--gri); border-radius: var(--kose); padding: clamp(1.4rem, 3vw, 2.4rem); }
.form fieldset { border: 0; padding: 0; margin: 0 0 1.6rem; }
.form legend { font-weight: 800; color: var(--koyu); font-size: 1.1rem; margin-bottom: 1rem; }
.alanlar { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.alanlar label { display: flex; flex-direction: column; gap: .35rem; font-size: .85rem; font-weight: 700; color: var(--antrasit); }
.alanlar label.tam { grid-column: 1 / -1; }
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number], .form select, .form textarea {
  width: 100%; font: inherit; font-weight: 500; font-size: .95rem; padding: .75em .9em; border: 1px solid #d6d6d2; border-radius: 4px;
  background: #fff; color: var(--koyu); transition: border-color .2s, box-shadow .2s; }
.form input:focus, .form select:focus, .form textarea:focus { outline: 0; border-color: var(--kirmizi); box-shadow: 0 0 0 3px rgba(175,34,40,.12); }
.form .hatali { border-color: var(--kirmizi) !important; }
.secim-dugmeleri { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.1rem; }
.secim-dugmeleri input { position: absolute; opacity: 0; pointer-events: none; }
.secim-dugmeleri span { display: inline-block; padding: .6em 1.1em; border: 1px solid #d6d6d2; border-radius: 99px; font-weight: 700; font-size: .9rem; cursor: pointer; background: #fff; }
.secim-dugmeleri input:checked + span { background: var(--koyu); border-color: var(--koyu); color: #fff; }
.secim-dugmeleri input:focus-visible + span { outline: 2px solid var(--kirmizi); outline-offset: 2px; }
.onay { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; margin-top: 1rem; }
.onay input { margin-top: .25rem; accent-color: var(--kirmizi); }
.onay a, .form-not a { color: var(--kirmizi); font-weight: 700; }
.form-not { font-size: .82rem; color: var(--soluk); margin: .6rem 0 0; }
.gizli-alan { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-sonuc { margin: 0 0 1rem; font-weight: 700; }
.form-sonuc.hata { color: var(--kirmizi); }
.form-sonuc.tamam { color: #1d7a3e; }
.form button[disabled] { opacity: .6; cursor: wait; }

/* çağrı şeridi ve alt bilgi */
.cta { background: var(--kirmizi); color: #fbe9ea; padding: 56px 0; }
.cta-ic { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.cta h2 { color: #fff; margin: 0 0 .3rem; font-size: clamp(1.4rem, 2.6vw, 2rem); }
.cta p { margin: 0; max-width: 640px; }
.cta-dugmeler { display: flex; gap: .8rem; flex-wrap: wrap; }
.alt-bilgi { background: #14171a; color: #9aa0a6; font-size: .92rem; padding-top: 72px; }
.alt-izgara { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 48px; }
.alt-logo { height: 64px; width: auto; background: #fff; padding: 6px 10px; border-radius: 4px; margin-bottom: 1.2rem; }
.alt-unvan { color: #fff; font-weight: 700; }
.alt-not { font-size: .82rem; }
.alt-bilgi h3 { color: #fff; font-size: .95rem; margin-bottom: 1.1rem; }
.alt-bilgi ul { list-style: none; margin: 0; padding: 0; }
.alt-bilgi li { margin-bottom: .5rem; }
.alt-bilgi a:hover { color: #fff; }
.alt-son { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.08); padding: 22px 20px; font-size: .82rem; }
.wa { position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 56px; height: 56px; border-radius: 50%; background: #25d366;
  display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: transform .2s; }
.wa:hover { transform: scale(1.08); }
.wa svg { width: 30px; height: 30px; fill: #fff; }

/* görünce beliren öğeler */
.belir { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.belir.gorundu { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .belir { opacity: 1; transform: none; } * { animation: none !important; transition: none !important; } }

/* duyarlı */
@media (max-width: 1100px) {
  .menu > ul > li > a { padding: 1.9rem .55rem; font-size: .9rem; }
  .logo-izgara.kucuk { grid-template-columns: repeat(6, 1fr); }
  .alt-izgara { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .menu-dugmesi { display: block; }
  .baslik-teklif { margin-left: auto; }
  .menu { position: fixed; inset: 0 0 0 auto; width: min(380px, 88vw); background: #fff; z-index: 90; padding: 90px 24px 32px;
    transform: translateX(100%); transition: transform .3s; overflow-y: auto; box-shadow: -20px 0 40px rgba(0,0,0,.15); margin: 0; }
  .menu.acik { transform: none; }
  .menu > ul { flex-direction: column; gap: 0; }
  .menu > ul > li > a { padding: .9rem 0; border-bottom: 1px solid var(--cizgi); font-size: 1rem; }
  .menu > ul > li > a::after { display: none; }
  .alt, .mega { position: static; opacity: 1; visibility: visible; transform: none !important; box-shadow: none; border: 0;
    padding: .3rem 0 .6rem .8rem; display: block; width: auto; max-width: none; min-width: 0; }
  .mega-sutun { margin-bottom: .6rem; }
  .menu-dugmesi { position: relative; z-index: 95; }
  body.menu-acik { overflow: hidden; }
  body.menu-acik .menu-dugmesi span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.menu-acik .menu-dugmesi span:nth-child(2) { opacity: 0; }
  body.menu-acik .menu-dugmesi span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .iki-sutun, .urun-duzen, .iletisim-duzen { grid-template-columns: 1fr; }
  .urun-yan { position: static; }
  .kart-izgara.uc, .hizmet-izgara, .parca-izgara, .lokasyon-izgara { grid-template-columns: 1fr 1fr; }
  .kart-izgara.dort, .katalog-izgara, .tesis-izgara, .adim-izgara { grid-template-columns: 1fr 1fr; }
  .grup-baglantilari { grid-template-columns: 1fr; }
  .eleman-izgara, .mini-sistemler { grid-template-columns: repeat(3, 1fr); }
  .eleman-duzen, .katalog-seridi { grid-template-columns: 1fr; }
  .katalog-seridi-kart { max-width: 260px; }
  .eleman-buyuk { position: static; max-width: 520px; }
  .alt-menu { top: 68px; }
  .rakam-izgara { grid-template-columns: 1fr 1fr; }
  .rakam:nth-child(3) { border-left: 0; }
  .rakam:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }
  .logo-izgara { grid-template-columns: repeat(4, 1fr); }
  .logo-izgara.kucuk { grid-template-columns: repeat(4, 1fr); }
  .proje-mozaik { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; }
  .galeri { grid-template-columns: repeat(3, 1fr); }
  .secilmis-izgara { grid-template-columns: 1fr; }
  .gunluk { position: static; margin-top: 12px; }
  .ust-sag { display: none; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .kap { padding: 0 16px; }
  .ust-serit { display: none; }
  .baslik-ic { min-height: 68px; gap: .8rem; }
  .marka img { height: 46px; }
  .baslik-teklif { padding: .6em 1em; font-size: .85rem; }
  .kahraman { height: 78vh; min-height: 480px; }
  .slayt p { font-size: 1rem; }
  .kart-izgara.uc, .kart-izgara.dort, .hizmet-izgara, .parca-izgara, .lokasyon-izgara, .stok-izgara, .tesis-izgara,
  .katalog-izgara, .alanlar, .iletisim-kartlari, .tik-listesi.iki, .adim-listesi, .alt-izgara { grid-template-columns: 1fr; }
  .adim-izgara, .eleman-izgara, .mini-sistemler, .katalog-izgara { grid-template-columns: 1fr 1fr; }
  .logo-izgara, .logo-izgara.kucuk { grid-template-columns: repeat(3, 1fr); }
  .urun-slogan { font-size: 1.05rem; }
  .olcu-tablosu table { font-size: .85rem; }
  .galeri, .galeri.uc { grid-template-columns: 1fr 1fr; }
  .galeri-oge.genis { grid-column: span 2; grid-row: auto; aspect-ratio: 4/3; }
  .proje-mozaik { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .proje-karo:nth-child(n) { grid-column: auto; grid-row: auto; }
  .foto-kart { aspect-ratio: 4/3; }
  .foto-yigini { padding: 0 8% 14% 0; }
  .deneyim-rozeti { left: 12px; padding: .8rem 1rem; }
  .deneyim-rozeti strong { font-size: 1.8rem; }
  .gunluk { grid-template-columns: 1fr; }
  .secilmis { flex-direction: column; }
  .cta-dugmeler, .cta-dugmeler .dugme { width: 100%; }
  .wa { right: 14px; bottom: 14px; width: 50px; height: 50px; }
}
