/* self-hosted fonts (restored after polish strip) */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/IBMPlexMono-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Inter-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Inter-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Inter-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Inter-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Inter-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Inter-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/Inter-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/Inter-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Inter-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Inter-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/Inter-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/Inter-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/SpaceGrotesk-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   KATMAN — Duvar Kolaj Stüdyosu
   Design DNA: gece galeri-vitrin · parlak dergi kağıdı + cam
   ============================================================ */

:root {
  --bg: #0E0F13;
  --surface: #191B21;
  --surface-2: #22252D;
  --surface-3: #2B2F38;
  --ink: #F2F2EF;
  --ink-soft: #B9BCC4;
  --ink-mute: #9AA0A8;
  --accent: #E8B84B;        /* altın — dolgu/çerçeve/dekor */
  --accent-deep: #C79A2E;   /* koyu altın — küçük metin gerekince */
  --accent2: #7A8CFF;       /* periwinkle */
  --accent2-soft: #A6B2FF;
  --line: rgba(242, 242, 239, 0.12);
  --line-strong: rgba(242, 242, 239, 0.24);
  --gold-line: rgba(232, 184, 75, 0.42);

  --container: 1320px;
  --gutter: clamp(16px, 3vw, 40px);
  --header-h: 74px;

  --serif: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --body: "Inter", system-ui, -apple-system, sans-serif;
  --mono: "IBM Plex Mono", "Consolas", monospace;

  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 18px;

  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-2: cubic-bezier(.4, 0, .2, 1);

  interpolate-size: allow-keywords;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0;
  max-width: 100vw;
  overflow-x: hidden;
}
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
figure, figcaption, blockquote { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4 {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -0.012em;
  margin: 0;
}
p { margin: 0; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}
::selection { background: rgba(232, 184, 75, 0.3); color: var(--ink); }

/* ---------- layout ---------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
main { padding-top: var(--header-h); }
section { position: relative; }
main [id] { scroll-margin-top: calc(var(--header-h) + 14px); }
.section-pad { padding-block: clamp(56px, 8vw, 116px); }
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 620ms var(--ease), transform 620ms var(--ease);
  transition-delay: calc(var(--i, 0) * 80ms);
}
.reveal.is-in { opacity: 1; transform: none; }
html.no-js .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

.skip-link {
  position: absolute;
  left: 12px; top: -60px;
  z-index: 2000;
  background: var(--accent);
  color: #14140E;
  padding: 10px 16px;
  border-radius: var(--r-sm);
  font-weight: 600;
  transition: top 180ms var(--ease);
}
.skip-link:focus { top: 12px; }

/* ---------- eyebrow / headings ---------- */
.eyebrow {
  font-family: var(--mono);
  font-size: .74rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: "";
  width: 26px; height: 1px;
  background: var(--gold-line);
}
.section-head { max-width: 640px; margin-bottom: clamp(28px, 4vw, 48px); }
.section-head h2 {
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  margin-top: 14px;
}
.section-head p {
  color: var(--ink-soft);
  margin-top: 14px;
  font-size: 1.02rem;
}

/* fuga divider — ince çerçeve fugası */
.fuga {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-line) 20%, var(--gold-line) 80%, transparent);
  border: 0;
  margin: 0;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1080;
  height: var(--header-h);
  display: flex;
  align-items: center;
  background: rgba(14, 15, 19, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  transition: background 240ms var(--ease), box-shadow 240ms var(--ease), height 240ms var(--ease);
}
.site-header.is-scrolled {
  background: rgba(14, 15, 19, 0.97);
  box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .8);
  height: 64px;
}
.header-inner {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.28rem;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.brand b { color: var(--accent); font-weight: 600; }
.brand small {
  font-family: var(--mono);
  font-size: .56rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-left: 6px;
  align-self: center;
}

.nav-desktop {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 30px);
}
.nav-desktop a {
  position: relative;
  font-size: .92rem;
  color: var(--ink-soft);
  padding: 6px 2px;
  transition: color 200ms var(--ease);
}
.nav-desktop a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 0; height: 2px;
  background: var(--accent);
  transition: width 220ms var(--ease);
}
.nav-desktop a:hover,
.nav-desktop a.is-active { color: var(--ink); }
.nav-desktop a:hover::after,
.nav-desktop a.is-active::after { width: 100%; }

.nav-cta {
  font-size: .9rem !important;
  font-weight: 600;
  color: #14140E !important;
  background: var(--accent);
  padding: 9px 18px !important;
  border-radius: 999px;
  transition: background 200ms var(--ease), color 200ms var(--ease), transform 200ms var(--ease);
}
.nav-desktop .nav-cta::after { display: none; }
.nav-cta:hover {
  background: #F3CD6C;
  color: #14140E !important;
  transform: translateY(-1px);
}

/* hamburger */
.nav-toggle {
  display: none;
  position: relative;
  z-index: 1100;
  width: 44px; height: 44px;
  background: transparent;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.nav-toggle span {
  display: block;
  width: 20px; height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: transform 260ms var(--ease), opacity 200ms var(--ease);
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* drawer */
.drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(360px, 92vw);
  z-index: 1050;
  background: #131419;
  border-left: 1px solid var(--gold-line);
  transform: translateX(100%);
  transition: transform 320ms var(--ease);
  padding: calc(var(--header-h) + 20px) 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
}
.drawer.is-open { transform: translateX(0); }
.drawer a {
  font-family: var(--serif);
  font-size: 1.15rem;
  color: var(--ink-soft);
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  transition: color 200ms var(--ease), padding-left 200ms var(--ease);
}
.drawer a:hover, .drawer a.is-active { color: var(--accent); padding-left: 6px; }
.drawer .drawer-cta {
  margin-top: 18px;
  text-align: center;
  background: var(--accent);
  color: #14140E;
  border: 0;
  border-radius: 999px;
  padding: 14px;
  font-weight: 600;
  justify-content: center;
}
.drawer .drawer-cta:hover { color: #14140E; padding-left: 0; background: #F3CD6C; }
.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  visibility: hidden;
  transition: opacity 240ms var(--ease), visibility 240ms var(--ease);
}
.drawer-backdrop.is-open { opacity: 1; visibility: visible; }

@media (max-width: 1024px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: flex; }
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 600;
  font-size: .96rem;
  padding: 13px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background 200ms var(--ease), color 200ms var(--ease),
              transform 200ms var(--ease), box-shadow 200ms var(--ease), border-color 200ms var(--ease);
  text-align: center;
}
.btn-primary {
  background: var(--accent);
  color: #14140E;
  box-shadow: 0 12px 30px -14px rgba(232, 184, 75, .55);
}
.btn-primary:hover, .btn-primary:focus-visible {
  background: #F3CD6C;
  color: #14140E;
  transform: translateY(-2px);
}
.btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line-strong);
}
.btn-ghost:hover, .btn-ghost:focus-visible {
  background: var(--surface-2);
  color: var(--ink);
  border-color: var(--gold-line);
  transform: translateY(-2px);
}
.btn .arw { transition: transform 200ms var(--ease); }
.btn:hover .arw { transform: translateX(4px); }

