/* Altıeylül Psikoloji — mobil öncelikli tasarım sistemi */

@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(/fonts/fraunces-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(/fonts/fraunces-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(/fonts/fraunces-latin-wght-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(/fonts/fraunces-latin-ext-wght-italic.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Jakarta'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Jakarta'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  color-scheme: only light;
  --brand: #7b5b42;
  --brand-900: #2a2522;
  --brand-800: #634733;
  --brand-600: #94704f;
  --brand-100: #efe6dc;
  --brand-50: #f7f2ec;
  --bronze: #a87c4f;
  --bronze-600: #8d6640;
  --bronze-100: #f2e7d8;
  --sand: #f5efe6;
  --cream: #fbf8f3;
  --paper: #fffdf9;
  --sage: #e8ddd0;
  --blush: #f4e4da;
  --mist: #ece6df;
  --ink: #24201d;
  --ink-2: #3d3631;
  --muted: #6b6159;
  --line: #e7dfd3;
  --line-2: #efe9df;
  --danger: #b4423a;
  --ok: #7b5b42;

  --serif: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --sans: 'Jakarta', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --r-sm: 10px;
  --r: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --shadow-sm: 0 1px 2px rgba(36, 32, 29, .06), 0 2px 8px rgba(36, 32, 29, .04);
  --shadow: 0 10px 30px -12px rgba(42, 37, 34, .18), 0 2px 6px rgba(36, 32, 29, .04);
  --shadow-lg: 0 30px 60px -20px rgba(42, 37, 34, .28);
  --gutter: 20px;
  --hdr-h: 68px;
  --mbar-h: 72px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr-h) + 16px); }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  padding-bottom: calc(var(--mbar-h) + env(safe-area-inset-bottom));
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--brand); text-decoration-thickness: 1px; text-underline-offset: 3px; }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.15; color: var(--ink); }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--bronze) 70%, transparent); outline-offset: 2px; border-radius: 6px; }
[hidden] { display: none !important; }
/* Izgara çocukları içerik genişliğine göre taşmasın (yatay kaydırmalı şeritler için) */
.bk__grid > *, .layout-aside > *, .hero__grid > *, .founder__grid > *, .contact-grid > *, .faq-wrap > *, .expert-hero > *, .visit > * { min-width: 0; }

.ic { width: 22px; height: 22px; flex: none; display: inline-block; vertical-align: middle; }
.ic--sm { width: 17px; height: 17px; }

.wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--gutter); }
.center { text-align: center; }
.muted { color: var(--muted); }
.skip { position: absolute; left: -999px; top: 8px; background: var(--brand); color: #fff; padding: 10px 16px; border-radius: 999px; z-index: 100; }
.skip:focus { left: 8px; }

/* ---------- Tipografi ---------- */
.eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bronze-600); margin: 0 0 .8em; display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ''; width: 22px; height: 1.5px; background: currentColor; opacity: .6; }
.eyebrow--light { color: #e9d4b6; }
.h1, .h2, .hero__title, .page-hero h1 { font-family: var(--serif); font-weight: 400; letter-spacing: -.01em; font-variation-settings: 'opsz' 96, 'SOFT' 50; }
.h2 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); }
.h2 em, .hero__title em, .page-hero h1 em, .ftr__title em { font-style: italic; color: var(--brand); font-variation-settings: 'opsz' 96, 'SOFT' 100, 'WONK' 1; }
.h2--light, .h2--light em { color: #fff; }
.h2--light em { color: #ecd7ba; }

/* ---------- Butonlar ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 24px; border-radius: 999px; border: 1.5px solid transparent;
  font-weight: 650; font-size: 15.5px; text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .2s var(--ease), translate .5s var(--ease-out), background .25s, box-shadow .25s, color .2s, border-color .2s;
  -webkit-tap-highlight-color: transparent;
  position: relative; overflow: hidden; isolation: isolate;
}
.btn:active { transform: scale(.97); }
.btn--primary { background: var(--brand); color: #fff; box-shadow: 0 8px 20px -8px rgba(123, 91, 66, .55); }
.btn--primary:hover { background: var(--brand-800); box-shadow: 0 14px 28px -10px rgba(123, 91, 66, .6); }
.btn--ghost { background: transparent; color: var(--brand); border-color: color-mix(in srgb, var(--brand) 25%, transparent); }
.btn--ghost:hover { background: var(--brand-50); border-color: var(--brand); }
.btn--light { background: #fff; color: var(--brand-900); }
.btn--light:hover { background: var(--cream); }
.btn--outline-light { color: #fff; border-color: rgba(255, 255, 255, .4); }
.btn--outline-light:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.btn--wa { background: #e8f6ee; color: #146c43; }
.btn--wa:hover { background: #d6f0e1; }
.btn--sm { min-height: 42px; padding: 0 18px; font-size: 14.5px; }
.btn--lg { min-height: 56px; padding: 0 28px; font-size: 16px; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .5; pointer-events: none; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; text-decoration: none; color: var(--brand); }
.link-arrow .ic { transition: transform .2s var(--ease); }
.link-arrow:hover .ic { transform: translateX(4px); }

.pill { display: inline-flex; align-items: center; gap: 10px; padding: 0; font-size: 13.5px; font-weight: 600; letter-spacing: .01em; color: var(--brand-800); margin-bottom: 22px; }
.pill::before { content: ''; width: 28px; height: 1px; background: var(--bronze); }
.dot-sep { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .5; margin: 0 2px; }
.tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--brand-50); color: var(--brand); font-size: 12.5px; font-weight: 650; }
.tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 24px; }
.tags li { padding: 7px 14px; border-radius: 999px; background: var(--brand-50); color: var(--brand-800); font-size: 13.5px; font-weight: 600; }
.tags--light li { background: rgba(255, 255, 255, .1); color: #f3ebe0; border: 1px solid rgba(255, 255, 255, .14); }

/* ---------- Header ---------- */
.hdr { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.hdr.is-scrolled { border-color: var(--line-2); box-shadow: 0 6px 20px -16px rgba(0, 0, 0, .25); }
.hdr__in { height: var(--hdr-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hdr__logo img { height: 46px; width: auto; }
.hdr__nav { display: none; }
.hdr__cta { display: flex; align-items: center; gap: 8px; }
.hdr__cta .btn--sm { display: none; }
.hdr__tel { display: none; }
.hdr__burger { width: 46px; height: 46px; border-radius: 999px; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--ink); }

.mnav { position: fixed; inset: 0; z-index: 80; background: var(--paper); display: flex; flex-direction: column; padding: 14px var(--gutter) calc(20px + env(safe-area-inset-bottom)); animation: mnavIn .28s var(--ease); overflow-y: auto; }
@keyframes mnavIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.mnav__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.mnav__top img { height: 42px; width: auto; }
.mnav__close { width: 46px; height: 46px; border-radius: 999px; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; }
.mnav__links { display: flex; flex-direction: column; }
.mnav__links a { font-family: var(--serif); font-size: 30px; line-height: 1.2; padding: 12px 2px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-2); display: flex; justify-content: space-between; align-items: center; }
.mnav__links a.is-active { color: var(--brand); font-style: italic; }
.mnav__foot { margin-top: auto; padding-top: 24px; display: grid; gap: 10px; }
.mnav__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mnav__addr { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--muted); margin: 6px 0 0; }
body.menu-open { overflow: hidden; }

/* Mobil alt çubuk */
.mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr 1.6fr; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: color-mix(in srgb, #fff 92%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--line-2); box-shadow: 0 -10px 30px -18px rgba(0, 0, 0, .3); }
.mbar a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; border-radius: 16px; text-decoration: none; font-weight: 700; font-size: 14px; -webkit-tap-highlight-color: transparent; }
.mbar__btn { flex-direction: column; gap: 2px !important; font-size: 11.5px !important; color: var(--ink-2); background: var(--sand); }
.mbar__btn .ic { width: 20px; height: 20px; }
.mbar__btn--wa { color: #146c43; background: #e8f6ee; }
.mbar__main { background: var(--brand); color: #fff; box-shadow: 0 8px 20px -8px rgba(123, 91, 66, .6); }
body:not(:has(.mbar)) { padding-bottom: 0; }

/* ---------- Bölümler ---------- */
.section { padding: 64px 0; }
.section--tight { padding: 48px 0; }
.section--cream { background: var(--cream); }
.section--sand { background: var(--sand); }
.section--dark { background: var(--brand-900); color: #eee8e1; position: relative; overflow: hidden; }
.sec-head { margin-bottom: 32px; max-width: 640px; }
.sec-head--center { text-align: center; margin-left: auto; margin-right: auto; }
.sec-head--center .eyebrow::after { content: ''; width: 22px; height: 1.5px; background: currentColor; opacity: .6; }
.sec-head--row { max-width: none; display: flex; flex-direction: column; gap: 6px; }
.sec-head--row .h2 { margin-bottom: 0; }
.note-center { text-align: center; color: var(--muted); font-size: 13px; margin-top: 20px; }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; padding: 28px 0 56px; background: linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%); }
.hero__bg { position: absolute; inset: 0; translate: 0 var(--plx, 0px); }
.hero__bg .blob { position: absolute; fill: var(--sage); opacity: .7; animation: drift 24s ease-in-out infinite alternate; }
.hero__bg .blob--1 { width: 520px; right: -200px; top: -120px; }
.hero__bg .blob--2 { width: 380px; left: -200px; bottom: -160px; fill: var(--blush); opacity: .8; animation-duration: 30s; animation-direction: alternate-reverse; }
@keyframes drift { to { transform: translate3d(-28px, 22px, 0) rotate(16deg) scale(1.07); } }
.hero__grid { position: relative; display: grid; gap: 36px; }
.hero__title { font-size: clamp(2.35rem, 1.5rem + 4.2vw, 4.25rem); line-height: 1.05; margin-bottom: 18px; }
.hero__lead { font-size: 17.5px; color: var(--ink-2); max-width: 540px; margin-bottom: 26px; }
.hero__btns { display: grid; gap: 10px; }
.hero__facts { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--muted); font-size: 14px; }
.hero__facts li { display: flex; align-items: center; gap: 8px; }
.hero__facts strong { color: var(--brand); font-family: var(--serif); font-size: 20px; font-weight: 500; display: inline-flex; align-items: center; }
.avatars { display: inline-flex; }
.avatars img { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; margin-left: -9px; background: var(--sand); }
.avatars img:first-child { margin-left: 0; }
.hero__media { position: relative; max-width: 420px; width: 100%; margin: 0 auto; }
.hero__arch { border-radius: 999px 999px var(--r-xl) var(--r-xl); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: var(--shadow-lg); background: var(--sage); position: relative; }
.hero__arch::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.hero__arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.float-card { position: absolute; display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 18px; padding: 12px 16px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); font-size: 14px; line-height: 1.3; }
.float-card small { display: block; color: var(--muted); font-size: 12px; font-weight: 500; }
.float-card strong { display: block; font-weight: 700; }
.float-card--slot { left: -10px; bottom: 34px; animation: floaty 6s ease-in-out infinite; }
.float-card--slot .ic { color: var(--brand); }
.float-card__dot { width: 10px; height: 10px; border-radius: 50%; background: #b08a63; box-shadow: 0 0 0 5px rgba(176, 138, 99, .18); flex: none; animation: pulse 2s infinite; }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(176, 138, 99, .45); } 100% { box-shadow: 0 0 0 10px rgba(176, 138, 99, 0); } }

/* Kitle kartları */
.aud-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aud { position: relative; display: flex; flex-direction: column; padding: 20px 18px 20px; border-radius: var(--r-lg); text-decoration: none; color: var(--ink); transition: transform .25s var(--ease), box-shadow .25s; min-height: 180px; }
.aud:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.aud--sage { background: var(--sage); }
.aud--sand { background: var(--bronze-100); }
.aud--blush { background: var(--blush); }
.aud--mist { background: var(--mist); }
.aud__age { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze-600); margin-bottom: 18px; }
.aud h3 { font-family: var(--serif); font-weight: 500; font-size: 22px; margin-bottom: 6px; }
.aud p { font-size: 13.5px; color: var(--ink-2); margin: 0 0 18px; line-height: 1.5; }
.aud__go { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--brand); padding-top: 14px; border-top: 1px solid rgba(42, 37, 34, .12); }

