/* ═══════════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════════ */
:root {
  --bg:    #F8F4EE;
  --bg2:   #EFE9DF;
  --bg3:   #E5DDD0;
  --bg4:   #D9D0C0;
  --text:  #1C1916;
  --mid:   #4A4238;
  --dim:   #6E6358;
  --gold:  #8A6428;
  --gold2: #A87E38;
  --goldd: rgba(138,100,40,.12);
  --blue:  #3B5068;
  --mauve: #6B4055;
  --red:   #a33;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', system-ui, sans-serif;
  --ease:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease2: cubic-bezier(0.76, 0, 0.24, 1);
  --hero-bg: #09090F;
}

*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
html { font-size:16px; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.75;
  overflow-x: hidden;
  cursor: none;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
ul  { list-style:none; }
::selection { background: var(--goldd); }

/* ═══════════════════════════════════════════════════
   NOISE + GRAIN
═══════════════════════════════════════════════════ */
.noise {
  position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.018;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px;
}

/* ═══════════════════════════════════════════════════
   PSI CURSOR
═══════════════════════════════════════════════════ */
#cursor-psi {
  position:fixed; pointer-events:none; z-index:9999;
  transform:translate(-50%,-62%);
  font-family: var(--serif);
  font-size:1.35rem;
  color: var(--gold);
  line-height:1;
  mix-blend-mode: normal;
  will-change: transform, left, top;
  transition: transform .15s;
  user-select:none;
  text-shadow: 0 0 20px rgba(200,169,110,.6);
}
#cursor-ring {
  position:fixed; pointer-events:none; z-index:9998;
  width:42px; height:42px;
  border:1px solid rgba(138,100,40,.4);
  border-radius:50%;
  transform:translate(-50%,-50%);
  will-change:left,top;
  transition: width .35s var(--ease), height .35s var(--ease), border-color .3s;
}
.cursor-big  { width:64px !important; height:64px !important; border-color:rgba(138,100,40,.7) !important; }

/* Touch / no-hover cihazlarda özel imleci kapat — varsayılan imleç geri */
@media (hover:none), (pointer:coarse) {
  body { cursor:auto; }
  #cursor-psi, #cursor-ring { display:none !important; }
}

/* A11y — keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}
.skip-link {
  position:absolute; left:-9999px; top:auto;
  background:var(--gold); color:var(--bg); padding:.6rem 1rem;
  font-family:var(--sans); font-size:.85rem; letter-spacing:.08em;
  z-index:99999;
}
.skip-link:focus { left:1rem; top:1rem; }

/* ═══════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════ */
#nav {
  position:fixed; inset:0 0 auto;
  z-index:1000; padding:2.2rem 5rem;
  display:flex; align-items:center; justify-content:space-between;
  transition:padding .4s, background .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
#nav.scrolled {
  padding:1.1rem 5rem;
  background:rgba(248,244,238,.96);
  backdrop-filter:blur(24px) saturate(1.4);
  border-color:rgba(138,100,40,.15);
}
.nav-logo {
  font-family:var(--serif); font-weight:400;
  font-size:1.2rem; letter-spacing:.18em;
  display:flex; align-items:center; gap:.6rem;
}
.nav-logo-psi { color:var(--gold); }
.nav-links { display:flex; gap:3rem; }
.nav-links a {
  /* Default: koyu hero için açık ton */
  font-size:.65rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(237,232,224,.72);
  transition:color .3s; position:relative;
  text-shadow: 0 1px 8px rgba(0,0,0,.4);
}
.nav-links a::after {
  content:''; position:absolute; bottom:-5px; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .35s var(--ease);
}
.nav-links a:hover { color:#fff; }
.nav-links a:hover::after { width:100%; }

/* Scrolled: nav krem zemine geçer → koyu metin */
#nav.scrolled .nav-links a   { color:var(--mid); text-shadow:none; }
#nav.scrolled .nav-links a:hover { color:var(--text); }
#nav.scrolled .nav-logo      { color:var(--text); text-shadow:none; }

.nav-logo { color:rgba(237,232,224,.85); text-shadow:0 1px 8px rgba(0,0,0,.4); transition: color .3s; }
.nav-cta {
  font-size:.65rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); border:1px solid rgba(200,169,110,.45);
  padding:.65rem 1.6rem; transition:background .3s, color .3s, border-color .3s;
}
.nav-cta:hover { background:var(--gold); color:var(--bg); border-color:var(--gold); }

.burger {
  display:none; flex-direction:column; gap:5px;
  cursor:none; background:none; border:none; padding:4px;
}
.burger span {
  display:block; width:24px; height:1px; background:var(--text);
  transition:transform .3s, opacity .3s;
}
.burger.open span:nth-child(1){ transform:rotate(45deg) translate(4px,4px); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:rotate(-45deg) translate(4px,-4px); }

.nav-mob {
  display:none; position:fixed; inset:0; background:var(--bg);
  z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:2.5rem;
}
.nav-mob.open { display:flex; }
.nav-mob a {
  font-family:var(--serif); font-size:2.8rem; font-weight:300;
  letter-spacing:.06em;
  opacity:0; transform:translateY(20px);
  transition:opacity .4s, transform .4s;
}
.nav-mob.open a { opacity:1; transform:translateY(0); }
.nav-mob.open a:nth-child(1){ transition-delay:.05s; }
.nav-mob.open a:nth-child(2){ transition-delay:.1s; }
.nav-mob.open a:nth-child(3){ transition-delay:.15s; }
.nav-mob.open a:nth-child(4){ transition-delay:.2s; }
.nav-mob.open a:nth-child(5){ transition-delay:.25s; }
.nav-mob.open a:nth-child(6){ transition-delay:.3s; }

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
#hero {
  min-height:100vh;
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--hero-bg);
}

.hero-center {
  position:relative; z-index:3;
  display:flex; flex-direction:column; align-items:center;
  gap:1.4rem; padding:8rem 2rem 3rem;
  text-align:center; width:100%;
}
.hero-portrait-wrap {
  position:relative; width:280px; margin:0 auto;
  opacity:0; animation:fadein .8s ease .2s forwards;
}
.hero-portrait {
  width:280px; height:360px; position:relative;
  border-radius:8px; overflow:hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.55), 0 4px 16px rgba(0,0,0,.35);
}
.hero-portrait img {
  width:100%; height:100%; object-fit:cover; object-position:center 25%;
  filter:saturate(.85) contrast(1.04) brightness(.96); display:block;
  -webkit-mask-image:linear-gradient(to bottom, black 0%, black 78%, transparent 100%);
  mask-image:linear-gradient(to bottom, black 0%, black 78%, transparent 100%);
}
.hero-portrait-veil {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 0%, transparent 65%, rgba(9,9,15,.4) 100%);
  pointer-events:none;
}
.hero-lower {
  display:flex; flex-direction:column; align-items:center;
  max-width:520px; width:100%;
}

/* Radial shader fills the entire hero */
#smoke-canvas {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.55; mix-blend-mode:screen;
}

/* particle layer on top of smoke */
#hero-canvas {
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.6;
}

.hero-eyebrow {
  font-size:.6rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.8rem;
  opacity:0; animation:h-up .7s var(--ease) .15s forwards;
  display:flex; align-items:center; justify-content:center; gap:1rem;
}
.hero-eyebrow::before,
.hero-eyebrow::after {
  content:''; width:24px; height:1px; background:var(--gold); flex-shrink:0;
}
.hero-name {
  font-family:var(--serif); font-weight:300;
  line-height:.9; letter-spacing:.015em;
}
.hero-name .ln { display:block; overflow:hidden; }
.hero-name .wd {
  display:inline-block;
  opacity:0; transform:translateY(110%);
  animation:h-up 1.1s var(--ease) forwards;
}
.hero-first { font-size:clamp(4.5rem,9vw,9.5rem); }
.hero-last  { font-size:clamp(4.5rem,9vw,9.5rem); color:var(--gold); }

.hero-rule {
  width:50px; height:1px; background:var(--gold);
  margin:0 auto 2rem;
  transform:scaleX(0); transform-origin:center; opacity:0;
  animation:h-expand .7s var(--ease) .9s forwards;
}
@keyframes h-expand { to { transform:scaleX(1); opacity:1; } }

.hero-tagline {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1rem,1.6vw,1.3rem); font-weight:300;
  color:var(--mid); line-height:1.65; max-width:420px; text-align:center;
  opacity:0; animation:h-up .7s var(--ease) 1s forwards;
}
.hero-tagline strong { color:var(--text); font-style:normal; font-weight:400; }

.hero-meta {
  display:flex; gap:2.5rem; justify-content:center; margin-top:1.8rem;
  opacity:0; animation:h-up .7s var(--ease) 1.15s forwards;
  padding-top:1.8rem; border-top:1px solid rgba(200,169,110,.12);
  width:100%;
}
.hero-meta-item { display:flex; flex-direction:column; gap:.35rem; }
.hero-meta-lbl  { font-size:.56rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); }
.hero-meta-val  { font-size:.8rem; color:var(--mid); }

@keyframes h-up { to { opacity:1; transform:translateY(0); } }

.hero-frag {
  position:absolute; font-family:var(--serif); font-style:italic;
  color:var(--gold); opacity:.1; pointer-events:none;
  animation:flt 10s ease-in-out infinite;
  letter-spacing:.15em; font-size:.7rem;
}
@keyframes flt {
  0%,100%{ transform:translateY(0); opacity:.06; }
  50%    { transform:translateY(-14px); opacity:.13; }
}

