/* Fincan — bağımsız kabuk. Sınıf öneki: kf-. Motor stilleri yok; tüm görünüm bu dosyadadır.
   Menü: fincan tabağı radyal seçici · Geçiş: süt dolumu (alttan yükselen dalgalı sınır) · Alt bilgi: kahve fişi.
   Yazı tipi: Lobster (SIL OFL 1.1, assets/fonts) başlıklarda; gövde sistem sans. Palet: krem, latte, nane, pudra pembe — hepsi açık. */
@font-face { font-family: "Lobster"; src: url("../fonts/lobster-latin-ext.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lobster"; src: url("../fonts/lobster-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ── 1. tokenlar, sıfırlama ─────────────────────────────────────────── */
:root {
    --f-d: "Lobster", "Segoe Script", "Brush Script MT", cursive;
    --f-b: "Avenir Next", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --f-m: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    --gut: clamp(1rem, .4rem + 2.6vw, 2.75rem);
    --ease: cubic-bezier(.2, .8, .2, 1);
    --spring: cubic-bezier(.34, 1.4, .5, 1);
    --top-h: 72px;
    --sec: clamp(3.4rem, 1.8rem + 6vw, 7rem);
    --white: #fffdf8;
    --latte: var(--c-border-2);
    --foam: var(--c-soft);
    --shadow: 0 1px 0 color-mix(in srgb, var(--c-ink) 6%, transparent), 0 24px 34px -26px color-mix(in srgb, var(--c-ink) 45%, transparent);
    --shadow-s: 0 10px 22px -14px color-mix(in srgb, var(--c-ink) 40%, transparent);
    --cms-fab-bottom: 1.1rem; --cms-fab-right: 1.1rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--top-h) + 1rem); }
body { margin: 0; background: var(--c-bg); color: var(--c-ink); font: 400 1rem/1.65 var(--f-b); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
body.is-locked { overflow: hidden; }
img, svg { max-width: 100%; display: block; }
img { height: auto; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
table { border-collapse: collapse; width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--c-accent); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--c-secondary); color: var(--c-ink); }
.kf-skip { position: fixed; left: 1rem; top: -4rem; z-index: 400; background: var(--c-primary); color: var(--c-on-primary); padding: .7rem 1rem; border-radius: 8px; transition: top .2s; }
.kf-skip:focus { top: 1rem; }
.kf-preview { background: var(--c-secondary); text-align: center; padding: .45rem 1rem; font-size: .85rem; font-weight: 600; }
.kf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kf-wrap { width: min(100% - var(--gut) * 2, 1240px); margin-inline: auto; }
.kf-wrap--n { width: min(100% - var(--gut) * 2, 820px); }
.kf-i { width: 1.2em; height: 1.2em; flex: none; }
.kf-muted { color: var(--c-muted); }
.kf-ulink, .kf-prose a, .kf-qa__a a { color: var(--c-accent-ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--c-accent) 45%, transparent); }
.kf-ulink:hover, .kf-prose a:hover { text-decoration-color: currentColor; }

/* ── 2. tipografi ────────────────────────────────────────────────────── */
.kf-h2 { font: 400 clamp(2.3rem, 1.4rem + 3.6vw, 4.1rem)/1.04 var(--f-d); color: var(--c-primary); letter-spacing: .005em; text-wrap: balance; }
.kf-h3 { font: 400 clamp(1.55rem, 1.2rem + 1vw, 2.15rem)/1.12 var(--f-d); color: var(--c-primary); }
.kf-k { display: inline-flex; align-items: center; gap: .5rem; font: 700 .74rem/1.2 var(--f-b); letter-spacing: .17em; text-transform: uppercase; color: var(--c-accent-ink); }
.kf-k .kf-i { width: 1.25em; height: 1.25em; }
.kf-lead { font-size: 1.15rem; color: var(--c-ink-soft); max-width: 62ch; }
.kf-link { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; color: var(--c-accent-ink); border-bottom: 2px solid color-mix(in srgb, var(--c-accent) 35%, transparent); padding-bottom: 1px; transition: gap .25s var(--ease), border-color .2s; }
.kf-link:hover { gap: .8rem; border-color: var(--c-accent); }
.kf-link .kf-i { width: 1.05em; height: 1.05em; }
.kf-link .is-back { transform: scaleX(-1); }
.kf-note { margin-top: 1.4rem; font-size: .9rem; color: var(--c-muted); max-width: 70ch; }
.kf-prose { color: var(--c-ink-soft); font-size: 1.06rem; }
.kf-prose > * + * { margin-top: 1.1em; }
.kf-prose h2 { font: 400 clamp(1.6rem, 1.3rem + 1vw, 2.2rem)/1.15 var(--f-d); color: var(--c-primary); margin-top: 1.7em; }
.kf-prose h3 { font-weight: 700; color: var(--c-ink); margin-top: 1.4em; }
.kf-prose ul, .kf-prose ol { padding-left: 1.3rem; list-style: revert; }
.kf-prose li + li { margin-top: .4em; }
.kf-prose--art > p:first-child::first-letter { font: 400 4.2rem/.8 var(--f-d); float: left; padding: .35rem .6rem 0 0; color: var(--c-accent); }
.kf-prose strong { color: var(--c-ink); }

/* ── 3. düğmeler: kupon (yan oyuklu) ve dikişli çizgi ───────────────── */
.kf-btn { --nt: 7px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 50px; padding: .8rem 1.7rem; font: 700 .98rem/1.1 var(--f-b); letter-spacing: .02em; text-align: center; border-radius: 8px; transition: transform .25s var(--spring), box-shadow .25s, background .2s, color .2s; }
.kf-btn--go { background: var(--c-accent); color: var(--c-on-accent); box-shadow: 0 8px 18px -10px var(--c-accent-dark);
    -webkit-mask: radial-gradient(circle var(--nt) at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--nt) at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle var(--nt) at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--nt) at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; border-radius: 6px; }
.kf-btn--go:hover { background: var(--c-accent-dark); transform: translateY(-2px) rotate(-.6deg); }
.kf-btn--line { color: var(--c-primary); background: var(--c-bg); outline: 2px dashed var(--c-border-2); outline-offset: -5px; }
.kf-btn--line:hover { background: var(--c-accent-soft); outline-color: var(--c-accent); transform: translateY(-2px); }
.kf-btn--lg { min-height: 58px; padding: 1rem 2.1rem; font-size: 1.04rem; }
.kf-btn--block { display: flex; width: 100%; }
.kf-btn:active { transform: translateY(1px) scale(.99); }
.kf-pill { display: inline-flex; align-items: center; min-height: 42px; padding: .5rem 1.15rem; border-radius: 8px; background: var(--c-secondary); color: var(--c-primary-dark); font: 800 .88rem/1 var(--f-b); letter-spacing: .03em; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--c-primary) 14%, transparent); transition: background .2s, transform .25s var(--spring); }
.kf-pill:hover, .kf-pill.is-cur { background: var(--c-accent); color: var(--c-on-accent); transform: rotate(-1.5deg); }

/* ── 4. formlar ──────────────────────────────────────────────────────── */
.kf-form { display: grid; gap: 1.1rem; }
.kf-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 1.1rem; }
.kf-ln { display: grid; gap: .35rem; align-content: start; }
.kf-ln > label, .kf-ln > span, .kf-ln__l { font: 700 .78rem/1.2 var(--f-b); letter-spacing: .1em; text-transform: uppercase; color: var(--c-ink-soft); }
.kf-ln input, .kf-ln select, .kf-ln textarea { width: 100%; min-height: 50px; padding: .7rem .15rem .55rem; background: transparent; border: 0; border-bottom: 2px solid var(--c-border-2); border-radius: 0; font-size: 1.05rem; transition: border-color .2s, background .2s; }
.kf-ln textarea { min-height: 120px; resize: vertical; background: repeating-linear-gradient(transparent 0 33px, color-mix(in srgb, var(--c-border-2) 70%, transparent) 33px 34px); line-height: 34px; padding-top: 0; border-bottom: 0; }
.kf-ln select { appearance: none; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235a392a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .3rem center / 12px; padding-right: 1.7rem; }
.kf-ln input:focus, .kf-ln select:focus { outline: none; border-color: var(--c-accent); background: color-mix(in srgb, var(--c-accent-soft) 45%, transparent); }
.kf-ln textarea:focus { outline: 2px solid var(--c-accent); outline-offset: 4px; }
.kf-ln.is-bad input, .kf-ln.is-bad textarea { border-color: #b3402f; }
.kf-ln__e, .kf-err-t { color: #b3402f; font-size: .88rem; font-weight: 600; }
.kf-form__note { font-size: .85rem; color: var(--c-muted); }
.kf-step { display: inline-flex; align-items: center; gap: .15rem; min-height: 50px; }
.kf-step button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--c-accent-soft); color: var(--c-accent-ink); transition: transform .2s var(--spring), background .2s; }
.kf-step button:hover { background: var(--c-accent); color: var(--c-on-accent); transform: scale(1.08); }
.kf-step output { min-width: 2.6ch; text-align: center; font: 400 1.9rem/1 var(--f-d); color: var(--c-primary); }
.kf-step--l output { font-size: 2.3rem; min-width: 3ch; }
.kf-paper { position: relative; background: var(--white); padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: 6px; box-shadow: var(--shadow); background-image: linear-gradient(90deg, transparent 2.6rem, color-mix(in srgb, var(--c-secondary) 80%, transparent) 2.6rem calc(2.6rem + 2px), transparent calc(2.6rem + 2px)); }
.kf-ok { display: grid; gap: .8rem; justify-items: start; padding: 1rem 0; }
.kf-ok__i { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; background: var(--c-accent); color: var(--c-on-accent); }
.kf-ok__i .kf-i { width: 30px; height: 30px; }

/* ── 5. ortak parçalar ───────────────────────────────────────────────── */
.kf-sec { padding-block: var(--sec); position: relative; }
.kf-sec--tight { padding-block: clamp(2rem, 1rem + 4vw, 4.2rem); }
.kf-sec--paper { background: var(--c-surface); }
.kf-head { display: grid; gap: .7rem; margin-bottom: clamp(1.6rem, 3vw, 3rem); }
.kf-head--c { justify-items: center; text-align: center; }
.kf-head__row { display: flex; justify-content: space-between; align-items: end; gap: 1rem 2rem; flex-wrap: wrap; }
.kf-disc { display: block; border-radius: 50%; overflow: hidden; background: var(--c-accent-soft); box-shadow: 0 0 0 7px var(--white), 0 0 0 9px var(--c-border-2), var(--shadow-s); aspect-ratio: 1; }
.kf-disc img { width: 100%; height: 100%; object-fit: cover; }
.kf-disc__ico { width: 40%; height: 40%; margin: 30% auto; color: var(--c-accent-ink); }
.kf-cd { display: inline-flex; gap: 2px; vertical-align: .08em; margin-left: .45rem; }
.kf-cd i { font: 800 .62rem/1 var(--f-b); font-style: normal; display: inline-grid; place-items: center; min-width: 1.35em; height: 1.35em; border-radius: 4px; background: var(--c-secondary); color: var(--c-primary-dark); }
.kf-cd i:nth-child(3n+2) { background: var(--c-accent-soft); color: var(--c-accent-ink); }
.kf-cd i:nth-child(3n) { background: color-mix(in srgb, var(--c-border-2) 45%, var(--c-bg)); color: var(--c-primary); }
.kf-legend { display: flex; flex-wrap: wrap; gap: .3rem .5rem; align-items: center; font-size: .82rem; color: var(--c-muted); }
.kf-legend .kf-cd { margin: 0 0 0 .4rem; }
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
[data-reveal].is-in, .no-js [data-reveal] { opacity: 1; transform: none; }
.kf-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.8rem; }
.kf-tabs button { padding: .55rem 1.1rem; border-radius: 8px; font: 700 .88rem/1 var(--f-b); background: var(--c-surface); color: var(--c-ink-soft); box-shadow: inset 0 0 0 2px var(--c-border); transition: background .2s, color .2s, transform .25s var(--spring); }
.kf-tabs button:hover { transform: translateY(-2px); }
.kf-tabs button.is-on { background: var(--c-primary); color: var(--c-on-primary); box-shadow: none; }
.kf-ticks { display: grid; gap: .6rem; margin-top: 1rem; }
.kf-ticks li { display: flex; gap: .7rem; align-items: start; }
.kf-ticks .kf-i { color: var(--c-accent); margin-top: .25rem; }
.kf-meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .85rem; color: var(--c-muted); }
.kf-meta li { display: inline-flex; gap: .35rem; align-items: center; }
.kf-meta .kf-i { width: 1em; height: 1em; }

