/* HAKAN KAYA YAYINLARI — absürt katalog, deadpan editoryal düzen */
* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --blue: #3B4ECC;      /* parlak mavi */
  --ink:  #20265C;      /* koyu lacivert */
  --cream:#EAE4D5;      /* krem */
  --white:#FFFFFF;
  --card-min: 260px;
  --serif: "Bodoni Moda", serif;
  --cond:  "Oswald", sans-serif;
  --body:  "Space Grotesk", sans-serif;
}

html, body { background: #FFFFFF; }
body {
  font-family: var(--body);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
/* mobil güvenlik: görseller taşmasın, dokunma vurgusu yumuşasın */
img, svg { max-width: 100%; }
button { -webkit-tap-highlight-color: transparent; }

/* page texture */
#texture { position: fixed; inset: 0; z-index: 0; pointer-events: none; background: #FFFFFF; }

/* beyaz zemin + hafif kraft dokusu (sıcak ince benek) — sabit */
#texture.tx-paper {
  background-color: #FCFAF5;
}
#texture.tx-paper::after {
  content: ""; position: absolute; inset: 0; opacity: .55; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='7' stitchTiles='stitch' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 0.45 0 0 0 0 0.36 0 0 0 0 0.22 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23k)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
#texture.tx-flat  { background: var(--cream); }
#texture.tx-white { background: var(--white); }
#texture.tx-dot   { background-color: var(--cream); background-image: radial-gradient(color-mix(in srgb, var(--ink) 22%, transparent) 1px, transparent 1.4px); background-size: 20px 20px; }

#root { position: relative; z-index: 2; }