/* Hero text must stay legible on dark animated background */
.hero-name .wd { color:#EDE8DF; text-shadow:0 2px 24px rgba(0,0,0,.85); }
.hero-last .wd { color:var(--gold2) !important; text-shadow:0 2px 24px rgba(0,0,0,.85); }
.hero-eyebrow { text-shadow:0 1px 10px rgba(0,0,0,.7); }
.hero-tagline { color:rgba(237,232,221,.75) !important; text-shadow:0 1px 12px rgba(0,0,0,.7); }
.hero-tagline strong { color:#EDE8DF !important; font-style:normal; font-weight:400; }
.hero-meta-val { color:rgba(220,212,200,.8) !important; }

/* ═══════════════════════════════════════════════════
   SHARED LAYOUT
═══════════════════════════════════════════════════ */
section { position:relative; z-index:2; }
.wrap   { max-width:1360px; margin:0 auto; padding:0 5rem; }
.pad    { padding:9rem 0; }

.sec-label {
  font-size:.58rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.5rem;
  display:flex; align-items:center; gap:1rem;
}
.sec-label::before { content:''; width:26px; height:1px; background:var(--gold); flex-shrink:0; }

.sec-title {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.8rem,5vw,4.5rem);
  line-height:1.05; letter-spacing:.02em;
  margin-bottom:4rem;
}

/* Reveal */
.rv {
  opacity:0; transform:translateY(42px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
.rv.in { opacity:1; transform:translateY(0); }
.d1{transition-delay:.1s} .d2{transition-delay:.2s}
.d3{transition-delay:.3s} .d4{transition-delay:.4s}
.d5{transition-delay:.5s} .d6{transition-delay:.6s}

/* Spotlight cards (mouse-tracking radial highlight) */
.spot {
  --mx:50%; --my:50%; position:relative; isolation:isolate;
}
.spot::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle 220px at var(--mx) var(--my), rgba(138,100,40,.09), transparent 70%);
  opacity:0; transition:opacity .4s; pointer-events:none; z-index:0;
}
.spot:hover::before { opacity:1; }

/* Section separators */
.sep {
  width:100%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(138,100,40,.22),transparent);
  position:relative; z-index:2;
}

/* Big watermark */
.wm {
  position:absolute; font-family:var(--serif); font-weight:300;
  color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(138,100,40,.06);
  letter-spacing:.1em; z-index:0;
  white-space:nowrap;
}

/* ═══════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════ */
#about { background:var(--bg); }

.about-wrap {
  display:grid; grid-template-columns:1fr;
  gap:0; align-items:start; max-width:800px;
}
.about-stick { position:sticky; top:9rem; }
.about-photo { position:relative; }
.about-photo img {
  width:100%; aspect-ratio:3/4;
  object-fit:cover; object-position:center 15%;
  filter:saturate(.4) contrast(1.1);
  display:block;
}
.about-photo-border {
  position:absolute; top:18px; left:18px; right:-18px; bottom:-18px;
  border:1px solid rgba(138,100,40,.25); z-index:-1; pointer-events:none;
}
.about-photo-cap {
  margin-top:1.5rem; display:flex; justify-content:space-between;
  font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:var(--dim);
}

.about-body { padding-top:.5rem; }
.about-p {
  font-family:var(--serif); font-size:clamp(1.05rem,1.5vw,1.28rem);
  font-weight:300; line-height:1.9; color:var(--mid); margin-bottom:1.8rem;
}
.about-p em { color:var(--text); font-style:italic; }
.about-p a  { color:var(--gold); border-bottom:1px solid var(--goldd); }

.bq {
  border-left:2px solid var(--gold);
  padding:.2rem 0 .2rem 2rem; margin:3.5rem 0;
}
.bq p {
  font-family:var(--serif); font-style:italic;
  font-size:1.35rem; line-height:1.65; color:var(--text); margin-bottom:.8rem;
}
.bq cite {
  font-size:.6rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold); font-style:normal;
}

/* ═══════════════════════════════════════════════════
   APPROACH
═══════════════════════════════════════════════════ */
#approach { background:var(--bg2); overflow:hidden; }

.approach-lead {
  max-width:700px;
  font-family:var(--serif); font-size:clamp(1.1rem,1.6vw,1.3rem);
  font-weight:300; line-height:1.9; color:var(--mid); margin-bottom:7rem;
}

/* Borromean */
.borr-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:7rem; align-items:center; margin-bottom:7rem;
}
.borr-c {
  display:flex; flex-direction:column; align-items:center; gap:1rem;
  position:relative;
}
#borr3d-stage {
  width:480px; height:480px; max-width:100%;
  position:relative; overflow:hidden;
  cursor:grab; touch-action:none;
}
#borr3d-stage:active { cursor:grabbing; }
#borr3d-stage canvas { width:100%; height:100%; display:block; }
.borr3d-hint {
  font-size:.58rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--dim);
}
@media (max-width:768px){
  #borr3d-stage { width:340px; height:340px; }
}

.borr-info h3 {
  font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:300; letter-spacing:.03em; margin-bottom:1.6rem;
}
.borr-info p {
  font-family:var(--serif); font-size:1.08rem;
  line-height:1.9; color:var(--mid); margin-bottom:1.4rem;
}
.rsi { display:flex; gap:2.5rem; margin-top:2rem; }
.rsi-i { display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.rsi-d { width:10px; height:10px; border-radius:50%; }
.rsi-d.r{ background:var(--gold); box-shadow:0 0 10px rgba(138,100,40,.4); }
.rsi-d.s{ background:var(--blue);  box-shadow:0 0 10px rgba(59,80,104,.3); }
.rsi-d.i{ background:var(--mauve); box-shadow:0 0 10px rgba(107,64,85,.3); }
.rsi-l { font-size:.58rem; letter-spacing:.25em; text-transform:uppercase; color:var(--dim); }

/* Pillars */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.pillar {
  background:var(--bg3); padding:3.5rem 3rem;
  position:relative; overflow:hidden;
  transition:background .4s;
}
.pillar::after {
  content:''; position:absolute; top:0; left:0;
  width:100%; height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease); z-index:1;
}
.pillar:hover::after  { transform:scaleX(1); }
.pillar:hover { background:rgba(215,206,190,.95); }
.pnum {
  font-family:var(--serif); font-size:5rem; font-weight:300;
  color:rgba(138,100,40,.1); line-height:1; margin-bottom:2rem;
  transition:color .4s;
}
.pillar:hover .pnum { color:rgba(138,100,40,.25); }
.ptitle {
  font-family:var(--serif); font-size:1.6rem; font-weight:400;
  letter-spacing:.04em; margin-bottom:.5rem;
}
.psub {
  font-size:.6rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.8rem;
}
.pbody { font-size:.88rem; line-height:1.85; color:var(--mid); }

/* ═══════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════ */
#services { background:var(--bg); }

.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

.svc {
  border:1px solid rgba(138,100,40,.15); padding:3.5rem 3rem;
  position:relative; overflow:hidden;
  transition:border-color .4s; cursor:none;
}
.svc:hover { border-color:rgba(138,100,40,.35); }

.svc-n {
  position:absolute; top:2.2rem; right:2.8rem;
  font-family:var(--serif); font-size:.72rem;
  color:var(--dim); letter-spacing:.1em;
}
.svc-icon { width:46px; height:46px; margin-bottom:2.2rem; opacity:.5; }
.svc-title {
  font-family:var(--serif); font-size:1.8rem; font-weight:400;
  letter-spacing:.03em; margin-bottom:1.6rem;
}
.svc-body { font-size:.88rem; line-height:1.85; color:var(--mid); margin-bottom:2.2rem; }
.tags { display:flex; flex-wrap:wrap; gap:.5rem; }
.tag {
  font-size:.55rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--goldd); padding:.28rem .75rem;
  transition:background .3s, color .3s;
}
.tag:hover { background:var(--goldd); }

/* ═══════════════════════════════════════════════════
   ÇEKIÇLE FELSEFE
═══════════════════════════════════════════════════ */
#journal {
  background:var(--bg2); overflow:hidden;
}
.journal-inner {
  display:grid; grid-template-columns:1fr 1fr;
  gap:7rem; align-items:center;
}
.journal-left { position:relative; }
.journal-big {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(3rem,6vw,6rem); line-height:1;
  letter-spacing:.02em; margin-bottom:2rem;
}
.journal-big em { font-style:italic; color:var(--gold); display:block; font-size:.7em; }
.journal-sub {
  font-size:.6rem; letter-spacing:.4em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.6rem;
}
.journal-logo-link {
  display:inline-block; margin-bottom:1.8rem;
  transition: transform .35s var(--ease), opacity .25s;
}
.journal-logo-link:hover { transform: translateY(-2px); opacity:.88; }
.journal-logo {
  width:96px; height:96px;
  border-radius:14px;
  display:block; object-fit:cover;
  box-shadow: 0 8px 28px rgba(28,25,22,.18), 0 1px 3px rgba(28,25,22,.08);
}
.journal-desc {
  font-family:var(--serif); font-size:1.1rem;
  line-height:1.9; color:var(--mid); margin-bottom:3rem;
}
.journal-cta {
  display:inline-flex; align-items:center; gap:1.2rem;
  font-size:.65rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--text); border:1px solid rgba(138,100,40,.25);
  padding:1rem 2.5rem; cursor:none;
  transition:background .3s, border-color .3s, color .3s;
}
.journal-cta:hover { background:var(--gold); border-color:var(--gold); color:var(--bg); }
.journal-arrow {
  width:16px; height:1px; background:currentColor; position:relative;
  transition:width .3s;
}
.journal-cta:hover .journal-arrow { width:26px; }

.journal-right { position:relative; }
.journal-quote-wrap {
  position:relative; padding:3.5rem;
  border:1px solid rgba(138,100,40,.18);
}
.journal-quote-wrap::before {
  content:'"'; position:absolute; top:-1.5rem; left:2rem;
  font-family:var(--serif); font-size:8rem; font-weight:300;
  color:var(--gold); opacity:.15; line-height:1;
}
.journal-quote {
  font-family:var(--serif); font-style:italic;
  font-size:1.2rem; line-height:1.75; color:var(--text);
  margin-bottom:2rem;
}
.journal-issues {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px; margin-top:2rem;
}
.ji {
  background:var(--bg3); padding:1.5rem 1.8rem;
  transition:background .3s;
}
.ji:hover { background:var(--bg4); }
.ji-num  { font-size:.55rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; }
.ji-name { font-family:var(--serif); font-size:.95rem; font-weight:400; color:var(--text); }
.ji-mail { font-size:.75rem; color:var(--dim); margin-top:.3rem; }
.ji-mail a, .ji-name a {
  color:inherit; border-bottom:1px solid transparent;
  transition: color .2s, border-color .2s;
}
.ji-mail a:hover, .ji-name a:hover { color:var(--gold); border-bottom-color:var(--gold); }

