/* Unseen Sky Gallery v5: editorial imagery first, no boxed dashboard UI. */
.usg-shell{width:min(1320px,calc(100% - 64px));max-width:1320px;margin-inline:auto;padding:32px 0 110px;color:#eaf0f8;box-sizing:border-box}
.usg-shell *{box-sizing:border-box}.usg-shell a{color:inherit;text-decoration:none}
.usg-crumb{font-size:12px;color:#8fa0b6;margin-bottom:30px}.usg-crumb a{color:#bcc8db}.usg-crumb a:hover{color:#fff}
.usg-preview{font-size:12px;color:#e6c57f;background:#33250960;border-left:2px solid #a57c2c;padding:11px 15px;margin-bottom:25px}
.usg-kicker{font:600 10px/1.5 monospace;letter-spacing:.18em;color:#a0b4cd}.usg-shell h1,.usg-shell h2,.usg-shell p{margin-top:0}.usg-shell h1{font-size:clamp(34px,3.5vw,58px);letter-spacing:-.035em;line-height:1.12;margin:12px 0 15px}.usg-shell h2{font-size:clamp(22px,2vw,30px);letter-spacing:-.025em;font-weight:600}
.usg-landing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:35px 0 32px}.usg-landing-head p{color:#a1acbf;line-height:1.65}.usg-total{color:#8292ab;font-size:12px;white-space:nowrap;margin-bottom:16px}
.usg-gallery-section{padding-top:26px;margin-top:24px}.usg-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.usg-section-head h2{margin-bottom:0}.usg-section-head h2 sup{font:500 12px monospace;color:#91a4bf;vertical-align:super}.usg-section-head>span{color:#8796ad;font:11px monospace;letter-spacing:.05em}
.usg-masonry{columns:4 245px;column-gap:16px}.usg-shot{display:block;position:relative;break-inside:avoid;overflow:hidden;margin:0 0 16px;background:#101621;border-radius:5px;isolation:isolate}.usg-shot img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;transition:transform .5s ease,filter .5s ease}.usg-shot:hover img{transform:scale(1.035);filter:brightness(.82)}.usg-shot-overlay{position:absolute;inset:auto 0 0;padding:56px 16px 16px;background:linear-gradient(transparent,#080b13da);display:flex;flex-direction:column;gap:3px;opacity:.88;transition:opacity .25s}.usg-shot:hover .usg-shot-overlay{opacity:1}.usg-shot-overlay strong{font-size:14px;line-height:1.3;font-weight:600}.usg-shot-overlay small{font-size:11px;color:#c5cad5}.usg-more{display:inline-block;margin:10px 0;padding:10px 0;color:#afc7e9!important}
.usg-objects-section{margin-top:60px}.usg-object-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.usg-object-index a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:16px 0;border-bottom:1px solid #222c3a}.usg-object-index strong{font-weight:600;font-size:14px}.usg-object-index span:nth-child(2){grid-column:1;color:#8f9db3;font-size:12px}.usg-object-index span:last-child{grid-column:2;grid-row:1/span 2;color:#92a6bf}.usg-object-index a:hover strong{color:#a9c9ef}
.usg-profile{display:flex;align-items:center;gap:38px;padding:15px 0 36px}.usg-avatar{width:210px;height:210px;flex:none;overflow:hidden;border-radius:6px;background:#111824;display:grid;place-items:center}.usg-avatar img{display:block;width:100%;height:100%;object-fit:cover}.usg-profile-body{flex:1;min-width:0}.usg-profile-body h1{margin:6px 0 10px}.usg-object-type{color:#aab8cb;margin-bottom:16px!important;font-size:15px}.usg-intro{max-width:790px;color:#cad3df;line-height:1.75;font-size:14px}.usg-profile-facts{display:flex;gap:25px;flex-wrap:wrap;color:#8497b2;font-size:12px;margin-top:22px}.usg-object-facts{border-top:1px solid #283345;border-bottom:1px solid #283345;padding:18px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}.usg-object-facts>div{display:flex;flex-direction:column;gap:8px}.usg-object-facts small{font-size:11px;color:#8798af}.usg-object-facts strong{font-size:13px;font-weight:500;color:#e0e7ef}
.usg-photo-heading{margin:8px 0 23px}.usg-photo-heading h1{font-size:clamp(32px,3vw,48px);margin:7px 0}.usg-photo-heading p{font-size:13px;color:#a8b5c7}.usg-photo-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(295px,.85fr);gap:40px;align-items:start}.usg-photo-stage{min-width:0;background:radial-gradient(ellipse at center,#121d2c 0%,#080b12 75%);border-radius:4px;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.usg-open-image{width:100%;min-height:580px;max-height:74vh;background:transparent;border:0;cursor:zoom-in;display:flex;justify-content:center;align-items:center;position:relative;padding:16px}.usg-open-image img{width:auto;max-width:100%;height:auto;max-height:min(72vh,750px);object-fit:contain;display:block;box-shadow:0 18px 45px #0007}.usg-zoom-hint{position:absolute;bottom:19px;right:20px;color:#fff;font-size:12px;padding:9px 12px;background:#101827cf;border-radius:4px;opacity:0;transition:opacity .2s}.usg-open-image:hover .usg-zoom-hint{opacity:1}
.usg-photo-aside{padding-top:9px}.usg-photo-aside h2{font-size:26px;margin:7px 0 25px}.usg-description{color:#c1cbdb;font-size:14px;line-height:1.75}.usg-specs{margin:10px 0 30px}.usg-specs div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;border-bottom:1px solid #202a38}.usg-specs dt{color:#91a1b7;font-size:12px}.usg-specs dd{font-size:13px;color:#e1e9f6;text-align:right;margin:0}.usg-back-object{display:block;padding:17px 0 6px;border-top:1px solid #39485c;font-weight:600;font-size:14px}.usg-back-object>span{float:right}.usg-back-object small{display:block;font-size:11px;font-weight:400;color:#8a9bb3;margin-top:7px}.usg-further{margin-top:55px}.usg-story-links{display:flex;gap:20px;flex-wrap:wrap}.usg-story-links a{font-size:13px;padding:9px 0;border-bottom:1px solid #3e536d}
.usg-lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100vh;margin:0;padding:0;border:0;background:#030509f7;color:white;overflow:hidden}.usg-lightbox::backdrop{background:#000e}.usg-lightbox-canvas{height:100%;width:100%;display:grid;place-items:center;overflow:auto;cursor:grab}.usg-lightbox-canvas img{max-width:none;max-height:none;width:auto;height:auto;object-fit:contain;transform-origin:center;user-select:none;pointer-events:none;will-change:transform}.usg-lightbox button{position:fixed;z-index:2;background:#1e2737eb;border:1px solid #3b4557;border-radius:6px;color:#fff;cursor:pointer;font-size:18px}.us-gallery-lightbox-close{top:18px;left:20px;width:42px;height:42px}.usg-zoom-controls{position:fixed;z-index:2;top:18px;right:20px;display:flex;gap:5px}.usg-zoom-controls button{position:static;width:46px;height:42px}.usg-zoom-controls button[data-zoom-reset]{font-size:12px}
@media(max-width:1040px){.usg-masonry{columns:3 230px}.usg-photo-layout{gap:25px;grid-template-columns:minmax(0,1.4fr) minmax(265px,1fr)}.usg-photo-stage{min-height:500px}.usg-open-image{min-height:500px}.usg-object-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.usg-shell{width:calc(100% - 32px);padding-top:24px}.usg-landing-head{display:block}.usg-masonry{columns:2 165px;column-gap:10px}.usg-shot{margin-bottom:10px}.usg-shot-overlay{padding:30px 10px 10px}.usg-shot-overlay strong{font-size:12px}.usg-profile{gap:18px;align-items:start}.usg-avatar{width:112px;height:112px}.usg-profile-body h1{font-size:29px}.usg-photo-layout{display:block}.usg-photo-stage{min-height:380px}.usg-open-image{min-height:380px;max-height:70vh}.usg-open-image img{max-height:65vh}.usg-photo-aside{margin-top:30px}.usg-objects-section{margin-top:38px}}
@media(max-width:430px){.usg-masonry{columns:2 130px}.usg-object-index{grid-template-columns:1fr}.usg-profile{gap:14px}.usg-avatar{width:88px;height:88px}.usg-profile-body h1{font-size:25px}.usg-profile-facts{gap:9px}.usg-section-head>span{display:none}}

/* Stage 6 – matches the actual site header container, photograph-first editorial styling. */
.usg-shell{width:min(var(--shell,1220px),calc(100% - 96px));max-width:none;color:var(--text,#edf1f7)}
.usg-crumb{font-size:14px;line-height:1.6;color:#b5bfce;margin-bottom:25px}
.usg-kicker{color:#a8b0c0}
.usg-landing-head{padding:16px 0 25px}
.usg-landing-head h1{font-size:clamp(30px,3vw,43px);font-weight:600;letter-spacing:-.035em;margin:6px 0 12px}
.usg-landing-head p{font-size:14px}
.usg-photo-stage{background:#080a0f;min-height:0;border-radius:2px}
.usg-open-image{min-height:0;max-height:none;padding:0}
.usg-open-image img{max-height:690px}
.usg-profile{gap:28px}
.usg-avatar{width:142px;height:142px;border-radius:50%;background:#090c12}
.usg-avatar img{object-fit:cover;object-position:center;transform:scale(1.8)}
.usg-object-index{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 20px}
.usg-object-index a.usg-object-tile{display:flex;align-items:center;gap:13px;padding:7px 0;border:0;min-width:0}
.usg-object-portrait{width:66px;height:66px;border-radius:50%;background:#101319;overflow:hidden;display:block;flex:none}
.usg-object-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(2.1)}
.usg-object-meta{display:flex;flex-direction:column;gap:5px;min-width:0}
.usg-object-index .usg-object-meta strong{font-size:13px;color:#e5e9f0;line-height:1.3}
.usg-object-index .usg-object-meta small{font-size:11px;color:#9aa7b8;line-height:1.4}
.usg-object-index a.usg-object-tile:hover strong{color:#fff}
.usg-object-facts{border-color:#222730}
.usg-specs div{border-color:#242a33}
.usg-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.usg-story-card{display:flex;gap:16px;align-items:flex-start;min-width:0}
.usg-story-card img{width:145px;height:96px;object-fit:cover;flex:none;border-radius:3px;background:#10131a}
.usg-story-copy{display:flex;flex-direction:column;gap:8px;line-height:1.4;min-width:0}
.usg-story-copy strong{font-size:15px;font-weight:600}
.usg-story-copy small{font-size:12px;color:#a1adbd;line-height:1.55}
.usg-related-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.usg-related-images .usg-shot{margin:0;height:230px}
.usg-related-images .usg-shot img{height:100%;width:100%;max-height:none;object-fit:cover;object-position:center}
.usg-related-images .usg-shot-overlay{padding:34px 12px 12px}
@media(max-width:900px){.usg-shell{width:calc(100% - 48px)}.usg-object-index{grid-template-columns:repeat(2,minmax(0,1fr))}.usg-stories{grid-template-columns:1fr}.usg-related-images{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.usg-shell{width:calc(100% - 38px)}.usg-object-portrait{width:54px;height:54px}.usg-object-index{gap:14px}.usg-related-images{grid-template-columns:repeat(2,minmax(0,1fr))}.usg-story-card img{width:110px;height:86px}.usg-avatar{width:100px;height:100px}}
@media(max-width:430px){.usg-object-index{grid-template-columns:1fr}.usg-crumb{font-size:13px}}
/* v7.6 - panable, clipped zoom canvas */
.usg-lightbox-canvas{display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;overscroll-behavior:contain;cursor:default}
.usg-lightbox-canvas.is-zoomed{cursor:grab}
.usg-lightbox-canvas.is-zoomed:active{cursor:grabbing}
.usg-lightbox-canvas img{flex:none;transform-origin:center center;pointer-events:none}

/* v7.7: Restore compact object link avatar in observation sidebar. */
.usg-photo-aside .usg-back-object{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px 0;
  text-decoration:none;
}
.usg-photo-aside .usg-back-object>span{float:none}
.usg-photo-aside .usg-back-portrait{
  width:50px;
  height:50px;
  min-width:50px;
  min-height:50px;
  flex:0 0 50px;
  display:block;
  overflow:hidden;
  border-radius:50%;
  background:#101116;
}
.usg-photo-aside .usg-back-portrait img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  transform:scale(1.8);
  transform-origin:center center;
}
.usg-photo-aside .usg-back-copy{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:4px;
}
.usg-photo-aside .usg-back-copy strong{font-size:13px;line-height:1.35}
.usg-photo-aside .usg-back-copy small{margin:0;line-height:1.4}
.usg-photo-aside .usg-back-arrow{flex:0 0 auto;margin-left:auto}

/* v7.8: one visual treatment for the object avatar in every context. */
.usg-avatar.usg-object-crop,
.usg-object-portrait.usg-object-crop,
.usg-back-portrait.usg-object-crop{
  overflow:hidden;
  border-radius:50%;
  flex-shrink:0;
  background:#101116;
}
.usg-avatar.usg-object-crop img,
.usg-object-portrait.usg-object-crop img,
.usg-photo-aside .usg-back-portrait.usg-object-crop img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.35);
  transform-origin:50% 50%;
}
/* Catalog facts are rendered as span elements, not divs. */
.usg-object-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:18px 28px;
  align-items:start;
}
.usg-object-facts>.usg-object-fact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  min-width:0;
}
.usg-object-facts>.usg-object-fact small{
  display:block;
  line-height:1.3;
  font-size:11px;
  color:#91a1b7;
}
.usg-object-facts>.usg-object-fact strong{
  display:block;
  line-height:1.4;
  font-size:13px;
  font-weight:500;
  color:#e0e7ef;
  overflow-wrap:anywhere;
}

/* v7.9: gallery pages are neutral black, never the site's blue global background. */
body:has(.usg-shell){background:#000!important;background-image:none!important}
body:has(.usg-shell) .usg-shell{background:#000!important}
.usg-shell .usg-photo-stage,.usg-shell .usg-avatar,.usg-shell .usg-object-portrait,
.usg-shell .usg-back-portrait{background:#080808!important}
.usg-shell .usg-shot{background:#0c0c0c!important}
.usg-shell .usg-shot-overlay{background:linear-gradient(transparent,rgba(0,0,0,.9))!important}
.usg-shell .usg-profile{padding-bottom:22px}
.usg-shell .usg-object-type{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 9px!important}
.usg-shell .usg-object-type span{display:inline-block;font-size:12px;color:#bfc4cc;background:#111;border:1px solid #303030;border-radius:18px;padding:5px 11px;line-height:1.45}
.usg-shell .usg-object-facts{display:none!important}
/* Never crop or zoom avatars in CSS. All use one pre-rendered 320x320 file. */
.usg-shell .usg-avatar.usg-object-crop img,
.usg-shell .usg-object-portrait.usg-object-crop img,
.usg-shell .usg-photo-aside .usg-back-portrait.usg-object-crop img{
 width:100%!important;height:100%!important;object-fit:cover!important;
 object-position:50% 50%!important;transform:none!important;
 max-width:none;max-height:none;display:block;
}

/* v8.1: object profiles before photos, reduced section spacing. */
.usg-landing .usg-objects-section{margin-top:8px;padding-top:12px}
.usg-landing .usg-objects-section + .usg-gallery-section{margin-top:28px;padding-top:12px}

/* v8.2: compact editorial hierarchy, consistent article-like breadcrumbs. */
.usg-shell .usg-crumb{font:600 11px/1.65 monospace;letter-spacing:.105em;text-transform:uppercase;color:#bac1cc;margin:6px 0 28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.usg-shell .usg-crumb a{color:#d6dbe2;transition:color .15s ease}
.usg-shell .usg-crumb a:hover{color:#fff}
.usg-shell .usg-crumb-sep{color:#f04c52;font-size:13px;font-weight:700;letter-spacing:0}
.usg-shell .usg-landing-head{padding:4px 0 15px;align-items:center}
.usg-shell .usg-landing-head h1{font-size:clamp(26px,2.7vw,36px);margin:2px 0 5px;font-weight:600}
.usg-shell .usg-landing-head p{font-size:13px;line-height:1.45;margin:0;color:#9da3ad}
.usg-shell .usg-total{font-size:11px;margin:0;color:#aeb5c0}
.usg-shell .usg-section-head{margin-bottom:14px}
.usg-shell .usg-section-head h2{font-size:clamp(19px,1.65vw,23px);font-weight:600}
.usg-shell .usg-objects-section{margin-top:2px;padding-top:4px}
.usg-shell .usg-objects-section+.usg-gallery-section{margin-top:20px;padding-top:9px}
.usg-shell .usg-object-index{row-gap:8px;column-gap:16px}
.usg-shell .usg-object-index a.usg-object-tile{padding:4px 0}
.usg-shell .usg-object-portrait{width:56px;height:56px}
.usg-shell .usg-photo-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:4px 0 18px}
.usg-shell .usg-photo-heading h1{font-size:clamp(29px,2.7vw,40px);margin:0 0 7px;font-weight:600}
.usg-shell .usg-photo-heading p{margin:0;font-size:12px;color:#aeb8c5}
.usg-shell a.usg-photo-profile{display:flex;align-items:center;gap:12px;min-width:0;padding:7px 0;color:#e6eaf0;flex:0 0 auto}
.usg-shell .usg-photo-profile .usg-back-portrait{width:48px;height:48px;flex:0 0 48px;overflow:hidden;border-radius:50%;background:#0c0c0c}
.usg-shell .usg-photo-profile .usg-back-portrait img{width:100%;height:100%;object-fit:cover;transform:none!important}
.usg-shell .usg-photo-profile>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.usg-shell .usg-photo-profile strong{font-size:12px;font-weight:600}
.usg-shell .usg-photo-profile small{font-size:11px;color:#9da8b6}
.usg-shell .usg-photo-profile>span:last-child{font-size:15px;color:#c0ccd9}
.usg-shell .usg-photo-aside{padding-top:0}
.usg-shell .usg-photo-aside h2{font-size:20px;margin:0 0 14px;font-weight:600}
.usg-shell .usg-specs{margin:5px 0 0}
.usg-shell .usg-specs div{padding:10px 0;border-color:#2b2b2b}
.usg-shell .usg-specs dt{color:#a4abb5}
.usg-shell .usg-specs dd{color:#e6e6e6}
.usg-shell .usg-further{margin-top:30px;padding-top:14px}
.usg-shell .usg-related-images{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.usg-shell .usg-related-images .usg-shot{height:155px;border-radius:3px}
.usg-shell .usg-related-images .usg-shot-overlay{padding:20px 9px 9px}
.usg-shell .usg-related-images .usg-shot-overlay strong{font-size:12px}
.usg-shell .usg-related-images .usg-shot-overlay small{font-size:10px}
@media(max-width:900px){.usg-shell .usg-related-images{grid-template-columns:repeat(3,minmax(0,1fr))}.usg-shell .usg-photo-heading{gap:12px}.usg-shell .usg-landing-head{gap:10px}}
@media(max-width:740px){.usg-shell .usg-photo-heading{align-items:flex-start;flex-wrap:wrap}.usg-shell a.usg-photo-profile{padding:3px 0}.usg-shell .usg-related-images{grid-template-columns:repeat(3,minmax(0,1fr))}.usg-shell .usg-related-images .usg-shot{height:140px}}
@media(max-width:480px){.usg-shell .usg-crumb{font-size:10px;gap:7px;margin-bottom:19px}.usg-shell .usg-related-images{grid-template-columns:repeat(2,minmax(0,1fr))}.usg-shell .usg-related-images .usg-shot{height:145px}.usg-shell .usg-total{display:block;margin-top:7px}}

/* v8.3: unified object avatars and a lighter gallery index */
.usg-shell .usg-avatar.usg-object-crop,
.usg-shell .usg-object-portrait.usg-object-crop,
.usg-shell .usg-back-portrait.usg-object-crop {
  border:1px solid #565656!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.32);
  border-radius:50%;
}
.usg-shell .usg-photo-profile {padding:0!important;flex:0 0 auto;align-self:center;line-height:0}
.usg-shell .usg-photo-profile .usg-back-portrait {width:54px;height:54px;flex:0 0 54px}
.usg-shell .usg-photo-profile:hover .usg-back-portrait {border-color:#a8a8a8!important}
/* v8.5: preserve the avatar + descriptive object profile text */
.usg-shell .usg-shot img {content-visibility:auto}
.usg-shell .usg-object-tile img{decoding:async}
@media(max-width:650px){.usg-shell .usg-photo-profile .usg-back-portrait{width:44px;height:44px;flex-basis:44px}}

/* v8.4: keep profile link descriptive; one shared avatar image */
.usg-shell .usg-photo-profile{line-height:normal;gap:10px!important;}
.usg-shell .usg-photo-profile .usg-photo-profile-label{display:flex!important;flex-direction:column;gap:4px;line-height:1.3}
.usg-shell .usg-photo-profile .usg-photo-profile-label strong{font-size:12px;color:#e9edf1}
.usg-shell .usg-photo-profile .usg-photo-profile-label small{font-size:10px;color:#9ea7b3}
.usg-shell .usg-photo-profile:hover .usg-photo-profile-label strong{color:#fff}
.usg-shell .usg-load-more{display:block;width:min(100%,420px);margin:26px auto 0;padding:15px 24px;border:1px solid #585858;border-radius:5px;background:#171717;text-align:center;font-size:13px;font-weight:700;letter-spacing:.025em;color:#f1f1f1!important;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}
.usg-shell .usg-load-more:hover{background:#282828;border-color:#999}
.usg-shell .usg-load-more[aria-disabled="true"]{opacity:.65;cursor:progress}
@media(max-width:650px){.usg-shell .usg-photo-profile .usg-photo-profile-label small{max-width:160px}}

/* v8.6: True continuous masonry, one shared set of columns across all Load More batches.
   JS progressively appends cards to the shortest column. The legacy batch has
   CSS-only multi-column fallback before JS initializes or without JavaScript. */
.usg-shell .usg-masonry{display:block;columns:auto!important;column-gap:0!important}
.usg-shell .usg-masonry-batch{columns:4 245px;column-gap:16px;width:100%;display:block}
.usg-shell .usg-masonry-batch .usg-shot{break-inside:avoid;page-break-inside:avoid}
.usg-shell .usg-masonry.usg-masonry-enhanced{display:flex!important;align-items:flex-start;gap:16px}
.usg-shell .usg-masonry-column{min-width:0;flex:1 1 0;display:flex;flex-direction:column;gap:16px}
.usg-shell .usg-masonry-column>.usg-shot{margin:0!important;break-inside:auto}
/* Keep avatar and description visible, regardless of legacy CSS specificity. */
.usg-shell .usg-photo-profile>.usg-photo-profile-label{display:flex!important;flex-direction:column;gap:4px;line-height:1.35}
@media(max-width:1040px){.usg-shell .usg-masonry-batch{columns:3 230px}}
@media(max-width:740px){.usg-shell .usg-masonry-batch{columns:2 165px}}
@media(max-width:430px){.usg-shell .usg-masonry-batch{columns:2 130px}}
@media(max-width:740px){.usg-shell .usg-masonry.usg-masonry-enhanced,.usg-shell .usg-masonry-column{gap:10px}}

/* v8.7: chronology-first responsive grid. No per-column redistribution.
   Grid is intentionally NOT dense: DOM order (capture date DESC) stays
   visually readable left-to-right then downward. Consistent gutters. */
.usg-shell #usg-main-photos{
  display:grid!important;
  columns:auto!important;
  column-gap:14px!important;
  row-gap:14px!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  grid-auto-flow:row;
}
.usg-shell #usg-main-photos.usg-ordered-grid{
  grid-auto-rows:6px;
}
.usg-shell #usg-main-photos > a.usg-shot{
  min-width:0;
  width:100%;
  height:auto;
  margin:0!important;
  align-self:start;
  break-inside:auto;
}
.usg-shell #usg-main-photos > a.usg-shot img{
  width:100%;height:auto;display:block;
}
@media(max-width:1040px){.usg-shell #usg-main-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.usg-shell #usg-main-photos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px!important;row-gap:10px!important}}


/* v8.9: stable row-major layout. No JS-calculated grid-row spans.
   Rows grow to the tallest image, so cards never overlap or paint into newsletter. */
.usg-shell #usg-main-photos,
.usg-shell #usg-main-photos.usg-ordered-grid {
  display:grid!important;
  columns:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  column-gap:14px!important;
  row-gap:14px!important;
  align-items:start!important;
  overflow:visible;
}
.usg-shell #usg-main-photos > a.usg-shot,
.usg-shell #usg-main-photos.usg-ordered-grid > a.usg-shot {
  grid-row:auto!important;
  grid-column:auto!important;
  grid-row-end:auto!important;
  width:100%;height:auto;margin:0!important;
  align-self:start;
  min-width:0;
}
.usg-shell #usg-main-photos > a.usg-shot img {
  width:100%;height:auto;max-height:430px;object-fit:cover;
}
@media(max-width:1040px){.usg-shell #usg-main-photos,.usg-shell #usg-main-photos.usg-ordered-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:740px){.usg-shell #usg-main-photos,.usg-shell #usg-main-photos.usg-ordered-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important;row-gap:10px!important}}

/* v9.0: real chronological masonry without absolute positioning. Earlier row-grid
   overrides are superseded only when measured JS enhancement is active.
   CSS Grid never overlaps items; each card spans rows from its displayed image height. */
.usg-shell #usg-main-photos.usg-masonry-measured {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:4px!important;
  grid-auto-flow:row!important; /* no dense: preserves DOM/capture-date order */
  column-gap:14px!important;
  row-gap:14px!important;
  align-items:start!important;
  overflow:visible!important;
}
.usg-shell #usg-main-photos.usg-masonry-measured > a.usg-shot {
  grid-row:auto;
  grid-row-end:var(--usg-row-span, span 1)!important; /* replaces old v8.9 !important */
  grid-column:auto!important;
  width:100%!important;
  align-self:start!important;
  margin:0!important;
  min-width:0;
  overflow:hidden;
}
.usg-shell #usg-main-photos.usg-masonry-measured > a.usg-shot img {
  display:block!important;width:100%!important;height:auto!important;
  max-height:430px;object-fit:cover;
}
@media(max-width:1040px){
  .usg-shell #usg-main-photos.usg-masonry-measured {grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:740px){
  .usg-shell #usg-main-photos.usg-masonry-measured {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:10px!important;row-gap:10px!important;
  }
}


/* v9.1: object profiles use the same card collection but NOT the homepage
   #usg-main-photos load-more enhancer. Keep their observations as compact
   responsive cards rather than full-width banners. */
.usg-shell.usg-object .usg-gallery-section > .usg-masonry {
  display:grid!important;
  columns:auto!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:14px!important;
  row-gap:14px!important;
  grid-auto-flow:row;
  align-items:start;
  width:100%;
}
.usg-shell.usg-object .usg-gallery-section > .usg-masonry > a.usg-shot {
  display:block;
  width:100%;
  min-width:0;
  height:auto;
  margin:0!important;
  break-inside:auto;
}
.usg-shell.usg-object .usg-gallery-section > .usg-masonry > a.usg-shot img {
  display:block;
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:cover;
}
@media(max-width:1040px) {
  .usg-shell.usg-object .usg-gallery-section > .usg-masonry {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:740px) {
  .usg-shell.usg-object .usg-gallery-section > .usg-masonry {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:10px!important;
    row-gap:10px!important;
  }
}

/* v9.2 public launch: a little breathing room after object profiles. */
.usg-shell.usg-landing .usg-objects-section + .usg-gallery-section { margin-top: 36px; }

/* Gallery v9.3: gentle separation between photo-page related sections. */
.usg-shell.usg-observation .usg-further + .usg-further { margin-top: 44px; }
.usg-shell.usg-observation .usg-further .usg-section-head { margin-bottom: 18px; }


/* Gallery v9.6: give observation related sections space without affecting other pages. */
.usg-shell.usg-observation .usg-photo-layout + .usg-further { margin-top: 72px; }
.usg-shell.usg-observation .usg-further + .usg-further { margin-top: 68px; }
.usg-shell.usg-observation .usg-further .usg-section-head { margin-bottom: 22px; }

/* An astronomical object's stories use the same compact editorial cards as observations. */
.usg-shell.usg-object .usg-object-stories { margin-top: 66px; }
.usg-shell.usg-object .usg-object-stories .usg-section-head { margin-bottom: 22px; }
@media(max-width:740px) {
  .usg-shell.usg-observation .usg-photo-layout + .usg-further { margin-top: 46px; }
  .usg-shell.usg-observation .usg-further + .usg-further { margin-top: 48px; }
  .usg-shell.usg-object .usg-object-stories { margin-top: 48px; }
}
