/* =========================================================================
   BAHADIR KUYUCU — REDESIGN  ·  "Editorial Cinema"
   Shared stylesheet for the new (prototype) front-end.
   ========================================================================= */

/* ============================ TOKENS ============================ */
:root{
  --ink:#0b0a09;
  --ink-2:#131110;
  --ink-3:#1b1815;
  --bone:#efe8db;
  --bone-dim:#cfc7b8;
  --fog:#8f877b;
  --line:rgba(239,232,219,.13);
  --gold:#c8a35b;
  --oxblood:#c0402f;
  --accent:var(--gold);
  --shadow:0 30px 80px -30px rgba(0,0,0,.8);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.76,0,.24,1);
  --pad:clamp(20px,5vw,80px);
}
html[data-accent="oxblood"]{ --accent:var(--oxblood); }

*{ margin:0; padding:0; box-sizing:border-box; }
html{ background:var(--ink); -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  font-family:"Archivo",system-ui,sans-serif;
  color:var(--bone);
  background:var(--ink);
  line-height:1.5;
  overflow-x:clip;
  max-width:100%;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
body.lock{ overflow:hidden; height:100vh; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
::selection{ background:var(--accent); color:var(--ink); }

html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

.serif{ font-family:"Bodoni Moda",Georgia,serif; }
.mono{ font-family:"Space Mono",monospace; }
.eyebrow{
  font-family:"Space Mono",monospace;
  font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--fog);
}
.accentx{ color:var(--accent); }

/* ============================ ATMOSPHERE ============================ */
.grain{
  position:fixed; top:-25%; left:-25%; width:150%; height:150%; z-index:400; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  opacity:.05; mix-blend-mode:overlay; will-change:transform;
  animation:grain 7s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)} 10%{transform:translate(-5%,-8%)}
  30%{transform:translate(3%,-12%)} 50%{transform:translate(-4%,6%)}
  70%{transform:translate(6%,3%)} 90%{transform:translate(-3%,8%)} 100%{transform:translate(0,0)}
}
.vignette{
  position:fixed; inset:0; z-index:401; pointer-events:none;
  background:radial-gradient(120% 120% at 50% 45%, transparent 55%, rgba(0,0,0,.55) 100%);
}

