/* DETAIL HERO */
  .detail-hero{position:relative;height:86vh;min-height:600px;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-repeat:no-repeat;}

.detail-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,10,7,0.35) 0%, rgba(12,10,7,0.35) 50%, rgba(10,8,6,0.94) 100%);}

.detail-hero-inner{position:relative;z-index:1;padding:0 48px 64px 140px;max-width:900px;}

.detail-hero .mono-label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:18px;}

.detail-hero .project-logo{height:40px;max-width:220px;width:auto;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:0.96;margin-bottom:22px;}

@media(max-width:768px){.detail-hero .project-logo{height:32px;margin-bottom:16px;}}

.project-site-link{display:inline-flex;align-items:center;gap:9px;margin-top:26px;font-family:'Space Mono',monospace;
    font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-decoration:none;
    background:rgba(10,8,6,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,0.35);padding:13px 20px;border-radius:2px;
    transition:border-color .3s ease,color .3s ease,background .3s ease;}

/* STICKY PREV/NEXT BAR — the hero has its own prev/next arrows, but they
     scroll out of view with the hero itself. This bar picks up once the
     hero is gone and steps aside (hides) once the closing CTA band arrives,
     via JS toggling .visible based on both — see main.js. */
  .project-nav-bar{position:fixed;left:0;right:0;bottom:0;z-index:140;background:rgba(21,18,14,0.96);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:2px solid rgba(200,149,90,0.55);
    display:flex;align-items:center;justify-content:space-between;padding:16px 48px;
    will-change:transform;pointer-events:none;}

.project-nav-bar.visible{pointer-events:auto;}

.pnb-link{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;}

.pnb-next{text-align:right;}

.pnb-arrow{width:15px;height:15px;flex-shrink:0;color:var(--gold);}

.pnb-text{min-width:0;}

.pnb-label{display:block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1.5px;
    text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:3px;}

.pnb-name{display:block;font-family:'Fraunces',serif;font-size:15px;color:#fff;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;max-width:220px;}

.pnb-link:hover .pnb-name{color:var(--gold);}

.pnb-all{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
    color:rgba(255,255,255,0.65);text-decoration:none;border:1px solid rgba(255,255,255,0.25);
    padding:9px 18px;border-radius:2px;flex-shrink:0;transition:border-color .3s ease,color .3s ease;}

.pnb-all:hover{color:#fff;border-color:var(--gold);}

@media(max-width:700px){
    .project-nav-bar{padding:13px 18px;gap:10px;}
    .pnb-all{padding:7px 12px;font-size:9px;}
    .pnb-all-full{display:none;}
    .pnb-name{font-size:13px;max-width:120px;}
    .pnb-label{font-size:8px;}
    .pnb-link{gap:8px;}
  }

.project-site-link svg{width:13px;height:13px;flex-shrink:0;}

.project-site-link:hover{border-color:var(--gold);color:var(--gold);background:rgba(10,8,6,0.75);}

@media(max-width:768px){.project-site-link{margin-top:18px;font-size:10px;padding:11px 16px;}}

.detail-hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(42px,7vw,76px);color:#fff;line-height:1.02;margin-bottom:14px;}

.detail-hero p{font-size:15px;color:rgba(255,255,255,0.8);}

/* DOSSIER */
  .dossier{background:var(--night-2);padding:40px 48px;}

.dossier-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px 48px;}

.dossier-item{min-width:0;}

.dossier-item .k{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1.5px;color:#8f8672;text-transform:uppercase;margin-bottom:7px;}

.dossier-item .v{font-family:'Fraunces',serif;font-size:19px;color:#f0e9db;}

.dossier-item .v.pending{font-family:'Inter',sans-serif;font-size:12.5px;color:#7c7460;font-style:italic;}

/* DETAIL OVERVIEW */
  .detail-overview{padding:90px 48px;}

/* GALLERY */
  .gallery-section{background:var(--paper-warm);padding:90px 48px 180px;}

.gallery-grid{max-width:1180px;margin:44px auto 0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px;grid-auto-flow:dense;}

.gallery-grid .g-item.tall{grid-row:span 2;height:100%;}

.gallery-grid .g-item.hidden{display:none;}

/* GALLERY FILTER PILLS */
  .gallery-filters{display:flex;gap:10px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:0;}

.gallery-filters button{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;
    background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:9px 18px;border-radius:20px;cursor:pointer;transition:all .25s ease;}

.gallery-filters button:hover{border-color:var(--clay);color:var(--clay);}

.gallery-filters button.active{background:var(--clay);border-color:var(--clay);color:#fff;}

/* PREV/NEXT */
  .project-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.project-nav-inner{max-width:1180px;margin:0 auto;display:flex;}

.project-nav a{flex:1;padding:36px 48px;text-decoration:none;color:var(--ink);transition:background .3s ease;}

.project-nav a:first-child{border-right:1px solid var(--line);}

.project-nav a:hover{background:var(--paper-warm);}

.hero-nav.prev{left:0;background:linear-gradient(90deg, rgba(10,8,6,0.4) 0%, transparent 100%);flex-direction:column-reverse;}

.hero-nav.next{right:0;background:linear-gradient(270deg, rgba(10,8,6,0.4) 0%, transparent 100%);flex-direction:column-reverse;}

.hero-nav:hover{background-color:rgba(10,8,6,0.55);}

.hero-nav-vert{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;gap:16px;opacity:0.6;transition:opacity .35s ease;}

.hero-nav.prev .hero-nav-vert{transform:rotate(180deg);}

.hero-nav:hover .hero-nav-vert{opacity:1;}

.hero-nav-vert-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);white-space:nowrap;}

.hero-nav-vert-name{font-family:'Fraunces',serif;font-size:17px;color:#fff;white-space:nowrap;}

.hero-nav-arrow{width:18px;height:18px;flex-shrink:0;opacity:0.55;transition:opacity .3s ease;}

.hero-nav:hover .hero-nav-arrow{opacity:1;}

.section-jump.visible{transform:translateY(0);opacity:1;pointer-events:auto;}

.section-jump a{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(21,18,14,0.6);
    text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease;}

.section-jump a:hover{color:var(--night);}

.section-jump a.active{color:var(--night);border-bottom-color:var(--night);font-weight:700;}

@media(max-width:768px){.dossier{padding:32px 24px;}.dossier-grid{gap:24px 32px;grid-template-columns:repeat(2,1fr);}}

@media(max-width:768px){.detail-overview{padding:56px 24px;}}

@media(max-width:768px){.gallery-section{padding:56px 24px 130px;}}

@media(max-width:820px){.gallery-grid{grid-template-columns:1fr 1fr;}.gallery-grid .g-item.tall{grid-row:span 1;height:260px;}}

@media(max-width:540px){.gallery-grid{grid-template-columns:1fr;}}