/* ============================================================
   HERO — full-bleed galeri-vitrin + kağıt/cam parıltısı
   ============================================================ */
.hero {
  position: relative;
  min-height: min(92vh, 820px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-bottom: 1px solid var(--gold-line);
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: heroZoom 18s ease-out forwards;
}
@keyframes heroZoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(14,15,19,.55) 0%, rgba(14,15,19,.2) 32%, rgba(14,15,19,.72) 78%, rgba(14,15,19,.96) 100%),
    linear-gradient(90deg, rgba(14,15,19,.7) 0%, rgba(14,15,19,.1) 55%);
}
/* cam parıltısı — kayan CSS ışık (imza etkileşim) */
.gloss {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    460px circle at var(--mx, 30%) var(--my, 40%),
    rgba(255, 255, 255, 0.14),
    rgba(255, 255, 255, 0.05) 34%,
    transparent 62%);
  mix-blend-mode: screen;
  opacity: .9;
  transition: background 120ms linear;
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter) clamp(48px, 7vw, 96px);
}
.hero-frame {
  position: absolute;
  z-index: 2;
  inset: clamp(16px, 3vw, 40px);
  border: 1px solid var(--gold-line);
  pointer-events: none;
}
.hero-frame::before, .hero-frame::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  border: 1px solid var(--accent);
}
.hero-frame::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.hero-frame::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }

.hero h1 {
  font-size: clamp(2.5rem, 6.4vw, 4.5rem);
  max-width: 15ch;
  margin: 18px 0 0;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .5);
}
.hero h1 .word {
  display: inline-block;
  opacity: 0;
  transform: translateY(26px);
  animation: heroWord 720ms var(--ease) forwards;
  animation-delay: calc(240ms + var(--w) * 90ms);
}
@keyframes heroWord {
  to { opacity: 1; transform: none; }
}
.hero .accent-word { color: var(--accent); }
.hero-sub {
  max-width: 52ch;
  margin-top: 22px;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  color: var(--ink-soft);
  opacity: 0;
  animation: fadeUp 700ms var(--ease) forwards;
  animation-delay: 720ms;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
  opacity: 0;
  animation: fadeUp 700ms var(--ease) forwards;
  animation-delay: 860ms;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media img, .hero h1 .word, .hero-sub, .hero-actions { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* trust strip — küçük rozetler */
.trust-strip {
  position: relative;
  z-index: 2;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.trust-strip .container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  padding-block: 16px;
  align-items: center;
}
.trust-item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: .84rem;
  color: var(--ink-soft);
  font-family: var(--mono);
  letter-spacing: 0.02em;
}
.trust-item::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 10px rgba(232, 184, 75, .8);
}

/* stat inline */
.stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 5vw, 64px);
  margin-top: 40px;
}
.stat {
  display: flex;
  flex-direction: column;
}
.stat .num {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
  color: var(--accent);
  font-variant-numeric: tabular-nums;
  min-width: 3ch;
  line-height: 1.1;
}
.stat .lbl {
  font-size: .82rem;
  color: var(--ink-mute);
  margin-top: 4px;
  max-width: 20ch;
}

/* ============================================================
   VITRIN — filtre-katalog + karşılaştırma (aracın kalbi)
   ============================================================ */
#vitrin { background: var(--bg); }
.vitrin-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 26px 0 30px;
  padding: 18px 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  align-items: flex-end;
}
.filter-group { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.filter-group > span {
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-soft);
  padding: 7px 14px;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 500;
  transition: all 180ms var(--ease);
}
.chip:hover { border-color: var(--gold-line); color: var(--ink); }
.chip[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #14140E;
}
.filter-meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--mono);
  font-size: .8rem;
  color: var(--ink-mute);
}
.filter-reset {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--ink-soft);
  padding: 7px 14px;
  border-radius: 999px;
  font-size: .8rem;
  transition: all 180ms var(--ease);
}
.filter-reset:hover { border-color: var(--accent); color: var(--accent); }

/* 4-kolon sıkı grid */
.vitrin-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1100px) { .vitrin-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .vitrin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
@media (max-width: 430px) { .vitrin-grid { grid-template-columns: 1fr; } }

.kolaj-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 260ms var(--ease), border-color 260ms var(--ease), box-shadow 260ms var(--ease);
}
.kolaj-card.is-hidden { display: none; }
.kolaj-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold-line);
  box-shadow: 0 24px 40px -28px rgba(0, 0, 0, .9);
}
.kolaj-figure {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--surface-3);
}
.kolaj-figure img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease);
}
.kolaj-card:hover .kolaj-figure img { transform: scale(1.06); }
/* büyüteç hover + cam parıltısı */
.kolaj-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.16) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 700ms var(--ease);
  pointer-events: none;
}
.kolaj-card:hover .kolaj-figure::after { transform: translateX(100%); }
.kolaj-tag {
  position: absolute;
  top: 10px; left: 10px;
  font-family: var(--mono);
  font-size: .64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(14, 15, 19, 0.78);
  border: 1px solid var(--gold-line);
  color: var(--accent);
  padding: 4px 9px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.kolaj-swatch {
  position: absolute;
  top: 10px; right: 10px;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.6);
}
.kolaj-body { padding: 13px 14px 15px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.kolaj-body h3 { font-size: 1.02rem; }
.kolaj-meta {
  font-size: .78rem;
  color: var(--ink-mute);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.kolaj-price {
  font-family: var(--mono);
  font-size: .92rem;
  color: var(--accent);
  margin-top: auto;
}
.kolaj-price small { color: var(--ink-mute); font-size: .72rem; }
.kolaj-compare {
  margin-top: 6px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-soft);
  padding: 8px 10px;
  border-radius: var(--r-sm);
  font-size: .8rem;
  font-weight: 500;
  transition: all 180ms var(--ease);
}
.kolaj-compare:hover { border-color: var(--gold-line); color: var(--ink); }
.kolaj-compare[aria-pressed="true"] {
  background: rgba(122, 140, 255, 0.16);
  border-color: var(--accent2);
  color: var(--accent2-soft);
}

/* 0 sonuç */
.vitrin-empty {
  display: none;
  text-align: center;
  padding: 44px 20px;
  border: 1px dashed var(--gold-line);
  border-radius: var(--r-md);
  background: var(--surface);
}
.vitrin-empty.is-shown { display: block; }
.vitrin-empty h3 { font-size: 1.3rem; }
.vitrin-empty p { color: var(--ink-soft); margin-top: 10px; }
.vitrin-empty .suggest {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* comparison tray + panel */
.compare-bar {
  position: sticky;
  bottom: 14px;
  z-index: 40;
  margin-top: 24px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 18px;
  background: rgba(25, 27, 33, 0.96);
  border: 1px solid var(--accent2);
  border-radius: var(--r-md);
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .9);
}
.compare-bar.is-shown { display: flex; }
.compare-bar .count { font-family: var(--mono); font-size: .84rem; color: var(--accent2-soft); }
.compare-bar .actions { display: flex; gap: 10px; }
.compare-bar button {
  padding: 9px 16px;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all 180ms var(--ease);
}
.compare-open { background: var(--accent2); color: #0B0D1A; }
.compare-open:hover { background: var(--accent2-soft); }
.compare-open:disabled { opacity: .45; cursor: not-allowed; }
.compare-clear { background: transparent; border-color: var(--line-strong); color: var(--ink-soft); }
.compare-clear:hover { border-color: var(--accent2); color: var(--accent2-soft); }

.compare-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(6, 7, 10, 0.8);
  backdrop-filter: blur(4px);
}
.compare-modal.is-open { display: flex; }
.compare-inner {
  width: 100%;
  max-width: 780px;
  max-height: 88vh;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--gold-line);
  border-radius: var(--r-lg);
  padding: clamp(20px, 3vw, 32px);
}
.compare-inner-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.compare-inner-head h3 { font-size: 1.4rem; }
.compare-close {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 1px solid var(--line-strong);
  color: var(--ink);
  font-size: 1.2rem;
  line-height: 1;
  transition: all 180ms var(--ease);
}
.compare-close:hover { border-color: var(--accent); color: var(--accent); }
.compare-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 560px) { .compare-cols { grid-template-columns: 1fr; } }
.compare-col {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}
.compare-col img { aspect-ratio: 3/4; object-fit: cover; width: 100%; }
.compare-col .cc-body { padding: 14px; }
.compare-col h4 { font-size: 1.05rem; }
.compare-col dl {
  margin: 12px 0 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 12px;
  font-size: .84rem;
}
.compare-col dt { color: var(--ink-mute); }
.compare-col dd { margin: 0; text-align: right; color: var(--ink); font-family: var(--mono); }

