/* PrimeFit Exclusive — ana sayfa */

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url("../fonts/archivo-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url("../fonts/archivo-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;
}

/* görüntü yazı tipi (2026-10-02): Montserrat, değişken 300–700, SIL OFL (assets/fonts/OFL-montserrat.txt); başlıklar, isimler, büyük sayılar */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/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;
}

:root {
  --ground: #0b0a09;
  --ground-2: #14120f;
  --ivory: #f4efe7;
  --ivory-soft: rgba(244, 239, 231, 0.78);
  --ivory-mute: rgba(244, 239, 231, 0.58);
  --champagne: #d9c3a3;
  --champagne-line: rgba(217, 195, 163, 0.62);
  --hairline: rgba(244, 239, 231, 0.28);

  --f-display: "Montserrat", "Helvetica Neue", Arial, sans-serif; /* 2026-10-02: başlık ve vurgu yazıları; gövde ve arayüz --f-ui (Archivo) */
  --f-ui: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --wide: 112%;

  --container: 1520px; /* içerik en fazla bu genişlikte; geniş ekranlarda kenar boşluğu büyür */
  --gutter-base: clamp(20px, 5.6vw, 108px);
  --gutter: max(var(--gutter-base), calc((100vw - var(--container)) / 2));
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --scene-ms: 7000ms;
  --section: clamp(96px, 13vw, 200px);
  --warn: #eba597;

  color-scheme: dark;
}

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scrollbar-color: #4a4238 var(--ground); scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ground);
  color: var(--ivory);
  font-family: var(--f-ui);
  font-size: 16px;
  line-height: 1.6;
  font-feature-settings: "ss01" 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--champagne); color: var(--ground); }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--ground); }
::-webkit-scrollbar-thumb { background: #3a342c; border: 3px solid var(--ground); border-radius: 10px; }

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }

:focus-visible { outline: 1px solid var(--champagne); outline-offset: 5px; border-radius: 2px; }

.skip {
  position: absolute; left: var(--gutter); top: 12px; z-index: 50;
  padding: 10px 16px; background: var(--ivory); color: var(--ground);
  font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
  transform: translateY(-160%); transition: transform 0.3s var(--ease-out);
}
.skip:focus { transform: none; }

/* ─── Top bar ─────────────────────────────────────────── */

.topbar {
  position: fixed; inset: 0 0 auto; z-index: 20;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
  padding: clamp(22px, 3.4vh, 40px) var(--gutter) 14px;
  transition: background-color 0.5s ease, padding 0.5s var(--ease-out), transform 0.6s var(--ease-out), border-color 0.5s ease;
  border-bottom: 1px solid transparent;
}
.topbar.is-solid { background: rgba(11, 10, 9, 0.96); padding-top: 14px; border-bottom-color: rgba(244, 239, 231, 0.08); }
.topbar.is-hidden { transform: translateY(-105%); }
body.menu-open .topbar { transform: none; background: transparent; border-bottom-color: transparent; }

.wordmark { justify-self: start; display: block; line-height: 0; }
.wordmark__logo { display: block; width: clamp(138px, 11vw, 196px); height: auto; }

.mainnav ul { display: flex; gap: clamp(22px, 2.5vw, 44px); }
.mainnav a {
  position: relative; display: block; padding: 8px 0;
  font-size: clamp(12.5px, 0.86vw, 14.5px); font-weight: 400; letter-spacing: 0.02em;
  color: var(--ivory-soft); transition: color 0.3s ease;
}
.mainnav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform 0.5s var(--ease-out);
}
.mainnav a:hover { color: var(--ivory); }
.mainnav a:hover::after { transform: scaleX(1); }
.mainnav a[aria-current="page"] { color: var(--ivory); font-weight: 600; }
.mainnav a[aria-current="page"]::after { transform: scaleX(1); background: var(--ivory); }

.topbar__actions { justify-self: end; display: flex; align-items: center; gap: clamp(14px, 1.2vw, 22px); }

.pill {
  display: inline-flex; align-items: center; gap: 18px;
  height: clamp(42px, 3vw, 50px); padding: 0 clamp(20px, 1.6vw, 28px);
  border: 1px solid var(--champagne-line); border-radius: 999px;
  font-size: clamp(11px, 0.72vw, 12.5px); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.4s var(--ease-out), color 0.4s var(--ease-out), border-color 0.4s ease;
}
.pill__arrow { width: 18px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform 0.5s var(--ease-out); }
.pill:hover { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.pill:hover .pill__arrow { transform: translateX(4px); }

.menubtn {
  position: relative; display: grid; place-items: center;
  width: clamp(42px, 3vw, 50px); aspect-ratio: 1; border-radius: 50%;
  border: 1px solid var(--hairline); transition: border-color 0.3s ease;
}
.menubtn:hover { border-color: var(--champagne); }
.menubtn__lines, .menubtn__lines::before { display: block; width: 16px; height: 1px; background: var(--ivory); transition: transform 0.45s var(--ease-out); }
.menubtn__lines { position: relative; transform: translateY(-3px); }
.menubtn__lines::before { content: ""; position: absolute; left: 0; top: 6px; }
.menubtn[aria-expanded="true"] .menubtn__lines { transform: rotate(45deg); }
.menubtn[aria-expanded="true"] .menubtn__lines::before { transform: translateY(-6px) rotate(-90deg); }

/* ─── Hero ────────────────────────────────────────────── */

.hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100vh; min-height: 100svh;
  display: grid;
  grid-template-columns: var(--gutter) minmax(0, 1fr) auto var(--gutter);
  grid-template-rows: clamp(110px, 17vh, 180px) 1fr auto;
}

.hero__scenes { position: absolute; inset: 0; z-index: -2; background: var(--ground-2); }
.scene { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1); }
.scene.is-active { opacity: 1; }
.scene img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(var(--b, 0.7)) saturate(var(--s, 1.04)) contrast(var(--c, 1.14));
  transform: scale(1.07);
  transition: transform 9s var(--ease-out);
}
.scene.is-active img { transform: scale(1); }
.scene[data-scene="havuz"] img { object-position: 50% 55%; --b: 0.68; }
.scene[data-scene="fitness"] img { object-position: 50% 45%; --b: 0.7; }
.scene[data-scene="spa"] img { object-position: 50% 60%; --b: 0.62; }
.scene[data-scene="grup"] img { object-position: 50% 45%; --b: 0.72; }

.hero__shade {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(6, 8, 10, 0.6) 0%, rgba(6, 8, 10, 0) 20%),
    linear-gradient(0deg, var(--ground) 0%, rgba(11, 10, 9, 0.45) 9%, rgba(6, 8, 10, 0) 26%),
    linear-gradient(90deg, rgba(6, 8, 10, 0.86) 0%, rgba(6, 8, 10, 0.68) 30%, rgba(6, 8, 10, 0.12) 54%, rgba(6, 8, 10, 0) 68%, rgba(6, 8, 10, 0.5) 100%);
}

.hero__copy { grid-column: 2; grid-row: 2 / 4; align-self: center; max-width: 40rem; padding-bottom: clamp(72px, 12vh, 132px); }

.hero__place {
  margin: 0 0 clamp(14px, 2vh, 22px);
  font-size: clamp(11px, 0.78vw, 13.5px); font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--ivory-soft);
}

.hero__title {
  margin: 0;
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(2.9rem, min(0.8rem + 3.9vw, 10.5vh), 5.6rem);
  line-height: 1.02; letter-spacing: 0.012em; text-transform: uppercase;
}
.hero__title span { display: block; }
.hero__title-accent { color: var(--champagne); }

.hero__lead {
  margin: clamp(18px, 2.6vh, 28px) 0 0; max-width: 23em;
  font-size: clamp(15px, 1.02vw, 18px); line-height: 1.62; font-weight: 400; color: var(--ivory-soft);
}

.play { display: inline-flex; align-items: center; gap: 18px; }
.play__ring {
  display: grid; place-items: center; width: clamp(50px, 3.6vw, 60px); aspect-ratio: 1;
  border: 1px solid rgba(244, 239, 231, 0.7); border-radius: 50%;
  transition: background-color 0.45s var(--ease-out), border-color 0.45s ease, transform 0.6s var(--ease-out);
}
.play__ring svg { width: 22px; height: 22px; fill: var(--ivory); transition: fill 0.45s ease; }
.play__label { font-size: clamp(11px, 0.72vw, 12.5px); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; }
.play:hover .play__ring { background: var(--ivory); border-color: var(--ivory); transform: scale(1.06); }
.play:hover .play__ring svg { fill: var(--ground); }

.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 28px; margin-top: clamp(28px, 5vh, 52px); }
.hero__cta { display: none; }

/* bottom-left: scene track + scroll cue */

.track {
  position: absolute; left: var(--gutter); bottom: clamp(28px, 5.5vh, 56px);
  display: flex; align-items: center; gap: 14px;
  font-size: 11.5px; font-weight: 500; letter-spacing: 0.12em; font-variant-numeric: tabular-nums;
  color: var(--ivory-soft);
}
.track__bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; width: clamp(130px, 11vw, 190px); }
.track__bar i { position: relative; height: 1px; background: rgba(244, 239, 231, 0.24); overflow: hidden; }
.track__bar i::after {
  content: ""; position: absolute; inset: 0; background: var(--ivory);
  transform: scaleX(var(--fill, 0)); transform-origin: left;
}
.track__bar i.is-done { --fill: 1; }
.track__bar i.is-active::after { animation: fill var(--scene-ms) linear forwards; }
.track.is-paused .track__bar i.is-active::after { animation: none; transform: scaleX(1); }
.track__state { width: 9px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.3; opacity: 0; transition: opacity 0.3s ease; }
.track__play { display: none; fill: currentColor; stroke: none; }
.track:hover .track__state, .track:focus-visible .track__state, .track.is-paused .track__state { opacity: 1; }
.track.is-paused .track__pause { display: none; }
.track.is-paused .track__play { display: block; }
@keyframes fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.scrollcue {
  position: absolute; left: calc(var(--gutter) + clamp(220px, 18.4vw, 350px)); bottom: clamp(28px, 5.5vh, 56px);
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  font-size: 11px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ivory-soft);
}
.scrollcue i { position: relative; width: 1px; height: clamp(48px, 8vh, 84px); background: rgba(244, 239, 231, 0.22); overflow: hidden; }
.scrollcue i::after {
  content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 40%; background: var(--ivory);
  animation: drip 2.6s var(--ease-out) infinite;
}
@keyframes drip { from { transform: translateY(-100%); } to { transform: translateY(260%); } }

/* right: area rail */

.rail { position: relative; grid-column: 3; grid-row: 2; align-self: center; justify-self: end; padding-bottom: clamp(16px, 3vh, 36px); }
.rail::before {
  content: ""; position: absolute; z-index: -1; inset: -56px -64px -40px -48px; pointer-events: none;
  background: radial-gradient(closest-side, rgba(6, 8, 10, 0.66), rgba(6, 8, 10, 0.4) 60%, rgba(6, 8, 10, 0));
}
.rail__text, .hero__lead { text-shadow: 0 1px 14px rgba(6, 8, 10, 0.55); }
.rail ol { display: flex; flex-direction: column; gap: clamp(14px, 2.2vh, 24px); }
.rail__item { display: flex; align-items: center; gap: clamp(14px, 1vw, 20px); text-align: left; }
.rail__thumb {
  position: relative; flex: none; width: clamp(82px, 5.6vw, 104px); aspect-ratio: 4 / 3; overflow: hidden;
  border: 1px solid rgba(217, 195, 163, 0.3);
  transition: border-color 0.5s ease;
}
.rail__thumb img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(0.88) saturate(0.88);
  transition: filter 0.6s ease, transform 1.2s var(--ease-out);
}
.rail__text { display: flex; flex-direction: column; gap: 3px; min-width: 11.5em; }
.rail__text b {
  font-size: clamp(11.5px, 0.76vw, 13px); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ivory-soft); transition: color 0.4s ease;
}
.rail__text small {
  font-size: clamp(9.5px, 0.6vw, 10.5px); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ivory-mute);
}
.rail__item:hover .rail__thumb img { transform: scale(1.06); }
.rail__item.is-active .rail__thumb { border-color: var(--champagne); }
.rail__item.is-active .rail__thumb img,
.rail__item:hover .rail__thumb img { filter: brightness(1.06) saturate(1.04); }
.rail__item.is-active .rail__text b,
.rail__item:hover .rail__text b { color: var(--ivory); }

/* bottom-right: tagline + badge */

.escape {
  grid-column: 3 / 5; grid-row: 3; justify-self: end; align-self: end;
  margin: 0 calc(var(--gutter) - var(--gutter-base) * 0.55) clamp(22px, 4vh, 44px) 0;
  display: flex; align-items: flex-end; gap: clamp(28px, 3.4vw, 64px);
}
.escape__line {
  position: relative; margin: 0 0 clamp(14px, 2.5vh, 30px); padding-top: 22px;
  font-size: clamp(14px, 1.02vw, 18px); font-weight: 400; line-height: 1.55; letter-spacing: 0.24em; text-transform: uppercase;
}
.escape__line::before { content: ""; position: absolute; left: 0; top: 0; width: 36px; height: 1px; background: var(--ivory); }
.escape__line span { display: block; }

.badge { position: relative; display: grid; place-items: center; width: clamp(128px, 9.2vw, 164px); aspect-ratio: 1; }
.badge__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 40s linear infinite; }
.badge__ring text { font-family: var(--f-ui); font-size: 13px; font-weight: 500; fill: var(--ivory); }
.badge__photo {
  width: 68%; aspect-ratio: 1; border-radius: 50%; overflow: hidden;
  border: 1px solid var(--champagne-line); padding: 3px;
}
.badge__photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; transition: transform 1.2s var(--ease-out); }
.badge:hover .badge__photo img { transform: scale(1.08); }
@keyframes spin { to { transform: rotate(360deg); } }

.hero.is-paused .badge__ring,
.hero.is-paused .scrollcue i::after { animation-play-state: paused; }

/* ─── Shared bits ─────────────────────────────────────── */

.textlink {
  display: inline-flex; align-items: center; gap: 14px; padding-bottom: 7px;
  border-bottom: 1px solid var(--hairline);
  font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  transition: border-color 0.4s ease, color 0.4s ease;
}
.textlink svg { width: 18px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform 0.5s var(--ease-out); }
.textlink:hover { border-color: var(--champagne); color: var(--champagne); }
.textlink:hover svg { transform: translateX(5px); }

.pill--solid { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.pill--solid:hover { background: var(--ivory); border-color: var(--ivory); }

.tour__title em, .join__title em, .place__title em, .closing__title em, .plans__title em { font-style: normal; color: var(--champagne); }

/* ─── Proof ───────────────────────────────────────────── */

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.proof { padding: clamp(80px, 9vw, 150px) var(--gutter) 0; }
.proof__text {
  margin: 0; max-width: 21em;
  font-family: var(--f-display); font-size: clamp(1.9rem, 0.9rem + 3vw, 4.4rem); line-height: 1.16;
  color: var(--ivory-soft); text-wrap: pretty;
}
.proof__num { color: var(--champagne); font-variant-numeric: lining-nums; }
.proof__facts {
  display: flex; flex-wrap: wrap; gap: 12px 0;
  margin-top: clamp(36px, 4vw, 64px); padding-top: 22px; border-top: 1px solid rgba(244, 239, 231, 0.12);
}
.proof__facts li {
  display: flex; align-items: center;
  font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ivory-soft);
}
.proof__facts li + li::before { content: ""; width: 5px; height: 5px; margin: 0 clamp(14px, 2vw, 28px); border-radius: 50%; background: var(--champagne); }

/* ─── Tour ────────────────────────────────────────────── */

.tour { padding-top: var(--section); }
.tour__head {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 64px;
  padding: 0 var(--gutter); margin-bottom: clamp(48px, 7vw, 110px);
}
.tour__title, .join__title, .place__title, .closing__title, .plans__title {
  margin: 0; font-family: var(--f-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(2.5rem, 1rem + 4.4vw, 5.6rem); line-height: 1; letter-spacing: 0.01em;
}
.tour__intro { margin: 0; max-width: 28em; color: var(--ivory-soft); }

.tour__body { position: relative; }
.tour__stage { display: none; }
.room { padding: 0 var(--gutter) clamp(64px, 12vw, 120px); }
.room__img { margin: 0 0 28px; aspect-ratio: 4 / 5; overflow: hidden; }
.room__img img { width: 100%; height: 100%; object-fit: cover; }
.room__title { margin: 0; font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.3rem, 1rem + 3.2vw, 4.4rem); line-height: 1; }
.room__tag { margin: 10px 0 0; font-family: var(--f-display); font-size: clamp(1.25rem, 1rem + 0.8vw, 1.75rem); color: var(--champagne); }
.room__lead { margin: var(--lead-gap) 0 var(--action-gap); max-width: 32em; color: var(--ivory-soft); font-size: clamp(15px, 1vw, 17px); }
.room__list { margin: 0 0 36px; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.room__list li {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 15px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14);
  font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
}
.room__list li::after { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--champagne); }

@media (min-width: 1024px) {
  .tour__body { display: grid; grid-template-columns: 58fr 42fr; }
  .tour__stage {
    display: block; position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden;
    background: var(--ground-2);
  }
  .stage__img {
    position: absolute; inset: 0; margin: 0; z-index: 3;
    clip-path: inset(100% 0 0 0); transition: clip-path 1.25s var(--ease-out);
  }
  .stage__img.is-past { z-index: 1; clip-path: inset(0 0 0 0); }
  .stage__img.is-active { z-index: 2; clip-path: inset(0 0 0 0); }
  .stage__img img {
    width: 100%; height: 100%; object-fit: cover;
    filter: brightness(0.82) contrast(1.06); transform: scale(1.12); transition: transform 1.8s var(--ease-out);
  }
  .stage__img.is-active img, .stage__img.is-past img { transform: scale(1); }
  .tour__stage::after {
    content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none;
    background: linear-gradient(0deg, rgba(6, 8, 10, 0.78) 0%, rgba(6, 8, 10, 0) 45%), linear-gradient(90deg, rgba(6, 8, 10, 0) 70%, rgba(11, 10, 9, 0.9) 100%);
  }
  .stage__index {
    position: absolute; z-index: 5; left: var(--gutter); bottom: clamp(32px, 6vh, 64px);
    display: grid; gap: 10px;
  }
  .stage__index li {
    display: flex; align-items: center; gap: 0;
    font-size: 11.5px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ivory-mute);
    transition: color 0.5s ease, gap 0.6s var(--ease-out);
  }
  .stage__index li::before { content: ""; width: 0; height: 1px; background: var(--champagne); transition: width 0.6s var(--ease-out); }
  .stage__index li.is-active { color: var(--ivory); gap: 14px; }
  .stage__index li.is-active::before { width: 30px; }
  .stage__word {
    position: absolute; z-index: 5; right: -0.04em; bottom: -0.2em; margin: 0;
    font-family: var(--f-display); font-size: clamp(6rem, 11vw, 13rem); line-height: 1; text-transform: uppercase; letter-spacing: 0.01em;
    color: transparent; -webkit-text-stroke: 1px rgba(217, 195, 163, 0.55);
    transition: opacity 0.5s ease, transform 0.8s var(--ease-out);
  }
  .stage__word.is-swapping { opacity: 0; transform: translateY(18%); }

  .tour__rooms { padding: 0 var(--gutter) 0 clamp(40px, 5vw, 96px); }
  .room {
    min-height: 100vh; min-height: 100svh; padding: 14vh 0;
    display: flex; flex-direction: column; justify-content: center;
    opacity: 0.22; transition: opacity 0.7s ease;
  }
  .room.is-active { opacity: 1; }
  .room__img { display: none; }
}

.room__list small { margin-left: 10px; font-size: 10.5px; letter-spacing: 0.14em; color: var(--champagne); }
.minilink {
  display: inline-block; margin: -14px 0 30px;
  font-size: 13px; color: var(--ivory-soft); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--champagne-line);
  transition: color 0.3s ease;
}
.minilink:hover { color: var(--champagne); }

/* ─── Plans ledger ───────────────────────────────────── */