/* reticle cursor */
.cursor{
  position:fixed; top:0; left:0; z-index:10000; pointer-events:none;
  width:22px; height:22px; margin:-11px 0 0 -11px;
  mix-blend-mode:difference;
  transition:width .35s var(--ease),height .35s var(--ease),opacity .3s;
  opacity:0;
}
.cursor::before,.cursor::after{ content:""; position:absolute; background:#fff; }
.cursor::before{ left:50%; top:0; width:1px; height:100%; transform:translateX(-.5px); }
.cursor::after{ top:50%; left:0; height:1px; width:100%; transform:translateY(-.5px); }
.cursor .ring{ position:absolute; inset:0; border:1px solid #fff; border-radius:50%; transition:inherit; }
.cursor .txt{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.6);
  font-family:"Space Mono",monospace; font-size:9px; letter-spacing:.2em; color:#fff;
  opacity:0; text-transform:uppercase; transition:opacity .3s,transform .3s;
}
.cursor.hover{ width:96px; height:96px; margin:-48px 0 0 -48px; }
.cursor.hover .txt{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.cursor.down{ transform:scale(.85); }
@media (hover:none){ .cursor{ display:none; } }

/* ============================ LOADER ============================ */
.loader{
  position:fixed; inset:0; z-index:11000; background:var(--ink);
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:var(--pad); overflow:hidden;
}
.loader .l-name{
  font-family:"Bodoni Moda",serif; font-weight:500;
  font-size:clamp(38px,11vw,150px); line-height:.9; letter-spacing:-.01em;
  color:var(--bone); overflow:hidden;
}
.loader .l-name span{ display:block; transform:translateY(110%); }
.loader .l-count{ font-family:"Space Mono",monospace; font-size:clamp(28px,6vw,64px); color:var(--accent); }
.loader .l-bar{ position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--accent); }
html.loaded .loader{ transform:translateY(-100%); transition:transform 1s var(--ease-in-out) .1s; }

/* ============================ HEADER ============================ */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px var(--pad); mix-blend-mode:difference; color:#fff;
}
.hdr .mark{ font-family:"Bodoni Moda",serif; font-weight:600; font-size:22px; letter-spacing:.02em; }
.hdr .mark b{ color:#fff; }
.hdr nav{ display:flex; gap:34px; align-items:center; }
.hdr nav a{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; position:relative; padding:4px 0; }
.hdr nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:#fff; transition:width .4s var(--ease);
}
.hdr nav a:hover::after,.hdr nav a.active::after{ width:100%; }
.hdr .idx{ font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; opacity:.75; }
.burger{ display:none; width:34px; height:14px; position:relative; cursor:pointer; }
.burger span{ position:absolute; left:0; width:100%; height:1.5px; background:#fff; transition:.4s var(--ease); }
.burger span:nth-child(1){ top:0; } .burger span:nth-child(2){ bottom:0; }
@media (max-width:820px){
  .hdr nav.desktop{ display:none; }
  .burger{ display:block; }
}

/* fullscreen menu */
.menu{
  position:fixed; inset:0; z-index:9000; background:var(--ink-2);
  clip-path:inset(0 0 100% 0); transition:clip-path .8s var(--ease-in-out);
  display:flex; flex-direction:column; justify-content:center; padding:var(--pad);
  overflow:hidden; max-width:100vw;
}
.menu.open{ clip-path:inset(0 0 0 0); }
.menu-close{
  position:absolute; top:20px; right:var(--pad); z-index:2;
  width:44px; height:44px; background:none; border:0; cursor:pointer;
  opacity:0; transform:rotate(-45deg) scale(.6); transition:opacity .5s var(--ease) .25s, transform .6s var(--ease) .25s;
}
.menu.open .menu-close{ opacity:1; transform:rotate(0) scale(1); }
.menu-close span{ position:absolute; top:50%; left:50%; width:26px; height:1.5px; background:var(--bone); transition:background .3s; }
.menu-close span:nth-child(1){ transform:translate(-50%,-50%) rotate(45deg); }
.menu-close span:nth-child(2){ transform:translate(-50%,-50%) rotate(-45deg); }
.menu-close:hover span{ background:var(--accent); }
.menu ol{ list-style:none; }
.menu li{ overflow:hidden; }
.menu li a{
  font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(44px,13vw,120px);
  line-height:1.02; display:inline-block; color:var(--bone); max-width:100%;
  transform:translateY(110%); transition:transform .8s var(--ease-in-out), color .4s;
}
.menu.open li a{ transform:translateY(0); }
.menu li a:hover,.menu li a.active{ color:var(--accent); font-style:italic; }
.menu li .mn{ font-family:"Space Mono",monospace; font-size:12px; color:var(--fog); vertical-align:super; margin-right:14px; }
.menu .m-foot{ position:absolute; left:var(--pad); right:var(--pad); bottom:var(--pad);
  display:flex; justify-content:space-between; gap:20px; color:var(--fog); font-size:12px; letter-spacing:.1em; flex-wrap:wrap; }
.menu .m-foot a:hover{ color:var(--accent); }

/* ============================ HERO (home) ============================ */
.hero{ position:relative; height:100svh; min-height:600px; overflow:hidden; background:var(--ink); }
.hero-slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.2s var(--ease), visibility 1.2s; }
.hero-slide.active{ opacity:1; visibility:visible; }
.hero-slide .ph{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.12); transition:transform 7s ease-out; }
.hero-slide.active .ph{ transform:scale(1); }
.hero-slide .shade{ position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(11,10,9,.45) 0%,rgba(11,10,9,.05) 30%,rgba(11,10,9,.35) 65%,rgba(11,10,9,.92) 100%); }
.hero-inner{ position:absolute; left:0; right:0; bottom:0; z-index:5;
  padding:0 var(--pad) clamp(40px,7vh,90px);
  display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.hero-cap{ max-width:min(90vw,900px); }
.hero-meta{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.hero-meta .rule{ width:60px; height:1px; background:var(--accent); }
.hero-title{ font-family:"Bodoni Moda",serif; font-weight:500;
  font-size:clamp(44px,8.5vw,132px); line-height:.94; letter-spacing:-.01em; color:#fff; }
.hero-title .word{ display:inline-block; overflow:hidden; vertical-align:top; }
.hero-title .word i{ display:inline-block; font-style:normal; transform:translateY(105%); }
.hero-sub{ margin-top:22px; display:flex; align-items:center; gap:14px; color:var(--bone-dim); font-size:14px; letter-spacing:.04em; }
.hero-sub .dot{ width:5px; height:5px; border-radius:50%; background:var(--accent); }
.hero-nav{ display:flex; align-items:center; gap:22px; }
.hero-nav button{ background:none; border:0; color:#fff; cursor:pointer; font-family:"Space Mono",monospace;
  font-size:13px; letter-spacing:.1em; display:flex; align-items:center; gap:10px; padding:8px 0; opacity:.8; transition:opacity .3s; }
.hero-nav button:hover{ opacity:1; }
.hero-nav .arw{ width:34px; height:1px; background:currentColor; position:relative; display:inline-block; }
.hero-count{ font-family:"Space Mono",monospace; font-size:13px; color:#fff; letter-spacing:.1em; }
.hero-count b{ color:var(--accent); font-weight:400; }
.hero-progress{ position:absolute; left:var(--pad); right:var(--pad); bottom:26px; height:1px; background:rgba(255,255,255,.18); z-index:5; }
.hero-progress i{ display:block; height:100%; width:0; background:var(--accent); }
.scroll-cue{ position:absolute; left:50%; bottom:16px; transform:translateX(-50%); z-index:6;
  font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.3em; color:var(--bone-dim);
  writing-mode:vertical-rl; text-transform:uppercase; }
@media (max-width:820px){
  .hero-inner{ flex-direction:column; align-items:flex-start; }
  .hero-nav,.scroll-cue{ display:none; }
}

/* ============================ SECTION SHELL ============================ */
.section{ padding:clamp(80px,12vh,170px) var(--pad); position:relative; }
.sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:60px; flex-wrap:wrap; }
.sec-head h2{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(30px,5vw,64px); line-height:1; letter-spacing:-.01em; }
.sec-head .rt{ text-align:right; color:var(--fog); }

/* reveal primitives */
.js .reveal{ opacity:0; transform:translateY(30px); }
.js .clip{ clip-path:inset(0 0 100% 0); }

/* ============================ PAGE HERO (inner pages) ============================ */
.page-hero{ padding:calc(var(--pad) + 96px) var(--pad) clamp(30px,6vh,70px); position:relative; }
.page-hero .ph-eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.page-hero .ph-eyebrow .rule{ width:54px; height:1px; background:var(--accent); }
.page-hero h1{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(46px,10vw,150px);
  line-height:.9; letter-spacing:-.015em; }
.page-hero h1 em{ font-style:italic; color:var(--accent); }
.page-hero .ph-sub{ margin-top:26px; max-width:52ch; color:var(--bone-dim); font-size:clamp(15px,1.6vw,19px); }
.page-hero .ph-meta{ margin-top:26px; display:flex; gap:34px; flex-wrap:wrap; }
.page-hero .ph-meta .m b{ font-family:"Bodoni Moda",serif; font-size:26px; display:block; }
.page-hero .ph-meta .m span{ font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.16em; color:var(--fog); text-transform:uppercase; }

/* ============================ WORK WALL ============================ */
.wall{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(14px,2vw,34px); }
.work{ position:relative; grid-column:span 6; min-width:0; }
.work.tall{ grid-row:span 2; }
.work:nth-child(6n+1){ grid-column:span 7; }
.work:nth-child(6n+2){ grid-column:span 5; }
.work:nth-child(6n+3){ grid-column:span 5; }
.work:nth-child(6n+4){ grid-column:span 7; }
.work:nth-child(6n+5){ grid-column:span 6; }
.work:nth-child(6n+6){ grid-column:span 6; }
.work .frame{ position:relative; overflow:hidden; background:var(--ink-2); aspect-ratio:4/5; }
.work.wide .frame{ aspect-ratio:16/11; }
.work .frame img{ width:100%; height:100%; object-fit:cover;
  transform:scale(1.02); transition:transform 1.1s var(--ease), filter 1.1s var(--ease); filter:grayscale(.2) contrast(1.02); }
.work:hover .frame img{ transform:scale(1.07); filter:grayscale(0) contrast(1.03); }
.work .no{ position:absolute; top:14px; left:14px; z-index:3; font-family:"Space Mono",monospace;
  font-size:11px; letter-spacing:.14em; color:#fff; mix-blend-mode:difference; }
.work .plus{ position:absolute; top:14px; right:16px; z-index:3; color:#fff; mix-blend-mode:difference; font-size:16px;
  opacity:0; transform:rotate(-90deg); transition:.5s var(--ease); }
.work:hover .plus{ opacity:1; transform:rotate(0); }
.work .cap{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:16px 2px 0; }
.work .cap h3{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(17px,1.9vw,26px); line-height:1.05; transition:color .4s; }
.work:hover .cap h3{ color:var(--accent); }
.work .cap .c{ font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.16em; color:var(--fog); text-transform:uppercase; white-space:nowrap; }

/* uniform variant (portfolio / video) — safe for filtering */
.wall.grid-uniform{ grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,28px); }
.wall.grid-uniform .work,
.wall.grid-uniform .work:nth-child(n){ grid-column:span 1; grid-row:auto; }
.wall.grid-uniform .work .frame{ aspect-ratio:4/5; }
.work.hide{ display:none; }

@media (max-width:820px){
  .wall{ grid-template-columns:repeat(2,1fr); gap:12px 12px; }
  .work,.work:nth-child(6n+1),.work:nth-child(6n+2),.work:nth-child(6n+3),
  .work:nth-child(6n+4),.work:nth-child(6n+5),.work:nth-child(6n+6){ grid-column:span 1; }
  .work.tall{ grid-row:span 1; }
  .work.wide .frame{ aspect-ratio:4/5; }
  .work .cap{ flex-direction:column; align-items:flex-start; gap:5px; padding-top:12px; }
  .work .cap .c{ white-space:normal; }
  .wall.grid-uniform{ grid-template-columns:repeat(2,1fr); }
}

.wall-more{ margin-top:64px; text-align:center; }
.btn-line{
  display:inline-flex; align-items:center; gap:16px; font-family:"Space Mono",monospace;
  font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--bone);
  padding:20px 40px; border:1px solid var(--line); border-radius:100px; transition:.5s var(--ease); cursor:pointer; background:none;
}
.btn-line:hover{ border-color:var(--accent); color:var(--accent); letter-spacing:.24em; }

/* ============================ FILTER BAR ============================ */
.filter-bar{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:50px; }
.filter-bar button{
  font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fog); background:none; border:1px solid var(--line); padding:12px 22px; border-radius:100px; cursor:pointer;
  transition:.4s var(--ease);
}
.filter-bar button:hover{ color:var(--bone); border-color:var(--bone-dim); }
.filter-bar button.on{ color:var(--ink); background:var(--accent); border-color:var(--accent); }

/* ============================ MARQUEE ============================ */
.marquee{ padding:clamp(50px,9vh,120px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.marquee .track{ display:flex; gap:0; white-space:nowrap; width:max-content; animation:march 32s linear infinite; }
.marquee .track span{ font-family:"Bodoni Moda",serif; font-weight:500; font-style:italic;
  font-size:clamp(38px,9vw,120px); line-height:1; padding:0 .4em; color:var(--bone); }
.marquee .track span em{ -webkit-text-stroke:1px var(--accent); font-style:normal; color:transparent; }
@keyframes march{ to{ transform:translateX(-50%); } }
.marquee:hover .track{ animation-play-state:paused; }

/* ============================ ABOUT ============================ */
.about{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,6vw,90px); align-items:center; }
.about .txt h2{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(28px,4.4vw,56px); line-height:1.05; margin:18px 0 26px; }
.about .txt p{ color:var(--bone-dim); font-size:clamp(15px,1.5vw,18px); max-width:46ch; margin-bottom:22px; }
.about .sign img{ width:170px; opacity:.9; filter:invert(1) brightness(1.4); }
.about .portrait{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--ink-2); }
.about .portrait img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.15); }
.about .stats{ display:flex; gap:40px; margin-top:34px; flex-wrap:wrap; }
.about .stats .s b{ font-family:"Bodoni Moda",serif; font-size:36px; display:block; }
.about .stats .s span{ font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.16em; color:var(--fog); text-transform:uppercase; }
@media (max-width:820px){ .about{ grid-template-columns:1fr; } .about .portrait{ order:-1; } }

