/* elifv2 — elifsoydan.com.tr (koyu zemin, gül kırmızısı vurgu; Syne + Didact Gothic, Google Fonts açık lisans) */
:root {
	--es-zemin: #0c0c0c;
	--es-koyu: #191919;
	--es-kart: #000;
	--es-vurgu: #c44953;
	--es-vurgu-acik: rgba(196, 73, 83, .2);
	--es-vurgu-top: rgba(196, 73, 83, .75);
	--es-yazi: #ddd;
	--es-beyaz: #fff;
	--es-baslik-font: 'Syne', 'Helvetica Neue', Arial, sans-serif;
	--es-govde-font: 'Didact Gothic', 'Helvetica Neue', Arial, sans-serif;
	--es-yay: cubic-bezier(.17, .67, 0, 1.01);
	--es-ziplama: cubic-bezier(.68, -.55, .265, 1.55);
	--es-kap: 1140px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--es-zemin); color: var(--es-yazi); font-family: var(--es-govde-font); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--es-beyaz); text-decoration: none; }
h1, h2, h3, h4, h5, h6 { font-family: var(--es-baslik-font); font-weight: 700; color: var(--es-beyaz); line-height: 1.2; margin: 0 0 15px; }
p { margin: 0 0 15px; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--es-vurgu); outline-offset: 3px; }
.es-kap { width: 100%; max-width: var(--es-kap); margin: 0 auto; padding: 0 15px; }
.es-gizli, .es-atla:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.es-atla:focus { position: fixed; top: 10px; left: 10px; z-index: 2000; background: var(--es-vurgu); padding: 8px 14px; border-radius: 4px; }

