/* Photograph stories: full compositions, quiet typography, readable prose. */
.nbp-story-index-header .page-lede { max-width: 800px; }
.nbp-story-intro { max-width: 760px; }
.nbp-story-notice { color: var(--nbp-muted); font-size: .875rem !important; }
.nbp-story-collection { scroll-margin-top: 100px; }
.nbp-story-section-heading { max-width: var(--nbp-max); margin: 0 auto 32px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; }
.nbp-story-section-heading h2 { margin: 0; }
.nbp-story-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; max-width: var(--nbp-max); margin: 0 auto; }
.nbp-story-card { min-width: 0; }
.nbp-story-card__image { display: flex; align-items: center; justify-content: center; height: clamp(260px, 28vw, 440px); background: #1b1b19; text-decoration: none !important; border: 0 !important; }
.nbp-story-card__image picture { display: contents; }
.nbp-story-card__image img { display: block; max-width: 100%; width: auto; max-height: 100%; height: auto; object-fit: contain; }
.nbp-story-card h3 { margin: 8px 0 12px; font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.18; }
.nbp-story-card h3 a { font: inherit; letter-spacing: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.nbp-story-card > p:last-child { margin: 0; color: var(--nbp-muted); }
.nbp-story-kicker { color: var(--nbp-accent); font: 400 .75rem/1.5 Arial, sans-serif !important; letter-spacing: .1em; text-transform: uppercase; margin: 24px 0 0; }
.nbp-story-heading { padding-bottom: 32px !important; }
.nbp-story-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: start; gap: clamp(30px, 4vw, 70px); padding: 0 max(var(--nbp-content-gutter), calc((100% - var(--nbp-max)) / 2)) 64px; margin: 0 auto; }
.nbp-story-figure { margin: 0; min-width: 0; }
.nbp-story-figure > a { display: block; cursor: zoom-in; }
.nbp-story-figure picture, .nbp-story-figure img { display: block; width: 100%; height: auto; }
.nbp-story-figure figcaption { font-size: .8125rem; line-height: 1.6; color: var(--nbp-muted); margin-top: 14px; }
.nbp-story-reading { max-width: 660px; min-width: 0; }
.nbp-story-reading p { line-height: 1.8; margin: 0 0 26px; }
.nbp-story-reading h2 { font-size: clamp(1.5rem, 2vw, 2rem); margin: 32px 0 14px; }
.nbp-story-reading .nbp-story-lede { font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.6; color: var(--nbp-paper-soft); }
.nbp-story-connection { margin-top: 36px; padding: 0 0 0 22px; border-left: 2px solid var(--nbp-accent); }
.nbp-story-connection .nbp-story-kicker { margin: 0 0 12px; }
.nbp-story-connection h2 { margin-top: 0; }
.nbp-story-connection p { margin-bottom: 16px; }
.nbp-stories .nbp-story-source { display: inline-block; font-size: .875rem; line-height: 1.6; letter-spacing: normal; color: var(--nbp-paper); text-decoration: underline; text-underline-offset: 4px; }
.nbp-story-enquiry { background: var(--nbp-paper) !important; color: var(--nbp-paper-ink); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.nbp-story-enquiry h2 { color: var(--nbp-paper-ink) !important; font-size: clamp(1.7rem, 2.6vw, 2.5rem); }
.nbp-story-enquiry p { color: var(--nbp-paper-muted) !important; max-width: 65ch; }
.nbp-story-enquiry .eyebrow { color: var(--nbp-paper-accent) !important; }
.nbp-story-enquiry .cta-button.primary { flex-shrink: 0; background: #211f1c !important; color: #f3f0e9 !important; border-color: #211f1c; text-align: center; }
.nbp-story-related .nbp-story-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nbp-gallery-story { display: block; break-inside: avoid; margin: 0 0 clamp(14px, 2vw, 28px); }
.nbp-gallery-grid .nbp-gallery-story .annie-photo-item { margin-bottom: 0; }
.nbp-gallery-story figcaption { padding: 10px 0 5px; font-size: .875rem; line-height: 1.5; }
.nbp-gallery-story figcaption a { display: inline-block; padding: 6px 0; font: inherit; letter-spacing: normal; text-underline-offset: 4px; }
.nbp-story-portfolio-link { display: inline-block; margin-top: 20px; text-decoration: underline; text-underline-offset: 5px; }
.nbp-stories a:focus-visible, .nbp-gallery-story a:focus-visible { outline: 2px solid var(--nbp-accent); outline-offset: 5px; }
@media (max-width: 1100px) { .nbp-story-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nbp-story-card__image { height: 360px; } .nbp-story-enquiry { align-items: flex-start; flex-direction: column; } }
@media (max-width: 900px) { .nbp-story-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; } .nbp-story-figure { max-width: 720px; margin: 0 auto; } .nbp-story-reading { max-width: 720px; margin: 0 auto; } }
@media (max-width: 600px) { .nbp-story-cards, .nbp-story-related .nbp-story-cards { grid-template-columns: minmax(0, 1fr); gap: 36px; } .nbp-story-card__image { height: auto; max-height: none; background: transparent; } .nbp-story-card__image img { width: 100%; height: auto; max-height: none; } .nbp-story-layout { padding-left: 24px; padding-right: 24px; } .nbp-story-enquiry .cta-button { width: 100%; white-space: normal; } }