/* ═══════════════════════════════════════════════════
   ACADEMIC — horizontal scroll
═══════════════════════════════════════════════════ */
#academic { background:var(--bg); overflow:hidden; }

.pub-scroll-wrap {
  overflow-x:auto; overflow-y:visible;
  cursor:grab; user-select:none;
  padding-bottom:2rem; scrollbar-width:none;
}
.pub-scroll-wrap::-webkit-scrollbar { display:none; }
.pub-scroll-wrap:active { cursor:grabbing; }

.pub-row {
  display:flex; gap:2px;
  width:max-content; padding:0;
}

.pub-card {
  width:360px; flex-shrink:0;
  background:var(--bg2); border:1px solid transparent;
  padding:3rem 2.8rem;
  position:relative; overflow:hidden;
  transition:border-color .4s, background .4s;
}
.pub-card:hover { border-color:rgba(138,100,40,.25); background:var(--bg3); }
.pub-yr {
  font-size:.58rem; letter-spacing:.35em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1rem;
}
.pub-type {
  display:inline-block; font-size:.52rem; letter-spacing:.2em; text-transform:uppercase;
  background:var(--goldd); color:var(--gold); padding:.22rem .65rem;
  margin-bottom:1.5rem;
}
.pub-title {
  font-family:var(--serif); font-style:italic;
  font-size:1.15rem; line-height:1.6; margin-bottom:.8rem; color:var(--text);
}
.pub-venue { font-size:.8rem; color:var(--dim); line-height:1.5; }

.pub-scroll-hint {
  font-size:.6rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--dim); margin-top:2rem;
  display:flex; align-items:center; gap:1.2rem;
}
.pub-scroll-hint::after {
  content:''; width:60px; height:1px; background:var(--dim);
}

/* Conferences list */
.conf-list { display:flex; flex-direction:column; gap:0; margin-top:5rem; }
.conf-item {
  display:grid; grid-template-columns:100px 1fr auto;
  gap:2rem; align-items:baseline;
  padding:1.8rem 0; border-bottom:1px solid rgba(138,100,40,.12);
  transition:background .3s;
}
.conf-item:hover { background:rgba(138,100,40,.04); padding-left:1rem; transition:padding .3s,background .3s; }
.conf-yr  { font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }
.conf-t   { font-family:var(--serif); font-style:italic; font-size:1.05rem; line-height:1.5; }
.conf-v   { font-size:.75rem; color:var(--dim); text-align:right; max-width:220px; line-height:1.4; }

/* ═══════════════════════════════════════════════════
   EXPERIENCE
═══════════════════════════════════════════════════ */
#experience { background:var(--bg2); }

.tl { position:relative; padding-left:5rem; }
.tl::before {
  content:''; position:absolute; left:0; top:0;
  width:1px; height:100%;
  background:linear-gradient(180deg,var(--gold),rgba(138,100,40,.05));
}
.ti { position:relative; padding-bottom:4.5rem; }
.ti:last-child { padding-bottom:0; }
.ti-dot {
  position:absolute; left:-5.5rem; top:.5rem;
  width:9px; height:9px; border-radius:50%;
  background:var(--bg2); border:1px solid var(--dim);
  transition:background .3s, border-color .3s, box-shadow .3s;
}
.ti-dot.on {
  background:var(--gold); border-color:var(--gold);
  box-shadow:0 0 18px rgba(138,100,40,.5);
}
.ti-date  { font-size:.6rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:.8rem; }
.ti-title { font-family:var(--serif); font-size:1.35rem; font-weight:400; margin-bottom:.4rem; }
.ti-org   { font-size:.82rem; color:var(--mid); margin-bottom:1rem; }
.ti-desc  { font-size:.87rem; line-height:1.8; color:var(--dim); max-width:580px; }

/* ═══════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════ */
#contact { background:var(--bg); }

.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:9rem; }

.contact-left h2 {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.5rem,4.5vw,4rem);
  line-height:1.1; margin-bottom:2rem;
}
.contact-left > p {
  font-family:var(--serif); font-size:1.1rem;
  line-height:1.9; color:var(--mid); margin-bottom:3.5rem;
}
.cdetails { display:flex; flex-direction:column; gap:1.6rem; }
.cd { display:flex; gap:2rem; align-items:baseline; }
.cdl { font-size:.57rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); min-width:80px; }
.cdv { font-size:.88rem; color:var(--text); }
.cdv a { color:var(--gold); border-bottom:1px solid var(--goldd); transition:border-color .3s; }
.cdv a:hover { border-color:var(--gold); }

.cform { display:flex; flex-direction:column; gap:1.8rem; }
.fgrp label {
  display:block; font-size:.58rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.8rem;
}
.fgrp input,.fgrp textarea {
  width:100%; background:transparent; border:none;
  border-bottom:1px solid rgba(138,100,40,.2);
  padding:.8rem 0; color:var(--text);
  font-family:var(--sans); font-size:.93rem; font-weight:300;
  outline:none; transition:border-color .35s;
}
.fgrp input::placeholder,.fgrp textarea::placeholder { color:var(--dim); }
.fgrp input:focus,.fgrp textarea:focus { border-color:var(--gold); }
.fgrp textarea { resize:none; min-height:120px; }

.btn-sub {
  display:inline-flex; align-items:center; gap:1.5rem;
  background:transparent; border:1px solid var(--goldd);
  color:var(--text); font-family:var(--sans);
  font-size:.65rem; letter-spacing:.28em; text-transform:uppercase;
  padding:1.2rem 3rem; cursor:none; margin-top:.5rem;
  transition:background .3s, border-color .3s, color .3s;
}
.btn-sub:hover { background:var(--gold); border-color:var(--gold); color:var(--bg); }
.btn-arr {
  width:18px; height:1px; background:currentColor; position:relative;
  transition:width .3s;
}
.btn-sub:hover .btn-arr { width:30px; }

/* form msg */
.cf-msg {
  font-size:.78rem; letter-spacing:.04em;
  font-family:var(--sans); line-height:1.5;
  min-height:1.2rem; transition:color .3s;
}
.cf-msg.err { color:var(--red); }
.cf-msg.ok  { color:var(--gold); }

/* ═══════════════════════════════════════════════════
   KVKK COOKIE BANNER
═══════════════════════════════════════════════════ */
.kvkk-banner {
  position:fixed; bottom:6rem; right:2rem; z-index:9000;
  background:rgba(7,7,14,.96); backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  border:1px solid rgba(138,100,40,.3); border-radius:0;
  max-width:360px; padding:2rem;
  opacity:0; transform:translateY(20px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  font-family:var(--sans);
}
.kvkk-banner.show { opacity:1; transform:translateY(0); }
.kvkk-psi {
  position:absolute; top:1.2rem; left:1.4rem;
  font-family:var(--serif); font-size:1.1rem;
  color:var(--gold); line-height:1;
}
.kvkk-title {
  font-family:var(--serif); font-weight:400;
  font-size:1.15rem; letter-spacing:.04em;
  color:var(--text); margin:0 0 .8rem 1.6rem;
  color:#EDE8DF;
}
.kvkk-body {
  font-family:var(--sans); font-size:.82rem; font-weight:300;
  color:var(--dim); line-height:1.65; margin:0 0 1.4rem;
}
.kvkk-actions { display:flex; gap:.6rem; }
.kvkk-btn {
  flex:1; font-family:var(--sans);
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  padding:.85rem 1rem; border-radius:0; cursor:none;
  transition:background .25s, color .25s, border-color .25s;
}
.kvkk-accept {
  background:var(--gold); color:var(--bg);
  border:1px solid var(--gold);
}
.kvkk-accept:hover { background:var(--gold2); border-color:var(--gold2); }
.kvkk-reject {
  background:transparent; color:var(--dim);
  border:1px solid var(--dim);
}
.kvkk-reject:hover { color:var(--text); border-color:var(--gold); color:#EDE8DF; }
@media(max-width:540px){
  .kvkk-banner{ right:1rem; left:1rem; bottom:5rem; max-width:none; padding:1.4rem 1.2rem; }
}

/* ═══════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════ */
footer {
  background:var(--bg); position:relative; z-index:2;
  padding:4rem 0; border-top:1px solid rgba(138,100,40,.12);
}
.footer-inner {
  display:flex; justify-content:space-between; align-items:center;
}
.footer-logo {
  font-family:var(--serif); font-weight:300;
  font-size:1.5rem; letter-spacing:.12em;
  display:flex; align-items:center; gap:.5rem;
}
.footer-psi { color:var(--gold); }
.footer-q { font-family:var(--serif); font-style:italic; font-size:.88rem; color:var(--dim); }
.footer-copy { font-size:.6rem; color:var(--dim); letter-spacing:.1em; }
.footer-social { display:flex; gap:1rem; align-items:center; }
.footer-soc-link {
  display:inline-flex; align-items:center; justify-content:center;
  width:15px; height:15px; color:var(--dim);
  transition:color .3s;
}
.footer-soc-link svg { width:15px; height:15px; display:block; }
.footer-soc-link:hover { color:var(--gold); }

/* ═══════════════════════════════════════════════════
   TEXT REVEAL SECTION
═══════════════════════════════════════════════════ */
#text-reveal { background:var(--bg2); padding:4rem 0; position:relative; z-index:2; }
.tr-card {
  background:var(--bg3); border:1px solid rgba(138,100,40,.15);
  padding:4rem 5rem; position:relative; overflow:hidden;
  cursor:none; user-select:none;
}
.tr-label {
  font-size:.58rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:2.5rem;
  display:flex; align-items:center; gap:1rem;
}
.tr-label::before { content:''; width:26px; height:1px; background:var(--gold); flex-shrink:0; }
.tr-body { position:relative; padding:1.5rem 0; }
.tr-base {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2rem,5vw,4.5rem); line-height:1.1;
  color:rgba(138,100,40,.15); pointer-events:none; white-space:nowrap;
}
.tr-reveal-wrap {
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:center;
  clip-path:inset(0 100% 0 0);
  will-change:clip-path;
}
.tr-reveal {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2rem,5vw,4.5rem); line-height:1.1;
  color:var(--gold); white-space:nowrap;
  text-shadow:0 0 40px rgba(138,100,40,.35);
}
.tr-divider {
  position:absolute; top:0; height:100%; width:6px;
  background:linear-gradient(180deg,transparent,rgba(138,100,40,.6),transparent);
  z-index:10; pointer-events:none; left:0; will-change:left;
}
.tr-stars-c { position:absolute; inset:0; pointer-events:none; opacity:.7; }
.tr-footer {
  margin-top:2.5rem; padding-top:2rem;
  border-top:1px solid rgba(138,100,40,.12);
  display:flex; justify-content:space-between; align-items:baseline;
}
.tr-footer-txt {
  font-family:var(--serif); font-style:italic;
  font-size:.9rem; color:var(--dim);
}
.tr-hint {
  font-size:.55rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--dim); display:flex; align-items:center; gap:.8rem;
}
.tr-hint::before { content:'←'; font-style:normal; font-size:.7rem; color:var(--gold); animation:nudge 2s ease-in-out infinite; }
.tr-hint::after  { content:'→'; font-style:normal; font-size:.7rem; color:var(--gold); animation:nudge 2s ease-in-out infinite reverse; }
@keyframes nudge { 0%,100%{transform:translateX(0)} 50%{transform:translateX(4px)} }