/* ── 6. üst çubuk ────────────────────────────────────────────────────── */
.kf-top { position: sticky; top: 0; z-index: 60; background: color-mix(in srgb, var(--c-bg) 94%, transparent); border-bottom: 2px dashed color-mix(in srgb, var(--c-border-2) 80%, transparent); }
.kf-top__in { width: min(100% - var(--gut) * 2, 1360px); margin-inline: auto; height: var(--top-h); display: flex; align-items: center; gap: 1.2rem; }
.kf-brand { display: inline-flex; align-items: center; gap: .65rem; min-width: 0; }
.kf-brand__name { font: 400 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1 var(--f-d); color: var(--c-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kf-brand__logo { height: 44px; width: auto; }
.kf-cupsvg { width: 44px; height: 44px; flex: none; }
.kf-cupsvg .c-sa { fill: var(--white); stroke: var(--c-border-2); stroke-width: 1.5; }
.kf-cupsvg .c-sb { fill: none; stroke: var(--c-border); stroke-width: 1.2; }
.kf-cupsvg .c-h { fill: none; stroke: var(--c-border-2); stroke-width: 4; stroke-linecap: round; }
.kf-cupsvg .c-cu { fill: var(--white); stroke: var(--c-border-2); stroke-width: 1.2; }
.kf-cupsvg .c-co { fill: var(--c-primary); }
.kf-cupsvg .c-ft { fill: var(--c-soft); }
.kf-brand:hover .kf-brand__cup { transform: rotate(-14deg); }
.kf-brand__cup { transition: transform .5s var(--spring); }
.kf-status { display: inline-flex; align-items: center; gap: .5rem; margin-inline: auto; padding: .4rem .9rem; border-radius: 8px; background: var(--c-surface); font: 700 .8rem/1.2 var(--f-b); color: var(--c-ink-soft); white-space: nowrap; }
.kf-status i { width: .6rem; height: .6rem; border-radius: 50%; background: var(--c-border-2); flex: none; }
.kf-status.is-open i { background: var(--c-accent); box-shadow: 0 0 0 0 color-mix(in srgb, var(--c-accent) 50%, transparent); animation: kf-ping 2.4s ease-out infinite; }
.kf-status.is-closed i { background: #c0634f; }
.kf-status--s { margin: 0; background: var(--c-accent-soft); }
@keyframes kf-ping { 70%, 100% { box-shadow: 0 0 0 .55rem transparent; } }
.kf-top__act { display: flex; align-items: center; gap: .8rem; margin-left: auto; }
.kf-status + .kf-top__act { margin-left: 0; }
.kf-top__tel { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-size: .92rem; color: var(--c-primary); white-space: nowrap; }
.kf-top__tel .kf-i { color: var(--c-accent); }
.kf-top__nojs { display: none; }
.kf-sauce { display: inline-flex; align-items: center; gap: .55rem; }
.kf-sauce__t { font: 400 1.55rem/1 var(--f-d); color: var(--c-primary); }
.kf-sauce__disc { position: relative; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--white); box-shadow: var(--shadow-s); transition: transform .5s var(--spring); }
.kf-sauce:hover .kf-sauce__disc { transform: rotate(60deg) scale(1.06); }
.kf-sauce__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.kf-sauce__ring circle { fill: none; stroke-width: 3; }
.kf-sauce__ring .r-bg { stroke: var(--c-border); }
.kf-sauce__ring .r-fg { stroke: var(--c-accent); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--p, 0) * 100); transition: stroke-dashoffset .2s linear; }
.kf-sauce__cup { width: 40px; height: 40px; }
.kf-sauce:hover .kf-sauce__cup { animation: kf-wob 1s ease; }
@keyframes kf-wob { 30% { transform: rotate(-20deg); } 60% { transform: rotate(14deg); } }

