:root{--pl-page:1460px;--pl-wide:1380px;--pl-copy:720px;--pl-gutter:clamp(20px,3.4vw,52px);--pl-section:clamp(72px,9vw,132px);--pl-gap:clamp(18px,2.1vw,32px);--pl-title-gap:12px;--pl-meta-gap:8px;--pl-line:rgba(20,62,52,.18);--pl-radius-image:7px;--pl-radius-panel:20px;--pl-muted:#66675f;--pl-ink:#173f35;--pl-cream:#f5f1e8;--pl-gold:#e1bd6a;--pl-motion:180ms ease}
.official-photo-library-page{background:var(--pl-cream);color:#20231f}
.official-photo-library-page *,.media-kit-page *{box-sizing:border-box}
.official-photo-library-page main,.media-kit-page main{width:min(calc(100% - (2 * var(--pl-gutter))),var(--pl-page));max-width:none;margin-inline:auto;padding-inline:0}
.official-photo-library-page h1,.official-photo-library-page h2,.official-photo-library-page h3{letter-spacing:-.025em;text-wrap:balance}
.official-photo-library-page p{max-width:68ch}
.official-photo-library-page a:focus-visible,.media-kit-page a:focus-visible{outline:3px solid var(--pl-gold);outline-offset:4px;border-radius:3px}
.official-photo-library-page .button,.media-kit-page .button{min-height:42px;padding:10px 18px;border-radius:7px;box-shadow:none;font-size:.84rem;letter-spacing:.02em}
.official-photo-library-page .button.primary,.media-kit-page .button.primary{background:var(--pl-gold);border-color:var(--pl-gold);color:#173f35}
.official-photo-library-page .button.secondary,.media-kit-page .button.secondary{background:transparent;border:1px solid currentColor}
.official-photo-library-page .eyebrow,.official-photo-library-page .opl-kicker{font-size:.69rem;line-height:1.25;letter-spacing:.14em;color:var(--pl-muted);font-weight:760}
.official-photo-library-page .opl-breadcrumb{font-size:.72rem;opacity:.7;margin-block:20px 30px}

/* Hub: editorial hero and image-led hierarchy */
.official-photo-library-page .phase2b-photo-hero{display:grid;grid-template-columns:5fr 7fr;gap:clamp(42px,6vw,92px);align-items:center;padding:clamp(34px,5vw,72px);border-radius:var(--pl-radius-panel);background:#103f35;min-height:min(78vh,820px);margin-bottom:var(--pl-section)}
.phase2b-photo-hero .opl-hero-copy{max-width:600px}.phase2b-photo-hero h1{font-size:clamp(3.2rem,6.6vw,7rem);line-height:.9;margin:.16em 0 .28em;color:#fff}.phase2b-photo-hero .opl-lede{font-size:clamp(1rem,1.25vw,1.22rem);color:#e6ece8;line-height:1.55}.phase2b-photo-hero .opl-hero-image{margin:0;align-self:stretch}.phase2b-photo-hero .opl-hero-image img{width:100%;height:100%;max-height:720px;object-fit:cover;object-position:50% 28%;border-radius:10px;box-shadow:none}.phase2b-photo-hero .opl-hero-image figcaption{font-size:.68rem;color:#cad8d2;margin-top:10px;letter-spacing:.04em}.phase2b-photo-hero dl{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}.phase2b-photo-hero dl div{display:flex;gap:6px;align-items:baseline}.phase2b-photo-hero dt{font:700 1rem/1 sans-serif;color:#fff}.phase2b-photo-hero dd{font-size:.7rem;color:#cddbd5;margin:0}
.phase2d-hub-groups{gap:0;margin-bottom:var(--pl-section)}.phase2d-hub-groups>.opl-section-heading{max-width:var(--pl-copy);margin-bottom:48px}.phase2d-hub-group{grid-template-columns:180px minmax(0,1fr);gap:38px;padding:34px 0;border-color:var(--pl-line)}.phase2d-hub-group>div:first-child .eyebrow{opacity:.55}.phase2d-hub-group>div:first-child h3{font-size:1rem;font-family:inherit;letter-spacing:0;color:var(--pl-muted)}.phase2d-hub-collections{gap:var(--pl-gap)}.phase2d-hub-card{position:relative;min-height:330px;justify-content:flex-end;overflow:hidden;border:0;border-radius:9px;padding:26px;color:#fff;background:#173f35;isolation:isolate}.phase2d-hub-card::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform var(--pl-motion)}.phase2d-hub-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 25%,rgba(8,24,20,.84) 100%)}.phase2d-hub-card:hover::before{transform:scale(1.012)}.phase2d-hub-group:nth-of-type(2) .phase2d-hub-card::before{background-image:url('/assets/photos/official-library/high-res/josh-liljenquist-professional-headshot-navy-blazer.jpg');background-position:50% 28%}.phase2d-hub-group:nth-of-type(3) .phase2d-hub-card:first-child::before{background-image:url('https://media.joshliljenquist.com/site-assets/assets/photos/official-library/high-res/josh-liljenquist-twin-cities-live-on-air-interview.jpg')}.phase2d-hub-group:nth-of-type(3) .phase2d-hub-card:last-child::before{background-image:url('/assets/photos/collaborations/responsive/josh-liljenquist-jj-mccarthy-target-warm-supplies--jli-2026-0370-1280.webp')}.phase2d-hub-group:nth-of-type(4) .phase2d-hub-card:first-child::before{background-image:url('/assets/photos/community-impact/high-res/josh-liljenquist-helps-hotel-worker-chris--jli-2026-0004.jpg')}.phase2d-hub-group:nth-of-type(4) .phase2d-hub-card:last-child::before{background-image:url('/assets/photos/brands-campaigns/high-res/josh-liljenquist-p-f-chang-s-community-food-support--jli-2026-0381.jpg')}.phase2d-hub-group:nth-of-type(5) .phase2d-hub-card:first-child::before{background-image:url('/assets/photos/team/responsive/josh-liljenquist-with-ben-steine-and-james-cowan-jr--jli-2026-0132-1280.webp')}.phase2d-hub-group:nth-of-type(5) .phase2d-hub-card:last-child::before{background-image:url('/assets/photos/family/high-res/josh-liljenquist-josh-and-ingrid-close-couple-portrait--jli-2026-0319.jpg')}.phase2d-hub-card small{opacity:.75}.phase2d-hub-card strong{font-size:clamp(1.6rem,2.5vw,2.6rem);line-height:1}.phase2d-hub-card span{max-width:40ch;color:#e1e8e4}.phase2d-hub-card b{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#efcf85}.phase2d-hub-card--primary{grid-column:auto;min-height:470px}
.phase2d-highlight-grid{gap:18px}.phase2d-highlight-grid .phase2d-card{background:transparent;border:0}.phase2d-highlight-grid .opl-card-copy{padding:14px 0}.phase2d-highlight-grid .phase2d-card-media{border-radius:var(--pl-radius-image)}.phase2d-highlight-grid h3{font-size:clamp(1.05rem,1.3vw,1.3rem)}

/* Collection hero and common editorial card restraint */
.phase2d-collection-hero{grid-template-columns:5fr 7fr;min-height:620px;padding:clamp(34px,5vw,72px);gap:clamp(36px,6vw,90px);border-radius:var(--pl-radius-panel);margin-bottom:var(--pl-section)}.phase2d-collection-hero h1{font-size:clamp(3rem,5.8vw,6.4rem);line-height:.93;max-width:10ch}.phase2d-collection-hero .phase2d-count{font-size:.67rem;opacity:.72}.phase2d-collection-hero figure{align-self:stretch}.phase2d-collection-hero img{height:100%;aspect-ratio:auto;max-height:650px;border-radius:8px}.phase2d-collection-hero figcaption{max-width:62ch;line-height:1.4}
.phase2d-collection-hero h1{text-wrap:balance}.phase2d-collection-hero figure{min-width:0}.phase2d-card h3{text-wrap:pretty}.phase2d-card .opl-detail-link:hover{text-decoration:underline;text-underline-offset:4px}
.phase2d-heading{align-items:start;padding-bottom:24px;margin-bottom:36px}.phase2d-heading h2{font-size:clamp(2.1rem,3.7vw,4rem);line-height:1}.phase2d-heading>div>p:last-child{color:var(--pl-muted)}.phase2d-grid{gap:clamp(34px,3vw,52px) var(--pl-gap)}.phase2d-card{background:transparent;border:0;border-radius:0;box-shadow:none}.phase2d-card-media{border-radius:var(--pl-radius-image);background:#e4e0d7}.phase2d-card-media img{transition:transform var(--pl-motion),filter var(--pl-motion)}.phase2d-card-media:hover img{transform:scale(1.01);filter:contrast(1.02)}.phase2d-card .opl-card-copy{padding:15px 0 0}.phase2d-card h3{font-size:clamp(1.3rem,1.7vw,1.75rem);line-height:1.12;margin:7px 0}.phase2d-card h3 a{text-decoration:none;color:#173f35}.phase2d-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.phase2d-card .opl-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--pl-muted);font-size:.86rem;line-height:1.45;margin:0 0 10px}.phase2d-card .opl-detail-link{font-size:.71rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border:0;color:#315f53}.phase2d-cta{border-radius:var(--pl-radius-panel);margin-block:var(--pl-section) 80px;padding:clamp(28px,4vw,48px);min-height:0}.phase2d-cta h2{font-size:clamp(1.8rem,3vw,3rem);margin:.15em 0}

/* Official Portraits: precise 4:5 gallery */
.official-portraits-refined .opl-collection-hero{border-radius:var(--pl-radius-panel);box-shadow:none}.official-portraits-refined .opl-portrait-grid--featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(42px,4vw,68px) var(--pl-gap)}.official-portraits-refined .phase2b-photo-card{background:transparent;border:0;box-shadow:none}.official-portraits-refined .phase2b-photo-card figure,.official-portraits-refined .phase2b-photo-card>a:first-child{border-radius:var(--pl-radius-image);overflow:hidden}.official-portraits-refined .phase2b-photo-card img{aspect-ratio:4/5;object-fit:cover}.official-portraits-refined .opl-card-copy,.official-portraits-refined .opl-card-body{padding:14px 0}.official-portraits-refined .opl-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;color:var(--pl-muted);font-size:.82rem}.official-portraits-refined h3 a{text-decoration:none}.official-portraits-refined .opl-kicker{color:var(--pl-muted)}

/* Media: one lead, then six broadcast-safe modules */
.media-press-collection-page .phase2d-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-press-collection-page .phase2d-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:7fr 4fr;gap:clamp(28px,4vw,64px);align-items:center;padding-bottom:44px;border-bottom:1px solid var(--pl-line)}.media-press-collection-page .phase2d-card:first-child h3{font-size:clamp(2rem,4vw,4.4rem)}.media-press-collection-page .phase2d-card-media{aspect-ratio:16/9;background:#171916}.media-press-collection-page .phase2d-card-media img{object-fit:contain}.media-press-collection-page .phase2d-collection-hero img{object-fit:contain;background:#151815}

/* People: two lead encounters plus six supporting records */
.people-collaborations-page .phase2d-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.people-collaborations-page .phase2d-card{grid-column:span 4}.people-collaborations-page .phase2d-card:nth-child(-n+2){grid-column:span 6}.people-collaborations-page .phase2d-card:nth-child(-n+2) h3{font-size:clamp(1.8rem,2.5vw,2.7rem)}.people-collaborations-page .phase2d-card-media{aspect-ratio:3/2}

/* Documentary rhythm */
.community-impact-photo-collection-page .phase2d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-impact-photo-collection-page .phase2d-card:first-child,.community-impact-photo-collection-page .phase2d-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:7fr 4fr;gap:clamp(28px,4vw,64px);align-items:center;padding-block:20px 40px;border-bottom:1px solid var(--pl-line)}.community-impact-photo-collection-page .phase2d-card-media{aspect-ratio:3/2}.community-impact-photo-collection-page .phase2d-card:first-child h3,.community-impact-photo-collection-page .phase2d-card:last-child h3{font-size:clamp(1.8rem,3vw,3.3rem)}

/* Portfolio, team, family differentiation */
.brands-campaigns-photo-collection-page .phase2d-grid,.team-photo-collection-page .phase2d-grid,.family-photo-collection-page .phase2d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brands-campaigns-photo-collection-page .phase2d-card-media{aspect-ratio:3/2}.team-photo-collection-page .phase2d-card-media{aspect-ratio:4/3}.family-photo-collection-page .phase2d-curated{max-width:1160px;margin-inline:auto}.family-photo-collection-page .phase2d-card-media{aspect-ratio:3/2}.family-photo-collection-page .phase2d-card{opacity:.96}

/* Individual photo records: image first, metadata quiet */
.opl-detail-page main{max-width:var(--pl-wide)}.opl-detail-page .opl-detail{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.9fr);grid-template-areas:'media copy' 'media details';gap:24px clamp(38px,5vw,82px);align-items:start;margin-bottom:var(--pl-section)}.opl-detail-page .opl-detail-copy{grid-area:copy;padding-top:24px}.opl-detail-page .opl-detail-copy h1{font-size:clamp(2.3rem,4.2vw,5rem);line-height:.96}.opl-detail-page .opl-detail-lede,.opl-detail-page .opl-collection-source{color:var(--pl-muted)}.opl-detail-page .opl-detail-media{grid-area:media;margin:0}.opl-detail-page .opl-detail-media img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain;object-position:top;border-radius:var(--pl-radius-image);background:#e5e1d8}.opl-detail-page .opl-detail-media figcaption{font-size:.78rem;color:var(--pl-muted);margin-top:10px}.opl-detail-page .opl-detail-details{grid-area:details;border:0;border-top:1px solid var(--pl-line);padding-top:10px}.opl-detail-page .opl-detail-facts{display:block}.opl-detail-page .opl-detail-facts div{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--pl-line)}.opl-detail-page .opl-detail-facts dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pl-muted)}.opl-detail-page .opl-detail-facts dd{font-size:.78rem;margin:0}.opl-detail-page .opl-detail-lower{max-width:980px;margin:0 auto}.opl-detail-page .opl-detail-context{background:transparent;border:0;border-top:1px solid var(--pl-line);border-radius:0;padding:28px 0}.opl-detail-page .opl-usage-note{border-radius:8px;padding:18px 20px}.opl-detail-page .opl-detail-pagination{border-top:1px solid var(--pl-line);margin-top:64px}

/* Media kit + shared close */
.media-kit-page .press-hero,.media-kit-page .media-kit-hero{border-radius:var(--pl-radius-panel)}.official-photo-library-page .site-footer,.media-kit-page .site-footer{margin-top:80px}.official-photo-library-page .global-footer-inner,.media-kit-page .global-footer-inner{gap:30px}.official-photo-library-page .global-footer-nav,.media-kit-page .global-footer-nav{column-gap:clamp(22px,4vw,56px);row-gap:24px}.official-photo-library-page .global-footer-nav a,.media-kit-page .global-footer-nav a{line-height:1.6}
@media(prefers-reduced-motion:reduce){.phase2d-card-media img,.phase2d-hub-card::before{transition:none!important}.phase2d-card-media:hover img,.phase2d-hub-card:hover::before{transform:none!important}}
@media(max-width:1024px){.official-photo-library-page .phase2b-photo-hero,.phase2d-collection-hero{grid-template-columns:1fr;min-height:0}.phase2b-photo-hero .opl-hero-image{height:min(70vw,620px)}.phase2d-collection-hero figure{height:min(62vw,560px)}.phase2d-hub-group{grid-template-columns:1fr}.phase2d-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.opl-detail-page .opl-detail{grid-template-columns:1.35fr 1fr}.media-press-collection-page .phase2d-card:first-child,.community-impact-photo-collection-page .phase2d-card:first-child,.community-impact-photo-collection-page .phase2d-card:last-child{grid-template-columns:1fr}}
@media(max-width:768px){:root{--pl-gutter:20px;--pl-section:72px}.phase2d-highlight-grid,.official-portraits-refined .opl-portrait-grid--featured,.media-press-collection-page .phase2d-grid,.brands-campaigns-photo-collection-page .phase2d-grid,.team-photo-collection-page .phase2d-grid,.family-photo-collection-page .phase2d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-press-collection-page .phase2d-card:first-child{grid-column:1/-1;display:block}.people-collaborations-page .phase2d-card,.people-collaborations-page .phase2d-card:nth-child(-n+2){grid-column:span 6}.community-impact-photo-collection-page .phase2d-grid{grid-template-columns:1fr}.community-impact-photo-collection-page .phase2d-card:first-child,.community-impact-photo-collection-page .phase2d-card:last-child{grid-column:auto;display:block}.opl-detail-page .opl-detail{display:flex;flex-direction:column}.opl-detail-page .opl-detail-copy{order:1}.opl-detail-page .opl-detail-media{order:2}.opl-detail-page .opl-detail-details{order:3;width:100%}}
@media(max-width:520px){:root{--pl-gutter:19px;--pl-gap:22px}.official-photo-library-page .phase2b-photo-hero,.phase2d-collection-hero{padding:25px 19px;border-radius:16px;gap:28px}.phase2b-photo-hero h1,.phase2d-collection-hero h1{font-size:clamp(2.6rem,14vw,4rem)}.phase2b-photo-hero .opl-hero-image{height:112vw;max-height:520px}.phase2d-collection-hero figure{height:auto}.phase2d-collection-hero img{height:auto;max-height:none}.phase2d-hub-collections,.phase2d-highlight-grid,.official-portraits-refined .opl-portrait-grid--featured,.media-press-collection-page .phase2d-grid,.people-collaborations-page .phase2d-grid,.brands-campaigns-photo-collection-page .phase2d-grid,.team-photo-collection-page .phase2d-grid,.family-photo-collection-page .phase2d-grid{display:grid;grid-template-columns:1fr}.people-collaborations-page .phase2d-card,.people-collaborations-page .phase2d-card:nth-child(-n+2){grid-column:auto}.phase2d-hub-card,.phase2d-hub-card--primary{min-height:390px}.phase2d-card .opl-caption{font-size:.8rem;-webkit-line-clamp:1}.phase2d-card h3{font-size:1.4rem}.phase2d-grid{gap:36px}.phase2d-heading{display:block}.phase2d-cta{grid-template-columns:1fr;padding:28px 20px;border-radius:16px}.opl-detail-page .opl-detail-copy h1{font-size:clamp(2.25rem,12vw,3.6rem)}.opl-detail-page .opl-detail-media img{max-height:none}.official-photo-library-page .global-footer-nav,.media-kit-page .global-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.official-photo-library-page .opl-breadcrumb{margin-block:28px 34px;line-height:1.7}.phase2d-collection-hero{width:100%;max-width:100%;min-width:0}.phase2d-collection-hero>*{min-width:0}.media-press-collection-page .phase2d-collection-hero h1{max-width:none;font-size:clamp(2.55rem,12.5vw,3.4rem)}}
@media(max-width:360px){.official-photo-library-page .phase2b-photo-hero,.phase2d-collection-hero{padding-inline:16px}.official-photo-library-page .opl-actions{display:grid;grid-template-columns:1fr}.official-photo-library-page .button{width:100%;justify-content:center;text-align:center}.phase2d-card h3{font-size:1.3rem}.phase2d-hub-card,.phase2d-hub-card--primary{min-height:350px}}