/* ---------- yükleme ekranı ---------- */
.es-yukleme { position: fixed; inset: 0; z-index: 1500; background: var(--es-zemin); display: grid; place-items: center; transition: opacity .4s ease .1s, visibility 0s linear .5s; }
.es-yukleme.is-bitti { opacity: 0; visibility: hidden; }
.es-yukleme-ic { position: relative; width: 120px; height: 120px; display: grid; place-items: center; }
.es-yukleme-ic img { width: 100px; position: relative; z-index: 1; }
.es-yukleme-halka { position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(196, 73, 83, .06); }
.es-yukleme-yay { position: absolute; left: 0; top: 0; width: 50px; height: 120px; overflow: hidden; transform-origin: 60px 60px; -webkit-mask-image: linear-gradient(#fff, rgba(255, 255, 255, .05)); mask-image: linear-gradient(#fff, rgba(255, 255, 255, .05)); animation: es-don 1s linear infinite; }
.es-yukleme-yay span { display: block; width: 120px; height: 120px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--es-vurgu); }
@keyframes es-don { to { transform: rotate(360deg); } }

/* ---------- imleç ---------- */
.es-imlec { position: fixed; left: -38px; top: -38px; width: 76px; height: 76px; pointer-events: none; z-index: 1400; mix-blend-mode: difference; display: none; will-change: transform; }
.es-imlec::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #fff; border: 1px solid #fff; transform: scale(.15); transition: transform .15s ease, background-color .15s ease, border-color .15s ease; }
.es-imlec::after { content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .15s; background: center / 26px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8-4 4 4 4M18 8l4 4-4 4M2 12h20'/%3E%3C/svg%3E"); }
.es-imlec.is-surukle { mix-blend-mode: normal; }
.es-imlec.is-surukle::before { transform: scale(1); background: var(--es-vurgu); border-color: transparent; }
.es-imlec.is-surukle::after { opacity: 1; }
@media (hover: hover) and (pointer: fine) { .es-imlec.is-hazir { display: block; } }

/* ---------- üst menü ---------- */
.es-ust { position: relative; z-index: 99; height: 100px; }
.es-ust-ic { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.es-logo img { width: 250px; transition: width .4s; }
.es-menu-kutu { display: flex; align-items: center; gap: 40px; }
.es-menu > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.es-menu > ul > li { position: relative; }
.es-menu > ul > li > a, .es-menu > ul > li > button { display: inline-flex; align-items: center; gap: 3px; font-family: var(--es-baslik-font); font-weight: 700; font-size: 16px; color: var(--es-beyaz); padding: 10px 10px; transition: color .4s; white-space: nowrap; }
.es-menu > ul > li > a:hover, .es-menu > ul > li > button:hover, .es-menu > ul > li.is-aktif > a, .es-menu > ul > li.is-aktif > button { color: var(--es-vurgu); }
.es-ok-asagi { width: 12px; height: 12px; }
.es-acilir > ul { list-style: none; margin: 0; padding: 18px 25px; position: absolute; left: 0; top: 100%; min-width: 230px; background: var(--es-koyu); border-radius: 5px; box-shadow: 0 16px 50px rgba(0, 0, 0, .35); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s, transform .3s, visibility 0s linear .3s; }
.es-acilir:hover > ul, .es-acilir:focus-within > ul { opacity: 1; visibility: visible; transform: translateY(0); transition: opacity .3s, transform .3s; }
.es-acilir > ul a { display: block; padding: 8px 0; color: var(--es-beyaz); transition: color .4s, padding .5s ease; }
.es-acilir > ul a:hover, .es-acilir > ul a[aria-current] { color: var(--es-vurgu); padding-left: 5px; }
.es-ust-tel { display: flex; align-items: center; gap: 12px; }
.es-ust-tel-simge svg { width: 30px; height: 30px; color: var(--es-vurgu); }
.es-ust-tel-yazi small { display: block; font-family: var(--es-baslik-font); font-size: 10px; font-weight: 700; letter-spacing: 1px; color: var(--es-vurgu); text-transform: uppercase; line-height: 1.4; }
.es-ust-tel-yazi b { display: block; font-family: var(--es-baslik-font); font-size: 19px; font-weight: 600; color: var(--es-beyaz); line-height: 1.3; }
.es-ust-tel:hover .es-ust-tel-yazi b { color: var(--es-vurgu); }
.es-ust.is-sabit { position: fixed; left: 0; right: 0; top: -100px; background: var(--es-koyu); transform: translateY(100px); transition: transform .5s; }
.es-ust.is-sabit .es-logo img { width: 150px; }
body.is-ust-sabit { padding-top: 100px; }
.es-burger { display: none; width: 44px; height: 44px; position: relative; }
.es-burger span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--es-beyaz); border-radius: 2px; transition: transform .3s, opacity .3s; }
.es-burger span:nth-child(1) { top: 14px; }
.es-burger span:nth-child(2) { top: 21px; }
.es-burger span:nth-child(3) { top: 28px; }
.es-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.es-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.es-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- ortak parçalar ---------- */
.es-ust-baslik { display: inline-block; font-family: var(--es-baslik-font); font-weight: 700; font-size: 12px; line-height: 1.5; color: var(--es-vurgu); text-transform: uppercase; letter-spacing: 2px; margin: 0 0 15px; }
.es-ust-baslik a { color: inherit; }
.es-bolum { padding: 120px 0; }
.es-bolum h1, .es-bolum h2 { font-size: 48px; line-height: 1.2; margin-bottom: 15px; }
.es-bolum-baslik { text-align: center; margin-bottom: 45px; }
.es-bolum-baslik h1, .es-bolum-baslik h2 { margin-bottom: 0; }
.es-baslik-uzun { max-width: 900px; margin-left: auto; margin-right: auto; }
.es-cizgi { position: relative; z-index: 10; width: 2px; height: 50px; margin: -25px auto; background: var(--es-vurgu); }
.es-sayfa .es-cizgi-ic { margin-top: -20px; margin-bottom: -25px; }
.es-dar { max-width: 885px; }
.es-devam { color: var(--es-beyaz); }
.es-devam:hover { color: var(--es-vurgu); }

/* harf harf beliren yazı */
[data-es-harf] .es-kelime { display: inline-block; white-space: nowrap; }
[data-es-harf] .es-harf { display: inline-block; opacity: 0; transform: translateY(20px); }
[data-es-harf].is-gorundu .es-harf { animation: es-harf-yukari .4s cubic-bezier(.3, 0, .7, 1) both; animation-delay: calc(30ms * var(--i)); }
[data-es-harf="yazi"] .es-harf { transform: none; }
[data-es-harf="yazi"].is-gorundu .es-harf { animation: es-harf-sol .3s cubic-bezier(.3, 0, .7, 1) both; animation-delay: calc(10ms * var(--i)); }
@keyframes es-harf-yukari { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes es-harf-sol { from { opacity: 0; } to { opacity: 1; } }
/* aşağıdan belirme */
[data-es-belir] { opacity: 0; transform: translateY(40px); transition: opacity 1s ease, transform 1s ease; transition-delay: var(--es-gecikme, 0s); }
[data-es-belir].is-gorundu { opacity: 1; transform: none; }
html:not(.es-js) [data-es-belir], html:not(.es-js) [data-es-harf] .es-harf { opacity: 1; transform: none; }

/* zıplayan daireli düğme */
.es-dugme { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 200px; height: 70px; font-family: var(--es-baslik-font); font-weight: 700; font-size: 12px; line-height: 1.75; color: var(--es-beyaz); text-transform: uppercase; letter-spacing: 2px; }
.es-dugme-yazi { position: relative; z-index: 2; }
.es-dugme-top { position: absolute; left: 0; top: 50%; width: 70px; height: 70px; margin-top: -35px; border-radius: 50%; background: var(--es-vurgu-top); z-index: 1; transition: left .6s var(--es-ziplama); }
.es-dugme:hover .es-dugme-top, .es-dugme:focus-visible .es-dugme-top { left: calc(100% - 70px); }
button.es-dugme { color: var(--es-beyaz); }

/* yatay şerit (kaydırmalı, sürüklenebilir) */
.es-serit { display: flex; gap: 15px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.es-serit::-webkit-scrollbar { display: none; }
.es-serit > * { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; }
.es-serit.is-surukleniyor { scroll-snap-type: none; cursor: grabbing; }
.es-serit.is-surukleniyor * { pointer-events: none; }
.es-serit-uc > * { flex-basis: calc((100% - 30px) / 3); }
.es-serit-noktalar { display: none; justify-content: center; gap: 4px; margin-top: 15px; }
.es-serit-noktalar button { width: 18px; height: 18px; display: grid; place-items: center; }
.es-serit-noktalar button::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--es-yazi); transition: background-color .2s, border-color .2s; }
.es-serit-noktalar button.is-aktif::before, .es-serit-noktalar button:hover::before { background: var(--es-vurgu); border-color: var(--es-vurgu); }

/* ---------- açılış ---------- */
.es-acilis { overflow: hidden; }
.es-acilis-ic { position: relative; display: flex; align-items: center; min-height: 680px; }
.es-acilis-gorsel { width: 57%; }
.es-acilis-gorsel img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; animation: es-sekil 10s linear infinite alternate; }
@keyframes es-sekil {
	0%, 100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; }
	15% { border-radius: 42% 58% 55% 45% / 50% 61% 39% 50%; }
	30% { border-radius: 55% 45% 39% 61% / 48% 69% 31% 52%; }
	45% { border-radius: 60% 40% 56% 44% / 62% 39% 61% 38%; }
	60% { border-radius: 62% 38% 66% 34% / 69% 51% 49% 31%; }
	75% { border-radius: 51% 49% 35% 65% / 57% 67% 33% 43%; }
	88% { border-radius: 47% 53% 49% 51% / 36% 60% 40% 64%; }
}
.es-perde-resim { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); transition: clip-path .8s ease .3s; }
.es-perde-resim.is-gorundu { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
html:not(.es-js) .es-perde-resim { clip-path: none; }
.es-acilis-yazi { position: absolute; left: 47.5%; top: 50%; transform: translateY(-50%); width: 47%; z-index: 2; }
.es-acilis-yazi h1 { font-size: 48px; line-height: 1.2; margin-bottom: 0; }
.es-acilis-metin { padding: 30px 0; margin: 0 0 15px; color: var(--es-yazi); }
.es-acilis-dugme { text-align: center; }

/* ---------- hizmetler şeridi (ana sayfa, tam genişlik) ---------- */
.es-hizmetler { overflow: hidden; }
.es-hizmetler .es-serit, .es-blog-serit .es-serit { align-items: flex-start; }
.es-hizmet { position: relative; display: flex; justify-content: center; align-items: center; text-align: center; }
.es-hizmet-resim { display: block; width: 100%; background: var(--es-zemin); transition: transform .7s var(--es-yay); }
.es-hizmet-resim img { width: 100%; transition: opacity .7s var(--es-yay); }
.es-hizmet-yazi { position: absolute; opacity: 0; transform: translateX(-20px); transition: opacity .7s var(--es-yay), transform .7s var(--es-yay); padding: 0 20px; }
.es-hizmet-yazi b { display: block; font-family: var(--es-baslik-font); font-size: 24px; color: var(--es-beyaz); margin-bottom: 5px; line-height: 1.3; }
.es-hizmet-yazi small { font-family: var(--es-baslik-font); font-weight: 700; font-size: 12px; color: var(--es-vurgu); text-transform: uppercase; letter-spacing: 2px; }
.es-hizmet:hover .es-hizmet-resim, .es-hizmet:focus-visible .es-hizmet-resim { transform: scale(.95); }
.es-hizmet:hover .es-hizmet-resim img, .es-hizmet:focus-visible .es-hizmet-resim img { opacity: .3; }
.es-hizmet:hover .es-hizmet-yazi, .es-hizmet:focus-visible .es-hizmet-yazi { opacity: 1; transform: none; }

/* ---------- hakkımızda ---------- */
.es-hakkinda-ic { display: grid; grid-template-columns: 50% 41.66%; justify-content: space-between; align-items: start; }
.es-liste { list-style: none; margin: 30px 0; padding: 0; }
.es-liste li { display: flex; align-items: baseline; gap: 10px; }
.es-liste li + li { margin-top: 10px; }
.es-liste svg { width: 12px; height: 12px; color: var(--es-vurgu); flex: none; transform: translateY(1px); }
.es-liste a { color: var(--es-yazi); }
.es-liste a:hover { color: var(--es-vurgu); }
.es-markalar { border: 2px solid var(--es-vurgu-acik); border-radius: 5px; padding: 20px 10px; margin-bottom: 30px; }
.es-serit-marka > * { flex-basis: calc((100% - 45px) / 4); display: block; padding: 0 10px; }
.es-serit-marka img { width: 100%; }
.es-profil { padding: 30px; border: 2px solid var(--es-vurgu-acik); border-radius: 500px; }
.es-profil-resim { border-radius: 500px; height: 575px; overflow: hidden; }
.es-profil-resim img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- blog şeridi ---------- */
.es-blog-serit { overflow: hidden; }
.es-yazi { position: relative; display: block; }
.es-yazi-resim { display: block; overflow: hidden; background: var(--es-koyu); aspect-ratio: 1 / 1.05; }
.es-yazi-resim img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0); transition: transform .7s var(--es-yay), filter .7s var(--es-yay); }
.es-yazi-resim img.es-yer { object-fit: contain; width: 40%; height: 100%; margin: 0 auto; filter: none; opacity: .5; }
.es-yazi-baslik { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 20px 15px; text-align: center; background: linear-gradient(0deg, #000 50%, rgba(0, 0, 0, 0)); }
.es-yazi-baslik small { display: inline-block; font-family: var(--es-baslik-font); font-weight: 700; font-size: 12px; line-height: 1; color: var(--es-vurgu); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 15px; }
.es-yazi-baslik b { display: block; font-family: var(--es-baslik-font); font-size: 24px; line-height: 1.2; color: var(--es-beyaz); margin-bottom: 15px; }
.es-yazi:hover .es-yazi-resim img, .es-yazi:focus-visible .es-yazi-resim img { filter: none; transform: scale(.95); }
.es-yazi:hover .es-yazi-resim img.es-yer { transform: none; }

/* ---------- müşteri görüşleri bandı ---------- */
.es-bant { position: relative; overflow: hidden; padding: 120px 0; background: var(--es-zemin); }
.es-bant-zemin { position: absolute; inset: 0; background-repeat: no-repeat; background-position: right center; background-size: auto 130vh; background-attachment: fixed; -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 62%); mask-image: linear-gradient(90deg, transparent 30%, #000 62%); }
.es-bant-zemin::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .4); }
.es-bant-ic { position: relative; z-index: 2; display: grid; grid-template-columns: 50% 41.66%; justify-content: space-between; align-items: start; }
.es-bant-sol { padding-top: 60px; }
.es-bant-soru { font-family: var(--es-baslik-font); font-weight: 700; font-size: 27px; line-height: 1.2; color: var(--es-beyaz); margin-bottom: 30px; }
.es-bant-kart { position: relative; background: var(--es-kart); padding: 45px 30px; border-radius: 5px; overflow: hidden; }
.es-bant-kart::before { content: ""; position: absolute; inset: 0; border-radius: 5px; padding: 1px; background: linear-gradient(140deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .01)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.es-bant-kart h2 { font-size: 27px; margin-bottom: 15px; }
.es-gorus { position: relative; margin: 0; }
.es-gorus blockquote { margin: 0; }
.es-gorus p { margin: 0 0 20px; padding-bottom: 20px; border-bottom: 2px solid var(--es-vurgu-acik); }
.es-gorus-tirnak { position: absolute; right: 15px; bottom: 8px; width: 66px; height: 50px; color: var(--es-vurgu-acik); }
.es-gorus figcaption { display: flex; align-items: center; gap: 20px; }
.es-gorus figcaption img { width: 60px; height: 60px; padding: 4px; border-radius: 50%; border: 2px solid var(--es-vurgu-acik); }
.es-gorus figcaption b { display: block; font-family: var(--es-baslik-font); font-weight: 600; font-size: 16px; color: var(--es-beyaz); line-height: 1.2; margin-bottom: 4px; }
.es-gorus figcaption span span { font-size: 16px; color: #999; line-height: 1.2; }
.es-bant-kart .es-serit-noktalar { display: flex; justify-content: flex-start; margin-top: 20px; }

/* ---------- kartlar (liste, diğer hizmetler) ---------- */
.es-izgara { display: grid; gap: 0 24px; }
.es-izgara-uc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.es-izgara-iki { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.es-kart { position: relative; display: flex; flex-direction: column; }
.es-kart-resim { display: block; overflow: hidden; border-radius: 5px; background: var(--es-koyu); }
.es-kart-resim img { width: 100%; transition: transform 1s ease; }
.es-kart:hover .es-kart-resim img { transform: scale(1.09); }
.es-kart-yazi { position: relative; z-index: 1; display: block; margin: -45px 20px 0; padding: 25px 70px 25px 20px; background: var(--es-kart); border-radius: 5px; overflow: hidden; transition: background-color .4s; }
.es-kart-resim + .es-kart-yazi { margin-top: -45px; }
.es-kart > .es-kart-yazi:first-child { margin: 0 0 0; }
.es-kart-yazi::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .01)); pointer-events: none; }
.es-kart-yazi b { display: block; font-family: var(--es-baslik-font); font-size: 18px; line-height: 1.5; color: var(--es-beyaz); transition: transform .7s var(--es-yay); }
.es-kart-yazi small { display: block; font-size: 16px; color: var(--es-yazi); transition: transform .7s var(--es-yay), color .4s; }
.es-kart-ok { position: absolute; right: 20px; top: 50%; width: 40px; height: 40px; margin-top: -20px; display: grid; place-items: center; border-radius: 5px; color: var(--es-beyaz); opacity: 0; visibility: hidden; transform: translateY(-66%); transition: opacity .5s, transform .5s, visibility .5s, background-color .5s, color .5s; }
.es-kart-ok svg { width: 18px; height: 18px; }
.es-kart:hover .es-kart-yazi { background: var(--es-vurgu); }
.es-kart:hover .es-kart-yazi b, .es-kart:hover .es-kart-yazi small { transform: translateX(10px); color: var(--es-beyaz); }
.es-kart:hover .es-kart-ok { opacity: 1; visibility: visible; transform: none; }
.es-kart-ok:hover { background: var(--es-beyaz); color: var(--es-vurgu); }
.es-izgara > .es-kart { margin-bottom: 30px; }
.es-serit .es-kart { padding-bottom: 2px; }
.es-kart-video .es-kart-resim { max-height: 500px; }
.es-kart-video .es-kart-resim img { aspect-ratio: 4 / 3; object-fit: cover; }
.es-oynat { position: absolute; z-index: 3; right: 20px; width: 54px; height: 54px; border-radius: 50%; background: var(--es-vurgu); color: var(--es-beyaz); display: grid; place-items: center; top: 0; transform: translateY(-50%); transition: background-color .3s, color .3s; }
.es-kart-video .es-oynat { top: auto; bottom: 108px; transform: none; }
.es-oynat svg { width: 22px; height: 22px; margin-left: 3px; }
.es-oynat:hover { background: var(--es-beyaz); color: var(--es-vurgu); }

/* ---------- sorular ---------- */
.es-sorular { display: grid; gap: 15px; }
.es-soru { background: var(--es-koyu); border-radius: 5px; overflow: hidden; }
.es-soru h2, .es-soru h3 { margin: 0; font-size: 16px; line-height: 24px; }
.es-soru button { width: 100%; display: flex; align-items: baseline; gap: 6px; text-align: left; padding: 30px 60px 30px 30px; position: relative; font-family: var(--es-baslik-font); font-weight: 700; font-size: 16px; line-height: 24px; color: var(--es-beyaz); transition: background-color .5s, color .5s; }
.es-soru-no { font-family: var(--es-govde-font); font-weight: 400; font-size: 18px; color: var(--es-vurgu); padding-right: 5px; transition: color .5s; }
.es-soru .es-ok-asagi { position: absolute; right: 35px; top: 50%; width: 14px; height: 14px; margin-top: -7px; color: var(--es-vurgu); transition: transform .5s, color .5s; }
.es-soru button[aria-expanded="true"] { background: var(--es-vurgu); }
.es-soru button[aria-expanded="true"] .es-soru-no, .es-soru button[aria-expanded="true"] .es-ok-asagi { color: var(--es-beyaz); }
.es-soru button[aria-expanded="true"] .es-ok-asagi { transform: rotate(180deg); }
.es-soru-cevap { overflow: hidden; transition: height .3s ease; }
.es-soru-cevap .es-metin { padding: 30px; }
.es-soru-cevap .es-metin > :last-child { margin-bottom: 0; }

/* ---------- öncesi / sonrası ---------- */
.es-once { position: relative; overflow: hidden; border-radius: 5px; margin-bottom: 30px; user-select: none; touch-action: pan-y; background: var(--es-koyu); }
.es-once > img { width: 100%; }
.es-once-ilk { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--es-oran)) 0 0); }
.es-once-ilk img { width: 100%; height: 100%; object-fit: cover; }
.es-once::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--es-oran); width: 2px; margin-left: -1px; background: var(--es-beyaz); pointer-events: none; }
.es-once-tutamak { position: absolute; z-index: 2; top: 50%; left: var(--es-oran); width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: var(--es-vurgu); color: var(--es-beyaz); display: grid; place-items: center; pointer-events: none; box-shadow: 0 4px 18px rgba(0, 0, 0, .35); }
.es-once-tutamak svg { width: 22px; height: 22px; }
.es-once-etiket { position: absolute; z-index: 2; top: 15px; padding: 2px 12px; border-radius: 3px; background: rgba(0, 0, 0, .55); color: var(--es-beyaz); font-family: var(--es-baslik-font); font-weight: 700; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; pointer-events: none; }
.es-once-sol { left: 15px; }
.es-once-sag { right: 15px; }
.es-once input[type="range"] { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.es-once-tek { max-width: 750px; margin: 0 auto 60px; }

/* ---------- detay ---------- */
.es-ana-resim { display: block; max-width: 555px; margin: 0 auto 60px; }
.es-metin { color: var(--es-yazi); }
.es-metin a { color: var(--es-beyaz); text-decoration: underline; text-decoration-color: var(--es-vurgu); text-underline-offset: 3px; }
.es-metin h1, .es-metin h2, .es-metin h3, .es-metin h4 { font-size: 24px; margin: 30px 0 15px; }
.es-metin img { height: auto; border-radius: 5px; }
.es-metin iframe { max-width: 100%; }
.es-metin strong, .es-metin b { color: var(--es-beyaz); font-weight: 400; }
.es-metin-detay { margin-bottom: 60px; }
.es-galeri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; align-items: start; }
.es-galeri a { display: block; overflow: hidden; border-radius: 5px; }
.es-galeri img { width: 100%; filter: grayscale(1); transition: transform .6s ease, filter .6s ease; }
.es-galeri a:hover img { transform: scale(1.05); filter: none; }
.es-video { position: relative; aspect-ratio: 16 / 9; max-height: 615px; margin: 0 auto; }
.es-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 5px; }
.es-video-dikey { aspect-ratio: 9 / 16; max-width: 360px; max-height: none; }
.es-urun-dugme { text-align: center; }

