/* ============================================================
   Zenit Su — zen spa teması. Noto Serif Display (başlık) + Jost (gövde), yerel woff2.
   Günün ışığı: <html data-light="dawn|day|dusk|night"> renk değişkenlerini değiştirir (bkz. includes/theme/layout.php).
   Çekirdek token adları (--bg, --fg, --line, --accent, --btn-*) newsletter.css ve prose-blocks.css için korunur.
   ============================================================ */
@font-face { font-family: "Excon"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/excon-300.woff2) format("woff2"); }
@font-face { font-family: "Excon"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/excon-400.woff2) format("woff2"); }
@font-face { font-family: "Excon"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/excon-500.woff2) format("woff2"); }
@font-face { font-family: "Excon"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/excon-700.woff2) format("woff2"); }
@font-face { font-family: "Bespoke Sans"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/bespoke-sans-300.woff2) format("woff2"); }
@font-face { font-family: "Bespoke Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/bespoke-sans-400.woff2) format("woff2"); }
@font-face { font-family: "Bespoke Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/bespoke-sans-500.woff2) format("woff2"); }
@font-face { font-family: "Bespoke Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/bespoke-sans-700.woff2) format("woff2"); }

/* ── Günün ışığı (varsayılan: gün). Konsept: taşa düşen damlanın halkası; cesur renk koyu çivit (ai-iro) ── */
:root, [data-light="day"] {
    --bg: #eef1f0; --bg-2: #e0e7e6; --bg-3: #cfd9d8; --bg-elev: #f7f9f8; --bg-sunk: #e0e7e6; --bg-alt: #e0e7e6;
    --fg: #0f1f2b; --fg-2: #33434e; --fg-3: #52636e;
    --line: rgba(15, 31, 43, .14); --line-2: rgba(15, 31, 43, .28);
    --accent: #1d4f7a; --accent-2: #46684f; --sun: #d8652f;
    --blk: #13263d; --blk-2: #1b3150; --blk-fg: #edf3f6; --blk-fg2: #a9bdcc; --blk-line: rgba(237, 243, 246, .18);
    --ink: #0b1826; --ink-2: #13263d; --ink-fg: #edf3f6; --ink-fg2: #a9bdcc; --ink-line: rgba(237, 243, 246, .16);
    --paper: #e9e6dd; --noren: #13263d;
    --btn-bg: #13263d; --btn-bg-h: #1d4f7a; --btn-fg: #edf3f6;
    --ok: #2f6a49; --ok-bg: #dcebe2; --err: #a53a26; --err-bg: #f5ded6;
    color-scheme: light;
}
[data-light="dawn"] {
    --bg: #eeeef2; --bg-2: #e2e1ea; --bg-3: #d3d2df; --bg-elev: #f7f7fa; --bg-sunk: #e2e1ea; --bg-alt: #e2e1ea;
    --fg: #1b1a2b; --fg-2: #3d3b51; --fg-3: #5a5870;
    --line: rgba(27, 26, 43, .14); --line-2: rgba(27, 26, 43, .28);
    --accent: #9d4a2e; --sun: #e07b4a;
    --blk: #262842; --blk-2: #32355a; --blk-fg: #f1f0f6; --blk-fg2: #b6b5cc;
    --btn-bg: #262842; --btn-bg-h: #9d4a2e; --btn-fg: #f1f0f6;
}
[data-light="dusk"] {
    --bg: #1b2a3b; --bg-2: #223449; --bg-3: #2b4059; --bg-elev: #223449; --bg-sunk: #223449; --bg-alt: #223449;
    --fg: #eef2f4; --fg-2: #c6d1d9; --fg-3: #9cadba;
    --line: rgba(238, 242, 244, .15); --line-2: rgba(238, 242, 244, .3);
    --accent: #f0a46a; --sun: #f39a5a;
    --blk: #0f1b28; --blk-2: #16263a; --blk-fg: #eef2f4; --blk-fg2: #a3b4c2;
    --ink: #0a131d; --paper: #34383a;
    --btn-bg: #f0a46a; --btn-bg-h: #f6bd8f; --btn-fg: #14202c;
    --ok: #9fd0b0; --ok-bg: #1d3a2c; --err: #f3a490; --err-bg: #3d221b;
    color-scheme: dark;
}
[data-light="night"] {
    --bg: #0c1117; --bg-2: #141c25; --bg-3: #1c2733; --bg-elev: #141c25; --bg-sunk: #141c25; --bg-alt: #141c25;
    --fg: #e6edf1; --fg-2: #bfccd5; --fg-3: #93a4b1;
    --line: rgba(230, 237, 241, .14); --line-2: rgba(230, 237, 241, .28);
    --accent: #9cc4de; --sun: #e7c48d;
    --blk: #142233; --blk-2: #1b2d43; --blk-fg: #e6edf1; --blk-fg2: #9fb2c1;
    --ink: #060a0e; --ink-2: #0c1117; --paper: #252a2f;
    --btn-bg: #9cc4de; --btn-bg-h: #c2dcec; --btn-fg: #0c1117;
    --ok: #9fd0b0; --ok-bg: #1d3a2c; --err: #f3a490; --err-bg: #3d221b;
    color-scheme: dark;
}
:root {
    --f-body: "Bespoke Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --f-display: "Excon", "Bespoke Sans", system-ui, sans-serif;
    --radius: 2px;
    --wrap: 1320px;
    --gutter: clamp(18px, 4.5vw, 56px);
    --head-h: 84px;
    --ease: cubic-bezier(.22, .61, .36, 1);
    --slow: cubic-bezier(.65, 0, .35, 1);
    /* Halka: eş merkezli çizgiler (madde imi, ayraç, çerçeve) */
    --ring: radial-gradient(circle, transparent 0 22%, currentColor 23% 27%, transparent 28% 46%, currentColor 47% 50%, transparent 51% 70%, currentColor 71% 73%, transparent 74%);
}

/* ── Temel ── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--head-h) + 16px); }
html.no-scroll { overflow: hidden; }
body { margin: 0; background: var(--bg); color: var(--fg-2); font: 400 17px/1.72 var(--f-body); -webkit-font-smoothing: antialiased; transition: background-color 1.2s ease, color 1.2s ease; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
svg { flex: none; }
a { color: inherit; }
h1, h2, h3, .h1, .h3 { color: var(--fg); font-family: var(--f-display); font-weight: 300; line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.012em; }
h3, .h3 { font-size: 1.3rem; font-weight: 400; }
p { margin: 0 0 1em; }
button { font: inherit; }
.sr-only, .zn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--fg); color: var(--bg); padding: 8px 14px; border-radius: var(--radius); }
.skip:focus { top: 8px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
::selection { background: var(--accent); color: var(--bg); }
.zn-wrap, .wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.zn-wrap--md, .wrap--md { max-width: 980px; }
.zn-sec { padding-block: clamp(84px, 11vw, 168px); }
.zn-sec--soft { background: var(--bg-2); transition: background-color 1.2s ease; }
.zn-sec--top0 { padding-top: 0; }
.zn-h1 { font-size: clamp(2.6rem, 5.6vw, 4.8rem); color: var(--fg); }
.zn-h2 { font-size: clamp(2rem, 4vw, 3.3rem); color: var(--fg); }
.zn-h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); color: var(--fg); font-weight: 300; }
.zn-h1 a, .zn-h2 a { text-decoration: none; }
.zn-lead { font-size: clamp(1.06rem, 1.3vw, 1.2rem); line-height: 1.7; color: var(--fg-2); max-width: 36em; }
.zn-kicker { margin: 0 0 1.1em; font-size: .78rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--fg-3); }
.zn-vlabel { writing-mode: vertical-rl; margin: 0; font-size: .74rem; font-weight: 500; letter-spacing: .38em; text-transform: uppercase; color: var(--fg-3); }
.zn-muted, .muted { color: var(--fg-3); }
.zn-small, .small { font-size: .88rem; }
.zn-mt { margin-top: 28px; } .zn-mt-l { margin-top: 64px; }
.zn-hint { font-size: .9rem; color: var(--fg-3); margin: 10px 0 0; }

/* ── Düğme ve bağlantı ── */
.zn-btn, .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 30px; border: 1px solid var(--btn-bg); border-radius: 999px;
    background: var(--btn-bg); color: var(--btn-fg); font: 500 .95rem/1 var(--f-body); letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: background-color .35s, border-color .35s, color .35s, transform .35s var(--ease); }
.zn-btn:hover, .btn:hover { background: var(--btn-bg-h); border-color: var(--btn-bg-h); }
.zn-btn:active { transform: scale(.98); }
.zn-btn--sm { min-height: 42px; padding: 0 20px; font-size: .88rem; }
.zn-btn--lg { min-height: 58px; padding: 0 38px; font-size: 1rem; }
.zn-btn--light { background: #f5f1e8; border-color: #f5f1e8; color: #1e221c; }
.zn-btn--light:hover { background: #fff; border-color: #fff; }
.zn-btn .zn-ico { width: 18px; height: 18px; }
.btn--ghost { background: transparent; color: var(--fg); border-color: var(--line-2); }
.zn-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; font-size: .95rem; color: var(--fg); text-decoration: none; letter-spacing: .02em; padding-block: 6px; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--ease); }
.zn-link:hover { background-size: 100% 1px; }
.zn-link--light { color: #f5f1e8; }
.zn-link .zn-ico { width: 18px; height: 18px; }
.zn-arrow { width: 24px; height: 10px; transition: transform .4s var(--ease); }
a:hover > .zn-arrow, button:hover > .zn-arrow { transform: translateX(5px); }
.zn-ico { width: 20px; height: 20px; }

/* ── Kaydırınca beliren ── */
.js .zn-rv { opacity: 0; transform: translateY(26px); transition: opacity 1.1s var(--ease), transform 1.3s var(--ease); }
.js .zn-rv.is-in { opacity: 1; transform: none; }
.zn-team__row > .zn-rv:nth-child(2), .zn-mat:nth-child(2), .zn-princ li:nth-child(2) { transition-delay: .12s; }
.zn-team__row > .zn-rv:nth-child(3), .zn-mat:nth-child(3), .zn-princ li:nth-child(3) { transition-delay: .24s; }
.zn-team__row > .zn-rv:nth-child(4), .zn-mat:nth-child(4), .zn-princ li:nth-child(4) { transition-delay: .36s; }

/* ── Üst bölüm ── */
.zn-head { position: sticky; top: 0; z-index: 40; height: var(--head-h); background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background-color .6s, color .6s, transform .5s var(--ease), box-shadow .6s; color: var(--fg); }
.zn-head.is-scrolled { box-shadow: 0 1px 0 var(--line); }
.zn-head.is-hidden { transform: translateY(-100%); }
.zn-head--over { position: fixed; inset-inline: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; color: #f5f1e8; }
.zn-head--over.is-scrolled { background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--fg); }
.zn-head__in { display: flex; align-items: center; gap: 28px; height: 100%; }
.zn-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; flex: none; }
.zn-mark { width: 34px; height: 34px; color: inherit; }
.zn-logo__t { display: grid; font-family: var(--f-display); font-size: 1.42rem; font-weight: 400; line-height: 1; letter-spacing: .01em; }
.zn-logo__t small { font-family: var(--f-body); font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; margin-top: 6px; opacity: .72; font-weight: 500; }
.zn-logo .brand__img { max-height: 44px; width: auto; }
.zn-nav { display: flex; align-items: center; gap: 2px; margin-inline: auto; }
.zn-nav > a, .zn-nav__dd > button { position: relative; display: inline-flex; align-items: center; gap: 4px; padding: 10px 14px; border: 0; background: none; color: inherit; font-size: .93rem; font-weight: 400; letter-spacing: .02em; text-decoration: none; cursor: pointer; opacity: .86; transition: opacity .3s; }
.zn-nav > a::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; transform: translateX(-50%) scale(0); transition: transform .35s var(--ease); }
.zn-nav > a:hover, .zn-nav > a[aria-current="page"] { opacity: 1; }
.zn-nav > a:hover::after, .zn-nav > a[aria-current="page"]::after { transform: translateX(-50%) scale(1); }
.zn-nav__dd { position: relative; }
.zn-nav__dd .zn-ico { width: 14px; height: 14px; }
.zn-nav__dd ul { position: absolute; top: 100%; left: 0; min-width: 220px; margin: 6px 0 0; padding: 10px; list-style: none; background: var(--bg-elev); color: var(--fg); border-radius: 6px; box-shadow: 0 24px 48px rgba(0,0,0,.12); display: none; }
.zn-nav__dd button[aria-expanded="true"] + ul, .zn-nav__dd:hover ul { display: block; }
.zn-nav__dd ul a { display: block; padding: 9px 12px; text-decoration: none; border-radius: 4px; }
.zn-nav__dd ul a:hover { background: var(--bg-2); }
.zn-head__tools { display: flex; align-items: center; gap: 14px; flex: none; }
.zn-head__cta { }
.zn-head--over:not(.is-scrolled) .zn-head__cta { background: #f5f1e8; border-color: #f5f1e8; color: #1e221c; }
.zn-lang { display: flex; gap: 2px; }
.zn-lang a { padding: 6px 7px; font-size: .78rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; opacity: .6; }
.zn-lang a[aria-current="true"], .zn-lang a:hover { opacity: 1; }
.zn-burger { display: none; position: relative; width: 44px; height: 44px; border: 0; background: none; color: inherit; cursor: pointer; }
.zn-burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: currentColor; transition: transform .3s; }
.zn-burger span:first-child { top: 17px; } .zn-burger span:last-child { top: 26px; left: 17px; }

/* Günün ışığı seçici */
.zn-light { position: relative; }
.zn-light__btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 10px; border: 1px solid currentColor; border-radius: 999px; background: none; color: inherit; cursor: pointer; font-size: .8rem; letter-spacing: .04em; opacity: .82; transition: opacity .3s; }
.zn-light__btn:hover, .zn-light__btn[aria-expanded="true"] { opacity: 1; }
.zn-light__btn .zn-ico { width: 18px; height: 18px; }
.zn-light__menu { position: absolute; top: calc(100% + 10px); right: 0; z-index: 5; width: 270px; padding: 14px; background: var(--bg-elev); color: var(--fg); border-radius: 8px; box-shadow: 0 30px 60px rgba(0,0,0,.18); }
.zn-light__menu[hidden] { display: none; }
.zn-light__h { margin: 0 0 8px; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--fg-3); }
.zn-light__menu button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 10px; border: 0; background: none; color: var(--fg); border-radius: 6px; cursor: pointer; text-align: left; }
.zn-light__menu button:hover { background: var(--bg-2); }
.zn-light__menu button[aria-checked="true"] { background: var(--bg-2); }
.zn-light__menu button span { display: grid; font-size: .92rem; }
.zn-light__menu small { font-size: .78rem; color: var(--fg-3); }
.zn-light__menu .zn-ico { width: 22px; height: 22px; color: var(--accent); }