/* disciplines list (about page) */
.disciplines{ list-style:none; margin-top:10px; border-top:1px solid var(--line); }
.disciplines li{ display:flex; align-items:baseline; gap:18px; padding:20px 2px; border-bottom:1px solid var(--line); }
.disciplines li .n{ font-family:"Space Mono",monospace; font-size:11px; color:var(--fog); }
.disciplines li .t{ font-family:"Bodoni Moda",serif; font-size:clamp(22px,3vw,38px); font-weight:500; }
.disciplines li .d{ margin-left:auto; color:var(--fog); font-size:13px; max-width:34ch; text-align:right; }
@media (max-width:640px){ .disciplines li .d{ display:none; } }

/* ============================ DETAIL ============================ */
.detail{ padding:0 var(--pad) clamp(60px,10vh,140px); display:grid;
  grid-template-columns:320px 1fr; gap:clamp(30px,5vw,80px); align-items:start; }
.detail .info{ position:sticky; top:110px; }
.detail .info .sep{ width:50px; height:1px; background:var(--accent); margin:22px 0; }
.detail .info h1{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(30px,4vw,52px); line-height:1; }
.detail .info .cat{ font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.18em; color:var(--accent); text-transform:uppercase; margin-top:14px; display:block; }
.detail .info .desc{ color:var(--bone-dim); font-size:15px; margin:6px 0 26px; }
.detail .info .meta{ list-style:none; }
.detail .info .meta li{ display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-top:1px solid var(--line);
  font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.08em; color:var(--fog); text-transform:uppercase; }