/* ---------- iletişim ---------- */
.es-bilgiler { gap: 24px; align-items: start; }
.es-bilgi { position: relative; display: block; padding: 60px 40px; border-radius: 15px; background: var(--es-zemin); overflow: hidden; line-height: 1; transition: background-color .3s, box-shadow .3s; }
.es-bilgi::after { content: ""; position: absolute; inset: 0; border-radius: 15px; padding: 1px; background: linear-gradient(140deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .01)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.es-bilgi { background-image: linear-gradient(120deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .01)); }
.es-bilgi-simge svg { width: 60px; height: 60px; color: var(--es-vurgu); margin-bottom: 15px; transition: color .5s; }
.es-bilgi b { display: block; font-family: var(--es-baslik-font); font-size: 24px; line-height: 1.5; color: var(--es-beyaz); margin-bottom: 4px; }
.es-bilgi > span:not(.es-bilgi-simge):not(.es-bilgi-golge) { display: block; font-size: 18px; line-height: 1.75; color: var(--es-yazi); }
.es-bilgi > span a { color: inherit; }
.es-bilgi-golge { position: absolute; right: 10px; bottom: -40px; }
.es-bilgi-golge svg { width: 120px; height: 120px; color: rgba(255, 255, 255, .03); }
.es-bilgi.is-vurgu, .es-bilgi:hover { background-color: var(--es-vurgu); box-shadow: 0 10px 50px 1px rgba(0, 0, 0, .3); }
.es-bilgi.is-vurgu .es-bilgi-simge svg, .es-bilgi:hover .es-bilgi-simge svg { color: var(--es-beyaz); }
.es-bilgi.is-vurgu > span, .es-bilgi:hover > span { color: var(--es-beyaz) !important; }
.es-bilgi.is-vurgu .es-bilgi-golge svg, .es-bilgi:hover .es-bilgi-golge svg { color: rgba(255, 255, 255, .06); }
.es-bilgiler:hover .es-bilgi.is-vurgu:not(:hover) { background-color: var(--es-zemin); box-shadow: none; }
.es-bilgiler:hover .es-bilgi.is-vurgu:not(:hover) .es-bilgi-simge svg { color: var(--es-vurgu); }
.es-bilgiler:hover .es-bilgi.is-vurgu:not(:hover) > span { color: var(--es-yazi) !important; }
.es-form-kap { max-width: 585px; text-align: center; }
.es-form-kap h2 { font-size: 32px; margin-bottom: 30px; }
.es-form-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; text-align: left; }
.es-form-tam { grid-column: 1 / -1; }
.es-form input, .es-form textarea { display: block; width: 100%; margin-bottom: 15px; padding: 15px; font-family: var(--es-govde-font); font-size: 16px; line-height: 1.5; color: var(--es-yazi); background: transparent; border: 2px solid var(--es-vurgu-acik); border-radius: 5px; transition: border-color .3s; }
.es-form textarea { min-height: 130px; resize: vertical; }
.es-form input:focus, .es-form textarea:focus { outline: none; border-color: var(--es-vurgu); }
.es-form ::placeholder { color: var(--es-yazi); opacity: 1; }
.es-form-alt { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; margin-top: 15px; }
.es-harita { line-height: 0; filter: grayscale(1); }
.es-harita iframe { width: 100% !important; height: 450px; border: 0; }

