.gallery-lead{position:relative;min-height:min(88vh,900px);background:#050505;overflow:hidden}.gallery-lead>img{width:100%;height:min(88vh,900px);object-fit:cover;object-position:center 38%;filter:saturate(.9)}.gallery-lead-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.25) 52%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.62),transparent 45%)}.gallery-lead-copy{position:absolute;left:max(2rem,calc((100vw - 1280px)/2));bottom:clamp(3rem,9vh,7rem);max-width:760px}.gallery-lead-copy .gc-label,.gallery-intro .gc-label,.gallery-access .gc-label,.gallery-closing .gc-label{color:var(--gc-gold)}.gallery-lead-copy h1,.gallery-empty-lead h1{font:700 var(--gc-page-title-size)/.98 var(--font-display);letter-spacing:.05em;text-transform:uppercase;margin:.65rem 0 1.4rem}.gallery-lead-copy>p:not(.gc-label){font-size:.84rem;letter-spacing:.07em;text-transform:uppercase}.gallery-lead-copy>a{display:inline-flex;gap:.8rem;margin-top:1.8rem;color:var(--gc-gold);font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.gallery-empty-lead{padding:12rem max(2rem,calc((100vw - 1280px)/2)) 6rem;background:#080808}
.gallery-sports{max-width:1280px;margin:auto;padding:clamp(3.5rem,5vw,5rem) 2rem}.gallery-section-heading{max-width:760px;margin-bottom:2.25rem}.gallery-section-heading .gc-label{color:var(--gc-gold)}.gallery-section-heading h2{font:700 clamp(1.8rem,2.4vw,2.8rem)/1.08 var(--font-display);text-transform:uppercase;margin:.65rem 0 1rem}.gallery-section-heading>p:last-child{color:var(--gc-muted);line-height:1.75}.gallery-sports-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid #383838;border-left:1px solid #383838}.gallery-sports-row{display:contents}.gallery-sport-card{grid-column:span 2;min-width:0;border-right:1px solid #383838;border-bottom:1px solid #383838;background:#101010;overflow:hidden}.gallery-sports-grid--single .gallery-sport-card{grid-column:1/-1}.gallery-sports-grid--tail-two .gallery-sport-card:nth-last-child(-n+2),.gallery-sports-grid--tail-four .gallery-sport-card:nth-last-child(-n+4),.gallery-sports-grid--balanced-seven .gallery-sport-card:nth-child(-n+2),.gallery-sports-grid--balanced-seven .gallery-sport-card:nth-last-child(-n+2){grid-column:span 3}.gallery-sport-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.72);transition:filter .35s,transform .55s}.gallery-sport-card>div{min-height:124px;padding:1.15rem 1.35rem}.gallery-sport-card span{display:block;color:#777;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.gallery-sport-card h3{color:var(--sport-color,var(--gc-gold));font:700 clamp(1rem,1.35vw,1.28rem)/1.2 var(--font-display);text-transform:uppercase;margin:.55rem 0 1rem}.gallery-sport-card strong{color:#999;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.gallery-sport-card:hover img,.gallery-sport-card:focus-visible img{filter:brightness(.95);transform:scale(1.012)}.gallery-sport-card:hover strong,.gallery-sport-card:focus-visible strong{color:var(--gc-gold)}
.gallery-intro{max-width:1280px;margin:auto;padding:clamp(3.5rem,5vw,5rem) 2rem 3rem;display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:end}.gallery-intro h2{font:700 clamp(1.8rem,2.4vw,2.8rem)/1.08 var(--font-display);text-transform:uppercase;margin-top:.8rem}.gallery-intro>p{color:var(--gc-muted);line-height:1.85;max-width:42ch}
.gallery-filters{max-width:1280px;margin:0 auto 2.5rem;padding:0 2rem;display:flex;gap:.55rem;flex-wrap:wrap}.gallery-filters button{border:1px solid var(--gc-subtle);padding:.65rem 1rem;color:var(--gc-muted);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:border-color .2s,color .2s,background .2s}.gallery-filters button:hover,.gallery-filters button.is-active{border-color:var(--gc-gold);background:var(--gc-gold);color:#090909}
.gallery-mosaic{max-width:1280px;margin:auto;padding:0 2rem 5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.gallery-story{min-width:0}.gallery-story[hidden]{display:none}.gallery-story>button{display:block;width:100%;height:100%;text-align:left}.gallery-story figure{height:100%;display:flex;flex-direction:column;background:#080808;overflow:hidden}.gallery-story img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#080808;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s}.gallery-story figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;min-height:46px;padding:.65rem .75rem;color:#777;font-size:.64rem;line-height:1.25}.gallery-story figcaption .gc-label{color:var(--gc-gold);font-size:.58rem}.gallery-story figcaption>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-story figcaption>span:last-child{color:var(--gc-gold);font-size:1rem}.gallery-story>button:hover img,.gallery-story>button:focus-visible img{transform:scale(1.018);filter:brightness(.75)}.gallery-story>button:hover figcaption,.gallery-story>button:focus-visible figcaption{color:#ccc}.gallery-more{display:block;margin:0 auto 7rem;border:1px solid var(--gc-gold);padding:.9rem 1.4rem;color:var(--gc-gold);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gallery-no-items{max-width:1280px;margin:auto;padding:0 2rem 7rem;color:var(--gc-muted)}
.gallery-viewer{width:min(1120px,calc(100vw - 2rem));max-height:calc(100svh - 2rem);margin:auto;padding:0;border:1px solid #444;background:#090909;color:var(--gc-text);overflow:auto}.gallery-viewer::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(5px)}.gallery-viewer-close{position:sticky;top:.75rem;float:right;z-index:2;margin:.75rem .75rem -3rem 0;width:2.5rem;height:2.5rem;border:1px solid #666;background:rgba(0,0,0,.75);color:#fff;font-size:1.5rem}.gallery-viewer-images{clear:both;display:grid;gap:4px;background:#050505}.gallery-viewer-images img{width:100%;max-height:82svh;object-fit:contain;background:#050505}.gallery-viewer-copy{padding:clamp(1.5rem,4vw,3rem)}.gallery-viewer-copy .gc-label{color:var(--gc-gold)}.gallery-viewer-copy h2{font:700 clamp(1.25rem,2.8vw,2.3rem)/1.15 var(--font-display);text-transform:uppercase;margin:.5rem 0}.gallery-viewer-copy>p:not(.gc-label){color:#888}.gallery-viewer-copy>div{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.4rem}.gallery-viewer-copy a{color:var(--gc-gold);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.gallery-access{border-block:1px solid var(--gc-subtle);background:#0d0d0d;padding:clamp(4rem,7vw,7rem) max(2rem,calc((100vw - 1216px)/2));display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.gallery-access-copy h2{font:700 clamp(1.8rem,2.4vw,2.8rem)/1.08 var(--font-display);text-transform:uppercase;margin:.65rem 0 1rem}.gallery-access-copy>p:not(.gc-label){color:var(--gc-muted);line-height:1.75;max-width:52ch;margin-top:.75rem}.gallery-access-form small strong{color:var(--gc-gold);font-weight:400}.gallery-access-form{border-top:2px solid var(--gc-gold);padding-top:1.4rem}.gallery-access-form label{display:block;margin-bottom:.8rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gallery-access-form>div{display:grid;grid-template-columns:1fr auto;outline:2px solid transparent;outline-offset:2px}.gallery-access-form>div:focus-within{outline-color:var(--gc-gold)}.gallery-access-form>div>input:focus-visible,.gallery-access-form>div>button:focus-visible{outline:none}.gallery-access-form input{min-width:0;background:#171717;border:1px solid #444;padding:1rem 1.1rem;text-transform:uppercase;letter-spacing:.12em}.gallery-access-form button{background:var(--gc-gold);color:#080808;padding:1rem 1.3rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gallery-access-form small{display:block;margin-top:.75rem;color:var(--gc-muted)}.gallery-access-form .gallery-public-link{margin:1.15rem 0 0;color:var(--gc-gold);font-size:.78rem;line-height:1.5}.gallery-public-link a{color:inherit;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(232,184,75,.45)}.gallery-public-link a:hover,.gallery-public-link a:focus-visible{border-bottom-color:var(--gc-gold);color:#f3c657}
.gallery-closing{margin:1.5rem 0;padding:clamp(3rem,5vw,4.5rem) max(2rem,calc((100vw - 1216px)/2));background:linear-gradient(110deg,#171717 0%,#121212 72%);border-block:1px solid #303030}.gallery-closing h2{font:700 clamp(2rem,3.4vw,3.6rem)/1 var(--font-display);text-transform:uppercase;margin:.7rem 0 1.6rem}.gallery-closing>div{display:flex;align-items:center;gap:1.25rem;border-top:1px solid var(--gc-subtle);padding-top:1.5rem}.gallery-closing>div p{max-width:50ch;margin-right:auto;color:var(--gc-muted);line-height:1.7}.gallery-closing>div>a:not(.gc-btn-primary){color:var(--gc-gold);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:1100px){.gallery-sports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-sports-grid .gallery-sport-card{grid-column:auto}.gallery-sports-grid--single .gallery-sport-card,.gallery-sports-grid--tail-two .gallery-sport-card:nth-last-child(-n+2){grid-column:span 1}.gallery-sports-grid--tail-four .gallery-sport-card:nth-last-child(-n+4),.gallery-sports-grid--balanced-seven .gallery-sport-card:nth-child(-n+2),.gallery-sports-grid--balanced-seven .gallery-sport-card:nth-last-child(-n+2){grid-column:span 1}.gallery-sports-row{display:contents}.gallery-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-intro{grid-template-columns:1fr;gap:1.5rem}.gallery-access{grid-template-columns:1fr}.gallery-closing>div{align-items:flex-start;flex-wrap:wrap}.gallery-closing>div p{flex-basis:100%}}
@media(max-width:760px){.gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gallery-sports{padding-inline:1.25rem}.gallery-sports-grid{grid-template-columns:1fr}.gallery-section-heading{margin-bottom:2rem}.gallery-lead,.gallery-lead>img{height:78svh;min-height:620px}.gallery-lead-copy{left:1.25rem;right:1.25rem;bottom:3rem}.gallery-intro{padding-inline:1.25rem}.gallery-filters{padding-inline:1.25rem;flex-wrap:nowrap;overflow-x:auto}.gallery-mosaic{padding-inline:1.25rem}.gallery-story img{aspect-ratio:4/3}.gallery-story figcaption{grid-template-columns:1fr auto}.gallery-story figcaption .gc-label{display:none}.gallery-access{padding-inline:1.25rem}.gallery-access-form>div{grid-template-columns:1fr}.gallery-closing{padding-inline:1.25rem}.gallery-closing>div{flex-direction:column}.gallery-closing>div p{margin:0}.gallery-viewer{width:100vw;max-height:100svh;border:0}.gallery-viewer-copy>div{flex-direction:column;gap:.8rem}}
@media(prefers-reduced-motion:reduce){.gallery-story img,.gallery-story figcaption,.gallery-story-action{transition:none}}

/* Compact editorial callout between portfolio and public galleries. */
@media(min-width:901px){.gallery-closing{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);column-gap:clamp(3rem,7vw,7rem);align-items:end}.gallery-closing>.gc-label{grid-column:1}.gallery-closing>h2{grid-column:1}.gallery-closing>div{grid-column:2;grid-row:1/3;display:flex;align-content:flex-start;align-items:center;flex-wrap:wrap}.gallery-closing>div p{flex-basis:100%;margin:0 0 1.4rem}}

.gallery-request{max-width:1280px;margin:0 auto;padding:clamp(3.5rem,6vw,5.5rem) 2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.gallery-request article{min-width:0;padding:2rem;background:#121212;border:1px solid var(--gc-subtle);display:flex;flex-direction:column;align-items:flex-start}.gallery-request article.is-featured{border-color:rgba(232,184,75,.45);border-top:2px solid var(--gc-gold)}.gallery-request-icon{color:var(--gc-gold);font-size:1.7rem;line-height:1;margin-bottom:1.4rem}.gallery-request h2{font:700 .9rem/1.25 var(--font-display);letter-spacing:.055em;text-transform:uppercase;margin:0 0 .8rem}.gallery-request p{color:var(--gc-muted);font-size:.86rem;line-height:1.75;margin:0 0 1.5rem;flex:1}.gallery-request a{margin-top:auto}
@media(max-width:900px){.gallery-request{grid-template-columns:1fr}.gallery-request article{min-height:0}}
@media(max-width:640px){.gallery-request{padding-inline:1.25rem}}

/* Keep the gallery typography aligned with the established live page. */
.gallery-access-copy h2,.gallery-intro h2,.gallery-section-heading h2,.gallery-closing h2{font-size:clamp(1.5rem,2.5vw,2rem)}