/* Çekmece */
.drawer { position: fixed; inset: 0; z-index: 60; visibility: hidden; }
.drawer.is-open { visibility: visible; }
.drawer::before { content: ""; position: absolute; inset: 0; background: rgba(10, 12, 10, .45); opacity: 0; transition: opacity .4s; }
.drawer.is-open::before { opacity: 1; }
.drawer__panel { position: absolute; top: 0; bottom: 0; right: 0; width: min(420px, 92vw); display: flex; flex-direction: column; background: var(--bg); color: var(--fg); padding: 20px 28px 28px; overflow-y: auto; transform: translateX(100%); transition: transform .55s var(--slow); }
.drawer.is-open .drawer__panel { transform: none; }
.zn-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.zn-x { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: none; color: inherit; cursor: pointer; }
.zn-drawer__nav { display: grid; gap: 2px; }
.zn-drawer__nav a { padding: 10px 0; font-family: var(--f-display); font-size: 1.7rem; font-weight: 300; text-decoration: none; color: var(--fg); }
.zn-drawer__nav a.is-sub { font-size: 1.15rem; padding-left: 16px; color: var(--fg-2); }
.zn-drawer__nav a[aria-current="page"] { color: var(--accent); }
.zn-drawer__foot { margin-top: auto; padding-top: 28px; display: grid; gap: 16px; }
.zn-drawer__tel { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; color: var(--fg-2); }
.zn-drawer__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.zn-drawer__row .zn-light__menu { right: auto; left: 0; bottom: calc(100% + 10px); top: auto; }

/* ── Açılış: kâğıt panel geçişi + su halkaları ── */
.is-home main { margin-top: 0; }
.zn-hero { position: relative; height: 100svh; min-height: 620px; max-height: 1100px; overflow: hidden; background: #1a1d19; color: #f5f1e8; isolation: isolate; }
.zn-hero__slides { position: absolute; inset: 0; }
.zn-slide { position: absolute; inset: 0; display: flex; align-items: flex-end; visibility: hidden; }
.zn-slide.is-active { visibility: visible; }
.zn-slide__media, .zn-slide__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zn-slide__media img { transform: scale(1.07); transition: transform 9s linear; }
.zn-slide.is-active .zn-slide__media img { transform: scale(1); }
.zn-slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 16, 13, .62) 0%, rgba(14, 16, 13, .28) 45%, rgba(14, 16, 13, 0) 75%), linear-gradient(0deg, rgba(14, 16, 13, .5) 0%, rgba(14, 16, 13, 0) 40%); }
.zn-slide__text { position: relative; z-index: 2; padding-bottom: clamp(120px, 17vh, 190px); }
.zn-slide__k { font-size: .78rem; letter-spacing: .26em; text-transform: uppercase; margin: 0 0 22px; opacity: .85; }
.zn-slide__t { color: inherit; font-size: clamp(3rem, 7.4vw, 6.6rem); font-weight: 300; line-height: 1.02; max-width: 11em; margin: 0 0 26px; text-shadow: 0 1px 24px rgba(0,0,0,.18); }
.zn-slide__s { max-width: 31em; font-size: 1.1rem; line-height: 1.65; opacity: .9; margin: 0 0 34px; }
.zn-slide__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 30px; }
.zn-slide__k, .zn-slide__t, .zn-slide__s, .zn-slide__acts { opacity: 0; transform: translateY(18px); transition: opacity 1.2s var(--ease), transform 1.4s var(--ease); }
.zn-slide.is-active .zn-slide__k, .zn-slide.is-active .zn-slide__t, .zn-slide.is-active .zn-slide__s, .zn-slide.is-active .zn-slide__acts { opacity: 1; transform: none; }
.zn-slide.is-active .zn-slide__k { opacity: .85; }
.zn-slide.is-active .zn-slide__t { transition-delay: .15s; }
.zn-slide.is-active .zn-slide__s { transition-delay: .3s; }
.zn-slide.is-active .zn-slide__acts { transition-delay: .45s; }
.zn-shoji { position: absolute; inset: 0; z-index: 3; pointer-events: none; display: flex; }
.zn-shoji__p { flex: 1; background-color: #ebe4d4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .32 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); transition: transform 1s var(--slow); }
.zn-shoji__p--l { transform: translateX(-101%); box-shadow: inset -10px 0 0 #b49a74; }
.zn-shoji__p--r { transform: translateX(101%); box-shadow: inset 10px 0 0 #b49a74; }
.zn-hero.is-closing .zn-shoji__p { transform: none; }
.zn-ripples { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.zn-hero__ctl { position: absolute; z-index: 4; left: 0; right: 0; bottom: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zn-hero__n { margin: 0; font-family: var(--f-display); font-size: 1.05rem; letter-spacing: .06em; }
.zn-hero__n b { font-weight: 400; font-size: 1.5rem; }
.zn-hero__n span { opacity: .65; margin-left: 6px; }
.zn-hero__next { display: inline-flex; align-items: center; gap: 16px; padding: 10px 0; border: 0; background: none; color: inherit; cursor: pointer; text-align: right; }
.zn-hero__nk { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; opacity: .7; }
.zn-hero__nt { font-family: var(--f-display); font-size: 1.15rem; font-weight: 300; max-width: 18em; }
.zn-hero__hint { position: absolute; z-index: 4; right: var(--gutter); top: calc(var(--head-h) + 26px); margin: 0; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; opacity: .55; }

/* ── Nefes rehberi ── */
.zn-breath__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 7vw, 120px); align-items: center; }
.zn-breath__txt .zn-h2 { font-size: clamp(2.4rem, 4.8vw, 4rem); }
.zn-seg { display: inline-flex; gap: 6px; margin-top: 18px; padding: 5px; border-radius: 999px; background: var(--bg-2); }
.zn-seg button { padding: 10px 18px; border: 0; border-radius: 999px; background: none; color: var(--fg-2); cursor: pointer; font-size: .9rem; transition: background-color .3s, color .3s; }
.zn-seg button[aria-checked="true"] { background: var(--bg); color: var(--fg); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.zn-breath__note { margin-top: 22px; font-size: .86rem; color: var(--fg-3); max-width: 34em; }
.zn-breath__orb { display: grid; justify-items: center; gap: 26px; }
.zn-orb { position: relative; width: min(440px, 82vw); aspect-ratio: 1; display: grid; place-items: center; }
.zn-orb__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.zn-orb__track { fill: none; stroke: var(--line); stroke-width: 1; }
.zn-orb__prog { fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; opacity: 0; transition: opacity .4s; }
.zn-orb.is-run .zn-orb__prog { opacity: 1; }
.zn-orb__disc { position: absolute; width: 82%; height: 82%; border-radius: 50%; background: var(--bg-3); transform: scale(.62); transition: transform 1s var(--slow), background-color 1.2s; box-shadow: inset 0 0 0 1px var(--line); }
.zn-orb__txt { position: relative; display: grid; justify-items: center; gap: 4px; margin: 0; text-align: center; color: var(--fg); }
.zn-orb__txt span { font-family: var(--f-display); font-size: clamp(1.3rem, 2.4vw, 1.9rem); font-weight: 300; max-width: 9em; }
.zn-orb:not(.is-run) .zn-orb__txt span { font-size: clamp(1.05rem, 1.7vw, 1.3rem); font-style: italic; color: var(--fg-2); }
.zn-orb__txt b { font-family: var(--f-display); font-weight: 300; font-size: clamp(2.6rem, 5vw, 3.6rem); line-height: 1; min-height: 1em; color: var(--accent); }
.zn-breath__ctl { display: flex; align-items: center; gap: 22px; }
.zn-breath__round { margin: 0; font-size: .88rem; color: var(--fg-3); letter-spacing: .06em; min-width: 7em; }
.zn-breath__done { margin: 0; text-align: center; color: var(--fg-2); }

/* ── Ritüel menüsü ── */
.zn-menu__head { display: grid; grid-template-columns: auto 1fr; gap: 0 clamp(20px, 4vw, 60px); align-items: start; margin-bottom: clamp(40px, 6vw, 80px); }
.zn-menu__head .zn-vlabel { grid-row: span 2; }
.zn-menu__q { margin-bottom: 18px; }
.zn-moods { display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: baseline; }
.zn-mood { padding: 4px 0; border: 0; background: none; color: var(--fg-3); font-family: var(--f-display); font-size: clamp(1.15rem, 1.9vw, 1.6rem); font-weight: 300; font-style: italic; cursor: pointer; text-decoration: underline transparent; text-underline-offset: 8px; text-decoration-thickness: 1px; transition: color .35s, text-decoration-color .35s; }
.zn-mood:hover { color: var(--fg); }
.zn-mood.is-on { color: var(--fg); text-decoration-color: var(--accent); }
.zn-moods--page { margin-bottom: 56px; }
.zn-moods__q { font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3); margin-right: 8px; font-style: normal; }
.zn-menu__body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(30px, 6vw, 100px); align-items: start; }
.zn-menu__list { list-style: none; margin: 0; padding: 0; }
.zn-menu__i { transition: opacity .5s; }
.zn-menu__i.is-out { display: none; }
.zn-menu__i.is-enter { animation: znIn .7s var(--ease) both; }
@keyframes znIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.zn-menu__i > a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 18px; align-items: baseline; padding: 24px 0; text-decoration: none; color: inherit; }
.zn-menu__list:hover .zn-menu__i { opacity: .42; }
.zn-menu__list:hover .zn-menu__i:hover, .zn-menu__list .zn-menu__i:focus-within { opacity: 1; }
.zn-menu__no { font-family: var(--f-display); font-size: .95rem; color: var(--fg-3); }
.zn-menu__main { display: grid; gap: 6px; }
.zn-menu__t { font-family: var(--f-display); font-size: clamp(1.6rem, 2.7vw, 2.35rem); font-weight: 300; line-height: 1.1; color: var(--fg); transition: transform .5s var(--ease), color .4s; }
.zn-menu__i > a:hover .zn-menu__t { transform: translateX(8px); color: var(--accent); }
.zn-menu__s { font-size: .95rem; color: var(--fg-3); max-width: 34em; }
.zn-menu__thumb { display: none; }
.zn-menu__meta { display: grid; justify-items: end; gap: 2px; font-size: .86rem; color: var(--fg-3); text-align: right; white-space: nowrap; }
.zn-menu__meta b { font-weight: 500; color: var(--fg); font-size: .95rem; }
.zn-menu__fig { position: sticky; top: calc(var(--head-h) + 30px); margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 2px; background: var(--bg-2); }
.zn-menu__fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .9s var(--ease), transform 1.8s var(--ease); }
.zn-menu__fig img[data-menu-img2] { opacity: 0; transform: scale(1.04); }
.zn-menu__fig.is-b img[data-menu-img] { opacity: 0; transform: scale(1.04); }
.zn-menu__fig.is-b img[data-menu-img2] { opacity: 1; transform: none; }
.zn-menu__empty { padding: 30px 0; color: var(--fg-3); font-style: italic; }
.zn-menu__foot, .zn-team__foot { margin-top: 48px; }