/* ── 7. fincan tabağı menüsü (radyal) ───────────────────────────────── */
.kf-dial { position: fixed; inset: 0; z-index: 200; background: var(--c-bg); opacity: 0; visibility: hidden; transition: opacity .45s var(--ease), visibility 0s .6s; overflow: hidden; --S: min(86vh, 94vw, 780px); }
.kf-dial.is-open { opacity: 1; visibility: visible; transition: opacity .35s var(--ease), visibility 0s; }
.kf-dial::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--c-secondary) 55%, transparent), transparent 38%), radial-gradient(circle at 86% 84%, color-mix(in srgb, var(--c-accent-soft) 85%, transparent), transparent 42%); }
.kf-dial__x { position: absolute; top: 1.1rem; right: var(--gut); z-index: 5; display: inline-flex; align-items: center; gap: .55rem; padding: .55rem 1rem .55rem .75rem; border-radius: 999px; background: var(--white); box-shadow: var(--shadow-s); font-size: .86rem; }
.kf-dial__x .kf-i { width: 1.3rem; height: 1.3rem; padding: 3px; border-radius: 50%; background: var(--c-secondary); }
.kf-dial__stage { position: absolute; left: 50%; top: 50%; width: var(--S); height: var(--S); transform: translate(-50%, -52%); --R: calc(var(--S) * .395); }
.kf-saucer { position: absolute; inset: 3%; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 3px var(--c-border), 0 40px 60px -34px color-mix(in srgb, var(--c-ink) 50%, transparent); transform: scale(.55) rotate(-100deg); opacity: 0; transition: transform .9s var(--spring), opacity .4s; }
.kf-saucer i { position: absolute; border-radius: 50%; border: 2px solid var(--c-border); }
.kf-saucer i:nth-child(1) { inset: 5%; }
.kf-saucer i:nth-child(2) { inset: 26%; border-style: dashed; border-color: var(--c-border-2); }
.kf-dial.is-open .kf-saucer { transform: none; opacity: 1; }
.kf-ring { --rot: 0deg; --st: 45deg; position: absolute; inset: 0; transform: rotate(var(--rot)); transition: transform .9s var(--spring); }
.kf-ring__li { position: absolute; left: 50%; top: 50%; width: 0; height: 0; --a: calc(var(--i) * var(--st)); transform: rotate(var(--a)) translateY(calc(var(--R) * -1)) rotate(calc((var(--a) + var(--rot)) * -1)); transition: transform .9s var(--spring), opacity .4s; }
.kf-ring__a { position: absolute; left: 0; top: 0; translate: -50% -50%; display: flex; align-items: center; gap: .55rem; width: max-content; max-width: calc(var(--S) * .27); padding: .62rem 1.05rem .62rem .7rem; border-radius: 12px; background: var(--c-surface); color: var(--c-primary); font: 400 clamp(1.3rem, 1rem + .85vw, 1.8rem)/1.05 var(--f-d); box-shadow: inset 0 0 0 2px var(--c-border), var(--shadow-s); transition: background .25s, color .25s, scale .5s var(--spring); }
.kf-dial.is-open .kf-ring__a { animation: kf-pop .65s var(--spring) both; animation-delay: calc(var(--i) * 55ms + 200ms); }
@keyframes kf-pop { from { opacity: 0; scale: .3; } }
.kf-ring__no { font: 800 .62rem/1 var(--f-b); letter-spacing: .08em; padding: .3rem .4rem; border-radius: 6px; background: var(--c-secondary); color: var(--c-primary-dark); }
.kf-ring__li.is-sel .kf-ring__a { background: var(--c-accent); color: var(--c-on-accent); scale: 1.22; box-shadow: var(--shadow); z-index: 2; }
.kf-ring__li.is-sel .kf-ring__no { background: var(--c-on-accent); color: var(--c-accent-ink); }
.kf-ring__a.is-cur { box-shadow: inset 0 0 0 2px var(--c-accent), var(--shadow-s); }
.kf-ring__a:hover { background: var(--c-accent-soft); }
.kf-ring__li.is-sel .kf-ring__a:hover { background: var(--c-accent-dark); }
.kf-ring__subtoggle { display: none; }
.kf-ring__sub { position: absolute; left: 0; top: 2.6rem; translate: -50% 0; display: none; gap: .2rem; padding: .5rem .7rem; border-radius: 10px; background: var(--white); box-shadow: var(--shadow-s); font-size: .86rem; white-space: nowrap; z-index: 3; }
.kf-ring__li.is-sel .kf-ring__sub { display: grid; }
.kf-ring__sub a { padding: .15rem .3rem; }
.kf-ring__sub a:hover { color: var(--c-accent-ink); text-decoration: underline; }
.kf-mid { position: absolute; left: 50%; top: 50%; width: calc(var(--S) * .4); aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 3px var(--c-border), 0 22px 30px -20px color-mix(in srgb, var(--c-ink) 55%, transparent); display: grid; place-items: center; text-align: center; }
.kf-mid::before { content: ""; position: absolute; inset: 9%; border-radius: 50%; background: radial-gradient(circle at 40% 35%, color-mix(in srgb, var(--c-primary) 82%, #fff), var(--c-primary-dark)); box-shadow: inset 0 0 0 5px var(--c-surface-2); }
.kf-mid::after { content: ""; position: absolute; right: -10%; top: 38%; width: 18%; height: 24%; border: 8px solid var(--c-border-2); border-left: 0; border-radius: 0 40px 40px 0; z-index: -1; }
.kf-mid__cup { display: none; }
.kf-mid__t { position: relative; font: 400 clamp(1.7rem, 1rem + 2.4vw, 3rem)/1 var(--f-d); color: var(--c-soft); max-width: 70%; text-wrap: balance; text-shadow: 0 2px 0 color-mix(in srgb, var(--c-primary-dark) 70%, transparent); }
.kf-mid__h { position: absolute; left: 50%; bottom: -3.3rem; translate: -50% 0; width: max-content; max-width: 90vw; font-size: .92rem; font-weight: 700; color: var(--c-ink-soft); padding: .35rem .9rem; border-radius: 8px; background: var(--c-surface); text-align: center; }
.kf-mid__h:empty { display: none; }
.kf-spin { position: absolute; bottom: 1.2rem; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--c-primary); box-shadow: var(--shadow-s); z-index: 4; transition: transform .25s var(--spring), background .2s; }
.kf-spin:hover { background: var(--c-accent); color: var(--c-on-accent); transform: scale(1.1); }
.kf-spin--p { left: max(1rem, calc(50% - 470px)); } .kf-spin--p .kf-i { transform: scaleX(-1); }
.kf-spin--n { right: max(1rem, calc(50% - 470px)); }
.kf-dial__foot { position: absolute; left: 0; right: 0; bottom: 1.2rem; display: flex; justify-content: center; align-items: center; gap: .6rem 1.4rem; flex-wrap: wrap; padding-inline: var(--gut); z-index: 4; }
.kf-dial__call { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-size: .92rem; color: var(--c-primary); padding: .5rem .8rem; border-radius: 8px; background: var(--c-surface); }
.kf-dial__call .kf-i { color: var(--c-accent); }

/* ── 8. alt dock (mobil) ─────────────────────────────────────────────── */
.kf-dock { display: none; }
.kf-fab { position: relative; z-index: 150; }

/* ── 9. kapak ────────────────────────────────────────────────────────── */
.kf-hero { position: relative; padding-top: clamp(1rem, 3vw, 2.5rem); overflow-x: clip; background: radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--c-secondary) 38%, transparent), transparent 44%), radial-gradient(circle at 8% 90%, color-mix(in srgb, var(--c-accent-soft) 70%, transparent), transparent 40%); }
.kf-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; min-height: clamp(520px, 74vh, 760px); }
.kf-hero__copy { grid-area: 1 / 1; position: relative; z-index: 3; padding-block: 2rem 1rem; max-width: 40rem; display: grid; gap: 1.2rem; justify-items: start; }
.kf-hero__art { grid-area: 1 / 1 / 2 / 3; justify-self: end; position: relative; width: min(60vw, 740px); margin-right: -4vw; z-index: 1; }
.kf-latte { width: 100%; height: auto; overflow: visible; }
.kf-hero__eyebrow { background: var(--c-surface); padding: .45rem .8rem; border-radius: 8px; }
.kf-hero__h { font: 400 clamp(2.9rem, 1.2rem + 4.6vw, 5.4rem)/1 var(--f-d); color: var(--c-primary); letter-spacing: .005em; text-wrap: balance; }
.kf-hero__l1 { display: block; }
.kf-hero__l2 { display: block; color: var(--c-accent); margin-left: clamp(.6rem, 4vw, 3.4rem); text-decoration: underline wavy var(--c-secondary); text-decoration-thickness: .06em; text-underline-offset: .14em; }
.kf-hero__sub { font-size: clamp(1.02rem, .95rem + .35vw, 1.22rem); color: var(--c-ink-soft); max-width: 34rem; }
.kf-hero__act { display: flex; flex-wrap: wrap; gap: .8rem; }
.kf-hero__tel { display: flex; align-items: center; gap: .55rem; font-weight: 700; color: var(--c-primary); }
.kf-hero__tel .kf-i { color: var(--c-accent); }
.kf-hero__tel a:hover { text-decoration: underline; }
.kf-hero__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.kf-hero__chips li { display: inline-flex; align-items: center; gap: .4rem; font-size: .86rem; font-weight: 600; padding: .4rem .8rem; border-radius: 8px; background: var(--white); box-shadow: inset 0 0 0 2px var(--c-border); }
.kf-hero__chips .kf-i { color: var(--c-accent); width: 1em; height: 1em; }
.kf-hero__low { display: grid; gap: 1.3rem; margin-top: 1.5rem; padding-bottom: clamp(2rem, 4vw, 3.6rem); position: relative; z-index: 4; }
.kf-hero__stats { display: flex; flex-wrap: wrap; gap: .4rem 2.4rem; }
.kf-hero__stats div { display: flex; align-items: baseline; gap: .6rem; }
.kf-hero__stats dd { font: 400 2.1rem/1 var(--f-d); color: var(--c-accent); }
.kf-hero__stats dt { font-size: .86rem; color: var(--c-muted); font-weight: 600; }
/* süt dökme sahnesi */
.l-shadow { fill: var(--c-ink); opacity: .1; }
.l-sauc { fill: var(--white); stroke: var(--c-border-2); stroke-width: 3; }
.l-ring { fill: none; stroke: var(--c-border); stroke-width: 3; }
.l-hnd1 { fill: none; stroke: var(--c-border-2); stroke-width: 44; stroke-linecap: round; }
.l-hnd2 { fill: none; stroke: var(--white); stroke-width: 34; stroke-linecap: round; }
.l-cup { fill: var(--white); stroke: var(--c-border-2); stroke-width: 3; }
.l-rim { fill: var(--c-surface-2); }
.l-cof { fill: var(--c-primary); }
.l-art { transform-origin: 320px 330px; animation: kf-spin 3.4s cubic-bezier(.16, .8, .24, 1) both; }
.l-swirl { fill: none; stroke: var(--c-soft); stroke-width: 22; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100; animation: kf-draw 1.7s cubic-bezier(.4, .1, .3, 1) .15s both, kf-fade .7s ease 1.75s forwards; }
.l-lay { transform-box: fill-box; transform-origin: 50% 90%; stroke: var(--c-primary); stroke-width: 5; stroke-linejoin: round; animation: kf-lay .8s var(--spring) both; animation-delay: calc(1.65s + var(--k) * .15s); }
.l-lay--0 { fill: var(--c-soft); } .l-lay--1 { fill: var(--c-secondary); }
.l-stem { stroke: var(--c-soft); stroke-width: 11; stroke-linecap: round; fill: none; stroke-dasharray: 100; animation: kf-draw .6s ease 2.5s both; }
.l-steam { fill: none; stroke: var(--c-border-2); stroke-width: 10; stroke-linecap: round; opacity: .85; }
.l-steam path { stroke-dasharray: 14 18; animation: kf-steam 2.8s linear infinite; }
.l-steam path:nth-child(2) { animation-delay: -.9s; } .l-steam path:nth-child(3) { animation-delay: -1.8s; }
.l-spoon { stroke: var(--c-border-2); stroke-width: 9; stroke-linecap: round; } .l-spoon-b { fill: var(--c-border-2); }
.kf-hero.is-off .l-steam path { animation-play-state: paused; }
@keyframes kf-spin { from { transform: rotate(-330deg) scale(.7); opacity: 0; } 12% { opacity: 1; } to { transform: none; } }
@keyframes kf-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes kf-fade { to { opacity: 0; } }
@keyframes kf-lay { from { transform: scale(.2); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes kf-steam { from { stroke-dashoffset: 64; } to { stroke-dashoffset: 0; } }
/* günün kahvesi / tatlısı etiketi */
.kf-tag { position: absolute; right: 2%; bottom: 3%; width: min(300px, 62%); padding: 1.25rem 1.15rem 1rem; background: var(--white); border-radius: 6px; box-shadow: var(--shadow); transform: rotate(4deg); transform-origin: 50% -30px; animation: kf-swing 2.6s var(--ease) 1.2s both; z-index: 2; background-image: repeating-linear-gradient(transparent 0 29px, color-mix(in srgb, var(--c-border) 60%, transparent) 29px 30px); }
.kf-tag::before { content: ""; position: absolute; left: 50%; top: -52px; width: 2px; height: 52px; background: var(--c-border-2); transform: rotate(-4deg); transform-origin: bottom; }
.kf-tag__hole { position: absolute; left: 50%; top: 9px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--c-bg); box-shadow: inset 0 0 0 2px var(--c-border-2); }
.kf-tag__date { display: flex; align-items: center; gap: .4rem; justify-content: center; font: 800 .7rem/1 var(--f-b); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); padding-top: .55rem; }
.kf-tag__date .kf-i { width: 1.1em; height: 1.1em; }
.kf-tag__it { margin-top: .85rem; display: grid; gap: .15rem; }
.kf-tag__it--2 { padding-top: .8rem; border-top: 2px dashed var(--c-border-2); }
.kf-tag__lbl { display: flex; align-items: center; gap: .4rem; font: 800 .68rem/1 var(--f-b); letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent-ink); }
.kf-tag__lbl .kf-i { width: 1.2em; height: 1.2em; }
.kf-tag__name { font: 400 1.55rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-tag__note { font-size: .86rem; color: var(--c-ink-soft); line-height: 1.4; }
.kf-tag__meta { display: flex; align-items: center; gap: .3rem; }
.kf-tag__meta b { font: 400 1.5rem/1 var(--f-d); color: var(--c-accent); }
@keyframes kf-swing { 0% { transform: rotate(-26deg); opacity: 0; } 35% { opacity: 1; } 55% { transform: rotate(10deg); } 75% { transform: rotate(0deg); } 100% { transform: rotate(4deg); } }
/* masa şeridi */
.kf-ask { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) auto; gap: 1rem 1.4rem; align-items: end; padding: 1.2rem 1.5rem; background: var(--white); border-radius: 10px; box-shadow: var(--shadow); position: relative; }
.kf-ask::before { content: ""; position: absolute; inset: 6px; border: 2px dashed var(--c-border); border-radius: 6px; pointer-events: none; }
.kf-ask__t { font: 400 1.5rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-ask__h { font-size: .84rem; color: var(--c-muted); margin-top: .2rem; }
.kf-ask__f { display: grid; gap: .2rem; position: relative; }
.kf-ask__f > span { font: 700 .72rem/1 var(--f-b); letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink-soft); }
.kf-ask__f input, .kf-ask__f select { min-height: 46px; background: transparent; border: 0; border-bottom: 2px solid var(--c-border-2); width: 100%; font-size: 1rem; padding: .3rem 0; }
.kf-ask__f input:focus, .kf-ask__f select:focus { outline: none; border-color: var(--c-accent); }