/* Sekmeler / chip */
.chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 14px; margin: 0 calc(-1 * var(--gutter)) 8px; padding-left: var(--gutter); padding-right: var(--gutter); scroll-padding-inline: var(--gutter); scrollbar-width: none; scroll-snap-type: x proximity; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: none; scroll-snap-align: start; border: 1px solid var(--line); background: #fff; color: var(--ink-2); padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: 14px; cursor: pointer; white-space: nowrap; transition: all .2s; text-decoration: none; }
.chip:hover { border-color: var(--brand); color: var(--brand); }
.chip.is-active { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Hizmet kartları */
.svc-grid { display: grid; gap: 14px; }
.svc { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 22px 20px 20px; text-decoration: none; color: var(--ink); overflow: hidden; transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s; }
.svc::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: var(--bronze); transform: scaleX(0); transform-origin: 0 50%; transition: transform .7s var(--ease-out); }
.svc:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: transparent; }
.svc:hover::before { transform: scaleX(1); }
.svc__body { display: flex; flex-direction: column; flex: 1; }
.svc h3 { font-family: var(--serif); font-weight: 500; font-size: 20px; margin-bottom: 8px; line-height: 1.25; }
.svc p { font-size: 14px; color: var(--muted); margin: 0 0 16px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.svc__more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--brand); }

/* Adımlar */
.steps { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 14px; counter-reset: s; }
.step { position: relative; background: var(--cream); border-radius: var(--r-lg); padding: 24px 22px 22px; border: 1px solid var(--line-2); }
.step__n { display: block; font-family: var(--serif); font-style: italic; font-size: 40px; line-height: 1; color: var(--bronze); margin-bottom: 14px; font-variation-settings: 'opsz' 96, 'SOFT' 100; }
.step h3 { font-size: 18px; margin-bottom: 6px; }
.step p { margin: 0; color: var(--muted); font-size: 15px; }

