.gallery-group{padding-block:var(--gap);background:var(--paper-cool)}.gallery-group__heading{display:grid;gap:10px;margin-bottom:48px}.gallery-group__heading h2{font-size:clamp(2.75rem,4.6vw,4rem);line-height:1.08}.gallery-group__heading--right{justify-items:end;text-align:right}.gallery-group__heading p{max-width:34rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:15px}.gallery-tile{position:relative;grid-column:span 4;grid-row:span 2;padding:0;border-radius:16px;overflow:hidden;background:var(--paper-deep);cursor:zoom-in;box-shadow:0 17px 42px rgba(29,57,47,.1)}.gallery-tile--hero{grid-column:span 7;grid-row:span 4}.gallery-tile--wide{grid-column:span 7}.gallery-tile--tall{grid-row:span 3}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:filter .3s var(--ease)}.gallery-tile:hover img{filter:saturate(1.07) contrast(1.02)}.gallery-tile span{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 16px;color:var(--white);font-size:.79rem;text-align:left;background:linear-gradient(to top,rgba(10,27,21,.82),transparent)}.gallery-grid--views .gallery-tile:nth-child(2),.gallery-grid--views .gallery-tile:nth-child(3){grid-column:span 5;grid-row:span 2}.gallery-grid--sites .gallery-tile--wide{grid-row:span 3}.gallery-grid--moments{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:repeat(2,300px);gap:15px}.gallery-grid--moments .gallery-tile:nth-child(1){grid-column:1;grid-row:1/3}.gallery-grid--moments .gallery-tile:nth-child(2),.gallery-grid--moments .gallery-tile:nth-child(3){grid-column:2;grid-row:auto}.gallery-grid--season{grid-template-rows:repeat(3,240px)}.gallery-grid--season .gallery-tile:nth-child(1){grid-column:1/8;grid-row:1/3}.gallery-grid--season .gallery-tile:nth-child(2){grid-column:8/13;grid-row:1}.gallery-grid--season .gallery-tile:nth-child(3){grid-column:8/13;grid-row:2/4}.gallery-grid--season .gallery-tile:nth-child(3) img{object-position:center 78%}.gallery-grid--season .gallery-tile:nth-child(4){grid-column:1/8;grid-row:3}.gallery-grid--grounds{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:12px}.gallery-grid--grounds .gallery-tile{grid-column:auto;grid-row:auto;aspect-ratio:4/5}.lightbox{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:24px;color:var(--white);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s,visibility .28s}.lightbox[aria-hidden="false"]{opacity:1;visibility:visible;pointer-events:auto}.lightbox__backdrop{position:absolute;inset:0;background:rgba(7,18,14,.9);cursor:zoom-out}.lightbox__panel{position:relative;z-index:2;width:min(1100px,94vw);max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:13px}.lightbox__top{display:flex;align-items:center;justify-content:space-between;font-size:.78rem}.lightbox__top button{min-width:72px;min-height:44px;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.48);border-radius:999px;cursor:pointer}.lightbox__stage{position:relative;display:grid;place-items:center;min-height:0}.lightbox__image-host{display:grid;place-items:center;min-width:0;min-height:0}.lightbox__stage img{max-width:100%;max-height:76vh;border-radius:10px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.lightbox__arrow{position:absolute;z-index:3;top:50%;width:48px;height:48px;border-radius:50%;color:var(--white);background:rgba(15,40,31,.78);cursor:pointer}.lightbox__arrow--prev{left:14px}.lightbox__arrow--next{right:14px}.lightbox__panel>p{justify-self:center;font-family:var(--display);font-size:1.2rem}.gallery-tile--video{cursor:pointer}.gallery-tile .gallery-tile__play{left:50%;right:auto;bottom:auto;top:50%;z-index:2;width:72px;height:72px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:50%;color:var(--pine);background:rgba(255,253,248,.92);box-shadow:0 16px 44px rgba(8,18,14,.4);pointer-events:none;transform:translate(-50%,-50%)}.gallery-tile .gallery-tile__play svg{display:block;fill:currentColor;margin-left:4px}.lightbox__image-host.is-video iframe{width:267px;height:476px;max-width:86vw;max-height:76vh;aspect-ratio:267/476;border:0;border-radius:10px;background:#111;box-shadow:0 25px 70px rgba(0,0,0,.45)}@media (max-width:1080px){.gallery-grid{grid-auto-rows:130px}}@media (max-width:860px){.gallery-group__heading{grid-template-columns:50px 1fr}.gallery-group__heading p{grid-column:2}.gallery-group__heading--right h2,.gallery-group__heading--right p{order:initial}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery-tile,.gallery-tile--hero,.gallery-tile--wide,.gallery-grid--views .gallery-tile:nth-child(2),.gallery-grid--views .gallery-tile:nth-child(3),.gallery-grid--views .gallery-tile:nth-child(4),.gallery-grid--season .gallery-tile--wide{grid-column:span 1;grid-row:span 1}.gallery-tile--hero,.gallery-tile--wide{grid-column:1/3}.gallery-tile--tall{grid-row:span 2}}@media (max-width:620px){.gallery-group__heading{grid-template-columns:1fr}.gallery-group__heading p{grid-column:auto}.gallery-group__heading>span{font-size:2.4rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-tile,.gallery-tile--hero,.gallery-tile--wide,.gallery-tile--tall,.gallery-grid--views .gallery-tile:nth-child(2),.gallery-grid--views .gallery-tile:nth-child(3),.gallery-grid--views .gallery-tile:nth-child(4),.gallery-grid--season .gallery-tile--wide{grid-column:1;grid-row:span 1}.gallery-tile--tall{grid-row:span 2}.lightbox{padding:12px}.lightbox__arrow{top:auto;bottom:10px}.lightbox__stage img{max-height:70vh}}@media (max-width:1080px){.gallery-grid--grounds{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto}.gallery-grid--grounds .gallery-tile{grid-column:auto;grid-row:auto}}@media (max-width:860px){.gallery-group__heading,.gallery-group__heading--right{grid-template-columns:1fr;justify-items:start;text-align:left}.gallery-group__heading p{grid-column:auto}.gallery-grid--moments{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:repeat(2,250px)}.gallery-grid--moments .gallery-tile:nth-child(1){grid-column:1;grid-row:1/3}.gallery-grid--moments .gallery-tile:nth-child(2),.gallery-grid--moments .gallery-tile:nth-child(3){grid-column:2;grid-row:auto}.gallery-grid--season{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,220px)}.gallery-grid--season .gallery-tile:nth-child(1){grid-column:1/3;grid-row:1}.gallery-grid--season .gallery-tile:nth-child(2){grid-column:1;grid-row:2}.gallery-grid--season .gallery-tile:nth-child(3){grid-column:2;grid-row:2/4}.gallery-grid--season .gallery-tile:nth-child(4){grid-column:1;grid-row:3}.gallery-grid--grounds{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}.gallery-grid--grounds .gallery-tile{grid-column:auto;grid-row:auto}}@media (max-width:620px){.gallery-group__heading h2{font-size:clamp(2.55rem,11.2vw,3.6rem)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:10px}.gallery-tile,.gallery-tile--hero,.gallery-tile--wide,.gallery-tile--tall{grid-column:span 1;grid-row:span 1}.gallery-tile--hero,.gallery-tile--wide{grid-column:1/3}.gallery-grid--moments{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,210px);grid-auto-rows:210px}.gallery-grid--moments .gallery-tile:nth-child(1){grid-column:1;grid-row:1/3}.gallery-grid--moments .gallery-tile:nth-child(2),.gallery-grid--moments .gallery-tile:nth-child(3){grid-column:2;grid-row:auto}.gallery-grid--season{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,190px)}.gallery-grid--season .gallery-tile:nth-child(1){grid-column:1/3;grid-row:1}.gallery-grid--season .gallery-tile:nth-child(2){grid-column:1;grid-row:2}.gallery-grid--season .gallery-tile:nth-child(3){grid-column:2;grid-row:2/4}.gallery-grid--season .gallery-tile:nth-child(4){grid-column:1;grid-row:3}.gallery-grid--grounds{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.gallery-grid--grounds .gallery-tile{grid-column:auto;grid-row:auto;aspect-ratio:4/5}.gallery-tile .gallery-tile__play{width:58px;height:58px}.lightbox__image-host.is-video iframe{max-height:70vh}}@media (prefers-reduced-motion:reduce){.gallery-tile img{transition:none}}

/* Sites + facilities: fill the 12-col wrap like Terraces and mountain views */
.gallery-grid--sites .gallery-tile:nth-child(1){grid-column:1/8;grid-row:1/4}
.gallery-grid--sites .gallery-tile:nth-child(2){grid-column:8/13;grid-row:1/3}
.gallery-grid--sites .gallery-tile:nth-child(3){grid-column:8/13;grid-row:3/5}
.gallery-grid--sites .gallery-tile:nth-child(4){grid-column:1/8;grid-row:4/5}
.gallery-grid--facilities .gallery-tile:nth-child(1){grid-column:1/8;grid-row:1/5}
.gallery-grid--facilities .gallery-tile:nth-child(2){grid-column:8/13;grid-row:1/3}
.gallery-grid--facilities .gallery-tile:nth-child(3){grid-column:8/13;grid-row:3/5}
.gallery-grid--facilities .gallery-tile:nth-child(4){grid-column:1/13;grid-row:5/7}
@media(max-width:860px){
  .gallery-grid--sites .gallery-tile:nth-child(1),
  .gallery-grid--facilities .gallery-tile:nth-child(1){grid-column:1/3;grid-row:auto}
  .gallery-grid--sites .gallery-tile:nth-child(n+2),
  .gallery-grid--facilities .gallery-tile:nth-child(n+2){grid-column:span 1;grid-row:auto}
  .gallery-grid--sites .gallery-tile:nth-child(2),
  .gallery-grid--facilities .gallery-tile:nth-child(2){grid-column:1/3}
}
@media(max-width:620px){
  .gallery-grid--sites .gallery-tile:nth-child(1),
  .gallery-grid--sites .gallery-tile:nth-child(n+2),
  .gallery-grid--facilities .gallery-tile:nth-child(1),
  .gallery-grid--facilities .gallery-tile:nth-child(n+2){grid-column:span 1;grid-row:span 1}
  .gallery-grid--sites .gallery-tile:nth-child(1),
  .gallery-grid--facilities .gallery-tile:nth-child(1){grid-column:1/3}
}

/* Around the park: compact overlapping print-stack carousel */
.grounds-walk{display:grid;gap:18px}
.grounds-walk__stage{
  position:relative;
  height:clamp(400px,48vw,520px);
  overflow:hidden;
}
.grounds-walk__track{
  display:flex;
  align-items:center;
  gap:14px;
  height:100%;
  padding:16px max(24px,calc((100% - min(228px,58vw)) / 2));
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  user-select:none;
}
.grounds-walk__track::-webkit-scrollbar{display:none;width:0;height:0}
.grounds-walk .gallery-tile{
  flex:0 0 min(300px,56vw);
  grid-column:auto;
  grid-row:auto;
  display:flex;
  flex-direction:column;
  aspect-ratio:auto;
  height:auto;
  padding:8px 8px 0;
  border-radius:4px;
  background:var(--white);
  box-shadow:0 14px 28px rgba(29,57,47,.16);
  scroll-snap-align:center;
  cursor:zoom-in;
  overflow:hidden;
}
.grounds-walk .gallery-tile img{
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  flex:1 1 auto;
  object-fit:cover;
  border-radius:2px;
}
.grounds-walk .gallery-tile>span{
  position:static;
  padding:10px 6px 12px;
  color:var(--pine);
  background:none;
  font-size:.68rem;
  line-height:1.25;
  text-align:center;
}
.grounds-walk__fade{
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(36px,8vw,88px);
  z-index:4;
  pointer-events:none;
}
.grounds-walk__fade--l{
  left:0;
  background:linear-gradient(to right,rgba(241,241,235,1) 0%,rgba(241,241,235,.72) 32%,rgba(241,241,235,.28) 64%,rgba(241,241,235,0) 100%);
}
.grounds-walk__fade--r{
  right:0;
  background:linear-gradient(to left,rgba(241,241,235,1) 0%,rgba(241,241,235,.72) 32%,rgba(241,241,235,.28) 64%,rgba(241,241,235,0) 100%);
}
.grounds-walk__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
}
.grounds-walk__cap{
  margin:0;
  max-width:none;
  font-family:var(--display);
  font-size:clamp(1.15rem,1.8vw,1.55rem);
  line-height:1.15;
  color:var(--pine);
}
.grounds-walk__nav{display:flex;align-items:center;gap:10px;flex-shrink:0}
.grounds-walk__count{
  min-width:4.6em;
  color:var(--slate);
  font-size:.78rem;
  letter-spacing:.04em;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.grounds-walk__btn{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border-radius:50%;
  color:var(--pine);
  background:rgba(255,253,248,.96);
  box-shadow:0 10px 22px -12px rgba(29,57,47,.5);
  cursor:pointer;
}
.grounds-walk__btn svg{display:block}
.grounds-walk__btn:hover,
.grounds-walk__btn:focus-visible{color:var(--ochre);background:var(--white)}
.grounds-walk__btn:focus-visible{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ochre)}
.grounds-walk__film{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:2px;
}
.grounds-walk__dot{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  background:transparent;
  cursor:pointer;
}
.grounds-walk__dot i{
  width:7px;
  height:10px;
  border:1px solid rgba(29,57,47,.32);
  border-radius:1px;
  background:transparent;
}
.grounds-walk__dot.is-on i{
  height:14px;
  background:var(--ochre);
  border-color:var(--ochre);
}

.js .grounds-walk.is-deck .grounds-walk__track{
  display:grid;
  place-items:center;
  padding:0;
  overflow:hidden;
  scroll-snap-type:none;
  touch-action:pan-y;
}
.js .grounds-walk.is-deck .gallery-tile{
  grid-area:1/1;
  width:min(300px,56vw);
  flex:none;
  transform-origin:center center;
  transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .48s cubic-bezier(.22,1,.36,1),box-shadow .48s cubic-bezier(.22,1,.36,1);
}
.js .grounds-walk.is-deck .gallery-tile>span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  padding:0;
}
.js .grounds-walk.is-deck .gallery-tile.is-on{
  box-shadow:0 20px 36px rgba(29,57,47,.22);
}
.js .grounds-walk.is-deck.is-dragging .gallery-tile{
  transition:none;
}
.js .grounds-walk:not(.is-deck) .grounds-walk__nav,
.js .grounds-walk:not(.is-deck) .grounds-walk__film,
html:not(.js) .grounds-walk__nav,
html:not(.js) .grounds-walk__film,
html:not(.js) .grounds-walk__bar{display:none}

@media (max-width:860px){
  .grounds-walk__stage{height:400px}
  .grounds-walk__bar{align-items:flex-start;flex-direction:column;gap:12px}
}
@media (max-width:620px){
  .grounds-walk .gallery-tile,
  .js .grounds-walk.is-deck .gallery-tile{width:min(196px,72vw);flex-basis:min(196px,72vw)}
  .grounds-walk__stage{height:360px}
  .grounds-walk__fade{width:36px}
  .grounds-walk__film{display:none}
}
@media (prefers-reduced-motion:reduce){
  .js .grounds-walk.is-deck .gallery-tile{transition:opacity .2s ease}
}

.page--gallery .page-hero h1{
  max-width:none;
  width:100%;
  text-wrap:unset;
}
.page--gallery .page-hero__content>p:last-child{
  max-width:none;
  width:100%;
}