/* ── 10. menü kartı ──────────────────────────────────────────────────── */
.kf-mcard { position: relative; display: grid; grid-template-columns: 190px minmax(0, 1fr); background: var(--white); border-radius: 10px; box-shadow: var(--shadow); padding: 1.1rem; gap: 0; }
.kf-mcard::before { content: ""; position: absolute; inset: 7px; border: 2px dashed var(--c-border); border-radius: 6px; pointer-events: none; }
.kf-mcard__clip { position: absolute; left: 50%; top: -14px; width: 92px; height: 30px; margin-left: -46px; border-radius: 8px 8px 4px 4px; background: var(--c-secondary); box-shadow: inset 0 -4px 0 color-mix(in srgb, var(--c-primary) 14%, transparent), 0 6px 10px -6px color-mix(in srgb, var(--c-ink) 40%, transparent); z-index: 2; }
.kf-mcard__tabs { display: grid; align-content: start; gap: .5rem; padding: 1.4rem .6rem 1rem .9rem; position: relative; z-index: 1; }
.kf-mtab { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; padding: .85rem .9rem; border-radius: 8px 0 0 8px; background: var(--c-surface); color: var(--c-ink-soft); font: 400 1.4rem/1 var(--f-d); text-align: left; transition: background .25s, color .25s, transform .3s var(--spring), margin .3s var(--spring); }
.kf-mtab small { font: 700 .72rem/1 var(--f-b); padding: .25rem .45rem; border-radius: 6px; background: color-mix(in srgb, var(--c-border-2) 50%, transparent); }
.kf-mtab:hover { background: var(--c-accent-soft); }
.kf-mtab[aria-selected="true"] { background: var(--c-primary); color: var(--c-on-primary); margin-right: -1.5rem; transform: translateX(.2rem); box-shadow: -8px 8px 0 -4px color-mix(in srgb, var(--c-secondary) 80%, transparent); }
.kf-mtab[aria-selected="true"] small { background: color-mix(in srgb, #fff 20%, transparent); }
.kf-mcard__body { padding: 1.4rem clamp(.6rem, 2vw, 1.6rem) 1rem 2rem; position: relative; border-left: 2px solid var(--c-border); }
.kf-mpanel { animation: kf-flip .5s var(--ease) both; }
@keyframes kf-flip { from { opacity: 0; transform: translateY(10px); } }
.kf-mpanel__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.kf-mpanel__top > div { display: grid; gap: .6rem; justify-items: start; }
.kf-mpanel__pic { width: clamp(90px, 14vw, 150px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 5px var(--white), 0 0 0 7px var(--c-border-2); flex: none; rotate: 8deg; }
.kf-mpanel__pic img { width: 100%; height: 100%; object-fit: cover; }
.kf-mi { display: grid; gap: .1rem; }
.kf-mi__li { display: grid; grid-template-columns: auto minmax(1rem, 1fr) auto; align-items: baseline; gap: 0 .5rem; padding: .62rem 0; border-bottom: 1px solid color-mix(in srgb, var(--c-border) 70%, transparent); }
.kf-mi__n { font-weight: 700; font-size: 1.04rem; color: var(--c-ink); }
.kf-mi__d { align-self: end; border-bottom: 3px dotted var(--c-border-2); height: .5em; translate: 0 -.25em; }
.kf-mi__p { font: 400 1.5rem/1 var(--f-d); color: var(--c-accent-ink); }
.kf-mi__x { grid-column: 1 / -1; font-size: .86rem; color: var(--c-muted); padding-top: .15rem; }
.kf-mcard__foot { display: grid; gap: .5rem; margin-top: 1.1rem; }
.kf-mcard__note { font-size: .82rem; color: var(--c-muted); max-width: 70ch; }
.kf-coasters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.4rem; margin-top: clamp(2.4rem, 5vw, 4.4rem); align-items: start; }
.kf-co { display: grid; justify-items: center; gap: .55rem; text-align: center; transition: transform .4s var(--spring); }
.kf-co:nth-child(2n) { margin-top: 2.2rem; } .kf-co:nth-child(3n) { margin-top: 1rem; }
.kf-co__disc { width: 100%; max-width: 188px; }
.kf-co:nth-child(1) .kf-co__disc { max-width: 210px; } .kf-co:nth-child(4) .kf-co__disc { max-width: 170px; }
.kf-co:hover { transform: translateY(-6px) rotate(-3deg); }
.kf-co__t { font: 400 1.5rem/1.05 var(--f-d); color: var(--c-primary); }
.kf-co__p { font: 700 .78rem/1 var(--f-b); padding: .3rem .6rem; border-radius: 6px; background: var(--c-secondary); color: var(--c-primary-dark); }

/* ── 11. çekirdekten fincana ─────────────────────────────────────────── */
.kf-path { background: var(--c-surface); }
.kf-path__list { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; padding-top: 1rem; }
.kf-path__line { position: absolute; left: 6%; right: 6%; top: 3.45rem; height: 6px; background: repeating-linear-gradient(90deg, var(--c-border-2) 0 12px, transparent 12px 22px); border-radius: 3px; }
.kf-path__line i { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, var(--c-accent) 0 12px, transparent 12px 22px); transform-origin: 0 50%; transform: scaleX(var(--pp, 0)); transition: transform .3s linear; }
.kf-stop { position: relative; display: grid; gap: .6rem; justify-items: center; text-align: center; }
.kf-stop:nth-child(odd) { margin-top: 0; } .kf-stop:nth-child(even) { margin-top: 2.6rem; }
.kf-stop__dot { position: relative; width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--c-accent-ink); box-shadow: 0 0 0 6px var(--c-surface), 0 0 0 8px var(--c-border-2), var(--shadow-s); }
.kf-stop__dot .kf-i { width: 38px; height: 38px; }
.kf-stop__dot b { position: absolute; right: -4px; top: -4px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--c-secondary); color: var(--c-primary-dark); font: 400 1.3rem/1 var(--f-d); }
.kf-stop__t { font: 400 1.65rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-stop__x { font-size: .95rem; color: var(--c-ink-soft); max-width: 22ch; }

/* ── 12. küçük sözler (damga kartı) ──────────────────────────────────── */
.kf-stampcard { position: relative; padding: clamp(1.6rem, 4vw, 3.4rem); background: var(--white); border-radius: 12px; box-shadow: var(--shadow); -webkit-mask: radial-gradient(circle 12px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 12px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle 12px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 12px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; }
.kf-stampcard::before { content: ""; position: absolute; inset: 10px; border: 2px dashed var(--c-border-2); border-radius: 8px; pointer-events: none; }
.kf-stampcard__head { display: grid; gap: .6rem; margin-bottom: 2.2rem; max-width: 36rem; }
.kf-stampcard__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 2.2rem; }
.kf-stamp { display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; align-items: start; }
.kf-stamp__seal { grid-row: span 2; position: relative; width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; border: 3px dashed currentColor; color: var(--c-accent); rotate: var(--r); transition: scale .6s var(--spring), opacity .6s; }
.kf-stamp--pi .kf-stamp__seal { color: #c4607a; } .kf-stamp--la .kf-stamp__seal { color: var(--c-primary); }
.kf-stamp__seal::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; border: 1.5px solid currentColor; opacity: .5; }
.kf-stamp__seal .kf-i { width: 30px; height: 30px; }
.kf-stamp__seal b { position: absolute; bottom: -7px; font: 800 .62rem/1 var(--f-b); letter-spacing: .1em; padding: .2rem .4rem; background: var(--white); border-radius: 4px; }
.js .kf-stamp__seal { scale: 1.8; opacity: 0; }
.js .kf-stampcard.is-in .kf-stamp__seal { scale: 1; opacity: 1; transition-delay: calc(var(--d) * 160ms + 300ms); }
.kf-stamp__t { font: 400 1.4rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-stamp__x { grid-column: 2; font-size: .93rem; color: var(--c-ink-soft); }

/* ── 13. ulaşım: yolculuk fincanları ─────────────────────────────────── */
.kf-trip__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.6rem, 4vw, 4.4rem); align-items: start; }
.kf-trip__grid--page { grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); }
.kf-trip__head { position: sticky; top: calc(var(--top-h) + 1.5rem); margin-bottom: 0; justify-items: start; }
.kf-trip__orig { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; padding: .5rem .9rem; border-radius: 8px; background: var(--c-secondary); color: var(--c-primary-dark); margin-bottom: 1rem; }
.kf-trip__orig .kf-i { color: var(--c-accent-ink); }
.kf-trip__walk { color: var(--c-ink-soft); font-size: .96rem; }
.kf-ways { display: grid; gap: .3rem; }
.kf-way { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 5.6rem; align-items: center; gap: .2rem 1rem; padding: .85rem 0; border-bottom: 1px solid color-mix(in srgb, var(--c-border) 80%, transparent); }
.kf-way__n { font: 400 1.55rem/1 var(--f-d); color: var(--c-primary); }
.kf-way__n:hover { color: var(--c-accent); }
.kf-way.is-pop .kf-way__n::after { content: ""; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--c-secondary); margin-left: .4rem; vertical-align: .15em; }
.kf-way__bar { position: relative; height: 28px; border-radius: 4px 4px 14px 14px; background: var(--white); box-shadow: inset 0 0 0 2px var(--c-border-2); overflow: hidden; }
.kf-way__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w); background: repeating-linear-gradient(135deg, var(--c-primary) 0 8px, color-mix(in srgb, var(--c-primary) 82%, #fff) 8px 16px); transform-origin: 0 50%; transform: scaleX(0); transition: transform 1.1s var(--ease) .15s; border-radius: 0 10px 10px 0; }
.kf-way.is-in .kf-way__bar i, .no-js .kf-way__bar i { transform: scaleX(1); }
.kf-way__t { font-weight: 800; text-align: right; color: var(--c-ink); font-size: .95rem; }
.kf-way__s { grid-column: 1 / -1; font-size: .88rem; color: var(--c-muted); max-width: 60ch; }
.kf-tips { display: grid; gap: .8rem; margin-block: 1rem; }
.kf-tips li { display: flex; gap: .6rem; font-size: .93rem; color: var(--c-ink-soft); }
.kf-tips .kf-i { color: var(--c-accent); margin-top: .2rem; }

/* ── 14. masa kartları (çadır) ───────────────────────────────────────── */
.kf-tables { background: linear-gradient(var(--c-bg), var(--c-surface) 40%, var(--c-bg)); }
.kf-tents { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 1.6rem; align-items: start; }
.kf-tent { position: relative; display: grid; background: var(--white); filter: drop-shadow(0 18px 18px color-mix(in srgb, var(--c-ink) 18%, transparent)); clip-path: polygon(0 18px, 18px 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%); transition: transform .4s var(--spring); }
.kf-tent:nth-child(2) { margin-top: 2.4rem; } .kf-tent:nth-child(3) { margin-top: 1.1rem; }
.kf-tent:hover { transform: translateY(-6px) rotate(-.8deg); }
.kf-tent__top { padding: 1.7rem 1.5rem 1.3rem; display: grid; gap: .5rem; background: var(--c-surface); }
.kf-tent.is-feat .kf-tent__top { background: var(--c-accent-soft); }
.kf-tent__no { font: 800 .68rem/1 var(--f-b); letter-spacing: .16em; text-transform: uppercase; color: var(--c-muted); }
.kf-tent__t { font: 400 1.9rem/1.08 var(--f-d); color: var(--c-primary); }
.kf-tent__t a:hover { color: var(--c-accent); }
.kf-tent__sum { font-size: .93rem; color: var(--c-ink-soft); }
.kf-tent__fold { display: block; height: 22px; background: linear-gradient(var(--c-border-2), transparent 70%), linear-gradient(90deg, transparent 0 8%, color-mix(in srgb, var(--c-ink) 6%, transparent) 8% 92%, transparent 92%); margin-top: -1px; opacity: .8; }
.kf-tent__bot { padding: .6rem 1.5rem 1.6rem; display: grid; gap: .8rem; }
.kf-tent__price { display: flex; align-items: baseline; gap: .5rem; }
.kf-tent__price small { font: 700 .72rem/1 var(--f-b); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.kf-tent__price b { font: 400 3rem/1 var(--f-d); color: var(--c-accent); }
.kf-tent__per { font-size: .86rem; color: var(--c-muted); margin-top: -.5rem; }
.kf-tent__list { display: grid; gap: .5rem; font-size: .93rem; }
.kf-tent__list li { display: flex; gap: .5rem; align-items: start; }
.kf-tent__list .kf-i { color: var(--c-accent); margin-top: .2rem; width: 1.05em; height: 1.05em; }
.kf-tent__badge { position: absolute; right: 14px; top: 8px; z-index: 2; font: 800 .66rem/1 var(--f-b); letter-spacing: .1em; text-transform: uppercase; padding: .4rem .65rem; border-radius: 6px; background: var(--c-secondary); color: var(--c-primary-dark); rotate: 3deg; }
.kf-tent__go { margin-top: .3rem; }

/* ── 15. haftalık program ────────────────────────────────────────────── */
.kf-week { margin-top: clamp(3rem, 6vw, 5.4rem); scroll-margin-top: 6rem; }
.kf-week__head { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 1.6rem; }
.kf-week__t { margin-top: .5rem; }
.kf-week__key { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .76rem; font-weight: 700; }
.kf-week__key li { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .6rem; border-radius: 6px; }
.kf-week__key .kf-i { width: 1em; height: 1em; }
.kf-week__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .6rem; }
.kf-day { position: relative; display: grid; align-content: start; gap: .6rem; padding: .9rem .7rem 1rem; border-radius: 10px; background: var(--white); box-shadow: inset 0 0 0 2px var(--c-border); transition: transform .35s var(--spring), box-shadow .3s; min-height: 12rem; }
.kf-day.is-empty { background: transparent; box-shadow: inset 0 0 0 2px var(--c-border); opacity: .78; }
.kf-day__n { display: flex; justify-content: space-between; align-items: center; gap: .3rem; font: 400 1.3rem/1 var(--f-d); color: var(--c-primary); }
.kf-day__now { display: none; font: 800 .58rem/1 var(--f-b); letter-spacing: .1em; text-transform: uppercase; padding: .28rem .4rem; border-radius: 4px; background: var(--c-accent); color: var(--c-on-accent); }
.kf-day.is-today { box-shadow: inset 0 0 0 3px var(--c-accent), var(--shadow-s); transform: translateY(-6px); }
.kf-day.is-today .kf-day__now { display: inline-block; }
.kf-day__none { font-size: .78rem; color: var(--c-muted); line-height: 1.4; }
.kf-day__ev { display: grid; gap: .5rem; }
.kf-ev { display: grid; gap: .1rem; padding: .55rem .55rem .6rem; border-radius: 8px; background: var(--c-surface); border-left: 4px solid var(--evc, var(--c-border-2)); }
.kf-ev--mu { --evc: #c4607a; } .kf-ev--at { --evc: var(--c-accent); } .kf-ev--bu { --evc: var(--c-primary); } .kf-ev--co { --evc: #c79a2e; } .kf-ev--ka { --evc: #d08a54; }
.kf-ev__time { font: 800 .72rem/1 var(--f-m); color: var(--evc); letter-spacing: .02em; }
.kf-ev__b { display: grid; gap: .15rem; }
.kf-ev__b b { font-size: .88rem; line-height: 1.2; color: var(--c-ink); }
.kf-ev__b em { display: inline-flex; align-items: center; gap: .3rem; font: 700 .66rem/1 var(--f-b); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--evc); }
.kf-ev__b em .kf-i { width: 1.1em; height: 1.1em; }
.kf-ev__b small { font-size: .74rem; color: var(--c-muted); line-height: 1.35; }
.kf-week__key li.kf-ev--mu { background: color-mix(in srgb, #c4607a 14%, var(--c-bg)); color: #8a3a52; }
.kf-week__key li.kf-ev--at { background: var(--c-accent-soft); color: var(--c-accent-ink); }
.kf-week__key li.kf-ev--bu { background: var(--c-surface-2); color: var(--c-primary); }
.kf-week__key li.kf-ev--co { background: color-mix(in srgb, #c79a2e 18%, var(--c-bg)); color: #7a5b12; }
.kf-week__key li.kf-ev--ka { background: color-mix(in srgb, #d08a54 18%, var(--c-bg)); color: #8a4f22; }
.kf-week__note { margin-top: 1.2rem; font-size: .86rem; color: var(--c-muted); }

/* ── 16. köşeler (polaroid) ──────────────────────────────────────────── */
.kf-polas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.8rem; padding-top: .6rem; }
.kf-polas__i:nth-child(3n+1) { rotate: -2.4deg; } .kf-polas__i:nth-child(3n+2) { rotate: 1.6deg; margin-top: 2rem; } .kf-polas__i:nth-child(3n) { rotate: -.8deg; margin-top: .8rem; }
.kf-pola { display: block; padding: .8rem .8rem 1rem; background: var(--white); border-radius: 4px; box-shadow: var(--shadow); transition: transform .4s var(--spring), box-shadow .3s; }
.kf-pola:hover { transform: translateY(-8px) rotate(1.5deg) scale(1.02); }
.kf-pola__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-accent-soft); }
.kf-pola__img img { width: 100%; height: 100%; object-fit: cover; }
.kf-pola__c { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-top: .8rem; font: 400 1.35rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-pola__c i { font: 700 .66rem/1 var(--f-b); font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-ink); }

/* ── 17. masa notları ────────────────────────────────────────────────── */
.kf-notes { background: var(--c-surface); }
.kf-notes__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(1.8rem, 4vw, 4rem); align-items: start; }
.kf-notes__lede { color: var(--c-ink-soft); }
.kf-sticky { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1.4rem; }
.kf-snote { position: relative; padding: 1.7rem 1.2rem 1.3rem; border-radius: 3px; box-shadow: var(--shadow-s); rotate: var(--r); transition: transform .4s var(--spring); }
.kf-snote:hover { transform: translateY(-5px) rotate(calc(var(--r) * -1)); }
.kf-snote:nth-child(even) { margin-top: 1.6rem; }
.kf-snote--yl { background: color-mix(in srgb, #f4dc9a 62%, var(--white)); } .kf-snote--pk { background: color-mix(in srgb, var(--c-secondary) 66%, var(--white)); }
.kf-snote--mt { background: color-mix(in srgb, var(--c-accent-soft) 90%, var(--white)); } .kf-snote--lt { background: color-mix(in srgb, var(--c-border-2) 40%, var(--white)); }
.kf-snote__tape { position: absolute; left: 50%; top: -12px; width: 76px; height: 24px; margin-left: -38px; background: color-mix(in srgb, #fff 55%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-border-2) 60%, transparent); rotate: -3deg; }
.kf-snote__when { font: 800 .66rem/1 var(--f-b); letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink-soft); }
.kf-snote__t { font: 400 1.45rem/1.1 var(--f-d); color: var(--c-primary); margin: .5rem 0 .4rem; }
.kf-snote__x { font-size: .9rem; color: var(--c-ink-soft); line-height: 1.5; }
.kf-notes__faq { display: grid; gap: 1rem; background: var(--white); border-radius: 10px; padding: 1.6rem; box-shadow: var(--shadow); }
.kf-qas { display: grid; gap: .5rem; }
.kf-qa { border-bottom: 1px solid var(--c-border); }
.kf-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 0; cursor: pointer; list-style: none; font-weight: 700; }
.kf-qa summary::-webkit-details-marker { display: none; }
.kf-qa__i { position: relative; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--c-secondary); transition: rotate .35s var(--spring), background .2s; }
.kf-qa__i::before, .kf-qa__i::after { content: ""; position: absolute; left: 8px; right: 8px; top: 13px; height: 2px; background: var(--c-primary-dark); }
.kf-qa__i::after { rotate: 90deg; transition: rotate .3s; }
.kf-qa[open] .kf-qa__i { rotate: 180deg; background: var(--c-accent); } .kf-qa[open] .kf-qa__i::after { rotate: 0deg; } .kf-qa[open] .kf-qa__i::before { background: var(--c-on-accent); }
.kf-qa__a { padding: 0 0 1.1rem; font-size: .96rem; }
.kf-qa[open] .kf-qa__a { animation: kf-flip .4s var(--ease); }

/* ── 18. fincan defteri ──────────────────────────────────────────────── */
.kf-diary__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: clamp(1.2rem, 3vw, 2.4rem); align-items: start; }
.kf-post { display: grid; gap: 1.1rem; justify-items: start; transition: transform .35s var(--spring); }
.kf-post:hover { transform: translateY(-5px); }
.kf-post__pic { width: 100%; max-width: 230px; }
.kf-post--big { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); align-items: center; }
.kf-post--big .kf-post__pic { max-width: none; }
.kf-diary__grid > .kf-post:nth-child(3) { margin-top: 2.6rem; }
.kf-post__b { display: grid; gap: .5rem; }
.kf-post__t { font: 400 1.55rem/1.1 var(--f-d); color: var(--c-primary); }
.kf-post--big .kf-post__t { font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem); }
.kf-post:hover .kf-post__t { color: var(--c-accent); }
.kf-post__x { font-size: .95rem; color: var(--c-ink-soft); }
.kf-post__m { font-size: .8rem; color: var(--c-muted); font-weight: 600; }

/* ── 19. masa ayırtma kartı + saatler ────────────────────────────────── */
.kf-book { background: var(--c-surface); }
.kf-book__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(1.8rem, 5vw, 5rem); align-items: start; }
.kf-book__txt { display: grid; gap: 1.1rem; justify-items: start; }
.kf-book__h { font-size: clamp(2.7rem, 1.5rem + 4.4vw, 5.4rem); }
.kf-book__lead { font-size: 1.12rem; color: var(--c-ink-soft); max-width: 34rem; }
.kf-hoursbox { width: 100%; max-width: 30rem; padding: 1.1rem 1.3rem; border-radius: 10px; background: var(--white); box-shadow: inset 0 0 0 2px var(--c-border); }
.kf-hoursbox--s { max-width: none; }
.kf-hoursbox__h { display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: .5rem; }
.kf-hoursbox__h b { font: 400 1.4rem/1 var(--f-d); color: var(--c-primary); }
.kf-hours th, .kf-hours td { padding: .42rem 0; font-size: .92rem; border-bottom: 1px dotted var(--c-border-2); }
.kf-hours th { text-align: left; font-weight: 600; color: var(--c-ink-soft); }
.kf-hours td { text-align: right; font-family: var(--f-m); font-size: .86rem; color: var(--c-ink); }
.kf-hours tr:last-child th, .kf-hours tr:last-child td { border-bottom: 0; }
.kf-hours tr.is-today th, .kf-hours tr.is-today td { color: var(--c-accent-ink); font-weight: 800; background: color-mix(in srgb, var(--c-accent-soft) 70%, transparent); }
.kf-hours tr.is-today th { padding-left: .5rem; border-radius: 6px 0 0 6px; } .kf-hours tr.is-today td { padding-right: .5rem; border-radius: 0 6px 6px 0; }
.kf-resv { position: relative; padding: 1.8rem clamp(1.2rem, 3vw, 2.2rem) 1.6rem; background: var(--white); border-radius: 10px; box-shadow: var(--shadow); display: grid; gap: .9rem; rotate: 1deg; }
.kf-resv::before { content: ""; position: absolute; inset: 8px; border: 2px dashed var(--c-border-2); border-radius: 6px; pointer-events: none; }
.kf-resv__notch { position: absolute; top: 62px; width: 26px; height: 26px; border-radius: 50%; background: var(--c-surface); }
.kf-resv__notch--l { left: -13px; } .kf-resv__notch--r { right: -13px; }
.kf-resv__t { font: 400 clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem)/1.1 var(--f-d); color: var(--c-primary); }
.kf-resv__f { display: grid; gap: 1rem; position: relative; }
.kf-resv__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.kf-resv__n { font-size: .82rem; color: var(--c-muted); }
.kf-resv__tel { font-size: .92rem; color: var(--c-ink-soft); text-align: center; } .kf-resv__tel a { font-weight: 800; color: var(--c-accent-ink); }