/* ============================================================
   BOYUTLAR — ölçü/fiyat tablosu + paketler
   ============================================================ */
#boyutlar { background: var(--surface); border-block: 1px solid var(--line); }
.boyut-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: start;
}
@media (max-width: 900px) { .boyut-layout { grid-template-columns: 1fr; } }

.table-scroll {
  display: block; width: 100%; max-width: 100%; min-width: 0;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
:where(*:has(> .table-scroll), *:has(> * > .table-scroll), *:has(> * > * > .table-scroll)) { min-width: 0; }
.table-scroll > table {
  margin: 0 !important;
  min-width: 420px;
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}
.price-table thead th {
  text-align: left;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 14px 16px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--line);
}
.price-table tbody td {
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-soft);
}
.price-table tbody tr:last-child td { border-bottom: 0; }
.price-table tbody tr:hover td { background: rgba(232, 184, 75, 0.05); }
.price-table .boyut-cell { color: var(--ink); font-weight: 500; }
.price-table .fiyat-cell { font-family: var(--mono); color: var(--accent); white-space: nowrap; }
.price-note {
  font-size: .82rem;
  color: var(--ink-mute);
  margin-top: 14px;
}
.price-note b { color: var(--accent2-soft); }

.boyut-photo {
  position: relative;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--gold-line);
  aspect-ratio: 4 / 5;
}
.boyut-photo img { width: 100%; height: 100%; object-fit: cover; }
.boyut-photo figcaption {
  position: absolute;
  left: 14px; bottom: 14px; right: 14px;
  font-family: var(--mono);
  font-size: .74rem;
  color: var(--ink);
  background: rgba(14, 15, 19, 0.72);
  border: 1px solid var(--gold-line);
  padding: 8px 12px;
  border-radius: var(--r-sm);
  backdrop-filter: blur(4px);
}

/* packages */
.packages {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: clamp(36px, 5vw, 56px);
}
@media (max-width: 820px) { .packages { grid-template-columns: 1fr; } }
.pkg {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 240ms var(--ease), border-color 240ms var(--ease);
}
.pkg:hover { transform: translateY(-4px); border-color: var(--gold-line); }
.pkg.featured { border-color: var(--accent); box-shadow: 0 24px 46px -30px rgba(232, 184, 75, .5); }
.pkg-badge {
  align-self: flex-start;
  font-family: var(--mono);
  font-size: .64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #14140E;
  background: var(--accent);
  padding: 4px 10px;
  border-radius: 999px;
}
.pkg h3 { font-size: 1.25rem; }
.pkg .pkg-price {
  font-family: var(--mono);
  font-size: 1.7rem;
  color: var(--accent);
}
.pkg .pkg-price small { font-size: .8rem; color: var(--ink-mute); }
.pkg ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.pkg ul li {
  position: relative;
  padding-left: 22px;
  font-size: .9rem;
  color: var(--ink-soft);
}
.pkg ul li::before {
  content: "";
  position: absolute;
  left: 4px; top: 9px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent);
}
.pkg ul li.excl { color: var(--ink-mute); }
.pkg ul li.excl::before { background: transparent; border: 1px solid var(--line-strong); }
.pkg .pkg-time {
  font-size: .8rem;
  color: var(--ink-mute);
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.pkg .btn { margin-top: auto; }

/* ============================================================
   NASIL — sipariş akışı (dikey timeline)
   ============================================================ */
#nasil { background: var(--bg); }
.flow {
  display: grid;
  gap: 0;
  margin-top: 10px;
  border-left: 1px solid var(--gold-line);
  margin-left: 10px;
}
.flow-step {
  position: relative;
  padding: 0 0 34px 34px;
}
.flow-step:last-child { padding-bottom: 0; }
.flow-step::before {
  content: "";
  position: absolute;
  left: -6px; top: 4px;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(232, 184, 75, .16);
}
.flow-step .step-num {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: 0.12em;
  color: var(--accent2-soft);
}
.flow-step h3 { font-size: 1.2rem; margin: 4px 0 6px; }
.flow-step p { color: var(--ink-soft); font-size: .95rem; max-width: 62ch; }
.flow-step .when {
  display: inline-block;
  margin-top: 8px;
  font-family: var(--mono);
  font-size: .74rem;
  color: var(--ink-mute);
  border: 1px solid var(--line);
  padding: 3px 10px;
  border-radius: 999px;
}

/* ============================================================
   REFERANSLAR — editorial grid
   ============================================================ */
#referanslar { background: var(--surface); border-block: 1px solid var(--line); }
.ref-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px) { .ref-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .ref-grid { grid-template-columns: 1fr; } }
.ref-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ref-card:nth-child(2) { grid-row: span 1; }
.ref-quote { font-size: .95rem; color: var(--ink); line-height: 1.6; }
.ref-quote::before { content: "“"; color: var(--accent); font-size: 2rem; font-family: var(--serif); line-height: 0; vertical-align: -0.3em; margin-right: 4px; }
.ref-author {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: .84rem;
}
.ref-author b { color: var(--accent); font-weight: 600; }
.ref-author span { color: var(--ink-mute); display: block; font-family: var(--mono); font-size: .74rem; margin-top: 2px; }