.detail .info .meta li b{ color:var(--bone); font-weight:400; }
.detail .info .back{ margin-top:30px; display:inline-flex; gap:12px; align-items:center;
  font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--bone); }
.detail .info .back:hover{ color:var(--accent); }
.detail .gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(12px,1.6vw,24px); }
.detail .gallery .gitem{ position:relative; overflow:hidden; background:var(--ink-2); cursor:pointer; grid-column:span 1; }
.detail .gallery .gitem.full{ grid-column:span 2; }
.detail .gallery .gitem img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1.2s var(--ease), filter .8s; filter:grayscale(.12); }
.detail .gallery .gitem:hover img{ transform:scale(1.05); filter:grayscale(0); }
.detail .gallery .gitem .exp{ position:absolute; bottom:14px; right:14px; color:#fff; mix-blend-mode:difference;
  font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.16em; opacity:0; transition:.4s var(--ease); }
.detail .gallery .gitem:hover .exp{ opacity:1; }
@media (max-width:900px){
  .detail{ grid-template-columns:1fr; }
  .detail .info{ position:static; }
}
@media (max-width:560px){
  .detail .gallery{ grid-template-columns:1fr; }
  .detail .gallery .gitem.full{ grid-column:span 1; }
}

/* next project strip */
.next-project{ border-top:1px solid var(--line); padding:clamp(50px,9vh,110px) var(--pad); text-align:center; }
.next-project .lbl{ margin-bottom:20px; }
.next-project a{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(34px,7vw,96px); line-height:.95; color:var(--bone); transition:color .5s; }
.next-project a:hover{ color:var(--accent); font-style:italic; }