/* ── 20. iç sayfa başlığı ────────────────────────────────────────────── */
.kf-ph { position: relative; padding-block: clamp(2rem, 1rem + 4vw, 4.2rem) clamp(1.6rem, 3vw, 3rem); overflow: hidden; background: linear-gradient(var(--c-surface), var(--c-bg)); }
.kf-ph__in { position: relative; z-index: 2; display: grid; gap: .9rem; justify-items: start; }
.kf-crumbs { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .82rem; font-weight: 600; color: var(--c-muted); }
.kf-crumbs a:hover { color: var(--c-accent-ink); text-decoration: underline; }
.kf-crumbs i { font-style: normal; opacity: .5; }
.kf-ph__k { padding: .4rem .75rem; border-radius: 8px; background: var(--c-secondary); color: var(--c-primary-dark); }
.kf-ph__t { font: 400 clamp(2.8rem, 1.4rem + 5.4vw, 6rem)/1 var(--f-d); color: var(--c-primary); text-wrap: balance; max-width: 18ch; }
.kf-ph__t--mid { font-size: clamp(2.5rem, 1.4rem + 4.2vw, 4.8rem); max-width: 22ch; } .kf-ph__t--long { font-size: clamp(2.1rem, 1.3rem + 3vw, 3.7rem); max-width: 28ch; }
.kf-ph__s { max-width: 44rem; font-size: 1.1rem; color: var(--c-ink-soft); }
.kf-ph__act { display: flex; gap: .7rem; flex-wrap: wrap; }
.kf-ph__ring { position: absolute; right: max(2vw, calc(50% - 600px)); top: 50%; width: clamp(150px, 24vw, 330px); aspect-ratio: 1; translate: 0 -50%; border-radius: 50%; border: 18px solid color-mix(in srgb, var(--c-border-2) 55%, transparent); border-top-color: color-mix(in srgb, var(--c-border-2) 30%, transparent); border-left-color: color-mix(in srgb, var(--c-border-2) 85%, transparent); rotate: -20deg; filter: blur(1px); z-index: 1; }
.kf-ph__ring::after { content: ""; position: absolute; inset: 14%; border-radius: 50%; border: 6px dotted color-mix(in srgb, var(--c-secondary) 80%, transparent); }
@keyframes kf-rise { 0%, 100% { transform: translateY(6px) skewX(-8deg); opacity: .25; } 50% { transform: translateY(-8px) skewX(8deg); opacity: .6; } }