/* atölye notları */
.notes {
  margin-top: clamp(34px, 5vw, 52px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 780px) { .notes { grid-template-columns: 1fr; } }
.note {
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 16px 18px;
  background: var(--bg);
}
.note time { font-family: var(--mono); font-size: .72rem; color: var(--accent2-soft); }
.note p { margin-top: 6px; font-size: .9rem; color: var(--ink-soft); }

/* ============================================================
   OZEL — özel sipariş formu
   ============================================================ */
#ozel { background: var(--bg); }
.ozel-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}
@media (max-width: 900px) { .ozel-layout { grid-template-columns: 1fr; } }
.ozel-aside .selected-box {
  margin-top: 20px;
  background: var(--surface);
  border: 1px solid var(--gold-line);
  border-radius: var(--r-md);
  padding: 18px 20px;
}
.ozel-aside .selected-box h4 { font-size: .96rem; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-mute); font-weight: 500; }
.ozel-aside .selected-box p { margin-top: 8px; color: var(--accent); font-family: var(--mono); }
.ozel-points { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ozel-points li { position: relative; padding-left: 22px; color: var(--ink-soft); font-size: .92rem; }
.ozel-points li::before { content: ""; position: absolute; left: 3px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); }

.form-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: clamp(22px, 3.5vw, 34px);
}
.cta-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
  justify-content: center;
  border-color: var(--gold-line);
}
.cta-card h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); margin-top: 4px; }
.cta-card p { color: var(--ink-soft); font-size: .98rem; max-width: 52ch; }
.cta-card-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .84rem; color: var(--ink-soft); font-weight: 500; }
.field label .req { color: var(--accent); }
.field input, .field select, .field textarea {
  font-family: var(--body);
  font-size: .95rem;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  transition: border-color 180ms var(--ease), box-shadow 180ms var(--ease);
  width: 100%;
}
.field textarea { resize: vertical; min-height: 118px; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-mute); }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(232, 184, 75, .16);
}
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.field.kvkk {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
}
.field.kvkk label { font-size: .82rem; color: var(--ink-mute); line-height: 1.5; }
.field.kvkk a { color: var(--accent); text-decoration: underline; }
.field input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: auto;
  width: 18px; height: 18px;
  min-width: 18px; min-height: 18px;
  padding: 0; border: 0; margin: 2px 0 0;
  accent-color: var(--accent);
}
.form-card .btn { margin-top: 22px; width: 100%; }
@media (min-width: 620px) { .form-card .btn { width: auto; } }

/* ============================================================
   ILETISIM
   ============================================================ */
#iletisim { background: var(--surface); border-top: 1px solid var(--line); }
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.contact-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 22px 22px;
  transition: transform 220ms var(--ease), border-color 220ms var(--ease);
}
.contact-card:hover { transform: translateY(-3px); border-color: var(--gold-line); }
.contact-card .cc-label {
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.contact-card .cc-value {
  display: block;
  margin-top: 8px;
  font-size: 1.02rem;
  color: var(--ink);
  word-break: break-word;
  overflow-wrap: anywhere;
}
a.contact-card .cc-value { color: var(--accent); }
.contact-card .cc-sub { display: block; margin-top: 5px; font-size: .8rem; color: var(--ink-mute); }

.hours-card {
  margin-top: 16px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 20px 22px;
}
.hours-card h3 { font-size: 1.1rem; margin-bottom: 14px; }
.hours-list { display: grid; gap: 2px; }
.hours-list .row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 4px;
  border-bottom: 1px solid var(--line);
  font-size: .9rem;
}
.hours-list .row:last-child { border-bottom: 0; }
.hours-list .row .day { color: var(--ink-soft); }
.hours-list .row .hrs { font-family: var(--mono); color: var(--ink); font-variant-numeric: tabular-nums; }
.hours-list .row.today { background: rgba(232, 184, 75, .07); border-radius: var(--r-sm); }
.hours-list .row.today .day { color: var(--accent); font-weight: 600; }

/* ============================================================
   FAQ
   ============================================================ */
#sss { background: var(--bg); }
.faq-list { max-width: 820px; margin: 0 auto; }
.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 22px 4px;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--ink);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .plus {
  flex-shrink: 0;
  width: 26px; height: 26px;
  position: relative;
  border: 1px solid var(--gold-line);
  border-radius: 50%;
  transition: transform 300ms var(--ease);
}
.faq-item summary .plus::before, .faq-item summary .plus::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--accent);
}
.faq-item summary .plus::before { width: 11px; height: 1.5px; }
.faq-item summary .plus::after { width: 1.5px; height: 11px; transition: transform 300ms var(--ease); }
.faq-item[open] summary .plus { transform: rotate(90deg); }
.faq-item[open] summary .plus::after { transform: translate(-50%, -50%) scaleY(0); }
.faq-item > .answer {
  height: 0;
  padding: 0 4px;
  overflow: hidden;
  transition: height 360ms var(--ease-2), padding-block-end 360ms var(--ease-2);
}
.faq-item[open] > .answer {
  height: auto;
  padding-block-end: 22px;
}
.faq-item > .answer p { color: var(--ink-soft); font-size: .95rem; max-width: 70ch; }
@media (prefers-reduced-motion: reduce) {
  .faq-item > .answer { transition: none; }
}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band {
  background: linear-gradient(135deg, #1C1710, var(--surface));
  border-block: 1px solid var(--gold-line);
  text-align: center;
}
.cta-band h2 { font-size: clamp(1.7rem, 4vw, 2.8rem); max-width: 18ch; margin: 0 auto; }
.cta-band p { color: var(--ink-soft); margin: 16px auto 28px; max-width: 52ch; }
.cta-band .btn-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: #0A0B0E;
  border-top: 1px solid var(--line);
  padding-block: clamp(44px, 6vw, 72px) 28px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 34px;
}
@media (max-width: 860px) { .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 500px) { .footer-top { grid-template-columns: 1fr; } }
.footer-brand .brand { font-size: 1.4rem; margin-bottom: 12px; }
.footer-brand p { color: var(--ink-mute); font-size: .88rem; max-width: 34ch; }
.footer-col h4 {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 14px;
  font-weight: 500;
}
.footer-col a {
  display: block;
  color: var(--ink-soft);
  font-size: .9rem;
  padding: 5px 0;
  transition: color 180ms var(--ease), padding-left 180ms var(--ease);
}
.footer-col a:hover { color: var(--accent); padding-left: 4px; }
.footer-col address { font-style: normal; color: var(--ink-soft); font-size: .9rem; line-height: 1.7; }
.footer-bottom {
  margin-top: clamp(34px, 5vw, 52px);
  padding-top: 22px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  align-items: center;
}
.footer-bottom .legal { color: var(--ink-mute); font-size: .8rem; }
.footer-bottom .legal-links a { display: inline; color: var(--ink-soft); font-size: .8rem; }
.footer-bottom .legal-links a:hover { color: var(--accent); }
.footer-bottom .legal-links span { color: var(--line-strong); margin: 0 8px; }

/* ============================================================
   PAGE HERO (iç sayfalar)
   ============================================================ */
.page-hero {
  padding: clamp(40px, 7vw, 84px) 0 clamp(30px, 4vw, 48px);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface), var(--bg));
}
.page-hero h1 { font-size: clamp(2rem, 5vw, 3.4rem); margin-top: 16px; max-width: 18ch; }
.page-hero p { color: var(--ink-soft); margin-top: 16px; max-width: 60ch; }

