/* Lagoon artwork supplied by Penny K; scoped to the mod page. */
.lagoon-page{background:#233b32 url('/assets/escape-lagoon-monster-background.png') center center/cover fixed;padding-top:48px;padding-bottom:80px}
.lagoon-topline{color:#fff;background:#253338e8;border:1px solid #ffffff30;border-radius:8px;padding:16px 20px;margin-bottom:32px}
.lagoon-gallery{position:static;background:#f4f5eaf2;padding:16px;border:1px solid #ffffff80;border-radius:18px;box-shadow:0 16px 48px #10271f30}
.lagoon-gallery>a{border-radius:10px}
.lagoon-gallery .gallery-note{margin-bottom:0}
.lagoon-info{background:rgba(244,245,234,.8);padding:36px;border:1px solid #ffffff90;border-radius:18px;box-shadow:0 16px 48px #10271f30}
.lagoon-details{background:rgba(244,245,234,.8);padding:40px;border:1px solid #ffffff90;border-radius:18px;margin-top:56px;gap:48px;box-shadow:0 16px 48px #10271f30}
@media(max-width:1000px){.lagoon-info{padding:26px}.lagoon-product{gap:28px}}
@media(max-width:760px){.lagoon-page{background-attachment:scroll;background-position:left top;background-size:auto 900px;background-repeat:repeat-y;padding:38px 18px 40px}.lagoon-topline{padding:14px 12px;gap:12px;margin-bottom:24px}.lagoon-gallery{padding:12px;border-radius:14px}.lagoon-info{padding:26px 20px;border-radius:14px}.lagoon-info h1{font-size:clamp(44px,13vw,64px)}.lagoon-details{padding:26px 20px;margin-top:28px;gap:16px;border-radius:14px}.lagoon-details h2{font-size:30px}}
.batch-stats{margin:24px 0 0;padding:20px 0 14px;border-block:1px solid #25333830}.batch-label{font-size:11px;letter-spacing:.1em;font-weight:700;margin-bottom:18px}.batch-stats dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.batch-stats dl>div{display:grid;grid-template-rows:34px auto;gap:4px}.batch-stats dt{grid-row:2}.batch-stats dd{grid-row:1}.batch-stats dt{font-size:11px;line-height:1.4}.batch-stats dd{font-size:30px;font-weight:750;line-height:1.1;margin:0}.batch-caption,.batch-stats-status{font-size:10px;line-height:1.6;margin:14px 0 0;color:#42534b}.batch-stats-status:empty{display:none}.lagoon-price{font-size:22px;font-weight:650;line-height:1.4;text-align:center;margin:0;padding:20px 0;color:#253338}.lagoon-price+.lagoon-signup{margin-top:0}@media(max-width:380px){.batch-stats dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
.batch-caption{font-size:11px}.batch-production{margin:4px 0 0;color:#253338;font-size:11px;line-height:1.6}.batch-production strong{font-weight:750}

/* Equal, borderless statistic cards with centred numbers and labels. */
.batch-stats dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.batch-stats dl>div{grid-template-rows:34px auto;align-content:start;padding:10px 6px;text-align:center;background:rgba(255,255,255,.48);border:0;border-radius:8px}.batch-stats dt{font-size:11px;min-height:0}.batch-stats dd{font-size:30px}@media(max-width:480px){.batch-stats dl{gap:6px}.batch-stats dl>div{padding:8px 3px}.batch-stats dt{font-size:10px}.batch-stats dd{font-size:26px}}

/* Decorative animation stays behind content and never intercepts input. */
.lagoon-page{position:relative;isolation:isolate}
.lagoon-motion-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.lagoon-motion-layer canvas{position:absolute;top:0;left:0;width:100%;display:block}
@media(prefers-reduced-motion:reduce){.lagoon-motion-layer{display:none}}

/* Rolling foreground mist: two soft banks crossing at different speeds. */
.lagoon-fog{position:fixed;inset:auto 0 0;height:clamp(140px,25vh,260px);overflow:hidden;z-index:5;pointer-events:none;user-select:none;mask-image:linear-gradient(transparent,#000 55%);-webkit-mask-image:linear-gradient(transparent,#000 55%)}
.lagoon-fog::before,.lagoon-fog::after{content:"";position:absolute;inset:-15% -45% -25%;filter:blur(16px);will-change:transform;pointer-events:none;background:radial-gradient(ellipse 18% 38% at 15% 75%,#e3ede3c0 0%,#d8e6dc60 35%,transparent 100%),radial-gradient(ellipse 22% 30% at 48% 60%,#dce9dfb0 0%,#dce9df40 40%,transparent 100%),radial-gradient(ellipse 20% 45% at 82% 88%,#e7eee5b0 0%,#cddfd350 40%,transparent 100%);opacity:.42;animation:lagoon-fog-drift 17s ease-in-out -5s infinite alternate}
.lagoon-fog::after{inset:5% -55% -40%;opacity:.3;filter:blur(23px);animation:lagoon-fog-return 23s ease-in-out -11s infinite alternate;background:radial-gradient(ellipse at 25% 85%,#edf2e8b0,transparent 48%),radial-gradient(ellipse at 65% 65%,#dbe8df90,transparent 46%),radial-gradient(ellipse at 95% 95%,#e8efe5a0,transparent 45%)}
@keyframes lagoon-fog-drift{0%{transform:translate3d(-18%,9%,0) scaleY(.88)}50%{transform:translate3d(0,-7%,0) scaleY(1.12)}100%{transform:translate3d(18%,2%,0) scaleY(.98)}}
@keyframes lagoon-fog-return{0%{transform:translate3d(19%,6%,0) scaleY(1.08)}50%{transform:translate3d(0,-10%,0) scaleY(.9)}100%{transform:translate3d(-19%,3%,0) scaleY(1.14)}}
@media(max-width:760px){.lagoon-fog{height:170px}.lagoon-fog::before{opacity:.34}.lagoon-fog::after{opacity:.24}}
@media(prefers-reduced-motion:reduce){.lagoon-fog::before,.lagoon-fog::after{animation:none;will-change:auto}}

/* Escape Lagoon photo gallery: lead image with a two-column product grid. */
.lagoon-gallery-main a,.lagoon-gallery-grid a{display:block;overflow:hidden;background:#183e39;cursor:zoom-in}
.lagoon-gallery-main a{border-radius:10px}
.lagoon-gallery-main img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lagoon-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.lagoon-gallery-grid a{border-radius:8px}
.lagoon-gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .25s ease,opacity .25s ease}
.lagoon-gallery-grid a:hover img{transform:scale(1.025);opacity:.94}
.lagoon-gallery-grid a:focus-visible{outline:3px solid #315f4e;outline-offset:3px}
@media(max-width:760px){.lagoon-gallery-grid{gap:7px;margin-top:10px}.lagoon-gallery-grid a{border-radius:6px}}
@media(prefers-reduced-motion:reduce){.lagoon-gallery-grid img{transition:none}}


/* Varied photo-card gallery */
.lagoon-gallery-main{margin-bottom:14px}
.lagoon-gallery-main a,
.lagoon-gallery-grid a{
  background:#f8f7ed;
  border:1px solid #fff9;
  box-shadow:0 10px 28px #10271f26;
  padding:8px;
}
.lagoon-gallery-main a{border-radius:12px}
.lagoon-gallery-main img{border-radius:7px}
.lagoon-gallery-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-flow:dense;
  align-items:start;
  gap:14px;
}
.lagoon-gallery-grid a{grid-column:span 3;border-radius:12px}
.lagoon-gallery-grid a:nth-child(6n+1),
.lagoon-gallery-grid a:nth-child(6n+4){grid-column:span 4}
.lagoon-gallery-grid a:nth-child(6n+2),
.lagoon-gallery-grid a:nth-child(6n+3){grid-column:span 2}
.lagoon-gallery-grid a:nth-child(5n+2) img{aspect-ratio:3/4}
.lagoon-gallery-grid a:nth-child(5n+4) img{aspect-ratio:4/3}
.lagoon-gallery-grid img{border-radius:7px;aspect-ratio:1/1}

/* Minimal full-screen viewer: previous, next and close */
.photo-viewer{
  position:fixed;
  overflow:visible;
  width:min(1500px,96vw);
  height:94dvh;
  max-height:94dvh;
  padding:16px 72px;
  border:0;
  border-radius:14px;
  background:#111;
}
.photo-viewer .photo-stage{height:100%;overflow:hidden}
.photo-viewer .photo-stage img{display:block;width:100%;height:100%;object-fit:contain}
.photo-viewer .photo-close,
.photo-viewer .photo-nav{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:1px solid #ffffff70;
  border-radius:999px;
  background:#111c;
  color:#fff;
  cursor:pointer;
  line-height:1;
  box-shadow:none;
}
.photo-viewer .photo-close{top:16px;right:16px;width:44px;height:44px;padding:0;font-size:30px;font-weight:300}
.photo-viewer .photo-nav{top:50%;width:52px;height:52px;padding:0;font-size:42px;font-weight:300;transform:translateY(-50%)}
.photo-viewer .photo-prev{left:12px}
.photo-viewer .photo-next{right:12px}
.photo-viewer .photo-close:hover,
.photo-viewer .photo-nav:hover{background:#315f4e}
.photo-viewer .photo-close:focus-visible,
.photo-viewer .photo-nav:focus-visible{outline:3px solid #fff;outline-offset:3px}
.photo-viewer .photo-zoom[hidden],
.viewer-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:760px){
  .lagoon-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .lagoon-gallery-grid a{grid-column:span 1;padding:6px;border-radius:9px}
  .lagoon-gallery-grid a:nth-child(4n+1){grid-column:span 2}
  .lagoon-gallery-grid a:nth-child(5n+2) img,
  .lagoon-gallery-grid a:nth-child(5n+4) img{aspect-ratio:1/1}
  .lagoon-gallery-grid a:nth-child(4n+1) img{aspect-ratio:4/3}
  .photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:10px 44px;border-radius:0}
  .photo-viewer .photo-close{top:10px;right:10px;width:40px;height:40px;font-size:27px}
  .photo-viewer .photo-nav{width:38px;height:46px;border:0;background:#111a;font-size:36px}
  .photo-viewer .photo-prev{left:3px}
  .photo-viewer .photo-next{right:3px}
}

/* Escape Mod information inside the existing left gallery card */
.lagoon-description-inline{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(220px,.92fr);
  gap:30px;
  margin:28px 0 26px;
  padding:28px 0;
  border-block:1px solid #b9c8bd;
}
.lagoon-description-inline h2{font-size:clamp(32px,3.2vw,46px);margin-bottom:20px}
.lagoon-description-copy>p:not(.lagoon-kicker){color:#42584f;font-size:13px;line-height:1.72;margin-bottom:14px}
.lagoon-description-copy>p:last-child{margin-bottom:0}
.lagoon-description-inline .lagoon-feature-panel{align-self:start;padding-left:24px;border-left:1px solid #b9c8bd}
.lagoon-description-inline .lagoon-feature-panel h3{font-size:18px;margin-bottom:14px}
.lagoon-description-inline ul{display:grid;gap:8px;margin:0;padding-left:20px;color:#354b43;font-size:12px;line-height:1.55}
.lagoon-description-inline li::marker{color:#437667}
.lagoon-description-inline .lagoon-power-note{margin-top:20px;padding-top:18px;border-top:1px solid #b9c8bd}
.lagoon-description-inline .lagoon-power-note h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.lagoon-description-inline .lagoon-power-note p,
.lagoon-description-inline .lagoon-made-by{color:#42584f;font-size:11px;line-height:1.6;margin:0}
.lagoon-description-inline .lagoon-made-by{margin-top:16px}

/* Slow, individually timed photo-card drift */
.lagoon-gallery-feature,
.lagoon-gallery-thumb{
  --float-amp:5px;
  --float-tilt:.12deg;
  --float-duration:14s;
  --float-delay:-3s;
  animation:lagoon-card-float var(--float-duration) ease-in-out var(--float-delay) infinite alternate;
  will-change:transform;
}
.lagoon-gallery-feature{--float-amp:4px;--float-duration:17s;--float-delay:-8s}
.lagoon-gallery-thumb:nth-child(6n+1){--float-amp:7px;--float-duration:15s;--float-delay:-9s;--float-tilt:.18deg}
.lagoon-gallery-thumb:nth-child(6n+2){--float-amp:4px;--float-duration:12s;--float-delay:-5s;--float-tilt:-.1deg}
.lagoon-gallery-thumb:nth-child(6n+3){--float-amp:6px;--float-duration:18s;--float-delay:-12s;--float-tilt:.14deg}
.lagoon-gallery-thumb:nth-child(6n+4){--float-amp:5px;--float-duration:13s;--float-delay:-2s;--float-tilt:-.16deg}
.lagoon-gallery-thumb:nth-child(6n+5){--float-amp:8px;--float-duration:20s;--float-delay:-15s;--float-tilt:.1deg}
.lagoon-gallery-thumb:nth-child(6n){--float-amp:3px;--float-duration:16s;--float-delay:-7s;--float-tilt:-.12deg}
@keyframes lagoon-card-float{
  from{transform:translate3d(0,calc(var(--float-amp) * -1),0) rotate(calc(var(--float-tilt) * -1))}
  to{transform:translate3d(0,var(--float-amp),0) rotate(var(--float-tilt))}
}

@media(max-width:760px){
  .lagoon-description-inline{grid-template-columns:1fr;gap:22px;margin:22px 0;padding:24px 0}
  .lagoon-description-inline h2{font-size:34px}
  .lagoon-description-copy>p:not(.lagoon-kicker){font-size:13px}
  .lagoon-description-inline .lagoon-feature-panel{padding:20px 0 0;border-left:0;border-top:1px solid #b9c8bd}
  .lagoon-gallery-feature,.lagoon-gallery-thumb{--float-amp:3px;--float-tilt:.06deg}
}
@media(prefers-reduced-motion:reduce){
  .lagoon-gallery-feature,.lagoon-gallery-thumb{animation:none;will-change:auto}
}


/* Open gallery layout: individual image cards without an enclosing card */
.lagoon-gallery{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}
.lagoon-gallery figcaption{
  color:#fff;
  border-bottom-color:#ffffff50;
  text-shadow:0 1px 8px #10271f;
}
.lagoon-description-inline{
  color:#fff;
  border-block-color:#ffffff50;
  text-shadow:0 1px 8px #10271f;
}
.lagoon-description-inline .lagoon-description-copy>p:not(.lagoon-kicker),
.lagoon-description-inline .lagoon-feature-panel ul,
.lagoon-description-inline .lagoon-power-note p,
.lagoon-description-inline .lagoon-made-by{
  color:#f3f7f2;
}
.lagoon-description-inline .lagoon-feature-panel,
.lagoon-description-inline .lagoon-power-note{
  border-color:#ffffff50;
}
.lagoon-description-inline li::marker{color:#b7d9c3}

@media(max-width:760px){.lagoon-gallery{padding:0;border-radius:0}}


/* Full-width gallery begins below the two upper product columns */
.lagoon-gallery-wide{margin-top:46px}
@media(max-width:760px){.lagoon-gallery-wide{margin-top:30px}}


/* Text card and quicker gallery drift */
.lagoon-description-inline{
  margin:22px 0 0;
  padding:26px;
  color:#1b302d;
  background:rgba(244,245,234,.88);
  border:1px solid #ffffff90;
  border-radius:14px;
  box-shadow:0 14px 38px #10271f2b;
  text-shadow:none;
}
.lagoon-description-inline .lagoon-description-copy>p:not(.lagoon-kicker),
.lagoon-description-inline .lagoon-feature-panel ul,
.lagoon-description-inline .lagoon-power-note p,
.lagoon-description-inline .lagoon-made-by{color:#42584f}
.lagoon-description-inline .lagoon-feature-panel,
.lagoon-description-inline .lagoon-power-note{border-color:#b9c8bd}
.lagoon-description-inline li::marker{color:#437667}
.lagoon-gallery-wide{margin-top:20px}

.lagoon-gallery-feature{--float-duration:11s;--float-delay:-5s}
.lagoon-gallery-thumb:nth-child(6n+1){--float-duration:10s;--float-delay:-6s}
.lagoon-gallery-thumb:nth-child(6n+2){--float-duration:8s;--float-delay:-3s}
.lagoon-gallery-thumb:nth-child(6n+3){--float-duration:12s;--float-delay:-8s}
.lagoon-gallery-thumb:nth-child(6n+4){--float-duration:9s;--float-delay:-2s}
.lagoon-gallery-thumb:nth-child(6n+5){--float-duration:14s;--float-delay:-10s}
.lagoon-gallery-thumb:nth-child(6n){--float-duration:11s;--float-delay:-5s}

@media(max-width:760px){
  .lagoon-description-inline{margin-top:18px;padding:22px 18px;border-radius:12px}
  .lagoon-gallery-wide{margin-top:16px}
}


/* Distinct image card below the Escape Mod information */
.lagoon-gallery-secondary{
  --float-amp:5px;
  --float-tilt:-.1deg;
  display:block;
  margin-top:18px;
  padding:9px;
  overflow:hidden;
  background:rgba(244,245,234,.9);
  border:1px solid #ffffff90;
  border-radius:14px;
  box-shadow:0 14px 38px #10271f2b;
  animation:lagoon-card-float 9s ease-in-out -4s infinite alternate;
  will-change:transform;
}
.lagoon-gallery-secondary img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:7px;
}
@media(max-width:760px){
  .lagoon-gallery-secondary{margin-top:16px;padding:8px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  .lagoon-gallery-secondary{animation:none;will-change:auto}
}


/* White photo frames with two-axis water drift */
.lagoon-gallery-main a,
.lagoon-gallery-grid a,
.lagoon-gallery-secondary{
  background:#fff;
  border-color:#fff;
}
.lagoon-gallery-feature,
.lagoon-gallery-thumb,
.lagoon-gallery-secondary{--float-x:6px}
.lagoon-gallery-feature{--float-x:5px}
.lagoon-gallery-secondary{--float-x:-7px}
.lagoon-gallery-thumb:nth-child(6n+1){--float-x:8px}
.lagoon-gallery-thumb:nth-child(6n+2){--float-x:-6px}
.lagoon-gallery-thumb:nth-child(6n+3){--float-x:5px}
.lagoon-gallery-thumb:nth-child(6n+4){--float-x:-8px}
.lagoon-gallery-thumb:nth-child(6n+5){--float-x:7px}
.lagoon-gallery-thumb:nth-child(6n){--float-x:-5px}
@keyframes lagoon-card-float{
  0%{transform:translate3d(calc(var(--float-x) * -1),calc(var(--float-amp) * -1),0) rotate(calc(var(--float-tilt) * -1))}
  50%{transform:translate3d(calc(var(--float-x) * .3),calc(var(--float-amp) * .45),0) rotate(calc(var(--float-tilt) * .3))}
  100%{transform:translate3d(var(--float-x),var(--float-amp),0) rotate(var(--float-tilt))}
}
@media(max-width:760px){
  .lagoon-gallery-feature,
  .lagoon-gallery-thumb,
  .lagoon-gallery-secondary{--float-x:4px}
  .lagoon-gallery-thumb:nth-child(even),
  .lagoon-gallery-secondary{--float-x:-4px}
}

.lagoon-gallery > .lagoon-gallery-secondary{background:#fff}


/* Keep photos still on hover and show only a zoom-in indicator */
.lagoon-gallery-main a,
.lagoon-gallery-grid a,
.lagoon-gallery-secondary{position:relative}
.lagoon-gallery-main a:hover img,
.lagoon-gallery-grid a:hover img,
.lagoon-gallery-secondary:hover img,
.lagoon-gallery-main a:focus-visible img,
.lagoon-gallery-grid a:focus-visible img,
.lagoon-gallery-secondary:focus-visible img{
  transform:none;
  opacity:1;
}
.lagoon-gallery-main a::after,
.lagoon-gallery-grid a::after,
.lagoon-gallery-secondary::after{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:46px;
  height:46px;
  border:1px solid #ffffffb8;
  border-radius:999px;
  background-color:#172421d9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='21' cy='21' r='11'/%3E%3Cpath d='M29 29l9 9M21 16v10M16 21h10'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
  background-size:30px 30px;
  box-shadow:0 5px 16px #10271f42;
  opacity:0;
  transform:scale(.86);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.lagoon-gallery-main a:hover::after,
.lagoon-gallery-grid a:hover::after,
.lagoon-gallery-secondary:hover::after,
.lagoon-gallery-main a:focus-visible::after,
.lagoon-gallery-grid a:focus-visible::after,
.lagoon-gallery-secondary:focus-visible::after{
  opacity:1;
  transform:scale(1);
}
@media(max-width:760px){
  .lagoon-gallery-main a::after,
  .lagoon-gallery-grid a::after,
  .lagoon-gallery-secondary::after{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    background-size:26px 26px;
  }
}
@media(prefers-reduced-motion:reduce){
  .lagoon-gallery-main a::after,
  .lagoon-gallery-grid a::after,
  .lagoon-gallery-secondary::after{transition:none}
}
