/* Project photography and editorial layout, scoped to the case template. */
@supports (overflow:clip) {
 .nll-case-page {overflow-x:clip;overflow-y:visible}
}
.nll-case-page {--case-paper:#f5ecd8;--case-muted:#c9bda7;--case-line:#594a31;--case-surface:#171510;--case-gold:#e7c65a}
.nll-case-page .nll-case-media {padding:clamp(2.5rem,6vw,5rem) 0;scroll-margin-top:5.5rem}
.nll-case-page .nll-case-media>.container {width:min(calc(100% - 2rem),1200px);max-width:none;padding-inline:0}
.nll-case-page :is(.nll-case-media,.nll-case-overview,.nll-case-story,.nll-case-related) .section-title {text-align:left;margin:0;max-width:24ch}
.nll-case-page :is(.nll-case-media,.nll-case-overview) .section-divider {display:none}
.nll-case-page .nll-case-media .text-content {max-width:100%}
.nll-case-page .nll-case-media .text-content>p {max-width:68ch}
.nll-case-eyebrow {color:var(--case-gold);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;margin:0 0 .65rem}

.nll-case-page .nll-case-photos {display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);margin-top:1.35rem}
.nll-case-page figure.nll-case-photo {margin:0!important;max-width:none!important;background:var(--case-surface);border:1px solid var(--case-line);border-radius:clamp(.9rem,2vw,1.5rem);overflow:hidden}
.nll-case-photo-link {display:block;position:relative;background:#12110e;color:var(--case-paper);text-decoration:none}
.nll-case-page figure.nll-case-photo picture {display:block}
.nll-case-page figure.nll-case-photo img {display:block;width:100%;height:auto;object-fit:contain;border:0!important;border-radius:0!important}
.nll-case-page .nll-case-photo figcaption {padding:.9rem clamp(.9rem,2vw,1.35rem);color:var(--case-muted);font-size:clamp(.86rem,1.2vw,.98rem);line-height:1.5;text-align:left}
.nll-case-open {position:absolute;right:.65rem;top:.65rem;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#17140fee;color:var(--case-paper);box-shadow:0 0 0 1px #7d683e;transition:transform .18s ease}
.nll-case-photo-link:hover .nll-case-open,.nll-case-photo-link:focus-visible .nll-case-open {transform:scale(1.08)}
.nll-case-photo-link:focus-visible,.nll-case-dialog button:focus-visible,.nll-case-reel-bar button:focus-visible,.nll-case-related li a:focus-visible {outline:3px solid #f4d879;outline-offset:-4px}
.nll-case-page .nll-case-media .nll-ba {max-width:none;width:100%}
.nll-case-page .nll-case-media figure:has(.nll-ba) {max-width:none!important;width:100%}

.nll-case-page .nll-case-reel {display:block;height:calc(var(--case-stage-height, 600px) + var(--case-travel, 0px));overflow-anchor:none}
.nll-case-reel-stage {position:sticky;top:clamp(96px,11svh,110px)}
.nll-case-reel-frames {position:relative;height:clamp(300px,64svh,680px);isolation:isolate;perspective:1100px}
.nll-case-page .nll-case-reel-frames figure {position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;visibility:hidden}
.nll-case-page .nll-case-reel-frames figure.is-active {visibility:visible}
.nll-case-reel-frames .nll-case-photo-link {min-height:0;overflow:hidden}
.nll-case-page .nll-case-reel-frames figure picture,.nll-case-page .nll-case-reel-frames figure img {width:100%;height:100%}
.nll-case-page .nll-case-reel-frames figure[data-fit="landscape"] img {object-fit:cover;object-position:50% 36%}
.nll-case-page .nll-case-reel-frames figure.is-turning .nll-case-photo-link {animation:nll-case-turn .42s cubic-bezier(.2,.72,.26,1) both}
@keyframes nll-case-turn {
  from {opacity:.46;transform:perspective(1000px) rotateY(var(--case-turn,-11deg)) translateX(var(--case-slide,10px)) scale(.985)}
  to {opacity:1;transform:perspective(1000px) rotateY(0) translateX(0) scale(1)}
}
.nll-case-reel-bar {display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0 0;color:var(--case-muted)}
.nll-case-reel-note {font-size:.77rem;letter-spacing:.045em}
.nll-case-reel-controls {display:flex;gap:.45rem;flex:none}
.nll-case-reel-bar button {border:1px solid var(--case-line);background:var(--case-surface);color:var(--case-paper);width:44px;height:44px;border-radius:50%;font:inherit;cursor:pointer}
.nll-case-reel-bar button[aria-disabled="true"] {opacity:.45;cursor:default}
.nll-case-reel-bar button:hover[aria-disabled="false"] {border-color:var(--case-gold);color:var(--case-gold)}

.nll-case-fact-sheet {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));margin:1.45rem 0 1.15rem;padding:0;background:linear-gradient(120deg,#211b12,#15130f 64%);border:1px solid var(--case-line);border-radius:1.15rem;overflow:hidden}
.nll-case-fact-sheet>div {padding:clamp(.9rem,2.8vw,1.55rem);min-width:0}
.nll-case-fact-sheet dt {color:var(--case-muted);font-size:.7rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}
.nll-case-fact-sheet dd {color:var(--case-paper);font-size:clamp(1rem,1.6vw,1.22rem);font-weight:650;line-height:1.38;margin:.25rem 0 0;overflow-wrap:anywhere}
.nll-case-overview .nll-byline {margin-top:1rem}

.nll-case-page .nll-case-story {padding-block:clamp(2rem,4.5vw,4rem)}
.nll-case-story>.container {display:grid;gap:clamp(1.2rem,4vw,3.5rem);grid-template-columns:minmax(0,1fr);align-items:start}
.nll-case-story-head {padding-top:.3rem}
.nll-case-chapters {min-width:0;border-top:1px solid var(--case-line)}
.nll-case-chapter {padding:1.15rem 0;border-bottom:1px solid var(--case-line);scroll-margin-top:6rem}
.nll-case-chapter h3 {color:var(--case-paper);text-align:left;margin:0 0 .35rem;font-size:clamp(1.05rem,1.65vw,1.36rem)}
.nll-case-chapter .text-content {max-width:67ch;margin:0}
.nll-case-chapter p {margin:.35rem 0 0;color:var(--case-muted);line-height:1.65}

.nll-case-page .nll-case-related {padding-block:clamp(2rem,5vw,4.5rem)}
.nll-case-page .nll-case-related .container {max-width:1120px}
.nll-case-related-panel {display:grid;gap:1.35rem;padding:clamp(1.15rem,3.5vw,2.25rem);background:linear-gradient(135deg,#242014,#17150f 60%);border:1px solid var(--case-line);border-radius:1.15rem}
.nll-case-related-head .hero-cta-row {justify-content:flex-start;flex-wrap:wrap;margin:1rem 0 0}
.nll-case-related ul {list-style:none;margin:0;padding:0;min-width:0;border-top:1px solid var(--case-line)}
.nll-case-related li {padding:0;border-bottom:1px solid var(--case-line);margin:0}
.nll-case-related li a {position:relative;display:block;padding:.74rem 1.95rem .74rem .05rem;color:var(--case-paper);font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.nll-case-related li a:hover {color:var(--case-gold)}
.nll-case-related li span {display:block;margin-bottom:.16rem;color:var(--case-muted);font-weight:500;font-size:.76rem}
.nll-case-related li i {position:absolute;right:.05rem;top:50%;transform:translateY(-50%);color:var(--case-gold);font-style:normal}
.nll-case-page #hero .btn,.nll-case-related .btn {max-width:100%;white-space:normal;text-align:center}

.nll-case-dialog {position:fixed;inset:0;margin:auto;max-width:min(94vw,1100px);max-height:94dvh;width:100%;padding:0;overflow:auto;background:#11100e;color:#f9f2e2;border:1px solid #75613a;border-radius:1rem}
.nll-case-dialog::backdrop {background:rgba(0,0,0,.86)}
.nll-case-dialog img {display:block;width:100%;max-height:74dvh;object-fit:contain}
.nll-case-dialog .nll-case-dialog-bar {display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem}
.nll-case-dialog button {min-width:44px;min-height:44px;cursor:pointer;background:#272216;color:#fff0c5;border:1px solid #78633b;border-radius:.65rem;font:inherit;padding:.4rem .75rem}
.nll-case-dialog button:last-child {margin-left:auto}
.nll-case-dialog .nll-case-dialog-caption {margin:0;padding:.6rem 1rem 1rem;line-height:1.5}

@media (min-width:760px) {
 .nll-case-page .nll-case-photos:not(.nll-case-reel) {grid-template-columns:repeat(2,minmax(0,1fr))}
 .nll-case-photos:not(.nll-case-reel) figure:first-child {grid-column:1/-1}
 .nll-case-page .nll-case-photos:not(.nll-case-reel) figure:first-child img {max-height:700px}
 .nll-case-fact-sheet>div+div {border-inline-start:1px solid var(--case-line)}
 .nll-case-story>.container,.nll-case-related-panel {grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
}
@media (max-width:759px) {
 .nll-case-fact-sheet {grid-template-columns:minmax(0,1fr)}
 .nll-case-fact-sheet>div {display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);align-items:baseline;gap:.6rem;padding:.8rem 1rem}
 .nll-case-fact-sheet>div+div {border-top:1px solid var(--case-line)}
 .nll-case-fact-sheet dd {margin:0}
 .nll-case-reel-stage {top:clamp(82px,10svh,104px)}
 .nll-case-reel-frames {height:clamp(285px,62svh,560px)}
}
@media (max-width:899px) {
 .nll-case-page #nll-sticky {box-sizing:border-box;width:100%;max-width:100%;gap:.45rem;padding-inline:.65rem}
 .nll-case-page #nll-sticky a {flex:1 1 0;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:clamp(.75rem,3.3vw,.88rem);padding-inline:.4rem}
}
@media (prefers-reduced-motion:reduce) {
 .nll-case-open {transition:none}
 .nll-case-page .nll-case-reel-frames figure.is-turning .nll-case-photo-link {animation:none}
}