/* ── Sessiz gün (güneş yayı) ── */
.zn-qday__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 60px; align-items: end; margin-bottom: 48px; }
.zn-tabs { display: flex; flex-wrap: wrap; gap: 8px 34px; margin-bottom: 56px; }
.zn-tabs button { position: relative; display: grid; gap: 2px; padding: 8px 0 8px 22px; border: 0; background: none; color: var(--fg-3); cursor: pointer; text-align: left; transition: color .35s; }
.zn-tabs button span { font-family: var(--f-display); font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 300; }
.zn-tabs button small { font-size: .8rem; letter-spacing: .04em; }
.zn-tabs button::before { content: ""; position: absolute; left: 0; top: 19px; width: 10px; height: 10px; border-radius: 50%; border: 1px solid currentColor; transition: background-color .4s, border-color .4s; }
.zn-tabs button[aria-selected="true"] { color: var(--fg); }
.zn-tabs button[aria-selected="true"]::before { background: var(--sun); border-color: var(--sun); }
.zn-tabs button:hover { color: var(--fg); }
.zn-qday__panel[hidden] { display: none; }
.zn-flow { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(30px, 6vw, 110px); }
.zn-flow__sky { position: relative; }
.zn-flow__sticky { position: sticky; top: calc(var(--head-h) + 40px); }
.zn-flow__arc { display: block; width: 100%; overflow: visible; }
.zn-flow__path { stroke: var(--line-2); stroke-width: 1; stroke-dasharray: 2 5; }
.zn-flow__done { fill: none; stroke: var(--sun); stroke-width: 1.4; stroke-dasharray: 100; stroke-dashoffset: 100; }
.zn-flow__hz { stroke: var(--fg-3); stroke-width: 1; }
.zn-flow__sun { fill: var(--sun); }
.zn-flow__time { margin: 12px 0 0; font-family: var(--f-display); font-size: clamp(3.4rem, 7vw, 6rem); font-weight: 300; line-height: 1; color: var(--fg); font-variant-numeric: tabular-nums; }
.zn-flow__step { margin: 8px 0 0; color: var(--fg-3); font-size: 1rem; min-height: 1.7em; }
.zn-flow__list { list-style: none; margin: 0; padding: 6vh 0 10vh; display: grid; gap: clamp(36px, 7vh, 72px); }
.zn-flow__i { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 20px; opacity: .38; transition: opacity .6s; }
.zn-flow__i.is-on, .zn-flow__i.is-past { opacity: 1; }
.zn-flow__i time { font-family: var(--f-display); font-size: 1.35rem; color: var(--accent); padding-top: 4px; }
.zn-flow__i h3 { margin: 0 0 6px; font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 300; }
.zn-flow__i p { margin: 0; color: var(--fg-2); max-width: 32em; }
.zn-qday__end { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 40px; padding-top: 34px; }
.zn-qday__price { margin: 0; font-family: var(--f-display); font-size: 2rem; font-weight: 300; color: var(--fg); }
.zn-qday__price small { font-family: var(--f-body); font-size: .85rem; color: var(--fg-3); }

/* ── Bu hafta (ders şeridi) ── */
.zn-week__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px clamp(20px, 4vw, 60px); align-items: end; margin-bottom: 48px; }
.zn-week__head .zn-lead { margin: 0; }
.zn-week__days { display: grid; grid-template-columns: repeat(7, minmax(128px, 1fr)); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: thin; }
.zn-week__d { display: grid; align-content: start; gap: 8px; padding: 18px 14px 22px; border-radius: 6px; scroll-snap-align: start; transition: background-color .5s; }
.zn-week__d.is-today { background: var(--bg-2); }
.zn-week__dn { display: flex; align-items: baseline; gap: 8px; margin: 0 0 10px; color: var(--fg); }
.zn-week__dn b { font-family: var(--f-display); font-weight: 400; font-size: 1.35rem; }
.zn-week__dn span { font-size: .82rem; color: var(--fg-3); }
.zn-week__today { display: none; margin-left: auto; font-style: normal; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.is-today .zn-week__today { display: inline; }
.zn-week__off { margin: 0; font-size: .88rem; color: var(--fg-3); font-style: italic; }
.zn-week__c { position: relative; display: grid; gap: 2px; padding: 12px 12px 14px; border-radius: 4px; text-decoration: none; color: inherit; transition: background-color .35s; }
.zn-week__c:hover { background: var(--bg); }
.zn-week__d:not(.is-today) .zn-week__c:hover { background: var(--bg-2); }
.zn-week__c time { font-family: var(--f-display); font-size: 1.15rem; color: var(--accent); }
.zn-week__t { color: var(--fg); font-weight: 500; line-height: 1.35; }
.zn-week__m { font-size: .82rem; color: var(--fg-3); }
.zn-week__now { display: none; position: absolute; top: 12px; right: 10px; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bg); background: var(--accent); padding: 3px 7px; border-radius: 999px; }
.is-now .zn-week__now { display: inline-block; }
.zn-week__d.is-closed { opacity: .6; }
.zn-week__d.is-past .zn-week__c { opacity: .55; }

/* ── Ev: kaydırınca açılan pencere ── */
.zn-house { position: relative; }
.zn-house__stick { position: sticky; top: 0; height: 100vh; overflow: hidden; display: grid; align-items: end; }
.zn-house { height: auto; }
.zn-house__track { height: 200vh; }
.zn-house__win { position: absolute; inset: 0; clip-path: inset(var(--cy, 14%) var(--cx, 34%) round 4px); transition: clip-path .1s linear; }
.zn-house__win img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.18 - var(--p, 0) * .18)); }
.zn-house__win::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,16,13,.55), rgba(14,16,13,0) 50%); opacity: var(--p, 0); }
.zn-house__over { position: relative; z-index: 2; padding-bottom: 9vh; color: #f5f1e8; opacity: calc((var(--p, 0) - .55) * 2.4); transform: translateY(calc((1 - var(--p, 0)) * 30px)); }
.zn-house__over .zn-kicker { color: inherit; opacity: .8; }
.zn-house__over .zn-h2 { color: inherit; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: 1.04; }
.zn-house__mats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 4vw, 60px); padding-block: clamp(70px, 9vw, 130px) 0; }
.zn-mat__n { display: block; font-family: var(--f-display); font-style: italic; font-size: 1.05rem; color: var(--accent); margin-bottom: 14px; }
.zn-mat h3 { font-size: 1.7rem; font-weight: 300; margin-bottom: 12px; }
.zn-mat p { color: var(--fg-2); font-size: .98rem; margin: 0; }
.zn-house__foot { padding-block: 44px clamp(84px, 11vw, 150px); }

/* ── Perdeli portreler (noren) ── */
.zn-team__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 60px; align-items: end; margin-bottom: 52px; }
.zn-team__head .zn-lead { margin: 0; }
.zn-team__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 34px); }
.zn-noren { display: grid; gap: 4px; text-decoration: none; color: inherit; }
.zn-noren__img { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bg-2); margin-bottom: 14px; }
.zn-noren__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.zn-noren__c { position: absolute; top: 0; height: 24%; width: calc(50% - 1px); background-color: var(--noren, #3f4a37);
    background-image: linear-gradient(90deg, rgba(255,255,255,.07) 0, rgba(255,255,255,0) 18%, rgba(0,0,0,.12) 34%, rgba(255,255,255,.05) 52%, rgba(0,0,0,.1) 74%, rgba(255,255,255,.06) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    clip-path: polygon(0 0, 100% 0, 100% 96%, 82% 100%, 60% 97%, 38% 100%, 18% 97%, 0 100%); transform-origin: 50% 0; transition: transform 1.1s var(--ease), background-color 1.2s; }
.zn-noren__c::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 7px; background: rgba(0,0,0,.18); }
.zn-noren__c--l { left: 0; }
.zn-noren__c--r { right: 0; }
.zn-noren:hover .zn-noren__c--l, .zn-noren:focus-visible .zn-noren__c--l { transform: translateX(-38%) rotate(7deg) scaleY(.92); }
.zn-noren:hover .zn-noren__c--r, .zn-noren:focus-visible .zn-noren__c--r { transform: translateX(38%) rotate(-7deg) scaleY(.92); }
.zn-noren:hover .zn-noren__img img { transform: scale(1.04); }
@media (hover: none) {
    .is-in .zn-noren__c--l { transform: translateX(-38%) rotate(7deg) scaleY(.92); transition-delay: .5s; }
    .is-in .zn-noren__c--r { transform: translateX(38%) rotate(-7deg) scaleY(.92); transition-delay: .5s; }
}
.zn-noren__n { font-family: var(--f-display); font-size: 1.4rem; font-weight: 300; color: var(--fg); }
.zn-noren__r { font-size: .86rem; color: var(--fg-3); }
.zn-team__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px clamp(20px, 3vw, 44px); }
.zn-team__card .zn-noren__n { font-size: 1.7rem; }
.zn-team__q { margin: 16px 0 8px; font-family: var(--f-display); font-style: italic; font-size: 1.15rem; color: var(--fg); }
.zn-team__s { color: var(--fg-2); font-size: .96rem; margin: 0; }
.zn-teamband__in, .zn-matband { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(30px, 6vw, 100px); align-items: center; }
.zn-teamband figure, .zn-matband figure { margin: 0; }
.zn-teamband img, .zn-matband img { display: block; width: 100%; height: auto; border-radius: 2px; }

/* ── Konuk yorumları ── */
.zn-voices__in { display: grid; justify-items: center; text-align: center; }
.zn-voices__stage { display: grid; width: 100%; max-width: 980px; margin: 30px 0 40px; }
.zn-voice { grid-area: 1 / 1; margin: 0; opacity: 0; filter: blur(8px); transform: translateY(10px); transition: opacity 1.4s var(--ease), filter 1.4s var(--ease), transform 1.4s var(--ease); pointer-events: none; }
.zn-voice.is-on { opacity: 1; filter: none; transform: none; pointer-events: auto; }
.zn-voice blockquote { margin: 0 0 30px; }
.zn-voice blockquote p { margin: 0; font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(1.5rem, 3.2vw, 2.55rem); line-height: 1.32; color: var(--fg); }
.zn-voice figcaption { display: grid; gap: 4px; }
.zn-voice figcaption b { font-weight: 500; color: var(--fg); letter-spacing: .04em; }
.zn-voice figcaption span { font-size: .88rem; color: var(--fg-3); }
.zn-stones { display: flex; gap: 14px; align-items: center; }
.zn-stone { width: 16px; height: 11px; padding: 0; border: 0; border-radius: 52% 48% 45% 55% / 60% 55% 45% 40%; background: var(--fg-3); opacity: .3; cursor: pointer; transition: opacity .4s, transform .4s var(--ease); }
.zn-stone:nth-child(2n) { border-radius: 45% 55% 60% 40% / 50% 45% 55% 50%; width: 14px; }
.zn-stone:nth-child(3n) { width: 18px; height: 10px; }
.zn-stone.is-on { opacity: 1; background: var(--fg); transform: scale(1.15); }
.zn-voices__note { margin: 30px 0 0; font-size: .82rem; color: var(--fg-3); }

/* ── SSS ── */
.zn-faqh__in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(30px, 6vw, 110px); }
.zn-faqh__head p { color: var(--fg-2); max-width: 26em; }
.zn-acc { display: grid; }
.zn-acc__i { border-bottom: 1px solid var(--line); }
.zn-acc__i summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; list-style: none; font-family: var(--f-display); font-size: clamp(1.12rem, 1.6vw, 1.32rem); font-weight: 400; color: var(--fg); }
.zn-acc__i summary::-webkit-details-marker { display: none; }
.zn-acc__i summary i { position: relative; flex: none; width: 16px; height: 16px; }
.zn-acc__i summary i::before, .zn-acc__i summary i::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; transition: transform .45s var(--ease); }
.zn-acc__i summary i::after { transform: rotate(90deg); }
.zn-acc__i[open] summary i::after { transform: rotate(0); }
.zn-acc__a { padding: 0 0 26px; color: var(--fg-2); max-width: 46em; animation: znIn .6s var(--ease); }