/* ═══════════════════════════════════════════════════
   GOOEY TEXT MORPH
═══════════════════════════════════════════════════ */
.gooey-wrap { height:4.5rem; position:relative; margin:1.8rem 0 2.4rem; }
.gooey-svg  { position:absolute; width:0; height:0; }
.gooey-stage {
  position:absolute; inset:0;
  display:flex; align-items:center;
  filter:url(#gooey-filter);
}
.gooey-stage span {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-family:var(--serif); font-size:2.4rem; font-weight:300; font-style:italic;
  color:var(--gold); letter-spacing:.06em; white-space:nowrap;
  will-change:filter,opacity;
}

/* ═══════════════════════════════════════════════════
   ANIMATED DOCK
═══════════════════════════════════════════════════ */
.srail {
  position:fixed;
  right:1.4rem; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:.55rem;
  background:rgba(255,255,255,.55); backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(138,100,40,.18);
  border-radius:999px; padding:.55rem;
  z-index:800; box-shadow:0 8px 30px rgba(28,25,22,.08), 0 1px 3px rgba(28,25,22,.06);
  opacity:0; pointer-events:none;
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}
.srail.show { opacity:1; pointer-events:auto; }
.srail.hide { opacity:0; pointer-events:none; transform:translateY(-50%) translateX(20px); }

.srail-item {
  position:relative;
  width:40px; height:40px;
  background:transparent;
  border:1px solid transparent;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--gold);
  transition: background .25s, border-color .25s, color .25s;
}
.srail-item:hover { background:rgba(138,100,40,.08); border-color:rgba(138,100,40,.22); }
.srail-item svg { width:16px; height:16px; stroke-width:1.5; }
button.srail-item { cursor:pointer; padding:0; font:inherit; }

.srail-sep {
  height:1px; width:60%;
  background:rgba(138,100,40,.18);
  align-self:center; margin:.2rem 0;
}

.srail-tip {
  position:absolute; right:calc(100% + .55rem); top:50%;
  transform:translateY(-50%);
  background:var(--text); color:var(--bg);
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  padding:.35rem .65rem; border-radius:4px;
  white-space:nowrap;
  opacity:0; pointer-events:none;
  transition: opacity .2s var(--ease);
}
.srail-item:hover .srail-tip,
.srail-item:focus-visible .srail-tip { opacity:1; }

@media (max-width:640px){
  .srail { right:1rem; gap:.4rem; padding:.45rem; }
  .srail-item { width:36px; height:36px; }
  .srail-item svg { width:14px; height:14px; }
}

/* ═══════════════════════════════════════════════════
   DIVAN
═══════════════════════════════════════════════════ */
.divan-wrap {
  width:100%; aspect-ratio:16/6; position:relative;
  overflow:hidden; margin:5rem 0; border-radius:.4rem;
}
.divan-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:center 45%;
  filter:saturate(.45) contrast(1.05) brightness(.82);
  display:block;
}
.divan-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(7,7,14,.92) 30%,rgba(7,7,14,.15) 100%);
  display:flex; align-items:center;
}
.divan-quote {
  padding:0 5rem;
}
.divan-quote blockquote {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.3rem,2.2vw,1.85rem);
  color:#F2E6CC; max-width:500px; line-height:1.55;
  border:none; margin:0;
  text-shadow: 0 2px 24px rgba(0,0,0,.85), 0 1px 4px rgba(0,0,0,.6);
}
.divan-quote cite {
  display:block; margin-top:1.2rem;
  font-size:.62rem; letter-spacing:.28em; text-transform:uppercase;
  color:#D4B777; font-style:normal;
  text-shadow: 0 1px 8px rgba(0,0,0,.8);
}
@media(max-width:960px){
  .divan-wrap{aspect-ratio:4/3;}
  .divan-quote{padding:0 2rem;}
  .divan-quote blockquote{font-size:1.1rem;}
}

/* ═══════════════════════════════════════════════════
   TOPOLOGY — Möbius 3D (WebGL2 particles)
═══════════════════════════════════════════════════ */
#topology {
  position:relative; overflow:hidden;
  min-height:88vh;
  background:#070710;
  display:flex; align-items:center;
}
#topology::before, #topology::after {
  content:""; position:absolute; left:0; right:0; height:90px;
  pointer-events:none; z-index:2;
}
#topology::before { top:0;    background:linear-gradient(to bottom, var(--bg) 0%, transparent 100%); }
#topology::after  { bottom:0; background:linear-gradient(to top,    var(--bg) 0%, transparent 100%); }

#mobius-stage {
  position:absolute; inset:0; z-index:1;
}
#mobius-stage canvas {
  width:100%; height:100%; display:block;
  cursor:grab; touch-action:none;
}
#mobius-stage canvas:active { cursor:grabbing; }

.topology-overlay {
  position:relative; z-index:3;
  padding:0 5rem; max-width:520px;
  pointer-events:none;
}
.topology-label, .topology-title, .topology-body, .topology-hint { pointer-events:auto; }

.topology-label {
  font-size:.6rem; letter-spacing:.45em; text-transform:uppercase;
  color:rgba(200,169,110,.85); margin-bottom:1.4rem;
  display:flex; align-items:center; gap:1rem;
}
.topology-label::before { content:""; width:24px; height:1px; background:rgba(200,169,110,.5); }

.topology-title {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.4rem, 5vw, 4.2rem);
  line-height:1.05; color:#F2E6CC;
  margin-bottom:1.6rem;
  text-shadow: 0 2px 28px rgba(0,0,0,.6);
}
.topology-title em { color:#D4B777; font-style:italic; }

.topology-body {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(.98rem, 1.4vw, 1.18rem);
  line-height:1.65; color:rgba(242,230,204,.75);
  margin-bottom:1.6rem;
  text-shadow: 0 1px 18px rgba(0,0,0,.5);
}
.topology-hint {
  font-size:.62rem; letter-spacing:.32em; text-transform:uppercase;
  color:rgba(212,183,119,.85);
  display:flex; align-items:center; gap:.8rem;
}
.topology-hint::before { content:""; width:18px; height:1px; background:rgba(200,169,110,.4); }

@media (max-width:768px){
  #topology { min-height:78vh; }
  .topology-overlay { padding:0 1.6rem; max-width:none; }
  .topology-title { font-size:2.2rem; }
}
/* ═══════════════════════════════════════════════════
   AYNA EVRESİ (Mirror Stage cursor demo)
═══════════════════════════════════════════════════ */
#mirror {
  position:relative; overflow:hidden;
  height:36vh; min-height:280px; max-height:380px;
  background:var(--bg2);
  display:flex; align-items:center; justify-content:center;
  isolation:isolate;
}
.mirror-axis {
  position:absolute; top:8%; bottom:8%; left:50%;
  width:1px;
  background:linear-gradient(to bottom, transparent 0%, rgba(138,100,40,.5) 30%, rgba(138,100,40,.5) 70%, transparent 100%);
  z-index:1;
}
.mirror-axis::before {
  content:""; position:absolute; left:-12px; right:-12px; top:0; bottom:0;
  background:radial-gradient(ellipse 100% 50% at center, rgba(200,169,110,.18), transparent 70%);
  filter:blur(8px);
}
.mirror-content {
  position:relative; z-index:2;
  text-align:center; max-width:600px; padding:0 2rem;
}
.mirror-label {
  font-size:.6rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.4rem;
  display:inline-flex; align-items:center; gap:.8rem;
}
.mirror-label::before, .mirror-label::after {
  content:""; width:22px; height:1px; background:var(--gold);
}
.mirror-quote {
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.4rem, 2.4vw, 2rem);
  line-height:1.4; color:var(--text);
  margin-bottom:1.6rem;
}
.mirror-quote em { color:var(--gold); font-style:italic; font-weight:400; }
.mirror-hint {
  font-size:.6rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--dim);
}

#cursor-mirror {
  position:fixed; pointer-events:none; z-index:9997;
  transform:translate(-50%, -62%) scaleX(-1);
  font-family:var(--serif); font-size:1.35rem;
  color:rgba(200,169,110,.55);
  line-height:1; user-select:none;
  text-shadow: 0 0 24px rgba(200,169,110,.4);
  opacity:0;
  transition: opacity .4s var(--ease);
  filter: blur(.3px);
}
#cursor-mirror.show { opacity:.85; }

/* Touch'ta sadece nokta görünümü — biraz daha küçük */
@media (hover:none), (pointer:coarse) {
  #cursor-mirror { font-size:1.15rem; opacity:0; transition: opacity .4s var(--ease); }
  #cursor-mirror.show { opacity:.78; }
}

