.gallery-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding-block:60px 75px}
.gallery-back{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:37px;text-decoration:underline;text-underline-offset:4px}
.gallery-hero .eyebrow{font-size:10px;margin-bottom:22px}
.gallery-hero h1{font-size:clamp(60px,6.5vw,88px);letter-spacing:-.06em;line-height:1}
.gallery-hero h1 em{color:var(--orange)}
.gallery-hero p:not(.eyebrow){font-size:15px;line-height:1.8;margin-top:25px}
.gallery-graphic{position:relative;isolation:isolate;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;padding:27px 30px;background:#171717;color:#fff;overflow:hidden;border-radius:18px}
.gallery-graphic>span{font-size:9px;letter-spacing:.16em;position:relative;z-index:1}
.gallery-graphic strong{font-size:62px;line-height:.95;letter-spacing:-.055em;font-weight:800;position:relative;z-index:1;margin:30px 0}
.gallery-graphic strong em{font-style:normal;color:#ff3544}
.gallery-flag{position:absolute;right:-45px;top:-20px;width:210px;height:390px;background:conic-gradient(#fff 25%,#171717 0 50%,#fff 0 75%,#171717 0) 0 0/52px 52px;transform:rotate(25deg);opacity:.22;z-index:0}
.gallery-archive{padding-bottom:85px}
.gallery-empty{border:1px solid var(--line);border-radius:18px;background:#f5f5f5;padding:60px 30px;text-align:center}
.gallery-camera{width:76px;margin:0 auto 25px;color:var(--orange)}
.gallery-empty .eyebrow{font-size:9px;margin-bottom:17px}
.gallery-empty h2{font-size:clamp(29px,3.2vw,44px);line-height:1.15}
.gallery-empty h2 em{color:var(--orange)}
.gallery-empty>p:not(.eyebrow){font-size:14px;margin:22px auto 27px;max-width:500px}
.gallery-empty .button{font-size:12px}
.gallery-year{display:grid;grid-template-columns:110px minmax(0,1fr);gap:45px;padding-top:45px;border-top:1px solid var(--line)}
.gallery-year>h2{font-size:42px;color:var(--orange)}
.gallery-event{padding-bottom:45px;margin-bottom:45px;border-bottom:1px solid var(--line)}
.gallery-event-heading time{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.gallery-event-heading h3{font-size:34px;margin-top:13px;line-height:1.2}
.gallery-event-heading p{font-size:14px;margin-top:16px;max-width:750px}
.gallery-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:26px}
.gallery-photo-grid:empty{display:none}
.gallery-photo-grid a{display:grid;place-items:center;background:#f1f1f1;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:150px}
.gallery-photo-grid img{width:auto;max-width:100%;height:auto;max-height:280px;object-fit:contain}
.gallery-photo-grid a:hover{border-color:var(--orange)}
.gallery-results{display:flex;align-items:center;flex-wrap:wrap;gap:16px 25px;margin-top:25px}
.gallery-results h4{font-size:14px;line-height:1.5;margin:0 8px 0 0}
.gallery-results .text-link{font-size:12px}
.gallery-pending{font-size:13px;margin-top:20px}
.gallery-results .gallery-pending{margin:0}
@media(max-width:1100px){.gallery-hero{gap:40px}.gallery-graphic strong{font-size:52px}.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.gallery-hero{gap:28px;grid-template-columns:1.2fr 1fr}.gallery-hero h1{font-size:64px}.gallery-hero p:not(.eyebrow){font-size:13px}.gallery-graphic{min-height:320px;padding:25px}.gallery-graphic strong{font-size:48px}.gallery-year{grid-template-columns:80px minmax(0,1fr);gap:25px}}
@media(max-width:680px){.gallery-hero{grid-template-columns:1fr;gap:30px;padding-block:30px 45px}.gallery-back{margin-bottom:30px}.gallery-hero h1{font-size:clamp(54px,14vw,72px)}.gallery-hero p:not(.eyebrow){font-size:14px}.gallery-graphic{min-height:260px}.gallery-graphic strong{font-size:52px;margin:20px 0}.gallery-flag{width:180px;right:0}.gallery-archive{padding-bottom:55px}.gallery-empty{padding:38px 22px}.gallery-empty h2{font-size:30px}.gallery-empty>p:not(.eyebrow){font-size:13px}.gallery-year{display:block;padding-top:30px}.gallery-year>h2{font-size:35px;margin-bottom:30px}.gallery-event{padding-bottom:30px;margin-bottom:30px}.gallery-event-heading h3{font-size:28px}.gallery-photo-grid{grid-template-columns:1fr}.gallery-photo-grid img{max-height:none}}
@media print{.gallery-graphic{display:none}.gallery-hero{display:block}.gallery-event{break-inside:avoid}.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