/* ── 21. sayfa mimarileri ────────────────────────────────────────────── */
.kf-grows { display: grid; gap: clamp(1.6rem, 3.4vw, 3rem); }
.kf-grow { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: clamp(1.2rem, 4vw, 3.2rem); align-items: center; padding: clamp(1rem, 2vw, 1.6rem); border-radius: 14px; background: var(--white); box-shadow: inset 0 0 0 2px var(--c-border); }
.kf-grow:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(180px, 280px); } .kf-grow:nth-child(even) .kf-grow__pic { order: 2; }
.kf-grow__pic .kf-disc { max-width: 280px; margin-inline: auto; }
.kf-grow__b { display: grid; gap: .7rem; justify-items: start; }
.kf-grow__b .kf-k em { font-style: normal; padding: .2rem .5rem; margin-left: .5rem; border-radius: 5px; background: var(--c-secondary); color: var(--c-primary-dark); letter-spacing: .08em; }
.kf-grow__t { font: 400 clamp(2rem, 1.4rem + 1.8vw, 3.1rem)/1.05 var(--f-d); color: var(--c-primary); }
.kf-grow__t a:hover { color: var(--c-accent); }
.kf-grow__s { color: var(--c-ink-soft); max-width: 52ch; }
.kf-grow__p { display: flex; align-items: center; gap: .6rem 1.6rem; flex-wrap: wrap; margin-top: .3rem; }
.kf-grow__p small { font: 700 .72rem/1 var(--f-b); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.kf-grow__p b { font: 400 2.2rem/1 var(--f-d); color: var(--c-accent); }
.kf-sd { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: start; }
.kf-sd__main { display: grid; gap: 1.6rem; }
.kf-sd__fig { display: grid; }
.kf-sd__disc { width: min(100%, 380px); margin: .6rem 0 .6rem 10px; }
.kf-fis { position: sticky; top: calc(var(--top-h) + 1.2rem); display: grid; gap: 1rem; padding: 1.6rem 1.4rem 2.2rem; background: var(--white); box-shadow: var(--shadow); border-radius: 4px 4px 0 0; -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 18px 100% repeat-x, linear-gradient(#000 0 0) top / 100% calc(100% - 9px) no-repeat; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 18px 100% repeat-x, linear-gradient(#000 0 0) top / 100% calc(100% - 9px) no-repeat; }
.kf-fis--way, .kf-fis--ct, .kf-fis--about { position: relative; top: 0; }
.kf-fis__big { display: grid; justify-items: start; } .kf-fis__big small { font: 700 .72rem/1 var(--f-b); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); } .kf-fis__big b { font: 400 3.6rem/1.1 var(--f-d); color: var(--c-accent); }
.kf-fis__dl { display: grid; gap: .1rem; }
.kf-fis__dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px dashed var(--c-border-2); font-size: .92rem; }
.kf-fis__dl dt { color: var(--c-muted); font-weight: 600; } .kf-fis__dl dd { text-align: right; font-weight: 700; }
.kf-fis__n, .kf-fis__text { font-size: .82rem; color: var(--c-muted); line-height: 1.5; } .kf-fis__text { font-size: .96rem; color: var(--c-ink-soft); }
.kf-mi--fis .kf-mi__n { font-size: .98rem; } .kf-mi--fis .kf-mi__p { font-size: 1.3rem; }
.kf-pkg { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: start; }
.kf-pkgcard { position: relative; display: grid; gap: 1rem; padding: 1.8rem 1.6rem; background: var(--white); border-radius: 10px; box-shadow: var(--shadow); rotate: -1deg; }
.kf-pkgcard::before { content: ""; position: absolute; inset: 8px; border: 2px dashed var(--c-border-2); border-radius: 6px; pointer-events: none; }
.kf-pkgcard__t { font: 400 clamp(2rem, 1.4rem + 1.6vw, 2.8rem)/1.05 var(--f-d); color: var(--c-primary); }
.kf-leader { display: grid; gap: .1rem; }
.kf-leader li { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: .5rem; padding: .5rem 0; }
.kf-leader i { border-bottom: 3px dotted var(--c-border-2); height: .5em; translate: 0 -.2em; } .kf-leader b { font: 400 1.2rem/1 var(--f-d); color: var(--c-accent); }
.kf-pkgcard__p { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; } .kf-pkgcard__p small { font: 700 .74rem/1.2 var(--f-b); letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); } .kf-pkgcard__p span { font: 400 3.4rem/1 var(--f-d); color: var(--c-accent); }
.kf-pkg__side { display: grid; gap: 1.4rem; }
.kf-oth { display: grid; gap: .2rem; } .kf-oth a { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: baseline; padding: .7rem 0; font-weight: 700; } .kf-oth i { border-bottom: 3px dotted var(--c-border-2); height: .5em; } .kf-oth b { font: 400 1.4rem/1 var(--f-d); color: var(--c-accent); } .kf-oth a:hover span { color: var(--c-accent); }
.kf-feat { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(1.4rem, 4vw, 3.4rem); align-items: center; margin-bottom: clamp(2rem, 4vw, 3.6rem); padding: clamp(1rem, 3vw, 2rem); border-radius: 16px; background: var(--c-surface); }
.kf-feat__pic { width: 100%; max-width: 420px; margin-inline: auto; transition: rotate .6s var(--spring); } .kf-feat:hover .kf-feat__pic { rotate: 8deg; }
.kf-feat__b { display: grid; gap: .8rem; justify-items: start; }
.kf-feat__t { font: 400 clamp(2rem, 1.3rem + 2.4vw, 3.4rem)/1.05 var(--f-d); color: var(--c-primary); } .kf-feat__x { color: var(--c-ink-soft); font-size: 1.05rem; }
.kf-idx { display: grid; }
.kf-idx__li a { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto 104px; gap: 1.2rem; align-items: center; padding: 1.2rem .4rem; border-bottom: 1px solid var(--c-border-2); transition: background .25s, padding .3s var(--ease); }
.kf-idx__li a:hover { background: var(--c-surface); padding-inline: 1.2rem; }
.kf-idx__n { font: 400 2.6rem/1 var(--f-d); color: var(--c-secondary); text-shadow: 0 0 0 var(--c-primary); -webkit-text-stroke: 1.5px var(--c-primary); }
.kf-idx__b { display: grid; gap: .3rem; } .kf-idx__t { font: 400 1.7rem/1.1 var(--f-d); color: var(--c-primary); } .kf-idx__x { font-size: .92rem; color: var(--c-ink-soft); max-width: 62ch; } .kf-idx__m { font-size: .8rem; color: var(--c-muted); font-weight: 600; text-align: right; }
.kf-idx__pic { width: 104px; box-shadow: 0 0 0 4px var(--white), 0 0 0 6px var(--c-border-2); }
.kf-art { display: grid; grid-template-columns: 200px minmax(0, 760px); gap: clamp(1.4rem, 4vw, 4rem); justify-content: center; }
.kf-art__side { position: sticky; top: calc(var(--top-h) + 1.4rem); align-self: start; display: grid; gap: 1rem; padding-top: .4rem; }
.kf-art__side dl { display: grid; gap: .8rem; } .kf-art__side dt { font: 800 .66rem/1 var(--f-b); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); } .kf-art__side dd { font-weight: 700; }
.kf-art__cover { margin: 0 0 2rem; } .kf-art__disc { width: min(100%, 440px); }
.kf-callout { margin-top: 2.2rem; padding: 1.1rem 1.3rem; border-left: 6px solid var(--c-secondary); background: var(--c-surface); border-radius: 0 10px 10px 0; font-size: .95rem; color: var(--c-ink-soft); }
.kf-callout--lg { margin-top: 0; display: grid; gap: .5rem; }
.kf-faq { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(1.4rem, 4vw, 4rem); align-items: start; }
.kf-faq__idx { position: sticky; top: calc(var(--top-h) + 1.4rem); display: grid; gap: .9rem; }
.kf-faq__idx ol { display: grid; gap: .1rem; } .kf-faq__idx a { display: flex; gap: .7rem; padding: .55rem .6rem; border-radius: 8px; font-weight: 700; transition: background .2s; } .kf-faq__idx a:hover { background: var(--c-accent-soft); } .kf-faq__idx span { font: 400 1.2rem/1.2 var(--f-d); color: var(--c-accent); }
.kf-faq__main { display: grid; gap: 2.6rem; } .kf-faq__g { scroll-margin-top: calc(var(--top-h) + 1rem); } .kf-faq__g .kf-h3 { margin-bottom: .6rem; } .kf-faq__g .kf-h3 span { color: var(--c-accent); margin-right: .3rem; }
.kf-about { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: start; }
.kf-story { position: relative; padding: clamp(1.4rem, 3.4vw, 3rem); background: var(--white); border-radius: 6px; box-shadow: var(--shadow); background-image: repeating-linear-gradient(transparent 0 34px, color-mix(in srgb, var(--c-border) 45%, transparent) 34px 35px); }
.kf-story__to { font: 400 2rem/1 var(--f-d); color: var(--c-accent); margin-bottom: 1rem; }
.kf-rules { display: grid; gap: .6rem; padding-left: 1.4rem; list-style: decimal; } .kf-rules li::marker { font-weight: 800; color: var(--c-accent); }
.kf-story__sig { display: grid; margin-top: 2rem; font: 400 2rem/1 var(--f-d); color: var(--c-primary); rotate: -2deg; } .kf-story__sig small { font: 700 .8rem/1.4 var(--f-b); color: var(--c-muted); }
.kf-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 2.4rem; }
.kf-term { display: grid; gap: .4rem; padding-top: 1rem; border-top: 3px dotted var(--c-border-2); } .kf-term__n { font: 400 2.4rem/1 var(--f-d); color: var(--c-accent); } .kf-term__t { font: 400 1.5rem/1.1 var(--f-d); color: var(--c-primary); } .kf-term__x { font-size: .94rem; color: var(--c-ink-soft); }
.kf-ct { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: start; }
.kf-info { display: grid; gap: 1rem; } .kf-info li { display: flex; gap: .8rem; align-items: start; } .kf-info .kf-i { width: 1.4rem; height: 1.4rem; color: var(--c-accent); margin-top: .2rem; } .kf-info b { display: block; font: 800 .68rem/1.4 var(--f-b); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); } .kf-info a { font-weight: 700; } .kf-info a:hover { color: var(--c-accent-ink); text-decoration: underline; }
.kf-qt { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: start; } .kf-qt__side { display: grid; gap: 1rem; position: sticky; top: calc(var(--top-h) + 1.2rem); }
/* masa ayırtma sihirbazı */
.kf-wiz { padding: clamp(1.4rem, 3vw, 2.4rem); background: var(--white); border-radius: 10px; box-shadow: var(--shadow); position: relative; }
.kf-wiz::before { content: ""; position: absolute; inset: 8px; border: 2px dashed var(--c-border); border-radius: 6px; pointer-events: none; }
.kf-wiz__steps { display: none; position: relative; gap: .5rem; margin-bottom: .6rem; } .js .kf-wiz__steps { display: flex; }
.kf-wiz__steps li { flex: 1; display: grid; justify-items: center; gap: .3rem; font: 700 .72rem/1 var(--f-b); letter-spacing: .06em; color: var(--c-muted); position: relative; }
.kf-wiz__steps li::before { content: ""; position: absolute; top: 15px; left: -50%; right: 50%; height: 3px; background: var(--c-border); } .kf-wiz__steps li:first-child::before { display: none; }
.kf-wiz__steps b { position: relative; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--c-surface-2); font: 400 1.2rem/1 var(--f-d); color: var(--c-primary); transition: background .3s, color .3s, scale .4s var(--spring); }
.kf-wiz__steps li.is-on b { background: var(--c-accent); color: var(--c-on-accent); scale: 1.15; } .kf-wiz__steps li.is-done b { background: var(--c-secondary); } .kf-wiz__steps li.is-on, .kf-wiz__steps li.is-done { color: var(--c-ink); } .kf-wiz__steps li.is-done::before, .kf-wiz__steps li.is-on::before { background: var(--c-accent); }
.kf-wiz__p { border: 0; padding: 0; margin: 0; display: grid; gap: 1.1rem; position: relative; } .kf-wiz__p + .kf-wiz__p { margin-top: 1.6rem; } .js .kf-wiz__p { display: none; } .js .kf-wiz__p.is-on { display: grid; animation: kf-flip .45s var(--ease); }
.kf-wiz__p legend { font: 400 clamp(1.7rem, 1.3rem + 1.2vw, 2.3rem)/1.1 var(--f-d); color: var(--c-primary); padding: 0; margin-bottom: .3rem; }
.kf-wiz__nav { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: flex-end; }
.kf-wiz__st { min-height: 1.4rem; font-size: .9rem; font-weight: 700; color: var(--c-accent-ink); }
.kf-wiz__sum { padding: .9rem 1rem; border-radius: 8px; background: var(--c-surface); font-size: .93rem; color: var(--c-ink-soft); line-height: 1.6; } .kf-wiz__sum:empty { display: none; }
.kf-chips { display: flex; flex-wrap: wrap; gap: .5rem; } .kf-chip input, .kf-slot input { position: absolute; opacity: 0; pointer-events: none; }
.kf-chip span, .kf-slot span { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border-radius: 8px; background: var(--c-surface); font-weight: 700; font-size: .92rem; cursor: pointer; box-shadow: inset 0 0 0 2px var(--c-border); transition: background .2s, color .2s, transform .25s var(--spring); } .kf-chip, .kf-slot { position: relative; }
.kf-chip span:hover, .kf-slot span:hover { transform: translateY(-2px); background: var(--c-accent-soft); } .kf-chip input:checked + span, .kf-slot input:checked + span { background: var(--c-accent); color: var(--c-on-accent); box-shadow: none; } .kf-chip input:focus-visible + span, .kf-slot input:focus-visible + span { outline: 3px solid var(--c-primary); outline-offset: 2px; }
.kf-slots { display: flex; flex-wrap: wrap; gap: .5rem; } .kf-slot span { font-family: var(--f-m); font-size: .9rem; }
.kf-slot input:disabled + span { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
/* hata sayfası */
.kf-err { display: grid; min-height: 70vh; align-items: center; } .kf-err__card { display: grid; grid-template-columns: minmax(220px, 360px) minmax(0, 1fr); gap: clamp(1.6rem, 5vw, 4rem); align-items: center; }
.kf-err__cup { position: relative; } .kf-err__cup svg { width: 100%; height: auto; overflow: visible; } .e-sa { fill: var(--white); stroke: var(--c-border-2); stroke-width: 3; } .e-ri { fill: none; stroke: var(--c-border); stroke-width: 3; } .e-h1 { fill: none; stroke: var(--c-border-2); stroke-width: 22; stroke-linecap: round; } .e-h2 { fill: none; stroke: var(--white); stroke-width: 15; stroke-linecap: round; } .e-cu { fill: var(--white); stroke: var(--c-border-2); stroke-width: 3; } .e-in { fill: var(--c-surface-2); } .e-sh { fill: #fff; opacity: .8; } .e-st { fill: none; stroke: var(--c-border-2); stroke-width: 6; stroke-linecap: round; opacity: .8; animation: kf-rise 3s ease-in-out infinite; }
.kf-err__code { position: absolute; left: 31%; top: 40%; font: 400 clamp(3rem, 2rem + 5vw, 6.4rem)/1 var(--f-d); color: var(--c-primary); }
.kf-err__t { font: 400 clamp(2.4rem, 1.5rem + 3.4vw, 4.6rem)/1.02 var(--f-d); color: var(--c-primary); margin: .5rem 0; } .kf-err__m { color: var(--c-ink-soft); max-width: 36rem; } .kf-err__act { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.4rem; } .kf-err__dbg { grid-column: 1 / -1; padding: 1rem; background: var(--c-surface); border-radius: 8px; overflow: auto; font: .8rem var(--f-m); }
/* sayfa oluşturucu blokları */
.kf-bcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 2rem; } .kf-bcard { display: grid; gap: .8rem; justify-items: start; } .kf-bcard__pic { width: 150px; } .kf-bcard__t { font: 400 1.6rem/1.1 var(--f-d); color: var(--c-primary); } .kf-bcard p { color: var(--c-ink-soft); }
.kf-bgal { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; } .kf-bgal__i { display: block; padding: .5rem; background: var(--white); box-shadow: var(--shadow-s); border-radius: 3px; } .kf-bgal__i img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kf-bhero__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr); gap: 3rem; align-items: center; } .kf-bhero__in > div { display: grid; gap: 1.1rem; justify-items: start; } .kf-bhero__fig .kf-disc { max-width: 380px; margin-inline: auto; }
.kf-frame { display: block; padding: .6rem; background: var(--white); box-shadow: var(--shadow); border-radius: 3px; } .kf-bimg figcaption { margin-top: .8rem; text-align: center; font-size: .9rem; color: var(--c-muted); }
.kf-bq { padding: 1.6rem 2rem; border-left: 6px solid var(--c-secondary); font: 400 clamp(1.7rem, 1.3rem + 1.4vw, 2.5rem)/1.2 var(--f-d); color: var(--c-primary); } .kf-bq cite { display: block; margin-top: 1rem; font: 700 .9rem var(--f-b); font-style: normal; color: var(--c-muted); }
.kf-bcta { text-align: center; } .kf-bcta .kf-wrap { display: grid; gap: 1.2rem; justify-items: center; } .kf-bcta__act { display: flex; gap: .8rem; flex-wrap: wrap; justify-content: center; }
.kf-bstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.4rem; } .kf-bstats div { display: grid; gap: .2rem; } .kf-bstats dd { font: 400 3rem/1 var(--f-d); color: var(--c-accent); } .kf-bstats dt { color: var(--c-muted); font-weight: 600; }