/* ── Blog (anasayfa) ── */
.zn-jr__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 44px; }
.zn-jr__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); grid-template-rows: auto auto; gap: 34px clamp(30px, 5vw, 80px); }
.zn-jr__p { display: grid; align-content: start; gap: 10px; text-decoration: none; color: inherit; }
.zn-jr__p.is-lead { grid-row: span 2; }
.zn-jr__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; margin-bottom: 10px; background: var(--bg-2); }
.zn-jr__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.zn-jr__p:hover .zn-jr__img img { transform: scale(1.03); }
.zn-jr__d { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-3); }
.zn-jr__t { font-family: var(--f-display); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 300; line-height: 1.2; color: var(--fg); }
.zn-jr__p.is-lead .zn-jr__t { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.zn-jr__e { color: var(--fg-2); font-size: .97rem; }
.zn-jr__p:not(.is-lead) { padding-top: 6px; }

/* ── Ziyaret ── */
.zn-visit__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(30px, 6vw, 110px); align-items: start; }
.zn-visit__addr { font-style: normal; font-size: 1.12rem; color: var(--fg); margin-bottom: 22px; line-height: 1.6; }
.zn-live { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: .95rem; color: var(--fg); }
.zn-live i { width: 9px; height: 9px; border-radius: 50%; background: var(--fg-3); }
.zn-live.is-open i { background: #5e8a4f; box-shadow: 0 0 0 0 rgba(94,138,79,.5); animation: znPulse 2.4s infinite; }
@keyframes znPulse { 0% { box-shadow: 0 0 0 0 rgba(94,138,79,.45); } 70% { box-shadow: 0 0 0 10px rgba(94,138,79,0); } 100% { box-shadow: 0 0 0 0 rgba(94,138,79,0); } }
.zn-hours { display: grid; gap: 2px; margin: 0 0 22px; max-width: 420px; }
.zn-hours div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 12px; border-radius: 4px; }
.zn-hours dt { color: var(--fg-2); }
.zn-hours dd { margin: 0; color: var(--fg); font-variant-numeric: tabular-nums; }
.zn-hours .is-today { background: var(--bg-2); }
.zn-hours .is-today dt { color: var(--fg); font-weight: 500; }
.zn-visit__how { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 8px; color: var(--fg-2); font-size: .97rem; }
.zn-visit__how li { padding-left: 20px; position: relative; }
.zn-visit__how li::before { content: ""; position: absolute; left: 0; top: .75em; width: 8px; height: 1px; background: var(--fg-3); }
.zn-visit__acts { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; }
.zn-visit__fig { margin: 0; }
.zn-visit__fig img { display: block; width: 100%; height: auto; border-radius: 2px; }
.zn-visit__map, .zn-map { margin-top: 18px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 4px; background: var(--bg-2); }
.zn-visit__map iframe, .zn-map iframe { width: 100%; height: 100%; border: 0; }

/* ── Alt bölüm ── */
.zn-foot { --fg: var(--ink-fg); --fg-2: var(--ink-fg2); --fg-3: var(--ink-fg2); --line: var(--ink-line); --line-2: rgba(240, 235, 224, .3); --btn-bg: var(--ink-fg); --btn-fg: var(--ink); --btn-bg-h: #fff; --accent: #c9b48a;
    background: var(--ink); color: var(--ink-fg2); font-size: .95rem; transition: background-color 1.2s; }
.zn-foot .zn-btn--light { color: #1e221c; }
.zn-foot .zn-btn--light:hover { color: #1e221c; }
.zn-foot a { color: var(--ink-fg2); text-decoration: none; }
.zn-foot a:hover { color: var(--ink-fg); }
.zn-foot__cta { display: flex; justify-content: space-between; align-items: end; gap: 30px; flex-wrap: wrap; padding-block: clamp(80px, 10vw, 140px) clamp(50px, 6vw, 80px); }
.zn-foot__big { margin: 0; font-family: var(--f-display); font-weight: 300; font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 1.06; color: var(--ink-fg); }
.zn-foot__acts { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.zn-foot__acts .zn-link { color: var(--ink-fg); }
.zn-foot__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-block: 56px; box-shadow: 0 -1px 0 var(--ink-line); }
.zn-logo--light { color: var(--ink-fg); }
.zn-foot__desc { margin: 18px 0 14px; max-width: 26em; }
.zn-foot address { font-style: normal; line-height: 1.7; }
.zn-social { display: flex; gap: 6px; margin-top: 18px; }
.zn-social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--ink-line); color: var(--ink-fg); }
.zn-social a:hover { box-shadow: inset 0 0 0 1px var(--ink-fg2); }
.zn-social svg { width: 18px; height: 18px; }
.zn-foot__h { margin: 0 0 18px; font-family: var(--f-body); font-size: .74rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-fg); }
.zn-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.zn-foot__hours { display: grid; gap: 6px; margin: 0 0 16px; }
.zn-foot__hours div { display: flex; justify-content: space-between; gap: 14px; }
.zn-foot__hours dd { margin: 0; color: var(--ink-fg); font-variant-numeric: tabular-nums; }
.zn-foot__contact { margin-top: 14px; }
.zn-foot__news { margin-top: 20px; }
.zn-foot__bar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding-block: 22px; box-shadow: 0 -1px 0 var(--ink-line); font-size: .84rem; }
.zn-foot__bar .f-copy { text-align: left; }
.zn-foot__bar .f-powered { display: flex; justify-content: center; }
.zn-foot__legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 18px; }
.zn-foot__legal a, .zn-foot__legal button { color: var(--ink-fg2); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: none; }
.zn-foot__legal a:hover, .zn-foot__legal button:hover { color: var(--ink-fg); }
.zn-dock { display: none; }

/* Görüntüleyici */
.zn-lb { position: fixed; inset: 0; z-index: 90; display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; align-items: center; background: rgba(12, 13, 11, .94); color: #f0ebe0; animation: znFade .4s; }
.zn-lb[hidden] { display: none; }
@keyframes znFade { from { opacity: 0; } }
.zn-lb figure { margin: 0; display: grid; justify-items: center; gap: 14px; padding: 60px 0 30px; }
.zn-lb img { max-height: 80vh; width: auto; max-width: 100%; }
.zn-lb figcaption { font-size: .92rem; opacity: .8; text-align: center; }
.zn-lb__x { position: absolute; top: 14px; right: 14px; width: 48px; height: 48px; display: grid; place-items: center; border: 0; background: none; color: inherit; cursor: pointer; }
.zn-lb__nav { width: 52px; height: 52px; display: grid; place-items: center; border: 0; background: none; color: inherit; cursor: pointer; justify-self: center; }
.zn-lb__nav .zn-ico, .zn-lb__x .zn-ico { width: 28px; height: 28px; }

/* ── İç sayfa başlığı ── */
.zn-phead { padding-block: clamp(40px, 6vw, 80px) clamp(70px, 9vw, 130px); }
.zn-phead__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(30px, 6vw, 110px); align-items: center; }
.zn-phead--plain .zn-phead__in { grid-template-columns: minmax(0, 1fr); }
.zn-phead--plain { padding-bottom: clamp(50px, 6vw, 80px); }
.zn-phead--plain .zn-lead { max-width: 40em; }
.zn-phead__img { margin: 0; aspect-ratio: 4 / 5; max-height: 74vh; overflow: hidden; border-radius: 2px; background: var(--bg-2); }
.zn-phead__img img { width: 100%; height: 100%; object-fit: cover; animation: znSettle 2.4s var(--ease) both; }
@keyframes znSettle { from { transform: scale(1.06); opacity: .6; } }
.zn-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-bottom: clamp(30px, 5vw, 60px); font-size: .84rem; color: var(--fg-3); }
.zn-crumb a { color: var(--fg-3); text-decoration: none; }
.zn-crumb a:hover { color: var(--fg); }
.zn-phead__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 30px; }
.zn-phead__price { margin: 26px 0 0; font-family: var(--f-display); font-size: 2.1rem; font-weight: 300; color: var(--fg); }
.zn-phead__price small { font-family: var(--f-body); font-size: .9rem; color: var(--fg-3); }
.zn-pick { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.zn-pick__o { display: grid; gap: 2px; min-width: 130px; padding: 14px 18px; border-radius: 6px; background: var(--bg-2); text-decoration: none; color: inherit; transition: background-color .3s, transform .4s var(--ease); }
.zn-pick__o:hover { background: var(--bg-3); transform: translateY(-2px); }
.zn-pick__o span { font-size: .85rem; color: var(--fg-3); }
.zn-pick__o b { font-family: var(--f-display); font-weight: 400; font-size: 1.35rem; color: var(--fg); }

/* ── Ritüel / program sayfası ── */
.zn-detail { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(30px, 6vw, 110px); align-items: start; }
.zn-detail__side { position: sticky; top: calc(var(--head-h) + 24px); display: grid; gap: 18px; }
.zn-note { padding: 24px 26px; border-radius: 6px; background: var(--bg-2); }
.zn-sec--soft .zn-note { background: var(--bg); }
.zn-note p { margin: 0 0 10px; color: var(--fg-2); }
.zn-note p:last-child { margin-bottom: 0; }
.zn-note__k { font-size: .74rem !important; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3) !important; margin-bottom: 12px !important; }
.zn-note--warn { background: color-mix(in srgb, var(--accent-2) 14%, var(--bg)); }
.zn-note .zn-link { margin-top: 6px; margin-right: 18px; }
.zn-faces { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.zn-faces a { display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; }
.zn-faces img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; }
.zn-faces span { display: grid; }
.zn-faces b { font-weight: 500; color: var(--fg); }
.zn-faces small { font-size: .82rem; color: var(--fg-3); }
.zn-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 30px; }
.zn-steps li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; }
.zn-steps__n { font-family: var(--f-display); font-size: 1.5rem; color: var(--accent); line-height: 1.1; }
.zn-steps h3 { margin: 0 0 6px; font-size: 1.35rem; }
.zn-steps p { margin: 0; color: var(--fg-2); }
.zn-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.zn-ticks li { display: flex; gap: 12px; align-items: flex-start; color: var(--fg-2); }
.zn-ticks .zn-ico { width: 18px; height: 18px; margin-top: 4px; color: var(--accent); }
.zn-plain { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.zn-plain li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.zn-plain a { color: var(--fg); text-decoration: none; }
.zn-plain a:hover { color: var(--accent); }
.zn-plain span { color: var(--fg-3); font-size: .9rem; }
.zn-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 3vw, 40px); margin-top: 40px; }
.zn-trio__i { display: grid; gap: 8px; text-decoration: none; color: inherit; }
.zn-trio__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bg-2); margin-bottom: 8px; }
.zn-trio__i--tall .zn-trio__img { aspect-ratio: 4 / 5; }
.zn-trio__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.zn-trio__i:hover img { transform: scale(1.04); }
.zn-trio__m { font-size: .84rem; color: var(--fg-3); }
.zn-trio__t { font-family: var(--f-display); font-size: 1.55rem; font-weight: 300; color: var(--fg); }

/* Ritüel listesi (sayfa) */
.zn-rcat { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 20px; margin-bottom: clamp(50px, 7vw, 90px); }
.zn-rcat.is-out { display: none; }
.zn-rcat__h { margin: 0; padding-top: 30px; }
.zn-rcat__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.zn-rrow { display: grid; grid-template-columns: 220px minmax(0, 1fr) minmax(220px, auto); gap: clamp(20px, 3vw, 44px); align-items: start; padding: 30px 0; border-bottom: 1px solid var(--line); }
.zn-rrow.is-out { display: none; }
.zn-rrow__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-2); }
.zn-rrow__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.zn-rrow:hover .zn-rrow__img img { transform: scale(1.05); }
.zn-rrow__t { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 2.1rem); }
.zn-rrow__t a { text-decoration: none; }
.zn-rrow__t a:hover { color: var(--accent); }
.zn-rrow__txt p { margin: 0 0 8px; color: var(--fg-2); }
.zn-rrow__s { font-size: .88rem; color: var(--fg-3) !important; }
.zn-rrow__buy { display: grid; justify-items: end; gap: 12px; }
.zn-opts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; min-width: 200px; }
.zn-opts li { display: flex; justify-content: space-between; gap: 22px; }
.zn-opts span { color: var(--fg-3); }
.zn-opts b { font-weight: 500; color: var(--fg); font-variant-numeric: tabular-nums; }

