/* İMZA DİLİ (3 Kas, tasarım turu 3): sertifika / gravür estetiği. style.css'ten sonra yüklenir. */
body { background: var(--zemin) url("img/doku.svg"); }
em { font-style: italic; color: var(--altin-koyu); }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; }

/* ilk ekran: iki sütun, kemerli görsel, dönen mühür */
.h2-hero { position: relative; padding: clamp(40px, 6vw, 80px) 0 clamp(70px, 8vw, 110px); overflow: hidden; }
.h2-hero::before { content: ""; position: absolute; left: -240px; top: -200px; width: 720px; height: 720px;
  background: url("img/guilos.svg") center / contain no-repeat; opacity: .28; pointer-events: none; }
.h2-izgara { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.h2-metin h1 { font-size: clamp(2.6rem, 5vw, 4.3rem); line-height: 1.06; margin-bottom: .45em; }
.h2-metin .aciklama { font-size: 1.08rem; color: var(--metin-2); max-width: 470px; margin-bottom: 34px; }
.h2-metin .dugmeler { align-items: center; gap: 28px; }
.h2-imza { display: flex; align-items: center; gap: 18px; margin-top: 46px; }
.h2-imza .cizgi { width: 56px; height: 1px; background: var(--altin); }
.h2-imza b { display: block; font-family: var(--serif); font-weight: 500; font-size: 1.25rem; color: var(--laci); }
.h2-imza small { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--metin-2); }
.kemer { position: relative; margin: 0; }
.kemer picture img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 80% center;
  border-radius: 999px 999px 6px 6px; box-shadow: 0 40px 80px -40px rgba(11,23,54,.45); }
.kemer::before { content: ""; position: absolute; inset: -14px; border: 1px solid var(--altin); border-radius: 999px 999px 10px 10px; opacity: .7; pointer-events: none; }
.muhur { position: absolute; left: -58px; bottom: 54px; width: 150px; height: 150px; color: var(--altin-koyu);
  background: var(--zemin); border-radius: 50%; box-shadow: 0 16px 40px -10px rgba(11,23,54,.3); display: grid; place-items: center; }
.muhur svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.muhur text { font-family: var(--sans); font-size: 12.5px; font-weight: 600; letter-spacing: 3.2px; fill: var(--altin-koyu); }
.muhur .donen { transform-origin: 100px 100px; animation: don 40s linear infinite; }
.muhur img { width: 62px; position: relative; }
@keyframes don { to { transform: rotate(360deg); } }
.kaydir { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; color: var(--metin-2);
  display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kaydir span { width: 1px; height: 38px; background: linear-gradient(var(--altin), transparent); animation: akis 2.2s ease-in-out infinite; transform-origin: top; }
@keyframes akis { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* alıntı bandı (lacivert + gravür) */
.alinti { position: relative; background: var(--laci) url("img/dalga.svg"); color: #dbe4f6; padding: clamp(90px, 11vw, 150px) 0; overflow: hidden; }
.alinti::after { content: ""; position: absolute; right: -180px; top: 50%; width: 620px; height: 620px; transform: translateY(-50%);
  background: url("img/guilos.svg") center / contain no-repeat; opacity: .35; }
.alinti .kap { position: relative; z-index: 1; max-width: 980px; }
.alinti .ust-baslik { color: var(--altin); }
.alinti blockquote { margin: 0 0 34px; position: relative; }
.alinti blockquote::before { content: "\201C"; position: absolute; left: -10px; top: -70px; font-family: var(--serif); font-size: 9rem; color: var(--altin); opacity: .5; line-height: 1; }
.alinti blockquote p { font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.35; color: #fff; margin: 0; }
.alinti em { color: var(--altin); }
.bag-ok.acik { color: #fff; }

/* bölüm üst satırı: başlık solda, açıklama sağda */
.bolum-ust { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 60px; }
.bolum-ust h2 { margin: 0; }
.bolum-ust p { color: var(--metin-2); margin: 0; max-width: 460px; justify-self: end; }

/* dergi düzeninde hizmet listesi */
.h-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--laci); }
.h-liste a { display: grid; grid-template-columns: 90px 1.1fr 1.4fr 40px; gap: 24px; align-items: center; padding: 30px 6px; border-bottom: 1px solid var(--cizgi);
  color: var(--metin); position: relative; transition: padding .35s var(--hiz), background .35s; }
.h-liste a::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--altin); transition: width .5s var(--hiz); }
.h-liste a:hover { background: rgba(184,151,90,.06); padding-left: 18px; }
.h-liste a:hover::after { width: 100%; }
.h-liste .no { font-family: var(--serif); font-size: 1.6rem; color: var(--altin); }
.h-liste .ad { font-family: var(--serif); font-size: clamp(1.3rem, 2.2vw, 1.75rem); color: var(--laci); }
.h-liste .ozet { color: var(--metin-2); font-size: .95rem; }
.h-liste .ok { font-size: 1.3rem; color: var(--laci); transition: transform .35s var(--hiz); justify-self: end; }
.h-liste a:hover .ok { transform: translateX(6px); color: var(--altin-koyu); }

/* süreç zaman çizelgesi */
.desenli { position: relative; overflow: hidden; }
.desenli::before { content: ""; position: absolute; right: -200px; bottom: -260px; width: 640px; height: 640px; background: url("img/guilos.svg") center / contain no-repeat; opacity: .35; }
.zaman { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.zaman::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: var(--altin); opacity: .6; }
.adim2 { position: relative; padding-top: 42px; }
.adim2 .nokta { position: absolute; top: 0; left: 0; width: 15px; height: 15px; border-radius: 50%; background: var(--zemin-2); border: 1px solid var(--altin); }
.adim2 .nokta::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--altin); }
.adim2 .sira { font-family: var(--serif); font-size: 3rem; color: var(--laci); opacity: .15; line-height: 1; display: block; margin-bottom: 10px; }
.adim2 p { color: var(--metin-2); font-size: .95rem; }