.plans { padding: var(--section) var(--gutter); }
.plans__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 64px; margin-bottom: var(--head-gap); }
.plans__intro { margin: 0; max-width: 30em; color: var(--ivory-soft); }
.ledger { overflow-x: auto; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter); scrollbar-width: thin; }
.ledger table { width: 100%; min-width: 640px; border-collapse: collapse; }
.ledger th, .ledger td { padding: 16px 12px; text-align: center; vertical-align: middle; border-bottom: 1px solid rgba(244, 239, 231, 0.12); }
.ledger tbody th {
  text-align: left; padding-left: 0; width: 34%;
  font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory);
}
.ledger tbody th small { display: block; margin-top: 4px; font-size: 12px; letter-spacing: 0.02em; text-transform: none; color: var(--ivory-mute); font-weight: 400; }
.ledger tbody td { font-size: 14px; color: var(--ivory-soft); }
.ledger thead th { padding-bottom: 22px; border-bottom-color: rgba(217, 195, 163, 0.4); }
.ledger thead td { border-bottom-color: rgba(217, 195, 163, 0.4); }
.plan__name { display: block; font-family: var(--f-display); font-weight: 400; font-size: clamp(1.9rem, 1rem + 2vw, 3.2rem); line-height: 1; text-transform: uppercase; }
.plan__note { display: block; margin-top: 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.ledger thead th:nth-child(2) .plan__name { color: var(--champagne); }
.ledger td:nth-child(2), .ledger th:nth-child(2) { background: rgba(217, 195, 163, 0.045); }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--champagne); }
.dash { color: rgba(244, 239, 231, 0.3); }
.ledger tfoot td { border-bottom: 0; padding-top: 24px; }
@media (max-width: 767px) {
  .ledger { margin: 0; padding: 0; overflow: visible; }
  .ledger table { min-width: 0; table-layout: fixed; }
  .ledger th, .ledger td { padding: 14px 4px; }
  .ledger thead th { vertical-align: top; }
  .ledger thead td, .ledger tbody th { width: 31%; padding-left: 0; }
  .ledger tbody th { font-size: 12px; letter-spacing: 0.04em; }
  .ledger tbody td { font-size: 12px; }
  .ledger .plan__name { font-size: 1.05rem; }
  .ledger .plan__note { letter-spacing: 0.06em; }
  .ledger .plan__cta { height: auto; padding: 0 0 3px; border: 0; border-bottom: 1px solid var(--champagne-line); border-radius: 0; white-space: normal; font-size: 11px; letter-spacing: 0.06em; }
  .ledger .plan__cta:hover { background: none; color: var(--champagne); border-color: var(--champagne); }
}
.plan__cta {
  display: inline-flex; align-items: center; height: 42px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--champagne-line);
  font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.plan__cta:hover { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.plans__foot { margin: var(--head-gap) 0 0; font-family: var(--f-display); font-size: clamp(1.25rem, 1rem + 0.9vw, 1.8rem); color: var(--ivory-soft); }
.plans__foot a { color: var(--champagne); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }

/* ─── Join: card + form ───────────────────────────────── */

.join {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(56px, 7vw, 120px) var(--split);
  padding: var(--section) var(--gutter);
  background:
    radial-gradient(60% 50% at 18% 40%, rgba(217, 195, 163, 0.07), transparent 70%),
    #0e0d0b;
  border-top: 1px solid rgba(244, 239, 231, 0.08);
}
.join__intro { margin: var(--lead-gap) 0 0; max-width: 30em; color: var(--ivory-soft); }

.mcard-wrap { perspective: 1400px; width: min(100%, 470px); margin: clamp(40px, 5vw, 64px) 0; }
.mcard {
  position: relative; aspect-ratio: 1.586; transform-style: preserve-3d;
  transform: rotateX(var(--rx, 0deg)) rotateY(calc(var(--ry, 0deg) + var(--flip, 0deg)));
  transition: transform 0.9s var(--ease-out);
}
.mcard.is-tilting { transition: transform 0.15s linear; }
.mcard.is-flipped { --flip: 180deg; }
.mcard__face {
  position: absolute; inset: 0; overflow: hidden; border-radius: 18px;
  padding: clamp(18px, 2vw, 26px) clamp(20px, 2.2vw, 30px);
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  background:
    repeating-linear-gradient(112deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 4px),
    linear-gradient(135deg, #221e19 0%, #0f0e0c 52%, #1b1814 100%);
  border: 1px solid rgba(217, 195, 163, 0.45);
  box-shadow: 0 34px 60px -24px rgba(0, 0, 0, 0.85), 0 14px 26px -14px rgba(0, 0, 0, 0.6);
}
.mcard__face::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
  background: radial-gradient(circle at var(--mx, 28%) var(--my, 18%), rgba(217, 195, 163, 0.28), transparent 46%);
}
.mcard__top { display: flex; align-items: flex-start; justify-content: space-between; }
.mcard__brand { display: grid; gap: 5px; font-size: clamp(15px, 1.3vw, 19px); font-weight: 500; letter-spacing: 0.18em; line-height: 1; }
.mcard__brand small { font-size: 0.42em; letter-spacing: 0.56em; color: var(--ivory-soft); }
.mcard__tier { padding: 5px 12px; border: 1px solid var(--champagne-line); border-radius: 999px; font-size: clamp(8.5px, 0.66vw, 10px); font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--champagne); }
.mcard__areas {
  position: absolute; left: clamp(20px, 2.2vw, 30px); right: 20px; top: 44%; margin: 0;
  font-size: clamp(9px, 0.72vw, 10.5px); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--champagne);
}
.mcard__name {
  position: absolute; left: clamp(20px, 2.2vw, 30px); right: 20px; bottom: 26%; margin: 0;
  font-family: var(--f-display); font-size: clamp(1.25rem, 0.8rem + 1.2vw, 1.9rem); line-height: 1.1; text-transform: uppercase; letter-spacing: 0.05em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mcard__name.is-empty { color: rgba(244, 239, 231, 0.34); }
.mcard__foot {
  position: absolute; left: clamp(20px, 2.2vw, 30px); right: clamp(20px, 2.2vw, 30px); bottom: clamp(16px, 1.8vw, 24px);
  display: flex; justify-content: space-between; gap: 12px;
  font-size: clamp(8px, 0.62vw, 9.5px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ivory-mute);
}
.mcard__back { transform: rotateY(180deg); display: grid; align-content: center; justify-items: start; gap: 8px; }
.mcard__hello { margin: 0; font-family: var(--f-display); font-size: 1.4rem; color: var(--champagne); }
.mcard__name--back { position: static; }
.mcard__note { margin: 6px 0 0; font-size: 13px; color: var(--ivory-soft); max-width: 26em; }

.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: step; }
.steps li { counter-increment: step; display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid rgba(244, 239, 231, 0.16); }
.steps li::before { content: counter(step, decimal-leading-zero); font-family: var(--f-display); font-size: 1.5rem; line-height: 1; color: var(--champagne); margin-bottom: 6px; }
.steps b { font-size: 11.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.steps span { font-size: 13.5px; line-height: 1.5; color: var(--ivory-mute); }

.join__form-col { scroll-margin-top: 90px; }
.lead { position: relative; }
.lead__title { margin: 0 0 clamp(28px, 3vw, 40px); font-family: var(--f-display); font-size: clamp(1.8rem, 1rem + 1.6vw, 2.6rem); line-height: 1.1; }

.field { margin: 0 0 26px; padding: 0; border: 0; min-width: 0; }
.field > label, .field > legend {
  display: block; padding: 0; margin-bottom: 10px;
  font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ivory-mute);
}
.opt { font-weight: 400; letter-spacing: 0.04em; text-transform: none; color: rgba(244, 239, 231, 0.45); }
.field input[type="text"], .field input[type="tel"], .field input[type="email"], .field select {
  width: 100%; padding: 10px 0 12px; border: 0; border-bottom: 1px solid rgba(244, 239, 231, 0.3); border-radius: 0;
  background: transparent; color: var(--ivory); caret-color: var(--champagne);
  font: 400 clamp(16px, 1.15vw, 19px) / 1.4 var(--f-ui);
  transition: border-color 0.3s ease;
}
.field input::placeholder { color: rgba(244, 239, 231, 0.42); }
.field input:focus, .field select:focus { outline: none; border-bottom-color: var(--champagne); }
.field input:focus-visible, .field select:focus-visible { box-shadow: 0 1px 0 var(--champagne); }
.field select {
  appearance: none; cursor: pointer; padding-right: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23d9c3a3' stroke-width='1.2'/%3E%3C/svg%3E") right 4px center / 12px 8px no-repeat;
}
.field select option { background: var(--ground); color: var(--ivory); }
/* mesaj alanı (Franchise): diğer alanlarla aynı alt çizgi dili */
.field textarea {
  display: block; width: 100%; min-height: calc(3lh + 22px); padding: 10px 0 12px; border: 0; border-bottom: 1px solid rgba(244, 239, 231, 0.3); border-radius: 0;
  background: transparent; color: var(--ivory); caret-color: var(--champagne); resize: vertical;
  font: 400 clamp(16px, 1.15vw, 19px) / 1.45 var(--f-ui); transition: border-color 0.3s ease;
}
.field textarea::placeholder { color: rgba(244, 239, 231, 0.42); }
.field textarea:focus { outline: none; border-bottom-color: var(--champagne); }
.field textarea:focus-visible { box-shadow: 0 1px 0 var(--champagne); }
.field [aria-invalid="true"] { border-bottom-color: var(--warn) !important; }
fieldset.field[aria-invalid="true"] .pick__box { border-color: rgba(235, 165, 151, 0.55); }
.field__err { margin: 8px 0 0; font-size: 13px; color: var(--warn); }

.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip, .seg label { position: relative; cursor: pointer; }
.chip input, .seg input, .check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chip span, .seg span {
  display: inline-flex; align-items: center; height: 42px; padding: 0 18px;
  border: 1px solid rgba(244, 239, 231, 0.26); border-radius: 999px;
  font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: var(--ivory-soft);
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.chip:hover span, .seg label:hover span { border-color: var(--champagne); }
.chip input:checked + span, .seg input:checked + span { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.chip input:focus-visible + span, .seg input:focus-visible + span { outline: 1px solid var(--champagne); outline-offset: 3px; }
.seg { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.seg--big { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
.seg--big span { justify-content: center; width: 100%; height: 54px; font-size: 14px; font-weight: 600; }
.field__hint { margin: 10px 0 0; font-size: 13px; color: var(--champagne); }
[data-bilgi-only][hidden], [data-deneme-only][hidden] { display: none !important; }
.lead__alt { margin: 18px 0 0; font-size: 13.5px; color: var(--ivory-mute); }
.lead__alt a { color: var(--ivory); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--champagne-line); }
.lead__alt a:hover { color: var(--champagne); }

.field-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 32px; }

.consents { margin: 6px 0 30px; display: grid; gap: 14px; }
.check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 14px; cursor: pointer; font-size: 13.5px; line-height: 1.55; color: var(--ivory-soft); }
.check::before {
  content: ""; grid-column: 1; grid-row: 1; width: 18px; height: 18px; margin-top: 2px;
  border: 1px solid var(--champagne-line); border-radius: 3px; transition: background-color 0.25s ease;
}
.check > span { grid-column: 2; grid-row: 1; }
.check:has(input:checked)::before {
  background: var(--champagne) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%230b0a09' stroke-width='1.6'/%3E%3C/svg%3E") center / 11px 9px no-repeat;
}
.check:has(input:focus-visible)::before { outline: 1px solid var(--champagne); outline-offset: 3px; }
.check a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--champagne-line); }
.check a:hover { color: var(--champagne); }

.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.submit {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  width: 100%; height: 64px; padding: 0 30px; border-radius: 999px;
  background: var(--champagne); color: var(--ground);
  font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  transition: background-color 0.4s var(--ease-out);
}
.submit svg { width: 22px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform 0.5s var(--ease-out); }
.submit:hover { background: var(--ivory); }
.submit:hover svg { transform: translateX(6px); }
.submit[disabled] { cursor: progress; background: #b9a585; }
.submit.is-loading svg { animation: nudge 0.9s var(--ease-out) infinite; }
@keyframes nudge { 50% { transform: translateX(8px); } }
.lead__status { min-height: 1.5em; margin: 14px 0 0; font-size: 14px; color: var(--warn); }

.lead-done { padding-top: 8px; }
.lead-done:focus { outline: none; }
.lead-done__title { margin: 0 0 var(--lead-gap); font-family: var(--f-display); font-size: clamp(2rem, 1rem + 2.4vw, 3.4rem); line-height: 1.05; }
.lead-done p:not(.lead-done__title) { margin: 0 0 var(--action-gap); max-width: 30em; color: var(--ivory-soft); }

@media (min-width: 640px) {
  .field-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (min-width: 1100px) {
  .join { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
  .join__card-col { position: sticky; top: 110px; }
}

/* ─── Place ───────────────────────────────────────────── */

.place { display: grid; grid-template-columns: minmax(0, 1fr); }
.place__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.place__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8); }
.place__body { padding: clamp(56px, 8vw, 140px) var(--gutter); align-self: center; }
.place__addr { margin: var(--lead-gap) 0 var(--action-gap); font-style: normal; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.6; color: var(--ivory-soft); }
.place__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 32px; }
.place__actions [hidden] { display: none; }
@media (min-width: 1024px) {
  .place { grid-template-columns: 1fr 1fr; min-height: 86vh; }
  .place__media { aspect-ratio: auto; }
  .place__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 10, 9, 0) 55%, var(--ground) 100%); }
}

/* ─── Closing ─────────────────────────────────────────── */

.closing { padding: var(--section) var(--gutter); display: grid; justify-items: center; gap: clamp(36px, 4vw, 56px); text-align: center; }
.closing__title { max-width: 12em; }
.closing__q {
  display: block; margin-top: 22px;
  font-family: var(--f-ui); font-size: 12.5px; font-weight: 500; letter-spacing: 0.32em; color: var(--ivory-mute);
}

/* ─── Footer ──────────────────────────────────────────── */

.footer { padding: clamp(56px, 7vw, 96px) var(--gutter) 28px; border-top: 1px solid rgba(244, 239, 231, 0.1); overflow: hidden; }
.footer__grid { display: grid; gap: 40px 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer__brand { grid-column: 1 / -1; display: grid; gap: 20px; align-content: start; }
.footer__logo { justify-self: start; }
.footer__logo img { display: block; width: clamp(180px, 15vw, 236px); height: auto; }
.footer__about { margin: 0; max-width: 26em; font-size: 14px; line-height: 1.6; color: var(--ivory-soft); }
.footer__social { display: flex; flex-wrap: wrap; gap: 8px; }
/* sosyal medya: yazı yerine yuvarlak ikon buton (ince çizgi ikon, şampanya çerçeve; üzerine gelince dolar) */
.social { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(217, 195, 163, 0.45); border-radius: 50%; color: var(--ivory); transition: background-color 0.4s var(--ease-out), border-color 0.4s ease, color 0.4s ease; }
.social svg { width: 22px; height: 22px; fill: currentColor; }
.social:hover, .social:focus-visible { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.footer__head {
  margin: 0 0 18px; font-family: var(--f-ui); font-stretch: 100%; font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; color: var(--champagne);
}
.footer__links { display: grid; gap: 11px; }
.footer__links a, .footer__contact a { font-size: 14.5px; color: var(--ivory-soft); transition: color 0.3s ease; }
.footer__links a:hover, .footer__contact a:hover { color: var(--champagne); }
.footer__contact { display: grid; gap: 11px; font-style: normal; }
.footer__addr { line-height: 1.55; }
.footer__hours { margin: 0; display: grid; }
.footer__hours div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.08); font-size: 14px; }
.footer__hours div:first-child { padding-top: 0; }
.footer__hours dt { color: var(--ivory-mute); }
.footer__hours dd { margin: 0; color: var(--ivory); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.footer__bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 14px 32px; margin-top: clamp(40px, 5vw, 64px); padding-top: 22px; border-top: 1px solid rgba(244, 239, 231, 0.1); }
.footer__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; }
.footer__credit { justify-self: end; display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--ivory-mute); text-decoration: none; transition: color 0.3s ease; }
.footer__credit img { display: block; width: auto; height: 20px; transition: opacity 0.3s ease; }
.footer__credit:hover { color: var(--ivory); }
@media (max-width: 899px) { .footer__bottom { grid-template-columns: minmax(0, 1fr); justify-items: start; } .footer__legal { justify-content: flex-start; } .footer__credit { justify-self: start; } }
.footer__legal a, .footer__legal button { font-size: 12.5px; color: var(--ivory-mute); transition: color 0.3s ease; }
.footer__legal a:hover, .footer__legal button:hover { color: var(--champagne); }
.footer__copy { margin: 0; font-size: 12.5px; color: var(--ivory-mute); }
/* telefon alt şeridi (ortalanmış, kullanıcı seçimi): üç yasal bağlantı tek satırda, aralarında küçük nokta ("KVKK · Çerez Politikası · Çerez Tercihleri";
   KVKK bağlantısında yalnızca "KVKK" görünür, ekran okuyucu tam adı okur); her biri 44px dokunma alanı. Altında telif ve imza.
   Saat listesinin son çizgisi kalkar: alt şeridin çizgisiyle üst üste binip boş bir satır gibi görünüyordu. */
@media (max-width: 599px) {
  .footer__hours div:last-child { border-bottom: 0; padding-bottom: 0; }
  .footer__bottom { gap: 0; padding-top: 6px; justify-items: center; text-align: center; }
  .footer__legal { order: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0; }
  .footer__legal li { display: flex; align-items: center; }
  .footer__legal li + li::before { content: ""; flex: none; width: 3px; height: 3px; margin: 0 14px; border-radius: 50%; background: rgba(244, 239, 231, 0.35); }
  .footer__more { display: none; }
  .footer__legal a, .footer__legal button { display: inline-flex; align-items: center; min-height: 44px; font-size: 13.5px; line-height: 1.4; color: var(--ivory-soft); text-align: left; }
  .footer__copy { order: 2; margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--ivory-mute); text-wrap: balance; }
  .footer__credit { order: 3; justify-self: center; margin-top: 6px; min-height: 44px; gap: 8px; }
}
@media (min-width: 1100px) { .footer__grid { grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.25fr) minmax(0, 1.2fr); gap: 32px clamp(28px, 3vw, 48px); } .footer__brand { grid-column: auto; } }
/* telefonda iletişim ve saat sütunları tam genişlikte (460–599px'te yan yana sığmıyordu) */
@media (max-width: 599px) { .footer__grid > .footer__col:nth-child(n + 4) { grid-column: 1 / -1; } }
/* saat satırı sütuna sığmadığında (ör. 1100–1439px'teki beş sütunlu düzen) gün üstte, saat altta; hiçbir genişlikte ortadan bölünmez */
.footer__hours { container-type: inline-size; }
@container (max-width: 239px) {
  .footer__hours div { flex-direction: column; gap: 2px; }
  .footer__hours dd { text-align: left; }
}

/* ─── Consent ─────────────────────────────────────────── */

/* açılır pencereler içerik kutusuna değil ekranın köşesine hizalanır (geniş ekranda container kenarında boşta kalmasın) */
/* ═══ Çerez tercihleri (2026-10-06, baştan) ═══
   Sol altta (telefonda alt kenarda tam genişlik) kart: kartların yüzeyi (ince çerçeve, köşede şampanya ışıltı), ikonlu başlık,
   kısa metin, eşit ağırlıkta Reddet / Kabul et, altında "Tercihleri yönet". Tercihler açılınca üç satır: zorunlu (her zaman açık),
   analitik ve pazarlama anahtarları; düğmeler "Seçimi kaydet" / "Tümünü kabul et" olur. */
.consent {
  position: fixed; left: clamp(12px, 1.6vw, 28px); bottom: clamp(12px, 1.6vw, 28px); z-index: 40; width: min(460px, calc(100vw - 24px));
  max-height: calc(100svh - 24px); overflow-y: auto; overscroll-behavior: contain;
  padding: clamp(20px, 2vw, 26px); border: 1px solid rgba(217, 195, 163, 0.3);
  background: radial-gradient(120% 80% at 0% 0%, rgba(217, 195, 163, 0.1), rgba(217, 195, 163, 0) 55%), #14120f;
  box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.8);
  opacity: 0; transform: translateY(16px); /* açılış ve kapanış hareketi track.js'te (Web Animations API) */
}
.consent.is-in { opacity: 1; transform: none; }
.consent[hidden], .consent [hidden] { display: none !important; }
.consent__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.consent__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid var(--champagne-line); border-radius: 50%; }
.consent__icon svg { width: 20px; height: 20px; color: var(--champagne); }
.consent__title { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: 1.15rem; line-height: 1.2; letter-spacing: -0.01em; }
.consent__text { margin: 0 0 18px; font-size: 13.5px; line-height: 1.55; color: var(--ivory-soft); }
.consent__text a { color: var(--ivory); text-decoration: underline; text-decoration-color: var(--champagne-line); text-underline-offset: 3px; }
.consent__text a:hover { color: var(--champagne); }
.consent__prefs { display: grid; margin: -4px 0 18px; border-top: 1px solid rgba(244, 239, 231, 0.1); }
.consent__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.1); cursor: pointer; }
div.consent__row { cursor: default; }
.consent__row-text { display: grid; gap: 3px; min-width: 0; }
.consent__row-text b { font-size: 14px; font-weight: 600; }
.consent__row-text small { font-size: 12.5px; line-height: 1.45; color: var(--ivory-mute); }
/* anahtar: hap biçimli ray, açıkken şampanya */
.consent__switch { appearance: none; flex: none; position: relative; width: 44px; height: 24px; margin: 0; border: 1px solid rgba(244, 239, 231, 0.3); border-radius: 999px; background: rgba(244, 239, 231, 0.06); cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }
.consent__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--ivory-soft); transition: transform 0.35s var(--ease-out), background-color 0.3s ease; }
.consent__switch:checked { background: var(--champagne); border-color: var(--champagne); }
.consent__switch:checked::after { transform: translateX(20px); background: var(--ground); }
.consent__switch:focus-visible { outline: 1px solid var(--champagne); outline-offset: 3px; }
/* zorunlu: açık ve kilitli */
.consent__switch:disabled { opacity: 0.55; cursor: default; }
.consent__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.consent__btn {
  height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(244, 239, 231, 0.3);
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.consent__btn:hover { border-color: var(--champagne); }
.consent__btn--yes { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.consent__btn--yes:hover { background: var(--ivory); border-color: var(--ivory); }
.consent__more { display: block; margin: 14px auto 0; padding: 4px 0; border: 0; background: none; font-size: 13px; color: var(--ivory-soft); text-decoration: underline; text-decoration-color: var(--champagne-line); text-underline-offset: 4px; cursor: pointer; }
.consent__more:hover { color: var(--champagne); }
@media (max-width: 599px) {
  .consent { left: 12px; right: 12px; bottom: 12px; width: auto; }
}

/* ═══ Inner pages ═════════════════════════════════════════ */

.crumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ivory-mute); }
.crumbs a:hover { color: var(--champagne); }
.crumbs [aria-current] { color: var(--ivory-soft); }