/* ── 22. alt bilgi: kahve fişi ───────────────────────────────────────── */
.kf-foot { position: relative; background: var(--c-surface-2); padding-top: clamp(3.4rem, 6vw, 5.4rem); margin-top: clamp(1rem, 3vw, 3rem); -webkit-mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / 26px 100% repeat-x; mask: conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / 26px 100% repeat-x; }
.kf-foot__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .85fr) minmax(0, .9fr); gap: clamp(1.6rem, 4vw, 3.6rem); align-items: start; }
.kf-foot__lead { display: grid; gap: .8rem; justify-items: start; }
.kf-foot__cup { width: 86px; height: 86px; }
.kf-foot__name { font: 400 clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem)/1.05 var(--f-d); color: var(--c-primary); }
.kf-foot__txt { color: var(--c-ink-soft); max-width: 30ch; }
.kf-foot__soc { display: flex; gap: .5rem; } .kf-foot__soc a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--white); transition: background .2s, transform .3s var(--spring); } .kf-foot__soc a:hover { background: var(--c-accent); color: var(--c-on-accent); transform: rotate(-12deg); }
.kf-rcpt { position: relative; padding: 1.4rem 1.3rem 2.2rem; background: var(--white); font-family: var(--f-m); font-size: .86rem; color: var(--c-ink-soft); box-shadow: var(--shadow); rotate: -1.2deg; -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 16px 100% repeat-x, linear-gradient(#000 0 0) top / 100% calc(100% - 8px) no-repeat; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 16px 100% repeat-x, linear-gradient(#000 0 0) top / 100% calc(100% - 8px) no-repeat; }
.kf-rcpt__h { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; flex-wrap: wrap; padding-bottom: .8rem; margin-bottom: .6rem; border-bottom: 2px dashed var(--c-border-2); } .kf-rcpt__h b { font: 400 1.6rem/1 var(--f-d); color: var(--c-primary); letter-spacing: .02em; } .kf-rcpt__h span { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.kf-rcpt__l a { display: grid; grid-template-columns: auto 1fr auto; gap: .5rem; align-items: baseline; padding: .32rem 0; color: var(--c-ink); } .kf-rcpt__l i { border-bottom: 2px dotted var(--c-border-2); height: .6em; } .kf-rcpt__l a:hover span { color: var(--c-accent-ink); text-decoration: underline; } .kf-rcpt__l b { font-weight: 700; color: var(--c-muted); }
.kf-rcpt__t { margin-top: .9rem; padding-top: .8rem; border-top: 2px dashed var(--c-border-2); text-align: center; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }
.kf-foot__info { display: grid; gap: 1rem; }
.kf-foot__addr { display: grid; gap: .55rem; font-style: normal; font-size: .93rem; } .kf-foot__addr span, .kf-foot__addr a { display: flex; gap: .6rem; align-items: start; } .kf-foot__addr .kf-i { color: var(--c-accent); margin-top: .2rem; } .kf-foot__addr a:hover { color: var(--c-accent-ink); text-decoration: underline; }
.kf-foot__bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .8rem 2rem; margin-top: clamp(2rem, 4vw, 3.4rem); padding-block: 1.3rem 5.6rem; border-top: 2px dashed var(--c-border-2); font-size: .84rem; color: var(--c-muted); } .kf-foot__law { font-weight: 700; } .kf-foot__bar nav { display: flex; gap: 1.2rem; flex-wrap: wrap; } .kf-foot__bar a:hover { color: var(--c-accent-ink); text-decoration: underline; }

/* ── 23. görüntüleyici ───────────────────────────────────────────────── */
.kf-lb { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; background: color-mix(in srgb, var(--c-bg) 96%, transparent); opacity: 0; transition: opacity .35s; }
.kf-lb.is-open { opacity: 1; }
.kf-lb__f { display: grid; gap: 1rem; justify-items: center; max-width: min(92vw, 1100px); }
.kf-lb__pl { display: block; padding: .9rem .9rem 1.4rem; background: var(--white); box-shadow: var(--shadow); rotate: -1.4deg; transform: scale(.94); transition: transform .5s var(--spring); }
.kf-lb.is-open .kf-lb__pl { transform: none; }
.kf-lb__pl img { max-height: 70vh; width: auto; max-width: 100%; }
.kf-lb figcaption { font: 400 1.6rem/1.2 var(--f-d); color: var(--c-primary); }
.kf-lb__x, .kf-lb__n { position: absolute; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--white); box-shadow: var(--shadow-s); transition: background .2s, transform .25s var(--spring); }
.kf-lb__x:hover, .kf-lb__n:hover { background: var(--c-accent); color: var(--c-on-accent); transform: scale(1.08); }
.kf-lb__x { top: 1.1rem; right: 1.1rem; } .kf-lb__n { top: 50%; margin-top: -26px; } .kf-lb__n--p { left: 1rem; } .kf-lb__n--p .kf-i { transform: scaleX(-1); } .kf-lb__n--n { right: 1rem; }

/* ── 24. sayfa geçişi: süt dolumu ────────────────────────────────────── */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: kf-vt-out .7s cubic-bezier(.5, 0, .3, 1) both; }
::view-transition-new(root) { animation: kf-vt-in .8s cubic-bezier(.5, 0, .2, 1) both; clip-path: polygon(0 100%, 25% 100%, 50% 100%, 75% 100%, 100% 100%, 100% 100%, 0 100%); }
@keyframes kf-vt-out { to { opacity: .55; transform: translateY(-2.5%) scale(.985); } }
@keyframes kf-vt-in { 0% { clip-path: polygon(0 100%, 25% 100%, 50% 100%, 75% 100%, 100% 100%, 100% 100%, 0 100%); } 60% { clip-path: polygon(0 40%, 25% 34%, 50% 42%, 75% 34%, 100% 40%, 100% 100%, 0 100%); } 100% { clip-path: polygon(0 -8%, 25% -8%, 50% -8%, 75% -8%, 100% -8%, 100% 100%, 0 100%); } }

