/* ─── ФотоДепартамент · общие стили всех страниц ────────────────────────── */
/* Источники:                                                                  */
/*   .hero--left   → project.html (утверждён как "заголовок слева")           */
/*   .hero--center → single-fd_exhibition.php (утверждён как "по центру")     */

@font-face{font-family:'Pragmatica';src:url('/brand/PragmaticaC.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'NT-Somic';src:url('/brand/NT-Somic-VF.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}

:root{--bg:#fff;--ink:#0a0a0a;--muted:#6e6e6e;--hint:#c0c0c0;--line:#e8e8e8;--onest:'Onest','Helvetica Neue',Arial,sans-serif;--body:'Onest','Helvetica Neue',Arial,sans-serif;}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}

/* ── Шапка ──────────────────────────────────────────────────────────────────*/
header{position:sticky;top:0;z-index:30;background:var(--bg);display:flex;justify-content:space-between;align-items:center;padding:18px 44px;transition:padding .2s ease;}
.wordmark-img{height:22px;display:block;transition:height .2s ease;}
header nav a{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
header nav a:hover{color:var(--ink);}
header.compact{padding:10px 44px;}
header.compact .wordmark-img{height:16px;}

/* ── Заголовок СЛЕВА — скопировано дословно из project.html ─────────────────*/
.hero--left{padding:80px 5vw 64px;text-align:left;}
.hero--left .hero-title{font-size:clamp(37px,6vw,82px);line-height:.92;letter-spacing:-.03em;margin-bottom:40px;font-family:var(--onest);font-weight:400;}
.hero--left .hero-title .n{font-weight:400;}
.hero--left .hero-title .em{font-weight:300;font-style:italic;}
.hero--left .hero-subtitle{font-size:clamp(19px,1.9vw,26px);font-weight:300;line-height:1.55;color:var(--muted);}

/* ── Заголовок ПО ЦЕНТРУ — скопировано дословно из single-fd_exhibition.php ─*/
.hero--center{padding:80px 5vw 28px;text-align:center;}
.hero--center .hero-title{font-size:clamp(33px,4.7vw,62px);line-height:1.05;letter-spacing:-.02em;margin-bottom:40px;font-family:'Pragmatica','Helvetica Neue',Arial,sans-serif;font-weight:400;width:100%;}
.hero--center .hero-title .n{font-weight:400;}
.hero--center .hero-title .em{font-weight:300;font-style:italic;}
.hero--center .hero-subtitle{font-size:clamp(22px,2.2vw,31px);letter-spacing:-.02em;color:var(--ink);margin-bottom:0;display:block;font-family:var(--onest);font-weight:400;font-style:normal;}

/* ── Обложка ────────────────────────────────────────────────────────────────*/
.lead-photo{width:100%;max-height:76vh;object-fit:cover;display:block;}
.photo-caption-line{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--hint);padding:14px 5vw;}

/* ── Макет ──────────────────────────────────────────────────────────────────*/
.layout{padding-left:max(44px,18vw);padding-right:5vw;max-width:1600px;}
.main{padding-top:80px;}
.section{margin-bottom:162px;}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
@media(max-width:900px){.meta-grid{grid-template-columns:1fr;gap:40px;}}

/* ── Метки разделов — базовые свойства ──────────────────────────────────────*/
.sec-label{color:var(--ink);display:block;margin-bottom:24px;margin-left:calc(-1 * (max(44px,18vw) - 4vw));font-family:var(--onest);}
.meta-grid .sec-label,.info-col .sec-label{margin-left:0;}

/* Метка крупная — из single-fd_exhibition.php (капслок, 42px) */
body.labels--big .sec-label{font-size:42px;font-weight:500;line-height:.97;letter-spacing:-.01em;text-transform:uppercase;}
body.labels--big .sec-label em{font-style:normal;font-weight:500;}

/* Метка строчная — из project.html (строчные, 20px) */
body.labels--small .sec-label{font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.02em;text-transform:none;}
body.labels--small .sec-label em{font-style:italic;font-weight:300;}

/* ── Текст — из single-fd_exhibition.php ────────────────────────────────────*/
.lede{font-size:clamp(22px,2.4vw,32px);font-family:'NT-Somic','Helvetica Neue',Arial,sans-serif;line-height:1.45;letter-spacing:-.01em;margin-bottom:56px;}
.body-p{font-size:clamp(16px,1.45vw,21px);font-family:var(--body);line-height:1.5;margin-bottom:32px;color:var(--ink);}

/* ── Цитата — из single-fd_exhibition.php ───────────────────────────────────*/
.pull{margin:96px 0 96px calc(-1 * max(44px,18vw));width:100vw;padding:0 8vw;text-align:center;box-sizing:border-box;}
.pull-text{font-size:clamp(26px,3.4vw,49px);font-weight:300;font-style:italic;line-height:1.25;letter-spacing:-.03em;}
.pull-src{font-size:15px;color:var(--muted);margin-top:24px;font-style:normal;}

/* Шрифт цитат — Pragmatica (из выставок, по умолчанию) */
body.pull--pragmatica .pull-text{font-family:'Pragmatica','Helvetica Neue',Arial,sans-serif;}

/* Шрифт цитат — Onest (из project.html): тонкий, курсив, без жирности */
body.pull--onest .pull-text{font-family:var(--onest);font-weight:300;font-style:italic;letter-spacing:-.03em;}

/* ── Lightbox ───────────────────────────────────────────────────────────────*/
.lb{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.96);align-items:center;justify-content:center;flex-direction:column;}
.lb.open{display:flex;}
.lb-img{max-width:90vw;max-height:85vh;object-fit:contain;}
.lb-caption{color:rgba(255,255,255,.75);font-size:13px;letter-spacing:.03em;margin-top:16px;}
.lb-close{position:fixed;top:24px;right:32px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);cursor:pointer;}
.lb-close:hover{color:#fff;}
.lb-counter{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);font-size:11px;color:rgba(255,255,255,.35);}
.lb-arrow{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:20px;color:rgba(255,255,255,.35);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.lb-arrow:hover{color:#fff;}
.lb-prev{left:24px;}.lb-next{right:24px;}

/* ── Шеринг ─────────────────────────────────────────────────────────────────*/
.share-row{padding:40px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.share-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--hint);margin-right:6px;}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;transition:opacity .15s;flex-shrink:0;}
.share-btn:hover{opacity:.45;}
.share-btn svg{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;fill:var(--ink);display:block;flex-shrink:0;}