.phero__title em, .story__title em, .principles__title em, .hotel__title em, .classes__title em, .timetable__title em,
.private__title em, .pay__title em, .faq__title em, .strip__title em, .visit__title em { font-style: normal; color: var(--champagne); }
.sec-title, .story__title, .principles__title, .hotel__title, .classes__title, .timetable__title, .private__title,
.pay__title, .faq__title, .strip__title, .visit__title, .services__title {
  margin: 0; font-family: var(--f-display); font-weight: 400; line-height: 1.05; letter-spacing: 0.01em;
}
.principles__title, .hotel__title, .classes__title, .timetable__title, .private__title, .pay__title, .faq__title, .strip__title, .visit__title, .services__title {
  text-transform: uppercase; font-size: clamp(2.2rem, 1rem + 3.4vw, 4.6rem); line-height: 1;
}

/* about */
.story { display: grid; gap: 32px var(--split); padding: var(--section) var(--gutter) 0; }
.story__title { font-size: clamp(2rem, 1rem + 2.6vw, 3.9rem); line-height: 1.12; max-width: 16em; }
.story__body p { margin: 0 0 18px; max-width: 34em; color: var(--ivory-soft); font-size: clamp(15px, 1.05vw, 17.5px); }
@media (min-width: 1024px) { .story { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; } }

.stats { padding: 0 var(--gutter); }
.stats__list { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(244, 239, 231, 0.14); border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.stats__list div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 10px; padding: clamp(24px, 3vw, 44px) clamp(12px, 2vw, 32px); }
.stats__list div + div { border-left: 1px solid rgba(244, 239, 231, 0.14); }
.stats__list dd { margin: 0; font-family: var(--f-display); font-size: clamp(3rem, 1rem + 6vw, 8.6rem); line-height: 0.9; font-variant-numeric: lining-nums; }
.stats__list dd span { color: var(--champagne); }
.stats__list dt { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ivory-mute); }
@media (max-width: 599px) { .stats__list { grid-template-columns: 1fr; } .stats__list div + div { border-left: 0; border-top: 1px solid rgba(244, 239, 231, 0.14); } }

.principles, .private { display: grid; gap: var(--split); padding: var(--section) var(--gutter); }
.principles__img, .private__img { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; }
.principles__img img, .private__img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9); }
.principles__list { margin-top: var(--head-gap); border-top: 1px solid rgba(244, 239, 231, 0.14); }
.principles__list li { padding: var(--row) 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.principles__list h3, .private__diet h3, .fx-extra h3 { margin: 0 0 8px; font-family: var(--f-display); font-weight: 600; font-size: clamp(1.4rem, 1rem + 1vw, 2rem); }
.principles__list p, .private__diet p, .fx-extra p { margin: 0; max-width: 34em; color: var(--ivory-soft); }
.principles__list--steps { counter-reset: step; }
.principles__list--steps li { counter-increment: step; }
.principles__list--steps h3 { display: flex; align-items: baseline; gap: 16px; }
.principles__list--steps h3::before { content: counter(step, decimal-leading-zero); flex: none; min-width: 2.2em; font-family: var(--f-ui); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; color: var(--champagne); }
.principles__list--steps p { padding-left: calc(26px + 16px); }
@media (min-width: 1024px) {
  .principles, .private { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
  .principles__img, .private__img { position: sticky; top: 110px; }
}

.services { padding: 0 var(--gutter) var(--section); }
.services__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 48px; margin-bottom: var(--head-gap); }
.services__list { display: grid; gap: 0 var(--split); border-top: 1px solid rgba(244, 239, 231, 0.14); }
.services__list li { display: grid; gap: 8px; padding: var(--row) 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.services__list h3 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.services__list p { margin: 0; color: var(--ivory-soft); }
@media (min-width: 900px) { .services__list { grid-template-columns: 1fr 1fr; } .services__list li { grid-template-columns: 13rem minmax(0, 1fr); } }
.services__list--img li { grid-template-columns: 7rem minmax(0, 1fr); column-gap: 20px; align-items: start; }
.services__img { grid-row: 1 / span 2; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.services__img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9); }
@media (min-width: 900px) { .services__list--img li { grid-template-columns: 9rem minmax(0, 1fr); } }

.hotel { position: relative; isolation: isolate; overflow: hidden; min-height: 86vh; display: grid; align-items: end; padding: var(--section) var(--gutter); }
.hotel__media { position: absolute; inset: 0; z-index: -2; }
.hotel__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.62); }
.hotel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(11, 10, 9, 0.92) 0%, rgba(11, 10, 9, 0) 60%), linear-gradient(180deg, var(--ground) 0%, rgba(11, 10, 9, 0) 18%); }
.hotel__body { max-width: 38rem; }
.hotel__body p { margin: var(--lead-gap) 0 var(--action-gap); color: var(--ivory-soft); }

/* facility */
.facility { display: grid; gap: 48px; padding: var(--section) var(--gutter); }
.facility__index { display: none; }
.fx-chapter + .fx-chapter { margin-top: clamp(64px, 9vw, 150px); }
.fx-chapter__title {
  margin: 0 0 clamp(32px, 4vw, 64px); font-family: var(--f-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(3rem, 1rem + 6vw, 7.4rem); line-height: 0.95;
  color: transparent; -webkit-text-stroke: 1px rgba(217, 195, 163, 0.7);
}
.area { display: grid; gap: 22px var(--split); align-items: center; }
.area + .area { margin-top: clamp(48px, 7vw, 120px); }
.area__img { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; }
.area__img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.92) contrast(1.04); transition: transform 1.6s var(--ease-out); }
.area:hover .area__img img { transform: scale(1.04); }
.area__no { margin: 0 0 10px; font-family: var(--f-display); font-size: 1.2rem; color: var(--champagne); }
.area__name { margin: 0; font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 1rem + 2.2vw, 3.4rem); line-height: 1; }
.area__sub { margin: 12px 0 18px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.area__desc { margin: 0; max-width: 32em; color: var(--ivory-soft); }
.fx-extra { display: grid; gap: 40px var(--split); margin-top: var(--section); padding-top: 36px; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.fx-extra .textlink { margin-top: var(--action-gap); }
.fx-extra.page-extra { margin: 0 var(--gutter) var(--section); }
@media (min-width: 900px) {
  .area { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .area--rev .area__img { order: 2; }
  .fx-extra { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1200px) {
  .facility { grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(48px, 5vw, 96px); }
  .facility__index { display: block; position: sticky; top: 120px; align-self: start; }
  .facility__index > ol { display: grid; gap: 22px; }
  .facility__chapter { font-family: var(--f-display); font-size: 1.3rem; color: var(--ivory-soft); transition: color 0.3s ease; }
  .facility__index ul { display: grid; gap: 6px; margin-top: 10px; padding-left: 2px; }
  .facility__index ul a { font-size: 11.5px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ivory-mute); transition: color 0.3s ease; }
  .facility__index a:hover, .facility__index a.is-active { color: var(--champagne); }
}

/* classes & faq accordions */
.classes, .faq { padding: var(--section) var(--gutter); }
.classes__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 64px; margin-bottom: var(--head-gap); }
.classes__head p { margin: 0; max-width: 30em; color: var(--ivory-soft); }
.classes__list, .faq__list { border-top: 1px solid rgba(244, 239, 231, 0.14); }
.faq__title { margin-bottom: var(--head-gap); }
.faq__list { max-width: 62rem; }
.klass { border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.klass summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(16px, 1.8vw, 26px) 0; cursor: pointer; list-style: none; }
.klass summary::-webkit-details-marker { display: none; }
.klass__name { font-family: var(--f-display); text-transform: uppercase; font-size: clamp(1.9rem, 1rem + 2.8vw, 4rem); line-height: 1.02; color: rgba(244, 239, 231, 0.55); transition: color 0.35s ease; }
.klass summary:hover .klass__name, .klass[open] .klass__name { color: var(--ivory); }
.klass__icon { position: relative; flex: none; width: 40px; aspect-ratio: 1; border: 1px solid var(--champagne-line); border-radius: 50%; transition: transform 0.5s var(--ease-out), background-color 0.3s ease; }
.klass__icon::before, .klass__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1px; background: var(--ivory); transform: translate(-50%, -50%); }
.klass__icon::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 0.4s var(--ease-out); }
.klass[open] .klass__icon { background: var(--champagne); border-color: var(--champagne); }
.klass[open] .klass__icon::before, .klass[open] .klass__icon::after { background: var(--ground); }
.klass[open] .klass__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.klass__body { display: grid; gap: 18px var(--split); padding: 0 0 clamp(24px, 2.6vw, 36px); }
.klass__body p { margin: 0; max-width: 36em; color: var(--ivory-soft); }
.klass__body ul { display: grid; gap: 10px; }
.klass__body li { display: flex; gap: 12px; align-items: baseline; font-size: 14px; }
.klass__body li::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--champagne); transform: translateY(-2px); }
.klass--faq .klass__name { text-transform: none; font-size: clamp(1.2rem, 1rem + 0.8vw, 1.7rem); line-height: 1.3; }
@media (min-width: 900px) { .klass__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .klass--faq .klass__body { grid-template-columns: 1fr; } }

/* timetable */
.timetable { padding: 0 var(--gutter) var(--section); }
.timetable__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 48px; margin-bottom: var(--head-gap); }
.timetable__notes { display: grid; gap: 4px; font-size: 13px; color: var(--ivory-mute); }
.tt { overflow-x: auto; }
.tt table { width: 100%; min-width: 860px; border-collapse: collapse; table-layout: fixed; }
.tt th, .tt td { padding: 12px 8px; border-bottom: 1px solid rgba(244, 239, 231, 0.1); text-align: center; vertical-align: middle; }
.tt thead th { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ivory-mute); border-bottom-color: rgba(217, 195, 163, 0.4); }
.tt thead th:first-child, .tt tbody th { width: 84px; text-align: left; }
.tt tbody th { font-family: var(--f-display); font-weight: 400; font-size: 1.15rem; color: var(--champagne); font-variant-numeric: tabular-nums; }
.tt__class { display: inline-block; padding: 6px 12px; border: 1px solid rgba(244, 239, 231, 0.22); border-radius: 999px; font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.daylist { display: none; }
@media (max-width: 767px) {
  .tt { display: none; }
  .daylist { display: grid; gap: 28px; }
  .daylist__day h3 { margin: 0 0 8px; font-family: var(--f-display); font-weight: 400; font-size: 1.5rem; }
  .daylist__day li { display: flex; gap: 18px; padding: 10px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.12); }
  .daylist__day li span { min-width: 3.4rem; font-variant-numeric: tabular-nums; color: var(--champagne); }
}

.private__lead { margin: var(--lead-gap) 0 var(--head-gap); max-width: 34em; color: var(--ivory-soft); }
.private__diet { margin: 8px 0 36px; }

/* membership page */
.pay { padding: 0 var(--gutter) var(--section); }
.pay__grid { display: grid; gap: 0 var(--split); margin-top: var(--head-gap); border-top: 1px solid rgba(244, 239, 231, 0.14); }
.pay__grid p { margin: 0; padding: 22px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); color: var(--ivory-soft); }
.pay__grid strong { display: block; margin-bottom: 6px; font-family: var(--f-display); font-weight: 400; font-size: 1.5rem; color: var(--ivory); }
@media (min-width: 900px) { .pay__grid { grid-template-columns: repeat(3, 1fr); } }

/* trial landing */

.strip { padding: var(--section) 0 0; }
.strip__title { padding: 0 var(--gutter); margin-bottom: var(--head-gap); }
.strip__list { display: flex; gap: 14px; overflow-x: auto; padding: 0 var(--gutter) 8px; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.strip__list::-webkit-scrollbar { display: none; }
.strip__list li { flex: 0 0 clamp(200px, 22vw, 300px); scroll-snap-align: start; }
.strip__list img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: brightness(0.9); }
.strip__list span { display: block; margin-top: 12px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }

/* contact */
.channels { padding: var(--section) var(--gutter) 0; border-top: 0; }
.channel {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 24px;
  padding: clamp(20px, 2.4vw, 34px) 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14);
}
.channel:first-child { border-top: 1px solid rgba(244, 239, 231, 0.14); }
.channel__label { grid-column: 1; font-size: 11.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--champagne); }
.channel__value { grid-column: 1; font-family: var(--f-display); font-size: clamp(1.6rem, 1rem + 2.4vw, 3.6rem); line-height: 1.1; overflow-wrap: anywhere; transition: color 0.35s ease; }
.channel__value small { display: block; margin-top: 8px; font-family: var(--f-ui); font-size: 14px; color: var(--ivory-mute); }
.channel__arrow { grid-column: 2; grid-row: 1 / span 2; width: 28px; height: 17px; fill: none; stroke: var(--ivory); stroke-width: 1.1; transition: transform 0.5s var(--ease-out), stroke 0.3s ease; }
.channel:hover .channel__value { color: var(--champagne); }
.channel:hover .channel__arrow { transform: translateX(8px); stroke: var(--champagne); }
@media (min-width: 900px) { .channel { grid-template-columns: 12rem minmax(0, 1fr) auto; } .channel__label, .channel__value { grid-column: auto; } .channel__arrow { grid-column: 3; grid-row: 1; } }

.visit { display: grid; gap: 40px var(--split); padding: var(--section) var(--gutter); }
.visit__title { margin-bottom: 28px; }
.visit__social { margin-top: 28px; }
@media (min-width: 1024px) { .visit { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; } }

/* legal */
.legal { padding: 0 var(--gutter); }
.legal > * { max-width: 46rem; }
.legal h2 { margin: 56px 0 14px; font-family: var(--f-display); font-weight: 400; font-size: 1.7rem; }
.legal h2:first-child { margin-top: 0; }
.legal p, .legal li { color: var(--ivory-soft); }
.legal ul { list-style: disc; padding-left: 1.2em; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
body.is-legal .topbar { background: rgba(11, 10, 9, 0.96); }



body.menu-open { overflow: hidden; }
body.menu-open .mainnav,
body.menu-open .topbar .pill { visibility: hidden; }

/* ─── Video dialog ────────────────────────────────────── */

.film {
  width: min(1100px, 92vw); max-width: none; padding: 0; border: 0; background: transparent; color: var(--ivory); overflow: visible;
}
.film::backdrop { background: rgba(6, 5, 4, 0.9); }
.film[open] { animation: film-in 0.6s var(--ease-out); }
@keyframes film-in { from { opacity: 0; transform: translateY(12px) scale(0.985); } }
.film__frame { position: relative; aspect-ratio: 16 / 9; background: #000; border: 1px solid rgba(217, 195, 163, 0.22); }
.film__frame video { width: 100%; height: 100%; display: block; object-fit: cover; }
.film__empty {
  position: absolute; inset: 0; margin: 0; display: grid; place-items: center; padding: 24px; text-align: center;
  background: rgba(8, 7, 6, 0.72);
  font-family: var(--f-display); font-size: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); line-height: 1.2;
}
.film__empty[hidden] { display: none; }
.film__close {
  position: absolute; right: 0; top: -58px; width: 44px; aspect-ratio: 1; border-radius: 50%;
  display: grid; place-items: center; border: 1px solid var(--hairline); transition: border-color 0.3s ease;
}
.film__close:hover { border-color: var(--champagne); }
.film__close svg { width: 20px; height: 20px; fill: var(--ivory); }

/* ─── Responsive ──────────────────────────────────────── */

@media (max-width: 1239px) {
  .topbar { grid-template-columns: 1fr auto; }
  .mainnav { display: none; }
  .scrollcue { display: none; }
}

@media (max-width: 1023px) {
  .hero {
    grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
    grid-template-rows: 116px 1fr auto auto auto;
    min-height: 100svh;
  }
  .hero__shade {
    background:
      linear-gradient(90deg, rgba(6, 8, 10, 0.72) 0%, rgba(6, 8, 10, 0.42) 65%, rgba(6, 8, 10, 0.12) 100%),
      linear-gradient(180deg, rgba(6, 8, 10, 0.72) 0%, rgba(6, 8, 10, 0.3) 22%, rgba(6, 8, 10, 0.62) 48%, rgba(6, 8, 10, 0.93) 78%);
  }
  .scene[data-scene="havuz"] img { object-position: 50% 50%; }
  .hero__copy { grid-column: 2; grid-row: 2; align-self: end; padding: 24px 0 0; }
  .track { position: static; grid-column: 2; grid-row: 4; margin-top: clamp(28px, 4vh, 44px); justify-self: start; }
  .rail { grid-column: 1 / -1; grid-row: 5; align-self: end; justify-self: stretch; margin: 20px 0 0; padding-bottom: 28px; }
  .rail ol {
    flex-direction: row; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 0 var(--gutter) 4px; scroll-padding-inline: var(--gutter); scrollbar-width: none;
  }
  .rail ol::-webkit-scrollbar { display: none; }
  .rail::before { display: none; }
  .rail li { flex: 0 0 auto; scroll-snap-align: start; }
  .rail__item { flex-direction: column; align-items: flex-start; gap: 10px; width: clamp(150px, 26vw, 220px); }
  .rail__thumb { width: 100%; }
  .rail__text { min-width: 0; }
  .escape {
    grid-column: 2; grid-row: 3; justify-self: stretch; align-self: auto;
    margin: clamp(32px, 5vh, 56px) 0 0; justify-content: space-between; align-items: center;
  }
  .escape__line { margin: 0; font-size: 14px; }
  .badge { width: 116px; }
}

@media (max-width: 599px) {
  .topbar { padding-top: 20px; gap: 12px; }
  .topbar .pill { display: none; }
  .hero { grid-template-rows: 88px 1fr auto auto auto; }
  .hero__copy { padding-top: clamp(20px, 5vh, 48px); }
  .hero__title { font-size: clamp(2.6rem, 0.9rem + 8.4vw, 3.4rem); }
  .escape { margin-top: 22px; }
  .escape__line { padding-top: 16px; font-size: 11.5px; letter-spacing: 0.3em; }
  .escape__line span { display: inline; }
  .badge { display: none; }
  .hero__lead { font-size: 15px; }
  .hero__actions { flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 22px; }
  .hero__cta { display: inline-flex; }
  .track { margin-top: 24px; }
  .rail { margin-top: 14px; padding-bottom: 18px; }
  .rail__text small { white-space: nowrap; }
  .steps { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .steps li { grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: 12px; }
  .steps li::before { grid-row: span 2; margin: 0; }
  .rail__item { width: 148px; }
}


/* ═══ Type system v2 (Archivo) ═══════════════════════════ */

h1, h2, h3, .phero__title, .tour__title, .join__title, .place__title, .closing__title,
.plans__title, .story__title, .principles__title, .hotel__title, .classes__title,
.timetable__title, .private__title, .pay__title, .faq__title, .strip__title, .visit__title, .services__title,
.room__title, .area__name, .plan__name, .klass__name, .lead__title, .lead-done__title,
.fx-chapter__title, .consent__title, .channel__value, .stats__list dd, .proof__text, .manifesto__line {
  font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em;
}
h1 em, h2 em, h3 em, .phero__title em { font-style: normal; color: inherit; }

.hero__title { font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 0.98; font-size: clamp(2.5rem, min(0.6rem + 3.9vw, 9.5vh), 5.1rem); }
.hero__place { font-weight: 500; }
.mainnav a { font-size: clamp(13px, 0.9vw, 15px); }

.tour__title, .join__title, .place__title, .closing__title, .plans__title,
.principles__title, .hotel__title, .classes__title, .timetable__title, .private__title, .pay__title,
.faq__title, .strip__title, .visit__title, .services__title, .story__title {
  text-transform: none; font-size: clamp(1.9rem, 1rem + 2.2vw, 3.2rem); line-height: 1.06; max-width: 18em;
}
.phero__title { text-transform: none; font-size: clamp(2.4rem, 1rem + 4vw, 4.8rem); line-height: 1.02; }
.room__title, .area__name { text-transform: none; font-size: clamp(1.7rem, 1rem + 1.6vw, 2.6rem); line-height: 1.05; }
.room__tag { font-family: var(--f-ui); font-stretch: 100%; font-weight: 500; font-size: 15px; letter-spacing: 0; }
.klass__name { text-transform: none; font-size: clamp(1.4rem, 1rem + 1.2vw, 2.2rem); }
.klass--faq .klass__name { font-stretch: 100%; font-weight: 500; font-size: clamp(1.05rem, 1rem + 0.4vw, 1.3rem); }
.plan__name { text-transform: none; font-size: clamp(1.6rem, 1rem + 1.2vw, 2.4rem); }
.proof__text { font-weight: 500; font-size: clamp(1.6rem, 1rem + 2vw, 3rem); line-height: 1.2; }
.stats__list dd { font-size: clamp(3rem, 1rem + 5vw, 7rem); }
.channel__value { font-weight: 500; font-size: clamp(1.4rem, 1rem + 1.4vw, 2.3rem); }
.lead__title, .lead-done__title { font-size: clamp(1.6rem, 1rem + 1.2vw, 2.4rem); }
.fx-chapter__title { color: var(--ivory-mute); -webkit-text-stroke: 0; text-transform: none; font-size: clamp(1rem, 0.9rem + 0.4vw, 1.2rem); font-stretch: 100%; letter-spacing: 0.02em; margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.story__title { font-weight: 500; }
.mcard__name { font-family: var(--f-display); font-stretch: 112%; font-weight: 500; }

/* decoration removed */
.stage__word, .area__no { display: none !important; }
.room__list li::after, .klass__body li::before { display: none; }
.proof__facts li + li::before { width: 1px; height: 12px; border-radius: 0; background: rgba(244, 239, 231, 0.3); }
.textlink, .plan__cta, .consent__btn, .submit, .pill { letter-spacing: 0.08em; }
.field > label, .field > legend, .hours dt, .channel__label { letter-spacing: 0.08em; }

/* join v2 */
.join__info { max-width: 34rem; }
.join__intro { margin: var(--lead-gap) 0 0; }
.join__next { margin: clamp(28px, 3vw, 40px) 0 0; display: grid; gap: 14px; }
.join__next li { color: var(--ivory-soft); line-height: 1.55; }
.join__next b { color: var(--ivory); font-weight: 600; }
.join__contact { margin: clamp(28px, 3vw, 40px) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; padding-top: 24px; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.join__contact dt { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-mute); }
.join__contact dd { margin: 4px 0 0; font-size: 17px; font-weight: 500; }
.join__contact a:hover { color: var(--champagne); }
@media (min-width: 1100px) { .join__info { position: sticky; top: 110px; } }

/* ─── Program (class schedule) ─────────────────────────── */

.program { padding: 0 var(--gutter) var(--section); scroll-margin-top: 90px; }
.program__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 40px; margin-bottom: var(--head-gap); padding-top: 40px; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.program__title { margin: 0; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.7rem, 1rem + 1.6vw, 2.6rem); line-height: 1.1; }
.program__note { margin: 0; max-width: 34em; font-size: 14px; color: var(--ivory-mute); }

.days { position: relative; display: flex; gap: 8px; overflow-x: auto; margin: 0 calc(var(--gutter) * -1) 2px; padding: 6px var(--gutter); scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.days::-webkit-scrollbar { display: none; }
.days__tab {
  flex: none; display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 20px; white-space: nowrap;
  border: 1px solid rgba(244, 239, 231, 0.16); border-radius: 999px;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.days__short { display: none; font-weight: 600; }
.days__long { font-weight: 600; font-size: 15px; }
.days__tab:hover { border-color: var(--champagne-line); }
.days__tab.is-active { background: var(--ivory); border-color: var(--ivory); color: var(--ground); }
.daypanel { padding-top: 12px; }
.js .daypanel:not(.is-active) { display: none; }
.daypanel__day { margin: 18px 0 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-mute); }
.js .daypanel__day { display: none; }
.daypanel__empty { margin: 24px 0; color: var(--ivory-soft); }
.slots { border-top: 1px solid rgba(244, 239, 231, 0.14); }
.slot {
  display: grid; grid-template-columns: 5.5rem minmax(0, 12rem) minmax(0, 1fr) auto; align-items: baseline; gap: 6px 24px;
  padding: 20px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14);
}
.slot__time { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--champagne); }
.slot__name { font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; font-size: clamp(1.25rem, 1rem + 0.7vw, 1.6rem); }
.slot__desc { color: var(--ivory-soft); font-size: 15px; }
.slot__dur { font-size: 13px; color: var(--ivory-mute); white-space: nowrap; }

.week { margin-top: 28px; }
.week summary { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; color: var(--ivory-soft); }
.week summary::-webkit-details-marker { display: none; }
.week__icon { width: 12px; height: 12px; fill: none; stroke: var(--champagne); stroke-width: 1.3; }
.week__v { transform-box: fill-box; transform-origin: center; transition: transform 0.4s var(--ease-out); }
.week[open] .week__v { transform: scaleY(0); }
.week .tt { margin-top: 18px; display: block; }
.tt tbody th { font-family: var(--f-ui); font-weight: 600; font-size: 15px; }
.week .tt thead th:first-child, .week .tt tbody th { position: sticky; left: 0; z-index: 1; background: var(--ground); }

@media (max-width: 767px) {
  .days__tab { height: 44px; padding: 0 16px; }
  .slot { grid-template-columns: 4.2rem minmax(0, 1fr) auto; gap: 8px 14px; align-items: baseline; padding: 18px 0; }
  .slot__time { grid-column: 1; grid-row: 1; font-size: 17px; }
  .slot__name { grid-column: 2; grid-row: 1; min-width: 0; }
  .slot__dur { grid-column: 3; grid-row: 1; }
  .slot__desc { grid-column: 1 / -1; grid-row: 2; max-width: 36em; font-size: 15px; line-height: 1.55; }
  .week .tt table { min-width: 760px; }
  .week .tt thead th:first-child, .week .tt tbody th { width: 64px; }
}

/* lessons */
.lessons { padding: 0 var(--gutter) var(--section); }
.today + .lessons { padding-top: var(--section); }
.lessons__title { margin: 0 0 24px; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; font-size: clamp(1.7rem, 1rem + 1.6vw, 2.6rem); letter-spacing: -0.012em; }
.lessons__list { border-top: 1px solid rgba(244, 239, 231, 0.14); }
.lesson { display: grid; gap: 10px 40px; padding: 28px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.lesson__name { margin: 0; font-size: clamp(1.35rem, 1rem + 0.9vw, 1.8rem); line-height: 1.15; }
.lesson__body p { margin: 0; max-width: 36em; color: var(--ivory-soft); }
.lesson__body .lesson__benefits { margin-top: 8px; font-size: 14px; color: var(--ivory-mute); }
.lesson__label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-mute); }
.lesson__times ul { display: flex; flex-wrap: wrap; gap: 6px; }
.lesson__times li { padding: 5px 10px; border: 1px solid rgba(217, 195, 163, 0.35); border-radius: 999px; font-size: 13px; font-variant-numeric: tabular-nums; }
@media (min-width: 1024px) { .lesson { grid-template-columns: 16rem minmax(0, 1fr) 20rem; align-items: start; } }

