@font-face { font-family: "Girassol"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/font/girassol-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: "Girassol"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/font/girassol-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; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/font/montserrat-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: "Montserrat"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/font/montserrat-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; }
/* Sayfalar ayrı belgeler; destekleyen tarayıcılarda geçiş kısa bir çapraz belirmeyle olur. */
@view-transition { navigation: auto; }

  /* Yerleşim: tek ekranlık sahne. Üstte tabela menüsü durur, her sekme kendi sayfasını
     kısa bir belirmeyle açar; aşağıya doğru akan bölüm yok. Renk ve yazı tanıtım sunumundan. */
  :root {
    --zemin: #150609;
    --zemin-2: #220b12;
    --kadife: #6e1422;
    --krem: #fde6c2;
    --krem-soluk: #d8bfa1;
    --altin: #d9a45b;
    --cizgi: rgba(217, 164, 91, .38);
    --yazi: "Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif;
    --tabela: "Girassol", "Montserrat", Georgia, serif; /* logonun yazı karakterine yakın, yalnızca açılış tarihinde */
    --ust-y: 92px;
    --bosluk: clamp(16px, 4vw, 56px);
    color-scheme: dark;
  }

  *, *::before, *::after { box-sizing: border-box; }
  [hidden] { display: none !important; }
  html, body { height: 100%; }
  body {
    margin: 0;
    background: var(--zemin);
    color: var(--krem);
    font-family: var(--yazi);
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  img { display: block; max-width: 100%; height: auto; }
  h1, h2, h3, p, ol, ul, dl, dd, figure { margin: 0; }
  ol, ul { padding: 0; list-style: none; }
  a { color: inherit; }
  :focus-visible { outline: 2px solid var(--altin); outline-offset: 3px; }
  h1[tabindex="-1"]:focus { outline: none; }

  .sahne { position: relative; height: 100%; overflow: hidden; background: var(--zemin); }

  /* ---------- Üst menü ---------- */
  .ust {
    position: absolute; inset: 0 0 auto; z-index: 30;
    height: var(--ust-y);
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    padding-left: max(var(--bosluk), env(safe-area-inset-left, 0px));
    padding-right: max(var(--bosluk), env(safe-area-inset-right, 0px));
    background: linear-gradient(to bottom, rgba(13, 3, 6, .9), rgba(13, 3, 6, .55) 62%, rgba(13, 3, 6, 0));
  }
  .ust a, .menu-dugme {
    font: 600 .74rem/1 var(--yazi);
    letter-spacing: .22em; text-transform: uppercase; text-decoration: none;
    color: var(--krem-soluk);
  }
  .ust { pointer-events: none; }
  .ust > * { pointer-events: auto; }
  /* Tam ekran görselli sayfalar (açılış, iletişim) dışında üst şerit düz zeminli; kayan içerik menünün altından görünmez. */
  .sahne:not([data-sayfa="acilis"]):not([data-sayfa="iletisim"]) .ust { background: #12050a; box-shadow: 0 1px 0 var(--cizgi); }
  .ust-ev { justify-self: start; }
  .maske { display: block; height: 50px; width: auto; fill: var(--krem); transition: transform .25s; }
  .ust-ev:hover .maske { transform: translateY(-2px); }
  .ust-ev::after { right: 0; }
  .menu { display: flex; align-items: center; gap: clamp(18px, 3vw, 44px); }
  .menu a, .ust-ev { position: relative; padding-block: 12px; transition: color .2s; }
  .ust .ust-ev { padding-block: 6px 10px; }
  .menu a::after, .ust-ev::after {
    content: ""; position: absolute; left: 0; right: .22em; bottom: 2px; height: 1px;
    background: var(--altin); transform: scaleX(0); transform-origin: left; transition: transform .25s;
  }
  .ust a:hover, .ust a[aria-current="page"] { color: var(--krem); }
  .ust a:hover::after, .ust a[aria-current="page"]::after { transform: scaleX(1); }
  .menu-logo { padding-block: 6px 10px; }
  .menu-logo img { height: 58px; width: auto; transition: transform .25s; }
  .menu-logo:hover img { transform: translateY(-2px); }
  .menu .menu-logo::after { right: 0; bottom: 0; }
  .menu-dugme {
    display: none; justify-self: start;
    background: none; border: 1px solid var(--cizgi); border-radius: 2px;
    padding: 12px 14px; cursor: pointer; color: var(--krem);
  }

  .menu-kat {
    position: absolute; inset: 0; z-index: 20;
    background: var(--zemin);
    padding: calc(var(--ust-y) + 12px) max(var(--bosluk), env(safe-area-inset-right, 0px)) 32px max(var(--bosluk), env(safe-area-inset-left, 0px));
    overflow-y: auto;
  }
  .menu-kat a {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
    padding: 18px 0; border-bottom: 1px solid var(--cizgi);
    font-size: 1.35rem; font-weight: 700; text-decoration: none; color: var(--krem);
  }
  .menu-kat a span { font-size: .74rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--altin); }
  .menu-kat a[aria-current="page"] { color: var(--altin); }

  /* ---------- Ortak sayfa iskeleti ---------- */
  .sayfa { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; }
  .ic-sayfa {
    padding-top: var(--ust-y);
    background:
      radial-gradient(ellipse 70% 60% at 88% -8%, rgba(217, 164, 91, .13), transparent 62%),
      var(--zemin);
  }
  .ic {
    min-height: 100%; max-width: 1360px; margin-inline: auto;
    display: flex; flex-direction: column; justify-content: center; gap: clamp(16px, 3vh, 36px);
    padding-block: 12px 24px;
    padding-left: max(var(--bosluk), env(safe-area-inset-left, 0px));
    padding-right: max(var(--bosluk), env(safe-area-inset-right, 0px));
  }
  .etiket {
    font-size: .72rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase;
    color: var(--altin); margin-bottom: 10px;
  }
  .sayfa h1, .baslik {
    font-size: clamp(1.7rem, 3.1vw, 2.7rem); font-weight: 700; line-height: 1.12;
    letter-spacing: -.01em; text-wrap: balance;
  }
  .tek-satir { white-space: nowrap; }
  .giris { color: var(--krem-soluk); max-width: 62ch; }
  .dipnot { font-size: .78rem; color: var(--krem-soluk); opacity: .8; }

  .dugme {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 0 22px; border-radius: 2px;
    background: var(--krem); color: #2a0a10; border: 1px solid var(--krem);
    font-size: .76rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
  }
  .dugme:hover { background: #fff3dd; border-color: #fff3dd; }

  /* ---------- Açılış girişi (A): tabela ışıkları yanana kadar menü ve yazılar görünmez ---------- */
  .ust, .acilis-yazi .acilis-not, .asagi-ok { transition: opacity .9s ease; }
  .sahne.giris-bekle .ust, .sahne.giriste .ust,
  .sahne.giris-bekle .acilis-yazi,
  .sahne.giriste .acilis-yazi .acilis-not, .sahne.giriste .asagi-ok { opacity: 0; }
  /* Giriş boyunca tarih ve slogan tabelayla birlikte önden gelir; pano yanınca onlar da ışıklanır. */
  .sahne.giriste .acilis-yazi .acilis-tarih {
    will-change: transform, opacity;
    text-shadow: 0 0 .32em rgba(255, 196, 120, calc(var(--isil, 0) * .6)), 0 2px 30px rgba(13, 3, 6, .9), 0 0 2px rgba(13, 3, 6, .6);
  }
  .sahne.giris-bekle .ust > *, .sahne.giriste .ust > * { pointer-events: none; }
  .sahne.giris-bekle .alt-a::before { content: ""; position: absolute; inset: 0; z-index: 3; background: #070204; }
  .giris-tuval { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }
  /* Giriş boyunca cephenin üstündeki koyu geçiş tuvalin de üstünde durur; tabela oturduğunda fotoğrafla aynı tonda kalır. */
  .alt-a.giris-katman::after { z-index: 3; opacity: var(--ortu, 0); }

  /* ---------- Açılış ---------- */
  .acilis-alt { position: absolute; inset: 0; background: #0d0306; }
  .acilis-alt > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  /* Dış cephede tabelanın üstündeki bina katları flulaşır. Açılış tarihi tabelanın altında, logonun yazı karakteriyle durur. */
  .alt-a > .flu {
    filter: blur(14px); transform: scale(1.05);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 27%, rgba(0, 0, 0, 0) 40%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 27%, rgba(0, 0, 0, 0) 40%);
  }
  .alt-a::after {
    background:
      linear-gradient(to bottom, rgba(13, 3, 6, .66) 0%, rgba(13, 3, 6, .42) 26%, rgba(13, 3, 6, 0) 41%),
      linear-gradient(to top, rgba(13, 3, 6, .94) 0%, rgba(13, 3, 6, .62) 26%, rgba(13, 3, 6, 0) 58%);
  }
  .acilis-alt::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to top, rgba(13, 3, 6, .94) 0%, rgba(13, 3, 6, .62) 26%, rgba(13, 3, 6, 0) 58%);
  }
  .acilis-yazi {
    position: absolute; z-index: 4;
    left: max(var(--bosluk), env(safe-area-inset-left, 0px));
    right: max(var(--bosluk), env(safe-area-inset-right, 0px));
    bottom: clamp(20px, 5vh, 48px);
    display: flex; flex-direction: column; align-items: center; gap: clamp(12px, 2.6vh, 24px); text-align: center;
  }
  .acilis-yazi .acilis-tarih {
    display: flex; flex-direction: column; align-items: center; gap: .1em;
    font-family: var(--tabela); font-weight: 400; line-height: 1; text-transform: uppercase;
    font-size: clamp(2.5rem, min(7vw, 11.5vh), 5.4rem); letter-spacing: .03em;
    color: var(--krem); text-shadow: 0 2px 30px rgba(13, 3, 6, .9), 0 0 2px rgba(13, 3, 6, .6);
  }
  .acilis-tarih .tarih-soz { font-size: .4em; letter-spacing: .14em; padding-left: .14em; }
  .acilis-yazi .acilis-not { justify-content: center; font-size: .68rem; opacity: .78; }
  .asagi-ok {
    display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
    border: 1px solid rgba(253, 230, 194, .5); color: var(--krem); background: rgba(13, 3, 6, .3);
    transition: background .2s, border-color .2s; animation: sek 2.4s ease-in-out infinite;
  }
  .asagi-ok:hover { background: rgba(253, 230, 194, .14); border-color: var(--krem); }
  .asagi-ok svg { width: 18px; height: 18px; }
  @keyframes sek { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
  .acilis-not {
    display: flex; flex-wrap: wrap; gap: 6px 20px;
    font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--krem-soluk);
  }
  .acilis-not strong { color: var(--altin); font-weight: 700; font-variant-numeric: tabular-nums; }

  .altin-cizgi { width: 150px; height: 2px; background: var(--altin); margin-block: clamp(4px, 1.4vh, 14px); }

  /* ---------- Feri Sahne: üç bölüm (hikâye, iki usta, zaman çizelgesi). Her bölüm bir ekran, başlıklar ortada. ---------- */
  .hikaye-kaydir {
    position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain;
    background: radial-gradient(ellipse 70% 60% at 88% -8%, rgba(217, 164, 91, .13), transparent 62%), var(--zemin);
  }
  .bolum {
    position: relative; min-height: 76%;
    display: flex; flex-direction: column; justify-content: center;
    padding: clamp(32px, 6vh, 64px) max(var(--bosluk), env(safe-area-inset-right, 0px)) clamp(32px, 6vh, 64px) max(var(--bosluk), env(safe-area-inset-left, 0px));
  }
  .bolum-1 { overflow: hidden; padding-top: calc(var(--ust-y) + clamp(28px, 6vh, 64px)); padding-bottom: clamp(36px, 7vh, 72px); }
  .bolum-3 { padding-bottom: clamp(40px, 8vh, 80px); }
  .bolum + .bolum { border-top: 1px solid var(--cizgi); }
  .bolum-ic {
    position: relative; z-index: 2; width: 100%; max-width: 1240px; margin-inline: auto;
    display: flex; flex-direction: column; align-items: center; gap: clamp(22px, 4vh, 40px);
  }
  .bolum h1, .bolum .baslik { text-align: center; }

  .bolum-1 > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
  .bolum-1::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: radial-gradient(ellipse at 50% 50%, rgba(21, 6, 9, .8), rgba(21, 6, 9, .94) 78%);
  }
  .bolum-1 .bolum-ic { gap: 0; text-align: center; }
  .bolum-1 h1 { font-size: clamp(2rem, 4.4vw, 3.8rem); font-weight: 800; max-width: 17ch; }
  .bolum-1 .altin-cizgi { width: 96px; margin-block: clamp(18px, 3.4vh, 34px); }
  .bolum-1 .giris { font-size: 1.05rem; max-width: 56ch; color: var(--krem); opacity: .92; }
  .bolum-1 .giris + .giris { margin-top: 14px; }

  .bolum-2 { min-height: 92%; }
  .bolum-2 .baslik { font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 800; }
  .ustalar { width: 100%; max-width: 1200px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px clamp(28px, 4.5vw, 72px); }
  .usta { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
  .usta-gorsel {
    height: clamp(190px, 36vh, 340px); aspect-ratio: 960 / 1220;
    display: grid; place-items: center; overflow: hidden; background: #2a060d;
  }
  .usta-gorsel img { width: 100%; height: 100%; object-fit: cover; }
  .usta-gorsel.logo img { width: 76%; height: auto; object-fit: contain; }
  .usta-etiket {
    font-size: .76rem; font-weight: 700; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; color: var(--altin);
    align-self: stretch; margin-top: 20px; padding-bottom: 11px; border-bottom: 1px solid var(--cizgi);
  }
  .usta h3 { font-size: clamp(1.5rem, 2.5vw, 2.1rem); font-weight: 800; line-height: 1.15; margin-top: 14px; }
  .usta-yil { font-size: .8rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--krem-soluk); font-variant-numeric: tabular-nums; margin-top: 8px; }
  .usta-metin { font-size: 1rem; line-height: 1.6; color: var(--krem-soluk); margin-top: 10px; max-width: 34ch; }

  .zaman { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
  .zaman li { display: flex; flex-direction: column; min-width: 0; }
  .zaman figure { overflow: hidden; background: var(--zemin-2); }
  .zaman figure img { width: 100%; aspect-ratio: 1390 / 975; max-height: 26vh; object-fit: cover; object-position: 50% 30%; transition: transform .6s; }
  .zaman li:hover figure img { transform: scale(1.04); }
  .zaman-cizgi {
    position: relative; height: 1px; background: var(--altin);
    margin: clamp(16px, 2.8vh, 30px) -28px clamp(14px, 2.4vh, 24px) 0;
  }
  .zaman li:last-child .zaman-cizgi { margin-right: 0; }
  .zaman-cizgi::before { content: ""; position: absolute; left: 0; top: -12px; width: 2px; height: 25px; background: var(--altin); }
  .zaman-ad { display: flex; flex-direction: column; gap: 8px; }
  .zaman-yil {
    display: flex; align-items: center; gap: 14px; min-height: 48px;
    font-size: clamp(1.5rem, 2.5vw, 2.1rem); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums;
  }
  .zaman-yil img { width: auto; height: 48px; }
  .zaman li:last-child .zaman-yil { color: var(--altin); }
  .zaman h3 { font-size: 1.05rem; font-weight: 700; }
  .zaman li > p { font-size: .9rem; line-height: 1.5; color: var(--krem-soluk); margin-top: 6px; }

  /* ---------- Kurumsal Kiralama: başlık, mekân kareleri, iletişim formu ---------- */
  .kurumsal-ic { align-items: center; justify-content: flex-start; text-align: center; gap: clamp(12px, 2.2vh, 22px); padding-block: clamp(14px, 3vh, 32px) 28px; }
  .kurumsal-ic h1 { font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 800; }
  .kurumsal-ic .giris { font-size: 1.05rem; max-width: 60ch; color: var(--krem); opacity: .92; text-wrap: pretty; }
  .mekanlar { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .mekanlar figure { position: relative; height: clamp(150px, 27vh, 320px); overflow: hidden; background: var(--zemin-2); }
  .mekanlar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .kform {
    width: min(100%, 860px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; text-align: left;
    margin-top: clamp(6px, 1.4vh, 14px); padding-top: clamp(18px, 3vh, 30px); border-top: 1px solid var(--cizgi);
  }
  .kform h2 { grid-column: 1 / -1; text-align: center; font-size: clamp(1.15rem, 1.8vw, 1.45rem); font-weight: 700; margin-bottom: 4px; }
  .kform label { display: flex; flex-direction: column; gap: 7px; font-size: .68rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--krem-soluk); }
  .kform input, .kform textarea {
    width: 100%; min-height: 46px; padding: 12px 14px; border-radius: 2px;
    font: 500 1rem/1.4 var(--yazi); letter-spacing: 0; text-transform: none; color: var(--krem);
    background: rgba(253, 230, 194, .06); border: 1px solid var(--cizgi);
  }
  .kform textarea { min-height: 104px; resize: vertical; }
  .kform input:focus-visible, .kform textarea:focus-visible { outline: 2px solid var(--altin); outline-offset: 1px; border-color: var(--altin); }
  .kform .tam { grid-column: 1 / -1; }
  .kform .dugme { grid-column: 1 / -1; justify-self: center; min-width: 190px; font-family: var(--yazi); cursor: pointer; }
  .kform-durum { grid-column: 1 / -1; text-align: center; font-size: .9rem; color: var(--altin); }
  .kurumsal-bilgi { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 32px; font-size: 1rem; color: var(--krem); }
  .kurumsal-bilgi span { color: var(--krem-soluk); margin-right: 8px; }

  /* ---------- Feri Lounge: üstte ortalı tek paragraf, altında kareler ---------- */
  .lounge-ic { align-items: center; text-align: center; gap: clamp(12px, 2.4vh, 24px); padding-block: clamp(14px, 3vh, 32px) 18px; }
  .lounge-ic h1 { font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 800; }
  /* Üç cümle, üç satır: her satır aynı genişliğe yaslanır. Kısa olan orta cümle büyük yazılır ki boşlukla değil yazıyla dolsun. */
  .lounge-ic .lounge-soz {
    width: fit-content; max-width: none; color: var(--krem); opacity: .94;
    font-size: clamp(.84rem, 1.2vw, 1.1rem); line-height: 1.75;
  }
  .lounge-soz span { display: block; white-space: nowrap; text-align: justify; text-align-last: justify; }
  .lounge-soz .vurgu { font-size: 2.14em; line-height: 1.35; font-weight: 600; color: var(--altin); }
  .kareler {
    width: 100%; flex: 1 1 auto; min-height: clamp(240px, 40vh, 520px); margin-top: clamp(2px, 1vh, 10px);
    display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px;
  }
  .kareler figure { position: relative; margin: 0; min-height: 0; overflow: hidden; background: var(--zemin-2); }
  .kareler figure:first-child { grid-row: 1 / -1; }
  .kareler figure:nth-child(2) { grid-column: 2 / -1; }
  .kareler img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
  .kareler figure:hover img { transform: scale(1.04); }

  /* ---------- Etkinlik Takvimi: sunumdaki 12 afiş, altında bilet notu ---------- */
  .takvim-ic { align-items: center; text-align: center; gap: clamp(10px, 2vh, 20px); padding-block: clamp(12px, 2.6vh, 28px) 18px; --afis-y: clamp(140px, 22vh, 300px); }
  .takvim-ic h1 { font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 800; }
  .takvim-ic .giris { color: var(--krem); opacity: .9; }
  .takvim-afis {
    width: 100%; display: grid; justify-content: center; gap: clamp(10px, 1.8vh, 18px) 16px; margin-top: clamp(2px, 1vh, 10px);
    grid-template-columns: repeat(6, minmax(0, calc(var(--afis-y) * .72)));
  }
  .takvim-afis li { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .takvim-afis img { width: 100%; aspect-ratio: 306 / 425; object-fit: cover; border: 1px solid var(--cizgi); transition: transform .3s; }
  .takvim-afis li:hover img { transform: translateY(-3px); }
  .takvim-afis span { font-size: .74rem; font-weight: 600; line-height: 1.3; min-height: 2.6em; text-wrap: balance; }
  .takvim-not {
    margin-top: clamp(2px, 1vh, 10px); padding-top: clamp(12px, 2vh, 20px); border-top: 1px solid var(--cizgi);
    width: min(100%, 46rem); font-size: 1rem; font-weight: 500; color: var(--krem);
  }

  /* ---------- İletişim: tam ekran dış cephe, altta adres ve e-posta ---------- */
  .tam-gorsel { position: absolute; inset: 0; background: #0d0306; }
  .tam-gorsel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .tam-gorsel::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
      linear-gradient(to bottom, rgba(13, 3, 6, .72) 0%, rgba(13, 3, 6, 0) 26%),
      linear-gradient(to top, rgba(13, 3, 6, .95) 0%, rgba(13, 3, 6, .7) 22%, rgba(13, 3, 6, 0) 54%);
  }
  .iletisim-yazi {
    position: absolute; z-index: 1;
    left: max(var(--bosluk), env(safe-area-inset-left, 0px));
    right: max(var(--bosluk), env(safe-area-inset-right, 0px));
    bottom: clamp(24px, 6vh, 56px);
    display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 1.6vh, 14px); text-align: center;
    text-shadow: 0 2px 24px rgba(13, 3, 6, .9);
  }
  .iletisim-yazi h1 { font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 800; }
  .adres { font-style: normal; font-size: 1.05rem; color: var(--krem); }
  .eposta { font-size: 1.05rem; font-weight: 600; letter-spacing: .04em; color: var(--altin); }

  /* ---------- Sayfa geçişi: yeni sayfa kısa bir belirmeyle gelir ---------- */
  .sayfa.belir { animation: belir .32s ease-out; }
  @keyframes belir { from { opacity: 0; } to { opacity: 1; } }

  /* ---------- Dar ekran ---------- */
  @media (max-width: 900px) {
    :root { --ust-y: 76px; }
    .ust-ev, .menu a:not(.menu-logo) { display: none; }
    .menu-dugme { display: inline-block; order: -1; }
    .menu-logo img { height: 50px; }
    .sahne:not([data-sayfa="acilis"]) .ust { background: var(--zemin); }

    /* Dış cephe görseli üstte kalır, yazı ışıklı tabelanın altındaki koyu zemine oturur. */
    .alt-a > img { height: 72%; }
    .alt-a::after {
      background:
        linear-gradient(to bottom, rgba(13, 3, 6, .66) 0%, rgba(13, 3, 6, .42) 17%, rgba(13, 3, 6, 0) 27%),
        linear-gradient(to top, #0d0306 0%, #0d0306 28%, rgba(13, 3, 6, .7) 39%, rgba(13, 3, 6, 0) 58%);
    }
    .acilis-yazi { gap: 12px; bottom: 24px; }

    .mekanlar { grid-template-columns: 1fr 1fr; gap: 6px; }
    .mekanlar figure { height: 120px; }
    .mekanlar figure:first-child { grid-column: 1 / -1; height: 190px; }
    .kform { grid-template-columns: minmax(0, 1fr); }
    .bolum-1 { padding-top: calc(var(--ust-y) + 28px); }
    .bolum-ic { align-items: stretch; }
    .bolum-1 .bolum-ic { align-items: center; }
    .ustalar { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .usta { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; align-content: start; align-items: start; text-align: left; }
    .usta-gorsel { grid-row: 1 / span 4; width: 112px; height: auto; }
    .usta-metin { max-width: none; font-size: .95rem; }
    .usta > :not(.usta-gorsel) { grid-column: 2; }
    .usta-etiket { margin-top: 0; }
    .usta h3 { margin-top: 10px; }
    .zaman figure img { max-height: none; height: clamp(110px, 21vh, 220px); aspect-ratio: auto; }
    .ic { justify-content: flex-start; }
    /* Zaman çizelgesi dar ekranda aşağı uzamaz; yana kaydırılan tek sıra olur. */
    .zaman {
      display: flex; width: auto; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
      margin-inline: calc(-1 * var(--bosluk)); padding-inline: var(--bosluk); scroll-padding-inline: var(--bosluk);
      scrollbar-width: none;
    }
    .zaman::-webkit-scrollbar { display: none; }
    .zaman li { flex: 0 0 80%; scroll-snap-align: start; }
    .zaman-cizgi { margin-right: -20px; }

    .lounge-ic .lounge-soz { width: auto; max-width: 34em; font-size: 1rem; line-height: 1.65; }
    .lounge-soz span { white-space: normal; text-align-last: center; }
    .lounge-soz .vurgu { font-size: 1.3em; margin-block: .35em; text-align: center; text-wrap: balance; }
    .kareler { flex: none; min-height: 0; grid-template-columns: 1fr 1fr; grid-template-rows: none; gap: 6px; }
    .kareler figure { aspect-ratio: 1 / 1; }
    .kareler figure:first-child { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 16 / 10; }
    .kareler figure:nth-child(2) { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
    .takvim-afis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; }
    .takvim-not { font-size: .95rem; }
    .tam-gorsel > img { height: 72%; }
    .tam-gorsel::after { background: linear-gradient(to top, #0d0306 0%, #0d0306 28%, rgba(13, 3, 6, .7) 39%, rgba(13, 3, 6, 0) 58%); }
    .iletisim-yazi { bottom: 32px; }
  }
  @media (min-width: 901px) and (max-width: 1100px) {
    .zaman { gap: 20px; }
    .zaman-cizgi { margin-right: -20px; }
  }
  @media (min-width: 901px) and (max-height: 700px) {
    :root { --ust-y: 78px; }
    .menu-logo img { height: 48px; }
    .ic { gap: 14px; padding-block: 6px 16px; }
    .sayfa h1, .baslik { font-size: clamp(1.4rem, 2.3vw, 1.9rem); }
    .bolum-1 h1 { font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
    .bolum-ic { gap: 16px; }
    .bolum-2 .baslik { font-size: clamp(1.7rem, 3vw, 2.4rem); }
    .usta-metin { font-size: .92rem; }
    .zaman li > p { font-size: .84rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  }