/* ============================ VIDEO ============================ */
.video-item .frame{ aspect-ratio:16/10; }
.video-item .play{ position:absolute; inset:0; display:grid; place-items:center; z-index:3; }
.video-item .play i{ width:64px; height:64px; border:1px solid rgba(255,255,255,.7); border-radius:50%;
  display:grid; place-items:center; transition:.4s var(--ease); backdrop-filter:blur(2px); }
.video-item .play i::after{ content:""; border-left:14px solid #fff; border-top:9px solid transparent; border-bottom:9px solid transparent; margin-left:4px; }
.video-item:hover .play i{ background:var(--accent); border-color:var(--accent); transform:scale(1.1); }
.video-item:hover .play i::after{ border-left-color:var(--ink); }

.yt-modal{ position:fixed; inset:0; z-index:12000; background:rgba(6,5,5,.94); display:none;
  align-items:center; justify-content:center; padding:var(--pad); opacity:0; transition:opacity .4s; }
.yt-modal.open{ display:flex; opacity:1; }
.yt-modal .box{ width:min(1100px,100%); aspect-ratio:16/9; background:#000; position:relative; box-shadow:var(--shadow); }
.yt-modal iframe{ width:100%; height:100%; border:0; }
.yt-modal .close{ position:absolute; top:-46px; right:0; background:none; border:0; color:var(--bone); cursor:pointer;
  font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.yt-modal .close:hover{ color:var(--accent); }

/* ============================ LIGHTBOX ============================ */
.lightbox{ position:fixed; inset:0; z-index:12000; background:rgba(6,5,5,.96); display:none;
  align-items:center; justify-content:center; opacity:0; transition:opacity .35s; }
.lightbox.open{ display:flex; opacity:1; }
.lightbox img{ max-width:92vw; max-height:86vh; object-fit:contain; box-shadow:var(--shadow); }
.lightbox .lb-close{ position:absolute; top:24px; right:var(--pad); width:44px; height:44px; background:none; border:0; cursor:pointer; }
.lightbox .lb-close::before,.lightbox .lb-close::after{ content:""; position:absolute; top:50%; left:50%; width:26px; height:1.5px; background:var(--bone); }
.lightbox .lb-close::before{ transform:translate(-50%,-50%) rotate(45deg); }
.lightbox .lb-close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.lightbox .lb-nav{ position:absolute; top:50%; transform:translateY(-50%); background:none; border:0; color:var(--bone); cursor:pointer;
  font-size:34px; padding:20px; opacity:.6; transition:opacity .3s; font-family:"Bodoni Moda",serif; }
.lightbox .lb-nav:hover{ opacity:1; color:var(--accent); }
.lightbox .lb-prev{ left:6px; } .lightbox .lb-next{ right:6px; }
.lightbox .lb-count{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; color:var(--fog); }

/* ============================ CONTACT ============================ */
.contact-wrap{ padding:0 var(--pad) clamp(60px,10vh,140px); display:grid;
  grid-template-columns:.85fr 1.15fr; gap:clamp(34px,6vw,100px); align-items:start; }
.contact-info{ list-style:none; }
.contact-info li{ padding:20px 0; border-top:1px solid var(--line); }
.contact-info li .k{ font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.18em; color:var(--fog); text-transform:uppercase; display:block; margin-bottom:8px; }
.contact-info li .v{ font-size:clamp(15px,1.7vw,19px); color:var(--bone); }
.contact-info li .v:hover{ color:var(--accent); }
.contact-socials{ display:flex; gap:24px; margin-top:30px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fog); }
.contact-socials a:hover{ color:var(--accent); }

.form-note{ font-size:15px; margin-bottom:26px; padding:16px 20px; border:1px solid var(--line); border-radius:4px; }
.form-note.ok{ color:var(--bone); border-color:var(--accent); }
.form-note.err{ color:#e78; border-color:rgba(230,120,120,.4); }
.cform{ display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.cfield{ position:relative; grid-column:span 1; margin-bottom:34px; }
.cfield.full{ grid-column:1 / -1; }
.cfield label{ position:absolute; left:0; top:14px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.06em;
  color:var(--fog); pointer-events:none; transition:.3s var(--ease); text-transform:uppercase; }
.cfield input,.cfield textarea{
  width:100%; background:none; border:0; border-bottom:1px solid var(--line); color:var(--bone);
  font-family:"Archivo",sans-serif; font-size:16px; padding:14px 0; transition:border-color .4s; resize:none;
}
.cfield textarea{ min-height:120px; }
.cfield input:focus,.cfield textarea:focus{ outline:none; border-color:var(--accent); }
.cfield input:focus + label,.cfield textarea:focus + label,
.cfield input:not(:placeholder-shown) + label,.cfield textarea:not(:placeholder-shown) + label{
  top:-14px; font-size:10px; color:var(--accent); letter-spacing:.14em;
}
.cform .submit{ grid-column:1 / -1; margin-top:6px; }
.cform button{
  font-family:"Space Mono",monospace; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--bone);
  background:none; border:1px solid var(--line); padding:20px 46px; border-radius:100px; cursor:pointer; transition:.5s var(--ease);
}
.cform button:hover{ border-color:var(--accent); color:var(--accent); letter-spacing:.24em; }
@media (max-width:900px){ .contact-wrap{ grid-template-columns:1fr; } }
@media (max-width:560px){ .cform{ grid-template-columns:1fr; } }

/* ============================ CTA ============================ */
.cta{ text-align:center; padding:clamp(90px,16vh,220px) var(--pad); position:relative; }
.cta .lbl{ margin-bottom:26px; }
.cta a.big{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(48px,13vw,190px);
  line-height:.9; letter-spacing:-.01em; color:var(--bone); display:inline-block; position:relative; transition:color .5s; }
.cta a.big:hover{ color:var(--accent); font-style:italic; }
.cta .mailx{ margin-top:40px; font-family:"Space Mono",monospace; font-size:clamp(13px,1.6vw,16px); letter-spacing:.1em; color:var(--fog); }
.cta .mailx a:hover{ color:var(--accent); }

/* ============================ FOOTER ============================ */
.ftr{ padding:40px var(--pad); border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; color:var(--fog); }
.ftr a:hover{ color:var(--accent); }
.ftr .soc{ display:flex; gap:22px; }

/* ============================ REDUCED MOTION ============================ */
@media (prefers-reduced-motion:reduce){
  .grain{ animation:none; }
  .marquee .track{ animation:none; }
  .hero-slide .ph{ transition:none; transform:scale(1); }
  .js .reveal{ opacity:1; transform:none; }
  .js .clip{ clip-path:none; }
  *{ scroll-behavior:auto !important; }
}