/* ═══════════════════════════════════════════════════
   LE GRAPHE DU DÉSIR (Lacan's Graph of Desire)
═══════════════════════════════════════════════════ */
#graphe {
  position:relative; overflow:hidden;
  padding:7rem 2rem;
  background:#070710;
}
#graphe::before, #graphe::after {
  content:""; position:absolute; left:0; right:0; height:80px;
  pointer-events:none; z-index:2;
}
#graphe::before { top:0;    background:linear-gradient(to bottom, var(--bg2) 0%, transparent 100%); }
#graphe::after  { bottom:0; background:linear-gradient(to top,    var(--bg)  0%, transparent 100%); }

#graphe .wrap { position:relative; z-index:3; }
#graphe .sec-label { color:rgba(200,169,110,.85); }
#graphe .sec-title { color:#F2E6CC; text-shadow: 0 2px 24px rgba(0,0,0,.4); }
#graphe .sec-title em { color:#D4B777; font-style:italic; }
.graphe-intro {
  font-family:var(--serif); font-style:italic;
  font-size:1.05rem; line-height:1.75;
  color:rgba(242,230,204,.7);
  max-width:680px; margin-bottom:4rem;
}
.graphe-intro em { color:#D4B777; font-style:italic; }

.graphe-layout {
  display:grid; grid-template-columns:1.4fr 1fr;
  gap:3.5rem; align-items:center;
}
.graphe-stage {
  position:relative;
  background:radial-gradient(ellipse at 50% 50%, rgba(200,169,110,.06) 0%, transparent 70%);
  padding:1.5rem;
}
.graphe-svg { width:100%; height:auto; display:block; }

.gr-node { cursor:pointer; }
.gr-hit  { fill:transparent; }
.gr-dot  { fill:#c8a96e; transition: r .25s var(--ease), fill .25s; }
.gr-label {
  fill:#F2E6CC;
  font-family:'Cormorant Garamond', serif;
  font-size:18px; font-style:italic;
  text-anchor:middle;
  transition: fill .25s;
}
.gr-node:hover .gr-dot,
.gr-node:focus-visible .gr-dot,
.gr-node.active .gr-dot {
  r:9; fill:#F2E6CC;
  filter: drop-shadow(0 0 8px rgba(200,169,110,.9));
}
.gr-node:hover .gr-label,
.gr-node:focus-visible .gr-label,
.gr-node.active .gr-label {
  fill:#D4B777;
}
.gr-node:focus-visible { outline:none; }

.graphe-info {
  background:rgba(200,169,110,.04);
  border-left:2px solid rgba(200,169,110,.4);
  padding:2.5rem 2.2rem;
}
.graphe-symbol {
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:clamp(2.8rem, 5vw, 4.2rem);
  color:#D4B777; line-height:1;
  margin-bottom:1rem;
}
.graphe-name {
  font-size:.65rem; letter-spacing:.32em; text-transform:uppercase;
  color:#F2E6CC; margin-bottom:1.6rem;
}
.graphe-def {
  font-size:.96rem; line-height:1.75;
  color:rgba(242,230,204,.75);
  font-family:var(--sans); font-weight:300;
}
.graphe-def em { color:#D4B777; font-style:italic; }
.graphe-hint {
  margin-top:2rem;
  font-size:.6rem; letter-spacing:.32em; text-transform:uppercase;
  color:rgba(212,183,119,.78);
}

@media (max-width:960px){
  .graphe-layout { grid-template-columns:1fr; gap:2.5rem; }
}

/* ═══════════════════════════════════════════════════
   ÖZNENİN DOĞUŞU (subject birth — 5-stage SVG narrative)
═══════════════════════════════════════════════════ */
#subject-birth {
  position:relative; overflow:hidden;
  background:#070710;
  isolation:isolate;
}
#subject-birth::before, #subject-birth::after {
  content:""; position:absolute; left:0; right:0; height:90px;
  pointer-events:none; z-index:2;
}
#subject-birth::before { top:0;    background:linear-gradient(to bottom, var(--bg) 0%, transparent 100%); }
#subject-birth::after  { bottom:0; background:linear-gradient(to top,    var(--bg) 0%, transparent 100%); }
#subject-birth .wrap { position:relative; z-index:3; }
#subject-birth .sec-label { color:rgba(200,169,110,.85); }
#subject-birth .sec-title { color:#F2E6CC; text-shadow:0 2px 24px rgba(0,0,0,.5); }
#subject-birth .sec-title em { color:#D4B777; font-style:italic; }

.sb-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.sb-text { max-width:520px; }
.sb-steps {
  list-style:none; padding:0; margin:3rem 0 0;
  display:flex; flex-direction:column; gap:1.7rem;
}
.sb-step {
  font-family:var(--serif); font-size:1.12rem; line-height:1.65;
  color:rgba(242,230,204,.45); display:flex; gap:1.4rem; align-items:baseline;
  opacity:.7; transition: opacity .55s var(--ease), color .4s var(--ease);
  text-shadow: 0 1px 14px rgba(0,0,0,.4);
}
.sb-step em { color:#D4B777; font-style:italic; font-weight:500; }
.sb-num {
  font-size:.6rem; letter-spacing:.32em; color:rgba(200,169,110,.85);
  flex-shrink:0; padding-top:.2rem; min-width:1.8em;
  font-family:var(--sans);
}

.sb-stage {
  position:relative;
  aspect-ratio:1; max-width:560px; margin:0 auto;
}
.sb-svg { width:100%; height:100%; overflow:visible; }

/* === Element base state === */
.sb-aura, .sb-dot, .sb-dot-halo,
.sb-ring, .sb-ring-glow, .sb-teeth,
.sb-bar, .sb-bar-shadow, .sb-S, .sb-label-final, .sb-label-rule,
.sb-particles .sb-p {
  opacity:0;
  transition: opacity 1s var(--ease),
              transform 1s var(--ease),
              stroke-dashoffset 1.6s var(--ease);
}
.sb-dot { transform-box: fill-box; transform-origin: center; transform: scale(0); }
.sb-aura { transform-origin: 280px 280px; transform: scale(.6); }

/* aura visible from stage 0 onward (soft background) */
.sb-stage .sb-aura { opacity:.7; transform: scale(1); }

/* === Stage 1: the dot appears with pulsing halo === */
.sb-stage[data-stage="1"] .sb-dot,
.sb-stage[data-stage="2"] .sb-dot,
.sb-stage[data-stage="3"] .sb-dot { opacity:1; transform:scale(1); }
.sb-stage[data-stage="1"] .sb-dot-halo,
.sb-stage[data-stage="2"] .sb-dot-halo { opacity:1; animation: sb-halo 2.4s ease-in-out infinite; }
@keyframes sb-halo {
  0%,100% { transform: scale(1);   opacity:.45; }
  50%     { transform: scale(1.6); opacity:.15; }
}
.sb-dot-halo { transform-origin: 280px 280px; }

/* === Stage 2: signifier ring closes, 12 particles arrive === */
.sb-stage[data-stage="2"] .sb-ring,
.sb-stage[data-stage="3"] .sb-ring,
.sb-stage[data-stage="4"] .sb-ring,
.sb-stage[data-stage="2"] .sb-ring-glow,
.sb-stage[data-stage="3"] .sb-ring-glow,
.sb-stage[data-stage="4"] .sb-ring-glow,
.sb-stage[data-stage="2"] .sb-teeth,
.sb-stage[data-stage="3"] .sb-teeth,
.sb-stage[data-stage="4"] .sb-teeth {
  opacity:1;
}
.sb-stage[data-stage="2"] .sb-ring,
.sb-stage[data-stage="3"] .sb-ring,
.sb-stage[data-stage="4"] .sb-ring { stroke-dashoffset:0; }

/* particles: at stage 2 they migrate from offset positions to the ring */
.sb-stage[data-stage="2"] .sb-particles .sb-p,
.sb-stage[data-stage="3"] .sb-particles .sb-p,
.sb-stage[data-stage="4"] .sb-particles .sb-p { opacity:1; }
.sb-particles .sb-p {
  transform-box: fill-box; transform-origin: center;
  transition: opacity 1s var(--ease), transform 1.4s var(--ease);
}
/* 12 noktayı çember üzerine dağıt (r=160, merkez 280,280) */
.sb-p-0  { transform: translate(0,  -160px); }
.sb-p-1  { transform: translate(80px, -138.6px); }
.sb-p-2  { transform: translate(138.6px, -80px); }
.sb-p-3  { transform: translate(160px, 0); }
.sb-p-4  { transform: translate(138.6px, 80px); }
.sb-p-5  { transform: translate(80px, 138.6px); }
.sb-p-6  { transform: translate(0, 160px); }
.sb-p-7  { transform: translate(-80px, 138.6px); }
.sb-p-8  { transform: translate(-138.6px, 80px); }
.sb-p-9  { transform: translate(-160px, 0); }
.sb-p-10 { transform: translate(-138.6px, -80px); }
.sb-p-11 { transform: translate(-80px, -138.6px); }
/* Stage 0–1: parçacıklar merkezden çıkmamış (saklı) */
.sb-stage[data-stage="0"] .sb-particles .sb-p,
.sb-stage[data-stage="1"] .sb-particles .sb-p { transform: translate(0,0); opacity:0; }

/* === Stage 3: the bar slashes through, dot becomes the S === */
.sb-stage[data-stage="3"] .sb-bar,
.sb-stage[data-stage="4"] .sb-bar { opacity:1; }
.sb-stage[data-stage="3"] .sb-bar-shadow,
.sb-stage[data-stage="4"] .sb-bar-shadow { opacity:1; }
.sb-stage[data-stage="3"] .sb-S,
.sb-stage[data-stage="4"] .sb-S { opacity:.95; transition-delay:.25s; }
.sb-stage[data-stage="3"] .sb-dot,
.sb-stage[data-stage="4"] .sb-dot { opacity:0; transform:scale(0); transition-delay:.15s; }
.sb-stage[data-stage="3"] .sb-dot-halo,
.sb-stage[data-stage="4"] .sb-dot-halo { opacity:0; animation:none; }

/* bar draws-in animation */
.sb-bar, .sb-bar-shadow {
  stroke-dasharray:160; stroke-dashoffset:160;
  transition: opacity 1s var(--ease), stroke-dashoffset 1s var(--ease);
}
.sb-stage[data-stage="3"] .sb-bar,
.sb-stage[data-stage="4"] .sb-bar,
.sb-stage[data-stage="3"] .sb-bar-shadow,
.sb-stage[data-stage="4"] .sb-bar-shadow { stroke-dashoffset:0; }

/* === Stage 4: final label === */
.sb-stage[data-stage="4"] .sb-label-final,
.sb-stage[data-stage="4"] .sb-label-rule { opacity:.8; transition-delay:.5s; }

/* Active step highlighting in the side text */
#subject-birth[data-step="1"] .sb-s1 { opacity:1; color:#F2E6CC; }
#subject-birth[data-step="2"] .sb-s1,
#subject-birth[data-step="2"] .sb-s2 { opacity:1; color:#F2E6CC; }
#subject-birth[data-step="3"] .sb-s1,
#subject-birth[data-step="3"] .sb-s2,
#subject-birth[data-step="3"] .sb-s3 { opacity:1; color:#F2E6CC; }
#subject-birth[data-step="4"] .sb-step { opacity:1; color:#F2E6CC; }

@media (max-width:960px){
  .sb-wrap { grid-template-columns:1fr; gap:3rem; }
  .sb-stage { max-width:420px; }
}

/* ═══════════════════════════════════════════════════
   DÖRT SÖYLEM (Four Discourses)
═══════════════════════════════════════════════════ */
#discourses { background:var(--bg2); }
.dw-intro {
  font-family:var(--serif); font-style:italic;
  font-size:1.05rem; line-height:1.75; color:var(--mid);
  max-width:640px; margin-bottom:4rem;
}
.dw-intro em { color:var(--gold); font-style:italic; }
.dw-stage {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.dw-wheel {
  position:relative;
  width:100%; max-width:480px; aspect-ratio:1; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:0;
  background:var(--bg);
  border:1px solid rgba(138,100,40,.22);
  box-shadow: 0 14px 50px rgba(28,25,22,.08);
}
.dw-corner {
  position:absolute;
  font-size:.58rem; letter-spacing:.32em;
  text-transform:uppercase; color:var(--gold);
  z-index:3; pointer-events:none;
  padding:.55rem .85rem;
  background:rgba(248,244,238,.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border:1px solid rgba(138,100,40,.18);
}
.dw-corner-tl { top:-1px; left:-1px;   border-right:0; border-bottom:0; }
.dw-corner-tr { top:-1px; right:-1px;  border-left:0;  border-bottom:0; }
.dw-corner-bl { bottom:-1px; left:-1px;  border-right:0; border-top:0; }
.dw-corner-br { bottom:-1px; right:-1px; border-left:0;  border-top:0; }
.dw-slot {
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(138,100,40,.18);
  position:relative;
  min-height:0; min-width:0;
  padding:1.5rem;
}
.dw-matheme {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(2.6rem, 5.5vw, 4.5rem);
  color:var(--gold);
  transition: opacity .4s var(--ease), transform .55s var(--ease);
  display:inline-block;
  line-height:1;
}
.dw-matheme sub { font-size:.55em; vertical-align:baseline; position:relative; bottom:-.15em; }
.dw-matheme.fade { opacity:0; transform: translateY(8px) scale(.9); }
.dw-arrows {
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:1;
}
.dw-info { display:flex; flex-direction:column; gap:1.2rem; }
.dw-name {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  color:var(--text); line-height:1.1;
}
.dw-formula {
  font-family:var(--serif); color:var(--gold);
  font-size:1.05rem;
  padding:.6rem 0; border-top:1px solid rgba(138,100,40,.15);
  border-bottom:1px solid rgba(138,100,40,.15);
}
.dw-formula em { font-style:italic; }
.dw-formula sub { font-size:.65em; vertical-align:baseline; position:relative; bottom:-.15em; }
.dw-desc {
  font-size:.96rem; line-height:1.75; color:var(--mid);
  font-family:var(--sans); font-weight:300;
}
.dw-desc em { color:var(--gold); font-style:italic; }
.dw-controls {
  display:flex; align-items:center; gap:1.4rem;
  margin-top:1.2rem;
}
.dw-btn {
  width:42px; height:42px; border-radius:50%;
  border:1px solid rgba(138,100,40,.3);
  background:transparent; color:var(--gold);
  font-family:var(--serif); font-size:1.6rem; line-height:1;
  cursor:pointer; padding:0;
  transition: background .2s, border-color .2s, transform .2s;
}
.dw-btn:hover { background:var(--gold); color:var(--bg); border-color:var(--gold); transform:scale(1.05); }
.dw-counter {
  font-size:.7rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--dim);
}
@media (max-width:900px){
  .dw-stage { grid-template-columns:1fr; gap:3rem; }
}

/* ═══════════════════════════════════════════════════
   LAPSUS — Freud'un dil sürçmesi efekti
═══════════════════════════════════════════════════ */
.lapsus { display:inline-block; position:relative; }
.lapsus-active   { color:rgba(200,169,110,.55); letter-spacing:.08em; transition: color .25s, letter-spacing .25s; }
.lapsus-correct  { animation: lapsus-flash .55s var(--ease) 1; }
@keyframes lapsus-flash {
  0%   { color:rgba(200,169,110,.55); letter-spacing:.08em; }
  35%  { color:inherit; letter-spacing:.04em; }
  100% { color:inherit; letter-spacing:inherit; }
}

/* ═══════════════════════════════════════════════════
   MATHÈMELER
═══════════════════════════════════════════════════ */
#mathemes { background:var(--bg); }
.mathemes-lead {
  font-family:var(--serif); font-style:italic;
  font-size:1.05rem; line-height:1.75; color:var(--mid);
  max-width:620px; margin-bottom:4rem;
}
.matheme-grid {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:2px; margin-top:2rem;
  background:var(--goldd);
}
.matheme-card {
  background:var(--bg2);
  padding:2.8rem 2.4rem 2.2rem;
  display:flex; flex-direction:column; align-items:flex-start;
  transition: background .35s var(--ease);
  position:relative;
}
.matheme-card:hover { background:var(--bg3); }
.matheme-card::before {
  content:""; position:absolute; top:0; left:0; height:2px; width:0;
  background:var(--gold); transition: width .55s var(--ease);
}
.matheme-card:hover::before { width:100%; }
.matheme-sym {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(2.2rem, 3.6vw, 3rem);
  color:var(--gold); line-height:1;
  margin-bottom:1.4rem; letter-spacing:.02em;
}
.matheme-sym sub { font-size:.55em; vertical-align:baseline; position:relative; bottom:-.15em; }
.matheme-sym .bar-A { position:relative; display:inline-block; }
.matheme-sym .bar-A::after {
  content:""; position:absolute; left:-2%; right:-2%; top:50%;
  height:.08em; background:currentColor;
  transform: rotate(-12deg);
}
.matheme-name {
  font-size:.6rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--text); margin-bottom:1rem;
}
.matheme-def {
  font-size:.88rem; line-height:1.65; color:var(--mid);
}
.matheme-def em { color:var(--gold); font-style:italic; }
@media (max-width:960px){
  .matheme-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .matheme-grid { grid-template-columns:1fr; }
  .matheme-card { padding:2.2rem 1.8rem 1.8rem; }
}

/* ═══════════════════════════════════════════════════
   GLOSSARY / Kavramlar
═══════════════════════════════════════════════════ */
#glossary { background:var(--bg2); }
.glossary-lead {
  font-family:var(--serif); font-style:italic;
  font-size:1.02rem; line-height:1.75; color:var(--mid);
  max-width:620px; margin-bottom:4rem;
}
.glossary-list {
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:.4rem 2.5rem;
}
.g-item {
  border-bottom:1px solid rgba(138,100,40,.18);
  padding:1rem 0 1.1rem;
  transition: padding .25s var(--ease);
}
.g-item summary {
  list-style:none; cursor:pointer;
  display:flex; align-items:baseline; justify-content:space-between;
  gap:1.2rem;
  font-family:var(--serif);
  transition: color .2s;
  position:relative; padding-right:1.6rem;
}
.g-item summary::-webkit-details-marker { display:none; }
.g-item summary::after {
  content:"+"; position:absolute; right:0; top:50%;
  transform: translateY(-50%);
  font-family:var(--sans); font-size:1.1rem;
  color:var(--gold);
  transition: transform .3s var(--ease);
}
.g-item[open] summary::after { content:"−"; }
.g-fr {
  font-style:italic; font-size:1.08rem; color:var(--text);
  font-weight:400;
}
.g-tr {
  font-size:.62rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); font-style:normal;
  flex-shrink:0;
}
.g-item p {
  margin-top:.9rem;
  font-size:.92rem; line-height:1.7; color:var(--mid);
  font-family:var(--sans); font-weight:300;
  max-width:36em;
  animation: g-open .35s var(--ease);
}
@keyframes g-open { from { opacity:0; transform:translateY(-4px);} to { opacity:1; transform:translateY(0);} }
.g-item:hover summary .g-fr { color:var(--gold); }
@media (max-width:768px){
  .glossary-list { grid-template-columns:1fr; gap:0; }
  .g-item summary { flex-wrap:wrap; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════ */
@media(max-width:1200px){
  .wrap{padding:0 3rem;}
  .about-wrap{grid-template-columns:1fr;gap:4.5rem;}
  .about-stick{position:relative;top:0;max-width:360px;}
  .borr-grid{grid-template-columns:1fr;}
  .journal-inner{grid-template-columns:1fr;gap:4rem;}
}
/* ═══════════════════════════════════════════════════
   NASIL ÇALIŞIRIM
═══════════════════════════════════════════════════ */
#process { background:var(--bg2); }
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:2px; margin-top:4rem;
}
.process-step {
  background:var(--bg); padding:3rem 2.5rem;
  position:relative; overflow:hidden;
  transition:background .4s;
}
.process-step::before {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.process-step:hover::before { transform:scaleX(1); }
.process-step:hover { background:var(--bg2); }
.ps-num {
  font-family:var(--serif); font-size:4.5rem; font-weight:300;
  color:var(--goldd); line-height:1; margin-bottom:2rem;
  border:1px solid rgba(138,100,40,.15);
  width:72px; height:72px; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--gold); letter-spacing:.1em;
}
.ps-title {
  font-family:var(--serif); font-size:1.35rem; font-weight:400;
  letter-spacing:.03em; margin-bottom:.8rem; color:var(--text);
}
.ps-body { font-size:.87rem; line-height:1.85; color:var(--mid); }
@media(max-width:860px){
  .process-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .process-grid{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════
   HERO QUICK-INFO STRIP
═══════════════════════════════════════════════════ */
.hero-quickinfo {
  display:flex; gap:1.4rem; margin-top:1.6rem;
  padding-top:1.4rem; border-top:1px solid rgba(138,100,40,.18);
  flex-wrap:wrap; justify-content:center;
}
.qi-item {
  display:flex; flex-direction:column; align-items:center;
  min-width:7rem;
}
.qi-lbl {
  font-size:.56rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--dim); margin-bottom:.35rem;
}
.qi-val {
  font-family:var(--serif); font-size:1rem;
  color:var(--text); font-weight:400;
}
.qi-val a { color:var(--gold); border-bottom:1px solid transparent; transition:border-color .2s; }
.qi-val a:hover { border-color:var(--gold); }
@media(max-width:640px){
  .hero-quickinfo { gap:.9rem; }
  .qi-item { min-width:5.5rem; }
  .qi-val { font-size:.85rem; }
}

/* ═══════════════════════════════════════════════════
   FOOTER LEGAL + CONSENT
═══════════════════════════════════════════════════ */
.footer-legal {
  display:flex; gap:.6rem; align-items:center; justify-content:center;
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dim); margin-top:1.2rem; flex-wrap:wrap;
}
.footer-legal a {
  color:var(--dim); border-bottom:1px solid transparent;
  transition: color .2s, border-color .2s;
}
.footer-legal a:hover { color:var(--gold); border-bottom-color:var(--gold); }
.footer-legal span { opacity:.5; }

/* ═══════════════════════════════════════════════════
   TUNNEL — Bilinçdışına Yolculuk (WebGL2)
═══════════════════════════════════════════════════ */
#tunnel {
  position:relative;
  height:88vh; min-height:560px; max-height:900px;
  background:#000;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
#tunnel-canvas {
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
}
/* üst & alt yumuşak geçiş */
#tunnel::before, #tunnel::after {
  content:""; position:absolute; left:0; right:0; height:90px;
  pointer-events:none; z-index:2;
}
#tunnel::before { top:0;    background:linear-gradient(to bottom, var(--bg) 0%, rgba(0,0,0,0) 100%); }
#tunnel::after  { bottom:0; background:linear-gradient(to top,    var(--bg) 0%, rgba(0,0,0,0) 100%); }