.facts { margin: 0 0 var(--action-gap); border-top: 1px solid rgba(244, 239, 231, 0.14); }
.facts div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.facts dt { font-size: 12.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ivory-mute); }
.facts dd { margin: 0; }
.private__img img { object-position: 50% 30%; }
.private { padding-top: 0; }
.private__img { aspect-ratio: 3 / 2; position: static !important; }

/* ─── Contact page ─────────────────────────────────────── */

@media (min-width: 1024px) { .contact { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: start; } }

/* bugün stüdyoda: başlık + yan yana ders panosu. Sıradaki ders tek odak: şampanya saat, 2px çizgi ve rozet; geçmiş dersler soluk. */
.today { padding-left: var(--gutter); padding-right: var(--gutter); }
.today__board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px clamp(20px, 2.4vw, 32px); margin: 0; padding: 0; list-style: none; }
.today__slot { position: relative; display: flex; flex-direction: column; padding-top: 19px; }
/* üst çizgiler ayrı katman: hareket katmanı onları soldan sağa çizer (--rule), sıradakinin şampanya çizgisini doldurur (--fill) */
.today__slot::before, .today__slot.is-next::after { content: ""; position: absolute; top: 0; left: 0; right: 0; transform-origin: 0 50%; }
.today__slot::before { height: 1px; background: rgba(244, 239, 231, 0.14); transform: scaleX(var(--rule, 1)); }
.today__slot.is-next::after { height: 2px; background: var(--champagne); transform: scaleX(var(--fill, 1)); }
.today__slot.is-past { opacity: 0.4; }
.today__time { font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; font-size: clamp(1.6rem, 1rem + 1.3vw, 2.5rem); line-height: 1; color: var(--ivory); }
.today__slot.is-next .today__time { color: var(--champagne); }
.today__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.today__tag { padding: 4px 11px; border-radius: 999px; background: var(--champagne); color: var(--ground); font-size: 12px; font-weight: 600; line-height: 1.4; }
.today__class { margin-top: 10px; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.15rem, 1rem + 0.5vw, 1.5rem); line-height: 1.15; }
.today__empty { margin: 0; color: var(--ivory-soft); }
@media (min-width: 768px) { .today__board { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* small cleanups */
.proof__facts { gap: 10px 28px; }
.proof__facts li { font-size: 13px; letter-spacing: 0.04em; text-transform: none; font-weight: 500; }
.proof__facts li + li::before { display: none; }
.room__list li { font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.room__list small { font-size: 12px; letter-spacing: 0.04em; }
.stage__index li { letter-spacing: 0.06em; }

/* ─── Custom cursor: crosshair + corner frame on interactive elements ─── */

:root { --cursor: var(--champagne); }
.has-cursor, .has-cursor a, .has-cursor button, .has-cursor summary, .has-cursor label, .has-cursor [role="tab"] { cursor: none; }
.has-cursor input, .has-cursor textarea, .has-cursor select, .has-cursor iframe { cursor: auto; }
.has-cursor dialog, .has-cursor dialog * { cursor: auto; }
.has-cursor dialog button { cursor: pointer; }
.cursor { position: fixed; inset: 0 auto auto 0; z-index: 100; pointer-events: none; }
.cursor__cross, .cursor__frame { position: fixed; left: 0; top: 0; will-change: transform; }
.cursor__cross { width: 26px; height: 26px; margin: -13px 0 0 -13px; transition: opacity 0.2s ease; }
.cursor__cross svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.55)); }
.cursor__cross path { stroke: var(--cursor); stroke-width: 1.5; fill: none; transition: opacity 0.2s ease; }
.cursor__cross circle { fill: var(--cursor); }
.cursor__frame {
  width: 26px; height: 26px; opacity: 0; transform: var(--frame-t, translate3d(-100px, -100px, 0));
  transition: transform 0.28s var(--ease-out), width 0.28s var(--ease-out), height 0.28s var(--ease-out), opacity 0.2s ease;
}
.cursor__frame i { position: absolute; width: 10px; height: 10px; border: 0 solid var(--cursor); filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.45)); }
.cursor__frame i:nth-child(1) { left: 0; top: 0; border-width: 1.5px 0 0 1.5px; }
.cursor__frame i:nth-child(2) { right: 0; top: 0; border-width: 1.5px 1.5px 0 0; }
.cursor__frame i:nth-child(3) { left: 0; bottom: 0; border-width: 0 0 1.5px 1.5px; }
.cursor__frame i:nth-child(4) { right: 0; bottom: 0; border-width: 0 1.5px 1.5px 0; }
.cursor.is-active .cursor__frame { opacity: 1; }
.cursor.is-active .cursor__cross path { opacity: 0; }
.cursor.is-down .cursor__frame { transform: var(--frame-t) scale(0.96); }
.cursor.is-hidden .cursor__cross, .cursor.is-hidden .cursor__frame { opacity: 0; }

/* ═══ Düzen standardı (2026-09-30): tek bölüm ritmi, tek başlık düzeni, tek kart. Renk ve yazılar değişmedi. ═══ */
/* --split: yan yana iki içerik alanı arasındaki tek, akışkan boşluk (tüm iki sütunlu düzenler) */
/* --lead-gap: başlık ile hemen altındaki açıklama/giriş metni arasındaki tek, akışkan boşluk */
/* --head-gap: başlık bloğu ile bölümün içeriği arası; --action-gap: metin/liste ile altındaki buton ya da bağlantı arası; --row: büyük çizgili satırların dikey iç boşluğu */
:root { --section: clamp(112px, 13vw, 208px); --split: clamp(32px, 4vw, 64px); --lead-gap: clamp(10px, 0.8vw, 14px); --head-gap: clamp(32px, 4vw, 56px); --action-gap: clamp(24px, 2.4vw, 36px); --row: clamp(20px, 2.4vw, 32px); }

/* düz bölümler: yalnızca üstten bir bölüm boşluğu */
.proof, .tour, .today, .ritual, .plans, .story, .stats, .principles, .services, .facility, .program, .lessons, .private, .pay, .faq, .strip, .channels, .place, .cards-sec, .contact, .legal {
  padding-top: var(--section); padding-bottom: 0;
}
/* kendi zemini olan bölümler: önceki bölümden bir bölüm uzakta, içte aynı boşluk */
.join, .hotel, .closing { margin-top: var(--section); padding-top: var(--section); padding-bottom: var(--section); }
.phero + .join, .phero + .hotel { margin-top: 0; }
/* form hemen sayfa başından sonra geliyorsa (danışmanlık, deneme): iki bölüm boşluğu üst üste binmesin */
.phero:has(+ .join) { padding-bottom: clamp(32px, 4vw, 64px); }
/* sayfa başının altı bir bölüm boşluğu; ilk içerik bölümü ekstra boşluk almaz */
.phero + section:not(.join):not(.hotel) { padding-top: calc(var(--section) / 2); }
/* sayfanın son bölümü alt boşluğu da alır */
main > section:last-child { padding-bottom: var(--section); }

/* tek başlık düzeni: solda başlık bloğu, sağda (varsa) buton başlığın ilk satırıyla aynı hizada; altında aynı boşluk */
.sec-head, .tour__head, .plans__head, .services__head, .classes__head, .timetable__head {
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px 64px;
  margin: 0 0 var(--head-gap); padding: 0; border: 0;
}
.sec-head__title {
  margin: 0; max-width: 18em; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600;
  letter-spacing: -0.012em; line-height: 1.06; font-size: clamp(1.9rem, 1rem + 2.2vw, 3.2rem);
}
.sec-head__intro, .plans__intro, .tour__intro { margin: 0; max-width: 34em; color: var(--ivory-soft); }
/* başlık bloğu: başlık ve altında kısa açıklama. Başlığın sağında bir şey olacaksa yalnızca çerçeveli buton (.pill), paragraf değil. */
.sec-head__main { display: grid; gap: var(--lead-gap); min-width: 0; }
.sec-head__main > p { max-width: 46em; }
.lessons__title, .pay__title, .faq__title, .strip__title, .principles__title, .private__title, .services__title, .timetable__title { margin-bottom: var(--head-gap); }
.cards-sec { padding-left: var(--gutter); padding-right: var(--gutter); }

/* tek kart: alanlar, tesis, wellness, hizmetler ve deneme sayfası aynı parçayı kullanır */
.cards { display: grid; gap: clamp(32px, 3vw, 48px) clamp(20px, 2.4vw, 32px); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.cards--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.card { display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.card__img { margin: 0 0 18px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ground-2); }
.cards--wide .card__img { aspect-ratio: 3 / 2; }
@media (max-width: 599px) { .card__img { aspect-ratio: 3 / 2; } }
.card__img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9); transition: transform 1.6s var(--ease-out); }
a.card:hover .card__img img { transform: scale(1.04); }
.card__tag { margin: 0 0 10px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.card__title { margin: 0; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.35rem, 1rem + 0.9vw, 1.8rem); line-height: 1.1; }
.card__text { margin: 12px 0 0; max-width: 32em; color: var(--ivory-soft); font-size: 15px; }
/* bağlantı kartın dibinde: aynı sıradaki kartlarda bağlantılar aynı hizada */
.card__text:not(:last-child) { margin-bottom: 18px; }
.card .textlink { align-self: flex-start; margin-top: auto; }

/* görsel kart (ana sayfa alanları): görsel kartın tamamı, altta koyu geçiş üstünde başlık + tek satır; köşede yuvarlak ok */
.tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.tile { position: relative; isolation: isolate; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ground-2); color: var(--ivory); text-decoration: none; }
/* --zoom: açılışta hareket katmanı görseli hafif yakından yerine oturtur; hover'daki transform'dan ayrı çalışır */
.tile__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.82); scale: var(--zoom, 1); transition: transform 1.2s var(--ease-out), filter 0.6s ease; }
.tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 38%, rgba(11, 10, 9, 0.55) 62%, rgba(11, 10, 9, 0.92) 100%); }
.tile__body { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 6px; padding: clamp(14px, 1.3vw, 20px); }
.tile__title { font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.05rem, 0.85rem + 0.55vw, 1.35rem); line-height: 1.12; }
.tile__text { font-size: 13.5px; line-height: 1.4; color: var(--ivory-soft); }
.tile__go { position: absolute; top: clamp(12px, 1.1vw, 16px); right: clamp(12px, 1.1vw, 16px); display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(244, 239, 231, 0.4); border-radius: 50%; background: rgba(11, 10, 9, 0.25); transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease; }
.tile__go svg { width: 16px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.3; }
/* hover yalnızca bağlantı kartlarında; Franchise'taki statik kartlar (div) tepki vermez */
a.tile:hover .tile__img, a.tile:focus-visible .tile__img { transform: scale(1.05); filter: brightness(0.92); }
a.tile:hover .tile__go, a.tile:focus-visible .tile__go { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.fx-extra.page-extra { margin: var(--section) var(--gutter) 0; padding: 36px 0 0; }
.fx-extra [id] { scroll-margin-top: 110px; }

/* ═══ Sayfa başı standardı (2026-09-30): tüm iç sayfalarda aynı, sade hero ═══
   Solda konum, başlık ve altında kısa giriş tek blok; sağda alçak bir görsel.
   Konum her sayfada aynı yerde, görselin üst çizgisinde; başlık hemen altında. */
/* üst boşluk: header'ın üst dolgusu + logo bloğu + header ile hero arasındaki boşluk */
.phero { display: grid; gap: 32px var(--split); padding: calc(clamp(22px, 3.4vh, 40px) + 60px + clamp(64px, 6vw, 112px)) var(--gutter) var(--section); }
.phero__body { display: flex; flex-direction: column; gap: clamp(20px, 2.4vw, 36px); min-width: 0; }
.phero__title { margin: 0; max-width: 12em; text-wrap: balance; }
.phero__lead { margin: var(--lead-gap) 0 0; max-width: 34em; font-size: clamp(16px, 1.1vw, 19px); color: var(--ivory-soft); }
.phero__media { position: relative; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ground-2); }
.phero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* açılışta görsel bir kez, yukarıdan aşağı açılır; fotoğraf hafif yakından yerine oturur */
.phero__media { animation: phero-open 1.3s var(--ease-out) 0.1s both; }
.phero__media img { animation: phero-settle 2s var(--ease-out) 0.1s both; }
@keyframes phero-open { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes phero-settle { from { transform: scale(1.12); } }
@media (min-width: 1024px) {
  .phero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .phero__media { aspect-ratio: auto; min-height: clamp(240px, 21vw, 320px); }
}

/* ═══ Ana sayfa içerik alanları (2026-10-01): gerçek sitedeki bölümler, mevcut bileşenlerle ═══ */
/* hizmet şeridi: hero'nun altında yavaşça kayan hizmet listesi; ikinci kopya kesintisiz döngü için */
.ticker { overflow: hidden; border-top: 1px solid rgba(244, 239, 231, 0.14); border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.ticker__track { display: flex; width: max-content; animation: ticker 46s linear infinite; }
.ticker__list { display: flex; flex: none; margin: 0; padding: 0; list-style: none; }
.ticker__list li { display: flex; align-items: center; gap: clamp(24px, 2.6vw, 48px); padding: clamp(20px, 2.2vw, 34px) clamp(24px, 2.6vw, 48px) clamp(20px, 2.2vw, 34px) 0; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.3rem, 0.9rem + 1.4vw, 2.4rem); line-height: 1; white-space: nowrap; }
.ticker__list li::after { content: ""; flex: none; width: 0.5em; aspect-ratio: 1; background: var(--champagne); clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%); }
@keyframes ticker { to { transform: translateX(-50%); } }
.principles__lead { margin: var(--lead-gap) 0 0; max-width: 34em; color: var(--ivory-soft); }
.hotel__list { margin: 0 0 var(--action-gap); padding: 0; list-style: none; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.hotel__list li { padding: 14px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.35rem); }
/* başlığın altında giriş metni varsa başlığın kendi alt boşluğu düşer; aradaki boşluk yalnızca --lead-gap */
.principles__title:has(+ .principles__lead), .private__title:has(+ .private__lead) { margin-bottom: 0; }