/* legal / prose */
.prose { max-width: 760px; }
.prose h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin-top: 42px; }
.prose h3 { font-size: 1.15rem; margin-top: 28px; color: var(--accent); }
.prose p, .prose li { color: var(--ink-soft); font-size: .96rem; line-height: 1.7; margin-top: 14px; }
.prose ul { padding-left: 20px; }
.prose li { margin-top: 8px; }
.prose a { color: var(--accent); text-decoration: underline; }
.prose .meta-updated { font-family: var(--mono); font-size: .8rem; color: var(--ink-mute); margin-bottom: 8px; }

/* team (hakkimizda) */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 10px;
}
@media (max-width: 860px) { .team-grid { grid-template-columns: 1fr; } }
.team-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}
.team-card .team-photo { aspect-ratio: 4/5; overflow: hidden; background: var(--surface-3); }
.team-card .team-photo img { width: 100%; height: 100%; object-fit: cover; }
.team-card .team-body { padding: 18px 20px 22px; }
.team-card h3 { font-size: 1.15rem; }
.team-card .role { font-family: var(--mono); font-size: .76rem; color: var(--accent); margin-top: 4px; }
.team-card p { color: var(--ink-soft); font-size: .9rem; margin-top: 12px; }

/* about split */
.about-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}
@media (max-width: 860px) { .about-split { grid-template-columns: 1fr; } }
.about-split .about-photo { border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--gold-line); aspect-ratio: 5/4; }
.about-split .about-photo img { width: 100%; height: 100%; object-fit: cover; }

/* thank you */
.thanks-wrap {
  min-height: 62vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(60px, 10vw, 120px) var(--gutter);
}
.thanks-wrap .mark {
  width: 72px; height: 72px;
  border-radius: 50%;
  border: 1px solid var(--gold-line);
  display: grid;
  place-items: center;
  font-family: var(--serif);
  font-size: 2rem;
  color: var(--accent);
  margin-bottom: 24px;
}
.thanks-wrap h1 { font-size: clamp(2rem, 5vw, 3rem); }
.thanks-wrap p { color: var(--ink-soft); margin-top: 16px; max-width: 46ch; }
.thanks-wrap .btn { margin-top: 30px; }

/* sitemap page */
.sitemap-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  margin-top: 20px;
}
.sitemap-cols .col h3 { font-size: 1.1rem; color: var(--accent); margin-bottom: 12px; }
.sitemap-cols .col a { display: block; color: var(--ink-soft); padding: 6px 0; font-size: .92rem; }
.sitemap-cols .col a:hover { color: var(--accent); }