/* Program cetveli ve blokları */
.zn-ruler-sec { padding-top: 0; padding-bottom: clamp(40px, 6vw, 80px); }
.zn-ruler { position: relative; margin-top: 30px; padding-top: 34px; }
.zn-ruler__scale { position: absolute; top: 0; left: 0; right: 0; height: 24px; display: flex; justify-content: space-between; }
.zn-ruler__tick { position: relative; width: 0; font-size: .74rem; color: var(--fg-3); }
.zn-ruler__tick { text-indent: -.7em; }
.zn-ruler__tick.is-major::after { content: ""; position: absolute; left: 0; top: 18px; width: 1px; height: calc(var(--rows, 4) * 58px + 20px); background: var(--line); }
.zn-ruler__band { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 48px; margin-bottom: 10px; padding: 0 16px; border-radius: 999px; background: var(--bg-2); color: var(--fg); text-decoration: none; width: 0; transition: width 1.4s var(--ease), background-color .3s; white-space: nowrap; overflow: hidden; min-width: max-content; }
.zn-ruler__band:hover { background: var(--bg-3); }
.zn-ruler__band span { font-family: var(--f-display); font-size: 1.05rem; overflow: hidden; text-overflow: ellipsis; }
.zn-ruler__band small { color: var(--fg-3); font-size: .78rem; }
.zn-ruler__band::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--sun); }
.zn-pblock { padding-block: clamp(50px, 7vw, 100px); }
.zn-pblock__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(30px, 6vw, 110px); align-items: center; }
.zn-pblock--alt .zn-pblock__img { order: 2; }
.zn-pblock__img { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bg-2); }
.zn-pblock__img img { width: 100%; height: 100%; object-fit: cover; }
.zn-mini { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 6px; }
.zn-mini li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; color: var(--fg-2); }
.zn-mini time { color: var(--accent); font-variant-numeric: tabular-nums; }
.zn-pblock__end { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; margin-top: 32px; }
.zn-qday--page .zn-flow__list { padding-top: 2vh; }

/* Ders programı */
.zn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.zn-chip { display: inline-flex; gap: 6px; align-items: center; padding: 9px 18px; border: 0; border-radius: 999px; background: var(--bg-2); color: var(--fg-2); text-decoration: none; font-size: .9rem; cursor: pointer; transition: background-color .3s, color .3s; }
.zn-chip:hover { background: var(--bg-3); color: var(--fg); }
.zn-chip.is-on, .zn-chip[aria-current="page"] { background: var(--fg); color: var(--bg); }
.zn-chip span { opacity: .6; }
.zn-pager { justify-content: center; margin: 48px 0 0; }
.zn-tt__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.zn-tt__bar .zn-chips { margin: 0; }
.zn-tt__legend { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-size: .86rem; color: var(--fg-3); }
.zn-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.zn-tt__grid { display: grid; grid-template-columns: repeat(7, minmax(132px, 1fr)); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
.zn-tt__day { display: grid; align-content: start; gap: 10px; padding: 18px 14px 22px; border-radius: 6px; scroll-snap-align: start; }
.zn-tt__day.is-today { background: var(--bg-2); }
.zn-tt__day.is-closed { opacity: .6; }
.zn-tt__dh { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 8px; margin: 0 0 8px; font-size: 1.3rem; font-weight: 400; }
.zn-tt__dh span { font-family: var(--f-body); font-size: .8rem; color: var(--fg-3); }
.zn-tt__off { margin: 0; color: var(--fg-3); font-style: italic; font-size: .9rem; }
.zn-tt__c { position: relative; display: grid; gap: 4px; padding: 14px; border-radius: 4px; background: var(--bg); transition: opacity .4s; }
.zn-tt__day:not(.is-today) .zn-tt__c { background: var(--bg-2); }
.zn-tt__c.is-out { display: none; }
.zn-tt__c h3 { margin: 0; font-size: 1.12rem; font-weight: 400; }
.zn-tt__time { margin: 0; font-size: .86rem; color: var(--accent); }
.zn-tt__time time { font-family: var(--f-display); font-size: 1.1rem; }
.zn-tt__m, .zn-tt__s { margin: 0; font-size: .84rem; color: var(--fg-3); }
.zn-tt__s { color: var(--fg-2); }
.zn-tt__f { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; margin: 4px 0 0; font-size: .82rem; color: var(--fg-3); }
.zn-tt__f a { color: var(--fg); }
.zn-tt__c .zn-link { font-size: .86rem; justify-self: start; }
.zn-tt__c .zn-week__now { top: 14px; right: 12px; }
.zn-tt__c.is-now .zn-week__now { display: inline-block; }
.zn-tt__day.is-past .zn-tt__c { opacity: .55; }
.zn-tt__notes { margin-top: 40px; display: grid; gap: 6px; color: var(--fg-3); font-size: .92rem; }
.zn-tt__notes p { margin: 0; }

/* Terapist profili */
.zn-profile { padding-block: clamp(40px, 6vw, 80px) clamp(84px, 11vw, 150px); }
.zn-profile__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(30px, 6vw, 110px); align-items: start; }
.zn-profile__img { position: sticky; top: calc(var(--head-h) + 24px); margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bg-2); }
.zn-profile__img img { width: 100%; height: 100%; object-fit: cover; }
.zn-profile__q { margin: 0 0 30px; }
.zn-profile__q p { margin: 0; font-family: var(--f-display); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.8rem); font-weight: 300; color: var(--fg); }
.zn-facts { display: flex; flex-wrap: wrap; gap: 14px 50px; margin: 0 0 30px; }
.zn-facts dt { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3); }
.zn-facts dd { margin: 4px 0 0; color: var(--fg); font-size: 1.05rem; }

/* Galeri */
.zn-gal { columns: 3; column-gap: 18px; }
.zn-gal__i { break-inside: avoid; margin: 0 0 18px; }
.zn-gal__i.is-out { display: none; }
.zn-gal__i button { display: block; width: 100%; padding: 0; border: 0; background: var(--bg-2); cursor: zoom-in; overflow: hidden; }
.zn-gal__i img { display: block; width: 100%; height: auto; transition: transform 1.4s var(--ease); }
.zn-gal__i button:hover img { transform: scale(1.03); }
.zn-gal__i figcaption { padding: 10px 0 0; font-size: .86rem; color: var(--fg-3); }

/* SSS sayfası */
.zn-faqp { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(30px, 6vw, 100px); align-items: start; }
.zn-faqp__side { position: sticky; top: calc(var(--head-h) + 24px); display: grid; gap: 24px; }
.zn-search { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-radius: 999px; background: var(--bg-2); }
.zn-search input { flex: 1; min-height: 50px; border: 0; background: none; color: var(--fg); font: inherit; outline: none; }
.zn-search .zn-ico { color: var(--fg-3); }
.zn-faqp__nav { display: grid; gap: 2px; }
.zn-faqp__nav a { display: flex; justify-content: space-between; padding: 9px 0; text-decoration: none; color: var(--fg-2); }
.zn-faqp__nav a:hover { color: var(--fg); }
.zn-faqp__nav span { color: var(--fg-3); font-size: .86rem; }
.zn-faqp__grp { margin-bottom: 60px; }
.zn-faqp__grp.is-out, .zn-acc__i.is-out { display: none; }

/* Hakkımızda */
.zn-story { display: grid; grid-template-columns: auto minmax(0, 5fr) minmax(0, 6fr); gap: clamp(20px, 5vw, 80px); align-items: start; }
.zn-story__p p { font-size: 1.08rem; color: var(--fg-2); }
.zn-princ { list-style: none; margin: 50px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 4vw, 60px); }
.zn-princ__n { display: block; font-family: var(--f-display); font-size: 2.6rem; font-weight: 300; color: var(--accent); margin-bottom: 18px; }
.zn-princ h3 { font-size: 1.5rem; font-weight: 300; margin-bottom: 10px; }
.zn-princ p { color: var(--fg-2); font-size: .97rem; margin: 0; }
.zn-endcta__in { display: grid; justify-items: center; text-align: center; gap: 20px; }

/* İletişim */
.zn-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(30px, 6vw, 110px); align-items: start; }
.zn-cl { display: grid; gap: 26px; margin: 0 0 30px; }
.zn-cl > div > dt { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 6px; }
.zn-cl > div > dd { margin: 0; color: var(--fg); font-size: 1.08rem; }
.zn-cl a { color: var(--fg); }
.zn-cl .zn-hours { margin: 8px 0 0; font-size: .97rem; }
.zn-cl .zn-hours div { padding-inline: 0; }
.zn-co { margin-top: 30px; }
.zn-co dl { display: grid; gap: 6px; margin: 0 0 12px; font-size: .92rem; }
.zn-co dl div { display: grid; grid-template-columns: minmax(0, 12em) minmax(0, 1fr); gap: 12px; }
.zn-co dt { color: var(--fg-3); }
.zn-co dd { margin: 0; overflow-wrap: anywhere; }
.zn-contact__form { padding: clamp(26px, 4vw, 50px); border-radius: 8px; background: var(--bg-2); }

/* Formlar */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .full, .form-grid .f.full { grid-column: 1 / -1; }
.f { min-width: 0; }
.f label, .f legend { display: block; font-size: .86rem; font-weight: 500; color: var(--fg); margin-bottom: 8px; letter-spacing: .02em; }
.f input, .f select, .f textarea { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--line-2); border-radius: 6px; background: var(--bg-elev); color: var(--fg); font: inherit; font-size: 1rem; transition: border-color .3s, box-shadow .3s; }
.f input:focus, .f select:focus, .f textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.f textarea { min-height: 130px; resize: vertical; }
.f .err, .zn-step .err { display: block; color: var(--err); font-size: .84rem; margin-top: 6px; }
.alert { padding: 16px 18px; border-radius: 6px; margin-bottom: 22px; }
.alert--ok { background: var(--ok-bg); color: var(--ok); }
.alert--err { background: var(--err-bg); color: var(--err); }
.tsp-form-note { font-size: .82rem; color: var(--fg-3); margin-top: 14px; }
.tsp-form-note a { color: var(--fg-2); }
fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }

/* Rezervasyon */
.zn-book__in { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
.zn-book__aside { position: sticky; top: calc(var(--head-h) + 24px); display: grid; gap: 18px; }
.zn-book__aside .zn-link { display: flex; margin-top: 4px; }
.zn-step { margin-bottom: 50px; }
.zn-step > legend { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; font-family: var(--f-display); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 300; color: var(--fg); }
.zn-step > legend span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--fg); color: var(--bg); font-family: var(--f-body); font-size: .95rem; font-weight: 500; }
.zn-kinds { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.zn-kinds label, .zn-seg2 label { position: relative; cursor: pointer; }
.zn-kinds input, .zn-seg2 input, .zn-sess input, .zn-ropt__d input { position: absolute; opacity: 0; pointer-events: none; }
.zn-kinds span, .zn-seg2 span { display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; border-radius: 999px; background: var(--bg-2); color: var(--fg-2); transition: background-color .3s, color .3s; }
.zn-kinds input:checked + span, .zn-seg2 input:checked + span { background: var(--fg); color: var(--bg); }
.zn-kinds input:focus-visible + span, .zn-seg2 input:focus-visible + span, .zn-sess input:focus-visible + span, .zn-ropt__d input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.zn-seg2 { display: flex; flex-wrap: wrap; gap: 8px; }
.zn-seg2 legend { width: 100%; }
.js .zn-kp { display: none; }
.js .zn-kp.is-on { display: block; animation: znIn .5s var(--ease); }
.zn-ropt { padding: 16px 18px; border-radius: 6px; transition: background-color .3s; }
.zn-ropt:has(.zn-ropt__r input:checked) { background: var(--bg-2); }
.zn-ropt__r { display: flex; gap: 14px; align-items: flex-start; cursor: pointer; }
.zn-ropt__r input, .zn-popt input { margin-top: 6px; accent-color: var(--accent); width: 18px; height: 18px; flex: none; }
.zn-ropt__r span, .zn-popt span { display: grid; gap: 2px; }
.zn-ropt__r b, .zn-popt b { font-family: var(--f-display); font-weight: 400; font-size: 1.25rem; color: var(--fg); }
.zn-ropt__r small, .zn-popt small { color: var(--fg-3); font-size: .88rem; }
.zn-ropt__d { display: none; flex-wrap: wrap; gap: 8px; margin: 14px 0 0 32px; }
.zn-ropt:has(.zn-ropt__r input:checked) .zn-ropt__d { display: flex; }
.zn-ropt__d label { cursor: pointer; }
.zn-ropt__d span { display: inline-flex; padding: 9px 16px; border-radius: 999px; background: var(--bg); color: var(--fg-2); font-size: .9rem; transition: background-color .3s, color .3s; }
.zn-ropt__d input:checked + span { background: var(--fg); color: var(--bg); }
.zn-popt { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 6px; cursor: pointer; transition: background-color .3s; }
.zn-popt:has(input:checked) { background: var(--bg-2); }
.zn-sess { display: grid; gap: 6px; max-height: 460px; overflow-y: auto; padding-right: 6px; }
.zn-sess__d { margin: 14px 0 4px; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-3); }
.zn-sess__d:first-child { margin-top: 0; }
.zn-sess label { cursor: pointer; }
.zn-sess span { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 12px; padding: 12px 14px; border-radius: 6px; background: var(--bg-2); transition: background-color .3s, color .3s; }
.zn-sess time { grid-row: span 2; font-family: var(--f-display); font-size: 1.2rem; color: var(--accent); }
.zn-sess b { font-weight: 500; color: var(--fg); }
.zn-sess small { color: var(--fg-3); font-size: .84rem; }
.zn-sess input:checked + span { background: var(--fg); }
.zn-sess input:checked + span b, .zn-sess input:checked + span time { color: var(--bg); }
.zn-sess input:checked + span small { color: color-mix(in srgb, var(--bg) 75%, transparent); }
.zn-check { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: .98rem !important; }
.zn-check input { width: 18px; height: 18px; accent-color: var(--accent); }
.zn-check span { display: inline-flex; align-items: center; gap: 8px; }
.zn-gift { grid-column: 1 / -1; }
.zn-gift__to { margin-top: 12px; max-width: 420px; }
.zn-gift__to[hidden] { display: none; }
.zn-when-off [data-time-f], .zn-when-off [data-th-f] { display: none; }
.zn-okbox { padding: clamp(30px, 5vw, 60px); border-radius: 8px; background: var(--bg-2); }
.zn-okbox__ic { display: inline-block; color: var(--accent); margin-bottom: 14px; }
.zn-okbox__ic .zn-mark { width: 54px; height: 54px; }

/* Blog */
.zn-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px clamp(20px, 3vw, 44px); }
.zn-post { display: grid; align-content: start; gap: 10px; text-decoration: none; color: inherit; }
.zn-post.is-lead { grid-column: 1 / -1; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto auto 1fr; gap: 12px clamp(30px, 5vw, 70px); }
.zn-post.is-lead .zn-post__img { grid-row: 1 / span 4; margin: 0; }
.zn-post.is-lead .zn-post__meta { align-self: end; }
.zn-post__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bg-2); margin-bottom: 8px; }
.zn-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.zn-post:hover .zn-post__img img { transform: scale(1.03); }
.zn-post__meta, .post__meta { display: block; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); margin: 0; }
.zn-post__meta a { color: inherit; }
.zn-post__t { font-family: var(--f-display); font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 300; line-height: 1.2; color: var(--fg); }
.zn-post.is-lead .zn-post__t { font-size: clamp(1.8rem, 3.4vw, 2.8rem); }
.zn-post__e { color: var(--fg-2); font-size: .97rem; }
.zn-ahead { padding-block: clamp(40px, 6vw, 70px) clamp(30px, 4vw, 50px); }
.zn-ahead .zn-h1 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
.zn-ahead .zn-post__meta { margin-bottom: 18px; }
.zn-acover { margin: 0; aspect-ratio: 21 / 9; overflow: hidden; background: var(--bg-2); border-radius: 2px; }
.zn-acover img { width: 100%; height: 100%; object-fit: cover; }
.post-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(30px, 6vw, 100px); padding-block: clamp(50px, 6vw, 80px) clamp(80px, 10vw, 140px); }
.prose, .zn-prose { font-size: 1.08rem; line-height: 1.8; color: var(--fg-2); }
.zn-prose h2, .prose h2 { margin: 1.7em 0 .55em; font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 300; }
.zn-prose h3, .prose h3 { margin: 1.4em 0 .4em; }
.zn-prose a, .prose a { color: var(--accent); text-underline-offset: 3px; }
.zn-prose strong, .prose strong { color: var(--fg); font-weight: 500; }
.zn-prose ul, .zn-prose ol { padding-left: 1.3em; }
.zn-prose li { margin-bottom: .45em; }
.zn-prose li::marker { color: var(--accent); }
.zn-prose > p:first-child { font-size: 1.16rem; color: var(--fg); }
.post-side { display: grid; gap: 18px; align-content: start; position: sticky; top: calc(var(--head-h) + 24px); }
.side-box { padding: 22px 24px; border-radius: 6px; background: var(--bg-2); }
.side-box__h { font-size: .74rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3); margin: 0 0 12px; }
.side-list ul, .side-toc ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.side-list a, .side-toc a { text-decoration: none; display: flex; justify-content: space-between; gap: 10px; font-size: .95rem; color: var(--fg-2); }
.side-list a:hover, .side-toc a:hover { color: var(--fg); }
.side-recent a { display: grid; }
.side-list time { display: block; font-size: .78rem; color: var(--fg-3); }
.side-author { display: flex; gap: 14px; align-items: center; }
.side-author p { margin: 0; }
.side-author__name { color: var(--fg); font-weight: 500; }
.side-author__role, .side-author__meta { font-size: .84rem; color: var(--fg-3); }
.side-cta p { color: var(--fg-2); font-size: .95rem; }
.author-card { display: flex; gap: 18px; margin-top: 50px; padding: 26px; border-radius: 6px; background: var(--bg-2); }
.author-card__avatar { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--bg); color: var(--accent); flex: none; }
.author-card__avatar .zn-mark { width: 30px; height: 30px; }
.author-card__avatar--sm { width: 42px; height: 42px; }
.author-card__avatar--sm .zn-mark { width: 24px; height: 24px; }
.author-card__kicker { font-size: .72rem; text-transform: uppercase; letter-spacing: .2em; color: var(--fg-3); }
.author-card__name { font-family: var(--f-display); font-size: 1.3rem; color: var(--fg); margin: 2px 0; }
.author-card p { margin: 0 0 4px; }
.author-card__role { font-size: .88rem; color: var(--fg-3); }

/* 404 */
.zn-404__in { display: grid; justify-items: center; text-align: center; }
.zn-404__n { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-family: var(--f-display); font-size: clamp(5rem, 14vw, 10rem); font-weight: 300; line-height: 1; color: var(--fg); }
.zn-404__n span { display: inline-grid; color: var(--accent); }
.zn-404__n .zn-mark { width: .8em; height: .8em; }
.zn-404__acts { justify-content: center; }
.zn-404__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 40px; }
.zn-404__list a { padding: 9px 18px; border-radius: 999px; background: var(--bg-2); text-decoration: none; color: var(--fg-2); font-size: .92rem; }
.zn-404__list a:hover { color: var(--fg); background: var(--bg-3); }

