:root { color-scheme: light; --paper:#f3f0e9; --paper-deep:#e9e4da; --ink:#171816; --muted:#62625d; --line:#c9c3b7; --accent:#9b6a25; --accent-soft:#d2b17f; --article-link:#76501b; --inverse:#121311; --inverse-ink:#f2efe8; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
:root[data-theme="dark"] { color-scheme:dark; --paper:#111210; --paper-deep:#191a17; --ink:#efede6; --muted:#aaa79d; --line:#3a3a35; --accent:#d0a15d; --accent-soft:#75542b; --article-link:#e2b979; --inverse:#e8e4db; --inverse-ink:#141511; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.6; }
a { color:inherit; text-underline-offset:.2em; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.skip-link { position:fixed; left:1rem; top:-6rem; z-index:100; padding:.75rem 1rem; background:var(--ink); color:var(--paper); }
.skip-link:focus { top:1rem; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.publication-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--paper) 94%,transparent); backdrop-filter:blur(12px); }
.header-inner { width:min(1400px,calc(100% - 3rem)); min-height:92px; margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.publication-wordmark { width:max-content; display:flex; align-items:center; text-decoration:none; }
.publication-wordmark-text { display:flex; flex-direction:column; font-family:var(--serif); font-size:1.62rem; line-height:.83; letter-spacing:.18em; text-transform:uppercase; }
.publication-wordmark-text > span:last-child { margin-left:2.15rem; color:var(--accent); }
.publication-nav { display:flex; gap:clamp(.9rem,1.8vw,2.25rem); }
.publication-nav a,.back-to-latest { font-size:.78rem; font-weight:700; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.publication-nav a:hover,.back-to-latest:hover { color:var(--accent); }
.back-to-latest { justify-self:center; padding:.65rem .3rem; }
body[data-publication-page="article"] .header-inner { grid-template-columns:1fr auto 1fr; }
.theme-button { justify-self:end; width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; color:var(--ink); cursor:pointer; font-size:1.1rem; }
.edition-bar { width:min(1400px,calc(100% - 3rem)); min-height:58px; margin:auto; display:flex; align-items:center; gap:.8rem; overflow:hidden; border-bottom:1px solid var(--line); color:var(--muted); font-size:.74rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.info-item { min-width:0; color:inherit; text-decoration:none; white-space:nowrap; }
a.info-item:hover { color:var(--accent); }
.info-short,.info-mobile { display:none; }
.search-section { width:min(1400px,calc(100% - 3rem)); margin:auto; padding:1rem 0; border-bottom:1px solid var(--line); scroll-margin-top:108px; }
.search-form { display:grid; grid-template-columns:auto minmax(280px,520px); align-items:center; justify-content:space-between; gap:1.5rem; }
.search-form label { font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.search-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.search-controls input,.search-controls button { min-height:42px; border:1px solid var(--line); border-radius:0; font:inherit; }
.search-controls input { min-width:0; padding:.55rem .8rem; background:transparent; color:var(--ink); }
.search-controls button { padding:.55rem 1rem; border-left:0; background:var(--ink); color:var(--paper); cursor:pointer; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.publication-loading,.publication-error { width:min(1400px,calc(100% - 3rem)); margin:5rem auto; color:var(--muted); }
.lead-story { width:min(1400px,calc(100% - 3rem)); margin:auto; padding:clamp(3rem,6vw,6.5rem) 0; display:grid; grid-template-columns:minmax(300px,.8fr) minmax(480px,1.25fr); gap:clamp(2.5rem,6vw,7rem); align-items:center; border-bottom:1px solid var(--line); }
.eyebrow { margin:0 0 1rem; color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.lead-copy h1 { max-width:690px; margin:0; font-family:var(--serif); font-size:clamp(3.1rem,4.4vw,5.25rem); font-weight:400; letter-spacing:-.045em; line-height:.97; }
.lead-copy h1 a { text-decoration:none; }
.lead-deck { max-width:620px; margin:2rem 0; color:var(--muted); font-family:var(--serif); font-size:clamp(1.24rem,1.8vw,1.58rem); line-height:1.45; }
.byline,.card-meta { color:var(--muted); font-size:.76rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.story-link,.view-all { width:max-content; margin-top:2.25rem; display:inline-flex; align-items:center; gap:.65rem; border-bottom:1px solid var(--accent); padding-bottom:.3rem; font-size:.8rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.lead-image-wrap { min-height:560px; display:block; overflow:hidden; background:var(--paper-deep); }
.lead-photo { height:100%; margin:0; }
.lead-image-wrap img { width:100%; height:100%; min-height:560px; display:block; object-fit:cover; filter:contrast(1.06) saturate(.78); }
.text-lead { min-height:560px; display:grid; place-items:center; padding:3rem; border:1px solid var(--line); background:var(--paper-deep); color:var(--muted); font-family:var(--serif); font-size:1.5rem; text-align:center; }
.latest-section,.records-section,.collections-section { width:min(1400px,calc(100% - 3rem)); margin:auto; padding:clamp(4rem,7vw,7rem) 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.section-heading h2,.perspective-section h2,.collection-context h2,.browse-context h1 { margin:0; font-family:var(--serif); font-size:clamp(2.6rem,5vw,5rem); font-weight:400; letter-spacing:-.04em; line-height:1; }
.section-note { max-width:510px; margin:0; color:var(--muted); font-family:var(--serif); font-size:1.08rem; }
.collection-context { width:min(1400px,calc(100% - 3rem)); margin:0 auto; padding:clamp(3rem,6vw,5rem) 0 0; }
.collection-context p:not(.eyebrow) { max-width:620px; margin:1.25rem 0 0; color:var(--muted); font-family:var(--serif); font-size:1.2rem; }
.collection-context a { display:inline-block; margin-top:1.25rem; color:var(--muted); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.collection-context a:hover { color:var(--accent); }
.browse-context { width:min(1400px,calc(100% - 3rem)); margin:auto; padding:clamp(3rem,6vw,5rem) 0 2.5rem; }
.browse-context p:not(.eyebrow) { max-width:720px; margin:1.25rem 0 0; color:var(--muted); font-family:var(--serif); font-size:1.2rem; }
.browse-context a { display:inline-block; margin-top:1.25rem; color:var(--muted); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.browse-section { width:min(1400px,calc(100% - 3rem)); margin:auto; padding:0 0 clamp(4rem,7vw,7rem); }
.browse-empty { padding:2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-family:var(--serif); font-size:1.25rem; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-card { min-height:390px; padding:2rem clamp(1.5rem,3vw,3rem) 2rem 0; display:flex; flex-direction:column; }
.story-card + .story-card { padding-left:clamp(1.5rem,3vw,3rem); border-left:1px solid var(--line); }
.story-card:nth-child(3n + 1) { padding-left:0; border-left:0; }
.story-card:nth-child(n + 4) { border-top:1px solid var(--line); }
.story-card h3 { max-width:370px; margin:.8rem 0 1.25rem; font-family:var(--serif); font-size:clamp(1.75rem,2.5vw,2.65rem); font-weight:400; line-height:1.08; }
.story-card h3 a { text-decoration:none; }
.story-card > p:not(.eyebrow) { max-width:410px; margin:0; color:var(--muted); }
.card-meta { margin-top:auto; display:flex; flex-direction:column; }
.perspective-section { padding:clamp(4rem,7vw,7rem) max(1.5rem,calc((100% - 1400px)/2)); display:grid; grid-template-columns:.8fr 1.2fr auto; align-items:end; gap:clamp(2rem,6vw,7rem); background:var(--inverse); color:var(--inverse-ink); }
.perspective-section .eyebrow { color:var(--accent-soft); }
.perspective-section > p { max-width:680px; margin:0; font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.45; }
.perspective-section a { margin:0; color:var(--inverse-ink); border-color:var(--accent-soft); white-space:nowrap; }
.records-section { border-top:1px solid var(--line); }
.record-list { border-top:1px solid var(--line); }
.record-row { min-height:118px; display:grid; grid-template-columns:125px minmax(0,1fr) auto; align-items:center; gap:2rem; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.record-row time { color:var(--muted); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.record-row-title { display:grid; gap:.35rem; }
.record-row strong { font-family:var(--serif); font-size:clamp(1.45rem,2.5vw,2.25rem); font-weight:400; line-height:1.15; }
.record-row small { overflow:hidden; color:var(--muted); font-size:.86rem; text-overflow:ellipsis; white-space:nowrap; }
.record-row-arrow { color:var(--accent); font-size:1.35rem; transition:transform .22s ease; }
.record-row:hover .record-row-arrow,.record-row:focus-visible .record-row-arrow { transform:translateX(.35rem); }
.collection-list { border-top:1px solid var(--line); }
.collection-row { min-height:105px; display:grid; grid-template-columns:70px minmax(0,1fr) auto; align-items:center; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.collection-number,.collection-meta em { color:var(--muted); font-size:.75rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; transition:color .2s ease; }
.collection-row strong { font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.8rem); font-weight:400; transition:color .2s ease,transform .28s cubic-bezier(.2,.75,.2,1); }
.collection-meta { display:flex; align-items:center; gap:1.2rem; }
.collection-arrow { display:none; color:var(--accent); font-size:1.35rem; }
.collection-row:hover strong,.collection-row:focus-visible strong { color:var(--accent); transform:translateX(1rem); }
.publication-footer { padding:5rem max(1.5rem,calc((100% - 1400px)/2)) 2rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; background:#0e0f0d; color:#eae7df; }
.publication-footer > div { font-family:var(--serif); font-size:clamp(2rem,5vw,5rem); line-height:1; letter-spacing:-.03em; }
.publication-footer p { max-width:560px; margin:0; color:#aaa79d; font-family:var(--serif); font-size:1.3rem; }
.reader-desk { grid-column:1/-1; display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:3rem; padding-top:2.25rem; border-top:1px solid #34342f; }
.reader-desk-copy h2 { margin:.45rem 0 0; font-family:var(--serif); font-size:clamp(1.8rem,3vw,3rem); font-weight:400; line-height:1.05; }
.reader-desk-kicker { color:#e2b979 !important; font-family:var(--sans) !important; font-size:.7rem !important; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.reader-desk-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid #34342f; background:#34342f; }
.reader-desk-link { display:block; padding:1.35rem; background:#0e0f0d; color:#eae7df; text-decoration:none; transition:background .18s ease; }
.reader-desk-link strong { display:block; margin-bottom:.45rem; color:#e2b979; font-family:var(--sans); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.reader-desk-link span { display:block; color:#aaa79d; font-family:var(--sans); font-size:.82rem; line-height:1.5; }
.reader-desk-link:hover,.reader-desk-link:focus-visible { background:#191a17; }
.reader-desk-link:hover strong,.reader-desk-link:focus-visible strong { color:#f2efe8; }
.publication-footer small { grid-column:1/-1; padding-top:3rem; border-top:1px solid #34342f; color:#85837b; }
.publication-footer small a { color:#aaa79d; }

.article-shell { width:min(1200px,calc(100% - 3rem)); margin:auto; padding:clamp(3rem,7vw,7rem) 0; }
.archive-notice,.correction-note { max-width:780px; margin:0 auto 2rem; padding:1rem 1.25rem; border:1px solid var(--accent); background:var(--paper-deep); }
.article-header { max-width:1020px; margin:0 auto clamp(3rem,6vw,6rem); }
.article-header h1 { margin:0; font-family:var(--serif); font-size:clamp(3.3rem,7vw,7.5rem); font-weight:400; letter-spacing:-.055em; line-height:.94; }
.article-deck { max-width:800px; margin:2rem 0; color:var(--muted); font-family:var(--serif); font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.4; }
.article-byline { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; }
.article-figure { margin:0 0 clamp(3rem,7vw,6rem); }
.article-figure img { width:100%; height:auto; display:block; filter:contrast(1.05) saturate(.8); }
.article-figure figcaption { margin-top:.7rem; color:var(--muted); font-size:.75rem; }
.article-body,.article-references { max-width:980px; margin:auto; font-family:var(--serif); font-size:clamp(1.15rem,1.6vw,1.32rem); line-height:1.82; }
.article-body a,.article-references a { color:var(--article-link); }
.article-body p { margin:0 0 1.7rem; }
.article-body h1 { margin:4.5rem 0 1.5rem; font-size:clamp(2.5rem,5vw,4rem); font-weight:400; letter-spacing:-.04em; line-height:1.04; }
.article-body h2,.article-references h2 { margin:4rem 0 1.4rem; font-size:clamp(2rem,4vw,3.2rem); font-weight:400; letter-spacing:-.03em; line-height:1.1; }
.article-body h3 { margin:3rem 0 1.1rem; font-size:clamp(1.55rem,3vw,2.25rem); font-weight:400; letter-spacing:-.02em; line-height:1.18; }
.article-body h4 { margin:2.5rem 0 .9rem; font-size:clamp(1.18rem,2vw,1.45rem); font-weight:700; letter-spacing:.01em; line-height:1.3; }
.article-body blockquote { margin:3.5rem -6rem; padding:2.2rem 3rem; border-left:4px solid var(--accent); background:var(--paper-deep); font-size:clamp(1.55rem,3vw,2.3rem); line-height:1.35; }
.article-body blockquote p { margin:0; }
.article-body li { margin-bottom:.65rem; }
.article-body img { max-width:100%; height:auto; display:block; margin:2.5rem auto; }
.media-reference,.source-item { margin:1.25rem 0; padding:1.25rem; border:1px solid var(--line); background:var(--paper-deep); font-family:var(--sans); font-size:.9rem; }
.media-reference p,.source-item p { margin:.5rem 0 0; color:var(--muted); }
.video-frame { width:100%; aspect-ratio:16/9; margin-bottom:1rem; border:0; }
.article-actions { max-width:980px; margin:4rem auto 0; padding-top:1.5rem; border-top:1px solid var(--line); }
.share-button { min-height:44px; padding:.6rem 1rem; border:1px solid var(--ink); background:var(--ink); color:var(--paper); cursor:pointer; font-weight:700; }

@media(max-width:1550px) { .edition-bar { min-height:50px; justify-content:space-between; gap:.6rem; font-size:.67rem; letter-spacing:.06em; } .info-long { display:none; } .info-short { display:inline; } .info-separator { flex:0 0 auto; } }
@media(max-width:900px) { .header-inner { min-height:76px; grid-template-columns:1fr auto; } body[data-publication-page="article"] .header-inner { grid-template-columns:1fr auto auto; gap:.65rem; } .publication-nav { display:none; } .lead-story { grid-template-columns:1fr; } .lead-image-wrap,.lead-image-wrap img,.text-lead { min-height:min(620px,75vw); } .story-grid { grid-template-columns:1fr; } .story-card,.story-card + .story-card,.story-card:nth-child(n + 4) { min-height:310px; padding:2.3rem 0; border-top:0; border-left:0; border-bottom:1px solid var(--line); } .perspective-section { grid-template-columns:1fr; align-items:start; } .article-body blockquote { margin:3rem 0; } .search-form { grid-template-columns:1fr; gap:.6rem; } }
@media(max-width:600px) { .header-inner,.edition-bar,.search-section,.lead-story,.latest-section,.records-section,.collections-section,.collection-context,.browse-context,.browse-section,.article-shell { width:min(100% - 2rem,1400px); } .publication-wordmark-text { font-size:1.38rem; } .publication-wordmark-text > span:last-child { margin-left:1.85rem; } .back-to-latest { font-size:.68rem; letter-spacing:.06em; } .edition-bar { min-height:46px; gap:.4rem; font-size:.6rem; letter-spacing:.035em; } .info-short { display:none; } .info-mobile { display:inline; } .lead-copy h1 { font-size:clamp(3rem,15vw,4.3rem); } .section-heading { align-items:start; flex-direction:column; } .record-row { grid-template-columns:1fr auto; gap:.5rem 1rem; padding:1.25rem 0; } .record-row time { grid-column:1/-1; } .record-row small { white-space:normal; } .collection-row { grid-template-columns:44px minmax(0,1fr) auto; } .collection-meta em { display:none; } .collection-meta { gap:.4rem; } .collection-arrow { display:inline; } .publication-footer { grid-template-columns:1fr; } .reader-desk { grid-template-columns:1fr; gap:1.5rem; } .reader-desk-actions { grid-template-columns:1fr; } .publication-footer small { grid-column:1; } .article-header h1 { font-size:clamp(3.1rem,16vw,5rem); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Social and photograph library */
.social-links{grid-column:1/-1;display:flex;align-items:center;gap:.55rem;padding-top:1.4rem;border-top:1px solid #373a3c}.social-links>span{margin-right:.35rem;color:#aaa79d;font:800 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.social-links a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #4b4e50;color:#f2efe7;text-decoration:none;transition:border-color .2s,color .2s,transform .2s}.social-links a:hover,.social-links a:focus-visible{border-color:#e2b979;color:#e2b979;transform:translateY(-2px)}.social-links svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.social-links svg rect,.social-links svg circle:not(.fill){fill:none}.social-links .fill{fill:currentColor;stroke:none}
.photo-showcase{width:min(1400px,calc(100% - 3rem));margin:auto;padding:clamp(4rem,7vw,7rem) 0;display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,6vw,7rem);align-items:center;border-top:1px solid var(--line)}.photo-showcase[hidden]{display:none}.photo-showcase-copy h2,.photo-library-header h1{margin:0;font-family:var(--serif);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:400;letter-spacing:-.045em;line-height:.96}.photo-showcase-copy>p:not(.eyebrow){color:var(--muted);font-family:var(--serif);font-size:1.18rem}.photo-showcase-frame{position:relative;min-height:460px;overflow:hidden;background:var(--paper-deep);color:#fff}.photo-showcase-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:opacity .35s}.photo-showcase-frame:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}.photo-showcase-prompt,.photo-showcase-caption{position:absolute;z-index:2;left:1.5rem;right:1.5rem}.photo-showcase-prompt{top:1.3rem;width:max-content;padding:.45rem .6rem;background:rgba(0,0,0,.66);font:.72rem/1 var(--sans);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.photo-showcase-caption{bottom:1.2rem;font:1rem/1.4 var(--serif)}.photo-watermark{position:absolute;right:.75rem;bottom:.65rem;z-index:3;padding:.25rem .4rem;background:rgba(0,0,0,.48);color:rgba(255,255,255,.84);font:800 .58rem/1 var(--sans);letter-spacing:.14em;pointer-events:none}.photo-library{width:min(1400px,calc(100% - 3rem));margin:auto;padding:clamp(3rem,7vw,7rem) 0}.photo-library-header{max-width:900px}.photo-library-header>p:not(.eyebrow){max-width:720px;color:var(--muted);font-family:var(--serif);font-size:1.25rem}.photo-filter{margin:3rem 0 2rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,.65fr) 1.35fr;gap:2rem}.photo-filter label>span,.photo-filter legend{display:block;margin-bottom:.55rem;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.photo-filter input{width:100%;padding:.8rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}.photo-filter fieldset{margin:0;padding:0;border:0}.photo-categories{display:flex;flex-wrap:wrap;gap:.45rem}.photo-categories button{padding:.65rem .85rem;border:1px solid var(--line);background:transparent;color:var(--muted);font:.7rem/1 var(--sans);font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.photo-categories button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#111}.photo-results-note{margin-bottom:1rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.photo-tile{padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.photo-tile-image{position:relative;aspect-ratio:4/3;display:block;overflow:hidden;background:var(--paper-deep)}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo-tile:hover img{transform:scale(1.025)}.photo-tile-copy{display:block;padding:1rem 0 1.5rem}.photo-tile-copy small{display:block;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.photo-tile-copy strong{display:block;margin:.35rem 0;font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1.15}.photo-tile-copy em{color:var(--muted);font-size:.72rem;font-style:normal}.photo-usage{margin-top:5rem;padding:2rem;border:1px solid var(--line);background:var(--paper-deep)}.photo-usage h2{margin:.25rem 0;font-family:var(--serif);font-size:2rem;font-weight:400}.photo-usage p:last-child{max-width:900px;color:var(--muted)}.photo-dialog{width:min(1100px,calc(100% - 2rem));max-height:90vh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.photo-dialog::backdrop{background:rgba(0,0,0,.82)}.photo-dialog-close{position:absolute;right:.8rem;top:.8rem;z-index:5;width:40px;height:40px;border:1px solid rgba(255,255,255,.6);background:#111;color:#fff;font-size:1.5rem;cursor:pointer}.photo-dialog figure{margin:0;display:grid;grid-template-columns:1.35fr .65fr}.photo-dialog-image{min-height:65vh;position:relative;background:#111}.photo-dialog-image img{width:100%;height:100%;position:absolute;object-fit:contain}.photo-dialog figcaption{padding:2rem}.photo-dialog figcaption h2{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.05}.photo-credit{font-weight:700}.photo-dialog-meta{color:var(--muted);font-size:.8rem}.photo-editor-link{display:inline-flex;align-items:center}
@media(max-width:900px){.photo-showcase,.photo-filter,.photo-dialog figure{grid-template-columns:1fr}.photo-showcase-frame{min-height:380px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-dialog-image{min-height:50vh}}
@media(max-width:600px){.photo-showcase,.photo-library{width:min(100% - 2rem,1400px)}.photo-grid{grid-template-columns:1fr}.social-links{flex-wrap:wrap}.social-links>span{width:100%}.photo-showcase-frame{min-height:320px}}