/* ═══ Neden bloğu (2026-10-01): ana sayfa ve Hakkımızda. Solda metin kadar uzayan görsel; sağda başlık, giriş ve çizgili satırlar (solda madde adı, sağda açıklama). Numara yok. ═══ */
.why { display: grid; gap: var(--split); padding: var(--section) var(--gutter) 0; }
.why__img { position: relative; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ground-2); }
.why__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9); }
.why__lead { margin: var(--lead-gap) 0 0; max-width: 40em; color: var(--ivory-soft); }
.why__points { margin: var(--head-gap) 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(244, 239, 231, 0.14); }
.why__points li { display: grid; gap: 8px var(--split); padding: var(--row) 0; border-bottom: 1px solid rgba(244, 239, 231, 0.14); }
.why__name { margin: 0; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.15rem, 1rem + 0.5vw, 1.5rem); line-height: 1.15; }
.why__points p { margin: 0; max-width: 34em; color: var(--ivory-soft); }
@media (min-width: 640px) { .why__points li { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: baseline; } }
@media (min-width: 1024px) {
  .why { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .why__img { aspect-ratio: auto; min-height: 360px; }
}

/* ═══ Fotoğraf bölümü standardı (2026-10-01; örnek: ana sayfa "Pendik’te premium fitness deneyimi") ═══
   Hero'dan türetildi: bölüm büyük bir fotoğrafın üstüne kurulur; hero'daki koyu geçişler, büyük harfli geniş başlık
   (tek kelime şampanya), fotoğrafın kendi renginden alt ışıma (--glow: r, g, b) ve fotoğrafa binen buzlu cam kartlar.
   Kadraj bölüm başına: --pos (masaüstü), --pos-m (mobil). */
.feature { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-rows: 1fr auto; min-height: min(100svh, 980px); margin-top: var(--section); padding: var(--section) var(--gutter) clamp(40px, 5vw, 72px); }
.feature__media { position: absolute; inset: 0; z-index: -2; background: var(--ground-2); }
.feature__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); filter: brightness(0.76) saturate(1.12) contrast(1.08); }
/* ana sayfada <picture>: masaüstünde geniş kare, 1024px altında dikey kare (görsel yine tüm alanı kaplar) */
.feature__media picture { display: block; height: 100%; }
.feature::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(0deg, var(--ground) 0%, rgba(11, 10, 9, 0.6) 24%, rgba(11, 10, 9, 0) 52%),
    linear-gradient(180deg, var(--ground) 0%, rgba(11, 10, 9, 0) 22%),
    radial-gradient(60% 46% at 70% 88%, rgba(var(--glow, 217, 195, 163), 0.3), rgba(var(--glow, 217, 195, 163), 0) 70%),
    linear-gradient(90deg, rgba(6, 8, 10, 0.88) 0%, rgba(6, 8, 10, 0.62) 34%, rgba(6, 8, 10, 0.12) 64%, rgba(6, 8, 10, 0) 80%);
}
.feature__body { align-self: center; max-width: 46rem; }
.feature__title { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 0.98; text-transform: uppercase; font-size: clamp(2.2rem, 1rem + 2.8vw, 4rem); }
.feature__lead { margin: var(--lead-gap) 0 0; max-width: 32em; font-size: clamp(15px, 1.02vw, 18px); line-height: 1.62; color: var(--ivory-soft); text-shadow: 0 1px 14px rgba(6, 8, 10, 0.55); }
.feature__body .pill { margin-top: var(--action-gap); }
.feature__cards { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: var(--head-gap) 0 0; padding: 0; list-style: none; }
/* buzlu cam kart: fotoğrafın üstüne biner; hero şeridindeki gibi küçük görsel (1440px altında üstte geniş şerit, üstünde solda) */
.glass { display: grid; gap: clamp(12px, 1.2vw, 18px); align-content: start; padding: clamp(14px, 1.3vw, 20px); background: rgba(14, 12, 10, 0.42); border: 1px solid rgba(244, 239, 231, 0.14); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
.glass__thumb { width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border: 1px solid rgba(217, 195, 163, 0.3); }
@media (min-width: 1440px) { .glass { grid-template-columns: clamp(84px, 6vw, 112px) minmax(0, 1fr); gap: clamp(14px, 1.2vw, 20px); align-items: start; } .glass__thumb { aspect-ratio: 4 / 3; } }
.glass__title { margin: 0 0 6px; font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.012em; font-size: clamp(1.02rem, 0.9rem + 0.35vw, 1.25rem); line-height: 1.15; }
.glass__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ivory-soft); }
@media (min-width: 1024px) { .feature__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
  .feature { min-height: 0; padding-left: 0; padding-right: 0; }
  .feature__media img { object-position: var(--pos-m, var(--pos, 50% 50%)); }
  .feature__body { align-self: end; padding: clamp(220px, 52vw, 400px) var(--gutter) 0; }
  .feature::before {
    background:
      linear-gradient(0deg, var(--ground) 0%, rgba(11, 10, 9, 0) 10%),
      linear-gradient(180deg, var(--ground) 0%, rgba(11, 10, 9, 0) 16%),
      radial-gradient(80% 36% at 60% 86%, rgba(var(--glow, 217, 195, 163), 0.26), rgba(var(--glow, 217, 195, 163), 0) 70%),
      linear-gradient(0deg, rgba(11, 10, 9, 0.84) 0%, rgba(11, 10, 9, 0.84) 42%, rgba(11, 10, 9, 0.25) 70%, rgba(11, 10, 9, 0) 88%);
  }
  .feature__cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gutter); scrollbar-width: none; padding: 0 var(--gutter); }
  .feature__cards::-webkit-scrollbar { display: none; }
  .glass { flex: 0 0 min(84%, 360px); scroll-snap-align: start; }
}

/* bilgi kartı: görselsiz buzlu cam (konum: saatler, iletişim, otopark) */
.glass--info { grid-template-columns: minmax(0, 1fr); }
.glass__text a:hover { color: var(--champagne); }
address.feature__lead { font-style: normal; }

/* ═══ Bölüm başlıkları hero dilinde (2026-10-01): geniş, büyük harf; .accent tek kelimeyi şampanya yapar.
   İngilizce kelimeler ve marka lang="en" ile yazılır (FITNESS, PRIMEFIT; Türkçe büyük harf FİTNESS yapar). ═══ */
.sec-head__title, .plans__title, .join__title, .place__title, .hotel__title, .principles__title, .private__title, .services__title, .faq__title, .lessons__title, .pay__title, .program__title, .timetable__title {
  font-stretch: 118%; text-transform: uppercase; letter-spacing: -0.01em; line-height: 1;
}
.accent { color: var(--champagne); }

/* ═══ Paket kartları (2026-10-01, yeniden): üç uzun fotoğraf kartı; her kartta yalnızca paketi ayıran üç madde.
   Ortak olanlar kartların altında bir kez ("Tüm paketlerde" şeridi). Prime öne çıkar: şampanya rozet, ad, çerçeve ve buton. ═══ */
.pcards { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
.pcard { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(500px, 68vh, 640px); overflow: hidden; background: var(--ground-2); border: 1px solid rgba(244, 239, 231, 0.12); }
.pcard--lead { border-color: rgba(217, 195, 163, 0.6); box-shadow: 0 40px 90px -50px rgba(217, 195, 163, 0.5); }
.pcard__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8) saturate(1.12); transition: transform 1.8s var(--ease-out); }
.pcard:hover .pcard__img { transform: scale(1.05); }
.pcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0.25) 0%, rgba(11, 10, 9, 0) 28%, rgba(11, 10, 9, 0.72) 56%, rgba(11, 10, 9, 0.95) 100%); }
.pcard__badge, .mplan__badge { position: absolute; top: clamp(16px, 1.6vw, 24px); left: clamp(16px, 1.6vw, 24px); padding: 7px 13px; border: 1px solid rgba(244, 239, 231, 0.45); border-radius: 999px; background: rgba(11, 10, 9, 0.3); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.pcard--lead .pcard__badge, .mplan--lead .mplan__badge { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.pcard__body { display: grid; gap: 20px; padding: clamp(20px, 2vw, 32px); }
.pcard__name { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 0.95; text-transform: uppercase; font-size: clamp(2.6rem, 1.4rem + 2.6vw, 4.2rem); }
.pcard--lead .pcard__name { color: var(--champagne); }
.pcard__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pcard__list li { display: flex; align-items: baseline; gap: 12px; font-size: 15.5px; line-height: 1.4; }
.pcard__list li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--champagne); transform: translateY(-2px); }
.pcard__cta { justify-self: start; }
.pcard--lead .pcard__cta { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
/* ortak olanlar: hero'daki alan şeridi gibi; küçük görsel, kalın ad, iki satırlık açıklama */
.pcommon { margin-top: clamp(12px, 1.4vw, 20px); padding: clamp(18px, 2vw, 30px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(70% 120% at 0% 0%, rgba(217, 195, 163, 0.08), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
/* şerit notu: bunların üyeliğe dahil olduğu ve ayrıca ücret ödenmediği tek, sakin bir cümleyle; başında şampanya onay ikonu */
.pcommon__note { display: flex; align-items: center; gap: 12px; margin: 0 0 clamp(18px, 1.8vw, 24px); font-size: clamp(15px, 1vw, 17px); line-height: 1.45; color: var(--ivory-soft); }
.pcommon__note svg { flex: none; width: 26px; height: 26px; fill: var(--champagne); }
.pcommon__note b { font-weight: 600; color: var(--ivory); }
.pcommon__list { display: grid; gap: 18px clamp(16px, 2vw, 32px); margin: 0; padding: 0; list-style: none; }
.pcommon__list li { display: grid; grid-template-columns: clamp(76px, 5.6vw, 100px) minmax(0, 1fr); align-items: center; gap: 16px; }
.pcommon__thumb { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid rgba(217, 195, 163, 0.3); }
.pcommon__text { display: grid; gap: 5px; }
.pcommon__text b { font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; font-size: clamp(0.98rem, 0.9rem + 0.25vw, 1.12rem); }
.pcommon__text small { font-size: 13px; line-height: 1.45; color: var(--ivory-mute); }
@media (min-width: 640px) { .pcommon__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1600px) { .pcommon__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 900px) { .pcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) {
  .pcards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter); scroll-padding: 0 var(--gutter); }
  .pcards::-webkit-scrollbar { display: none; }
  .pcard { flex: 0 0 min(86%, 380px); min-height: 480px; scroll-snap-align: start; }
}

/* ═══ Form bölümü (2026-10-01): fotoğraf zemin + hero gölgesi; form buzlu cam panelde ═══ */
.join { isolation: isolate; overflow: hidden; background: var(--ground); border-top: 0; }
.join__media { position: absolute; inset: 0; z-index: -2; }
.join__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; filter: brightness(0.62) saturate(1.12) contrast(1.06); }
.join::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(11, 10, 9, 0.35) 16%, rgba(11, 10, 9, 0.55) 70%, var(--ground) 100%),
    linear-gradient(90deg, rgba(6, 8, 10, 0.82) 0%, rgba(6, 8, 10, 0.45) 45%, rgba(6, 8, 10, 0.25) 100%),
    radial-gradient(50% 40% at 70% 60%, rgba(60, 150, 150, 0.18), rgba(60, 150, 150, 0) 70%);
}
.join__form-col { padding: clamp(20px, 2.6vw, 44px); background: rgba(14, 12, 10, 0.55); border: 1px solid rgba(244, 239, 231, 0.14); -webkit-backdrop-filter: blur(20px) saturate(1.2); backdrop-filter: blur(20px) saturate(1.2); }

/* ═══ Genişleyen paneller (2026-10-01; ana sayfa masaj ve cilt bakımı): yan yana uzun fotoğraf panelleri.
   1200px ve üstü: yalnızca fareyle üzerine gelinen panel genişler; fare yokken klavye odağındaki, o da yoksa ilk panel.
   900–1199px: eşit paneller, açıklamalar açık. 900px altı: alt alta. Aralık boşluğu li içinde: fare geçerken seçim kaybolmaz. ═══ */
.spa { padding: var(--section) var(--gutter) 0; }
.panels { display: flex; margin: 0; padding: 0; list-style: none; }
.panels > li { flex: 1 1 0; min-width: 0; }
.panels > li + li { padding-left: clamp(8px, 1vw, 14px); }
.panel { position: relative; isolation: isolate; display: block; height: 100%; overflow: hidden; background: var(--ground-2); color: var(--ivory); text-decoration: none; }
.panel img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.74) saturate(1.15); transition: transform 1.8s var(--ease-out), filter 0.8s ease; }
.panel::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0.1) 0%, rgba(11, 10, 9, 0) 35%, rgba(11, 10, 9, 0.9) 100%); }
.panel__body { position: absolute; left: 0; right: 0; bottom: 0; display: grid; padding: clamp(16px, 1.6vw, 30px); }
.panel__title { font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(1.15rem, 0.75rem + 1vw, 2rem); }
/* açıklama yalnızca panel açıkken yer kaplar: kapalı panellerde başlıklar da alt çizgiye oturur */
.panel__more { display: grid; grid-template-rows: 1fr; transition: grid-template-rows 0.7s var(--ease-out); }
.panel__text { min-height: 0; overflow: hidden; max-width: 26em; font-size: 15px; line-height: 1.55; color: var(--ivory-soft); transition: opacity 0.4s ease; }
.panel__text::before { content: ""; display: block; height: 12px; }
.panel__go { position: absolute; top: clamp(14px, 1.4vw, 22px); right: clamp(14px, 1.4vw, 22px); display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(244, 239, 231, 0.4); border-radius: 50%; background: rgba(11, 10, 9, 0.25); transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease; }
.panel__go svg { width: 16px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.panel:hover .panel__go, .panel:focus-visible .panel__go { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
@media (max-width: 899px) {
  .panels { flex-direction: column; gap: 10px; }
  .panels > li + li { padding-left: 0; }
  .panels > li { flex: none; height: clamp(240px, 64vw, 340px); }
}
@media (min-width: 900px) { .panels { height: clamp(440px, 64vh, 660px); } }
@media (min-width: 1200px) {
  .panels > li { transition: flex-grow 0.9s var(--ease-out); }
  .panel__more { grid-template-rows: 0fr; }
  .panel__text { opacity: 0; }
  .panels > li:hover,
  .panels:not(:has(> li:hover)) > li:focus-within,
  .panels:not(:has(> li:hover)):not(:focus-within) > li:first-child { flex-grow: 2.2; }
  .panels > li:hover .panel__more,
  .panels:not(:has(> li:hover)) > li:focus-within .panel__more,
  .panels:not(:has(> li:hover)):not(:focus-within) > li:first-child .panel__more { grid-template-rows: 1fr; }
  .panels > li:hover .panel__text,
  .panels:not(:has(> li:hover)) > li:focus-within .panel__text,
  .panels:not(:has(> li:hover)):not(:focus-within) > li:first-child .panel__text { opacity: 1; transition-delay: 0.2s; }
  .panels > li:hover .panel img { transform: scale(1.04); filter: brightness(0.82) saturate(1.2); }
}

/* ═══ Satır kırma (2026-10-01): başlıklar dengeli kırılır; birlikte okunan kelimeler (cilt bakımı, Green Park…) &nbsp; ile bağlanır.
   Paragraf ve listelerde son satırda tek kelime kalmaz. ═══ */
h1, h2, h3, .feature__title, .sec-head__title, .panel__title, .tile__title, .glass__title, .pcard__name, .card__title { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }

/* ═══ Kapanış bandı (2026-10-01): her sayfada birebir aynı, footer'ın hemen üstünde. Hero'nun yankısı: kulübün imza fotoğrafı
   (ısıtmalı kapalı havuz), büyük harfli başlık, danışmanlık ve deneme butonları. ═══ */
.closer { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; gap: 40px var(--split); min-height: min(88svh, 820px); padding: var(--section) var(--gutter) clamp(56px, 7vw, 110px); }
.closer__media { position: absolute; inset: 0; z-index: -2; background: var(--ground-2); }
.closer__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; filter: brightness(0.7) saturate(1.1) contrast(1.1); }
.closer::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(11, 10, 9, 0) 26%),
    linear-gradient(0deg, var(--ground) 0%, rgba(11, 10, 9, 0.5) 18%, rgba(11, 10, 9, 0) 45%),
    linear-gradient(90deg, rgba(6, 8, 10, 0.86) 0%, rgba(6, 8, 10, 0.55) 38%, rgba(6, 8, 10, 0.1) 70%, rgba(6, 8, 10, 0.35) 100%),
    radial-gradient(55% 45% at 30% 85%, rgba(70, 150, 200, 0.18), rgba(70, 150, 200, 0) 70%);
}
.closer__body { max-width: 44rem; }
.closer__title { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 0.98; text-transform: uppercase; font-size: clamp(2.3rem, 1rem + 3.4vw, 4.8rem); }
.closer__lead { margin: var(--lead-gap) 0 0; max-width: 32em; font-size: clamp(15px, 1.05vw, 18px); line-height: 1.62; color: var(--ivory-soft); text-shadow: 0 1px 14px rgba(6, 8, 10, 0.55); }
.closer__actions { display: flex; flex-wrap: wrap; gap: 14px 16px; margin-top: var(--action-gap); }

/* ═══ Sayfa başı ile içerik arasında ekran genişliğinde ince çizgi (2026-10-02): tüm iç sayfalarda; bölüm boşluğu çizginin iki yanına eşit bölünür ═══ */
.phero { position: relative; padding-bottom: calc(var(--section) / 2); }
.phero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(244, 239, 231, 0.14); }

/* ═══ Ders programı (2026-10-02): takvim ızgarası — satır saat, sütun gün, tüm hücreler kenarlıklı; başlık satırı şampanya,
   bugünün başlığı açık, sütunu şampanya tonlu; sıradaki ders dolu şampanya, geçmişler soluk. Telefonda gün sekmeleri. ═══ */
.cal { display: none; }
@media (min-width: 768px) {
  .cal { display: block; overflow-x: auto; scrollbar-width: thin; }
  .program__days { display: none; }
}
.cal__table { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; border: 1px solid rgba(244, 239, 231, 0.16); }
.cal__table th, .cal__table td { border: 1px solid rgba(244, 239, 231, 0.1); text-align: center; vertical-align: middle; }
.cal__table thead th { padding: 18px 8px; background: var(--champagne); border-color: rgba(11, 10, 9, 0.16); color: var(--ground); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.cal__corner, .cal__time { width: 104px; }
.cal__time { padding: 18px 10px; background: #15130f; color: var(--champagne); font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; font-size: 1.05rem; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.cal__corner, .cal__time { position: sticky; left: 0; z-index: 1; }
.cal__table td { height: 64px; padding: 8px; background: rgba(244, 239, 231, 0.012); font-size: 15px; font-weight: 500; color: var(--ivory); }
.cal__table td.has-class { background: rgba(244, 239, 231, 0.055); }
/* dar ekranda gün adları kısalır (Pzt, Sal…) */
.cal__short { display: none; }
@media (max-width: 1099px) { .cal__long { display: none; } .cal__short { display: inline; } }

/* ═══ Tesis (2026-10-02, yeniden): antrenman fotoğraf bölümü + su mozaiği + ısı kartları ═══ */
.phero + .feature { margin-top: calc(var(--section) / 2); }
@media (min-width: 1024px) { .feature__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* mozaik: büyük görsel solda iki satır boyunca, iki görsel sağda üst üste; yazılar fotoğrafın üstünde */
.mosaic { display: grid; gap: clamp(10px, 1.2vw, 16px); margin: 0; padding: 0; list-style: none; }
.mosaic__item, .heat__item { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; background: var(--ground-2); }
.mosaic__item > img, .heat__item > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8) saturate(1.12); transition: transform 1.8s var(--ease-out); }
.mosaic__item:hover > img, .heat__item:hover > img { transform: scale(1.04); }
.mosaic__item::after, .heat__item::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 28%, rgba(11, 10, 9, 0.62) 58%, rgba(11, 10, 9, 0.94) 100%); }
.mosaic__body, .heat__body { display: grid; gap: 8px; padding: clamp(18px, 2vw, 30px); }
.mosaic__body { max-width: 38rem; }
.mosaic__sub, .heat__sub { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.mosaic__title, .heat__title { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; }
.mosaic__title { font-size: clamp(1.4rem, 1rem + 1.2vw, 2.2rem); }
.mosaic__text, .heat__text { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ivory-soft); }
.mosaic__item { aspect-ratio: 4 / 3; }
@media (min-width: 900px) {
  .mosaic { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, clamp(280px, 30vw, 380px)); }
  .mosaic__item { aspect-ratio: auto; }
  .mosaic__item:first-child { grid-row: 1 / span 2; }
  .mosaic__item:first-child .mosaic__title { font-size: clamp(2rem, 1rem + 2.4vw, 3.6rem); }
}
/* ikili mozaik (antrenman): iki eşit, büyük fotoğraf kartı yan yana */
@media (min-width: 900px) {
  .mosaic--duo { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: clamp(360px, 32vw, 500px); }
  .mosaic--duo .mosaic__item:first-child { grid-row: auto; }
  .mosaic--duo .mosaic__item .mosaic__title { font-size: clamp(1.6rem, 1rem + 1.6vw, 2.6rem); }
}
/* ısı kartları: geniş ekranda beş uzun kart yan yana, daha darda yana kayar */
.heat { display: grid; gap: clamp(10px, 1.2vw, 16px); margin: 0; padding: 0; list-style: none; }
.heat__item { aspect-ratio: 3 / 4; }
.heat__body { padding: clamp(16px, 1.4vw, 22px); }
.heat__title { font-size: clamp(1.05rem, 0.85rem + 0.5vw, 1.35rem); }
.heat__text { font-size: 14px; }
@media (min-width: 1200px) { .heat { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1199px) {
  .heat { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter); scroll-padding: 0 var(--gutter); }
  .heat::-webkit-scrollbar { display: none; }
  .heat__item { flex: 0 0 min(78%, 320px); scroll-snap-align: start; }
}