/* ---------- sayfalama ---------- */
.es-sayfalama { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.es-sayfalama a { min-width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid var(--es-vurgu-acik); border-radius: 50%; font-family: var(--es-baslik-font); font-weight: 700; transition: background-color .3s, border-color .3s; }
.es-sayfalama a:hover, .es-sayfalama a.is-aktif { background: var(--es-vurgu); border-color: var(--es-vurgu); }

/* ---------- alt bilgi ---------- */
.es-alt { background: var(--es-zemin); }
.es-alt-ust { display: grid; grid-template-columns: 25% 33.33% 25%; justify-content: space-between; padding-top: 120px; padding-bottom: 60px; }
.es-alt-ust > div { margin-bottom: 45px; }
.es-alt h2 { font-size: 24px; margin-bottom: 15px; }
.es-alt p { color: var(--es-yazi); }
.es-alt-kurumsal p a:hover { color: var(--es-vurgu); }
.es-sosyal { display: flex; gap: 10px; }
.es-sosyal a { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--es-vurgu-acik); color: var(--es-beyaz); transition: background-color .3s, border-color .3s; }
.es-sosyal a svg { width: 16px; height: 16px; }
.es-sosyal a:hover { background: var(--es-vurgu); border-color: var(--es-vurgu); }
.es-alt-hizmet ul { list-style: none; margin: 0; padding: 0; }
.es-alt-hizmet li { margin-bottom: 15px; }
.es-alt-hizmet a { color: var(--es-yazi); transition: color .4s; }
.es-alt-hizmet a:hover { color: var(--es-vurgu); }
.es-alt-tel { display: block; font-size: 24px; color: var(--es-beyaz); line-height: 1.5; transition: color .5s; }
.es-alt-tel:hover { color: var(--es-vurgu); }
.es-alt-posta { position: relative; display: inline-block; line-height: 3; }
.es-alt-posta a { color: var(--es-yazi); }
.es-alt-posta::before { content: ""; position: absolute; left: 0; right: 0; bottom: 9px; height: 2px; background: var(--es-vurgu-acik); transition: background-color .5s; }
.es-alt-posta:hover::before { background: var(--es-vurgu); }
.es-alt-son { border-top: 2px solid var(--es-vurgu-acik); padding: 30px 0; }
.es-alt-son p { font-size: 14px; margin: 0; }
.es-alt-son .sbz-imza { color: var(--es-beyaz); }