/* alt bilgi: dev kelime işareti */
.alt { position: relative; overflow: hidden; }
.alt::after { content: "DORU"; position: absolute; left: 50%; bottom: -0.32em; transform: translateX(-50%); font-family: var(--serif); font-size: clamp(8rem, 26vw, 24rem);
  line-height: 1; letter-spacing: .06em; color: transparent; -webkit-text-stroke: 1px rgba(184,151,90,.22); pointer-events: none; white-space: nowrap; }
.alt .kap { position: relative; z-index: 1; }

@media (max-width: 980px) {
  .h2-izgara { grid-template-columns: 1fr; }
  .kemer { max-width: 460px; margin: 10px auto 0; }
  .bolum-ust { grid-template-columns: 1fr; }
  .bolum-ust p { justify-self: start; }
  .h-liste a { grid-template-columns: 60px 1fr 30px; }
  .h-liste .ozet { grid-column: 2; grid-row: 2; }
  .zaman { grid-template-columns: 1fr 1fr; }
  .zaman::before { display: none; }
}
@media (max-width: 760px) {
  .h2-hero::before { width: 460px; height: 460px; left: -200px; top: -120px; }
  .h2-metin .dugmeler { flex-direction: column; align-items: stretch; gap: 18px; }
  .h2-metin .dugmeler .bag-ok { text-align: center; }
  .kemer { margin: 24px 14px 0; }
  .kemer picture img { aspect-ratio: 4 / 4.6; }
  .muhur { width: 112px; height: 112px; left: -10px; bottom: -26px; }
  .muhur img { width: 46px; }
  .kaydir { display: none; }
  .alinti blockquote::before { font-size: 6rem; top: -48px; }
  .h-liste a { padding: 24px 2px; gap: 14px; }
  .zaman { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .muhur .donen, .kaydir span { animation: none; } }

/* iletişim sahnesi: arka plan görseli + buzlu cam kartlar + harita */
.ilet-sahne { position: relative; background: var(--laci-koyu) url("img/lux_doku_1920.webp") center / cover; overflow: hidden; }
.ilet-sahne::before { content: ""; position: absolute; left: -160px; top: -160px; width: 640px; height: 640px; background: url("img/guilos.svg") center / contain no-repeat; opacity: .35; }
.ilet-sahne .kap { position: relative; z-index: 1; }
.ilet-sahne .iletisim { grid-template-columns: .9fr 1.1fr; }
.ilet-sahne .iletisim-kutu { background: rgba(251,249,244,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 14px; color: #e9eef8;
  -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); box-shadow: 0 30px 60px -30px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.18); }