/* ═══ Hizmet detay sayfaları ve hizmetler ana sayfası (2026-10-02) ═══ */
/* hizmet maddeleri: onay ikonlu etiketler */
.points { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 0; padding: 0; list-style: none; }
.points > li { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px 11px 13px; border: 1px solid rgba(217, 195, 163, 0.35); border-radius: 999px; background: rgba(244, 239, 231, 0.03); font-size: 15px; line-height: 1.3; }
.points svg { flex: none; width: 20px; height: 20px; fill: var(--champagne); }
/* ilgili alan / hizmet kartları: dört kart */
/* telefonda tek sütun, 640–1179 iki sütun (4:3), 1180+ dört sütun (4:5); başlık tek, açıklama tam iki satır */
.tiles--4 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .tiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1179px) { .tiles--4 .tile { aspect-ratio: 4 / 3; } }
@media (max-width: 639px) { .tiles--4 .tile__title { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.8rem); } }
.tiles--4 .tile__text { max-width: 24ch; font-size: 15px; text-wrap: balance; }
/* hizmetler ana sayfası: üç sütun, yatay (4:3) büyük fotoğraf kartları */
.tiles--3 .tile { aspect-ratio: 4 / 3; }
.tiles--3 .tile__title { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.8rem); }
/* açıklamalar her genişlikte altı kartta da tam iki satır (22–26ch aralığında ölçüldü) */
.tiles--3 .tile__text { max-width: 24ch; font-size: 15px; text-wrap: balance; }
@media (min-width: 1024px) { .tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 1023px) { .tiles--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .tiles--3 { grid-template-columns: minmax(0, 1fr); } }


/* ═══ Hizmet sayfası, zengin sürüm (2026-10-02): özet, ders kartları, branş fotoğrafları, mini paketler, tesis kartı ═══ */

/* özet (son hâl): masaüstünde solda fotoğraf (metin sütunu boyunda), sağda başlık, metin, beş kazanım ve butonlar; altta tüm
   genişlikte dört bilgi kartı (etiket, büyük değer, kısa not; ders kartlarıyla aynı yüzey). Tablet ve telefonda: metin → kartlar → fotoğraf */
.svc-intro { display: grid; gap: clamp(32px, 4vw, 48px) var(--split); }
.svc-intro__body { min-width: 0; align-self: center; }
.svc-intro__text { margin: var(--lead-gap) 0 0; max-width: 34em; font-size: clamp(16px, 1.1vw, 18px); color: var(--ivory-soft); text-wrap: pretty; }
.svc-points { display: grid; gap: 12px; margin: clamp(24px, 2.6vw, 36px) 0 0; padding: 0; list-style: none; }
.svc-points li { display: flex; align-items: flex-start; gap: 12px; font-size: clamp(15px, 1vw, 16.5px); line-height: 1.45; }
.svc-points svg { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: var(--champagne); }
.svc-intro__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--action-gap); }
.svc-intro__media { position: relative; order: 3; margin: 0; aspect-ratio: 1; overflow: hidden; background: var(--ground-2); }
.svc-intro__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9) saturate(1.1); }
.svc-facts { display: grid; order: 2; gap: clamp(10px, 1.2vw, 16px); margin: 0; }
.svc-facts > div { display: grid; align-content: start; gap: 10px; padding: clamp(18px, 1.8vw, 28px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.svc-facts dt { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.svc-facts dd { display: grid; gap: 6px; margin: 0; }
.svc-facts__value { font-family: var(--f-display); font-stretch: var(--wide); font-weight: 600; letter-spacing: -0.01em; font-size: clamp(1.15rem, 0.8rem + 0.7vw, 1.6rem); line-height: 1.15; font-variant-numeric: tabular-nums; }
.svc-facts__note { font-size: 13.5px; line-height: 1.4; color: var(--ivory-mute); }
@media (min-width: 560px) { .svc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 1199px) { .svc-intro__media { aspect-ratio: 3 / 2; } }
@media (min-width: 1200px) {
  .svc-intro { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .svc-intro__media { grid-column: 1; grid-row: 1; aspect-ratio: auto; min-height: clamp(460px, 38vw, 640px); }
  .svc-intro__body { grid-column: 2; grid-row: 1; }
  .svc-facts { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ders kartları: ad, haftalık ders sayısı, eş kartlarda iki satırlık açıklama ve haftanın yedi günü (saat şampanya, boş gün çizgi; bugünün sütunu hafif vurgulu) */
.lcards { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .lcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .lcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lcard { display: grid; grid-template-rows: auto auto 1fr; gap: 14px; padding: clamp(20px, 2vw, 28px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.lcard__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lcard__name { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(1.5rem, 1.1rem + 1vw, 2.1rem); }
.lcard__tag { flex: none; padding: 6px 12px; border: 1px solid var(--champagne-line); border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; color: var(--champagne); }
.lcard__text { margin: 0; max-width: 36ch; font-size: 15px; line-height: 1.55; color: var(--ivory-soft); text-wrap: balance; }
.lcard__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-self: end; margin: 10px 0 0; padding: 0; list-style: none; }
.lcard__week li { display: grid; justify-items: center; align-content: start; gap: 7px; padding: 12px 1px 10px; border-top: 1px solid rgba(244, 239, 231, 0.16); text-align: center; }
.lcard__week li.is-on { padding-top: 11px; border-top: 2px solid var(--champagne); }
.lcard__week abbr { text-decoration: none; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-mute); }
.lcard__week li.is-on abbr { color: var(--ivory); }
.lcard__week time, .lcard__none { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--champagne); }
.lcard__none { color: rgba(244, 239, 231, 0.3); }
@media (min-width: 1440px) { .lcard__week time, .lcard__none { font-size: 13px; } }

/* fotoğraf kartları (PT branşları): telefonda 2, masaüstünde 4 dikey kart; başlık altta */
.pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 16px); margin: 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .pgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pgrid__item { position: relative; isolation: isolate; display: flex; align-items: flex-end; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ground-2); }
.pgrid__item > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.82) saturate(1.1); transition: transform 1.8s var(--ease-out); }
.pgrid__item:hover > img { transform: scale(1.04); }
.pgrid__item::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 45%, rgba(11, 10, 9, 0.86) 100%); }
.pgrid__title { margin: 0; padding: clamp(14px, 1.6vw, 24px); font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(1.25rem, 0.9rem + 1vw, 2rem); }

/* mini paket kartları (beslenme): paket kartlarının kısa hâli; hizmetin o paketteki durumu ve buton */
.pcards--mini .pcard { min-height: clamp(380px, 46vh, 460px); }
.pcards--mini .pcard__name { font-size: clamp(2rem, 1.2rem + 1.8vw, 3rem); }
.pcard__status { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15.5px; line-height: 1.4; }
.pcard__status svg { flex: none; width: 22px; height: 22px; fill: var(--champagne); }
.pcard__status.is-off { color: var(--ivory-mute); }
.pcard__status.is-off svg { fill: var(--ivory-mute); }

/* tesis kartı: tam genişlikte fotoğraf; solda alanın adı, kısa metni ve Tesis bağlantısı */
.svc-place { position: relative; isolation: isolate; display: flex; align-items: flex-end; margin: 0; min-height: clamp(420px, 40vw, 600px); overflow: hidden; background: var(--ground-2); }
.svc-place > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8) saturate(1.12); }
.svc-place::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 10, 9, 0.88) 0%, rgba(11, 10, 9, 0.55) 38%, rgba(11, 10, 9, 0) 72%), linear-gradient(0deg, rgba(11, 10, 9, 0.55) 0%, rgba(11, 10, 9, 0) 45%); }
.svc-place__body { display: grid; justify-items: start; gap: 10px; max-width: 34rem; padding: clamp(24px, 3.4vw, 56px); }
.svc-place__sub { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.svc-place__title { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(2rem, 1rem + 3vw, 4rem); }
.svc-place__text { margin: 0 0 calc(var(--action-gap) - 10px); max-width: 30em; font-size: clamp(15px, 1vw, 17px); line-height: 1.55; color: var(--ivory-soft); }
@media (max-width: 767px) {
  .svc-place { min-height: 0; aspect-ratio: 4 / 5; }
  .svc-place::after { background: linear-gradient(180deg, rgba(11, 10, 9, 0) 30%, rgba(11, 10, 9, 0.6) 55%, rgba(11, 10, 9, 0.94) 100%); }
}

/* SSS (2026-10-02): masaüstünde solda başlık, kısa not ve WhatsApp butonu (kaydırırken sabit), sağda sorular; alan tüm genişliği dengeli kullanır */
.faq__head { display: grid; justify-items: start; gap: var(--lead-gap); margin-bottom: var(--head-gap); }
.faq__head .faq__title { margin: 0; text-wrap: balance; }
.faq__intro { margin: 0; max-width: 26em; color: var(--ivory-soft); text-wrap: pretty; }
.faq__intro a { color: var(--ivory); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--champagne-line); }
.faq__intro a:hover { color: var(--champagne); }
.faq__head .pill { margin-top: calc(var(--action-gap) - var(--lead-gap)); }
@media (min-width: 1200px) {
  .faq { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--split); align-items: start; }
  .faq__head { position: sticky; top: 120px; margin-bottom: 0; }
  .faq__list { max-width: none; }
}

/* SSS akordeonu (2026-10-02): yükseklik main.js'te yumuşakça açılıp kapanır; kapanırken ikon ve başlık rengi hemen kapalı hâline döner */
.klass.is-closing .klass__name { color: rgba(244, 239, 231, 0.55); }
.klass.is-closing .klass__icon { background: transparent; border-color: var(--champagne-line); }
.klass.is-closing .klass__icon::before, .klass.is-closing .klass__icon::after { background: var(--ivory); }
.klass.is-closing .klass__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
/* her zaman bir soru açık: açık sorunun başlığı tıklanınca kapanmaz, imleç de bunu gösterir */
.klass--faq[open]:not(.is-closing) summary { cursor: default; }

/* ═══ Grup Dersleri (2026-10-02, baştan) ═══
   Dersler: masaüstünde solda yapışkan stüdyo fotoğrafı (altta stüdyonun adı), sağda altı ders kartı (gerçek açıklama, dört fayda,
   programdan haftalık saat şeridi; ders kartlarıyla aynı yüzey). Telefonda fotoğraf üstte, kartlar altında. */