.tunnel-overlay {
  position:relative; z-index:3;
  text-align:center; padding:2rem;
  max-width:780px;
}
.tunnel-title {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.6rem, 6vw, 5rem);
  line-height:1.05; color:#fff;
  text-shadow: 0 2px 40px rgba(0,0,0,.55);
}
.tunnel-title em {
  color:#c8a96e; font-style:italic; font-weight:400;
}
.tunnel-quote {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1rem, 1.6vw, 1.3rem);
  color:rgba(255,255,255,.78);
  margin-top:2rem; line-height:1.55;
  text-shadow: 0 1px 18px rgba(0,0,0,.7);
}
.tunnel-cite {
  font-size:.7rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(212,183,119,.92); margin-top:.9rem;
}
@media (max-width:768px){
  #tunnel { height:70vh; min-height:460px; }
  .tunnel-overlay { padding:1.4rem; }
}

.cf-consent {
  font-size:.72rem; line-height:1.55; color:var(--mid);
  margin:.4rem 0;
}
.cf-consent label {
  display:flex; gap:.55rem; align-items:flex-start; cursor:pointer;
}
.cf-consent input[type="checkbox"] {
  margin-top:.25rem; accent-color:var(--gold); flex-shrink:0;
}
.cf-consent a, .cf-link {
  color:var(--gold); font-weight:500;
  text-decoration:underline; text-underline-offset:2px;
  transition: color .2s;
}
.cf-consent a:hover, .cf-link:hover { color:var(--gold2); }