/* ---------------- MASTHEAD ---------------- */
.masthead {
  position: relative;
  padding: clamp(36px, 6vw, 80px) clamp(22px, 6vw, 100px) 0;
  text-align: center;
}
.top-meta {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .22em; font-size: 11px; color: color-mix(in srgb, var(--ink) 66%, transparent);
  padding-bottom: clamp(28px, 5vw, 54px);
}
.logo-wrap { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.logo-wrap img { width: clamp(120px, 16vw, 210px); height: auto; }
.house {
  font-family: var(--body); font-weight: 700; text-transform: uppercase;
  letter-spacing: .3em; font-size: clamp(22px, 3.4vw, 40px);
  padding-left: .3em; color: var(--blue);
}
.rule { width: 46px; height: 2px; background: var(--blue); margin: 4px auto 0; }
.role { font-family: var(--serif); font-style: italic; font-size: clamp(14px,1.7vw,20px);
  color: color-mix(in srgb, var(--ink) 78%, transparent); margin-top: 2px; }
.greeting { margin: clamp(18px, 2.6vw, 30px) auto 0; max-width: 640px;
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(18px, 2.4vw, 28px); line-height: 1.3; color: var(--ink); }
.tagline {
  margin: clamp(22px, 3vw, 40px) auto 0; max-width: 720px;
  font-family: var(--serif); font-style: italic;
  font-size: clamp(19px, 2.6vw, 32px); line-height: 1.3; color: var(--ink);
}
.tagline em { color: var(--blue); font-style: italic; }

/* ---------------- INTRO SPLASH ---------------- */
.intro {
  position: fixed; inset: 0; z-index: 100;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: clamp(6px, 1.4vw, 16px);
  padding: 10vw; text-align: center;
  background: #FCFAF5;
  transition: opacity .6s ease, visibility .6s ease;
}
.intro.intro-out { opacity: 0; visibility: hidden; pointer-events: none; }
.intro .greeting {
  margin: 0; max-width: 900px;
  font-family: var(--serif); font-style: italic;
  font-size: clamp(24px, 4.2vw, 52px); line-height: 1.25; color: var(--ink);
}
.intro .greeting-sub {
  font-size: clamp(18px, 3vw, 36px);
  color: color-mix(in srgb, var(--ink) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) { .intro { transition: none; } }
.sub-meta {
  margin-top: clamp(20px, 3vw, 34px); display: flex; justify-content: center;
  flex-wrap: wrap; gap: 8px 26px;
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .18em; font-size: 11px; color: color-mix(in srgb, var(--ink) 62%, transparent);
}
.sub-meta b { color: var(--blue); font-weight: 700; }

/* vertical cut reveal */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.vreveal { display: inline-flex; flex-wrap: wrap; justify-content: center; }
.vr-word { display: inline-flex; overflow: hidden; }
.vr-word + .vr-word::before { content: "\00a0"; }
.vr-mask { display: inline-block; overflow: hidden; }
.vr-char {
  display: inline-block;
  transform: translateY(110%);
  animation: vrIn .6s cubic-bezier(.2,.9,.25,1) both;
}
@media (prefers-reduced-motion: reduce) { .vr-char { animation: none; transform: none; } }
@keyframes vrIn { to { transform: translateY(0); } }
.sub-meta .mail { text-transform: none; letter-spacing: .01em;
  font-size: clamp(15px, 2.4vw, 20px); font-weight: 600;
  color: color-mix(in srgb, var(--ink) 78%, transparent); }

/* ---------------- ANA SAYFA (HAKKIMDA) ---------------- */
.home {
  position: relative; z-index: 1; min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: clamp(40px, 7vw, 90px) clamp(22px, 6vw, 90px);
}
.home-inner {
  display: grid; grid-template-columns: minmax(0, 340px) 1fr;
  gap: clamp(30px, 5vw, 74px); align-items: center;
  max-width: 1040px; width: 100%;
}
/* sayfa açılınca yukarıdan aşağı kayarak gelir */
@keyframes slideDown { from { opacity: 0; transform: translateY(-70px); } }
.about-photo { display: flex; justify-content: center; }
.about-photo-frame {
  position: relative; width: 100%; max-width: 340px; aspect-ratio: 4 / 5;
  overflow: hidden; border-radius: 3px;
  box-shadow: 0 34px 60px -20px rgba(32,38,92,.5);
  animation: slideDown .85s cubic-bezier(.2,.8,.25,1) both;
}
.about-photo-frame::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border: 1px solid color-mix(in srgb, var(--white) 60%, transparent);
  mix-blend-mode: overlay;
}
.about-photo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-bio { display: flex; flex-direction: column; gap: 14px;
  animation: slideDown .85s cubic-bezier(.2,.8,.25,1) .15s both; }
.about-kicker {
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .2em; font-size: 11px; color: var(--blue);
}
.about-name {
  font-family: var(--serif); font-weight: 600; line-height: 1.1;
  font-size: clamp(26px, 4vw, 46px); color: var(--ink);
}
.about-bio p {
  font-family: var(--body); font-size: clamp(14px, 1.5vw, 16px);
  line-height: 1.65; color: color-mix(in srgb, var(--ink) 82%, transparent);
  max-width: 60ch;
}
.about-meta {
  margin-top: 6px; display: flex; flex-wrap: wrap; gap: 8px 26px;
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .16em; font-size: 11px; color: color-mix(in srgb, var(--ink) 60%, transparent);
}
.about-meta b { color: var(--blue); font-weight: 700; }
.about-meta .about-mail { text-transform: none; letter-spacing: .01em;
  font-size: clamp(15px, 2.2vw, 19px); font-weight: 600;
  color: color-mix(in srgb, var(--ink) 80%, transparent); }
.home-enter {
  align-self: flex-start; margin-top: 18px; cursor: pointer;
  font-family: var(--body); font-weight: 600; text-transform: uppercase;
  letter-spacing: .14em; font-size: 12px; color: var(--white);
  background: var(--ink); border: none; padding: 13px 26px; border-radius: 2px;
  transition: transform .25s cubic-bezier(.2,.8,.25,1), background .25s;
}
.home-enter:hover { background: var(--blue); transform: translateY(-3px); }
.home-link {
  position: absolute; top: 14px; left: clamp(16px, 4vw, 40px); z-index: 3;
  cursor: pointer; border: none; background: none;
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .16em; font-size: 11px; color: color-mix(in srgb, var(--ink) 55%, transparent);
  transition: color .2s;
}
.home-link:hover { color: var(--blue); }
.house-link { cursor: pointer; transition: color .2s; }
.house-link:hover { color: var(--ink); }
@media (max-width: 720px) {
  .home-inner { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .about-bio { align-items: center; }
  .about-bio p { text-align: left; }
  .about-meta { justify-content: center; }
  .home-enter { align-self: center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-inner, .about-photo-frame, .about-bio { animation: none; }
}

/* ---------------- MAIN NAV ---------------- */
.mainnav {
  display: flex; justify-content: center;
  padding: 6px clamp(22px, 6vw, 100px) 0;
  background: transparent; position: relative;
}
.nav-items { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 8px; }
.nav-toggle { display: none; }
.mainnav button {
  border: none; background: none; cursor: pointer;
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .16em; font-size: clamp(10px, 1.1vw, 12px);
  color: color-mix(in srgb, var(--ink) 42%, transparent);
  padding: 6px 14px; white-space: nowrap;
  border-bottom: 1.5px solid transparent;
  transition: color .2s, border-color .2s;
}
.nav-items button:hover { color: color-mix(in srgb, var(--ink) 75%, transparent); }
.nav-items button.active { color: var(--ink); border-bottom-color: var(--ink); }

/* ---------------- GRID ---------------- */
.catalog { padding: clamp(46px, 7vw, 100px) clamp(22px, 6vw, 100px) 110px; }
.works-head { max-width: 1500px; margin: 0 auto clamp(30px,4vw,52px);
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  border-bottom: 1.5px solid color-mix(in srgb, var(--ink) 22%, transparent); padding-bottom: 16px; }
.works-head h3 { font-family: var(--serif); font-weight: 600; font-size: clamp(20px,2.6vw,30px); color: var(--ink); }
.works-head span { font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .16em; font-size: 11px; color: color-mix(in srgb, var(--ink) 55%, transparent); }
.empty { max-width: 1500px; margin: 0 auto; min-height: 320px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  border: 1.5px dashed color-mix(in srgb, var(--ink) 25%, transparent);
  font-family: var(--serif); font-style: italic; font-size: clamp(18px,2.4vw,26px);
  color: color-mix(in srgb, var(--ink) 55%, transparent); padding: 40px; }
/* 4'lü yan yana grid; görseller kendi en-boy oranında (kırpmasız) */
.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.2vw, 34px);
  align-items: start;
  max-width: 1500px; margin: 0 auto;
}
@media (max-width: 1100px) { .grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .grid { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
@media (max-width: 430px)  { .grid { grid-template-columns: repeat(3, 1fr); gap: 7px; } }

/* ---------------- BOOK ---------------- */
.book { display: flex; flex-direction: column; gap: 12px; cursor: pointer; margin: 0;
  animation: rise .6s cubic-bezier(.2,.8,.25,1) backwards; }
@keyframes rise { from { opacity: 0; transform: translateY(22px); } }
.book:nth-child(2n) { animation-delay: .05s; }
.book:nth-child(3n) { animation-delay: .1s; }

.cover {
  position: relative; width: 100%; overflow: hidden;
  background: var(--white); color: var(--ink);
  box-shadow: 0 20px 40px -14px rgba(32,38,92,.35);
  transition: transform .4s cubic-bezier(.2,.8,.25,1), box-shadow .4s;
}
.book:hover .cover { transform: translateY(-8px); box-shadow: 0 30px 54px -16px rgba(32,38,92,.42); }
.cover .face { position: static; overflow: hidden; }
.cover .face img { display: block; width: 100%; height: auto; }

/* logolar: şeffaf PNG'ler kenara yapışmasın diye hafif iç boşluk */
.cover--logo .face img { padding: 8%; }
.book-cap {
  text-align: center; font-family: var(--body); font-weight: 500;
  text-transform: uppercase; letter-spacing: .16em; font-size: 11px;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
}

/* ---------------- DETAIL PANEL ---------------- */
.detail-scrim {
  position: fixed; inset: 0; z-index: 50;
  display: flex; align-items: center; justify-content: center;
  padding: 30px;
  background: color-mix(in srgb, var(--ink) 30%, transparent);
  backdrop-filter: blur(10px);
  animation: scrimIn .25s ease-out;
}
@keyframes scrimIn { from { opacity: 0; } }
.detail-panel {
  position: relative; width: min(760px, 92vw); max-height: 88vh; overflow: auto;
  display: grid; grid-template-columns: minmax(0, 260px) 1fr;
  gap: clamp(20px, 4vw, 44px);
  padding: clamp(24px, 4vw, 44px);
  background: color-mix(in srgb, var(--white) 62%, transparent);
  border: 1px solid color-mix(in srgb, var(--white) 70%, transparent);
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.35);
  animation: panelIn .35s cubic-bezier(.2,.8,.25,1);
}
@keyframes panelIn { from { opacity: 0; transform: translateY(16px) scale(.98); } }
.detail-close {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  width: 34px; height: 34px; border-radius: 50%; border: none; cursor: pointer;
  background: color-mix(in srgb, var(--ink) 85%, transparent); color: var(--white);
  font-size: 15px; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.detail-cover { align-self: start; overflow: hidden; background: var(--white);
  box-shadow: 0 14px 28px -10px rgba(0,0,0,.3); }
.detail-cover img { width: 100%; height: auto; display: block; }
.detail-cover--logo img { padding: 10%; }
.detail-desc {
  font-family: var(--serif); font-size: clamp(15px, 1.7vw, 18px); line-height: 1.55;
  color: color-mix(in srgb, var(--ink) 88%, transparent);
}
.detail-info { display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.detail-title { font-family: var(--serif); font-weight: 600; font-size: clamp(22px, 3vw, 32px); color: var(--ink); }
.detail-info dl { display: flex; flex-direction: column; gap: 10px; }
.detail-info dl > div { display: flex; justify-content: space-between; gap: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 18%, transparent); padding-bottom: 8px; }
.detail-info dt { font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .14em; font-size: 11px; color: color-mix(in srgb, var(--ink) 55%, transparent); }
.detail-info dd { font-family: var(--body); font-weight: 600; font-size: 14px; color: var(--ink); text-align: right; }
@media (max-width: 560px) { .detail-panel { grid-template-columns: 1fr; } .detail-cover { max-width: 200px; margin: 0 auto; } }

.cover image-slot { position: absolute; display: block; }

/* colophon mark */
.mark { position: absolute; z-index: 6; right: 8.5%; bottom: 6%; width: 8.5%; min-width: 26px; color: inherit; }
.mark svg { width: 100%; height: auto; display: block; }

/* blurred word background */
.wordbg {
  position: absolute; inset: -8% -14%; z-index: 0; overflow: hidden;
  display: flex; flex-direction: column; justify-content: center;
  font-family: var(--cond); font-weight: 700; text-transform: uppercase;
  font-size: 20%; line-height: .96; letter-spacing: .01em;
  color: var(--blue); opacity: .5; filter: blur(6px);
  white-space: nowrap; user-select: none;
}
.wordbg span { display: block; }
.wordbg span:nth-child(2n) { margin-left: -18%; }

/* editorial caption line */
.cap {
  font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .18em; font-size: clamp(8px, .95vw, 11px);
}

/* ---- TPL: words (centered, blurred bg) ---- */
.tpl-words .cover { background: var(--cream); }
.words-body {
  position: absolute; inset: 0; z-index: 3; padding: 0 11%;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center; gap: 8px;
}
.words-body .ed { color: var(--blue); }
.words-body .title {
  font-family: var(--cond); font-weight: 700; text-transform: uppercase;
  line-height: .94; color: var(--ink); font-size: clamp(24px, 3.3vw, 44px);
}
.words-body .sub { font-family: var(--body); font-weight: 500; font-size: clamp(8px,1vw,11px);
  letter-spacing: .04em; color: var(--ink); max-width: 90%; }
.words-body .auth {
  margin-top: 10px; font-family: var(--cond); font-weight: 700; text-transform: uppercase;
  line-height: .96; color: var(--blue); font-size: clamp(20px, 2.7vw, 36px);
}

/* ---- TPL: photo (full art, serif title top) ---- */
.tpl-photo .cover { background: var(--white); }
.tpl-photo image-slot { inset: 0; width: 100%; height: 100%; }
.tpl-photo .p-title {
  position: absolute; z-index: 4; top: 8%; left: 8%; right: 16%;
  font-family: var(--serif); font-weight: 500; line-height: .98;
  color: var(--blue); font-size: clamp(28px, 3.8vw, 52px);
}
.tpl-photo .p-auth {
  position: absolute; z-index: 4; left: 8%; bottom: 7%;
  font-family: var(--serif); font-size: clamp(18px, 2.3vw, 30px); color: var(--blue);
}
.tpl-photo .p-cev {
  position: absolute; z-index: 4; right: 8.5%; bottom: 22%;
  writing-mode: vertical-rl; font-family: var(--serif); font-style: italic;
  font-size: clamp(10px, 1.2vw, 14px); color: var(--blue);
}

/* ---- TPL: photoTop (art top, condensed title below) ---- */
.tpl-photoTop .cover { background: var(--white); }
.tpl-photoTop image-slot { top: 0; left: 0; width: 100%; height: 60%; }
.tpl-photoTop .pt-body { position: absolute; z-index: 4; top: 62%; left: 8%; right: 8%; bottom: 6%;
  display: flex; flex-direction: column; }
.tpl-photoTop .pt-title { font-family: var(--cond); font-weight: 700; text-transform: uppercase;
  line-height: .92; color: var(--ink); font-size: clamp(22px, 3vw, 38px); }
.tpl-photoTop .pt-auth { margin-top: auto; font-family: var(--body); font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em; font-size: clamp(9px,1vw,12px); color: var(--blue); }

/* ---- TPL: serif (typographic, no art) ---- */
.tpl-serif .cover { background: var(--cream); }
.serif-body { position: absolute; inset: 0; z-index: 3; padding: 12% 10%;
  display: flex; flex-direction: column; text-align: center; align-items: center; justify-content: center; gap: 14px; }
.serif-body .hr { width: 40%; height: 1.5px; background: var(--blue); }
.serif-body .title { font-family: var(--serif); font-weight: 500; line-height: 1.02;
  color: var(--ink); font-size: clamp(28px, 3.7vw, 50px); }
.serif-body .title em { font-style: italic; color: var(--blue); }
.serif-body .sub { font-family: var(--body); font-weight: 500; font-size: clamp(8px,1vw,11px);
  letter-spacing: .05em; color: color-mix(in srgb, var(--ink) 75%, transparent); }
.serif-body .auth { font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .2em; font-size: clamp(9px,1vw,12px); color: var(--blue); }

/* ---- TPL: solid (color field, cream serif) ---- */
.tpl-solid .cover { background: var(--ink); color: var(--cream); }
.tpl-solid.alt .cover { background: var(--blue); }
.tpl-solid .s-body { position: absolute; inset: 0; z-index: 3; padding: 12% 9%;
  display: flex; flex-direction: column; justify-content: space-between; }
.tpl-solid .s-top { font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .2em; font-size: clamp(9px,1vw,11px); color: color-mix(in srgb, var(--cream) 80%, transparent); }
.tpl-solid .s-title { font-family: var(--serif); font-weight: 500; line-height: 1;
  font-size: clamp(30px, 4.4vw, 60px); color: var(--cream); }
.tpl-solid .s-title em { font-style: italic; }
.tpl-solid .s-auth { font-family: var(--cond); font-weight: 600; text-transform: uppercase;
  letter-spacing: .04em; font-size: clamp(15px,2vw,24px); color: var(--cream); }

/* caption under cover (in listing) */
.meta { padding: 0 2px; }
.meta .m-title { font-family: var(--serif); font-weight: 600; font-size: clamp(15px,1.5vw,19px);
  line-height: 1.15; color: var(--ink); }
.meta .m-auth { font-family: var(--body); font-weight: 500; font-size: 13px; margin-top: 3px;
  color: color-mix(in srgb, var(--ink) 68%, transparent); }
.meta .m-credit { margin-top: 9px; display: flex; justify-content: space-between; gap: 10px;
  font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .12em;
  font-size: 10px; color: color-mix(in srgb, var(--ink) 60%, transparent);
  border-top: 1.5px solid var(--blue); padding-top: 7px; }
.meta .m-credit span:first-child { color: var(--blue); }

/* ---------------- COLOPHON FOOTER ---------------- */
.colophon { padding: clamp(50px,7vw,90px) clamp(22px,6vw,100px) 110px;
  border-top: 1.5px solid color-mix(in srgb, var(--ink) 25%, transparent); text-align: center; }
.colophon .mk { width: 54px; margin: 0 auto 22px; color: var(--ink); }
.colophon h2 { font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(24px, 4vw, 48px); line-height: 1.15; color: var(--ink); }
.colophon h2 em { color: var(--blue); }
.colophon p { max-width: 600px; margin: 20px auto 0; font-size: 14px; line-height: 1.65;
  color: color-mix(in srgb, var(--ink) 72%, transparent); }
.colophon .row { display: flex; justify-content: center; flex-wrap: wrap;
  gap: 8px 30px; font-family: var(--body); font-weight: 500; text-transform: uppercase;
  letter-spacing: .16em; font-size: 10px; color: color-mix(in srgb, var(--ink) 55%, transparent); }
.colophon .row b { color: var(--blue); font-weight: 700; }
.colophon .row a { color: inherit; text-decoration: none; transition: color .2s; }
.colophon .row a:hover b { color: var(--ink); }

/* ---------------- SUNUM ROZETİ ---------------- */
.cover-badge {
  position: absolute; top: 8px; left: 8px; z-index: 3;
  font-family: var(--body); font-weight: 700; font-size: 9px; letter-spacing: .14em;
  padding: 4px 8px; background: var(--blue); color: #fff; border-radius: 2px;
  box-shadow: 0 4px 10px -3px rgba(32,38,92,.5);
}

/* ---------------- SUNUM (alternatif kapaklar) ---------------- */
.detail-panel--show {
  display: flex; flex-direction: column; gap: 16px;
  width: min(1040px, 94vw); grid-template-columns: none;
}
.show-stage { display: flex; align-items: center; justify-content: center; gap: 10px; }
.show-frame {
  flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center;
  max-height: 62vh;
}
.show-frame img {
  max-width: 100%; max-height: 62vh; width: auto; height: auto;
  object-fit: contain; display: block; box-shadow: 0 16px 34px -14px rgba(0,0,0,.4);
}
.show-nav {
  flex: none; width: 46px; height: 46px; border-radius: 50%; border: none; cursor: pointer;
  background: color-mix(in srgb, var(--ink) 10%, transparent); color: var(--ink);
  font-size: 28px; line-height: 1; display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.show-nav:hover { background: color-mix(in srgb, var(--ink) 20%, transparent); }
.show-counter {
  text-align: center; font-family: var(--body); font-size: 11px; letter-spacing: .16em;
  color: color-mix(in srgb, var(--ink) 55%, transparent);
}
.show-thumbs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.show-thumb {
  border: none; padding: 0; cursor: pointer; width: 54px; height: 68px; overflow: hidden;
  background: #fff; opacity: .5; border-radius: 2px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ink) 15%, transparent);
  transition: opacity .2s, box-shadow .2s;
}
.show-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.show-thumb.on { opacity: 1; box-shadow: 0 0 0 2px var(--ink); }
.detail-panel--show .detail-info { justify-content: flex-start; }

/* ================= MOBİL UYUM ================= */
@media (max-width: 700px) {
  /* masthead üst-meta dar ekranda ortalanıp sarsın, geri linkiyle çakışmasın */
  .masthead { padding-top: 52px; }
  .top-meta { flex-wrap: wrap; justify-content: center; gap: 4px 16px;
    letter-spacing: .16em; font-size: 10px; text-align: center; }
  .home-link { top: 16px; left: 50%; transform: translateX(-50%); }

  /* nav: sadece üç çizgi (hamburger), basınca açılır liste iner */
  .mainnav { flex-direction: column; align-items: center; padding-top: 4px; }
  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; background: none; border: none; padding: 8px 12px;
    color: var(--ink);
  }
  .nav-toggle .nav-burger { font-size: 26px; line-height: 1; }
  .nav-toggle .nav-toggle-label { display: none; }
  .nav-items {
    display: none; width: 100%; max-width: 320px; flex-direction: column;
    gap: 4px; margin-top: 8px;
  }
  .mainnav--open .nav-items { display: flex; }
  .nav-items button {
    width: 100%; padding: 13px; font-size: 12px; border-bottom: none;
    border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); border-radius: 7px;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
  }
  .nav-items button.active {
    color: var(--white); background: var(--ink); border-color: var(--ink);
  }

  /* katalog ve boşluklar sıkılaşsın */
  .catalog { padding: clamp(30px, 7vw, 46px) clamp(14px, 5vw, 22px) 70px; }
  .works-head { flex-direction: column; align-items: flex-start; gap: 4px; }

  /* hero: foto üstte, bio altta, ferah boşluk */
  .home { min-height: auto; padding: clamp(70px, 16vw, 110px) clamp(18px, 6vw, 40px) clamp(48px, 12vw, 90px); }
  .about-photo-frame { max-width: 260px; }
}

@media (max-width: 430px) {
  .catalog { padding: 26px 12px 60px; }
  .colophon { padding: 44px 16px 80px; }
  .colophon .row { gap: 6px 18px; letter-spacing: .12em; }
  .detail-panel { padding: 20px; }
  .detail-close { top: 10px; right: 10px; }
  .about-name { font-size: clamp(24px, 8vw, 32px); }
  .show-nav { width: 38px; height: 38px; font-size: 22px; }
  .show-thumb { width: 42px; height: 54px; }
  .show-frame, .show-frame img { max-height: 52vh; }
}

/* dokunmatik cihazlarda "yapışkan hover" kalkması */
@media (hover: none) {
  .book:hover .cover { transform: none; box-shadow: 0 20px 40px -14px rgba(32,38,92,.35); }
}