/* ── Адаптив ────────────────────────────────────────────────────────────────*/
@media(max-width:900px){
  header{padding:14px 20px;}
  .layout{padding-left:20px;padding-right:20px;}
  .hero--left{padding:48px 20px 40px;}
  .hero--center{padding:48px 20px 28px;}
  .hero--left .hero-title{font-size:40px;}
  .hero--center .hero-title{font-size:40px;}
  .sec-label{margin-left:0;font-size:28px;}
  .lede{font-size:22px;}
  .body-p{font-size:19px;}
  .pull{margin-left:-20px;width:100vw;padding:0 24px;}
  .pull-text{font-size:26px;}
}

/* ── Блок участников ────────────────────────────────────────────────────────*/
.fd-participants{margin:40px 0;}
.fd-participants__label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--hint);margin-bottom:24px;}
.fd-participants__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px;}
.fd-person{}
.fd-person__photo{aspect-ratio:1/1;overflow:hidden;background:var(--line);margin-bottom:12px;}
.fd-person__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter .3s,opacity .3s;}
.fd-person__photo:hover img{filter:grayscale(0%);opacity:.85;}
.fd-person__photo--empty{background:#eee;}
.fd-person__name{font-family:var(--onest);font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;}
.fd-person__role{font-size:13px;color:var(--hint);line-height:1.4;}
@media(max-width:900px){
  .fd-participants__grid{grid-template-columns:repeat(2,1fr);gap:24px 16px;}
}
@media(max-width:480px){
  .fd-participants__grid{grid-template-columns:repeat(2,1fr);gap:20px 12px;}
  .fd-person__name{font-size:11px;}
  .fd-person__role{font-size:12px;}
}

/* ── Programme seasons — листинг (полная ширина) ── */
.fd-seasons-index{
  position:relative;
  left:calc(-1 * max(44px,18vw));
  width:calc(100% + max(44px,18vw) + 5vw);
  margin:48px 0;
}
.fsi-row{
  display:flex;align-items:center;gap:24px;
  padding:22px max(44px,18vw) 22px max(44px,18vw);
  border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink);
  transition:background .15s;
}
.fsi-row:first-child{border-top:1px solid var(--line);}
.fsi-row:hover{background:var(--line);}
.fsi-num{font-size:11px;letter-spacing:.08em;color:var(--hint);width:24px;flex-shrink:0;text-align:right;}
.fsi-main{flex:1;min-width:0;}
.fsi-title{display:block;font-size:clamp(18px,2.2vw,30px);font-weight:500;letter-spacing:-.01em;line-height:1.1;}
.fsi-sub{display:block;font-size:13px;color:var(--muted);margin-top:6px;letter-spacing:.02em;}
.fsi-date{font-size:12px;color:var(--hint);letter-spacing:.04em;flex-shrink:0;white-space:nowrap;}
.fsi-arr{flex-shrink:0;color:var(--hint);font-size:18px;transition:transform .15s;}
.fsi-row:hover .fsi-arr{transform:translateX(5px);}
/* Парящая превьюшка при ховере */
.fsi-cursor-img{
  position:fixed;pointer-events:none;z-index:100;
  width:360px;height:240px;
  background:center/cover no-repeat #111;
  opacity:0;transition:opacity .18s;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
}
@media(max-width:900px){.fsi-date{display:none;}.fsi-row{gap:14px;}}
@media(max-width:700px){.fsi-cursor-img{display:none;}}