.klasses { display: grid; gap: clamp(16px, 2vw, 24px) var(--split); }
.klasses__media { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ground-2); }
.klasses__media img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.84) saturate(1.1); }
.klasses__media::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 48%, rgba(11, 10, 9, 0.6) 72%, rgba(11, 10, 9, 0.92) 100%); }
.klasses__caption { display: grid; gap: 8px; padding: clamp(18px, 2vw, 30px); }
.klasses__sub { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.klasses__place { font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(1.6rem, 1rem + 1.6vw, 2.6rem); }
.klasses__list { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
.kcard { display: grid; gap: 16px; padding: clamp(22px, 2.2vw, 32px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.kcard__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.kcard__name { margin: 0; font-family: var(--f-display); font-stretch: 118%; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-transform: uppercase; font-size: clamp(1.45rem, 1.05rem + 1vw, 2.1rem); }
.kcard__text { margin: 0; max-width: 40em; font-size: 15.5px; line-height: 1.6; color: var(--ivory-soft); text-wrap: pretty; }
.kcard__gains { display: grid; gap: 10px 24px; margin: 0; padding: 0; list-style: none; }
.kcard__gains li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.4; }
.kcard__gains svg { flex: none; width: 18px; height: 18px; margin-top: 1px; fill: var(--champagne); }
@media (min-width: 640px) { .kcard__gains { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* yan yana düzenin dar aralığında faydalar tek sütun: her madde tek satır kalsın */
@media (min-width: 1100px) and (max-width: 1499px) { .kcard__gains { grid-template-columns: minmax(0, 1fr); } }
.kcard__when { margin: 6px 0 -4px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ivory-mute); }
.kcard .lcard__week { margin: 0; }
@media (min-width: 1100px) {
  .klasses { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
  .klasses__media { position: sticky; top: 112px; aspect-ratio: auto; height: min(calc(100vh - 152px), 760px); min-height: 460px; }
}

/* SSS: standart bölüm başlığı; altında kompakt soru seçici ve tek yanıt alanı. */
.ask__grid { display: grid; gap: 8px; }
.ask__head .sec-head__intro { max-width: 34em; }
.ask__head .sec-head__intro a { color: var(--ivory); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--champagne-line); }
.ask__head .sec-head__intro a:hover { color: var(--champagne); }
/* Sorular mevcut çerçeveli satır dilinde; seçili satır şampanya tonuyla belirir. */
.ask__q { display: grid; grid-template-columns: 2.6em minmax(0, 1fr) auto; align-items: center; gap: 0 12px; width: 100%; min-height: 60px; padding: 15px 18px; border: 1px solid rgba(244, 239, 231, 0.12); background: rgba(244, 239, 231, 0.02); color: var(--ivory-soft); font: 500 clamp(15px, 1vw, 16.5px)/1.4 var(--f-ui); text-align: left; cursor: pointer; transition: border-color 0.35s ease, background-color 0.35s ease, color 0.35s ease; }
.ask__no { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: var(--ivory-mute); font-variant-numeric: tabular-nums; transition: color 0.35s ease; }
.ask__arrow { width: 18px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.2; opacity: 0.5; transition: opacity 0.35s ease, transform 0.5s var(--ease-out); }
.ask__q:hover { border-color: rgba(244, 239, 231, 0.3); color: var(--ivory); }
.ask__item.is-open .ask__q { border-color: var(--champagne-line); background: rgba(217, 195, 163, 0.11); color: var(--ivory); cursor: default; }
.ask__item.is-open .ask__no { color: var(--champagne); }
.ask__item.is-open .ask__arrow { opacity: 1; transform: none; color: var(--champagne); }
@media (max-width: 1023px) { .ask__item.is-open .ask__arrow { transform: rotate(90deg); } }
/* Yanıt tek paragraf; mobilde seçilen sorunun hemen altında açılır. */
.ask__panel { padding: 13px 0 13px clamp(18px, 1.6vw, 24px); border-left: 2px solid var(--champagne); }
.js .ask__item:not(.is-open) .ask__panel { display: none; }
.ask__answer { margin: 0; max-width: 34em; font-size: clamp(16px, 0.85rem + 0.45vw, 19px); line-height: 1.6; color: var(--ivory); text-wrap: pretty; }
.ask__item.is-open .ask__answer { animation: ask-rise 0.6s var(--ease-out) both; }
@keyframes ask-rise { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 1023px) { .ask__panel { margin: 2px 0 18px; } }
/* Masaüstünde sorular iki sütun olur; yanıt altlarında sabit yükseklikte kalır. */
@media (min-width: 1024px) {
  .js .ask__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
  .js .ask__item { display: contents; }
  .js .ask__panel { grid-column: 1 / -1; grid-row: var(--answer-row); display: flex; align-items: center; min-height: 96px; padding: 16px clamp(24px, 2.5vw, 36px); background: linear-gradient(90deg, rgba(217, 195, 163, 0.06), transparent 75%); }
  .js .ask__item:not(.is-open) .ask__panel { display: none; }
  .ask__answer { max-width: 60em; font-size: clamp(18px, 1.15vw, 21px); line-height: 1.55; }
}

/* ═══ Başlık yazı tipi (2026-10-02, kullanıcı seçimi: Montserrat) ═══
   Büyük başlıkların hepsi geometrik Montserrat (logodaki harflere yakın): hero, sayfa ve bölüm başlıkları, kapanış bandı, paket adları, fotoğraflı kart başlıkları,
   ders adları. Gövde, arayüz, etiketler ve küçük kart başlıkları (kutucuk, cam kart, ısı kartı, neden maddesi) Archivo'da kalır.
   Boy Archivo ile aynı (karşılaştırmada seçilen hâl), ayrı bir boyut düzeltmesi yok. */
:root { --f-title: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
.hero__title, .phero__title, .sec-head__title, .story__title, .principles__title, .hotel__title, .services__title, .program__title,
.plans__title, .join__title, .closer__title, .feature__title, .panel__title, .mosaic__title, .pcard__name, .svc-place__title,
.pgrid__title, .lcard__name, .kcard__name, .klasses__place, .card__title, .slot__name, .lead-done__title, .lead__title,
.faq__title, .lessons__title, .timetable__title, .private__title, .pay__title, .place__title, .tour__title, .classes__title,
.strip__title, .visit__title, .room__title, .plan__name {
  font-family: var(--f-title); font-stretch: normal; font-weight: 600; letter-spacing: 0.01em; line-height: 1.05;
  font-variant-numeric: lining-nums;
}
/* büyük harflerde İ noktası ve Ü/Ö işaretleri üst satıra değmesin diye satır aralığı 1,05 */
/* hero başlığı (kullanıcı: "yazı biraz daha uzun olsa"): harfler önceki boyuttan ~%18 daha iri */
.hero__title { font-weight: 500; line-height: 1.03; font-size: clamp(2.95rem, min(0.7rem + 4.6vw, 11.2vh), 6rem); }
.phero__title, .story__title, .card__title, .lead-done__title, .lead__title { letter-spacing: -0.01em; }
/* ana sayfa "Neden" açıklaması: tek cümle; geniş ekranda iki dengeli satır, kırılma "konforunda," sonrasında */
@media (min-width: 768px) { .feature__lead { text-wrap: balance; } }

/* ═══ İletişim (2026-10-02, baştan) ═══
   Kanallar: büyük kartlar (tamamı bağlantı): ikon, etiket, değer, kısa eylem; köşede ok. Değerin boyu kartın genişliğine göre
   (container query) ayarlanır, böylece en uzun değer olan e-posta her genişlikte tek satır kalır. Masaüstünde (≥1200px) 3 sütun:
   dört kanal 2×2, sağda iki satır boyunca çalışma saatleri; tablette 2 sütun; telefonda kartlar yatay satır. */
.ct-grid { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
.ct-grid > li { display: grid; min-width: 0; }
@media (min-width: 640px) { .ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ct-hours { grid-column: 1 / -1; } }
@media (min-width: 1200px) { .ct-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ct-hours { grid-column: 3; grid-row: 1 / span 2; } }
.ct-card, .ct-hours__card { position: relative; border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.ct-card { display: grid; grid-template-rows: auto 1fr; gap: 22px; min-height: clamp(200px, 15vw, 236px); padding: clamp(20px, 2vw, 28px); color: var(--ivory); text-decoration: none; transition: border-color 0.4s ease, background-color 0.4s ease; }
.ct-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ct-card__icon { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border: 1px solid var(--champagne-line); border-radius: 50%; transition: background-color 0.4s ease; }
.ct-card__icon svg { width: 24px; height: 24px; fill: var(--champagne); transition: fill 0.4s ease; }
.ct-card__go { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid rgba(244, 239, 231, 0.3); border-radius: 50%; transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease; }
.ct-card__go svg { width: 16px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.3; transition: transform 0.5s var(--ease-out); }
.ct-card__body { display: grid; gap: 6px; align-self: end; min-width: 0; container-type: inline-size; }
.ct-card__label { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.ct-card__value { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.005em; line-height: 1.2; white-space: nowrap; font-size: clamp(0.95rem, 6cqi, 1.65rem); font-variant-numeric: tabular-nums; }
.ct-card__hint { font-size: 14px; line-height: 1.4; color: var(--ivory-mute); transition: color 0.4s ease; }
.ct-card:hover, .ct-card:focus-visible { border-color: var(--champagne-line); background-color: rgba(217, 195, 163, 0.05); }
.ct-card:hover .ct-card__go, .ct-card:focus-visible .ct-card__go { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.ct-card:hover .ct-card__go svg { transform: translateX(2px); }
.ct-card:hover .ct-card__hint { color: var(--ivory); }
/* telefonda yatay satır: ikon | etiket, değer, eylem; ok gizli (kartın tamamı bağlantı) */
@media (max-width: 639px) {
  .ct-card { grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto; align-items: center; gap: 16px; min-height: 0; padding: 18px; }
  .ct-card__top { display: contents; }
  .ct-card__icon { width: 46px; height: 46px; }
  .ct-card__icon svg { width: 22px; height: 22px; }
  .ct-card__go { display: none; }
  .ct-card__body { align-self: center; gap: 4px; }
  .ct-card__value { font-size: clamp(0.95rem, 6.2cqi, 1.25rem); }
}
/* çok dar telefonlar (<360px): e-posta tek satıra sığsın diye ikon gizlenir */
@media (max-width: 359px) { .ct-card { grid-template-columns: minmax(0, 1fr); } .ct-card__icon { display: none; } }

/* çalışma saatleri: anlık durum yazısı ve sonraki değişiklik notu */
.ct-hours__card { display: flex; flex-direction: column; gap: 22px; height: 100%; padding: clamp(20px, 2vw, 28px); }
.ct-hours__head { display: grid; gap: 8px; }
.ct-hours__state { margin: 4px 0 0; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 1.1; font-size: clamp(1.6rem, 1rem + 1.4vw, 2.3rem); }
@keyframes ct-pulse { from { opacity: 0.9; transform: scale(0.5); } to { opacity: 0; transform: scale(1.6); } }
.ct-hours__note { margin: 0; font-size: clamp(15px, 1vw, 17px); color: var(--ivory-soft); }
/* günün zaman çizgisi (00:00–24:00): açık aralık şampanya, şu anki saat parlak nokta; altta açılış ve kapanış saatleri */
.ct-hours__plan { display: grid; gap: clamp(20px, 2vw, 28px); margin-top: auto; }
.ct-today { display: grid; gap: 10px; }
.ct-today__track { position: relative; height: 6px; border-radius: 3px; background: rgba(244, 239, 231, 0.1); }
.ct-today__open { position: absolute; top: 0; bottom: 0; left: var(--o); width: var(--w); border-radius: 3px; background: linear-gradient(90deg, rgba(217, 195, 163, 0.45), var(--champagne)); }
.ct-today:not(.is-open) .ct-today__open { background: rgba(217, 195, 163, 0.32); }
.ct-today__now { position: absolute; top: 50%; left: var(--n); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--ivory); box-shadow: 0 0 0 4px rgba(244, 239, 231, 0.16), 0 2px 10px rgba(0, 0, 0, 0.5); }
.ct-today__labels { position: relative; height: 16px; font-size: 12px; font-weight: 600; line-height: 16px; font-variant-numeric: tabular-nums; color: var(--ivory-mute); }
.ct-today__from, .ct-today__to { position: absolute; top: 0; }
.ct-today__from { left: var(--o); }
.ct-today__to { left: calc(var(--o) + var(--w)); transform: translateX(-100%); }
/* haftalık şerit: yedi gün, açılış ve kapanış; bugünün sütunu şampanya çizgili ve hafif vurgulu (ders şeritleriyle aynı dil) */
.ct-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ct-week li { display: grid; justify-items: center; align-content: start; gap: 6px; padding: 12px 1px 11px; border-top: 1px solid rgba(244, 239, 231, 0.16); text-align: center; }
.ct-week li.is-today { padding-top: 11px; border-top: 2px solid var(--champagne); background: rgba(217, 195, 163, 0.08); }
.ct-week abbr { text-decoration: none; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-mute); }
.ct-week time { font-size: 12px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; color: var(--ivory-soft); }
.ct-week li.is-today abbr { color: var(--ivory); }
.ct-week li.is-today time { color: var(--champagne); }
/* tablette kart tüm genişlikte: solda ikon ve durum, sağda saatler */
@media (min-width: 640px) and (max-width: 1199px) {
  .ct-hours__card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--split); row-gap: 22px; align-items: end; }
  .ct-hours__plan { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
}

/* ziyaret: Leaflet haritası (OpenStreetMap). Zemin sitenin koyu tonuna çevrilir (ters çevirme + renk tonu + hafif sepya), işaret
   şampanya nabızlı nokta ve "PrimeFit Exclusive" etiketi; köşede cam adres kartı. Harita hazır olana dek otelin havadan fotoğrafı görünür. */
.ct-map { position: relative; isolation: isolate; min-height: clamp(440px, 40vw, 620px); overflow: hidden; background: var(--ground-2); border: 1px solid rgba(244, 239, 231, 0.12); }
.ct-map__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.6) saturate(1.05); transition: opacity 0.6s ease; }
.ct-map__canvas { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity 0.8s ease; }
.ct-map.is-ready .ct-map__canvas { opacity: 1; }
.ct-map.is-ready .ct-map__poster { opacity: 0; }
.ct-map .leaflet-container { background: #0f0e0d; font-family: var(--f-ui); }
.ct-map .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(0.92) contrast(0.9) saturate(0.5) sepia(0.14); }
.ct-map .leaflet-control-zoom { margin: clamp(14px, 1.6vw, 22px) clamp(14px, 1.6vw, 22px) 0 0; border: 1px solid rgba(244, 239, 231, 0.22); border-radius: 22px; overflow: hidden; box-shadow: none; }
.ct-map .leaflet-control-zoom a { width: 40px; height: 40px; line-height: 38px; border-bottom: 1px solid rgba(244, 239, 231, 0.14); background: rgba(11, 10, 9, 0.82); color: var(--ivory); font: 300 22px/38px var(--f-ui); transition: background-color 0.3s ease, color 0.3s ease; }
.ct-map .leaflet-control-zoom a:last-child { border-bottom: 0; }
.ct-map .leaflet-control-zoom a:hover { background: var(--champagne); color: var(--ground); }
/* Leaflet'in stilleri sonradan yüklendiği için harita içi denetimler bir üst özgüllükle yazılır */
.ct-map .leaflet-container .leaflet-control-attribution { margin: 0; padding: 3px 8px; background: rgba(11, 10, 9, 0.72); color: var(--ivory-mute); font-size: 11px; }
.ct-map .leaflet-container .leaflet-control-attribution a { color: var(--ivory-soft); }
/* işaret: nabızlı şampanya nokta ve yanında ad */
.ct-pin { overflow: visible; }
.ct-pin__dot { position: absolute; inset: 0; border-radius: 50%; background: var(--champagne); box-shadow: 0 0 0 4px rgba(217, 195, 163, 0.28), 0 6px 18px rgba(0, 0, 0, 0.5); }
.ct-pin__dot::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1px solid var(--champagne); animation: ct-pulse 2.4s var(--ease-out) infinite; }
.ct-pin__label { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); padding: 7px 13px; border: 1px solid var(--champagne-line); border-radius: 999px; background: rgba(11, 10, 9, 0.88); color: var(--ivory); font: 600 11.5px/1 var(--f-display); letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
/* adres kartı: haritanın sol altında cam kart */
.ct-map__card { position: absolute; left: clamp(14px, 1.6vw, 22px); bottom: clamp(14px, 1.6vw, 22px); z-index: 1; display: grid; gap: 8px; max-width: min(30rem, calc(100% - 28px)); padding: clamp(18px, 1.8vw, 26px); border: 1px solid rgba(244, 239, 231, 0.16); background: rgba(14, 12, 10, 0.72); -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2); }
.ct-map__sub { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.ct-map__title { margin: 0; font-family: var(--f-display); font-weight: 600; letter-spacing: 0.01em; line-height: 1.1; text-transform: uppercase; font-size: clamp(1.15rem, 0.9rem + 0.8vw, 1.6rem); }
.ct-map__text { margin: 0; font-style: normal; font-size: 14.5px; line-height: 1.5; color: var(--ivory-soft); }
@media (max-width: 767px) { .ct-map { min-height: 0; aspect-ratio: 4 / 5; } }

/* ═══ Danışmanlık formu (2026-10-02, baştan; /uyelik-danismanligi, ?talep=deneme ile deneme seçili) ═══
   Solda kart içinde form; sağda (≥1100px kaydırırken sabit) fotoğraf, numaralı üç adım kartı ve doğrudan iletişim.
   Paket seçimi açılır liste yerine dört seçim kartı, arama zamanı düğme grubu. Telefonda önce form, sonra adımlar. */
.consult__grid { display: grid; gap: clamp(20px, 2.4vw, 32px) var(--split); align-items: start; }
.consult__form { scroll-margin-top: 100px; padding: clamp(22px, 3vw, 44px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(80% 50% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.consult__side { display: grid; gap: clamp(12px, 1.4vw, 16px); }
.consult__media { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ground-2); }
.consult__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9) saturate(1.1); }
.consult__steps { display: grid; gap: clamp(12px, 1.4vw, 16px); margin: 0; padding: 0; list-style: none; counter-reset: cstep; }
.consult__steps li { counter-increment: cstep; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: clamp(16px, 1.6vw, 22px); border: 1px solid rgba(244, 239, 231, 0.12); background: rgba(244, 239, 231, 0.025); }
.consult__steps li::before { content: counter(cstep, decimal-leading-zero); grid-row: 1 / span 2; font-family: var(--f-display); font-weight: 600; font-size: 1.25rem; line-height: 1.2; color: var(--champagne); font-variant-numeric: tabular-nums; }
.consult__steps b { font-family: var(--f-display); font-weight: 600; font-size: clamp(1rem, 0.92rem + 0.25vw, 1.12rem); line-height: 1.3; }
.consult__steps span { font-size: 14px; line-height: 1.5; color: var(--ivory-mute); }
.consult__direct { display: grid; gap: 12px; padding: clamp(16px, 1.6vw, 22px); border: 1px solid rgba(217, 195, 163, 0.3); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.1), rgba(217, 195, 163, 0) 65%); }
.consult__direct > p { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.consult__actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (min-width: 1100px) {
  .consult__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .consult__side { position: sticky; top: 112px; }
}
@media (max-width: 1099px) { .consult__media { display: none; } }
@media (min-width: 720px) and (max-width: 1099px) {
  .consult__direct { grid-template-columns: auto 1fr; align-items: center; }
  .consult__actions { justify-content: flex-end; }
}

/* paket seçim kartları: ad ve paketi ayıran tek satır; seçili kart şampanya çerçeveli, sağ üstte dolu daire */
/* iki sütun yalnızca form yeterince genişse (kart içi ≥500px): her açıklama tek satır kalsın */
.consult__form { container-type: inline-size; }
.pick { display: grid; gap: 10px; }
@container (min-width: 500px) { .pick { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pick__opt { position: relative; display: grid; cursor: pointer; }
.pick__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pick__box { display: grid; align-content: start; gap: 4px; padding: 14px 16px; border: 1px solid rgba(244, 239, 231, 0.18); transition: border-color 0.3s ease, background-color 0.3s ease; }
.pick__box b { padding-right: 30px; font-family: var(--f-display); font-weight: 600; font-size: 1.05rem; line-height: 1.25; transition: color 0.3s ease; }
.pick__box small { font-size: 13px; line-height: 1.4; color: var(--ivory-mute); }
.pick__box::after { content: ""; position: absolute; top: 15px; right: 15px; width: 18px; height: 18px; border: 1px solid rgba(244, 239, 231, 0.35); border-radius: 50%; transition: border-color 0.3s ease, background 0.3s ease; }
.pick__opt:hover .pick__box { border-color: var(--champagne-line); }
.pick__opt input:checked + .pick__box { border-color: var(--champagne); background: rgba(217, 195, 163, 0.08); }
.pick__opt input:checked + .pick__box b { color: var(--champagne); }
.pick__opt input:checked + .pick__box::after { border-color: var(--champagne); background: radial-gradient(circle, var(--champagne) 0 4.5px, transparent 5.5px); }
.pick__opt input:focus-visible + .pick__box { outline: 1px solid var(--champagne); outline-offset: 3px; }
/* arama zamanı: eşit genişlikte düğmeler (telefonda 2, genişte 4 sütun) */
.seg--time { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.seg--time span { justify-content: center; width: 100%; }
@media (min-width: 480px) { .seg--time { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* form dar olduğunda (iç genişlik <410px; ölçüm: 400px'te ikisi yan yana sığıyor) "Üyelik bilgisi" ve "1 gün ücretsiz deneme" alt alta */
@container (max-width: 409px) { .seg--big { grid-template-columns: minmax(0, 1fr); } }

/* ═══ Açılır menü (2026-10-02, baştan) ═══
   Solda sekiz ana bağlantı (büyük, Montserrat), altında iki buton (Üyelik Danışmanlığı, 1 gün ücretsiz dene); sağda (≥1024px)
   tek, sabit dikey fotoğraf (kullanıcı: değişen görsel değil, tek görsel). En altta ince çizgiyle ayrılmış iletişim satırı ve Franchise. Açılışta panel yukarıdan aşağı açılır,
   bağlantılar sırayla yükselir (iç sayfa başlarıyla aynı hareket dili). Alt satır tüm genişlikte. Telefonda fotoğraf yok, menü gerekirse kayar. */
.menu { position: fixed; inset: 0; z-index: 15; overflow-y: auto; overscroll-behavior: contain; padding: clamp(104px, 14vh, 136px) var(--gutter) clamp(24px, 4vh, 40px); background: var(--ground); opacity: 0; transition: opacity 0.5s var(--ease-out); }
.menu.is-open { opacity: 1; }
.menu[hidden] { display: none; }
.menu__inner { display: grid; grid-template-rows: 1fr auto; gap: clamp(28px, 4.5vh, 48px) var(--split); min-height: 100%; }
.menu__nav { display: grid; align-content: center; gap: clamp(24px, 4vh, 40px); min-width: 0; }

/* ana bağlantılar: soluk fildişi; üzerine gelince parlak ve şampanya ok, diğerleri geri çekilir; bulunulan sayfa şampanya */
.menu__list { display: grid; justify-items: start; gap: clamp(0px, 0.5vh, 6px); }
.menu__list li, .menu__cta, .menu__foot { --d: 0s; opacity: 0; transform: translateY(18px); transition: opacity 0.8s var(--ease-out) var(--d), transform 0.8s var(--ease-out) var(--d); }
.menu.is-open .menu__list li { --d: calc(0.06s + var(--i) * 0.04s); opacity: 1; transform: none; }
.menu.is-open .menu__cta { --d: 0.4s; opacity: 1; transform: none; }
.menu.is-open .menu__foot { --d: 0.48s; opacity: 1; transform: none; }
.menu__list a { display: inline-flex; align-items: center; gap: 0.32em; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.012em; line-height: 1.16; font-size: clamp(1.75rem, min(0.9rem + 2.1vw, 5.6vh), 3.3rem); color: var(--ivory-soft); transition: color 0.35s ease, opacity 0.35s ease; }
.menu__list a svg { flex: none; width: 0.52em; height: 0.32em; fill: none; stroke: var(--champagne); stroke-width: 1.3; opacity: 0; transform: translateX(-0.35em); transition: opacity 0.35s ease, transform 0.5s var(--ease-out); }
.menu__list a:hover, .menu__list a:focus-visible { color: var(--ivory); }
.menu__list a:hover svg, .menu__list a:focus-visible svg { opacity: 1; transform: none; }
.menu__list:has(a:hover) a:not(:hover) { opacity: 0.42; }
.menu__list a[aria-current="page"] { color: var(--champagne); }
.menu__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* fotoğraf paneli (yalnızca ≥1024px): tek, sabit fotoğraf (fitness salonu; kullanıcı seçimi) */
.menu__media { position: relative; display: none; min-height: 360px; overflow: hidden; background: var(--ground-2); clip-path: inset(0 0 100% 0); transition: clip-path 1.15s var(--ease-out) 0.08s; }
.menu.is-open .menu__media { clip-path: inset(0 0 0 0); }
.menu__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9) saturate(1.08); transform: scale(1.08); transition: transform 1.6s var(--ease-out); }
.menu.is-open .menu__media img { transform: none; }

/* alt satır: tüm genişlikte dört bilgi (telefon, WhatsApp, sosyal medya, franchise); bilgi kartlarıyla aynı dil:
   şampanya küçük etiket, altında Montserrat değer. Telefonda 2×2. */
.menu__foot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; padding-top: clamp(18px, 2.6vh, 26px); border-top: 1px solid rgba(244, 239, 231, 0.12); }
.menu__info { display: grid; align-content: start; gap: 7px; min-width: 0; }
.menu__label { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
/* sosyal medya: yazı değil logo (kullanıcı kuralı); yazı satırı boyunda, dairesiz, üzerine gelince şampanya */
.menu__icons { display: flex; align-items: center; gap: 16px; }
.menu__icon { display: grid; place-items: center; width: 24px; height: 24px; margin: -1px 0; color: var(--ivory); transition: color 0.3s ease, transform 0.4s var(--ease-out); }
.menu__icon svg { width: 24px; height: 24px; fill: currentColor; }
.menu__icon:hover, .menu__icon:focus-visible { color: var(--champagne); transform: translateY(-2px); }
.menu__value { display: inline-flex; align-items: center; gap: 10px; width: fit-content; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.005em; font-size: clamp(14.5px, 0.85rem + 0.2vw, 17px); line-height: 1.3; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ivory); transition: color 0.3s ease; }
.menu__value:hover, .menu__value:focus-visible { color: var(--champagne); }
.menu__value--go svg { width: 16px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.3; transition: transform 0.5s var(--ease-out); }
.menu__value--go:hover svg { transform: translateX(4px); }
.menu__value[aria-current="page"] { color: var(--champagne); }
@media (min-width: 720px) { .menu__foot { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

@media (min-width: 1024px) {
  .menu__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .menu__nav { grid-column: 1; grid-row: 1; }
  .menu__media { display: block; grid-column: 2; grid-row: 1; }
  .menu__foot { grid-column: 1 / -1; grid-row: 2; }
}

/* ═══ Hata sayfaları (2026-10-05; hata.php ve /hata-sayfasi/*.html aynı düzen) ═══
   Solda büyük şampanya hata kodu, başlık, kısa açıklama, iki buton ve sık ziyaret edilen sayfalar (noktalı tek satır);
   sağda dikey fotoğraf paneli (≥900px). Telefonda fotoğraf üstte kısa bir şerit, metin altında. Metin fotoğrafa binmez. */
.err { display: grid; gap: clamp(28px, 4vw, 48px) var(--split); align-items: center; min-height: min(100svh, 920px); padding: clamp(112px, 15vh, 150px) var(--gutter) var(--section); }
.err__body { display: grid; justify-items: start; min-width: 0; }
.err__code { margin: 0 0 clamp(8px, 1.2vw, 16px); font-family: var(--f-display); font-weight: 600; letter-spacing: -0.03em; line-height: 0.85; font-size: clamp(6rem, 3rem + 12vw, 13rem); font-variant-numeric: lining-nums; color: var(--champagne); }
.err__title { margin: 0; max-width: 14em; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 1.08; font-size: clamp(1.9rem, 1rem + 2.6vw, 3.4rem); text-wrap: balance; }
.err__text { margin: var(--lead-gap) 0 0; max-width: 32em; font-size: clamp(16px, 1.1vw, 18px); line-height: 1.6; color: var(--ivory-soft); text-wrap: pretty; }
.err__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--action-gap); }
.err__links { width: 100%; margin-top: clamp(36px, 5vw, 56px); padding-top: 20px; border-top: 1px solid rgba(244, 239, 231, 0.12); }
.err__label { margin: 0 0 6px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--champagne); }
.err__links ul { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.err__links li { display: flex; align-items: center; }
.err__links li + li::before { content: ""; flex: none; width: 3px; height: 3px; margin: 0 14px; border-radius: 50%; background: rgba(244, 239, 231, 0.35); }
.err__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; color: var(--ivory-soft); transition: color 0.3s ease; }
.err__links a:hover { color: var(--champagne); }
/* telefonda satır kırılınca yeni satır noktayla başlamasın: noktalar yerine eşit boşluk */
@media (max-width: 599px) { .err__links ul { column-gap: 26px; } .err__links li + li::before { display: none; } }
.err__media { position: relative; order: -1; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ground-2); animation: phero-open 1.3s var(--ease-out) 0.1s both; }
.err__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; filter: brightness(0.9) saturate(1.08); animation: phero-settle 2s var(--ease-out) 0.1s both; }
@media (min-width: 900px) {
  .err { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .err__media { order: 0; aspect-ratio: auto; align-self: stretch; min-height: clamp(420px, 60vh, 640px); }
}

/* Hakkımızda (2026-10-05): özet düzeninin ters hâli (fotoğraf sağda, metin solda); iki paragraf arası küçük boşluk */
.svc-intro__text + .svc-intro__text { margin-top: 14px; }
@media (min-width: 1200px) {
  .svc-intro--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .svc-intro--flip .svc-intro__body { grid-column: 1; }
  .svc-intro--flip .svc-intro__media { grid-column: 2; }
}

/* ═══ Franchise (2026-10-05, baştan) ═══
   Konsept: dört statik fotoğraf kartı (.tiles--4, bağlantı değil). Avantajlar: ≥1200px solda metin boyunca uzayan dikey fotoğraf,
   sağda iki sütun altı kart (ikon, tek satır başlık, her genişlikte tam üç satır açıklama (28ch); ders kartlarıyla aynı yüzey); daha darda fotoğraf yok.
   Başvuru: danışmanlık formunun düzeni (.consult); yan panelde başvurudan açılışa dört adım ve doğrudan iletişim. */
.fadv { display: grid; gap: clamp(16px, 2vw, 24px) var(--split); }
.fadv__media { display: none; position: relative; margin: 0; overflow: hidden; background: var(--ground-2); }
.fadv__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9) saturate(1.1); }
.fadv__list { display: grid; gap: clamp(10px, 1.2vw, 16px); margin: 0; padding: 0; list-style: none; }
.fadv__item { display: grid; align-content: start; gap: 10px; padding: clamp(20px, 2vw, 28px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 120% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.fadv__icon { width: 30px; height: 30px; margin-bottom: 8px; color: var(--champagne); }
.fadv__title { margin: 0; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; font-size: clamp(1.1rem, 0.95rem + 0.4vw, 1.3rem); line-height: 1.2; }
.fadv__text { margin: 0; max-width: 28ch; font-size: 15px; line-height: 1.55; color: var(--ivory-soft); text-wrap: balance; }
@media (min-width: 640px) { .fadv__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) {
  .fadv { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .fadv__media { display: block; }
}

/* ═══ Üyelik (2026-10-05, baştan) ═══
   Paket karşılaştırma: üç kart. Üstte fotoğraf (rozet ve paket adı fotoğrafın üstünde; madde yok), altında üç kartta aynı sırada
   sekiz satır (solda madde, sağda onay, çizgi ya da kısa değer) ve paketi sor butonu. ≥1024px üç sütun; 640–1023px kartlar yatay
   (solda fotoğraf); telefonda alt alta. Prime şampanya çerçeveli ve dolu butonlu. Satırlar her genişlikte tek satır: kartlar hizalı. */
.mplans { display: grid; gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
.mplan { display: grid; grid-template-rows: auto 1fr; border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(90% 60% at 0% 100%, rgba(217, 195, 163, 0.06), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.mplan--lead { border-color: rgba(217, 195, 163, 0.6); }
.mplan__media { position: relative; isolation: isolate; display: flex; align-items: flex-end; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ground-2); }
.mplan__media img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.82) saturate(1.12); }
.mplan__media::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 9, 0.22) 0%, rgba(11, 10, 9, 0) 32%, rgba(11, 10, 9, 0.78) 100%); }
.mplan__name { margin: 0; padding: clamp(18px, 2vw, 28px); font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 0.95; text-transform: uppercase; font-size: clamp(2.2rem, 1.3rem + 2vw, 3.4rem); }
.mplan--lead .mplan__name { color: var(--champagne); }
.mplan__body { display: grid; align-content: space-between; gap: clamp(22px, 2.2vw, 30px); padding: clamp(18px, 2vw, 28px); }
.mplan__rows { margin: 0; }
.mplan__rows > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 46px; padding: 10px 0; border-bottom: 1px solid rgba(244, 239, 231, 0.1); }
.mplan__rows > div:first-child { padding-top: 0; min-height: 36px; }
.mplan__rows dt { min-width: 0; font-size: 15px; line-height: 1.35; color: var(--ivory-soft); }
.mplan__rows dd { flex: none; display: flex; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--ivory); white-space: nowrap; }
.mplan__yes { width: 20px; height: 20px; color: var(--champagne); }
.mplan__no { width: 18px; height: 18px; color: rgba(244, 239, 231, 0.3); }
.mplan__cta { justify-self: start; }
.mplan--lead .mplan__cta { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
@media (min-width: 640px) and (max-width: 1023px) {
  .mplan { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: none; }
  .mplan__media { aspect-ratio: auto; min-height: 100%; }
}
@media (min-width: 1024px) {
  .mplans { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mplan__media { aspect-ratio: 4 / 3; }
}

/* ödeme seçenekleri (Üyelik, 2026-10-05; kullanıcının örneği: ikon, başlık, metin, World ve Bonus kartları): paketlerin hemen altında
   kompakt panel. Masaüstünde ikon | başlık ve metin | iki kart; daha darda ikon ve metin yan yana, kartlar altta. Kartlar üyelik kartının
   malzemesinde (koyu doku, ince çerçeve, ışıltı); yeni renk yok: World şampanya, Bonus gümüş (logodaki altın ve gümüş). */
.mpay { padding-top: var(--head-gap); }
.mpay__panel { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(18px, 2vw, 28px) clamp(16px, 2.4vw, 36px); align-items: start; padding: clamp(20px, 2.4vw, 32px) clamp(20px, 2.6vw, 40px); border: 1px solid rgba(217, 195, 163, 0.3); background: radial-gradient(70% 140% at 0% 0%, rgba(217, 195, 163, 0.1), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.mpay__icon { display: grid; place-items: center; width: clamp(48px, 4vw, 56px); height: clamp(48px, 4vw, 56px); border: 1px solid var(--champagne-line); border-radius: 50%; }
.mpay__icon svg { width: 26px; height: 26px; color: var(--champagne); }
.mpay__title { margin: 0; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 1.05; text-transform: uppercase; font-size: clamp(1.35rem, 1rem + 0.9vw, 1.9rem); }
.mpay__text { margin: 10px 0 0; max-width: 40em; font-size: 15.5px; line-height: 1.55; color: var(--ivory-soft); }
.mpay__text b { font-weight: 600; color: var(--champagne); }
.mpay__cards { grid-column: 1 / -1; display: flex; gap: 14px; }
.mpay__card { position: relative; display: flex; flex-direction: column; justify-content: space-between; flex: 0 1 168px; aspect-ratio: 1.586; padding: 12px 14px; overflow: hidden; border-radius: 10px; border: 1px solid rgba(217, 195, 163, 0.45); background: repeating-linear-gradient(112deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 4px), linear-gradient(135deg, #221e19 0%, #0f0e0c 52%, #1b1814 100%); box-shadow: 0 18px 30px -16px rgba(0, 0, 0, 0.85); }
.mpay__card::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; background: radial-gradient(circle at 24% 14%, rgba(217, 195, 163, 0.28), transparent 55%); }
.mpay__card--silver { border-color: rgba(244, 239, 231, 0.34); }
.mpay__card--silver::after { background: radial-gradient(circle at 78% 16%, rgba(244, 239, 231, 0.2), transparent 55%); }
.mpay__chip { width: 26px; height: 20px; border-radius: 4px; background: linear-gradient(90deg, transparent 46%, rgba(11, 10, 9, 0.28) 46% 54%, transparent 54%), linear-gradient(0deg, transparent 46%, rgba(11, 10, 9, 0.28) 46% 54%, transparent 54%), linear-gradient(135deg, #f0dfbf, #c9ab7c 55%, #a8895c); box-shadow: inset 0 0 0 1px rgba(11, 10, 9, 0.25); }
.mpay__card--silver .mpay__chip { background: linear-gradient(90deg, transparent 46%, rgba(11, 10, 9, 0.28) 46% 54%, transparent 54%), linear-gradient(0deg, transparent 46%, rgba(11, 10, 9, 0.28) 46% 54%, transparent 54%), linear-gradient(135deg, #f4f1ec, #c9c5be 55%, #9a968f); }
.mpay__card b { align-self: flex-end; font-family: var(--f-display); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; font-size: 14px; line-height: 1; color: var(--champagne); }
.mpay__card--silver b { color: var(--ivory); }
/* tablette kartlar metin sütunuyla aynı hizada başlar; telefonda tüm genişlik */
@media (min-width: 640px) and (max-width: 899px) { .mpay__cards { grid-column: 2; } }
@media (min-width: 900px) {
  .mpay__panel { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
  .mpay__cards { grid-column: auto; }
  .mpay__card { flex: none; width: clamp(150px, 12vw, 176px); }
}

/* ödeme kartlarında hover (2026-10-05; kullanıcı: "en yeni tasarım standartları"): üyelik kartının dili, güncel tekniklerle.
   İmlece göre 3B eğilme ve 6px yükselme, imleci izleyen parlama, girişte bir kez geçen folyo ışıltısı, çip ve yazıda hafif derinlik,
   altta paketin tonunda yumuşak ışık; diğer kart menüdeki gibi geri çekilir (:has). Değişkenler @property ile kayıtlı: imleç çıkınca
   eğilme ve parlama yumuşakça yerine döner. Yalnızca hassas işaretçide; dokunmatikte kartlar sabit. Değerleri main.js yazar. */
@property --pay-rx { syntax: "<angle>"; inherits: true; initial-value: 0deg; }
@property --pay-ry { syntax: "<angle>"; inherits: true; initial-value: 0deg; }
@property --pay-mx { syntax: "<percentage>"; inherits: true; initial-value: 24%; }
@property --pay-my { syntax: "<percentage>"; inherits: true; initial-value: 14%; }
@property --pay-px { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --pay-py { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --pay-lift { syntax: "<length>"; inherits: true; initial-value: 0px; }
@property --pay-glow { syntax: "<number>"; inherits: true; initial-value: 0; }
.mpay__cards { perspective: 900px; }
.mpay__card {
  --pay-tone: 217, 195, 163;
  transform: translateY(var(--pay-lift, 0px)) rotateX(var(--pay-rx, 0deg)) rotateY(var(--pay-ry, 0deg));
  transition: --pay-rx 0.9s var(--ease-out), --pay-ry 0.9s var(--ease-out), --pay-mx 0.9s var(--ease-out), --pay-my 0.9s var(--ease-out),
    --pay-px 0.9s var(--ease-out), --pay-py 0.9s var(--ease-out), --pay-lift 0.7s var(--ease-out), --pay-glow 0.6s ease,
    box-shadow 0.7s var(--ease-out), border-color 0.5s ease, filter 0.5s ease;
}
.mpay__card.is-tilting {
  transition: --pay-rx 0.18s linear, --pay-ry 0.18s linear, --pay-mx 0.18s linear, --pay-my 0.18s linear,
    --pay-px 0.18s linear, --pay-py 0.18s linear, --pay-lift 0.7s var(--ease-out), --pay-glow 0.6s ease,
    box-shadow 0.7s var(--ease-out), border-color 0.5s ease, filter 0.5s ease;
}
.mpay__card--silver { --pay-tone: 244, 239, 231; --pay-mx: 78%; --pay-my: 16%; }
.mpay__card::after, .mpay__card--silver::after { background: radial-gradient(circle at var(--pay-mx, 24%) var(--pay-my, 14%), rgba(var(--pay-tone), calc(0.24 + var(--pay-glow, 0) * 0.2)), transparent 55%); }
/* folyo ışıltısı: dar, eğik bir ışık bandı; yalnızca girişte soldan sağa bir kez geçer, çıkışta görünmeden başa döner */
.mpay__card::before { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; background: linear-gradient(105deg, transparent 40%, rgba(var(--pay-tone), 0.14) 47%, rgba(255, 255, 255, 0.2) 50%, rgba(var(--pay-tone), 0.14) 53%, transparent 60%) 140% 0 / 260% 100% no-repeat; }
.mpay__chip, .mpay__card b { position: relative; z-index: 1; transform: translate(calc(var(--pay-px, 0) * 3px), calc(var(--pay-py, 0) * 3px)); transition: filter 0.5s ease; }
@media (hover: hover) and (pointer: fine) {
  .mpay__card:hover { --pay-lift: -6px; --pay-glow: 1; border-color: rgba(var(--pay-tone), 0.85); box-shadow: 0 30px 44px -20px rgba(0, 0, 0, 0.92), 0 14px 38px -16px rgba(var(--pay-tone), 0.3); }
  .mpay__card:hover::before { background-position: -40% 0; transition: background-position 1.3s var(--ease-out); }
  .mpay__card:hover .mpay__chip { filter: brightness(1.14); }
  .mpay__cards:has(.mpay__card:hover) .mpay__card:not(:hover) { filter: brightness(0.62) saturate(0.85); }
}

/* ═══ Paket kartları, fotoğrafsız (2026-10-06; kullanıcı: "tüm projede, üyelik paketleri görselli olmayacak. tekrardan üretelim") ═══
   Ana sayfa (.pcards), Beslenme (.pcards--mini) ve Üyelik (.mplans) aynı kart: üyelik kartının malzemesi (ince çizgili doku,
   sol üstte şampanya ışıltı), üstte rozet, büyük paket adı ve altında ince çizgi, onay ikonlu maddeler ya da karşılaştırma
   satırları, en altta buton (eş kartlarda aynı hizada). Prime: şampanya çerçeve, dolu rozet, şampanya ad ve buton, altta ışık.
   Telefonda kartlar alt alta (eski yana kaydırma kaldırıldı). Eski fotoğraf kartı kuralları aşağıda geçersiz kılınır. */
.pcard, .mplan {
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-start; gap: clamp(18px, 1.8vw, 24px);
  min-height: 0; overflow: hidden; padding: clamp(22px, 2.4vw, 36px); border: 1px solid rgba(244, 239, 231, 0.12);
  background:
    radial-gradient(120% 70% at 0% 0%, rgba(217, 195, 163, 0.09), rgba(217, 195, 163, 0) 55%),
    repeating-linear-gradient(112deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 4px),
    linear-gradient(160deg, #1a1714 0%, #100f0d 60%, #151310 100%);
}
.pcard--lead, .mplan--lead {
  border-color: rgba(217, 195, 163, 0.6); box-shadow: 0 40px 90px -50px rgba(217, 195, 163, 0.45);
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(217, 195, 163, 0.18), rgba(217, 195, 163, 0) 58%),
    repeating-linear-gradient(112deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 4px),
    linear-gradient(160deg, #1d1915 0%, #110f0d 60%, #17140f 100%);
}
.pcard::after { content: none; }
.pcard__badge, .mplan__badge {
  position: static; align-self: flex-start; justify-self: start; padding: 7px 13px; border: 1px solid rgba(244, 239, 231, 0.3); border-radius: 999px;
  background: none; -webkit-backdrop-filter: none; backdrop-filter: none; color: var(--ivory-soft);
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.2;
}
.pcard--lead .pcard__badge, .mplan--lead .mplan__badge { background: var(--champagne); border-color: var(--champagne); color: var(--ground); }
.pcard__name, .mplan__name {
  margin: 0; padding: 0 0 clamp(16px, 1.6vw, 22px); border-bottom: 1px solid rgba(244, 239, 231, 0.12);
  font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 0.95; text-transform: uppercase;
  font-size: clamp(2.4rem, 1.3rem + 2.4vw, 3.8rem);
}
.pcard--lead .pcard__name, .mplan--lead .mplan__name { color: var(--champagne); border-bottom-color: rgba(217, 195, 163, 0.35); }
.pcard__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pcard__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; line-height: 1.4; }
.pcard__list li::before { content: none; }
.pcard__tick { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--champagne); }
.pcard__cta, .mplan__cta { align-self: flex-start; justify-self: start; margin-top: auto; }
.pcards--mini .pcard { min-height: 0; }
.pcards--mini .pcard__name { font-size: clamp(2rem, 1.2rem + 1.8vw, 3rem); }
.mplan__rows { margin: 0; }
@media (max-width: 899px) {
  .pcards { display: grid; overflow: visible; margin: 0; padding: 0; scroll-snap-type: none; }
  .pcard { flex: none; min-height: 0; }
}
/* tablet: kart yatay; solda rozet, ad ve buton, sağda maddeler ya da karşılaştırma satırları (rozet 768px altında sığmıyor).
   Ana sayfa ve Beslenme kartları 1100px'e kadar böyle (daha darda üç sütunda maddeler iki satıra düşüyordu), Üyelik 1024px'e kadar. */
@media (min-width: 768px) and (max-width: 1099px) {
  .pcards { grid-template-columns: minmax(0, 1fr); }
  .pcard { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: auto auto 1fr; column-gap: clamp(24px, 4vw, 48px); align-items: start; }
  .pcard__badge { grid-column: 1; grid-row: 1; }
  .pcard__name { grid-column: 1; grid-row: 2; border-bottom: 0; padding-bottom: 0; }
  .pcard__list, .pcard__status { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .pcard__cta { grid-column: 1; grid-row: 3; align-self: end; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mplan { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: auto auto 1fr; column-gap: clamp(24px, 4vw, 48px); align-items: start; }
  .mplan__badge { grid-column: 1; grid-row: 1; }
  .mplan__name { grid-column: 1; grid-row: 2; border-bottom: 0; padding-bottom: 0; }
  .mplan__rows { grid-column: 2; grid-row: 1 / span 3; }
  .mplan__cta { grid-column: 1; grid-row: 3; align-self: end; }
}
@media (max-width: 767px) { .pcards { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1100px) { .pcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* ortak alanlar şeridi: küçük fotoğraf yerine şampanya çerçeveli ikon */
.pcommon__list li { grid-template-columns: 52px minmax(0, 1fr); }
.pcommon__icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--champagne-line); border-radius: 50%; }
.pcommon__icon svg { width: 24px; height: 24px; color: var(--champagne); }

/* ═══ Kaydırmada büyüyen fotoğraflarda kenar şeridi düzeltmesi (2026-10-06; kullanıcı: "görselin en üstünde filter erkenden bitmiş gibi") ═══
   motion.js bu fotoğrafları kaydırırken 1.14'ten 1'e küçültür. Filtre büyüyen görselin üzerindeyken bazı tarayıcılar (özellikle
   Safari ve kesirli ekran ölçekleri) filtreyi görselin orijinal sınırında kesiyor; bölüm kenarında 1px filtresiz, parlak bir şerit
   kalıyordu. Filtre artık sabit kapsayıcıda, kapsayıcı kendi sınırında kırpar, bölümler clip-path ile kesin kırpılır ve karartma
   katmanları kenardan 1px taşar. Görünüm aynı. */
.feature, .closer, .join, .svc-place { clip-path: inset(0); }
.feature__media, .closer__media, .join__media, .svc-intro__media { overflow: hidden; }
.feature__media { filter: brightness(0.76) saturate(1.12) contrast(1.08); }
.closer__media { filter: brightness(0.7) saturate(1.1) contrast(1.1); }
.join__media { filter: brightness(0.62) saturate(1.12) contrast(1.06); }
.svc-intro__media { filter: brightness(0.9) saturate(1.1); }
.feature__media img, .closer__media img, .join__media img, .svc-intro__media img { filter: none; }
.feature::before, .closer::before, .join::before, .svc-place::after { inset: -1px; }
/* asıl düzeltme: büyüyen fotoğraf ayrı katmanda çizilir ve kırpma kenarı yarım pikselde dışa yuvarlanır; karartma katmanı en yakına.
   Fotoğraf katmanı üstten ve alttan 1px içeride durunca ilk/son satırı her zaman tam opak karartmanın altında kalır. */
.feature__media, .closer__media, .join__media { inset: 1px 0; }

/* ═══ İletişim mesaj formu (2026-10-06) ═══
   Danışmanlık formuyla aynı kart yüzeyi. ≥900px: üstte ad, telefon, e-posta yan yana; altta tüm genişlikte mesaj; en altta solda
   KVKK onayı, sağda gönder düğmesi. Daha darda alt alta. */
.msg { scroll-margin-top: 100px; padding: clamp(22px, 3vw, 44px); border: 1px solid rgba(244, 239, 231, 0.12); background: radial-gradient(80% 50% at 0% 0%, rgba(217, 195, 163, 0.07), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.msg__form { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: clamp(24px, 3vw, 40px); }
.msg__form[hidden] { display: none; }
.msg__foot { display: grid; gap: 20px; }
.msg__foot .consents { margin: 0; }
.msg .lead__status { min-height: 0; margin: 0; }
.msg .lead__status:not(:empty) { margin-top: 12px; }
@media (min-width: 900px) {
  .msg__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .msg__full, .msg__foot { grid-column: 1 / -1; }
  .msg__foot { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; }
  .msg__foot .submit { width: clamp(260px, 22vw, 320px); }
}

/* ═══ Bülten (2026-10-06, yeniden; kullanıcı: "bence daha iyi olabilirdi bu"): footer'ın başında kompakt panel ═══
   "Ödeme seçenekleri" panelinin dili: şampanya çerçeve ve köşe ışıltısı, ikon halkası, büyük harf başlık ve tek satır metin; sağda hap
   biçimli e-posta alanı, içinde dolu "Abone ol" düğmesi, altında ticari ileti onayı. ≥1100px tek satır (ikon | başlık ve metin | form);
   daha darda ikon ve başlık yan yana, form altta tüm genişlikte. */
.news { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(18px, 2vw, 24px) clamp(16px, 2.4vw, 32px); align-items: center; margin-bottom: clamp(44px, 5.5vw, 72px); padding: clamp(22px, 2.6vw, 36px) clamp(20px, 3vw, 44px); border: 1px solid rgba(217, 195, 163, 0.3); background: radial-gradient(70% 140% at 0% 0%, rgba(217, 195, 163, 0.1), rgba(217, 195, 163, 0) 60%), rgba(244, 239, 231, 0.025); }
.news__icon { display: grid; place-items: center; width: clamp(48px, 4vw, 56px); height: clamp(48px, 4vw, 56px); border: 1px solid var(--champagne-line); border-radius: 50%; }
.news__icon svg { width: 24px; height: 24px; color: var(--champagne); }
.news__title { margin: 0; font-family: var(--f-display); font-weight: 600; letter-spacing: -0.01em; line-height: 1.05; text-transform: uppercase; font-size: clamp(1.35rem, 1rem + 0.9vw, 1.9rem); }
.news__lead { margin: 8px 0 0; max-width: 34em; font-size: 15px; line-height: 1.55; color: var(--ivory-soft); }
.news__box { grid-column: 1 / -1; min-width: 0; }
.news__form[hidden], .news__done[hidden] { display: none; }
/* hap alan: girdi ve düğme tek kapta; odakta şampanya çerçeve */
.news__field { display: flex; align-items: center; gap: 8px; height: 58px; padding: 0 6px 0 22px; border: 1px solid rgba(244, 239, 231, 0.24); border-radius: 999px; background: rgba(11, 10, 9, 0.35); transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.news__field:focus-within { border-color: var(--champagne); box-shadow: 0 0 0 3px rgba(217, 195, 163, 0.12); }
.news__field:has([aria-invalid="true"]) { border-color: var(--warn); }
.news__input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent; color: var(--ivory); caret-color: var(--champagne); font: 400 16px / 1.4 var(--f-ui); }
.news__input::placeholder { color: rgba(244, 239, 231, 0.45); }
.news__input:focus { outline: none; }
.news__btn { flex: none; height: 46px; }
.news__btn[disabled] { opacity: 0.7; cursor: progress; }
.news__check { margin: 14px 0 0 22px; font-size: 12.5px; line-height: 1.5; }
.news .field__err { margin: 8px 0 0 22px; }
.news .lead__status { min-height: 0; margin: 0; }
.news .lead__status:not(:empty) { margin: 8px 0 0 22px; }
.news__done { display: flex; align-items: center; gap: 12px; min-height: 58px; margin: 0; font-size: 15px; color: var(--ivory); }
.news__done:focus { outline: none; }
.news__done svg { flex: none; width: 24px; height: 24px; fill: var(--champagne); }
@media (min-width: 1100px) {
  .news { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.15fr); }
  .news__box { grid-column: auto; }
}
/* dar telefonlarda düğmedeki ok gizlenir, girdiye yer kalır */
@media (max-width: 359px) { .news__btn { padding: 0 12px !important; letter-spacing: 0.04em; } .news__field { gap: 4px; } }
@media (max-width: 399px) { .news__field { padding-left: 16px; } .news__btn { padding: 0 16px; } .news__btn .pill__arrow { display: none; } .news__check { margin-left: 0; } .news .field__err, .news .lead__status:not(:empty) { margin-left: 0; } }