/* ---------- yüzen düğmeler ---------- */
.es-wp { position: fixed; left: 2rem; bottom: 2rem; z-index: 900; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.es-wp-etiket { position: relative; background: #000; color: #fff; border-radius: 50px; font-size: 8px; font-weight: 700; letter-spacing: .4px; line-height: 10px; padding: 4px 6px; text-transform: uppercase; opacity: 0; animation: es-etiket .4s 1s forwards; }
.es-wp-etiket::after { content: ""; position: absolute; left: 50%; bottom: -2px; width: 4px; height: 4px; margin-left: -2px; background: #000; transform: rotate(45deg); }
@keyframes es-etiket { to { opacity: 1; } }
.es-wp-simge { width: 44px; height: 44px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; box-shadow: 1px 1px 4px rgba(60, 60, 60, .4); border: 3px solid #fff; }
.es-wp-simge svg { width: 24px; height: 24px; }
.es-yukari { position: fixed; right: 30px; bottom: 30px; z-index: 900; width: 45px; height: 45px; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(196, 73, 83, .1); opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .4s linear, transform .4s linear, visibility .4s; }
.es-yukari.is-gorunur { opacity: 1; visibility: visible; transform: none; }
.es-yukari svg:first-child { position: absolute; inset: 0; width: 100%; height: 100%; }
.es-yukari path { fill: none; stroke: var(--es-vurgu); stroke-width: 4; }
.es-yukari-ok { position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; color: var(--es-vurgu); }

/* ---------- görsel / video penceresi ---------- */
.es-pencere { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; margin: 0; }
.es-pencere::backdrop { background: rgba(0, 0, 0, .9); }
.es-pencere[open] { display: flex; align-items: center; justify-content: center; animation: es-pencere .3s ease; }
@keyframes es-pencere { from { opacity: 0; } }
.es-pencere-ic { max-width: min(1100px, 90vw); max-height: 88vh; display: flex; align-items: center; justify-content: center; }
.es-pencere-ic img { max-width: 100%; max-height: 88vh; width: auto; object-fit: contain; }
.es-pencere-ic .es-pencere-video { width: min(1000px, 90vw); aspect-ratio: 16 / 9; }
.es-pencere-ic iframe { width: 100%; height: 100%; border: 0; }
.es-pencere-kapat { position: absolute; top: 14px; right: 20px; font-size: 40px; line-height: 1; color: #fff; width: 48px; height: 48px; }
.es-pencere-ok { position: absolute; top: 50%; margin-top: -25px; width: 50px; height: 50px; border-radius: 50%; background: var(--es-vurgu); color: #fff; display: grid; place-items: center; }
.es-pencere-ok svg { width: 22px; height: 22px; }
.es-pencere-ok:hover { background: #fff; color: var(--es-zemin); }
.es-pencere-geri { left: 20px; }
.es-pencere-ileri { right: 20px; }
.es-pencere.is-tek .es-pencere-ok { display: none; }

/* ---------- duyarlı ---------- */
@media (max-width: 1199px) {
	.es-menu > ul > li > a, .es-menu > ul > li > button { font-size: 15px; padding: 10px 7px; }
	.es-menu-kutu { gap: 20px; }
	.es-logo img { width: 200px; }
	.es-ust-tel-yazi b { font-size: 17px; }
}
@media (max-width: 999px) {
	.es-serit-uc > * { flex-basis: calc((100% - 15px) / 2); }
}
@media (max-width: 991px) {
	.es-ust { height: 90px; }
	.es-logo img, .es-ust.is-sabit .es-logo img { width: 150px; }
	.es-burger { display: block; }
	.es-menu-kutu { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--es-koyu); padding: 10px 15px 25px; flex-direction: column; align-items: stretch; gap: 15px; max-height: calc(100vh - 90px); overflow-y: auto; }
	.es-ust.is-menu-acik .es-menu-kutu { display: flex; }
	.es-ust.is-menu-acik { background: var(--es-koyu); }
	.es-menu > ul { flex-direction: column; align-items: stretch; }
	.es-menu > ul > li > a, .es-menu > ul > li > button { width: 100%; justify-content: space-between; padding: 12px 0; font-size: 16px; }
	.es-acilir > ul { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 0 0 8px 15px; min-width: 0; display: none; background: transparent; transition: none; }
	.es-acilir.is-acik > ul { display: block; }
	.es-acilir:hover > ul { display: none; }
	.es-acilir.is-acik:hover > ul { display: block; }
	.es-acilir.is-acik .es-ok-asagi { transform: rotate(180deg); }
	body.is-ust-sabit { padding-top: 90px; }
	.es-ust.is-sabit { top: -90px; transform: translateY(90px); }
	.es-acilis-ic { flex-direction: column; align-items: stretch; min-height: 0; padding-top: 20px; }
	.es-acilis-gorsel { width: 100%; order: 2; }
	.es-acilis-yazi { position: static; transform: none; width: 100%; display: contents; }
	.es-acilis-yazi .es-ust-baslik { order: 0; margin-top: 30px; }
	.es-acilis-yazi h1 { order: 1; margin-bottom: 30px; }
	.es-acilis-metin { order: 3; padding: 0; margin: 30px 0; }
	.es-acilis-dugme { order: 4; text-align: left; margin-bottom: 60px; }
	.es-hakkinda-ic, .es-bant-ic { grid-template-columns: 1fr; gap: 45px; }
	.es-profil { max-width: 460px; }
	.es-bant-sol { padding-top: 0; }
	.es-izgara-uc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.es-alt-ust { grid-template-columns: 1fr 1fr; gap: 0 24px; }
	.es-bant-zemin { background-attachment: scroll; background-size: cover; background-position: 70% center; -webkit-mask-image: none; mask-image: none; }
	.es-bant-zemin::after { background: rgba(12, 12, 12, .72); }
}
@media (max-width: 767px) {
	.es-bolum { padding: 90px 0; }
	.es-bolum h1, .es-bolum h2, .es-acilis-yazi h1 { font-size: 36px; }
	.es-baslik-uzun { font-size: 28px !important; }
	.es-serit-uc > * { flex-basis: 100%; }
	.es-hizmetler .es-serit-noktalar, .es-blog-serit .es-serit-noktalar, .es-serit-noktalar { display: flex; }
	.es-hizmet-yazi { opacity: 1; transform: none; position: absolute; left: 0; right: 0; bottom: 0; padding: 50px 15px 15px; background: linear-gradient(0deg, rgba(0, 0, 0, .85), rgba(0, 0, 0, 0)); }
	.es-hizmet { align-items: flex-end; }
	.es-serit-marka > * { flex-basis: calc((100% - 30px) / 3); }
	.es-profil { padding: 20px; }
	.es-profil-resim { height: 460px; }
	.es-bant { padding: 90px 0; }
	.es-bant-kart { padding: 40px 20px; }
	.es-bant-soru { font-size: 24px; }
	.es-izgara-uc, .es-izgara-iki, .es-galeri { grid-template-columns: 1fr; }
	.es-soru button { padding: 15px 45px 15px 15px; }
	.es-soru .es-ok-asagi { right: 15px; }
	.es-soru-cevap .es-metin { padding: 20px 15px; }
	.es-form-izgara { grid-template-columns: 1fr; }
	.es-alt-ust { grid-template-columns: 1fr; padding-top: 90px; padding-bottom: 30px; }
	.es-bilgi { padding: 45px 30px; }
	.es-kart-video .es-oynat { bottom: 100px; }
	.es-wp { left: 1rem; bottom: 1rem; }
	.es-alt-son { padding-bottom: 100px; }
	.es-yukari { right: 15px; bottom: 15px; }
	.es-pencere-ok { top: auto; bottom: 20px; margin-top: 0; }
	.es-harita iframe { height: 340px; }
	.es-form-alt .g-recaptcha { transform-origin: left top; }
}
@media (max-width: 360px) {
	.es-form-alt .g-recaptcha { transform: scale(.9); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	[data-es-belir], [data-es-harf] .es-harf { opacity: 1 !important; transform: none !important; }
	.es-perde-resim { clip-path: none !important; }
}