/* ── Programme seasons — карточки ── */
.fd-seasons-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 28px;
  margin:48px 0;
}
.fsc-card{display:block;text-decoration:none;color:var(--ink);}
.fsc-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--hint);margin-bottom:12px;}
.fsc-photo{
  aspect-ratio:3/2;
  background:center/cover no-repeat var(--line);
  border-radius:8px;
  overflow:hidden;
  margin-bottom:18px;
  transition:opacity .22s;
}
.fsc-card:hover .fsc-photo{opacity:.82;}
.fsc-body{}
.fsc-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--hint);margin-bottom:8px;}
.fsc-title{font-size:clamp(17px,1.6vw,22px);font-weight:500;line-height:1.2;letter-spacing:-.01em;margin-bottom:10px;}
.fsc-lede{font-size:13px;color:var(--muted);line-height:1.55;}
@media(max-width:1100px){.fd-seasons-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){
  .fd-seasons-cards{grid-template-columns:1fr;left:0;width:100%;padding:0;}
  .fsc-title{font-size:20px;}
}

/* ── Video block ── */
.fd-video-wrap{margin:40px 0;}
.fd-video-ratio{position:relative;overflow:hidden;background:#111;margin-right:-5vw;aspect-ratio:16/9;}
.fd-video-ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.fd-video-caption{font-size:12px;color:var(--hint);margin-top:10px;letter-spacing:.03em;}

/* ── Галерея-marquee (блоки gallery scroll на событиях/программах) — как в шаблоне выставки */
.fd-marq-outer{margin:28px calc(-5vw) 0 calc(-1 * max(44px,18vw));overflow-x:auto;scrollbar-width:none;cursor:grab;}
.fd-marq-outer::-webkit-scrollbar{display:none;}
.fd-marq-outer.dragging{cursor:grabbing;}
.fd-marq-track{display:flex;gap:0;width:max-content;}
.fd-marq-item{flex:0 0 auto;width:auto;cursor:pointer;position:relative;}
.fd-marq-imgwrap{height:73vh;min-height:300px;overflow:hidden;position:relative;background:var(--line);}
.fd-marq-imgwrap::after{content:"";position:absolute;inset:auto 0 0 0;height:70px;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 100%);pointer-events:none;}
.fd-marq-imgwrap img{height:100%;width:auto;object-fit:cover;display:block;transition:opacity .22s;}
.fd-marq-item:hover .fd-marq-imgwrap img{opacity:.82;}
.fd-marq-name{position:absolute;bottom:14px;left:16px;right:16px;font-size:11px;font-family:'Onest','Helvetica Neue',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2;}
@media(max-width:760px){.fd-marq-item{width:72vw;}.fd-marq-imgwrap{height:50vh;min-height:240px;}}