/* ═══════════════════════════════════════════════════
   CTA SECTION
═══════════════════════════════════════════════════ */
#cta-section {
  background:linear-gradient(135deg,#1C1410 0%,#2A1F14 50%,#1A1318 100%);
  padding:9rem 5rem; text-align:center; position:relative; overflow:hidden;
}
#cta-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(138,100,40,.18) 0%,transparent 70%);
  pointer-events:none; z-index:1;
}
#sparkles-canvas {
  position:absolute; inset:0;
  width:100%; height:100%;
  pointer-events:none; z-index:2;
}
.cta-inner { position:relative; z-index:3; }
.cta-label {
  font-size:.58rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:2rem;
  display:flex; align-items:center; justify-content:center; gap:1rem;
}
.cta-label::before,.cta-label::after { content:''; width:26px; height:1px; background:var(--gold); }
.cta-title {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.4rem,5vw,4rem);
  color:#F8F4EE; line-height:1.15; margin-bottom:1.5rem;
  letter-spacing:.02em;
}
.cta-title em { color:var(--gold2); font-style:italic; }
.cta-sub {
  font-family:var(--serif); font-style:italic;
  font-size:1.1rem; color:rgba(248,244,238,.6);
  max-width:520px; margin:0 auto 3.5rem; line-height:1.7;
}
.cta-btn {
  display:inline-flex; align-items:center; gap:.8rem;
  font-size:.68rem; letter-spacing:.28em; text-transform:uppercase;
  color:#1C1410; background:var(--gold2);
  padding:1.1rem 3rem;
  transition:background .3s, transform .3s var(--ease);
  cursor:none;
}
.cta-btn:hover { background:var(--gold); transform:translateY(-2px); }
.cta-btn svg { width:14px; height:14px; stroke-width:2; }

/* ═══════════════════════════════════════════════════
   OBJET PETIT A SECTION
═══════════════════════════════════════════════════ */
#objeta { position:relative; background:#09090F; }
.objeta-canvas-wrap {
  position:relative; width:100%; height:80vh; min-height:520px;
  overflow:hidden;
}
#objeta-canvas {
  position:absolute; inset:0; width:100%; height:100%; display:block;
}
.objeta-overlay {
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:center;
  padding:0 8rem;
  background:linear-gradient(90deg,rgba(7,7,14,.82) 0%,rgba(7,7,14,.4) 50%,transparent 100%);
}
.objeta-label {
  font-size:.58rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.5rem;
  display:flex; align-items:center; gap:1rem;
}
.objeta-label::before { content:''; width:26px; height:1px; background:var(--gold); flex-shrink:0; }
.objeta-title {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1.05; letter-spacing:.02em; margin-bottom:1.5rem;
}
.objeta-title em { color:var(--gold); font-style:italic; }
.objeta-body {
  font-family:var(--serif); font-size:clamp(1rem,1.4vw,1.15rem);
  color:var(--mid); max-width:460px; line-height:1.85; font-style:italic;
}
.objeta-matheme {
  margin-top:2.2rem;
  font-family:var(--serif); font-size:2.6rem; color:var(--gold);
  opacity:.65; letter-spacing:.12em;
}
@media(max-width:768px){
  .objeta-overlay{ padding:0 2.5rem; }
  .objeta-matheme{ font-size:1.8rem; }
}

/* ═══════════════════════════════════════════════════
   HERO AMBIENT ORBS
═══════════════════════════════════════════════════ */
.hero-orb {
  position:absolute; border-radius:50%;
  pointer-events:none; z-index:0;
  filter:blur(90px);
}
.hero-orb-1 {
  width:520px; height:520px;
  background:radial-gradient(circle,rgba(200,169,110,.16) 0%,transparent 70%);
  top:-80px; left:5%;
  animation:orb1 14s ease-in-out infinite;
}
.hero-orb-2 {
  width:360px; height:360px;
  background:radial-gradient(circle,rgba(156,122,139,.13) 0%,transparent 70%);
  bottom:8%; right:8%;
  animation:orb2 18s ease-in-out infinite;
}
@keyframes orb1{
  0%,100%{transform:translate(0,0);}
  33%{transform:translate(30px,-40px);}
  66%{transform:translate(-20px,25px);}
}
@keyframes orb2{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-35px,-30px);}
}

/* ═══════════════════════════════════════════════════
   PHARMAKON QUOTE SECTION
═══════════════════════════════════════════════════ */
.pharmakon {
  background:#0D0C14; padding:8rem 5rem;
  text-align:center; position:relative; overflow:hidden;
}
.pharmakon::before,.pharmakon::after {
  content:''; position:absolute; left:50%; transform:translateX(-50%);
  width:1px; background:linear-gradient(180deg,transparent,rgba(200,169,110,.45),transparent);
}
.pharmakon::before { top:0; height:60px; }
.pharmakon::after  { bottom:0; height:60px; }
.pharmakon-q {
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.9rem,4vw,3.6rem);
  color:var(--text); max-width:880px; margin:0 auto 2.2rem;
  line-height:1.45; letter-spacing:.02em;
  border:none; padding:0;
}
.pharmakon-cite {
  font-size:.6rem; letter-spacing:.38em; text-transform:uppercase;
  color:var(--gold); font-style:normal;
}
.pharmakon-wm {
  position:absolute; font-family:var(--serif); font-size:14rem;
  font-weight:300; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(200,169,110,.06);
  left:50%; top:50%; transform:translate(-50%,-50%);
  white-space:nowrap; letter-spacing:.1em;
}