/* 404 */
.err-wrap {
  min-height: 68vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 80px var(--gutter);
}
.err-wrap .code { font-family: var(--serif); font-size: clamp(4rem, 16vw, 9rem); color: var(--accent); line-height: 1; }
.err-wrap h1 { font-size: clamp(1.4rem, 3vw, 2rem); margin-top: 12px; }
.err-wrap p { color: var(--ink-soft); margin-top: 14px; max-width: 42ch; }
.err-wrap .btn { margin-top: 28px; }

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie-banner {
  position: fixed;
  bottom: 16px; left: 16px; right: 16px;
  max-width: 520px;
  margin: 0 auto;
  z-index: 9999;
  background: #14161C;
  border: 1px solid var(--gold-line);
  border-radius: var(--r-md);
  padding: 20px 22px;
  box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .9);
  transform: translateY(140%);
  opacity: 0;
  transition: transform 280ms var(--ease), opacity 240ms var(--ease);
}
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; }
@media (min-width: 720px) { .cookie-banner { left: 24px; right: auto; max-width: 420px; } }
.cookie-banner h4 { font-size: 1.02rem; margin-bottom: 8px; }
.cookie-banner p { font-size: .84rem; color: var(--ink-soft); }
.cookie-banner p a { color: var(--accent); text-decoration: underline; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.cookie-actions button {
  flex: 1;
  min-width: 92px;
  min-height: 44px;
  border-radius: var(--r-sm);
  font-size: .86rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all 180ms var(--ease);
}
.cookie-actions .c-accept { background: var(--accent); color: #14140E; }
.cookie-actions .c-accept:hover { background: #F3CD6C; }
.cookie-actions .c-reject { background: var(--surface-2); color: var(--ink); border-color: var(--line-strong); }
.cookie-actions .c-reject:hover { border-color: var(--accent); color: var(--accent); }
.cookie-actions .c-settings { background: transparent; color: var(--ink-soft); border-color: var(--line-strong); flex: 0 0 100%; }
.cookie-actions .c-settings:hover { color: var(--accent); border-color: var(--accent); }

/* marquee-free: nothing */

.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9998;transition:width 80ms linear;pointer-events:none}

/* ============================================================
   ██████  GALLERY-WALL / SALON-HANG ENGINE — Katman
   Whole page = one continuous collaged framed gallery wall.
   Dark plaster wall substrate + gold-framed hung works + wires,
   picture-rails, tape, torn swatches, placards + assemble scene.
   Keeps brand palette (gold #E8B84B / periwinkle #7A8CFF).
   ============================================================ */

/* --- sticky-fix: CLIP not hidden so position:sticky scenes survive --- */
html { overflow-x: clip; overflow-y: visible; }
body { overflow-x: clip; overflow-y: visible; max-width: 100vw; }

:root{
  --wall-1:#16141b;
  --wall-2:#100e15;
  --wall-3:#1b1822;
  --plaster-ink:#2a2732;
  --fgold-hi:#f3dd93;
  --fgold:#c9a24a;
  --fgold-lo:#7c5f24;
  --frame-grad:linear-gradient(135deg,#f3dd93 0%,#caa24c 24%,#7c5f24 50%,#caa24c 76%,#f6e3a0 100%);
  --tape:rgba(232,214,160,.34);
  --tape-blue:rgba(150,166,255,.30);
  --paper:#efe7d4;
  --paper-ink:#221d13;
  --wire:#b79340;
  --picwire:rgba(232,184,75,.55);
}

/* --- WALL SUBSTRATE: continuous dark collaged plaster --- */
body{
  background-color:#14121a;
  background-image:
    radial-gradient(120% 90% at 18% 0%, rgba(232,184,75,.055), transparent 46%),
    radial-gradient(120% 90% at 88% 30%, rgba(122,140,255,.05), transparent 44%),
    radial-gradient(100% 70% at 50% 100%, rgba(0,0,0,.5), transparent 60%),
    radial-gradient(rgba(255,255,255,.018) 1px, transparent 1.6px),
    radial-gradient(rgba(0,0,0,.24) 1px, transparent 1.7px),
    repeating-linear-gradient(92deg, rgba(255,255,255,.010) 0 2px, transparent 2px 5px),
    linear-gradient(180deg,#171420,#100e16 60%,#0d0b12);
  background-size:auto,auto,auto, 6px 6px, 9px 9px, auto, auto;
  background-attachment:fixed,fixed,fixed,fixed,fixed,fixed,fixed;
  background-position:0 0,0 0,0 0, 0 0, 3px 4px, 0 0, 0 0;
}
/* fixed wall vignette + faint museum frame edge */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  box-shadow:inset 0 0 200px rgba(0,0,0,.62), inset 0 0 0 7px rgba(0,0,0,.30);
  background:radial-gradient(130% 90% at 50% -8%, rgba(255,236,190,.06), transparent 55%);
}
/* keep in-flow content above the wall pseudo (do NOT touch already-fixed els) */
main, .site-footer { position:relative; z-index:2; }
section > .container, .hero-inner, .cine-pin > *, .wall-wrap, .footer-top, .footer-bottom { position:relative; z-index:4; }

/* --- NEUTRALISE every flat section fill -> wall shows through everywhere --- */
#vitrin,#boyutlar,#nasil,#referanslar,#ozel,#iletisim,#sss,
.cta-band,.trust-strip,.page-hero{ background:transparent !important; }
/* keep gold picture-rail separators between wall zones */
#boyutlar,#referanslar,#iletisim{ border-block:1px solid var(--gold-line) !important; }
.trust-strip{ border-bottom:1px solid var(--gold-line) !important; backdrop-filter:none; }
.cta-band{ border-block:1px solid var(--gold-line) !important; }

/* header + footer become translucent wall areas with a picture-rail edge */
.site-header{ background:rgba(15,13,20,.62) !important; border-bottom:1px solid var(--gold-line); }
.site-header.is-scrolled{ background:rgba(13,11,17,.82) !important; }
.site-footer{ background:rgba(9,8,12,.66) !important; border-top:2px solid var(--gold-line); }
.page-hero{ border-bottom:1px solid var(--gold-line); }

/* --- EYEBROW -> taped cut-paper placard --- */
.eyebrow{
  color:#2a2011 !important; background:var(--tape);
  padding:5px 12px; border-radius:2px; transform:rotate(-1.2deg);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:2px 3px 0 rgba(0,0,0,.28); backdrop-filter:none;
}
.eyebrow::before{ background:#5a4a1e; }

/* ============================================================
   DECOR SYSTEM  (.pm absolute, pointer-events:none)
   ============================================================ */
.pm{ position:absolute; pointer-events:none; z-index:1; }
.pm-decor{ left:0; right:0; width:100%; }
.o5{opacity:.5}.o6{opacity:.65}.o7{opacity:.78}

/* picture-rail molding (full-bleed horizontal) */
.pm-rail{ height:9px; left:0; right:0; width:100%;
  background:linear-gradient(180deg, rgba(243,221,147,.34), rgba(124,95,36,.30) 46%, rgba(0,0,0,.4));
  box-shadow:0 3px 7px -3px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,240,200,.35); }
.pm-rail::after{ content:""; position:absolute; left:0; right:0; top:9px; height:5px;
  background:linear-gradient(180deg, rgba(0,0,0,.34), transparent); }

/* empty hung gold frame */
.pm-frame{ width:74px; height:92px; background:rgba(20,18,26,.55);
  border:6px solid var(--fgold); border-image:var(--frame-grad) 1;
  box-shadow:0 18px 30px -16px rgba(0,0,0,.85), inset 0 0 0 2px rgba(0,0,0,.5);
  transform:rotate(-3deg); }
.pm-frame::before{ content:""; position:absolute; inset:5px; border:1px solid rgba(243,221,147,.22); }
.pm-frame::after{ content:""; position:absolute; left:50%; top:-13px; width:60%; height:13px; transform:translateX(-50%);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 22' preserveAspectRatio='none'%3E%3Cpath d='M50 3 L10 20 M50 3 L90 20' stroke='%23c9a24a' stroke-width='1.4' fill='none' opacity='0.6'/%3E%3Ccircle cx='50' cy='3.4' r='2.4' fill='%23e8b84b'/%3E%3C/svg%3E") no-repeat center/100% 100%; }
.pm-frame.wide{ width:104px; height:78px; }
.pm-frame.tall{ width:66px; height:104px; }

/* washi / masking tape */
.pm-tape{ width:84px; height:26px; background:var(--tape);
  border:1px solid rgba(255,255,255,.28); box-shadow:0 4px 9px -5px rgba(0,0,0,.6);
  transform:rotate(-6deg); }
.pm-tape::before,.pm-tape::after{ content:""; position:absolute; top:0; bottom:0; width:6px;
  background:repeating-linear-gradient(180deg, rgba(0,0,0,.06) 0 2px, transparent 2px 4px); }
.pm-tape::before{ left:0 } .pm-tape::after{ right:0 }
.pm-tape.tp-blue{ background:var(--tape-blue); }
.pm-tape.tp-gold{ background:rgba(232,184,75,.28); }
.pm-tape.long{ width:126px; }

/* paint / paper swatch chip (torn edge) */
.pm-swatch{ width:44px; height:56px; background:var(--accent);
  clip-path:polygon(0 0,100% 0,100% 88%,82% 100%,60% 92%,38% 100%,16% 92%,0 100%);
  box-shadow:0 10px 18px -10px rgba(0,0,0,.7); transform:rotate(3deg); }

/* torn paper scrap */
.pm-scrap{ width:92px; height:64px; background:var(--paper);
  box-shadow:0 12px 22px -12px rgba(0,0,0,.7);
  clip-path:polygon(2% 8%,18% 2%,40% 7%,62% 1%,86% 6%,99% 14%,97% 40%,100% 66%,95% 92%,74% 99%,50% 94%,28% 100%,8% 95%,1% 70%,4% 40%);
  transform:rotate(-4deg); }
.pm-scrap.ink{ background:#e3d9c0; }

/* cut-paper gallery placard (label) */
.pm-placard{ background:var(--paper); color:var(--paper-ink);
  font-family:var(--mono); font-size:10.5px; line-height:1.35; letter-spacing:.02em;
  padding:9px 11px 10px; max-width:150px;
  box-shadow:0 14px 24px -13px rgba(0,0,0,.75); transform:rotate(-2deg);
  clip-path:polygon(0 4%,100% 0,99% 96%,1% 100%); }
.pm-placard b{ display:block; font-weight:700; color:#7a3a10; margin-bottom:2px; text-transform:uppercase; letter-spacing:.08em; }
.pm-placard.blue b{ color:#2a3a8f; }

/* registration crosshair + crop marks */
.pm-cross{ width:26px; height:26px; }
.pm-cross::before,.pm-cross::after{ content:""; position:absolute; background:rgba(232,184,75,.6); }
.pm-cross::before{ left:50%; top:0; width:1.5px; height:100%; transform:translateX(-50%); }
.pm-cross::after{ top:50%; left:0; height:1.5px; width:100%; transform:translateY(-50%); }
.pm-crop{ width:22px; height:22px; border-top:2px solid rgba(232,184,75,.55); border-left:2px solid rgba(232,184,75,.55); }
.pm-crop.br{ border-top:0; border-left:0; border-bottom:2px solid rgba(232,184,75,.55); border-right:2px solid rgba(232,184,75,.55); }

/* ransom / collage letter */
.pm-letter{ width:30px; height:34px; display:grid; place-items:center;
  font-family:var(--serif); font-weight:700; font-size:19px; color:var(--paper-ink);
  background:var(--paper); box-shadow:0 8px 16px -9px rgba(0,0,0,.7); transform:rotate(-5deg); }
.pm-letter.dark{ background:#26232e; color:var(--fgold-hi); }

/* picture-light warm glint */
.pm-glow{ width:230px; height:130px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,224,150,.16), transparent 72%);
  filter:blur(3px); }

/* halftone dot cluster */
.pm-dot{ width:60px; height:60px; opacity:.5;
  background-image:radial-gradient(rgba(232,184,75,.5) 22%, transparent 24%);
  background-size:9px 9px; transform:rotate(6deg); }

/* small hanging picture wire (standalone) */
.pm-wire{ width:64px; height:26px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' preserveAspectRatio='none'%3E%3Cpath d='M50 4 L10 36 M50 4 L90 36' stroke='%23b79340' stroke-width='1.6' fill='none' opacity='0.7'/%3E%3Ccircle cx='50' cy='5' r='3' fill='%23e8b84b'/%3E%3C/svg%3E") no-repeat center/100% 100%; }

/* decor mobile curation — keep the whole collaged wall, thin ~half the heavy layer
   (never display:none the substrate; rails/keeps always survive) */
@media (max-width:900px){
  .pm-bleed:nth-of-type(2n){ display:none !important; }
}
@media (max-width:600px){
  .pm-bleed:nth-of-type(3n+1){ display:none !important; }
  .pm-frame,.pm-placard,.pm-scrap{ transform:scale(.8) rotate(-2deg); transform-origin:top left; }
}

/* ============================================================
   FRAMED CONTENT — real cards become hung framed works
   ============================================================ */
.kolaj-card,.pkg,.ref-card,.contact-card,.note,.form-card,.hours-card,
.boyut-photo,.ozel-aside .selected-box,.faq-item,.vitrin-empty,.compare-inner,.flow-step{
  border:7px solid var(--fgold) !important;
  border-image:var(--frame-grad) 1 !important;
  border-radius:0 !important;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.5),
    inset 0 0 0 2px rgba(243,221,147,.10),
    0 30px 46px -22px rgba(0,0,0,.92),
    0 12px 22px -14px rgba(0,0,0,.7) !important;
}
.kolaj-card{ overflow:visible !important; background:var(--surface); }
.flow-step{ padding:18px 18px 20px 20px; margin-bottom:14px; background:rgba(23,20,30,.72); }
.flow{ border-left:0 !important; margin-left:0; }
.faq-item{ background:rgba(23,20,30,.78); }

/* subtle salon rotation + reset on hover/focus */
.kolaj-card:nth-child(4n+1){ transform:rotate(-1deg); }
.kolaj-card:nth-child(4n+2){ transform:rotate(.7deg); }
.kolaj-card:nth-child(4n+3){ transform:rotate(1.1deg); }
.kolaj-card:nth-child(4n){ transform:rotate(-.6deg); }
.pkg:nth-child(2){ transform:rotate(-.8deg); } .pkg:nth-child(3){ transform:rotate(.9deg); }
.ref-card:nth-child(odd){ transform:rotate(-.7deg); } .ref-card:nth-child(even){ transform:rotate(.8deg); }
.contact-card:nth-child(odd){ transform:rotate(.7deg); } .contact-card:nth-child(even){ transform:rotate(-.7deg); }
.note:nth-child(odd){ transform:rotate(-.9deg); } .note:nth-child(even){ transform:rotate(.9deg); }
.kolaj-card:hover,.pkg:hover,.contact-card:hover{ transform:translateY(-4px) rotate(0deg) !important; z-index:8; }

/* picture-light glint on framed works */
.kolaj-card > .kolaj-figure::before{ content:""; position:absolute; z-index:6; left:0; right:0; top:0; height:38%;
  background:linear-gradient(180deg, rgba(255,231,170,.14), transparent); pointer-events:none; }

/* hook + hanging wire on primary hung works */
.kolaj-card::before,.pkg::before,.ref-card::before,.contact-card::before,
.note::before,.form-card::before,.hours-card::before,.boyut-photo::before,
.ozel-aside .selected-box::before{
  content:""; position:absolute; z-index:7; left:50%; top:-16px; width:11px; height:11px;
  transform:translateX(-50%) rotate(45deg);
  background:linear-gradient(135deg,#f3dd93,#8a6a26);
  box-shadow:0 3px 6px -2px rgba(0,0,0,.7); }
.kolaj-card::after,.pkg::after,.ref-card::after,.contact-card::after,
.note::after,.form-card::after,.hours-card::after,.boyut-photo::after,
.ozel-aside .selected-box::after{
  content:""; position:absolute; z-index:6; left:22%; right:22%; top:-14px; height:15px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 22' preserveAspectRatio='none'%3E%3Cpath d='M50 2 L4 20 M50 2 L96 20' stroke='%23c9a24a' stroke-width='1.2' fill='none' opacity='0.55'/%3E%3C/svg%3E") no-repeat center/100% 100%; }

/* boyut-photo keeps clipping its own image */
.boyut-photo{ overflow:hidden; }

/* comparison modal card = framed on the wall */
.compare-inner{ background:var(--surface) !important; }

/* filters strip reads as a taped control ledge */
.filters{ background:rgba(20,18,26,.82); border:1px solid var(--gold-line);
  box-shadow:0 16px 28px -18px rgba(0,0,0,.8); }

/* ============================================================
   HERO — dense hung-wall cluster
   ============================================================ */
.hero{
  min-height:min(94vh,880px); display:flex; align-items:center;
  overflow:visible !important; border-bottom:1px solid var(--gold-line);
  padding-block:clamp(40px,8vh,110px) clamp(40px,6vw,72px);
}
.hero-inner{ position:relative; z-index:5; max-width:660px; padding-bottom:0; }
.hero .eyebrow{ display:inline-flex; }
.hero h1{ text-shadow:0 2px 24px rgba(0,0,0,.6); }
.hero-hang{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.hero-hang .hang-frame{ position:absolute; background:#12101a;
  padding:8px 8px 24px; border:6px solid var(--fgold); border-image:var(--frame-grad) 1;
  box-shadow:0 30px 50px -24px rgba(0,0,0,.9), inset 0 0 0 2px rgba(0,0,0,.5); }
.hero-hang .hang-frame img{ width:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
.hero-hang .hang-frame figcaption{ position:absolute; left:0; right:0; bottom:5px; text-align:center;
  font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--fgold-hi); }
.hero-hang .hang-frame::before{ content:""; position:absolute; z-index:3; left:50%; top:-14px; width:11px; height:11px;
  transform:translateX(-50%) rotate(45deg); background:linear-gradient(135deg,#f3dd93,#8a6a26);
  box-shadow:0 3px 6px -2px rgba(0,0,0,.7); }
.hero-hang .hang-frame::after{ content:""; position:absolute; left:20%; right:20%; top:-13px; height:13px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 22' preserveAspectRatio='none'%3E%3Cpath d='M50 2 L6 20 M50 2 L94 20' stroke='%23c9a24a' stroke-width='1.3' fill='none' opacity='0.6'/%3E%3C/svg%3E") no-repeat center/100% 100%; }
.hero-hang .hf1{ right:2%;  top:9%;  width:min(30%,300px); transform:rotate(-3deg); z-index:4; }
.hero-hang .hf2{ right:30%; top:5%;  width:min(19%,180px); transform:rotate(4deg);  z-index:3; }
.hero-hang .hf3{ right:5%;  top:52%; width:min(24%,220px); transform:rotate(3deg);  z-index:5; }
.hero-hang .hf4{ right:32%; top:52%; width:min(17%,158px); transform:rotate(-6deg); z-index:4; }
.hero-hang .hf5{ right:19%; top:29%; width:min(14%,132px); transform:rotate(2deg);  z-index:6; }
.stat-row{ position:relative; z-index:5; }
@media (max-width:1000px){
  .hero-inner{ max-width:none; }
  .hero-hang .hf2,.hero-hang .hf4,.hero-hang .hf5{ opacity:.5; }
}
@media (max-width:760px){
  .hero{ min-height:auto; padding-top:clamp(74px,20vh,120px); }
  .hero-hang{ position:relative; height:clamp(220px,62vw,330px); margin-top:22px; }
  .hero-hang .hf1{ left:2%; right:auto; top:6%; width:44%; }
  .hero-hang .hf3{ right:3%; top:26%; width:40%; }
  .hero-hang .hf2,.hero-hang .hf4,.hero-hang .hf5{ display:none; }
}

/* ============================================================
   CINEMATIC ENGINE — sticky-pin GALLERY-WALL assemble scene
   ============================================================ */
.cine-track{ position:relative; }
.cine-pin{ position:sticky; top:0; height:100vh; overflow:hidden; display:grid; place-items:center; }

.wall-track{ height:360vh; }
.wall-pin{
  background-color:#1a1622;
  background-image:
    radial-gradient(120% 80% at 50% -6%, rgba(255,231,170,.07), transparent 55%),
    radial-gradient(rgba(255,255,255,.02) 1px, transparent 1.6px),
    radial-gradient(rgba(0,0,0,.28) 1px, transparent 1.7px),
    linear-gradient(180deg,#1c1826,#100e16);
  background-size:auto,6px 6px,9px 9px,auto;
  box-shadow:inset 0 0 190px rgba(0,0,0,.66), inset 0 0 0 7px rgba(0,0,0,.3);
}
.wall-wrap{ position:relative; z-index:4; width:100%; max-width:var(--container);
  margin-inline:auto; padding-inline:clamp(16px,4vw,32px);
  display:grid; grid-template-columns:1fr; gap:clamp(20px,3vw,40px); align-items:center; }
@media (min-width:1000px){ .wall-wrap{ grid-template-columns:1.25fr .75fr; } }
.wall-stage{ position:relative; width:100%; max-width:640px; aspect-ratio:16/10; margin-inline:auto; }
.wall-wires{ position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; overflow:visible; }
.wall-wires .rail{ stroke:#caa24c; stroke-width:2.4; opacity:.85; vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.6)); stroke-dasharray:1; stroke-dashoffset:1; }
.wall-wires .wire{ stroke:var(--wire); stroke-width:1.4; vector-effect:non-scaling-stroke;
  stroke-dasharray:1; stroke-dashoffset:1; opacity:.7; }
.hang{ position:absolute; will-change:transform,opacity; background:#12101a;
  padding:6px 6px 18px; border:5px solid var(--fgold); border-image:var(--frame-grad) 1;
  box-shadow:0 24px 40px -20px rgba(0,0,0,.9), inset 0 0 0 2px rgba(0,0,0,.5); z-index:5; }
.hang img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.hang figcaption{ position:absolute; left:0; right:0; bottom:3px; text-align:center;
  font-family:var(--mono); font-size:8.5px; letter-spacing:.1em; color:var(--fgold-hi); }
.hang::before{ content:""; position:absolute; left:50%; top:-11px; width:10px; height:10px;
  transform:translateX(-50%) rotate(45deg); background:linear-gradient(135deg,#f3dd93,#8a6a26);
  box-shadow:0 3px 6px -2px rgba(0,0,0,.7); z-index:6; }
.wall-cap .wall-c{ opacity:0; transform:translateY(20px); }
.wall-cap h2{ font-size:clamp(1.7rem,4vw,2.6rem); }
.wall-cap .lead{ color:var(--ink-soft); max-width:44ch; margin-top:12px; }
.wall-readout{ margin-top:18px; display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-weight:700; font-size:14px; color:var(--ink);
  border:1px solid var(--gold-line); border-radius:3px; padding:10px 14px; background:rgba(0,0,0,.32); }
.wall-readout b{ color:var(--accent); font-variant-numeric:tabular-nums; min-width:4.5ch; text-align:right; }

@media (max-width:1000px){ .wall-track{ height:320vh; } .wall-stage{ max-width:480px; } }
@media (max-width:600px){ .wall-track{ height:270vh; } .wall-stage{ max-width:360px; aspect-ratio:4/3; } }

/* ============================================================
   PRELOADER + dust motes
   ============================================================ */
#pre{ position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  background-color:#14121a;
  background-image:radial-gradient(120% 90% at 50% -8%, rgba(255,231,170,.06), transparent 55%),
    radial-gradient(rgba(0,0,0,.28) 1px, transparent 1.7px), linear-gradient(180deg,#171420,#0e0c13);
  background-size:auto,9px 9px,auto;
  transition:opacity .7s ease, visibility .7s; }
#pre.done{ opacity:0; visibility:hidden; pointer-events:none; }
#pre .pl-in{ position:relative; text-align:center; background:#17141d; color:var(--ink);
  padding:30px 42px; border:6px solid var(--fgold); border-image:var(--frame-grad) 1;
  box-shadow:0 30px 56px -22px rgba(0,0,0,.85); transform:rotate(-1.3deg); }
#pre .pl-in::before{ content:""; position:absolute; top:-13px; left:50%; width:12px; height:12px;
  transform:translateX(-50%) rotate(45deg); background:linear-gradient(135deg,#f3dd93,#8a6a26);
  box-shadow:0 4px 8px -2px rgba(0,0,0,.7); }
#pre .pl-mark{ font-family:var(--serif); font-weight:600; font-size:clamp(26px,7vw,46px); letter-spacing:-.02em; }
#pre .pl-mark b{ color:var(--accent); }
#pre .pl-sub{ font-family:var(--mono); font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
#pre .pl-bar{ margin:20px auto 0; width:min(230px,58vw); height:10px; border:1px solid var(--gold-line); background:rgba(0,0,0,.4); overflow:hidden; position:relative; }
#pre .pl-bar i{ position:absolute; inset:0; width:0;
  background:linear-gradient(90deg,var(--accent),var(--fgold-hi)); animation:plFill 1.15s cubic-bezier(.5,0,.2,1) forwards; }
@keyframes plFill{ to{ width:100%; } }
#motes{ position:fixed; inset:0; z-index:3; pointer-events:none; mix-blend-mode:screen; opacity:.5; }

/* ============================================================
   REDUCED MOTION — resolve scenes to final state
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  .wall-cap .wall-c{ opacity:1; transform:none; }
  .hang{ opacity:1 !important; transform:none !important; }
  .wall-wires .rail,.wall-wires .wire{ stroke-dashoffset:0 !important; }
}