/* Kurucu */
.founder::before { content: ''; position: absolute; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(168, 124, 79, .28), transparent 65%); right: -200px; top: -200px; translate: 0 var(--plx, 0px); animation: breathe 9s ease-in-out infinite alternate; }
@keyframes breathe { to { scale: 1.18; opacity: .7; } }
.founder__grid { position: relative; display: grid; gap: 32px; }
.founder__media { border-radius: 999px 999px var(--r-xl) var(--r-xl); overflow: hidden; background: var(--brand-800); max-width: 360px; aspect-ratio: 4 / 5; box-shadow: var(--shadow-lg); }
.founder__media img { width: 100%; height: 100%; object-fit: cover; }
.founder__role { color: #d9c3a3; font-weight: 600; margin-top: -8px; }
.qmark { display: block; font-family: var(--serif); font-size: 72px; line-height: 1; height: 38px; color: var(--bronze); font-style: normal; }
.qmark--light { color: #cfa977; margin-top: 18px; }
.founder__quote { margin: 10px 0 26px; font-family: var(--serif); font-size: 20px; line-height: 1.5; font-style: italic; color: #f5efe6; position: relative; padding-left: 0; }
.founder__btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* Ekip — mobilde yatay kaydırma */
.team-rail, .quotes, .post-grid[data-rail] {
  display: grid; grid-auto-flow: column; grid-auto-columns: 74%; gap: 14px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 18px; scroll-padding: 0 var(--gutter);
}
.team-rail::-webkit-scrollbar, .quotes::-webkit-scrollbar, .post-grid::-webkit-scrollbar { display: none; }
.team-rail > *, .quotes > *, .post-grid[data-rail] > * { scroll-snap-align: start; }
.tm { background: #fff; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-2); transition: transform .25s var(--ease), box-shadow .25s; }
.tm:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.tm__img { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--sand); }
.tm__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; transition: transform .6s var(--ease); }
.tm:hover .tm__img img { transform: scale(1.04); }
.tm__body { padding: 16px 16px 18px; position: relative; }
.tm h3 { font-size: 17px; margin-bottom: 2px; font-weight: 700; }
.tm h3 a { color: inherit; text-decoration: none; }
.tm p { margin: 0 0 12px; color: var(--bronze-600); font-size: 13.5px; font-weight: 600; }
.tm__book { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; text-decoration: none; padding: 8px 14px; border-radius: 999px; background: var(--brand-50); }
.tm__book:hover { background: var(--brand); color: #fff; }

/* Yorumlar */
.quotes { grid-auto-columns: 86%; }
.quote { margin: 0; background: #fff; border-radius: var(--r-lg); padding: 26px 22px 22px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); }
.quote blockquote { margin: 12px 0 18px; font-family: var(--serif); font-size: 19px; line-height: 1.5; color: var(--ink); flex: 1; }
.quote figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }

/* Neden biz */
.why { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.why__item { padding: 20px 4px 0; border-top: 1px solid var(--line); }
.why__n { display: block; font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--bronze-600); margin-bottom: 10px; }
.why__item h3 { font-family: var(--serif); font-weight: 500; font-size: 20px; margin-bottom: 8px; }
.why__item p { font-size: 13.5px; color: var(--muted); margin: 0; line-height: 1.5; }

/* Blog kartları */
.post-grid { display: grid; gap: 16px; }
.post-card { background: #fff; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-2); display: flex; flex-direction: column; transition: transform .25s var(--ease), box-shadow .25s; }
.post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.post-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sand); }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 18px 18px 20px; }
.post-card__date { font-size: 12.5px; color: var(--bronze-600); font-weight: 650; margin-bottom: 6px; }
.post-card h3 { font-size: 18px; line-height: 1.35; margin-bottom: 8px; }
.post-card h3 a { color: inherit; text-decoration: none; }
.post-card p { font-size: 14px; color: var(--muted); margin: 0; }
.post-card--text { background: var(--cream); }
.post-card--text .post-card__body { display: flex; flex-direction: column; height: 100%; padding: 26px 24px 24px; border-top: 3px solid var(--bronze); }
.post-card--text h3 { font-family: var(--serif); font-weight: 500; font-size: 24px; line-height: 1.25; margin-bottom: 12px; }
.post-card--text p { margin-bottom: 20px; }
.post-card__more { margin-top: auto; font-size: 14px; }

/* Merkez galerisi (gerçek fotoğraflar) */
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.gallery__item { display: block; border-radius: var(--r); overflow: hidden; aspect-ratio: 3 / 4; background: var(--line); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.gallery__item:hover img { transform: scale(1.04); }
.gallery--strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); scroll-padding: 0 var(--gutter); }
.gallery--strip::-webkit-scrollbar { display: none; }
.gallery--strip .gallery__item { scroll-snap-align: start; }
.lb { border: 0; padding: 0; margin: 0; background: transparent; width: 100vw; max-width: none; height: 100dvh; max-height: none; }
.lb[open] { display: grid; place-items: center; }
.lb::backdrop { background: rgba(20, 16, 14, .92); }
.lb img { max-width: min(92vw, 900px); max-height: 84dvh; border-radius: 14px; object-fit: contain; }
.motion .lb[open] img { animation: popIn .5s var(--ease-out); }
.lb__cap { position: fixed; left: 0; right: 0; bottom: calc(18px + env(safe-area-inset-bottom)); text-align: center; color: #e5ddd4; font-size: 14px; margin: 0; }
.lb__btn { position: fixed; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .12); color: #fff; display: grid; place-items: center; cursor: pointer; }
.lb__btn:hover { background: rgba(255, 255, 255, .22); }
.lb__close { top: 16px; right: 16px; }
.lb__prev { left: 12px; top: calc(50% - 24px); }
.lb__next { right: 12px; top: calc(50% - 24px); }
body.lb-open { overflow: hidden; }

/* Merkezden kısa videolar ve fotoğraflar */
.media-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 64%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 8px; scroll-padding: 0 var(--gutter); }
.media-rail::-webkit-scrollbar { display: none; }
.media-tile { position: relative; margin: 0; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 9 / 15; background: var(--sand); scroll-snap-align: start; isolation: isolate; }
.media-tile video, .media-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.media-tile a { display: block; height: 100%; }
.media-tile img { transition: transform 1s var(--ease-out); }
.media-tile a:hover img { transform: scale(1.04); }
.media-tile figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 14px 12px; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.3; background: linear-gradient(transparent, rgba(20, 16, 14, .62)); display: flex; align-items: center; gap: 8px; pointer-events: none; }
.media-tile__dot { width: 7px; height: 7px; border-radius: 50%; background: #f1e4d3; box-shadow: 0 0 0 4px rgba(241, 228, 211, .25); flex: none; }
.media-tile--video { cursor: pointer; }
.media-tile--video::after { content: ''; position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: rgba(255, 253, 249, .88) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237b5b42'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") 55% 50% / 22px no-repeat; box-shadow: var(--shadow); opacity: 0; transform: scale(.85); transition: opacity .25s, transform .25s; pointer-events: none; }
.media-tile--video.is-paused::after { opacity: 1; transform: none; }
.media-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.media-cta p { margin: 0; color: var(--muted); font-size: 14.5px; }
.media-head { display: grid; gap: 6px; }
.media-head + .media-rail { margin-top: 4px; }
.sec-sub { margin: 34px 0 14px; font-family: var(--serif); font-weight: 500; font-size: 1.35rem; }

/* SSS */
.faq-wrap { display: grid; gap: 24px; }
.faq { display: grid; gap: 10px; }
.faq__item { background: #fff; border: 1px solid var(--line); border-radius: var(--r); transition: border-color .2s, box-shadow .2s; }
.faq__item[open] { border-color: transparent; box-shadow: var(--shadow); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 18px; font-weight: 650; font-size: 16px; -webkit-tap-highlight-color: transparent; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__icon { width: 34px; height: 34px; flex: none; border-radius: 50%; background: transparent; border: 1px solid var(--line); color: var(--brand); display: grid; place-items: center; transition: transform .25s var(--ease), background .25s; }
.faq__item[open] .faq__icon { transform: rotate(45deg); background: var(--brand); border-color: var(--brand); color: #fff; }
.faq__a { padding: 0 18px 18px; color: var(--ink-2); }
.faq__a p { margin: 0; }

/* Ziyaret */
.visit { display: grid; gap: 24px; background: var(--sand); border-radius: var(--r-xl); padding: 26px 20px; overflow: hidden; }
.info-list { margin: 0 0 26px; display: grid; gap: 0; }
.info-list > div { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 14px 0; border-top: 1px solid rgba(42, 37, 34, .12); }
.info-list > div:last-child { border-bottom: 1px solid rgba(42, 37, 34, .12); }
.info-list dt { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze-600); }
.info-list dd { margin: 0; }
.visit__img { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 3; background: var(--line); }
.visit__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Footer ---------- */
.ftr { background: var(--brand-900); color: #d6ccc2; padding: 48px 0 24px; font-size: 14.5px; }
.ftr a { color: #eee8e1; text-decoration: none; }
.ftr a:hover { color: #fff; text-decoration: underline; }
.ftr .btn:hover { text-decoration: none; }
.ftr .btn--light, .ftr .btn--light:hover { color: var(--brand-900); }
.ftr__cta { display: grid; gap: 20px; padding: 28px 22px; border-radius: var(--r-xl); background: linear-gradient(135deg, var(--brand) 0%, var(--brand-800) 100%); border: 1px solid rgba(255, 255, 255, .08); margin-bottom: 44px; position: relative; overflow: hidden; }
.ftr__cta::after { content: ''; position: absolute; width: 300px; height: 300px; border-radius: 50%; right: -100px; bottom: -150px; background: radial-gradient(circle, rgba(168, 124, 79, .35), transparent 70%); }
.ftr__title { font-family: var(--serif); font-weight: 400; color: #fff; font-size: clamp(1.6rem, 1.2rem + 2vw, 2.4rem); margin: 0; }
.ftr__title em { color: #ecd7ba; }
.ftr__btns { display: grid; gap: 10px; position: relative; z-index: 1; }
.ftr__grid { display: grid; gap: 30px 20px; grid-template-columns: .8fr 1.2fr; }
.ftr__brand { grid-column: 1 / -1; }
.ftr__logo { display: inline-block; background: var(--cream); padding: 10px 16px; border-radius: 16px; margin-bottom: 14px; }
.ftr__logo img { height: 52px; width: auto; }
.ftr__brand p { max-width: 380px; }
.ftr__h { color: #fff; font-weight: 700; margin-bottom: 12px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.ftr__grid > div > a, .ftr__hours { display: flex; gap: 8px; align-items: flex-start; padding: 5px 0; line-height: 1.5; }
.ftr__grid .ic--sm { margin-top: 3px; opacity: .8; }
.ftr__social { display: flex; gap: 10px; }
.ftr__social a { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .18); display: grid; place-items: center; }
.ftr__social a:hover { background: rgba(255, 255, 255, .08); }
.ftr__note { margin-top: 36px; padding: 16px 18px; border-radius: var(--r); background: rgba(255, 255, 255, .05); font-size: 13px; color: #b3a79c; }
.ftr__note p { margin: 0; display: flex; gap: 10px; align-items: flex-start; }
.ftr__note p > span { flex: 1; }
.ftr__note .ic { margin-top: 2px; color: #ecd7ba; }
.ftr__bottom { margin-top: 22px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #998c80; }
.ftr__bottom p { margin: 0; }

/* ---------- İç sayfalar ---------- */
.page-hero { position: relative; padding: 28px 0 40px; background: linear-gradient(180deg, var(--cream), var(--paper)); overflow: hidden; }
.page-hero::after { content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, var(--sage), transparent 70%); right: -160px; top: -180px; opacity: .9; translate: 0 var(--plx, 0px); animation: breathe 11s ease-in-out infinite alternate; }
.page-hero .wrap { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(2.1rem, 1.4rem + 3.4vw, 3.6rem); line-height: 1.08; margin-bottom: 14px; }
.page-hero__lead { font-size: 17px; color: var(--ink-2); max-width: 640px; margin: 0; }
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 18px; font-size: 13px; color: var(--muted); }
.crumbs li + li::before { content: '/'; margin-right: 6px; opacity: .5; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--brand); }

.prose { font-size: 17px; line-height: 1.78; color: var(--ink-2); max-width: 720px; }
.prose h2 { font-family: var(--serif); font-weight: 500; font-size: 1.65rem; margin: 1.6em 0 .6em; color: var(--ink); }
.prose h3 { font-size: 1.2rem; margin: 1.4em 0 .5em; }
.prose ul, .prose ol { padding-left: 0; list-style: none; margin: 0 0 1.4em; display: grid; gap: 10px; }
.prose ul li { position: relative; padding-left: 32px; }
.prose ul li::before { content: ''; position: absolute; left: 0; top: .32em; width: 20px; height: 20px; border-radius: 50%; background: var(--brand-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b5b42' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.prose ol { counter-reset: o; }
.prose ol li { counter-increment: o; position: relative; padding-left: 36px; }
.prose ol li::before { content: counter(o); position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 13px; display: grid; place-items: center; font-weight: 700; }
.prose blockquote { margin: 1.4em 0; padding: 18px 22px; border-left: 3px solid var(--bronze); background: var(--cream); border-radius: 0 var(--r) var(--r) 0; font-family: var(--serif); font-size: 1.15em; font-style: italic; }
.prose img { border-radius: var(--r); margin: 1.2em 0; }
.prose a { font-weight: 600; }
.prose strong { color: var(--ink); }

.layout-aside { display: grid; gap: 32px; }
.aside-card { background: var(--cream); border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 22px; }
.aside-card h3 { font-family: var(--serif); font-weight: 500; font-size: 22px; }
.aside-card p { color: var(--muted); font-size: 14.5px; }
.aside-card .btn { width: 100%; margin-top: 8px; }
.aside-sticky { position: sticky; top: calc(var(--hdr-h) + 20px); display: grid; gap: 16px; }
.mini-team { display: grid; gap: 10px; margin: 14px 0 6px; }
.mini-team a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); padding: 8px; border-radius: 14px; background: #fff; border: 1px solid var(--line-2); }
.mini-team a:hover { border-color: var(--brand); }
.mini-team a > .ic { margin-left: auto; color: var(--brand); }
.mini-team a > span:only-of-type strong { font-weight: 600; }
.mini-team img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; }
.mini-team strong { display: block; font-size: 14.5px; }
.mini-team small { color: var(--muted); font-size: 12.5px; }

.cover { border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 16 / 10; margin: 0 0 28px; background: var(--sand); }
.cover img { width: 100%; height: 100%; object-fit: cover; }
.cover-pair { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 10px; margin: 0 0 28px; }
.cover-pair img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-lg); background: var(--sand); }
.cover-pair img + img { aspect-ratio: auto; height: 82%; align-self: end; }
.cover-pair figcaption { position: absolute; left: 14px; bottom: 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 12.5px; font-weight: 650; color: var(--ink-2); }
.motion .cover-pair img { animation: archIn 1.3s var(--ease-out) both .1s; }
.motion .cover-pair img + img { animation-delay: .25s; }

.cat-block { margin-bottom: 44px; scroll-margin-top: calc(var(--hdr-h) + 70px); }
.cat-block__title { font-family: var(--serif); font-weight: 500; font-size: 1.6rem; display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.cat-block__title::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.sticky-chips { position: sticky; top: var(--hdr-h); z-index: 20; background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding-top: 12px; margin-bottom: 16px; }

/* Uzman sayfası */
.expert-hero { display: grid; gap: 26px; align-items: center; }
.expert-hero__img { border-radius: 999px 999px var(--r-xl) var(--r-xl); overflow: hidden; aspect-ratio: 4 / 5; max-width: 340px; box-shadow: var(--shadow-lg); background: var(--sage); }
.expert-hero__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.expert-hero__role { color: var(--bronze-600); font-weight: 700; margin-bottom: 14px; }
.expert-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.team-grid .tm__body { padding: 12px 12px 14px; }
.team-grid .tm h3 { font-size: 15px; }
.team-grid .tm p { font-size: 12.5px; margin-bottom: 10px; }
.team-grid .tm__book { padding: 7px 10px; font-size: 12.5px; }

/* Formlar */
.form { display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.field label, .label { font-weight: 650; font-size: 14px; color: var(--ink-2); }
.field small { color: var(--muted); font-size: 12.5px; }
.input, .field input[type=text], .field input[type=tel], .field input[type=email], .field input[type=number], .field select, .field textarea {
  width: 100%; min-height: 52px; padding: 12px 16px; border: 1.5px solid var(--line); border-radius: 14px; background: #fff; font-size: 16px; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(123, 91, 66, .1); }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--ink-2); cursor: pointer; line-height: 1.5; }
.check input { width: 22px; height: 22px; flex: none; margin: 1px 0 0; accent-color: var(--brand); }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.alert { padding: 14px 16px; border-radius: 14px; font-size: 14.5px; display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; }
.alert--ok { background: #f3ebe1; color: #5e4432; }
.alert--err { background: #fbe9e7; color: #8a2f28; }
.alert ul { margin: 0; padding-left: 18px; }

.contact-grid { display: grid; gap: 22px; }
.contact-cards { display: grid; gap: 10px; }
.c-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px; border-radius: var(--r); background: #fff; border: 1px solid var(--line-2); text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s; }
.c-card:hover { border-color: var(--brand); transform: translateY(-2px); }
.c-card > .ic { color: var(--brand); transition: transform .35s var(--ease-out); }
.c-card:hover > .ic { transform: translateX(4px); }
.c-card small { display: block; color: var(--muted); font-size: 12.5px; }
.c-card strong { font-weight: 650; font-size: 15px; word-break: break-word; }
.map { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-2); aspect-ratio: 4 / 3; background: var(--sand); }
.map iframe { width: 100%; height: 100%; border: 0; display: block; }
.card { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 22px; box-shadow: var(--shadow-sm); }

/* ---------- Randevu sihirbazı ---------- */
.bk { padding: 18px 0 40px; background: linear-gradient(180deg, var(--cream), var(--paper) 300px); min-height: 70vh; }
.bk__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bk__title { font-family: var(--serif); font-weight: 400; font-size: clamp(1.7rem, 1.3rem + 2vw, 2.4rem); margin: 0; }
.bk__progress { height: 6px; border-radius: 99px; background: var(--line-2); overflow: hidden; margin-bottom: 8px; }
.bk__progress span { display: block; height: 100%; width: 20%; background: linear-gradient(90deg, var(--brand), var(--brand-600)); border-radius: inherit; transition: width .4s var(--ease); }
.bk__stepname { font-size: 13px; color: var(--muted); font-weight: 600; margin-bottom: 18px; }
.bk__grid { display: grid; gap: 24px; }
.bk-step { animation: stepIn .6s var(--ease-out) both; }
[data-dir="back"] .bk-step { animation-name: stepInBack; }
@keyframes stepIn { from { opacity: 0; transform: translate3d(32px, 0, 0); } }
@keyframes stepInBack { from { opacity: 0; transform: translate3d(-32px, 0, 0); } }
.bk-step h2 { font-size: 21px; margin-bottom: 4px; }
.bk-step > p { color: var(--muted); font-size: 14.5px; margin-bottom: 18px; }
.opt-list { display: grid; gap: 10px; }
.opt { position: relative; display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 14px 16px; border-radius: 18px; border: 1.5px solid var(--line); background: #fff; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; -webkit-tap-highlight-color: transparent; min-height: 64px; }
.opt:hover { border-color: color-mix(in srgb, var(--brand) 40%, var(--line)); }
.opt.is-selected { border-color: var(--brand); background: var(--brand-50); box-shadow: 0 0 0 3px rgba(123, 91, 66, .1); }
.opt__faces { display: inline-flex; flex: none; padding-left: 10px; }
.opt__faces img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; border: 2px solid #fff; margin-left: -10px; background: var(--sand); }
.opt__img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; flex: none; background: var(--sand); }
.opt strong { display: block; font-size: 15.5px; line-height: 1.3; }
.opt small { display: block; font-size: 13px; color: var(--muted); line-height: 1.4; margin-top: 2px; }
.opt__check { margin-left: auto; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; color: transparent; flex: none; }
.opt.is-selected .opt__check { background: var(--brand); border-color: var(--brand); color: #fff; }
.opt-group-title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--bronze-600); font-weight: 700; margin: 18px 0 8px; }
.opt-group-title:first-child { margin-top: 0; }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.seg .opt { flex-direction: column; align-items: flex-start; gap: 8px; }
.seg .opt__check { position: absolute; right: 12px; top: 12px; }

.days { display: grid; grid-auto-flow: column; grid-auto-columns: 68px; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 12px; }
.days::-webkit-scrollbar { display: none; }
.day { scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px; border-radius: 16px; border: 1.5px solid var(--line); background: #fff; cursor: pointer; transition: all .15s; -webkit-tap-highlight-color: transparent; }
.day small { font-size: 11.5px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.day strong { font-family: var(--serif); font-size: 24px; font-weight: 500; line-height: 1.1; }
.day em { font-style: normal; font-size: 11px; color: var(--muted); }
.day.is-selected { background: var(--brand); border-color: var(--brand); color: #fff; }
.day.is-selected small, .day.is-selected em { color: rgba(255, 255, 255, .8); }
.day.is-empty { opacity: .45; }
.day__dot { width: 6px; height: 6px; border-radius: 50%; background: #b08a63; margin-top: 3px; }
.day.is-empty .day__dot { background: transparent; }
.days-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.days-nav strong { font-size: 15px; }
.days-nav__btns { display: flex; gap: 6px; }
.icon-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--ink); }
.icon-btn[disabled] { opacity: .35; pointer-events: none; }
.slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.slot { min-height: 50px; border-radius: 14px; border: 1.5px solid var(--line); background: #fff; font-weight: 700; font-size: 15.5px; cursor: pointer; transition: all .15s; -webkit-tap-highlight-color: transparent; font-variant-numeric: tabular-nums; }
.slot:hover { border-color: var(--brand); }
.slot.is-selected { background: var(--brand); border-color: var(--brand); color: #fff; }
.slot-group { font-size: 12.5px; font-weight: 700; color: var(--muted); margin: 16px 0 4px; display: flex; align-items: center; gap: 8px; }
.empty { padding: 26px 18px; text-align: center; border-radius: var(--r-lg); background: var(--cream); border: 1px dashed var(--line); color: var(--muted); font-size: 14.5px; }
.empty .btn { margin-top: 12px; }
.skeleton { height: 50px; border-radius: 14px; background: linear-gradient(90deg, var(--line-2), var(--cream), var(--line-2)); background-size: 200% 100%; animation: sk 1.2s infinite linear; }
@keyframes sk { to { background-position: -200% 0; } }

.bk__nav { position: sticky; bottom: 0; z-index: 30; display: flex; gap: 10px; padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)); margin: 24px calc(-1 * var(--gutter)) 0; background: color-mix(in srgb, #fff 94%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--line-2); }
.bk__nav .btn { flex: 1; }
.bk__nav .btn--ghost { flex: 0 0 auto; padding: 0 18px; }
.summary { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 18px; box-shadow: var(--shadow-sm); }
.summary h3 { font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze-600); margin-bottom: 12px; }
.summary dl { margin: 0; display: grid; gap: 10px; }
.summary dl div { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; }
.summary dt { color: var(--muted); display: flex; align-items: center; gap: 8px; min-width: 92px; }
.summary dd { margin: 0; font-weight: 650; }
.summary__empty { color: var(--muted); font-weight: 400 !important; }
.bk__aside { display: none; }

.done { text-align: center; max-width: 560px; margin: 0 auto; }
.done__icon { position: relative; width: 84px; height: 84px; border-radius: 50%; background: var(--brand); color: #fff; display: grid; place-items: center; margin: 0 auto 20px; box-shadow: 0 0 0 10px var(--brand-50); animation: pop .5s var(--ease); }
.done__icon .ic { width: 40px; height: 40px; }
@keyframes pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.done .summary { text-align: left; margin: 24px 0; }
.done__btns { display: grid; gap: 10px; }
.code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; background: var(--sand); padding: 2px 8px; border-radius: 6px; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.status--pending { background: #fff4dc; color: #8a5a00; }
.status--confirmed { background: #f1e7db; color: #6b4f39; }
.status--cancelled, .status--no_show { background: #f8e4e1; color: #8a2f28; }
.status--completed { background: var(--mist); color: #36505e; }

.cookie { position: fixed; left: 12px; right: 12px; bottom: calc(var(--mbar-h) + 12px + env(safe-area-inset-bottom)); z-index: 60; background: #fff; border-radius: var(--r-lg); padding: 16px; box-shadow: var(--shadow-lg); font-size: 14px; display: grid; gap: 12px; border: 1px solid var(--line-2); max-height: calc(100dvh - var(--mbar-h) - 40px); overflow-y: auto; overscroll-behavior: contain; }
.cookie p { margin: 0; }
.cookie a { color: var(--brand); }
.cookie__t { font-weight: 700; font-size: 15px; color: var(--ink); }
.cookie__prefs { display: grid; gap: 8px; }
.cookie__prefs[hidden] { display: none; }
.cookie__opt { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: var(--r); cursor: pointer; }
.cookie__opt input { width: 22px; height: 22px; flex: none; margin: 1px 0 0; accent-color: var(--brand); }
.cookie__opt span { display: grid; gap: 2px; }
.cookie__opt small { color: var(--ink-2); font-size: 13px; line-height: 1.45; }
.cookie__btns { display: flex; gap: 8px; }
.cookie__btns .btn, .cookie__save { flex: 1; min-height: 44px; }
.cookie__more { background: none; border: 0; padding: 6px; min-height: 40px; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--brand); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; justify-self: center; }
.form-note { margin: 0; font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
.form-note a, .check a { color: var(--brand); }
.map--off { display: grid; place-items: center; text-align: center; padding: 20px; }
.map__ph { display: grid; justify-items: center; gap: 10px; max-width: 300px; font-size: 14px; color: var(--ink-2); }
.map__ph p { margin: 0; }
.map__ph .ic { width: 28px; height: 28px; color: var(--brand); }
.ftr__legal { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ftr .linkbtn { color: #eee8e1; }
.linkbtn { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 8px 0 24px; }
.legal-table th, .legal-table td { text-align: left; padding: 10px; border-bottom: 1px solid var(--line-2); vertical-align: top; }
.legal-table th { font-size: 12.5px; color: var(--ink-2); text-transform: uppercase; letter-spacing: .04em; }
.legal-table code { font-size: 13px; word-break: break-word; }
@media (max-width: 640px) {
  .legal-table thead { display: none; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }
  .legal-table tr { border: 1px solid var(--line-2); border-radius: var(--r); padding: 6px 4px; margin-bottom: 10px; }
  .legal-table td { border: 0; padding: 4px 10px; }
  .legal-table td::before { content: attr(data-label) ': '; font-weight: 700; color: var(--ink); }
}

.err-page { text-align: center; padding: 80px 0; }
.err-page__code { font-family: var(--serif); font-size: 96px; color: var(--brand); line-height: 1; margin-bottom: 10px; font-style: italic; }

/* ---------- Hareket sistemi ----------
   Tüm animasyonlar yalnızca <html class="motion"> varken çalışır (sistemde "hareketi azalt" kapalıysa).
   Yalnızca transform / opacity / clip-path kullanılır; içerik JS çalışmasa da görünür kalır. */
::selection { background: var(--brand-100); color: var(--brand-900); }

@keyframes fadeUp { from { opacity: 0; transform: translate3d(0, 26px, 0); } }
@keyframes fadeDown { from { opacity: 0; transform: translate3d(0, -12px, 0); } }
@keyframes fadeIn { from { opacity: 0; } }
@keyframes wordUp { from { transform: translate3d(0, 135%, 0) rotate(5deg); } }
@keyframes popIn { from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.88); } }
@keyframes archIn { from { transform: translate3d(0, 46px, 0) scale(.94); } }
@keyframes wipeUp { from { clip-path: inset(100% 0 0 0); transform: scale(1.28); } to { clip-path: inset(0 0 0 0); } }
@keyframes settle { from { transform: scale(1.14); } }
@keyframes hl { from { background-size: 0% 100%; } }

/* Kelime kelime yükselen başlıklar */
.w { display: inline-block; clip-path: inset(-.3em -.35em -.32em -.35em); }
.w > span { display: inline-block; will-change: transform; }

/* Vurgulu kelimelerin altında yumuşak bir iz */
.h2 em, .hero__title em, .page-hero h1 em {
  background: linear-gradient(transparent 70%, color-mix(in srgb, var(--bronze) 20%, transparent) 70%, color-mix(in srgb, var(--bronze) 20%, transparent) 92%, transparent 92%) no-repeat 0 0 / 100% 100%;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.h2--light em { background-image: linear-gradient(transparent 70%, rgba(236, 215, 186, .16) 70%, rgba(236, 215, 186, .16) 92%, transparent 92%); }

/* Kaydırma göstergesi */
.scroll-progress { position: fixed; left: 0; right: 0; top: 0; height: 2px; z-index: 95; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--bronze), var(--brand-600)); transform: scaleX(var(--sp, 0)); transform-origin: 0 50%; }

/* Başlık: aşağı inerken çekilir, yukarı çıkarken geri gelir */
.hdr { transition: border-color .3s, box-shadow .3s, transform .5s var(--ease-out); }
.hdr.is-hidden { transform: translate3d(0, -100%, 0); }
.sticky-chips { transition: top .5s var(--ease-out); }
body.hdr-hidden .sticky-chips { top: 0; }

/* --- Ana sayfa açılışı --- */
.motion .hero__bg { animation: fadeIn 2.2s ease both; }
.motion .hero .pill { animation: fadeDown .9s var(--ease-out) both .05s; }
.motion .hero__title .w > span { animation: wordUp 1.15s var(--ease-out) both; animation-delay: calc(.12s + var(--wi) * 60ms); }
.motion .hero__title em { animation: hl 1.1s var(--ease-out) both 1.05s; }
.motion .hero__lead { animation: fadeUp 1s var(--ease-out) both .55s; }
.motion .hero__btns > * { animation: fadeUp 1s var(--ease-out) both .7s; }
.motion .hero__btns > * + * { animation-delay: .8s; }
.motion .hero__facts > li { animation: fadeUp .9s var(--ease-out) both .9s; }
.motion .hero__facts > li:nth-child(2) { animation-delay: 1s; }
.motion .hero__facts > li:nth-child(3) { animation-delay: 1.1s; }
.motion .hero__arch { animation: archIn 1.4s var(--ease-out) both; }
.motion .hero__arch img { animation: wipeUp 1.3s var(--ease-io) both .1s; }
.motion .float-card--slot { animation: popIn .9s var(--ease-out) both 1.35s, floaty 6s ease-in-out 2.25s infinite; }
.hero__media { transition: transform 1.2s var(--ease-out); transform: perspective(1200px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg)); }

/* --- İç sayfa açılışı --- */
.motion .page-hero .crumbs, .motion .page-hero .eyebrow { animation: fadeDown .8s var(--ease-out) both .05s; }
.motion .page-hero h1 .w > span { animation: wordUp 1.05s var(--ease-out) both; animation-delay: calc(.12s + var(--wi) * 45ms); }
.motion .page-hero h1 em { animation: hl 1s var(--ease-out) both .8s; }
.motion .page-hero__lead, .motion .expert-hero__role { animation: fadeUp 1s var(--ease-out) both .45s; }
.motion .expert-hero__btns, .motion .expert-hero .hero__facts { animation: fadeUp 1s var(--ease-out) both .6s; }
.motion .expert-hero .hero__facts > li { animation: none; }
.motion .expert-hero__img { animation: archIn 1.4s var(--ease-out) both .05s; }
.motion .expert-hero__img img { animation: wipeUp 1.6s var(--ease-io) both .15s; }
.motion .cover img { animation: settle 1.8s var(--ease-out) both .1s; }
.motion .bk__head, .motion .bk__progress, .motion .bk__stepname { animation: fadeUp .9s var(--ease-out) both; }

/* --- Kaydırınca beliren öğeler (JS sınıfları ekler) --- */
.motion .rv { opacity: 0; transform: translate3d(0, 34px, 0); transition: opacity 1s var(--ease-out), transform 1.2s var(--ease-out); transition-delay: var(--d, 0s); }
.motion .rv.is-in { opacity: 1; transform: none; }

.motion .rv-img img { clip-path: inset(100% 0 0 0); transform: scale(1.22); transition: clip-path 1.4s var(--ease-io), transform 2s var(--ease-out); transition-delay: var(--d, 0s); }
.motion .rv-img.is-in img { clip-path: inset(0 0 0 0); transform: none; }

.motion .rv-head .eyebrow, .motion .rv-head :is(p:not(.eyebrow), .link-arrow, .btn) { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.motion .rv-head :is(p:not(.eyebrow), .link-arrow, .btn) { transition-delay: .45s; }
.motion .rv-head .eyebrow::before, .motion .rv-head .eyebrow::after { transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s var(--ease-out) .25s; }
.motion .rv-head .eyebrow::after { transform-origin: 100% 50%; }
.motion .rv-head .w > span { transform: translate3d(0, 135%, 0) rotate(5deg); transition: transform 1.1s var(--ease-out); transition-delay: calc(.08s + var(--wi) * 50ms); }
.motion .rv-head em { background-size: 0% 100%; transition: background-size 1.1s var(--ease-out) .75s; }
.motion .rv-head.is-in .eyebrow, .motion .rv-head.is-in :is(p:not(.eyebrow), .link-arrow, .btn) { opacity: 1; transform: none; }
.motion .rv-head.is-in .eyebrow::before, .motion .rv-head.is-in .eyebrow::after { transform: none; }
.motion .rv-head.is-in .w > span { transform: none; }
.motion .rv-head.is-in em { background-size: 100% 100%; }

/* Kurucu alıntısı: kaydırdıkça kelime kelime aydınlanır */
.sw { transition: opacity .5s ease, color .5s ease; }
.motion [data-scrub].is-scrub .sw { opacity: .22; }
.motion [data-scrub].is-scrub .sw.is-lit { opacity: 1; }

/* Kartlarda imleci izleyen ışık */
.spot { position: relative; }
.spot::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1;
  background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), var(--spot, rgba(123, 91, 66, .07)), transparent 55%);
  opacity: 0; transition: opacity .45s ease;
}
.spot:hover::after { opacity: 1; }
.aud.spot { --spot: rgba(255, 255, 255, .6); }

/* Düğmelerde ışık süzmesi */
.btn--primary::after, .btn--light::after, .mbar__main::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .26) 48%, transparent 66%);
  transform: translateX(-130%); transition: transform 1s var(--ease-out);
}
.btn--light::after { background: linear-gradient(105deg, transparent 30%, rgba(123, 91, 66, .1) 48%, transparent 66%); }
.btn--primary:hover::after, .btn--light:hover::after { transform: translateX(130%); }
.mbar__main { position: relative; overflow: hidden; isolation: isolate; }
.motion .mbar__main::after { animation: shine 6s var(--ease-out) 3s infinite; }
@keyframes shine { 0%, 70% { transform: translateX(-130%); } 100% { transform: translateX(130%); } }
.link-arrow .ic, .svc__more .ic, .aud__go .ic, .tm__book .ic { transition: transform .35s var(--ease-out); }
.svc:hover .svc__more .ic, .aud:hover .aud__go .ic { transform: translateX(4px); }
.step { transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s; }
.step:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.post-card__img img { transition: transform .9s var(--ease-out); }
.post-card:hover .post-card__img img { transform: scale(1.05); }
.quote { transition: transform .35s var(--ease-out), box-shadow .35s; }
.quote:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

/* Menü: kayan vurgu */
.nav-ind { position: absolute; left: 0; top: 50%; height: 42px; width: var(--w, 0); translate: var(--x, 0) -50%; border-radius: 999px; background: var(--brand-50); opacity: 0; z-index: -1; pointer-events: none; transition: translate .5s var(--ease-out), width .5s var(--ease-out), opacity .3s; }

/* Mobil menü */
.mnav__links a:nth-child(1) { --i: 0; } .mnav__links a:nth-child(2) { --i: 1; } .mnav__links a:nth-child(3) { --i: 2; } .mnav__links a:nth-child(4) { --i: 3; }
.mnav__links a:nth-child(5) { --i: 4; } .mnav__links a:nth-child(6) { --i: 5; } .mnav__links a:nth-child(7) { --i: 6; } .mnav__links a:nth-child(8) { --i: 7; }
.motion .mnav__links a { animation: fadeUp .75s var(--ease-out) both; animation-delay: calc(.06s + var(--i) * 45ms); }
.motion .mnav__foot { animation: fadeUp .8s var(--ease-out) both .38s; }
.mnav.is-closing { animation: mnavOut .26s var(--ease-io) forwards; }
@keyframes mnavOut { to { opacity: 0; transform: translateY(-10px); } }

/* Sekme değişince kartlar sırayla gelir */
.motion .is-entering > * { animation: fadeUp .75s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 65ms); }

/* Yorumlar: masaüstünde akan şerit */
.quotes.is-marquee { display: block; overflow: hidden; padding: 8px 0 22px; margin: 0 calc(-1 * var(--gutter)); -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.quotes__track { display: flex; width: max-content; animation: marquee var(--dur, 60s) linear infinite; }
.quotes.is-marquee:hover .quotes__track, .quotes.is-marquee:focus-within .quotes__track { animation-play-state: paused; }
.quotes.is-marquee .quote { width: 380px; flex: none; margin-right: 20px; }
@keyframes marquee { to { transform: translate3d(-50%, 0, 0); } }

/* SSS akordeon (yükseklik JS ile canlandırılır) */
.faq__item summary { transition: color .25s; }
.faq__item summary:hover { color: var(--brand); }
.faq__item summary:hover .faq__icon { transform: rotate(90deg); }
.faq__item[open] summary:hover .faq__icon { transform: rotate(45deg); }
.faq__a { overflow: hidden; }

/* Randevu sihirbazı */
.stagger :is(.opt, .day, .slot) { animation: fadeUp .6s var(--ease-out) both; animation-delay: calc(.05s + var(--i, 0) * 40ms); }
.stagger .day { animation-name: popIn; }
.opt.is-selected .opt__check, .slot.is-selected, .day.is-selected { animation: pick .45s var(--ease-out); }
@keyframes pick { 0% { transform: scale(.9); } 55% { transform: scale(1.05); } 100% { transform: none; } }
.opt { transition: border-color .2s, background .2s, box-shadow .2s, transform .35s var(--ease-out); }
.opt:hover { transform: translateY(-2px); }
.slot, .day { transition: background .2s, border-color .2s, color .2s, transform .3s var(--ease-out); }
.slot:hover, .day:hover { transform: translateY(-2px); }

/* Randevu tamamlandı: onay işareti çizilir */
.done__svg { width: 44px; height: 44px; fill: none; stroke: #fff; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; }
.done__svg path { stroke-dasharray: 40; stroke-dashoffset: 0; }
.motion .done__svg path { animation: draw .7s var(--ease-out) both .45s; }
@keyframes draw { from { stroke-dashoffset: 40; } }
.done__icon::before, .done__icon::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--brand); opacity: 0; }
.motion .done__icon::before { animation: ripple 1.8s var(--ease-out) .35s; }
.motion .done__icon::after { animation: ripple 1.8s var(--ease-out) .6s; }
@keyframes ripple { from { opacity: .5; transform: scale(1); } to { opacity: 0; transform: scale(2.1); } }

/* Sayfalar arası yumuşak geçiş (destekleyen tarayıcılarda) */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: vtOut .28s var(--ease-io) both; }
  ::view-transition-new(root) { animation: vtIn .6s var(--ease-out) both; }
  .hdr { view-transition-name: hdr; }
  .mbar { view-transition-name: mbar; }
}
@keyframes vtOut { to { opacity: 0; } }
@keyframes vtIn { from { opacity: 0; transform: translate3d(0, 14px, 0); } }


/* ---------- Tablet ---------- */
@media (min-width: 640px) {
  :root { --gutter: 28px; }
  .hero__btns { display: flex; flex-wrap: wrap; }
  .svc-grid { grid-template-columns: 1fr 1fr; }
  .svc-grid > .svc:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .team-rail { grid-auto-columns: 40%; }
  .quotes { grid-auto-columns: 48%; }
  .post-grid[data-rail] { grid-auto-columns: 46%; }
  .post-grid:not([data-rail]) { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .step { padding: 26px 22px; }
  .ftr__cta { grid-template-columns: 1fr auto; align-items: center; padding: 36px; }
  .ftr__btns { display: flex; }
  .ftr__bottom { flex-direction: row; justify-content: space-between; }
  .slots { grid-template-columns: repeat(4, 1fr); }
  .done__btns { display: flex; justify-content: center; flex-wrap: wrap; }
  .team-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .team-grid .tm__body { padding: 16px 16px 18px; }
  .team-grid .tm h3 { font-size: 17px; }
  .contact-cards { grid-template-columns: 1fr 1fr; }
  .gallery:not(.gallery--strip) { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .gallery--strip { grid-auto-columns: 34%; }
  .media-rail { grid-auto-columns: 34%; gap: 14px; }
  .cookie { left: auto; right: 20px; max-width: 420px; }
}

/* ---------- Masaüstü ---------- */
@media (min-width: 1024px) {
  :root { --hdr-h: 84px; }
  body { padding-bottom: 0; font-size: 17px; }
  .mbar { display: none; }
  .cookie { bottom: 20px; }
  .hdr__logo img { height: 54px; }
  .hdr__nav { display: flex; align-items: center; gap: 4px; }
  .hdr__nav > a, .dd > a { padding: 10px 14px; border-radius: 999px; color: var(--ink-2); text-decoration: none; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 4px; transition: background .2s, color .2s; }
  .hdr__nav > a:hover, .dd > a:hover, .hdr__nav a.is-active { color: var(--brand); background: var(--brand-50); }
  .hdr__cta .btn--sm { display: inline-flex; }
  .hdr__tel { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; font-size: 14.5px; text-decoration: none; color: var(--ink-2); padding: 0 10px; }
  .hdr__burger { display: none; }
  .dd { position: relative; }
  .dd__panel { position: absolute; left: 50%; top: calc(100% + 12px); transform: translateX(-50%) translateY(6px); width: min(880px, 90vw); background: #fff; border-radius: var(--r-lg); box-shadow: var(--shadow-lg); border: 1px solid var(--line-2); padding: 26px; opacity: 0; visibility: hidden; transition: all .2s var(--ease); }
  .dd__panel::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
  .dd:hover .dd__panel, .dd:focus-within .dd__panel { opacity: 1; visibility: visible; transform: translateX(-50%); }
  .dd__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 20px; }
  .dd__cat { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--bronze-600); font-weight: 700; margin-bottom: 8px; }
  .dd__grid a { display: block; padding: 6px 0; font-size: 14px; color: var(--ink-2); text-decoration: none; line-height: 1.35; }
  .dd__grid a:hover { color: var(--brand); }
  .hdr__nav { position: relative; isolation: isolate; }
  .hdr__nav.has-ind > a:hover, .hdr__nav.has-ind .dd > a:hover, .hdr__nav.has-ind a.is-active { background: transparent; }
  .dd > a .ic { transition: transform .35s var(--ease-out); }
  .dd:hover > a .ic { transform: rotate(180deg); }
  .dd__panel { transition: opacity .3s var(--ease-out), transform .45s var(--ease-out), visibility .3s; }
  .dd__grid > div { opacity: 0; transform: translate3d(0, 8px, 0); transition: opacity .4s var(--ease-out), transform .5s var(--ease-out); }
  .dd:hover .dd__grid > div, .dd:focus-within .dd__grid > div { opacity: 1; transform: none; }
  .dd__grid > div:nth-child(2) { transition-delay: .04s; } .dd__grid > div:nth-child(3) { transition-delay: .08s; }
  .dd__grid > div:nth-child(4) { transition-delay: .12s; } .dd__grid > div:nth-child(5) { transition-delay: .16s; }
  .dd__all { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-2); width: 100%; font-weight: 700; font-size: 14px; text-decoration: none; }

  .section { padding: 104px 0; }
  .section--tight { padding: 72px 0; }
  .sec-head { margin-bottom: 48px; }
  .sec-head--row { flex-direction: row; justify-content: space-between; align-items: flex-end; }

  .hero { padding: 56px 0 100px; }
  .hero__grid { grid-template-columns: 1.1fr .9fr; align-items: center; gap: 56px; }
  .hero__lead { font-size: 19px; }
  .hero__media { max-width: 460px; margin-right: 0; }
  .float-card--slot { left: -60px; }
  .float-card--trust { right: -30px; }

  .aud-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .aud { padding: 28px 24px; min-height: 230px; }
  .aud p { font-size: 14.5px; }

  .svc-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  /* Son satırda tek/iki kart kalırsa boşluk bırakmadan geniş yatay karta dönüşür */
  .svc-grid > .svc:last-child:nth-child(odd) { grid-column: auto; }
  .svc-grid > .svc:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
  .svc-grid > .svc:last-child:nth-child(3n+2) { grid-column: span 2; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) { min-height: 0; justify-content: center; background: var(--brand-900); border-color: var(--brand-900); color: #fff; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) .svc__body { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) auto; column-gap: 36px; align-items: center; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) :is(h3, p, .svc__more) { margin: 0; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) h3 { font-size: 26px; color: #fff; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) p { color: #c9bdb1; }
  .svc-grid > .svc:last-child:is(:nth-child(3n+1), :nth-child(3n+2)) .svc__more { color: #ecd7ba; }
  .svc { padding: 28px 26px 24px; min-height: 230px; }
  .svc h3 { font-size: 22px; }
  .svc p { font-size: 14.5px; }
  .chips { margin: 0 0 18px; padding-left: 2px; padding-right: 2px; flex-wrap: wrap; }

  .founder__grid { grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: center; }
  .founder__media { max-width: 440px; }
  .founder__quote { font-size: 24px; }

  .team-rail { grid-auto-flow: initial; grid-template-columns: repeat(5, 1fr); overflow: visible; margin: 0; padding: 0; gap: 20px; }
  .quotes { grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; }
  .post-grid, .post-grid[data-rail] { grid-auto-flow: initial; grid-template-columns: repeat(3, 1fr); overflow: visible; margin: 0; padding: 0; gap: 24px; }
  .why { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .gallery, .gallery:not(.gallery--strip), .gallery--strip { grid-auto-flow: initial; grid-template-columns: repeat(5, 1fr); gap: 16px; overflow: visible; margin: 0; padding: 0; }
  .gallery__item { border-radius: var(--r-lg); }
  .media-rail { grid-auto-flow: initial; grid-template-columns: repeat(5, 1fr); gap: 16px; overflow: visible; margin: 0; padding: 0 0 28px; }
  .media-rail--full { grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .media-rail > .media-tile:nth-child(even) { translate: 0 28px; }
  .media-rail--full > .media-tile:nth-child(even) { translate: none; }
  .media-rail--full > .media-tile:nth-child(4n+2), .media-rail--full > .media-tile:nth-child(4n+4) { translate: 0 32px; }
  .gallery:not(.gallery--strip) .gallery__item:nth-child(5n+1) { translate: 0 24px; }
  .gallery:not(.gallery--strip) .gallery__item:nth-child(5n+3) { translate: 0 -16px; }
  .gallery--strip .gallery__item:nth-child(even) { translate: 0 28px; }
  .gallery--strip { padding-bottom: 28px; }
  .why__item { padding: 26px 8px 0 0; }
  .faq-wrap { grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
  .faq-wrap .sec-head { position: sticky; top: calc(var(--hdr-h) + 24px); }
  .visit { grid-template-columns: 1fr 1fr; padding: 56px; gap: 56px; align-items: center; }

  .ftr { padding-top: 72px; }
  .ftr__grid { grid-template-columns: 1.4fr 1fr 1.2fr 1.4fr; gap: 40px; }
  .ftr__brand { grid-column: auto; }

  .page-hero { padding: 48px 0 64px; }
  .layout-aside { grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; align-items: start; }
  .cover-pair img { aspect-ratio: 1 / 1.05; }
  .expert-hero { grid-template-columns: 360px 1fr; gap: 64px; }
  .team-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }

  .bk { padding: 40px 0 80px; }
  .bk__grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
  .bk__aside { display: block; position: sticky; top: calc(var(--hdr-h) + 24px); }
  .bk__nav { position: static; margin: 28px 0 0; padding: 0; background: none; border: 0; backdrop-filter: none; justify-content: space-between; }
  .bk__nav .btn { flex: 0 0 auto; min-width: 180px; }
  .opt-list--cols { grid-template-columns: 1fr 1fr; }
  .days { grid-auto-columns: calc((100% - 48px) / 7); margin: 0; padding: 4px 0 12px; }
  .slots { grid-template-columns: repeat(5, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .hdr.is-hidden { transform: none; }
}