/* ═══════════════════════════════════════════════════
   PROGRESSIVE BLUR
═══════════════════════════════════════════════════ */
.pblur {
  pointer-events:none; position:absolute; top:0; bottom:0;
  width:100px; z-index:3;
}
.pblur-left  { left:0; }
.pblur-right { right:0; }
.pblur > div {
  position:absolute; inset:0; border-radius:inherit;
}

/* ═══════════════════════════════════════════════════
   CALENDAR DATE PICKER
═══════════════════════════════════════════════════ */
.cal-wrap {
  background:var(--bg3); border:1px solid rgba(138,100,40,.2);
  border-radius:.4rem; padding:1.4rem; user-select:none;
}
.cal-head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:1.2rem;
}
.cal-title {
  font-family:var(--serif); font-size:1rem; color:var(--text); letter-spacing:.05em;
}
.cal-nav {
  background:none; border:1px solid rgba(138,100,40,.25);
  color:var(--gold); width:28px; height:28px; border-radius:50%;
  cursor:none; display:flex; align-items:center; justify-content:center;
  font-size:1rem; transition:background .2s;
}
.cal-nav:hover { background:rgba(138,100,40,.12); }
.cal-days-head {
  display:grid; grid-template-columns:repeat(7,1fr);
  margin-bottom:.5rem;
}
.cal-days-head span {
  text-align:center; font-size:.55rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--dim); padding:.3rem 0;
}
.cal-grid {
  display:grid; grid-template-columns:repeat(7,1fr); gap:2px;
}
.cal-day {
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  font-size:.8rem; color:var(--mid); border-radius:.25rem;
  cursor:none; transition:background .2s, color .2s;
  border:1px solid transparent;
}
.cal-day:hover { background:rgba(138,100,40,.1); color:var(--text); }
.cal-day.today { border-color:rgba(138,100,40,.35); color:var(--gold); }
.cal-day.selected { background:var(--gold); color:var(--bg); font-weight:500; }
.cal-day.other-month { opacity:.3; }
.cal-day.empty { pointer-events:none; }
.cal-selected-display {
  margin-top:1rem; padding-top:1rem;
  border-top:1px solid rgba(138,100,40,.15);
  font-size:.72rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--gold);
}

@media(max-width:960px){
  #nav{padding:1.4rem 2rem;}
  #nav.scrolled{padding:1rem 2rem;}
  .nav-links,.nav-cta{display:none;}
  .burger{display:flex;}
  #hero{grid-template-columns:1fr;}
  .wrap{padding:0 1.8rem;}
  .pad{padding:5.5rem 0;}
  .svc-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:4rem;}
  .pillars{grid-template-columns:1fr;}
  .footer-inner{flex-direction:column;gap:1.2rem;text-align:center;}
  .footer-q{display:none;}
  .conf-item{grid-template-columns:70px 1fr;gap:1rem;}
  .conf-v{display:none;}
}

/* ═══════════════════════════════════════════════════
   TABLET (1024px ↓) — son ince ayarlar
═══════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .pad { padding: 5rem 0; }
  /* Mathèmeler: 3 → 2 sütun (zaten 960'te 2'ye düşüyor ama sınır geliştir) */
  .matheme-grid { grid-template-columns: repeat(2, 1fr); }
  /* Subject Birth ve Discourse Wheel zaten 960'te stack'lenir */
  /* Graphe layout zaten 960'te 1col olur */
  /* Hero quickinfo daraltma */
  .hero-quickinfo { gap: 1.2rem; }
}

/* ═══════════════════════════════════════════════════
   MOBILE (768px ↓) — büyük yapısal ayarlar
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  html { font-size: 15px; }
  body { overflow-x: hidden; }
  .wrap { padding: 0 1.4rem; }
  .pad  { padding: 4.5rem 0; }

  /* Hero — kompakt portre, fontlar */
  .hero-center { padding: 7rem 1.4rem 2.5rem; gap: 1rem; }
  .hero-first, .hero-last { font-size: clamp(3rem, 11vw, 4.8rem) !important; }
  .hero-portrait-wrap, .hero-portrait { width: 200px; }
  .hero-portrait { height: 260px; }
  .hero-meta { gap: 1.4rem; flex-wrap: wrap; justify-content: center; }
  .hero-meta-item { min-width: 5.5rem; }
  .hero-quickinfo { gap: .8rem; padding-top: 1.1rem; }
  .qi-item { min-width: 5rem; }
  .qi-val { font-size: .82rem; }
  /* hero-frag dekoratif Fr metinleri mobilde tıkıyor */
  .hero-frag { display: none; }

  /* Section eyebrows + titles */
  .sec-label { font-size: .55rem; letter-spacing: .35em; }
  .sec-title { font-size: clamp(1.9rem, 6.5vw, 2.6rem) !important; }

  /* Mathèmeler: tek sütun, daha sıkı padding */
  .matheme-grid { grid-template-columns: 1fr; gap: 1px; }
  .matheme-card { padding: 1.8rem 1.4rem 1.6rem; }
  .matheme-sym  { font-size: 2rem; margin-bottom: 1rem; }

  /* Glossary: tek sütun, daha az iç boşluk */
  .glossary-list { grid-template-columns: 1fr; gap: 0; }
  .g-item summary { gap: .5rem; flex-wrap: wrap; padding-right: 1.4rem; }
  .g-fr { font-size: .98rem; }
  .g-tr { font-size: .55rem; }

  /* Discourse wheel: ortala, kontrol satırı altta */
  .dw-stage { grid-template-columns: 1fr; gap: 2.4rem; }
  .dw-wheel { max-width: 360px; }
  .dw-matheme { font-size: clamp(2.2rem, 9vw, 3rem) !important; }
  .dw-corner  { font-size: .52rem; letter-spacing: .26em; padding: .4rem .55rem; }
  .dw-controls { justify-content: center; }
  .dw-name { font-size: clamp(1.5rem, 5.5vw, 2rem) !important; }

  /* Graphe du désir: SVG küçült + info paneli alta */
  .graphe-layout { grid-template-columns: 1fr; gap: 2rem; }
  .graphe-stage  { padding: .5rem; }
  .graphe-info   { padding: 1.8rem 1.5rem; }
  .gr-label { font-size: 13px; }

  /* Subject Birth */
  .sb-wrap  { grid-template-columns: 1fr; gap: 2.4rem; }
  .sb-stage { max-width: 320px; }
  .sb-step  { font-size: .98rem; gap: 1rem; }

  /* Möbius / Topology */
  #topology { min-height: 70vh; }
  .topology-overlay { padding: 0 1.4rem; max-width: none; pointer-events: none; }
  .topology-title { font-size: 2.4rem !important; }
  .topology-body  { font-size: .98rem; }

  /* Borromean — daha küçük + info alta */
  .borr-grid { grid-template-columns: 1fr; gap: 2.4rem; }
  #borr3d-stage { width: 300px; height: 300px; }
  .borr-info h3 { font-size: 2.4rem; }

  /* Mirror Stage — daha kompakt */
  #mirror { height: 28vh; min-height: 220px; }
  .mirror-quote { font-size: 1.2rem !important; }

  /* Tunnel + CTA — taşmasın */
  #tunnel { min-height: 60vh; }
  .tunnel-title { font-size: 2.2rem !important; }
  #cta-section { padding: 6rem 1.4rem; }
  .cta-title   { font-size: clamp(2rem, 8vw, 3rem) !important; }

  /* Form — kompakt + iOS auto-zoom önle (input >= 16px) */
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .fgrp input, .fgrp textarea { font-size: 16px; }
  .cf-consent label { font-size: .72rem; }
  .cal-grid    { gap: 2px; }
  .cal-day     { font-size: .8rem; }

  /* Sağ taraftaki side-rail mobilde formu kapatmasın */
  .srail { right: .8rem; padding: .35rem; gap: .35rem; }
  .srail-item { width: 32px; height: 32px; }
  .srail-item svg { width: 13px; height: 13px; }
  .srail-tip { display: none; }

  /* Buton ve link tap-target genişlet (44×44 minimum) */
  a, button, .nav-mob a { min-height: 44px; }
  .btn-sub, .cta-btn, .dw-btn { min-height: 48px; }

  /* Footer */
  .footer-legal { flex-direction: column; gap: .3rem; }
  .footer-legal span { display: none; }

  /* Process zaten 480'de 1col oluyor; süreç ara aşamada 2col */
  .process-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   SMALL MOBILE (480px ↓) — son rötuşlar
═══════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .hero-first, .hero-last { font-size: clamp(3rem, 13vw, 4.2rem) !important; }
  .hero-portrait-wrap, .hero-portrait { width: 200px; }
  .hero-portrait { height: 250px; }
  .hero-eyebrow { font-size: .55rem; letter-spacing: .35em; }
  .hero-meta { gap: 1rem; }
  .hero-meta-lbl, .hero-meta-val { font-size: .7rem; }
  .qi-lbl { font-size: .5rem; }
  .qi-val { font-size: .76rem; }

  .sec-title { font-size: 1.7rem !important; }
  .matheme-sym { font-size: 1.8rem; }
  .dw-wheel { max-width: 300px; }
  .dw-matheme { font-size: 2rem !important; }
  .dw-corner  { font-size: .5rem; padding: .35rem .5rem; }
  .graphe-svg { font-size: 11px; }
  #borr3d-stage { width: 260px; height: 260px; }
  .sb-stage { max-width: 280px; }
  .mirror-quote { font-size: 1.05rem !important; line-height: 1.4 !important; }
  .topology-title { font-size: 2rem !important; }
  .tunnel-title   { font-size: 1.9rem !important; }
  .cta-title      { font-size: 1.9rem !important; }
}

/* ═══════════════════════════════════════════════════
   REDUCED MOTION
═══════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  #smoke-canvas, #hero-canvas, #objeta-canvas,
  #tunnel-canvas, #sparkles-canvas,
  #mobius-stage, #borr3d-stage { display: none !important; }
  #hero { background: var(--hero-bg) !important; }
  .hero-orb { display: none !important; }
}