/* Yasal sayfalar, arama, e-bülten (çekirdek şablonları) */
.page-crumbs { padding-top: 30px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: .84rem; color: var(--fg-3); margin-bottom: 20px; }
.crumbs a { color: var(--fg-3); text-decoration: none; }
.page-head { padding-block: clamp(40px, 6vw, 70px) clamp(24px, 4vw, 40px); }
.page-head h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.section { padding-block: clamp(50px, 7vw, 100px); }
.eyebrow { display: inline-block; font-size: .78rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--fg-3); margin-bottom: .8em; }
.lead { font-size: 1.12rem; color: var(--fg-2); max-width: 40em; }
.empty { color: var(--fg-3); padding: 24px 0; }
.search-form { display: flex; gap: 10px; max-width: 640px; margin-top: 20px; }
.search-form input { flex: 1; min-height: 52px; padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--bg-elev); color: var(--fg); font: inherit; }
.search-results { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.search-results a { display: grid; gap: 4px; padding: 18px 20px; border-radius: 6px; background: var(--bg-2); text-decoration: none; }
.search-results small { color: var(--fg-3); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.search-results b { color: var(--fg); font-weight: 500; }
.is-legal .lp-wrap { color: var(--fg-2); }
.is-legal .lp-wrap h1 { font-family: var(--f-display); font-weight: 300; }

/* Bildirim */
.toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%, 20px); z-index: 80; padding: 12px 20px; border-radius: 999px; background: var(--fg); color: var(--bg); opacity: 0; pointer-events: none; transition: .3s; }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ── Duyarlı ── */
@media (max-width: 1180px) {
    .zn-nav > a, .zn-nav__dd > button { padding: 10px 10px; font-size: .9rem; }
    .zn-light__t { display: none; }
    .zn-light__btn { padding: 0 10px; }
    .zn-foot__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1000px) {
    :root { --head-h: 72px; }
    .zn-nav, .zn-head__tools > .zn-lang, .zn-head__tools > .zn-light { display: none; }
    .zn-burger { display: inline-block; }
    .zn-head__tools { margin-left: auto; }
    .zn-foot__bar { grid-template-columns: 1fr; text-align: center; }
    .zn-foot__bar .f-copy { text-align: center; }
    .zn-foot__legal { justify-content: center; }
    .zn-breath__in, .zn-menu__body, .zn-flow, .zn-faqh__in, .zn-visit__in, .zn-phead__in, .zn-detail, .zn-profile__in, .zn-contact, .zn-book__in, .zn-faqp, .zn-teamband__in, .zn-matband, .zn-pblock__in, .post-layout { grid-template-columns: minmax(0, 1fr); }
    .zn-menu__fig { display: none; }
    .zn-menu__thumb { display: block; margin-top: 12px; aspect-ratio: 16 / 9; overflow: hidden; max-width: 520px; }
    .zn-menu__thumb img { width: 100%; height: 100%; object-fit: cover; }
    .zn-menu__i > a { grid-template-columns: 34px minmax(0, 1fr); }
    .zn-menu__meta { grid-column: 2; justify-items: start; text-align: left; grid-auto-flow: column; justify-content: start; gap: 14px; }
    .zn-flow__sky { position: sticky; top: var(--head-h); z-index: 2; background: var(--bg); padding: 10px 0 6px; transition: background-color 1.2s; }
    .zn-sec--soft .zn-flow__sky { background: var(--bg-2); }
    .zn-flow__sticky { position: static; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0 18px; align-items: center; }
    .zn-flow__arc { grid-row: span 2; }
    .zn-flow__time { margin: 0; font-size: 2.4rem; }
    .zn-flow__step { margin: 0; font-size: .92rem; }
    .zn-flow__list { padding-block: 20px 4vh; }
    .zn-flow__i { grid-template-columns: 70px minmax(0, 1fr); }
    .zn-house__mats, .zn-princ { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zn-team__row, .zn-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zn-qday__head, .zn-team__head, .zn-week__head { grid-template-columns: minmax(0, 1fr); }
    .zn-week__head .zn-vlabel { display: none; }
    .zn-jr__grid { grid-template-columns: minmax(0, 1fr); }
    .zn-jr__p.is-lead { grid-row: auto; }
    .zn-detail__side, .zn-book__aside, .zn-faqp__side, .zn-profile__img, .post-side { position: static; }
    .zn-phead__img { aspect-ratio: 4 / 3; max-height: none; }
    .zn-profile__img { aspect-ratio: 4 / 4.4; }
    .zn-rrow { grid-template-columns: 150px minmax(0, 1fr); }
    .zn-rrow__buy { grid-column: 2; justify-items: start; }
    .zn-pblock--alt .zn-pblock__img { order: 0; }
    .zn-pblock__img { aspect-ratio: 4 / 3; }
    .zn-story { grid-template-columns: minmax(0, 1fr); }
    .zn-story .zn-vlabel { display: none; }
    .zn-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zn-post.is-lead { grid-template-columns: minmax(0, 1fr); }
    .zn-post.is-lead .zn-post__img { grid-row: auto; }
    .zn-trio { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .zn-trio__i:nth-child(3) { display: none; }
    .zn-gal { columns: 2; }
}
@media (max-width: 700px) {
    body { font-size: 16px; }
    .zn-dock { position: fixed; z-index: 45; left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 6px; border-radius: 999px; background: color-mix(in srgb, var(--ink) 94%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform .5s var(--ease); }
    .zn-dock.is-away { transform: translateY(140%); }
    .zn-dock a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 999px; color: var(--ink-fg); text-decoration: none; font-size: .88rem; }
    .zn-dock a.is-main { background: var(--ink-fg); color: var(--ink); }
    .zn-dock .zn-ico { width: 18px; height: 18px; }
    .zn-foot { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
    .zn-page--book .zn-foot { padding-bottom: 0; }
    .zn-head__cta { display: none; }
    .zn-hero { min-height: 560px; }
    .zn-slide__text { padding-bottom: 170px; }
    .zn-slide__media::after { background: linear-gradient(0deg, rgba(14,16,13,.78) 0%, rgba(14,16,13,.35) 55%, rgba(14,16,13,.15) 100%); }
    .zn-hero__ctl { bottom: 92px; }
    .zn-hero__nt { display: none; }
    .zn-hero__hint { display: none; }
    .zn-shoji__p--l { box-shadow: inset -6px 0 0 #b49a74; } .zn-shoji__p--r { box-shadow: inset 6px 0 0 #b49a74; }
    .zn-menu__head { grid-template-columns: minmax(0, 1fr); }
    .zn-menu__head .zn-vlabel { display: none; }
    .zn-moods { gap: 4px 16px; }
    .zn-house__mats, .zn-princ, .zn-team__grid { grid-template-columns: minmax(0, 1fr); }
    .zn-house__stick { height: 82vh; }
    .zn-team__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
    .zn-noren__n { font-size: 1.15rem; }
    .form-grid { grid-template-columns: minmax(0, 1fr); }
    .zn-rrow { grid-template-columns: minmax(0, 1fr); padding: 26px 0; }
    .zn-rrow__buy { grid-column: auto; }
    .zn-rrow__img { aspect-ratio: 16 / 9; }
    .zn-rcat { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .zn-rcat__h { padding: 0; }
    .zn-rcat__h .zn-vlabel { writing-mode: horizontal-tb; font-size: .78rem; }
    .zn-posts { grid-template-columns: minmax(0, 1fr); }
    .zn-trio { grid-template-columns: minmax(0, 1fr); }
    .zn-trio__i:nth-child(3) { display: grid; }
    .zn-gal { columns: 1; }
    .zn-week__days, .zn-tt__grid { grid-template-columns: repeat(7, minmax(78%, 1fr)); }
    .zn-foot__top { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .zn-foot__cta { padding-top: 70px; }
    .zn-lb { grid-template-columns: 44px minmax(0, 1fr) 44px; }
    .zn-ropt__d { margin-left: 0; }
    .zn-co dl div { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .zn-acover { aspect-ratio: 4 / 3; }
    .zn-ruler__band span { font-size: .92rem; }
    .zn-ruler__band small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
    .js .zn-rv { opacity: 1; transform: none; }
    .zn-slide__media img { transform: none !important; }
    .zn-house__win { clip-path: none !important; }
    .zn-house__over { opacity: 1 !important; transform: none !important; }
}
.f label.zn-check { display: inline-flex; margin: 0; }

/* ================================================================
   KONSEPT KATMANI — "su halkası": taşa düşen damlanın eş merkezli halkaları.
   Logo, madde imleri, adımlar (rakam yok), düğme hover'ı, portre ve başlık görseli çerçeveleri, SSS, 404 ve footer bu halkadan doğar.
   Cesur renk alanı: koyu çivit (--blk) tam genişlik bloklar. Yazı: Excon (başlık) + Bespoke Sans.
   ================================================================ */
body { font-size: 17.5px; }
h1, h2, h3, .h1, .h3 { font-weight: 400; letter-spacing: -.025em; line-height: 1.04; }
.zn-h1 { font-size: clamp(2.8rem, 6.4vw, 5.6rem); }
.zn-h2 { font-size: clamp(2.1rem, 4.4vw, 3.7rem); }
.zn-h2--xl { font-size: clamp(2.8rem, 7.4vw, 6.6rem); }
.zn-h3 { font-weight: 400; }

/* Halka işareti: rakam yerine kaç halka olduğu sırayı söyler */
.zn-rg { position: relative; display: inline-block; flex: none; width: 1.15em; height: 1.15em; vertical-align: -.2em; color: var(--accent); }
.zn-rg i { position: absolute; inset: 0; margin: auto; border: 1.5px solid currentColor; border-radius: 50%; width: 22%; height: 22%; background: currentColor; transition: transform .7s var(--ease), opacity .7s; }
.zn-rg i:nth-child(n+2) { background: none; opacity: 0; }
.zn-rg i:nth-child(2) { width: 46%; height: 46%; } .zn-rg i:nth-child(3) { width: 66%; height: 66%; }
.zn-rg i:nth-child(4) { width: 84%; height: 84%; } .zn-rg i:nth-child(5) { width: 100%; height: 100%; }
.zn-rg--2 i:nth-child(-n+2), .zn-rg--3 i:nth-child(-n+3), .zn-rg--4 i:nth-child(-n+4), .zn-rg--5 i { opacity: .9; }
.zn-rg--1 i:nth-child(2), .zn-rg--1 i:nth-child(3) { opacity: 0; transform: scale(.6); }
a:hover .zn-rg--1 i:nth-child(2), button:hover .zn-rg--1 i:nth-child(2), [aria-selected="true"] .zn-rg--1 i:nth-child(2) { opacity: .8; transform: none; }
a:hover .zn-rg--1 i:nth-child(3), button:hover .zn-rg--1 i:nth-child(3), [aria-selected="true"] .zn-rg--1 i:nth-child(3) { opacity: .45; transform: none; transition-delay: .12s; }

/* Düğme: köşeli çivit blok; üstüne gelince damla halkası yayılır */
.zn-btn, .btn { position: relative; border-radius: var(--radius); letter-spacing: .02em; font-weight: 500; }
.zn-btn::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 1px solid var(--btn-bg); opacity: 0; pointer-events: none; }
.zn-btn:hover::after { animation: znDrop 1.1s var(--ease); }
@keyframes znDrop { 0% { opacity: .7; transform: scale(1); } 100% { opacity: 0; transform: scale(14, 5); } }
.zn-btn--light::after { border-color: #edf3f6; }
.zn-seg, .zn-seg button, .zn-chip, .zn-kinds span, .zn-seg2 span, .zn-ropt__d span, .zn-light__btn, .zn-pick__o, .zn-404__list a, .zn-search, .search-form input, .nl-input, .nl-btn { border-radius: var(--radius) !important; }
.zn-chip.is-on, .zn-chip[aria-current="page"] { background: var(--btn-bg); color: var(--btn-fg); }

/* Açılış: slayt noktaları damla */
.zn-hero__dots { display: flex; gap: 12px; margin: 0; }
.zn-hero__dots i { width: 9px; height: 9px; border-radius: 50%; border: 1px solid #f5f1e8; transition: background-color .6s, box-shadow .8s var(--ease); }
.zn-hero__dots i.is-on { background: #f5f1e8; box-shadow: 0 0 0 5px rgba(245,241,232,.25), 0 0 0 11px rgba(245,241,232,.1); }
.zn-slide__t { font-weight: 300; letter-spacing: -.035em; }

/* Çivit bloklar (tam genişlik, ritmi kırar) */
.zn-breath, .zn-voices { background: var(--blk); color: var(--blk-fg2); --fg: var(--blk-fg); --fg-2: var(--blk-fg2); --fg-3: var(--blk-fg2); --line: var(--blk-line); --bg-2: var(--blk-2); --bg-3: #2a4468; --accent: #8fc0e4; --btn-bg: #edf3f6; --btn-fg: #13263d; --btn-bg-h: #fff; transition: background-color 1.2s; }
.zn-breath .zn-seg button[aria-checked="true"] { background: #edf3f6; color: #13263d; }
.zn-orb__disc { background: radial-gradient(circle, transparent 0 30%, rgba(143,192,228,.12) 31% 32%, transparent 33% 52%, rgba(143,192,228,.16) 53% 54%, transparent 55% 74%, rgba(143,192,228,.22) 75% 76%, transparent 77%), var(--blk-2); box-shadow: none; }
.zn-voices { position: relative; overflow: hidden; }
.zn-voices::before { content: ""; position: absolute; left: 50%; top: 50%; width: 1500px; height: 1500px; margin: -750px 0 0 -750px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 58px, rgba(237,243,246,.05) 59px 60px); pointer-events: none; }
.zn-voices__in { position: relative; }
.zn-voices__rg { font-size: 2.4rem; color: #8fc0e4; }
.zn-voice blockquote p { font-family: var(--f-display); font-style: normal; font-weight: 300; letter-spacing: -.02em; }
.zn-stone { background: var(--blk-fg2); }
.zn-stone.is-on { background: #edf3f6; }

/* Menü: rakam yerine damla */
.zn-menu__no { font-size: 1.3rem; }
.zn-menu__t { font-family: var(--f-display); font-weight: 400; }
.zn-mood { font-family: var(--f-display); font-style: normal; font-weight: 300; }
.zn-mood.is-on { text-decoration: none; color: var(--fg); box-shadow: inset 0 -.35em 0 color-mix(in srgb, var(--accent) 22%, transparent); }
.zn-menu__head { grid-template-columns: minmax(0, 1fr); }

/* Sessiz gün */
.zn-qday { background: var(--bg-2); }
.zn-qday--page { background: none; }
.zn-qday__head { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.zn-qday__head .zn-lead { max-width: 40em; }
.zn-tabs button::before { transition: box-shadow .6s var(--ease), background-color .4s; }
.zn-tabs button[aria-selected="true"]::before { box-shadow: 0 0 0 4px color-mix(in srgb, var(--sun) 30%, transparent), 0 0 0 9px color-mix(in srgb, var(--sun) 12%, transparent); }
.zn-flow__i time, .zn-flow__time, .zn-week__c time, .zn-tt__time time, .zn-sess time, .zn-mini time, .zn-week__dn b, .zn-tt__dh { font-family: var(--f-display); }
.zn-qday .zn-flow__sky { background: none; }

/* Bu hafta */
.zn-week__head { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 760px; }
.zn-week__foot { margin-top: 34px; }
.zn-week__d.is-today, .zn-tt__day.is-today { background: var(--blk); --fg: var(--blk-fg); --fg-2: var(--blk-fg2); --fg-3: var(--blk-fg2); --accent: #8fc0e4; --bg: var(--blk-2); color: var(--blk-fg2); }
.zn-week__d.is-today .zn-week__c:hover { background: var(--blk-2); }
.zn-tt__day.is-today .zn-tt__c { background: var(--blk-2); }
.zn-week__now { border-radius: var(--radius); color: #13263d; background: #8fc0e4; }

/* Ev: malzemeler halkayla */
.zn-mat__rg { font-size: 1.9rem; margin-bottom: 14px; display: block; }
.zn-mat__n { font-family: var(--f-body); font-style: normal; font-size: .9rem; letter-spacing: .02em; color: var(--fg-3); margin-bottom: 6px; }
.zn-mat h3 { font-weight: 400; }

/* Halkalı portreler */
.zn-team__head { grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: 720px; }
.zn-face { display: grid; justify-items: center; gap: 4px; text-align: center; text-decoration: none; color: inherit; }
.zn-face__img { position: relative; display: block; width: 100%; aspect-ratio: 1; margin-bottom: 22px; }
.zn-face__img img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; border-radius: 50%; filter: saturate(.8); transition: transform 1.2s var(--ease), filter .8s; }
.zn-face__img::before, .zn-face__img::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--line-2); transition: transform 1.2s var(--ease), opacity 1.2s; }
.zn-face__img::before { transform: scale(1.06); opacity: .8; }
.zn-face__img::after { transform: scale(1.13); opacity: .4; }
.zn-face:hover .zn-face__img::before { transform: scale(1.12); opacity: .6; }
.zn-face:hover .zn-face__img::after { transform: scale(1.24); opacity: .2; }
.zn-face:hover .zn-face__img img { filter: saturate(1); transform: scale(.98); }
.zn-face__n { font-family: var(--f-display); font-size: 1.35rem; color: var(--fg); }
.zn-face__r { font-size: .9rem; color: var(--fg-3); }
.zn-team__row { gap: clamp(30px, 4vw, 64px); }
.zn-team__grid .zn-face { justify-items: start; text-align: left; }
.zn-team__grid .zn-face__img { max-width: 340px; }

/* Sayfa başlığı: görsel daire pencere, çevresinde yayılan halkalar */
.zn-phead__sub { margin: -6px 0 18px; font-size: 1.05rem; color: var(--fg-3); }
.zn-phead__img { position: relative; aspect-ratio: 1; max-height: none; border-radius: 50%; overflow: visible; background: none; justify-self: center; width: min(100%, 540px); }
.zn-phead__img img { position: relative; z-index: 1; border-radius: 50%; }
.zn-phead__img::before, .zn-phead__img::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--line-2); animation: znRing 6s var(--ease) infinite; }
.zn-phead__img::after { animation-delay: 3s; }
@keyframes znRing { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.3); opacity: 0; } }
.zn-phead { overflow: clip; }

/* SSS (anasayfa): soru listesi + çivit yanıt paneli */
.zn-ask .zn-h2 { margin-bottom: 40px; }
.zn-ask__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: stretch; }
.zn-ask__q { list-style: none; margin: 0; padding: 10px 0; display: grid; align-content: start; gap: 2px; }
.zn-ask__q button { display: flex; align-items: center; gap: 16px; width: 100%; padding: 15px 22px 15px 0; border: 0; background: none; color: var(--fg-2); text-align: left; cursor: pointer; font-size: 1.08rem; transition: color .3s, padding .5s var(--ease); }
.zn-ask__q button .zn-rg { font-size: 1.2rem; }
.zn-ask__q button[aria-selected="true"] { color: var(--fg); padding-left: 10px; font-weight: 500; }
.zn-ask__q button:hover { color: var(--fg); }
.zn-ask__a { position: relative; overflow: hidden; padding: clamp(30px, 4vw, 56px); background: var(--blk); color: var(--blk-fg2); min-height: 380px; display: grid; align-content: space-between; gap: 30px; }
.zn-ask__a::before { content: ""; position: absolute; right: -260px; bottom: -260px; width: 620px; height: 620px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 46px, rgba(237,243,246,.07) 47px 48px); pointer-events: none; }
.zn-ask__p { position: relative; animation: znIn .7s var(--ease); }
.zn-ask__p[hidden] { display: none; }
.zn-ask__qq { font-family: var(--f-display); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.15; color: var(--blk-fg); margin-bottom: 18px; }
.zn-ask__p p:last-child { font-size: 1.06rem; line-height: 1.75; margin: 0; }
.zn-ask__more { position: relative; margin: 0; font-size: .95rem; }
.zn-ask__more .zn-link { color: var(--blk-fg); }

/* Açılır sorular (SSS ve ritüel sayfası): çizgisiz, "+" yok; damla açılınca halkalanır */
.zn-acc { gap: 6px; }
.zn-acc__i { border: 0; border-radius: var(--radius); transition: background-color .4s; }
.zn-acc__i[open] { background: var(--bg-2); }
.zn-acc__i summary { justify-content: flex-start; gap: 16px; padding: 16px 18px; font-family: var(--f-body); font-weight: 500; font-size: 1.08rem; }
.zn-acc__i summary i { order: -1; width: 1.1em; height: 1.1em; border-radius: 50%; background: radial-gradient(circle, var(--accent) 0 20%, transparent 21%); transition: box-shadow .7s var(--ease); }
.zn-acc__i summary i::before, .zn-acc__i summary i::after { display: none; }
.zn-acc__i[open] summary i, .zn-acc__i summary:hover i { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 60%, transparent), 0 0 0 5px color-mix(in srgb, var(--accent) 16%, transparent); }
.zn-acc__a { padding: 0 18px 22px 52px; }
.zn-plain li { border-bottom: 0; padding: 8px 0; }

/* Blog (anasayfa) */
.zn-jr__h { margin-bottom: 40px; }
.zn-jr__all { grid-column: 2; align-self: end; justify-self: start; }
.zn-jr__t, .zn-post__t, .zn-trio__t, .zn-qday__price, .zn-phead__price, .zn-pick__o b, .zn-steps h3, .zn-rrow__t, .zn-flow__i h3, .zn-tt__c h3, .author-card__name, .zn-profile__q p, .zn-team__q { font-family: var(--f-display); font-weight: 400; font-style: normal; }

/* Adımlar, ilkeler, kategori başlıkları, formlar */
.zn-steps li { grid-template-columns: 48px minmax(0, 1fr); align-items: start; }
.zn-steps__n { font-size: 2rem; margin-top: 2px; }
.zn-princ__rg { font-size: 2.6rem; display: block; margin-bottom: 18px; }
.zn-rcat { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.zn-rcat__h { display: flex; align-items: center; gap: 14px; padding: 0; margin: 0 0 4px; font-family: var(--f-display); font-size: 1.5rem; font-weight: 400; }
.zn-rrow { border-bottom: 0; }
.zn-rrow + .zn-rrow { box-shadow: 0 -1px 0 var(--line); }
.zn-step > legend { gap: 16px; }
.zn-step > legend .zn-rg { font-size: 2.2rem; }
.zn-pblock__len { margin: -6px 0 16px; color: var(--fg-3); }
.zn-story { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.zn-note__k { letter-spacing: .02em !important; text-transform: none !important; font-size: .95rem !important; font-weight: 600; color: var(--fg) !important; }
.side-box__h, .zn-foot__h, .zn-light__h, .zn-sess__d, .zn-facts dt, .zn-cl > div > dt, .zn-jr__d, .zn-post__meta, .post__meta, .author-card__kicker, .zn-hero__nk, .zn-hero__hint { letter-spacing: .02em !important; text-transform: none !important; font-size: .88rem !important; }

/* 404: damla fotoğrafı */
.zn-404 { position: relative; overflow: hidden; background: #0b1826; color: #a9bdcc; --fg: #edf3f6; --fg-2: #a9bdcc; --fg-3: #a9bdcc; --btn-bg: #edf3f6; --btn-fg: #13263d; --btn-bg-h: #fff; --bg-2: #1b3150; --bg-3: #2a4468; --accent: #8fc0e4; }
.zn-404::before { content: ""; position: absolute; inset: 0; background: var(--zn-404-img, url(../../uploads/zn/zenit-halka.webp)) center / cover no-repeat; opacity: .45; }
.zn-404__in { position: relative; }
.zn-404__n { font-family: var(--f-display); font-weight: 300; }

/* ── Footer: halka fotoğraflı çağrı, kendi şeridinde bülten, dev logotip, gün gün saat şeridi ── */
.zn-foot { background: var(--blk); }
.zn-foot__cta { position: relative; overflow: hidden; min-height: 460px; display: grid; align-items: end; background: #0b1826; }
.zn-foot__cta-img, .zn-foot__cta-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zn-foot__cta-img img { opacity: .78; }
.zn-foot__cta-in { position: relative; display: flex; justify-content: space-between; align-items: end; gap: 30px; flex-wrap: wrap; padding-block: 130px 60px; }
.zn-foot__big { font-family: var(--f-display); font-weight: 300; letter-spacing: -.03em; color: #f2f6f8; text-shadow: 0 2px 30px rgba(0,0,0,.4); }
.zn-foot__nl { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 16px 50px; align-items: center; padding-block: 44px; box-shadow: 0 1px 0 var(--ink-line); }
.zn-foot__nl-t { display: flex; align-items: center; gap: 14px; margin: 0; font-family: var(--f-display); font-size: 1.3rem; line-height: 1.3; color: var(--ink-fg); }
.zn-foot__nl-t .zn-rg { font-size: 1.6rem; color: #8fc0e4; }
.zn-foot__nl .nl-form { gap: 10px; }
.zn-foot__nl .nl-consent { font-size: .86rem; color: var(--ink-fg2); }
.zn-foot__nl .nl-consent a { color: var(--ink-fg); text-decoration: underline; }
.zn-foot__nl .nl-note { display: none; }
.zn-foot__main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px 60px; align-items: end; padding-block: 60px 34px; }
.zn-foot__word { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); color: var(--ink-fg) !important; font-family: var(--f-display); font-size: clamp(3.6rem, 12vw, 11rem); font-weight: 300; letter-spacing: -.05em; line-height: .9; text-decoration: none; }
.zn-foot__word .zn-mark { width: .62em; height: .62em; color: #8fc0e4; }
.zn-foot__info { font-size: .95rem; line-height: 1.7; }
.zn-foot__info p { margin: 10px 0 0; }
.zn-foot__tide { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; margin-bottom: 30px; }
.zn-foot__day { display: grid; gap: 4px; padding: 14px 12px; background: rgba(237,243,246,.05); font-size: .88rem; }
.zn-foot__day b { font-family: var(--f-display); font-weight: 400; color: var(--ink-fg); font-size: 1.05rem; }
.zn-foot__day.is-off { background: none; opacity: .6; }
.zn-foot__day.is-today { background: #edf3f6; color: #13263d; }
.zn-foot__day.is-today b { color: #13263d; }
.zn-foot__links { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-bottom: 34px; font-size: .95rem; }
@media (max-width: 1000px) {
    .zn-ask__in, .zn-foot__nl, .zn-foot__main, .zn-story { grid-template-columns: minmax(0, 1fr); }
    .zn-ask__a { min-height: 0; }
    .zn-foot__tide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .zn-jr__all { grid-column: auto; }
    .zn-phead__img { width: min(78%, 440px); }
}
@media (max-width: 700px) {
    .zn-foot__cta { min-height: 380px; }
    .zn-foot__tide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zn-face__n { font-size: 1.1rem; }
    .zn-acc__a { padding-left: 18px; }
}
.zn-week__today { letter-spacing: .02em; text-transform: none; font-size: .78rem; }
.zn-moods__q { letter-spacing: .02em; text-transform: none; font-size: .95rem; }
.zn-profile__img { aspect-ratio: 1; border-radius: 50%; overflow: visible; background: none; }
.zn-profile__img img { border-radius: 50%; }
.zn-profile__img::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--line-2); transform: scale(1.07); }
@media (max-width: 700px) { .zn-dock, .zn-dock a { border-radius: var(--radius); } }

/* Açılır listeler — tarayıcı destekliyorsa seçenek paneli de tema renginde (desteklemeyende sistem listesi kalır) */
@supports (appearance: base-select) {
  select:not(#_), ::picker(select) { appearance: base-select; }
  select::picker-icon { display: none; }
  select:not(#_) { align-items: center; }
  ::picker(select) { margin-block: 6px; padding: 6px; border: 1px solid var(--line-2); border-radius: var(--radius, 2px); background: var(--bg-elev, var(--bg)); color: var(--fg); box-shadow: 0 18px 40px -20px rgba(0,0,0,.35); max-height: min(340px, 60vh); }
  select option { padding: 10px 14px 10px 12px; font: inherit; font-size: 15.5px; line-height: 1.35; font-weight: 400; background: transparent; color: var(--fg); border-left: 2px solid transparent; border-radius: calc(var(--radius, 2px) / 2); transition: background-color .15s; }
  select option::checkmark { display: none; }
  select optgroup { padding: 4px 0; font: inherit; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3, currentColor); }
  select optgroup option { text-transform: none; letter-spacing: 0; }
  select optgroup legend { padding: 8px 12px 4px; }
  select option:hover, select option:focus-visible { outline: 0; background: color-mix(in srgb, var(--fg) 8%, transparent); }
  select option:checked { border-left-color: var(--accent); font-weight: 600; }
  select option:disabled { opacity: .5; }
}

/* Çerez kutusu — gömülü varsayılan stil (beyaz kart, siyah düğme) tema diline çekilir */
#tsp-consent.tsp { background: var(--bg-elev, var(--bg)); color: var(--fg); border-color: var(--line-2); border-radius: 4px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.06); font-family: var(--f-body, inherit); padding: 20px 20px 18px; }
#tsp-consent .tsp-t { font-family: var(--f-head, var(--f-display, inherit)); font-size: 18px; font-weight: 600; letter-spacing: -.005em; margin-bottom: 8px; }
#tsp-consent .tsp-m, #tsp-consent .tsp-x, #tsp-consent .tsp-c small { color: var(--fg-2); }
#tsp-consent .tsp-b button { background: var(--btn-bg); border-color: var(--btn-bg); color: var(--btn-fg); border-radius: 2px; font-family: var(--f-body, inherit); }
#tsp-consent .tsp-b button:hover { background: var(--btn-bg-h); border-color: var(--btn-bg-h); }
#tsp-consent .tsp-b2 button { background: transparent; border-color: var(--line-2); color: var(--fg); }
#tsp-consent .tsp-b2 button:hover { background: var(--line); border-color: var(--line-2); }
#tsp-consent .tsp-s, #tsp-consent .tsp-c { border-color: var(--line); }
#tsp-consent .tsp-c input { accent-color: var(--btn-bg); }
