:root{--ink:#071019;--ink-2:#101c27;--paper:#f4f6f8;--cream:#fbf4ec;--white:#fff;--muted:#5b6570;--line:#d7dde3;--cyan:#21d5f5;--blue:#315cff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
body{font-size:16px;overflow-x:hidden}.complete-header{height:82px;grid-template-columns:250px 1fr auto;padding:0 clamp(18px,3vw,52px);gap:24px}.complete-header .brand img{width:225px}.complete-header .main-nav{gap:clamp(16px,2.2vw,34px)}.complete-header .main-nav a{font-size:.82rem}.header-actions{white-space:nowrap}.icon-action,.menu-toggle{appearance:none;border:1px solid var(--line);background:transparent;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.15rem}.menu-toggle{display:none}.global-search{position:fixed;inset:82px 0 auto;z-index:80;background:var(--ink);color:#fff;padding:34px clamp(20px,8vw,140px);box-shadow:0 18px 60px rgba(0,0,0,.25)}.global-search[hidden]{display:none}.global-search form{max-width:1100px;margin:auto}.global-search label{display:block;margin-bottom:12px;font-family:var(--serif);font-size:1.65rem}.global-search form>div{display:grid;grid-template-columns:1fr auto 52px}.global-search input,.global-search button{min-height:56px;border:0;padding:0 18px}.global-search button{cursor:pointer}.global-search button[type=submit]{background:var(--cyan);font-weight:750}.global-search [data-search-close]{background:#fff;font-size:1.5rem}.intro-shell{min-height:430px;padding:clamp(42px,5vw,72px) clamp(22px,5vw,80px) 34px;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr)}.intro-copy h1{font-size:clamp(3.2rem,6vw,6.2rem)}.prism-card{min-height:230px}.prism-card:before{height:220px;width:120px}.search{min-height:64px}.archive{padding-top:70px}.archive-head{margin-bottom:28px}.media-grid{gap:36px 22px}.media-visual{box-shadow:0 1px 0 rgba(0,0,0,.06)}.media-meta h3{font-size:1.35rem}.media-meta p,.media-meta>span{font-size:.76rem}.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin:6px 0 28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.detail{padding-top:28px}.detail-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:clamp(30px,4vw,68px)}.detail-copy{top:105px}.detail-copy h1{font-size:clamp(2.7rem,4.3vw,5rem)}.creator-line{font-size:.92rem;margin:-12px 0 24px}.creator-line a{text-decoration:underline;text-underline-offset:3px}.work-actions{display:grid;gap:10px;margin:24px 0}.work-actions a,.work-actions button{appearance:none;display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:750;cursor:pointer}.work-actions .primary-action{background:var(--ink);color:#fff}.work-actions .secondary-action{background:var(--cyan);border-color:var(--cyan)}.detail-info{max-width:1180px;margin:68px 0 0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(34px,7vw,100px);padding-top:50px;border-top:1px solid var(--line)}.detail-info h2,.related-section h2,.content-page h1{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.detail-info h2,.related-section h2{font-size:clamp(2rem,4vw,3.6rem);margin:0 0 22px}.detail-description{font-size:1.05rem;line-height:1.8;color:#3e4a55}.attribute-table{width:100%;border-collapse:collapse}.attribute-table th,.attribute-table td{padding:13px 0;border-bottom:1px solid var(--line);text-align:left;font-size:.83rem;vertical-align:top}.attribute-table th{width:42%;font-weight:400;color:var(--muted)}.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tag-list a{padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:.76rem}.related-section{margin-top:80px;padding-top:52px;border-top:1px solid var(--line)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-card .media-visual{aspect-ratio:4/3}.related-card h3{font:400 1.2rem var(--serif);margin:12px 0 3px}.related-card p{margin:0;color:var(--muted);font-size:.76rem}.content-page{max-width:1180px;margin:auto;padding:clamp(50px,7vw,100px) clamp(20px,5vw,70px)}.content-page .page-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.72rem;font-weight:750}.content-page h1{font-size:clamp(3.3rem,8vw,7.8rem);line-height:.88;margin:18px 0 40px}.content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(36px,8vw,120px)}.prose{font-size:1.04rem;line-height:1.8;color:#394550}.prose h2{font:400 2rem var(--serif);color:var(--ink);margin:42px 0 12px}.prose ul{padding-left:20px}.page-panel{background:var(--ink);color:#fff;padding:28px;align-self:start;position:sticky;top:112px}.page-panel p{color:#aeb9c4;line-height:1.65}.page-panel a{display:block;margin-top:20px;padding:13px 16px;background:var(--cyan);color:var(--ink);text-align:center;font-weight:750}.public-form{display:grid;gap:16px}.public-form label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}.public-form input,.public-form textarea,.public-form select{border:1px solid var(--line);background:#fff;padding:13px 14px;font:inherit}.public-form textarea{min-height:150px;resize:vertical}.public-form button{appearance:none;border:0;background:var(--ink);color:#fff;padding:14px 18px;font-weight:750;cursor:pointer}.form-notice{padding:16px;border-left:4px solid var(--cyan);background:#e9f7f9;margin-bottom:22px}.complete-footer{display:grid;grid-template-columns:1.25fr repeat(3,minmax(135px,.65fr));gap:clamp(26px,5vw,70px);padding:58px clamp(22px,5vw,80px) 24px;background:var(--cream);color:var(--ink)}.complete-footer>div{display:flex;align-items:flex-start}.complete-footer>div:not(.footer-brand):not(.footer-bottom){flex-direction:column;gap:12px}.complete-footer strong{font-size:.84rem;margin-bottom:5px}.complete-footer a{font-size:.81rem}.complete-footer a:hover{text-decoration:underline}.footer-brand img{width:235px;height:62px;object-fit:contain;object-position:left}.footer-brand p{max-width:360px;color:var(--muted);font-size:.84rem;line-height:1.6}.footer-brand>a{font-weight:700}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;justify-content:space-between;flex-direction:row!important;color:var(--muted);font-size:.76rem}.footer-bottom button{appearance:none;border:0;background:transparent;text-decoration:underline;color:inherit;cursor:pointer}.share-toast{position:fixed;right:20px;bottom:20px;z-index:250;background:var(--ink);color:#fff;padding:13px 16px;box-shadow:0 10px 35px rgba(0,0,0,.25)}
@media(max-width:1080px){.complete-header{grid-template-columns:210px 1fr auto}.complete-header .brand img{width:195px}.complete-header .main-nav{gap:14px}.complete-header .main-nav a{font-size:.76rem}.admin-link{display:none}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.complete-header{grid-template-columns:1fr auto}.complete-header .main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.complete-header.menu-open .main-nav{display:flex}.menu-toggle{display:block}.detail-info,.content-grid{grid-template-columns:1fr}.page-panel{position:static}.complete-footer{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.footer-bottom{grid-column:1/-1}.detail-layout{grid-template-columns:1fr}.detail-copy{position:static}}
@media(max-width:600px){.complete-header{height:70px;padding:0 14px}.complete-header .brand img{width:170px}.complete-header .main-nav{top:70px}.icon-action{display:none}.global-search{top:70px;padding:24px 16px}.global-search form>div{grid-template-columns:1fr 48px}.global-search button[type=submit]{font-size:0}.global-search button[type=submit]:after{content:'↗';font-size:1.2rem}.intro-shell{min-height:500px}.archive{padding-top:54px}.related-grid{grid-template-columns:1fr}.complete-footer{grid-template-columns:1fr}.complete-footer>div{grid-column:1/-1}.footer-bottom{flex-direction:column!important}.content-page h1{font-size:3.5rem}.work-actions{grid-template-columns:1fr}.detail-info{margin-top:50px}.lightbox-foot{font-size:.68rem}}
.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:44px;font-size:.85rem;font-weight:700}
.pagination a{padding:11px 18px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.pagination a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pagination-status{color:var(--muted);font-weight:400}
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink);color:#fff;padding:14px 20px;font-weight:750;text-decoration:none}
.skip-link:focus{left:12px;top:12px}
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:260;max-width:640px;margin:0 auto;background:var(--ink);color:#fff;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.cookie-banner p{margin:0;flex:1 1 320px;font-size:.82rem;line-height:1.55;color:#c7d0d9}
.cookie-banner a{text-decoration:underline;color:#fff}
.cookie-banner button{appearance:none;border:0;background:var(--cyan);color:var(--ink);padding:11px 18px;font-weight:800;cursor:pointer;white-space:nowrap}

.detail .breadcrumbs{margin-top:26px}

/* Video-led posts: a real, uncropped embedded player that sits in the
   same column as the photo gallery would, so the sidebar and the
   media column stay level instead of leaving an empty gap below. */
.detail-media-column{min-width:0}
.video-feature{position:relative}
.video-feature-player{width:100%;max-height:74vh;display:block;background:#000}
.video-feature .watermark-image{width:min(220px,32%)!important;opacity:1}
.post-gallery{margin-top:0}
.video-feature+.post-gallery{margin-top:16px}

/* Alternating rhythm rows for the remaining photos below the hero —
   computed by buildJustifiedGallery in app.js, which now varies the
   target row height so the sequence reads big / small / big rather
   than one flat uniform size throughout. */
.post-gallery.layout-mosaic{margin-top:8px}
