/* ==========================================================================
   1774 Kazdağı Termal Otel
   Renk / tipografi değerleri "- Guideline.webp" dosyasından alınmıştır.
   ========================================================================== */

/* ==========================================================================
   FONTLAR
   Guideline: Başlık = Fraunces · Genel = Founders Grotesk
   Tüm font dosyaları sitenin kendi içinde durur (assets/fonts/).
   Dışarıdan (Google Fonts vb.) hiçbir şey yüklenmez.
   ========================================================================== */

/* --- Başlık fontu: Fraunces (değişken: opsz 9–144, ağırlık 100–900) -------- */
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces-latin.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  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 {
  /* Türkçe ş ğ İ ı ç ö ü karakterleri bu dosyadadır */
  font-family: "Fraunces";
  src: url("../fonts/fraunces-latin-ext.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* Fraunces'te Kiril alfabesi yoktur — Rusça başlıklar için eşdeğer serif */
@font-face {
  font-family: "Literata Kiril";
  src: url("../fonts/literata-cyrillic.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: "Literata Kiril";
  src: url("../fonts/literata-cyrillic-ext.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* --- Genel font: Founders Grotesk (lisanslı) ------------------------------
   Lisanslı .woff2 dosyalarını assets/fonts/ klasörüne aşağıdaki isimlerle
   koyduğunuzda site otomatik olarak bu fontu kullanır. Dosyalar yoksa
   tarayıcı sessizce yedek fonta (Hanken Grotesk) düşer.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "Founders Grotesk";
  src: url("../fonts/FoundersGrotesk-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Founders Grotesk";
  src: url("../fonts/FoundersGrotesk-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Founders Grotesk";
  src: url("../fonts/FoundersGrotesk-Semibold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Founders Grotesk";
  src: url("../fonts/FoundersGrotesk-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* --- Yedek genel font: Hanken Grotesk (ücretsiz, en yakın alternatif) ------ */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/hanken-latin.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  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: "Hanken Grotesk";
  src: url("../fonts/hanken-latin-ext.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/hanken-latin-italic.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: italic; font-display: swap;
  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: "Hanken Grotesk";
  src: url("../fonts/hanken-latin-ext-italic.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: italic; font-display: swap;
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* Hanken Grotesk'te Kiril alfabesi yoktur — Rusça gövde metni için */
@font-face {
  font-family: "Inter Kiril";
  src: url("../fonts/inter-cyrillic.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: "Inter Kiril";
  src: url("../fonts/inter-cyrillic-ext.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* --------------------------------------------------------------------------
   Tokenlar
   -------------------------------------------------------------------------- */
:root {
  --green:        #475546;
  --green-deep:   #283a2d;
  --green-btn:    #45563f;
  --gold:         #a87843;
  --gold-line-a:  #9c7433;
  --gold-line-b:  #f1d06e;
  --gold-soft:    #e6d693;
  --ink:          #313131;
  --ink-soft:     #4a4a4a;
  --cream:        #edeae4;
  --cream-card:   #e9e8e4;
  --white:        #ffffff;
  --line:         #d8d3c8;

  --ff-title: "Fraunces", "Literata Kiril", "Times New Roman", serif;
  --ff-body:  "Founders Grotesk", "Hanken Grotesk", "Inter Kiril", "Helvetica Neue", Arial, sans-serif;

  --wrap: 1594px;
  --gut: 32px;
  --hdr-h: 108px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--ff-body);
  font-size: clamp(17px, 1.279vw, 21.2px);
  line-height: 1.62;
  color: var(--ink);
  background-color: var(--cream);
  background-image: url("../img/site-genel-background.webp");
  background-repeat: repeat;
  background-size: 1200px auto;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

h1, h2, h3, h4 {
  font-family: var(--ff-title);
  font-weight: 400;
  color: var(--green);
  margin: 0;
  line-height: 1.15;
  font-optical-sizing: auto;
}

p { margin: 0 0 18px; }
p:last-child { margin-bottom: 0; }

.wrap { width: min(1594px, 100% - 64px); margin: 0 auto; }
.wrap-wide { width: min(1594px, 100% - 64px); margin: 0 auto; }

/* --------------------------------------------------------------------------
   Yardımcı tipografi
   -------------------------------------------------------------------------- */
.eyebrow {
  font-family: var(--ff-body);
  font-weight: 600;
  font-size: clamp(14px, 1.055vw, 17.5px);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 14px;
}
.h-lg  { font-size: clamp(30px, 3.317vw, 55.0px); }
.h-md  { font-size: clamp(26px, 2.563vw, 42.5px); }
.h-sm  { font-size: clamp(22px, 2.039vw, 33.8px); }
.lead  { font-size: clamp(17px, 1.279vw, 21.2px); color: var(--ink-soft); }
.center { text-align: center; }

.btn {
  display: inline-block;
  padding: clamp(10px, .86vw, 16px) clamp(24px, 1.77vw, 34px);
  border-radius: 999px;
  background: var(--green-btn);
  color: #fff;
  font-size: clamp(14px, .9vw, 17px);
  letter-spacing: .01em;
  border: 0;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.btn:hover { background: #38472f; transform: translateY(-1px); }
.btn-ghost {
  background: transparent;
  border: 1px solid var(--green);
  color: var(--green);
}
.btn-ghost:hover { background: var(--green); color: #fff; }

.link-underline {
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  font-size: clamp(15.5px, 1.17vw, 19.4px);
}

/* --------------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------------- */
.site-header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 90;
}
/* Anasayfa: header videonun üzerinde şeffaf başlar, sayfa kaydırılınca
   beyaz zemine geçip ekranın tepesinde sabit kalır. */
.site-header.is-overlay {
  position: fixed;
  left: 0; right: 0; top: 0;
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease;
  will-change: background;
}
.site-header.is-overlay .hdr-inner { transition: padding .3s ease; }
.site-header.is-overlay.is-stuck {
  background: #fff;
  box-shadow: 0 1px 20px rgba(40, 58, 45, .10);
}
.site-header.is-overlay.is-stuck .hdr-inner { padding-top: 9px; padding-bottom: 9px; }
.site-header.is-overlay.is-stuck .hdr-logo img { width: clamp(88px, 8.2vw, 136px); transition: width .3s ease; }
.site-header.is-overlay:not(.is-stuck) .lang-menu { box-shadow: 0 8px 34px rgba(0,0,0,.22); }
.hdr-inner {
  max-width: 1560px;
  margin: 0 auto;
  padding: 14px 40px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.hdr-logo { flex: none; }
.hdr-logo img { width: clamp(104px, 10.6vw, 176px); height: auto; }

.hdr-nav { display: flex; align-items: center; gap: 30px; margin: 0 auto; }
.hdr-nav a {
  font-size: clamp(15.5px, 1.17vw, 19.4px);
  color: var(--ink);
  padding: 6px 0;
  position: relative;
  white-space: nowrap;
}
.hdr-nav a::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width .28s ease;
}
.hdr-nav a:hover::after { width: 100%; }
.hdr-nav a.is-active { font-weight: 600; color: var(--green); }

.hdr-right { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.hdr-cta {
  display: inline-block;
  background: var(--green-btn);
  color: #fff;
  font-size: clamp(13px, 0.977vw, 16.2px);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 11px 30px;
  transition: background .25s ease;
}
.hdr-cta:hover { background: #38472f; }
.hdr-utils { display: flex; align-items: center; gap: 18px; }
.hdr-social { display: flex; gap: 16px; align-items: center; }

/* --- dil seçici ---------------------------------------------------------- */
.lang-switch { position: relative; }
.lang-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 0; cursor: pointer; padding: 4px 2px;
  font-size: clamp(13px, .93vw, 15.5px);
  letter-spacing: .06em; color: var(--ink);
  transition: color .2s ease;
}
.lang-btn:hover, .lang-switch.is-open .lang-btn { color: var(--gold); }
.lang-btn svg { width: 16px; height: 16px; flex: none; }
.lang-caret { width: 10px; height: 7px; transition: transform .25s ease; }
.lang-switch.is-open .lang-caret { transform: rotate(180deg); }
.lang-menu {
  position: absolute; top: calc(100% + 10px); right: 0;
  background: #fff; min-width: 172px;
  box-shadow: 0 8px 30px rgba(40,58,45,.16);
  padding: 6px 0; z-index: 30;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.lang-switch.is-open .lang-menu { opacity: 1; visibility: visible; transform: none; }
.lang-menu a {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 18px; font-size: 15px; color: var(--ink);
  white-space: nowrap; transition: background .18s ease, color .18s ease;
}
.lang-menu a:hover { background: var(--cream); color: var(--green); }
.lang-menu a.is-on { color: var(--green); font-weight: 600; }
.lang-menu .lang-code {
  font-size: 11.5px; letter-spacing: .1em; color: var(--gold);
  min-width: 22px;
}

/* mobil menüdeki dil satırı */
.mnav-langs { display: flex; gap: 8px; margin-top: 26px; }
.mnav-langs a {
  padding: 8px 16px; border: 1px solid rgba(255,255,255,.28);
  color: #e9e7df; font-size: 14px; letter-spacing: .08em;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.mnav-langs a.is-on, .mnav-langs a:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
.hdr-social a { color: var(--ink); display: inline-flex; transition: color .2s ease; }
.hdr-social a:hover { color: var(--gold); }
.hdr-social svg { width: 18px; height: 18px; fill: currentColor; }

.hdr-burger {
  display: none;
  background: none; border: 0; padding: 6px;
  cursor: pointer;
  margin-left: auto;
}
.hdr-burger span {
  display: block; width: 30px; height: 3px;
  background: var(--ink); border-radius: 2px;
  transition: transform .3s ease, opacity .25s ease;
}
.hdr-burger span + span { margin-top: 6px; }
.is-menu-open .hdr-burger span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.is-menu-open .hdr-burger span:nth-child(2) { opacity: 0; }
.is-menu-open .hdr-burger span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* mobil panel */
.mnav {
  position: fixed; inset: 0;
  background: var(--green-deep);
  z-index: 120;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.5,.1,.2,1);
  display: flex; flex-direction: column;
  padding: 26px 26px 40px;
  overflow-y: auto;
}
.is-menu-open .mnav { transform: translateX(0); }
.mnav-top { display: flex; justify-content: space-between; align-items: center; }
.mnav-top img { width: 106px; filter: brightness(0) invert(1); display: block; }
.mnav-logo { display: block; line-height: 0; }
.mnav-close { background: none; border: 0; color: #fff; font-size: clamp(34px, 2.563vw, 42.5px); line-height: 1; cursor: pointer; padding: 0 4px; }
.mnav-links { margin: 44px 0 auto; display: flex; flex-direction: column; gap: 4px; }
.mnav-links a {
  font-family: var(--ff-title);
  font-size: clamp(27px, 2.039vw, 33.8px);
  color: #f1efe8;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.mnav-links a.is-active { color: var(--gold-soft); }
.mnav-foot { margin-top: 34px; color: #cfd6ca; font-size: clamp(15px, 1.134vw, 18.8px); display: flex; flex-direction: column; gap: 10px; }
.mnav-foot .btn { align-self: flex-start; background: var(--gold); }
.mnav-social { display: flex; gap: 20px; margin-top: 6px; }
.mnav-social svg { width: 20px; height: 20px; fill: #fff; }

/* --------------------------------------------------------------------------
   İç sayfa başlığı + gold/green ayraç
   -------------------------------------------------------------------------- */
.page-head { background: #fff; text-align: center; padding: 6px 20px 30px; }
.page-head h1 {
  font-size: clamp(26px, 2.563vw, 42.5px);
  letter-spacing: .1em;
  color: var(--ink);
  font-weight: 400;
}
.page-divider {
  height: 56px;
  background-image: url("../img/header-divider.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* --------------------------------------------------------------------------
   Bölüm boşlukları
   -------------------------------------------------------------------------- */
.sec { padding: 82px 0; }
.sec-sm { padding: 56px 0; }
.sec-tight { padding: 0 0 82px; }

/* iki kolonlu metin + görsel */
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.split.rev > *:first-child { order: 2; }
.split-narrow { grid-template-columns: 1.05fr 1fr; }

/* --------------------------------------------------------------------------
   Tam taşan (full-bleed) iki kolonlu bloklar
   -------------------------------------------------------------------------- */
.bleed { display: grid; align-items: center; gap: 0; width: 100%; }
.bleed-l { grid-template-columns: 1.04fr 1fr; }
.bleed-r { grid-template-columns: 1fr 1.04fr; }
.bleed-pad-r { padding: 0 max(var(--gut), calc(50vw - 720px + var(--gut))) 0 clamp(28px, 4vw, 64px); }
.bleed-pad-l { padding: 0 clamp(28px, 4vw, 64px) 0 max(var(--gut), calc(50vw - 720px + var(--gut))); }

/* --------------------------------------------------------------------------
   ANASAYFA — statik giriş görseli
   -------------------------------------------------------------------------- */
.hero-static { position: relative; line-height: 0; background: #cfd6d8; }
.hero-static img { display: block; width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   Yeşil bölüm (curved divider'lı)
   -------------------------------------------------------------------------- */
.green-block {
  position: relative;
  background: transparent;
}
/* Altın kavis hero videonun ÜZERİNE biner: kavisin üstündeki şeffaf alandan
   krem zemin değil, videonun kendisi görünür. Kaydırma payı = gb-top yüksekliği
   (divider-top.png 1939x180 -> %9.283 genişlik). */
.hero-static + .green-block { margin-top: -9.283vw; }
.green-block .gb-top,
.green-block .gb-bot {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.green-block .gb-top {
  background-image: url("../img/divider-top.png");
  aspect-ratio: 1939 / 180;
  margin-bottom: -1px;
}
.green-block .gb-bot {
  background-image: url("../img/divider-bottom.png");
  aspect-ratio: 1939 / 151;
  margin-top: -1px;
}
.green-block .gb-body {
  background: var(--green-deep);
  position: relative;
  z-index: 1;
  padding: clamp(14px, 1.5vw, 28px) 0 clamp(42px, 5.8vw, 111px);
  text-align: center;
}
.green-block h2 {
  font-size: clamp(24px, 2.774vw, 46px);
  margin: 0 auto 30px;
}
.green-block .gb-lead {
  font-size: clamp(16px, 1.387vw, 23px);
  line-height: 1.74;
  margin: 0 auto;
  max-width: 68em;
}

/* kart şeridi: yeşil bloğun alt kavisinin üzerine biner, krem zemine taşar */
.rooms-float {
  position: relative;
  z-index: 6;
  margin-top: clamp(-260px, -10.83vw, -70px);
  padding-bottom: clamp(38px, 3.5vw, 68px);
}
.rooms-float .btn-row { text-align: center; margin-top: clamp(22px, 2.24vw, 43px); }
.green-block h2 { color: var(--gold-soft); }
.green-block p { color: #e6e6df; }

/* --------------------------------------------------------------------------
   Anasayfa oda kartları
   -------------------------------------------------------------------------- */
.room-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.13%;
}
.room-card {
  position: relative;
  overflow: hidden;
  display: block;
  background: #1c2419;
}
.room-card img {
  width: 100%; height: 100%; object-fit: cover;
  aspect-ratio: 1220 / 787;
  transition: transform .7s cubic-bezier(.2,.6,.2,1);
}
.room-card:hover img { transform: scale(1.045); }

.room-strip-wrap { position: relative; z-index: 3; margin-top: 40px; }

/* --------------------------------------------------------------------------
   1774 hikâye bölümü
   -------------------------------------------------------------------------- */
.story {
  background-image: url("../img/1774-background.webp");
  background-size: cover;
  background-position: center;
  text-align: center;
  padding: 96px 0 100px;
}
.story .story-mark { width: min(190px, 60%); margin: 0 auto 18px; }
.story h2 { font-size: clamp(28px, 3.016vw, 50.0px); color: var(--green); }
.story .story-sub { font-size: clamp(18px, 1.357vw, 22.5px); color: var(--ink-soft); margin-top: 10px; }
.story .story-body { max-width: min(810px, 100%); margin: 30px auto 0; }
.story .btn { margin-top: 30px; }

/* --------------------------------------------------------------------------
   Kahvaltı bloğu
   -------------------------------------------------------------------------- */
.brk-media { position: relative; }
.brk-media .brk-badge {
  position: absolute;
  top: -14px; right: -6px;
  width: 116px;
  z-index: 3;
}
.brk-media .brk-photo { width: 100%; }
/* “Afiyet olsun, israf olmasın.” — daha belirgin dursun */
.sign-img { max-width: min(470px, 100%); margin: 26px 0 30px; }

/* --------------------------------------------------------------------------
   SPA sekmeli bölüm (anasayfa)
   -------------------------------------------------------------------------- */
.spa-band { padding: 0 0 82px; }
.spa-visual { position: relative; overflow: hidden; min-height: 520px; align-self: stretch; }
.spa-visual img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity .8s ease;
}
.spa-visual img.is-on { opacity: 1; }
.spa-copy { align-self: center; }
.spa-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 34px; }
.spa-tabs button {
  background: none; border: 0; cursor: pointer;
  font-size: clamp(16.5px, 1.242vw, 20.6px); color: var(--gold);
  padding: 6px 10px;
  transition: color .25s ease;
}
.spa-tabs button.is-on { color: var(--green); font-weight: 700; }
.spa-tabs .sep { color: var(--line); }

/* --------------------------------------------------------------------------
   Deneyimler şeridi
   -------------------------------------------------------------------------- */
.exp-band {
  background: linear-gradient(to bottom, #fff 0,
              #fff calc(100% - clamp(40px, 6.04vw, 116px)),
              rgba(255,255,255,0) calc(100% - clamp(40px, 6.04vw, 116px)));
  padding: clamp(30px, 2.65vw, 44px) 0 0;
}
/* şeridin taştığı boşluk + bir sonraki bölümün nefes payı */
.exp-band + .sec-tight { padding-top: clamp(70px, 12vw, 200px); }
.exp-head-marks { display: flex; gap: clamp(14px, 2.5vw, 42px); align-items: center; justify-content: flex-end; }
.exp-head-marks img { height: auto; }
.exp-head-marks img.m-kekik { width: clamp(110px, 13vw, 216px); }
.exp-head-marks img.m-kalp  { width: clamp(90px, 10.6vw, 176px); }
.exp-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.32%;
  margin-top: clamp(40px, 4.3vw, 83px);
}
.exp-strip img { width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   Yakın yerler
   -------------------------------------------------------------------------- */
.near-grid { display: grid; grid-template-columns: 1fr 1.05fr .9fr; gap: 46px; align-items: center; }
.near-list { display: flex; flex-direction: column; }
.near-row {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.near-row:last-child { border-bottom: 0; }
.near-row .nr-ico { width: 26px; opacity: .85; }
.near-row .nr-name { font-size: clamp(13px, 0.977vw, 16.2px); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.near-row .nr-mode { font-size: clamp(12.5px, 0.941vw, 15.6px); color: #8a8a86; }
.near-row .nr-time { font-size: clamp(13px, 0.977vw, 16.2px); color: var(--ink); white-space: nowrap; }
.near-italic { font-style: italic; font-weight: 600; color: var(--green); }

/* --------------------------------------------------------------------------
   PRE-FOOTER (yorum + konum)
   -------------------------------------------------------------------------- */
.prefooter { padding: 20px 0 78px; }
.pf-grid { display: grid; grid-template-columns: .488fr 1fr; gap: clamp(16px, 2.05vw, 34px); align-items: stretch; }
.pf-card {
  background: var(--cream-card);
  padding: 44px 34px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.pf-label {
  font-size: clamp(13.5px, 1.019vw, 16.9px); letter-spacing: .1em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.pf-score { font-family: var(--ff-title); font-size: clamp(56px, 4.222vw, 70.0px); color: var(--ink); line-height: 1; }
.pf-stars { color: #f5b301; font-size: clamp(26px, 1.96vw, 32.5px); letter-spacing: 4px; margin: 14px 0 10px; }
.pf-count { font-size: clamp(15px, 1.134vw, 18.8px); color: var(--ink-soft); }
.pf-brands { display: flex; gap: 18px; align-items: center; justify-content: center; margin: 18px 0 20px; }
.pf-brands svg { height: 26px; width: auto; }

.pf-map {
  /* yazı temiz krem zeminde, harita kartın sağ yarısında;
     haritanın alt kenarı sabit olduğu için deniz her ölçüde görünür */
  aspect-ratio: 1053 / 629;
  background-color: var(--cream-card);
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  align-items: center;
  position: relative;
}
.pf-map-img {
  grid-area: 1 / 2 / 2 / 3;
  align-self: stretch;
  background-image: url("../img/pre-footer-harita.webp");
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  /* sol kenarı yumuşak geçsin, sert çizgi olmasın */
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%);
          mask-image: linear-gradient(90deg, transparent 0, #000 16%);
}
.pf-map-copy { grid-area: 1 / 1 / 2 / 2; position: relative; z-index: 2; }
.pf-map-copy { padding: 46px 30px; text-align: center; }
.pf-map-copy .pf-addr-1 { font-family: var(--ff-title); font-size: clamp(19px, 1.435vw, 23.8px); color: var(--ink); }
.pf-map-copy .pf-addr-2 { font-family: var(--ff-title); font-size: clamp(27px, 2.039vw, 33.8px); color: var(--ink); line-height: 1.25; margin-top: 2px; }
.pf-map-copy p { margin: 20px 0 22px; font-size: clamp(16px, 1.206vw, 20.0px); }

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
.site-footer {
  background-color: var(--green-deep);
  background-image: url("../img/footer-background.webp");
  background-size: cover;
  background-position: center;
  color: #e7e6de;
  position: relative;
}
.ft-top {
  max-width: none; margin: 0;
  padding: clamp(22px, 1.7vw, 32px) 0 clamp(22px, 1.7vw, 32px) clamp(24px, 3.65vw, 70px);
  display: flex; align-items: center; gap: 32px;
}
.ft-logo img { width: clamp(104px, 9.4vw, 181px); }
.ft-social { display: flex; gap: 16px; }
.ft-social a { color: #fff; display: inline-flex; }
.ft-social svg { width: 19px; height: 19px; fill: currentColor; }
.ft-nav { display: flex; flex-wrap: wrap; gap: clamp(9px, 1.35vw, 26px); margin: 0 auto 0 clamp(6px, .9vw, 16px); }
.ft-nav a { font-size: clamp(13px, .94vw, 18.1px); color: #e7e6de; }
.ft-nav a:hover { color: #fff; text-decoration: underline; }
.ft-contact { display: flex; flex-direction: column; gap: 8px; font-size: clamp(12.5px, .91vw, 17.5px); }
.ft-contact div { display: flex; gap: 10px; align-items: flex-start; }
.ft-contact svg { width: 15px; height: 15px; fill: #e7e6de; margin-top: 4px; flex: none; }
.ft-cta {
  align-self: center;
  display: flex; align-items: center; justify-content: center;
  background: #213326;
  color: #fff;
  min-width: clamp(130px, 9.4vw, 180px);
  height: clamp(58px, 4.06vw, 78px);
  padding: 0 26px;
  font-size: clamp(14px, .85vw, 16px);
  transition: background .25s ease;
}
.ft-cta:hover { background: #16241a; }
.ft-bottom {
  max-width: none; margin: 0;
  padding: 4px clamp(24px, 3.95vw, 76px) clamp(16px, 1.2vw, 23px) clamp(24px, 3.65vw, 70px);
  display: flex; align-items: flex-end; gap: 30px;
  font-size: clamp(13.5px, 1.019vw, 16.9px); color: #d5d4cc;
}
.ft-legal { display: flex; gap: 22px; margin: 0 auto; }
.ft-legal a:hover { text-decoration: underline; }
.ft-renklam img { width: 108px; opacity: .95; }

/* --------------------------------------------------------------------------
   Görünürlük animasyonu
   -------------------------------------------------------------------------- */
.rv { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ==========================================================================
   ODALAR
   ========================================================================== */
.room-row { display: grid; grid-template-columns: .82fr 1fr; gap: 70px; align-items: center; padding: 56px 0; }
.room-row + .room-row { border-top: 1px solid var(--line); }
.room-gallery .rg-main { position: relative; overflow: hidden; }
.room-gallery .rg-main img { width: 100%; aspect-ratio: 1220/787; object-fit: cover; }
.room-gallery .rg-thumbs { display: flex; gap: 4px; margin-top: 4px; }
.room-gallery .rg-thumbs button {
  flex: 1; padding: 0; border: 0; background: none; cursor: pointer; overflow: hidden; line-height: 0;
  opacity: .78; transition: opacity .25s ease;
}
.room-gallery .rg-thumbs button.is-on,
.room-gallery .rg-thumbs button:hover { opacity: 1; }
.room-gallery .rg-thumbs img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.room-info h2 { font-size: clamp(26px, 2.642vw, 43.8px); margin-bottom: 22px; }
.room-info ul { list-style: none; margin: 0; padding: 0; }
.room-info li { position: relative; padding-left: 18px; margin-bottom: 15px; }
.room-info li::before { content: "•"; position: absolute; left: 0; color: var(--ink); }
.room-info li strong { font-weight: 700; }

/* ==========================================================================
   HAKKIMIZDA
   ========================================================================== */
/* --- Giriş: dar metin kolonu + sağda fotoğraf (önizleme 1920px ölçüleri) --- */
.about-top { padding: clamp(48px, 8.44vw, 140px) 0 clamp(60px, 9.59vw, 159px); }

.about-intro {
  display: grid;
  grid-template-columns: 41.3% 52.4%;
  justify-content: space-between;
  align-items: start;
}
.ai-copy { padding-top: clamp(18px, 3.07vw, 51px); }
.ai-copy .h-lg { margin-bottom: clamp(16px, 2vw, 33px); }
.ai-photo img { width: 100%; height: auto; }
/* fotoğraf sağda kartın bir miktar dışına taşar; taşma payı yalnızca
   konteynerin dışında gerçekten yer varsa uygulanır (yatay kaydırma olmaz) */
@media (min-width: 1025px) {
  .ai-photo { margin-right: calc(-1 * clamp(0px, (100vw - 1594px) / 2, 12px)); }
}

/* --- "Bir Rakamdan Daha Fazlası" beyaz kartı --- */
.about-meaning {
  background: #fff;
  display: grid;
  grid-template-columns: 36.7% 63.3%;
  align-items: center;
  padding: clamp(34px, 3.98vw, 66px) clamp(20px, 2.41vw, 40px) clamp(40px, 4.77vw, 79px) 0;
  margin-top: clamp(-51px, -3.07vw, -18px);
  position: relative;
  z-index: 2;
}
.am-left { text-align: center; }
.am-left .am-cap {
  font-size: clamp(13px, 1.21vw, 20px);
  letter-spacing: .09em; text-transform: uppercase; color: var(--ink);
}
.am-left .am-mark { width: clamp(150px, 16.95vw, 281px); margin: clamp(14px,1.6vw,26px) auto clamp(20px,2.6vw,43px); }
.am-left .am-title {
  font-family: var(--ff-title);
  font-size: clamp(20px, 1.87vw, 31px);
  color: var(--green);
}
.am-cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.4vw, 40px); text-align: center; }
.am-ico { height: clamp(44px, 4.46vw, 74px); display: flex; align-items: flex-end; justify-content: center; }
.am-ico img { width: auto; height: auto; max-height: 100%; }
.am-ico .ico-zirve { width: clamp(48px, 4.76vw, 79px); }
.am-ico .ico-date  { width: clamp(38px, 3.62vw, 60px); }
.am-cols h3 { font-size: clamp(22px, 2.05vw, 34px); margin: clamp(16px,2vw,33px) 0 clamp(20px,2.47vw,41px); }
.am-cols p { font-size: inherit; }
.am-note { text-align: center; margin-top: clamp(34px, 4.46vw, 74px); }

.values { text-align: center; padding: 24px 0 10px; }
.values h2 { font-family: var(--ff-title); font-size: clamp(26px,2.6vw,34px); color: var(--gold); letter-spacing: .05em; }
.values-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; margin-top: 42px; text-align: center; }
.values-grid .v-num { font-family: var(--ff-title); font-size: clamp(40px, 3.016vw, 50.0px); color: var(--green); }
.values-grid .v-name { font-family: var(--ff-title); font-size: clamp(20px, 1.508vw, 25.0px); color: var(--gold); margin: 10px 0 16px; line-height: 1.25; }
.values-grid p { font-size: clamp(15px, 1.134vw, 18.8px); }

/* Ön izlemede bu görsel düz duruyor ve gölgesi yok */
.tilt-img { transform: none; box-shadow: none; }
.tilt-img-r { transform: rotate(2deg); box-shadow: 0 18px 40px rgba(0,0,0,.10); }

/* ==========================================================================
   GASTRONOMİ
   ========================================================================== */
.gastro-collage { position: relative; padding-top: 12px; }
.gastro-collage .gc-back { width: 74%; }
.gastro-collage .gc-front { position: absolute; right: 0; bottom: -10px; width: 74%; }
.gastro-collage .gc-badge { position: absolute; top: 0; right: 6%; width: 108px; z-index: 3; }
.gastro-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: end; }
.img-cap { max-width: min(560px, 100%); }
.img-cap-c { max-width: min(560px, 100%); margin-left: auto; margin-right: auto; }

/* ==========================================================================
   TERMAL & SPA
   ========================================================================== */
.spa-intro { text-align: center; max-width: min(980px, 100%); margin: 0 auto; }
.spa-intro h2 { color: var(--gold); font-size: clamp(28px,2.8vw,38px); margin-bottom: 22px; }
.spa-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 62px; margin-top: 64px; }
.spa-cards img { width: 100%; aspect-ratio: 598/456; object-fit: cover; }
.spa-cards h3 { font-size: clamp(24px,2.2vw,31px); color: var(--gold); margin: 22px 0 16px; }

/* ==========================================================================
   SÜRDÜRÜLEBİLİRLİK
   ========================================================================== */
.sus-hero-img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1241/826; }
.sus-badge { }
.sus-badge { width: min(148px, 45%); margin-bottom: 26px; }
.sus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; margin-top: 78px; text-align: center; }
.sus-grid img { width: 100%; aspect-ratio: 500/332; object-fit: cover; }
.sus-grid h3 { font-size: clamp(22px,2vw,28px); margin: 24px 0 16px; }

/* ==========================================================================
   DAVRANIŞ KURALLARI
   ========================================================================== */
/* --------------------------------------------------------------------------
   REZERVASYON FORMU
   -------------------------------------------------------------------------- */
/* butondan gelindiğinde başlık sabit menünün altında kalmasın */
.rez-sec { scroll-margin-top: calc(var(--hdr-h, 108px) + 18px); }
.rez-intro { max-width: 760px; margin: 0 auto; text-align: center; }
.rez-intro h2 { font-size: clamp(24px, 2.33vw, 38px); margin-bottom: 14px; }
.rez-intro p  { font-size: clamp(15px, 1.15vw, 19px); }

.rez-form {
  max-width: 820px;
  margin: clamp(28px, 3vw, 48px) auto 0;
  background: var(--cream-card);
  border: 1px solid #d9d4ca;
  box-shadow: 0 2px 10px rgba(40, 58, 45, .05);
  padding: clamp(22px, 2.6vw, 44px);
}
.rez-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.6vw, 24px); }
.rez-form label { display: block; margin-bottom: clamp(14px, 1.6vw, 22px); }
.rez-form label > span {
  display: block;
  font-size: clamp(13px, .98vw, 16px);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 7px;
}
.rez-form input,
.rez-form select,
.rez-form textarea {
  width: 100%;
  font: inherit;
  font-size: clamp(15px, 1.1vw, 18px);
  color: var(--ink);
  background: #fff;
  border: 1px solid #d3cdc2;
  padding: 11px 13px;
  border-radius: 2px;
  -webkit-appearance: none;
  appearance: none;
}
.rez-form textarea { resize: vertical; min-height: 110px; }
.rez-form select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23445140' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 12px 8px;
  padding-right: 36px;
}
.rez-form input:focus,
.rez-form select:focus,
.rez-form textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; border-color: var(--gold); }

.rez-send {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 6px; border: 0; cursor: pointer;
  background: #25d366; color: #0b3d20;
}
.rez-send:hover { background: #1eb956; }
.rez-send svg { width: 21px; height: 21px; fill: currentColor; flex: none; }
.rez-small { margin-top: 14px; font-size: clamp(13px, .95vw, 15.5px); color: #6d7268; }
.rez-err {
  max-width: 820px;
  margin: clamp(22px, 2.4vw, 36px) auto 0;
  background: #fbeeee;
  border: 1px solid #e0b4b4;
  color: #8c2f2f;
  padding: 12px 16px;
}
@media (max-width: 720px) {
  .rez-row { grid-template-columns: 1fr; gap: 0; }
  .rez-send { width: 100%; justify-content: center; }
}

/* --------------------------------------------------------------------------
   KALP KIRMA ZEYTİN KIR
   -------------------------------------------------------------------------- */
.olive-hero {
  position: relative;
  min-height: clamp(360px, 44vw, 640px);
  background-size: cover;
  background-position: center;
  display: grid;
  place-items: center;
  padding: clamp(40px, 5vw, 90px) var(--gut);
}
.olive-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(32,42,30,.28), rgba(32,42,30,.42));
}
.olive-hero .oh-frame {
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.85);
  padding: clamp(28px, 4vw, 72px) clamp(24px, 6vw, 110px);
  max-width: min(1080px, 100%);
  text-align: center;
}
.olive-hero h2 {
  color: #fff;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.18;
  margin: 0;
  font-size: clamp(30px, 4.2vw, 68px);
  text-shadow: 0 2px 18px rgba(0,0,0,.28);
}
.olive-intro {
  max-width: min(900px, 100%);
  margin: clamp(38px, 4.4vw, 76px) auto 0;
  text-align: center;
}
.olive-intro h2 {
  font-size: clamp(23px, 2.33vw, 38px);
  line-height: 1.34;
  margin: 0;
}
.olive-intro .olive-sub {
  font-style: italic;
  margin-top: clamp(14px, 1.4vw, 24px);
  font-size: clamp(15px, 1.18vw, 19.5px);
}
.olive-grid { margin-top: clamp(32px, 3.4vw, 58px); }
.olive-grid .press-open { aspect-ratio: 4 / 3; cursor: zoom-in; }
.olive-grid img { object-position: center; }

/* ==========================================================================
   BASINDA BİZ
   ========================================================================== */
.press-intro { text-align: center; max-width: min(760px, 100%); margin: 0 auto; }
.press-intro h2 { font-size: clamp(28px,2.8vw,38px); margin-bottom: 20px; }
.press-filters { display: flex; justify-content: center; gap: 14px; margin: 34px 0 0; flex-wrap: wrap; }
.press-filters button {
  border: 1px solid var(--green);
  background: transparent;
  color: var(--green);
  border-radius: 999px;
  padding: 10px 34px;
  font-size: clamp(14.5px, 1.092vw, 18.1px);
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.press-filters button.is-on,
.press-filters button:hover { background: var(--green-btn); color: #fff; border-color: var(--green-btn); }
.press-grid:empty { display: none; }
/* Tüm kupürler aynı ölçüde kare kutulara oturur; büyütmek için tıklanır */
.press-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 46px;
}
.press-grid figure {
  margin: 0;
  background: #fff;
  overflow: hidden;
  display: block;
}
.press-grid .press-open {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 0;
  background: #fff;
  cursor: zoom-in;
  position: relative;
  overflow: hidden;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}
.press-grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;   /* kupürün başlığı görünsün */
  transition: transform .6s ease;
}
.press-grid .press-open:hover img,
.press-grid .press-open:focus-visible img { transform: scale(1.03); }
.press-grid .press-open:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* televizyon kartı — kapak üzerinde oynat işareti */
.press-item.is-video .press-open { cursor: pointer; }
.press-item.is-video .press-noimg { display: block; width: 100%; height: 100%; background: var(--green-deep); }
.press-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform .35s ease;
}
.press-play svg { width: clamp(52px, 5.2vw, 88px); height: auto; filter: drop-shadow(0 2px 12px rgba(0,0,0,.45)); }
.press-item.is-video .press-open:hover .press-play { transform: scale(1.06); }

/* ---------------------------------------------------- kupür büyütme penceresi */
.press-lb[hidden] { display: none; }
.press-lb {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(21, 27, 22, .93);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 56px);
  opacity: 0;
  transition: opacity .28s ease;
}
.press-lb.is-open { opacity: 1; }
.press-lb-stage {
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.press-lb-stage img {
  max-width: 100%;
  max-height: calc(100vh - clamp(32px, 8vw, 112px));
  width: auto;
  height: auto;
  display: block;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  background: #fff;
  cursor: zoom-in;
}
/* görsele tıklayınca tam boyuta geçer — küçük yazılar okunabilsin */
.press-lb-stage.is-zoom {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  align-items: flex-start;
  justify-content: flex-start;
}
.press-lb-stage.is-zoom img {
  max-width: none;
  max-height: none;
  width: auto;
  cursor: zoom-out;
  margin: auto;
}
.press-lb-stage .press-lb-video {
  width: min(1200px, 92vw);
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - clamp(32px, 8vw, 112px));
  background: #000;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.press-lb-stage iframe,
.press-lb-stage video { width: 100%; height: 100%; border: 0; display: block; }
.press-lb-close,
.press-lb-nav {
  position: absolute;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, border-color .25s ease;
  -webkit-tap-highlight-color: transparent;
}
.press-lb-close:hover,
.press-lb-nav:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.6); }
.press-lb-close { top: clamp(12px, 2.2vw, 28px); right: clamp(12px, 2.2vw, 28px); width: 46px; height: 46px; }
.press-lb-nav { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; }
.press-lb-nav.is-prev { left: clamp(8px, 1.8vw, 26px); }
.press-lb-nav.is-next { right: clamp(8px, 1.8vw, 26px); }
.press-lb-nav[hidden] { display: none; }
body.lb-open { overflow: hidden; }

/* ==========================================================================
   İLETİŞİM
   ========================================================================== */
.contact-hero { display: grid; grid-template-columns: .82fr 1.18fr; gap: 50px; align-items: center; }
.contact-hero h2 { font-size: clamp(28px,2.8vw,38px); letter-spacing: .06em; margin-bottom: 22px; }
.contact-hero .ch-sign { max-width: min(380px, 100%); margin-top: 26px; }
.contact-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 60px; }
.contact-card {
  background: var(--cream-card);
  border: 1px solid #d9d4ca;          /* kenarlar belirgin dursun */
  box-shadow: 0 2px 10px rgba(40, 58, 45, .05);
  padding: 38px 26px 34px;
  text-align: center;
}
.contact-card svg { width: 44px; height: 44px; stroke: var(--gold); fill: none; stroke-width: 1.4; margin-bottom: 18px; }
.contact-card h3 { font-size: clamp(22px, 1.659vw, 27.5px); color: var(--ink); margin-bottom: 10px; }
.contact-card p { font-size: clamp(16px, 1.206vw, 20.0px); }
.contact-card a:hover { color: var(--gold); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1180px) {
  .hdr-nav { gap: 20px; }
  .hdr-nav a { font-size: clamp(14.5px, 1.092vw, 18.1px); }
  .hdr-logo img { width: 100px; }
  .spa-copy { padding-left: 40px; }
  .ft-nav { gap: 18px; }
  .ft-nav a { font-size: clamp(13px, .94vw, 18.1px); }
}

@media (max-width: 1024px) {
  :root { --gut: 24px; }
  .hdr-nav, .hdr-right { display: none; }
  .hdr-burger { display: block; }
  .hdr-inner { padding: 14px 24px; }

  .split, .split-narrow, .room-row, .contact-hero, .near-grid, .pf-grid, .gastro-duo,
  .bleed, .bleed-l, .bleed-r {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .bleed { gap: 30px; }
  .bleed-pad-r, .bleed-pad-l { padding: 0 var(--gut); }
  .bleed-r > *:first-child { order: 2; }
  .about-intro { grid-template-columns: 1fr; gap: 30px; }
  .ai-copy { padding-top: 0; }
  .ai-photo { margin-right: 0; }
  .split.rev > *:first-child { order: 0; }
  .spa-copy { padding: 0; }
  .spa-visual { min-height: 340px; }
  .room-row { padding: 40px 0; }

  .exp-strip { grid-template-columns: repeat(3, 1fr); }
  .exp-head { grid-template-columns: 1fr !important; gap: 22px !important; }
  .exp-head-marks { justify-content: flex-start; }
  .values-grid { grid-template-columns: repeat(3, 1fr); gap: 26px; }
  .sus-grid { grid-template-columns: 1fr; gap: 40px; }
  .spa-cards { grid-template-columns: 1fr; gap: 44px; }
  .press-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .contact-cards { grid-template-columns: 1fr; }
  .about-meaning { grid-template-columns: 1fr; margin: 30px 0 0; padding: 36px 26px; gap: 30px; }
  .am-note { margin-top: 26px; }
  .about-top { padding: 48px 0 60px; }
  .am-cols { grid-template-columns: 1fr; gap: 28px; }

  /* mobil: harita kartın altında tam görünen bir bant olarak durur (hiç kırpılmaz) */
  .pf-map {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    aspect-ratio: auto;
    min-height: 0;
    background-color: var(--cream-card);
    padding-bottom: 0;
  }
  /* mobilde harita yazının altında, tam genişlikte bir şerit olur */
  .pf-map-copy { grid-area: 1 / 1 / 2 / 2; }
  .pf-map-img {
    grid-area: 2 / 1 / 3 / 2;
    width: 100%;
    aspect-ratio: 1800 / 1188;
    background-size: cover;
    background-position: center bottom;
    -webkit-mask-image: none;
            mask-image: none;
  }
  .pf-map-copy { padding: 42px 24px 12px; }

  .ft-top { flex-wrap: wrap; padding: 30px 24px; gap: 22px; }
  .ft-nav { margin: 0; width: 100%; }
  .ft-cta { padding: 14px 34px; align-self: flex-start; }
  .ft-bottom { flex-direction: column; align-items: flex-start; gap: 14px; padding: 0 24px 26px; }
  .ft-legal { margin: 0; }


  /* Mobil/tabletde header saydam değil: beyaz zeminli, akışta sabit bir bar.
     Video onun altından başlar, böylece hiçbir yeri örtülmez. */
  .site-header.is-overlay {
    position: sticky;
    background: #fff;
    box-shadow: 0 1px 20px rgba(40, 58, 45, .10);
  }
  .site-header.is-overlay:not(.is-stuck) { background: #fff; }
  .site-header.is-overlay.is-stuck .hdr-inner { padding-top: 14px; padding-bottom: 14px; }
  .site-header.is-overlay.is-stuck .hdr-logo img { width: 100px; }

  /* mobilde kart şeridi yeşilin bittiği yerden başlar */
  .rooms-float { margin-top: -4.6vw; padding-bottom: 34px; }

  .hero-static + .green-block { margin-top: -7.164vw; }
  .green-block .gb-top { background-image: url("../img/divider-top-m.png"); aspect-ratio: 1005 / 72; }
  .green-block .gb-bot { background-image: url("../img/divider-bottom-m.png"); aspect-ratio: 1005 / 46; }

  .story { padding: 70px 0 74px; }
  .sec { padding: 60px 0; }
}

@media (max-width: 720px) {
  body { font-size: clamp(16px, 1.206vw, 20.0px); }
  .sec { padding: 48px 0; }
  .exp-strip { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  /* mobilde iki sütun — kareler bozulmadan sığar */
  .press-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 32px; }
  .press-lb-close { width: 42px; height: 42px; }
  .press-lb-nav { width: 42px; height: 42px; }
  .press-lb { padding: 14px; }
  .room-strip { grid-template-columns: 1fr; }
  .pf-card { padding: 34px 20px; }
  .gastro-collage .gc-back, .gastro-collage .gc-front { width: 84%; }
  .brk-media .brk-badge { width: 88px; }
}

/* yatay kaydırmalı mobil şerit */
@media (max-width: 720px) {
  .m-scroll {
    display: flex;
    overflow-x: auto;
    gap: 14px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    margin: 0 calc(var(--gut) * -1);
    padding-left: var(--gut);
    padding-right: var(--gut);
  }
  .m-scroll::-webkit-scrollbar { display: none; }
  .m-scroll > * { flex: 0 0 78%; scroll-snap-align: center; }
}

/* ==========================================================================
   MOBİL — "Anasayfa -Mobil" ön izlemesine göre (≤720px)
   Ölçüler ön izlemenin (932px) yarısıdır: tasarım 466px genişlik içindir.
   ========================================================================== */
@media (max-width: 720px) {
  :root { --gut: 28px; }
  .wrap, .wrap-wide { width: calc(100% - (var(--gut) * 2)); }

  body { font-size: 14px; line-height: 1.5; }
  p { margin: 0 0 15px; }
  .lead { font-size: 14px; }
  .eyebrow { font-size: 13.5px; letter-spacing: .09em; margin-bottom: 12px; }
  .h-lg { font-size: 30px; }
  .h-md { font-size: 30px; }
  .h-sm { font-size: 22px; }
  .btn { padding: 12px 30px; font-size: 14px; }
  .link-underline { font-size: 14px; }
  .sec { padding: 44px 0; }
  .sec-tight { padding: 30px 0 44px; }

  /* ---------- başlık ---------- */
  .hdr-inner { padding: 11px var(--gut); }
  .hdr-logo img { width: 90px; }
  /* bar yüksekliği sabit kalsın: video ve yeşil blok ona göre hizalanıyor */
  .site-header.is-overlay.is-stuck .hdr-inner { padding-top: 11px; padding-bottom: 11px; }
  .site-header.is-overlay.is-stuck .hdr-logo img { width: 90px; }

  /* ---------- hero ---------- */
  /* mobil giriş görseli kendi oranıyla, kırpılmadan görünür */
  .hero-static img { width: 100%; height: auto; }

  /* ---------- yeşil blok ---------- */
  .green-block .gb-body { padding: 4px 0 26px; }
  /* ön izlemede başlık neredeyse kenardan kenara — daha geniş kap */
  .green-block .wrap-wide { width: calc(100% - 18px); }
  .green-block h2 { font-size: 22px; line-height: 1.25; }
  .green-block .gb-lead {
    font-size: 14px; line-height: 1.45; margin-top: 16px;
    max-width: 415px; margin-left: auto; margin-right: auto;
  }

  /* ---------- oda kartları ---------- */
  .rooms-float { margin-top: -3.4vw; padding-bottom: 30px; }
  .room-strip.m-scroll > * { flex: 0 0 63%; }
  .room-card img { aspect-ratio: 292 / 200; object-fit: cover; }
  .rooms-float .btn-row { margin-top: 22px; }

  /* ---------- 1774 hikâyesi ---------- */
  .story { padding: 52px 0 56px; }
  .story .story-mark { width: 160px; margin-bottom: 12px; }
  .story h2 { font-size: 24.5px; }
  .story .story-sub { font-size: 14.5px; margin-top: 12px; }
  .story .story-body { margin-top: 22px; }
  .story .btn { margin-top: 24px; }

  /* ---------- gastronomi: görsel üstte ---------- */
  .split.split-narrow { display: flex; flex-direction: column; gap: 24px; }
  /* kolaj soldan içeride başlar, sağdan taşar */
  .split.split-narrow > .brk-media { order: -1; margin: 0 calc(var(--gut) * -1) 0 16px; }
  .split.split-narrow > .rv { padding-left: 16px; }   /* ön izlemedeki iç girinti */
  .split.split-narrow > .rv p { max-width: 330px; }
  .brk-media .brk-badge { width: 92px; top: 0; right: 10px; }
  .sign-img { width: 100%; max-width: 360px; margin: 20px auto 22px; display: block; }
  .split.split-narrow > .rv .btn { display: block; width: max-content; margin: 0 auto; }

  /* ---------- termal & spa: sekmeler görselin hemen altında ---------- */
  .spa-band .bleed { display: flex; flex-direction: column; }
  .spa-visual { min-height: 0; aspect-ratio: 422 / 296; margin: 0; }
  .spa-copy { display: flex; flex-direction: column; padding: 20px var(--gut) 0; }
  .spa-copy .spa-tabs { order: -1; margin: 16px 0 24px; justify-content: center; gap: 8px; }
  .spa-tabs button { font-size: 13.5px; padding: 0 2px; }
  .spa-copy h2.h-md { font-size: 35px; }
  .spa-copy h2.h-lg { font-size: 46px; margin-bottom: 16px !important; }
  .spa-copy .btn { margin-top: 20px !important; align-self: flex-start; }

  /* ---------- doğa / kekik: markalar üstte ---------- */
  .exp-band .exp-head { display: flex; flex-direction: column; gap: 20px !important; }
  .exp-head-marks { order: -1; justify-content: center; gap: 26px; }
  .exp-head-marks img.m-kekik { width: 150px; }
  .exp-head-marks img.m-kalp  { width: 118px; }
  .exp-strip.m-scroll > * { flex: 0 0 43%; min-width: 0; }
  .exp-strip img { aspect-ratio: 200 / 176; object-fit: cover; }
  .exp-band .h-lg { font-size: 37px; }

  /* ---------- konaklama ---------- */
  .near-grid { gap: 24px; }
  .near-grid .h-lg { font-size: 39px; }
  .near-italic { font-size: 15px; line-height: 1.5; }

  /* ---------- yorum + konum kartları ---------- */
  .prefooter { padding: 8px 0 44px; }
  .pf-grid { gap: 14px; }
  .pf-card { padding: 26px 20px 24px; border-radius: 4px; }
  .pf-label { font-size: 12.5px; letter-spacing: .1em; }
  .pf-score { font-size: 44px; }
  .pf-stars { font-size: 22px; }
  .pf-count { font-size: 13px; }
  .pf-map { border-radius: 4px; overflow: hidden; }
  .pf-map-copy { padding: 26px 20px 14px; }
  .pf-map-copy .pf-addr-1 { font-size: 15px; }
  .pf-map-copy .pf-addr-2 { font-size: 22px; }
  .pf-map-copy p { font-size: 13.5px; margin: 14px 0 16px; }

  /* ---------- footer ---------- */
  .site-footer { text-align: center; }
  .ft-top {
    display: flex; flex-direction: column; align-items: center;
    gap: 0; padding: 46px var(--gut) 0;
  }
  .ft-logo img { width: 156px; }
  /* ön izlemede sıra: Instagram · Facebook · YouTube */
  .ft-social { gap: 26px; margin-top: 26px; }
  .ft-social a:nth-child(1) { order: 2; }   /* Facebook */
  .ft-social a:nth-child(2) { order: 1; }   /* Instagram */
  .ft-social a:nth-child(3) { order: 3; }   /* YouTube */
  .ft-social svg { width: 23px; height: 23px; }
  .ft-nav { display: none; }
  .ft-contact { margin-top: 26px; gap: 12px; font-size: 15px; align-items: center; }
  .ft-contact div { align-items: center; justify-content: center; gap: 12px; }
  .ft-contact svg { width: 17px; height: 17px; margin-top: 0; }
  .ft-cta {
    margin-top: 28px; align-self: center;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.55);
    padding: 15px 34px; min-width: 244px;
    display: inline-flex; align-items: center; justify-content: center; gap: 14px;
    letter-spacing: .12em; text-transform: uppercase; font-size: 13.5px;
  }
  .ft-cta:hover { background: rgba(255,255,255,.14); }
  .ft-bottom {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    padding: 0 var(--gut) 34px; margin-top: 30px; text-align: center;
  }
  .ft-bottom::before {
    content: ""; display: block; width: 100%; height: 1px;
    background: rgba(255,255,255,.28); margin-bottom: 22px;
    width: calc(100% - 48px); margin-left: auto; margin-right: auto;
  }
  .ft-legal { order: -1; margin: 0; gap: 18px; }
  .ft-renklam img { width: 118px; margin: 6px auto 0; }
}

/* footer — masaüstünde iki telefon tek ikon altında toplanır */
.ft-cta-m, .ft-cta-arrow { display: none; }
.ft-contact .ft-tel2 svg { visibility: hidden; }
.ft-contact .ft-tel1 { margin-bottom: -6px; }
.ft-br { display: none; }
@media (max-width: 720px) {
  .ft-cta-d { display: none; }
  .ft-cta-m { display: inline; }
  .ft-cta-arrow { display: inline-block; width: 22px; height: 11px; }
  .ft-contact .ft-tel2 svg { visibility: visible; }
  .ft-contact .ft-tel1 { margin-bottom: 0; }
  .ft-br { display: block; height: 0; }
}

/* ==========================================================================
   REVİZE — footer ortalama, header sağ blok hizası, deneyim kartları
   ========================================================================== */

/* --- footer: menü ve KVKK satırı footer'ın ortasında (masaüstü) ----------- */
@media (min-width: 1025px) {
  .ft-top { position: relative; }
  .ft-top .ft-nav {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    margin: 0; justify-content: center; max-width: 60%;
    flex-wrap: nowrap; white-space: nowrap;
  }
  .ft-top .ft-contact { margin-left: auto; }
  /* alt satır: yanlardaki iki öğe eşit paylaşır, ortadaki tam ortada kalır */
  .ft-bottom > div:first-child { flex: 1 1 0; }
  .ft-bottom .ft-renklam { flex: 1 1 0; text-align: right; }
  .ft-bottom .ft-renklam img { margin-left: auto; }
  .ft-bottom .ft-legal { margin: 0; flex: 0 0 auto; }
}
.ft-renklam a { display: inline-block; transition: opacity .25s ease; }
.ft-renklam a:hover { opacity: .7; }

/* --- deneyim kartları: hover + Sürdürülebilirlik sayfasına bağlantı ------- */
.exp-strip .exp-item {
  display: block;
  position: relative;
  overflow: hidden;
  line-height: 0;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.exp-strip .exp-item::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(40,58,45,0) 45%, rgba(40,58,45,.35) 100%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.exp-strip .exp-item img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.exp-strip .exp-item:hover,
.exp-strip .exp-item:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(40, 58, 45, .22);
}
.exp-strip .exp-item:hover img,
.exp-strip .exp-item:focus-visible img { transform: scale(1.05); }
.exp-strip .exp-item:hover::after,
.exp-strip .exp-item:focus-visible::after { opacity: 1; }
.exp-strip .exp-item:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .exp-strip .exp-item, .exp-strip .exp-item img { transition: none; }
  .exp-strip .exp-item:hover { transform: none; }
}

/* --- header sağ blok: rezervasyon yazısı ortalı, alt satır hizalı --------- */
.hdr-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: clamp(150px, 11.4vw, 219px);
  min-height: clamp(38px, 2.7vw, 52px);
  padding: 9px 22px;
  line-height: 1.1;
}
/* sağ blok: alt satır rezervasyon kutusunun altında ortalanır */
.hdr-right { gap: 10px; align-items: stretch; }
.hdr-utils { align-items: center; justify-content: center; gap: clamp(12px, 1.15vw, 22px); }
.hdr-social { gap: clamp(11px, .94vw, 18px); }
.lang-btn { padding: 0; line-height: 1; }
.lang-btn svg { margin-right: 2px; }
.lang-caret { margin-left: 1px; }

/* --- sayfa girişindeki fotoğraf altın çizginin hemen altından başlar ------ */
/* (Davranış Kuralları sayfasındaki gibi) */
.page-hero-flush { padding-top: 0; }
/* İletişim girişi — Sürdürülebilirlik sayfasıyla aynı düzen:
   fotoğraf üste ve sağ kenara dayanır, yazı fotoğrafa göre ortalanır */
@media (min-width: 1025px) {
  .contact-hero.bleed { display: grid; grid-template-columns: 1fr 1.04fr; gap: 0; align-items: center; }
}
@media (max-width: 1024px) {
  /* mobil/tablet: fotoğraf üstte, yazı altta */
  .contact-hero.bleed { display: grid; grid-template-columns: 1fr; gap: 30px; }
  .contact-hero .ch-photo img { min-height: 0; aspect-ratio: 1462 / 760; height: auto; }
  .contact-hero .bleed-pad-l { padding-top: 0; padding-bottom: 0; }
}
.contact-hero .ch-photo { align-self: stretch; }
.contact-hero .ch-photo img {
  width: 100%;
  height: 100%;
  min-height: clamp(320px, 28vw, 540px);
  object-fit: cover;
  object-position: center;
  display: block;
}
.contact-hero .bleed-pad-l { padding-top: clamp(30px, 3vw, 56px); padding-bottom: clamp(30px, 3vw, 56px); }
/* kutucuklar giriş bölümünün içinde: yazı sütununda başlar, fotoğrafın
   soluna doğru taşarak üç kart rahatça yan yana sığar */
.contact-hero .contact-cards {
  margin-top: clamp(26px, 2.6vw, 46px);
  gap: clamp(12px, 1.2vw, 20px);
  position: relative;
  z-index: 2;
}
@media (min-width: 1025px) {
  .contact-hero .contact-cards { width: calc(100% + 40%); }
  .contact-hero .contact-card { padding: clamp(18px, 1.6vw, 28px) clamp(10px, 1vw, 18px); }
  .contact-hero .contact-card svg { width: 36px; height: 36px; margin-bottom: 12px; }
  .contact-hero .contact-card h3 { font-size: clamp(18px, 1.3vw, 22px); }
  .contact-hero .contact-card p  { font-size: clamp(14px, 1.03vw, 17px); }
}
@media (max-width: 1024px) {
  .page-hero-flush .contact-hero > div:first-child { padding-top: 34px; }
  .page-hero-flush { padding-top: 0; }
}

/* Gastronomi — “Afiyet olsun” bloğundaki fotoğraf tek parçadır */
.gastro-duo { grid-template-columns: 1fr; }

/* ==========================================================================
   REVİZE 5 — sağ/sol boşluk tutarlılığı
   Görseller bulundukları sütunu doldurur; sağda boşluk bırakmaz.
   ========================================================================== */
.img-cap { max-width: 100%; width: 100%; }


/* ==========================================================================
   REVİZE — yorum ve konum kartları: hafif gölge, harita alt kenarı sabit
   ========================================================================== */
.pf-card, .pf-map {
  border-radius: 5px;
  box-shadow: 0 14px 34px rgba(40, 58, 45, .10), 0 2px 6px rgba(40, 58, 45, .05);
}
.pf-map { overflow: hidden; }

/* --- mobile/masaüstü görsel değişimi ---------------------------------------
   !important: bu sadece göster/gizle anahtarıdır, bileşenlerin kendi
   kuralları (genişlik, yükseklik) araya girmemeli. */
.only-mob { display: none !important; }
@media (max-width: 720px) {
  .only-desk { display: none !important; }
  .only-mob { display: block !important; }
}

/* --- kendiliğinden kayan şeritler (mobil) ---------------------------------- */
@media (max-width: 720px) {
  /* Kart kart ilerleyen slider. Tarayıcının kendi yatay kaydırması kapatılır;
     kartlar bir "track" içinde transform ile taşınır. Telefonda kaydırmanın
     ataleti script'le çakışıp şeridi oynatıyordu, bu yüzden hiç kullanılmaz. */
  .m-scroll.is-auto {
    display: block;
    overflow: hidden;
    scroll-snap-type: none;
    scroll-behavior: auto;
    touch-action: pan-y;
  }
  .m-scroll.is-auto .strip-track {
    display: flex;
    gap: 14px;
    will-change: transform;
  }
  .m-scroll.is-auto .strip-track > * { flex: 0 0 78%; scroll-snap-align: none; }
  .room-strip.m-scroll.is-auto .strip-track > * { flex: 0 0 63%; }
  .exp-strip.m-scroll.is-auto .strip-track > * { flex: 0 0 43%; min-width: 0; }
}

/* ==========================================================================
   REVİZE — mobil düzen kuralları (≤720px)
   ========================================================================== */
@media (max-width: 720px) {
  /* --- iç sayfalarda görsel her zaman metnin üstünde ---------------------- */
  .split, .split-narrow { display: flex; flex-direction: column; }
  .split > .is-media, .split-narrow > .is-media { order: -1; }

  /* --- anasayfa: yeşil bölümün başlığı altın çizgiye yapışmasın ---------- */
  .green-block .gb-body { padding-top: 26px; }

  /* --- anasayfa: kahvaltı kolajı ortalansın (sağa dayalı durmasın) ------- */
  .split.split-narrow > .brk-media { margin: 0; }
  .brk-media .brk-photo { margin-left: auto; margin-right: auto; }
  .brk-media { display: flex; flex-direction: column; align-items: center; }
  .brk-media .brk-badge { right: 0; }

  /* --- anasayfa: metinlerle deneyim şeridi arasına boşluk ---------------- */
  .exp-band .exp-strip { margin-top: 34px; }

  /* --- Hakkımızda: 05 tek kalan kart ortalansın -------------------------- */
  .values-grid > *:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .values-grid > *:last-child:nth-child(odd) > * { max-width: 62%; margin-left: auto; margin-right: auto; }

  /* --- mobile özel giriş görselleri kare, tam genişlik ------------------- */
  /* görseller kırpılmadan, kendi oranlarıyla: altlarındaki yumuşak geçiş korunur */
  .sus-hero-img.only-mob { aspect-ratio: auto; object-fit: contain; width: 100%; height: auto; }
  .contact-hero .ch-photo img.only-mob { aspect-ratio: auto; object-fit: contain; width: 100%; height: auto; }
}