.ilet-sahne .iletisim-satir { border-color: rgba(255,255,255,.16); }
.ilet-sahne .iletisim-satir b { color: var(--altin); }
.ilet-sahne .iletisim-satir a { color: #fff; }
.ilet-sahne .form-baslik { color: #fff; }
.ilet-sahne label { color: #e9eef8; }
.ilet-sahne input, .ilet-sahne textarea { background: rgba(255,255,255,.92); border-color: rgba(255,255,255,.4); color: var(--metin); }
.ilet-sahne .kvkk { color: #d2dbee; }
.ilet-sahne .kvkk a { color: var(--altin); }
.ilet-sahne .btn-ana { background: var(--altin); color: var(--laci-koyu); }
.ilet-sahne .btn-ana:hover { background: #fff; }
.ilet-sahne .btn-cizgi { border-color: rgba(255,255,255,.6); color: #fff; }
.ilet-sahne .btn-cizgi:hover { background: #fff; color: var(--laci); }
.harita { grid-column: 1 / -1; position: relative; min-height: 380px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; align-content: center; gap: 14px; text-align: center;
  background: rgba(251,249,244,.1) url("img/guilos.svg") center / 520px no-repeat; border: 1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #c9d3ea; font-size: .85rem; }
.harita p { margin: 0; }
.harita iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.05); }
.harita.yuklendi { background: #e9e4d8; }

/* bayraklar */
.bayrak { display: inline-flex; width: 20px; height: 14px; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(19,36,79,.15); flex: none; }
.bayrak svg { width: 100%; height: 100%; display: block; }
.dil summary::before { display: none; }
.dil summary { gap: 10px; }
.dil-liste a { gap: 10px; }
.dil-liste a b { width: 22px; }

@media (max-width: 980px) { .ilet-sahne .iletisim { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .harita { min-height: 300px; } }

/* dil menüsü: sadece kodlar (kullanıcı 3 Kas) */
.dil-liste { min-width: 0; width: 100%; padding: 4px; }
.dil-liste a { justify-content: center; font-weight: 600; letter-spacing: .12em; font-size: .8rem; padding: 10px 14px; }
@media (max-width: 1060px) { .dil-liste { display: flex; gap: 6px; } .dil-liste a { flex: 1; border: 1px solid var(--cizgi); } }

/* sayfa geçişleri: tarayıcı destekliyorsa sayfalar arası yumuşak geçiş (View Transitions) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: sayfa-cik .45s var(--hiz) both; }
::view-transition-new(root) { animation: sayfa-gir .6s var(--hiz) both; }
@keyframes sayfa-cik { to { opacity: 0; transform: translateY(-14px); filter: blur(4px); } }
@keyframes sayfa-gir { from { opacity: 0; transform: translateY(22px); filter: blur(6px); } }
.baslik { view-transition-name: baslik; }

/* açılışta ilk ekran öğeleri sırayla gelir */
.js .h2-metin > *, .js .sayfa-bas .kap > * { opacity: 0; transform: translateY(26px); animation: gir .9s var(--hiz) forwards; }
.js .h2-metin > :nth-child(1), .js .sayfa-bas .kap > :nth-child(1) { animation-delay: .05s; }
.js .h2-metin > :nth-child(2), .js .sayfa-bas .kap > :nth-child(2) { animation-delay: .18s; }
.js .h2-metin > :nth-child(3), .js .sayfa-bas .kap > :nth-child(3) { animation-delay: .32s; }
.js .h2-metin > :nth-child(4) { animation-delay: .46s; }
.js .h2-metin > :nth-child(5) { animation-delay: .6s; }
.js .kemer { opacity: 0; transform: translateY(30px) scale(.97); animation: gir 1.2s .25s var(--hiz) forwards; }
.js .kemer::before { opacity: 0; animation: cerceve 1.4s .9s var(--hiz) forwards; }
.js .muhur { opacity: 0; transform: scale(.6) rotate(-40deg); animation: muhur-bas .9s 1.1s cubic-bezier(.3,1.5,.5,1) forwards; }
@keyframes gir { to { opacity: 1; transform: none; } }
@keyframes cerceve { from { opacity: 0; inset: 6px; } to { opacity: .7; inset: -14px; } }
@keyframes muhur-bas { to { opacity: 1; transform: none; } }
/* kaydırmada daha belirgin giriş */
.js .belir { transform: translateY(34px); filter: blur(3px); transition: opacity .9s var(--hiz), transform .9s var(--hiz), filter .9s var(--hiz); }
.js .belir.gorundu { filter: none; }
.h-liste li.belir { transform: translateX(-24px); }
.h-liste li.belir.gorundu { transform: none; }
/* görsel kartı fareyle hafif derinlik */
.kemer picture img { transition: transform 1.2s var(--hiz); }
.kemer:hover picture img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .js .h2-metin > *, .js .sayfa-bas .kap > *, .js .kemer, .js .kemer::before, .js .muhur { opacity: 1; transform: none; animation: none; }
  .js .belir { filter: none; }
}

/* ana sayfa hizmetler: 3x2 editoryal ızgara */
.h-izgara { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--laci); border-left: 1px solid var(--cizgi); }
.h-kart { position: relative; display: flex; flex-direction: column; padding: 44px 38px 38px; border-right: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi);
  color: var(--metin); background: transparent; transition: background .5s var(--hiz); overflow: hidden; min-height: 330px; }
.h-kart::before { content: ""; position: absolute; inset: 0; background: var(--laci); transform: translateY(101%); transition: transform .6s var(--hiz); z-index: 0; }
.h-kart > * { position: relative; z-index: 1; transition: color .45s; }
.h-kart .no { font-family: var(--serif); font-size: 2.4rem; color: var(--altin); line-height: 1; margin-bottom: 30px; }
.h-kart h3 { font-family: var(--serif); font-weight: 500; font-size: 1.45rem; color: var(--laci); margin-bottom: 14px; }
.h-kart p { color: var(--metin-2); font-size: .95rem; line-height: 1.7; flex: 1; }
.h-kart .ok { font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--altin-koyu); display: inline-flex; gap: 10px; align-items: center; margin-top: 18px; }
.h-kart .ok::after { content: ""; width: 26px; height: 1px; background: currentColor; transition: width .4s var(--hiz); }
.h-kart:hover::before { transform: translateY(0); }
.h-kart:hover h3 { color: #fff; }
.h-kart:hover p { color: #c9d3ea; }
.h-kart:hover .ok { color: var(--altin); }
.h-kart:hover .ok::after { width: 46px; }
@media (max-width: 980px) { .h-izgara { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .h-izgara { grid-template-columns: 1fr; } .h-kart { min-height: 0; padding: 34px 26px; } }
.hak-kemer picture img { aspect-ratio: 4 / 5; object-position: 30% center; }
.js .hak-kemer { animation: none; opacity: 1; transform: none; }

/* hizmetler sayfası: solda yapışkan içindekiler, sağda numaralı bölümler */
.hz-duzen { display: grid; grid-template-columns: 280px 1fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
.hz-dizin { position: sticky; top: 120px; display: grid; border-top: 1px solid var(--laci); }
.hz-dizin a { display: flex; gap: 16px; align-items: baseline; padding: 16px 4px; border-bottom: 1px solid var(--cizgi); color: var(--metin-2); font-size: .92rem; transition: color .3s, padding .3s var(--hiz); }
.hz-dizin a span { font-family: var(--serif); color: var(--altin); width: 30px; flex: none; }
.hz-dizin a:hover, .hz-dizin a.aktif { color: var(--laci); padding-left: 12px; }
.hz-dizin a.aktif { font-weight: 600; box-shadow: inset 2px 0 0 var(--altin); }
.hizmet-liste { counter-reset: hz; display: grid; gap: 28px; }
.hz-duzen .hizmet { counter-increment: hz; position: relative; grid-template-columns: 1fr; gap: 0; padding: 54px 54px 48px; border: 1px solid var(--cizgi); border-radius: 4px;
  background: rgba(255,255,255,.55); overflow: hidden; scroll-margin-top: 120px; transition: border-color .4s, box-shadow .4s; }
.hz-duzen .hizmet:first-child { padding-top: 54px; border-top: 1px solid var(--cizgi); }
.hz-duzen .hizmet::before { content: counter(hz, upper-roman); position: absolute; right: 34px; top: 18px; font-family: var(--serif); font-size: 7.5rem; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px rgba(184,151,90,.45); pointer-events: none; }
.hz-duzen .hizmet::after { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 0; background: var(--altin); transition: height .6s var(--hiz); }
.hz-duzen .hizmet:hover { border-color: rgba(184,151,90,.55); box-shadow: 0 30px 60px -40px rgba(11,23,54,.35); }
.hz-duzen .hizmet:hover::after { height: 100%; }
.hz-duzen .hizmet .ikon { width: 46px; height: 46px; margin-bottom: 22px; }
.hz-duzen .hizmet .ikon svg { stroke: var(--altin-koyu); }
.hz-duzen .hizmet h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); max-width: 80%; }
.hz-duzen .hizmet:nth-child(even) { background: var(--laci); border-color: var(--laci); }
.hz-duzen .hizmet:nth-child(even) h2 { color: #fff; }
.hz-duzen .hizmet:nth-child(even) p { color: #c9d3ea; }
.hz-duzen .hizmet:nth-child(even) .ikon svg { stroke: var(--altin); }
.hz-duzen .hizmet:nth-child(even)::before { -webkit-text-stroke-color: rgba(184,151,90,.4); }
.hz-duzen .hizmet:nth-child(even) .kimler-icin { background: rgba(255,255,255,.06); color: #dbe4f6; }
.hz-duzen .not-kutu { margin-top: 0; }
@media (max-width: 980px) {
  .hz-duzen { grid-template-columns: 1fr; }
  .hz-dizin { position: static; grid-template-columns: 1fr 1fr; gap: 0 20px; }
}
@media (max-width: 760px) {
  .hz-dizin { grid-template-columns: 1fr; }
  .hz-duzen .hizmet { padding: 40px 26px 34px; }
  .hz-duzen .hizmet::before { font-size: 5rem; right: 18px; }
  .hz-duzen .hizmet h2 { max-width: 100%; padding-right: 60px; }
}

/* iletişim: açık, ferah sürüm (kullanıcı 3 Kas: "çok lacivert, boğucu") */
.ilet-bas { background-image: url("img/lux_hero_1920.webp"); background-position: right 30%; }
.ilet-sahne { background: var(--zemin-2) url("img/lux_hero_1920.webp") center 70% / cover; }
.ilet-sahne::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(241,235,223,.82), rgba(241,235,223,.55) 50%, rgba(241,235,223,.8)); z-index: 0; }
.ilet-sahne::before { opacity: .45; z-index: 0; }
.ilet-sahne .iletisim-kutu { background: rgba(255,255,255,.34); border: 1px solid rgba(255,255,255,.75); color: var(--metin);
  -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2); box-shadow: 0 30px 70px -40px rgba(11,23,54,.35), inset 0 1px 0 rgba(255,255,255,.8); }
.ilet-sahne .iletisim-satir { border-color: rgba(19,36,79,.12); }
.ilet-sahne .iletisim-satir b { color: var(--altin-koyu); }
.ilet-sahne .iletisim-satir a { color: var(--laci); }
.ilet-sahne .form-baslik { color: var(--laci); }
.ilet-sahne label { color: var(--laci); }
.ilet-sahne input, .ilet-sahne textarea { background: rgba(255,255,255,.7); border-color: rgba(19,36,79,.25); }
.ilet-sahne .kvkk { color: var(--metin-2); }
.ilet-sahne .kvkk a { color: var(--altin-koyu); }
.ilet-sahne .btn-ana { background: var(--laci); color: #fff; }
.ilet-sahne .btn-ana:hover { background: var(--altin); color: var(--laci-koyu); }
.ilet-sahne .btn-cizgi { border-color: var(--laci); color: var(--laci); }
.ilet-sahne .btn-cizgi:hover { background: var(--laci); color: #fff; }
.ilet-sahne .harita { background: rgba(255,255,255,.3) url("img/guilos.svg") center / 520px no-repeat; border-color: rgba(255,255,255,.75); color: var(--metin-2); }
.ilet-sahne .harita .btn-beyaz { background: var(--laci); color: #fff; }
@media (max-width: 760px) { .ilet-bas { background-image: url("img/lux_hero_768.webp"); } .ilet-sahne { background-image: url("img/lux_hero_768.webp"); } }

/* alt bilgi: orijinal renkli logo, krem plaka üstünde (lacivert zeminde kaybolmasın) */
.alt-logo { display: inline-block; background: var(--zemin); padding: 18px 24px 16px; border-radius: 6px; margin-bottom: 22px; box-shadow: inset 0 0 0 1px rgba(184,151,90,.5); }
.alt-logo img { width: 170px; margin: 0; }