/* ── 25. duyarlı ─────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
    .kf-status { display: none; } .kf-top__act { margin-left: auto; }
    .kf-coasters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kf-co:nth-child(n) { margin-top: 0; } .kf-co:nth-child(3n+2) { margin-top: 1.6rem; }
    .kf-week__days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .kf-tents { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kf-tent:nth-child(3) { margin-top: 0; }
    .kf-ask { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kf-ask__lead { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
    .kf-top__tel span { display: none; }
    .kf-hero__grid { grid-template-columns: 1fr; min-height: 0; padding-top: .5rem; }
    .kf-hero__art { grid-area: 1 / 1; justify-self: center; width: min(88vw, 520px); margin: 0 auto -1.4rem; }
    .kf-hero__copy { grid-area: 2 / 1; padding-top: 0; max-width: none; }
    .kf-tag { position: relative; right: auto; bottom: auto; width: min(88%, 340px); margin: -3.2rem 0 2rem auto; }
    .kf-mcard { grid-template-columns: 1fr; padding: .8rem; } .kf-mcard__tabs { display: flex; gap: .4rem; overflow-x: auto; padding: 1.2rem .4rem .8rem; scrollbar-width: none; } .kf-mtab { flex: none; border-radius: 8px; } .kf-mtab[aria-selected="true"] { margin: 0; transform: none; box-shadow: 0 8px 0 -4px color-mix(in srgb, var(--c-secondary) 80%, transparent); } .kf-mcard__body { border-left: 0; padding: 1rem .6rem; }
    .kf-path__list { grid-template-columns: 1fr; gap: 1.8rem; padding-left: 0; } .kf-path__line { left: 45px; right: auto; top: 3rem; bottom: 3rem; width: 6px; height: auto; background: repeating-linear-gradient(var(--c-border-2) 0 12px, transparent 12px 22px); } .kf-path__line i { background: repeating-linear-gradient(var(--c-accent) 0 12px, transparent 12px 22px); transform: scaleY(var(--pp, 0)); transform-origin: 50% 0; }
    .kf-stop { grid-template-columns: 92px 1fr; justify-items: start; text-align: left; gap: .2rem 1.2rem; } .kf-stop:nth-child(even) { margin-top: 0; } .kf-stop__dot { grid-row: span 2; } .kf-stop__x { max-width: none; }
    .kf-stampcard__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kf-trip__grid, .kf-trip__grid--page, .kf-notes__grid, .kf-book__grid, .kf-sd, .kf-pkg, .kf-about, .kf-ct, .kf-qt, .kf-err__card, .kf-bhero__in { grid-template-columns: minmax(0, 1fr); } .kf-trip__head, .kf-fis, .kf-qt__side { position: relative; top: 0; }
    .kf-diary__grid { grid-template-columns: 1fr 1fr; } .kf-post--big { grid-column: 1 / -1; } .kf-diary__grid > .kf-post:nth-child(3) { margin-top: 0; }
    .kf-foot__grid { grid-template-columns: 1fr 1fr; } .kf-foot__lead { grid-column: 1 / -1; }
    .kf-art { grid-template-columns: minmax(0, 1fr); } .kf-art__side { position: relative; top: 0; display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; } .kf-art__side dl { display: flex; gap: 1.6rem; flex-wrap: wrap; }
    .kf-faq { grid-template-columns: minmax(0, 1fr); } .kf-faq__idx { position: relative; top: 0; } .kf-faq__idx ol { display: flex; flex-wrap: wrap; gap: .3rem; }
    .kf-grow, .kf-grow:nth-child(even) { grid-template-columns: 1fr; } .kf-grow:nth-child(even) .kf-grow__pic { order: 0; } .kf-grow__pic .kf-disc { max-width: 220px; margin-inline: 0; }
    .kf-feat { grid-template-columns: minmax(0, 1fr); } .kf-idx__li a { grid-template-columns: 3rem minmax(0, 1fr) 84px; } .kf-idx__m { display: none; } .kf-idx__pic { width: 84px; }
    .kf-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kf-polas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    :root { --top-h: 62px; }
    body { padding-bottom: 92px; }
    .kf-top__in { gap: .6rem; } .kf-sauce { display: none; } .kf-pill { min-height: 38px; padding: .45rem .9rem; } .kf-top__tel { display: none; }
    .kf-brand__name { font-size: 1.55rem; } .kf-cupsvg { width: 38px; height: 38px; }
    .kf-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 120; display: grid; grid-template-columns: 1fr 1fr 96px 1fr 1fr; align-items: end; padding: 0 .4rem calc(.5rem + env(safe-area-inset-bottom)); background: var(--white); box-shadow: 0 -10px 24px -16px color-mix(in srgb, var(--c-ink) 40%, transparent); border-radius: 18px 18px 0 0; }
    .kf-dock__a { display: grid; justify-items: center; gap: .15rem; padding: .7rem 0 .2rem; font: 700 .66rem/1 var(--f-b); letter-spacing: .04em; color: var(--c-ink-soft); } .kf-dock__a .kf-i { width: 1.45rem; height: 1.45rem; color: var(--c-primary); } .kf-dock__a--go { color: var(--c-accent-ink); } .kf-dock__a--go .kf-i { color: var(--c-accent); }
    .kf-dock__sauce { position: relative; width: 78px; height: 78px; margin: -30px auto 0; border-radius: 50%; display: grid; place-items: center; background: var(--white); box-shadow: 0 0 0 5px var(--c-surface-2), var(--shadow-s); transition: transform .5s var(--spring); } .kf-dock__sauce:active { transform: rotate(60deg) scale(.94); } .kf-dock__cup { width: 54px; height: 54px; }
    :root { --cms-fab-bottom: 7rem; }
    .kf-hero__h { font-size: clamp(2.7rem, 12.5vw, 4rem); }
    .kf-hero__act .kf-btn { flex: 1 1 100%; } .kf-hero__stats { gap: .4rem 1.4rem; } .kf-hero__stats dd { font-size: 1.7rem; }
    .kf-ask { grid-template-columns: 1fr 1fr; padding: 1.1rem; } .kf-ask__lead, .kf-ask [data-ask-go], .kf-ask__f--n { grid-column: 1 / -1; } .kf-ask__f--n .kf-step { justify-content: space-between; }
    .kf-coasters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; } .kf-co:nth-child(3n+2) { margin-top: 0; } .kf-co:nth-child(2n) { margin-top: 1.6rem; }
    .kf-week__days { grid-template-columns: 1fr; gap: .5rem; } .kf-day { min-height: 0; grid-template-columns: 6.2rem minmax(0, 1fr); align-items: start; } .kf-day.is-today { transform: none; } .kf-day__n { flex-direction: column; align-items: flex-start; gap: .4rem; } .kf-day__none { padding-top: .3rem; }
    .kf-tents { grid-template-columns: 1fr; } .kf-tent:nth-child(n) { margin-top: 0; }
    .kf-stampcard__list { grid-template-columns: 1fr; }
    .kf-way { grid-template-columns: 6rem minmax(0, 1fr) 5.2rem; gap: .2rem .6rem; } .kf-way__t { white-space: nowrap; font-size: .88rem; } .kf-way__n { font-size: 1.3rem; }
    .kf-sticky { grid-template-columns: 1fr; } .kf-snote:nth-child(even) { margin-top: 0; }
    .kf-diary__grid { grid-template-columns: 1fr; } .kf-post--big { grid-template-columns: 1fr; } .kf-post__pic { max-width: 200px; }
    .kf-resv { rotate: 0deg; } .kf-resv__row { grid-template-columns: 1fr 1fr; gap: .8rem; }
    .kf-foot__grid { grid-template-columns: 1fr; } .kf-rcpt { rotate: 0deg; } .kf-foot__bar { padding-bottom: 7rem; }
    .kf-terms { grid-template-columns: 1fr; } .kf-polas { grid-template-columns: 1fr; gap: 1.6rem; } .kf-polas__i:nth-child(n) { margin-top: 0; rotate: 0deg; } .kf-polas__i:nth-child(odd) { rotate: -1.2deg; } .kf-polas__i:nth-child(even) { rotate: 1deg; }
    .kf-ph__ring { opacity: .4; width: 150px; right: -50px; }
    .kf-wiz__steps span { display: none; } .kf-wiz__nav .kf-btn { flex: 1; }
    .kf-lb__n { top: auto; bottom: 1rem; margin: 0; } .kf-lb__n--p { left: calc(50% - 64px); } .kf-lb__n--n { right: calc(50% - 64px); }
    /* menü: tabağın üst yarısı alttan yükselir; sayfalar yay üzerinde */
    .kf-dial__stage { --R: 44vw; --cy: 150px; --sr: calc(var(--R) + 78px); inset: 0; left: 0; top: 0; width: auto; height: auto; transform: none; }
    .kf-saucer { inset: auto; left: 50%; bottom: calc(var(--cy) - var(--sr)); width: calc(var(--sr) * 2); height: calc(var(--sr) * 2); translate: -50% 0; }
    .kf-saucer i:nth-child(1) { inset: 5%; } .kf-saucer i:nth-child(2) { inset: 22%; }
    .kf-ring { inset: auto; left: 50%; bottom: var(--cy); top: auto; width: 0; height: 0; }
    .kf-ring__a { gap: .3rem; max-width: 98px; padding: .5rem .55rem; font-size: 1.1rem; flex-direction: column; text-align: center; }
    .kf-ring__li { transition: transform .9s var(--spring), opacity .5s; } .kf-ring__li.is-far { opacity: 0; pointer-events: none; visibility: hidden; transition: transform .9s var(--spring), opacity .4s, visibility 0s .4s; } .kf-ring__li.is-edge { opacity: .5; }
    .kf-ring__li.is-sel .kf-ring__a { scale: 1.12; }
    .kf-mid { left: 50%; top: 27vh; width: min(62vw, 250px); } .kf-mid__t { font-size: 2.1rem; } .kf-mid__h { bottom: -2.9rem; font-size: .84rem; }
    .kf-spin { top: auto; bottom: auto; top: calc(27vh + min(31vw, 125px) - 6px); margin: 0; width: 46px; height: 46px; } .kf-spin--p { left: .9rem; } .kf-spin--n { right: .9rem; }
    .kf-dial__foot { bottom: .9rem; gap: .4rem .6rem; } .kf-dial__foot .kf-btn { min-height: 44px; padding-inline: 1rem; } .kf-dial__call { padding: .4rem .6rem; font-size: .84rem; }
}
@media (max-width: 380px) { .kf-wiz__steps b { width: 28px; height: 28px; } .kf-brand__name { font-size: 1.35rem; } }

/* ── 26. hareket azaltma ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
    [data-reveal] { opacity: 1; transform: none; }
    .l-art { animation: none; } .l-swirl { opacity: 0; } .l-steam path { animation: none; } .kf-tag { animation: none; }
    .js .kf-stamp__seal { scale: 1; opacity: 1; } .kf-way__bar i { transform: scaleX(1); }
    ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

/* 19. Fincan variant */
:root { --radius-md: 14px; }
