.gallery-page{--gallery-duck-yellow:#f7d52b;--gallery-pool-aqua:#63d6e5;--gallery-pool-light:#ddf8fc;--gallery-balloon-blue:#1f73c9;--gallery-deep-blue:#123a67;--gallery-ink:#102f50;--gallery-paper:#fff;min-height:100vh;color:var(--gallery-ink);background:var(--gallery-paper);font-family:var(--font-geist-sans), Arial, sans-serif;overflow:hidden}.gallery-page *{box-sizing:border-box}.gallery-page ::selection{background:var(--gallery-duck-yellow);color:var(--gallery-ink)}.shell{width:min(1180px,100% - 40px);margin:auto}.gallery-page :focus-visible{outline:3px solid var(--gallery-balloon-blue);outline-offset:4px}.gallery-header{z-index:5;color:#fff;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;height:56px;padding:0 20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:0;left:0;right:0}.gallery-header a{color:inherit;text-decoration:none}.gallery-header span{opacity:.7;font-weight:500}.gallery-cta{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:0;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 20px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.gallery-title{text-align:center;padding:90px 0 28px}.gallery-title p,.gallery-title span{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:12px;font-weight:800;display:block}.gallery-title h1{max-width:7ch;color:var(--gallery-deep-blue);letter-spacing:-.07em;text-transform:uppercase;margin:7px auto 10px;font-size:clamp(57px,17vw,146px);line-height:.76}.gallery-title span{color:var(--gallery-balloon-blue);font-size:13px}.hero-stage{aspect-ratio:3/4;background:var(--gallery-pool-light);border-radius:26px;overflow:hidden;box-shadow:0 24px 45px #123a6726}.hero-stage img{object-fit:cover;width:100%;height:100%}.photo-placeholder{background:radial-gradient(circle at 68% 25%, #ffffffb8 0 5%, transparent 5.4%), radial-gradient(circle at 28% 75%, #ffffffb3 0 8%, transparent 8.5%), linear-gradient(145deg, var(--gallery-pool-aqua), var(--gallery-pool-light) 62%, color-mix(in srgb, var(--gallery-pool-aqua) 45%, var(--gallery-pool-light)));width:100%;height:100%;color:var(--gallery-deep-blue);text-transform:uppercase;letter-spacing:.13em;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative;overflow:hidden}.photo-placeholder span{z-index:1;font-size:13px;font-weight:900}.photo-placeholder small{z-index:1;letter-spacing:.1em;font-size:8px;font-weight:700}.photo-placeholder i{aspect-ratio:1;background:var(--gallery-duck-yellow);border-radius:50%;width:34%;position:absolute;bottom:-10%;right:12%;box-shadow:inset -10px -8px 17px #b47d0024}.primary-actions{flex-wrap:wrap;gap:10px;padding:22px 0 76px;display:flex}.gallery-cta svg{width:19px;height:19px}.primary{color:var(--gallery-ink);background:var(--gallery-duck-yellow);border-radius:14px}.secondary{color:#fff;background:var(--gallery-deep-blue);border-radius:14px}.disabled{color:color-mix(in srgb, var(--gallery-ink) 60%, transparent);background:var(--gallery-pool-light);cursor:not-allowed;border-radius:14px}.download-note{width:100%;color:var(--gallery-deep-blue);font-size:12px}.welcome-section{grid-template-columns:54px 1fr;gap:20px;padding:40px 0 100px;display:grid;position:relative}.welcome-section>i{border:2px solid var(--gallery-pool-aqua);width:52px;height:52px;box-shadow:0 0 0 8px #ddf8fc, 0 0 0 10px var(--gallery-pool-aqua);border-radius:50%;margin-top:8px}.welcome-section h2,.gallery-caption h2,.download-finale h2{color:var(--gallery-deep-blue);letter-spacing:-.06em;margin:0;font-size:clamp(35px,10vw,78px);line-height:.9}.welcome-section p,.gallery-caption p,.download-finale span{max-width:48ch;margin:16px 0 0;font-size:16px;line-height:1.55}.gallery-section{background:color-mix(in srgb, var(--gallery-pool-light) 55%, var(--gallery-paper));padding:80px 0}.gallery-caption{margin-bottom:32px}.gallery-caption h2{font-size:clamp(39px,12vw,94px)}.photo-masonry{columns:1;column-gap:14px}.photo-tile{break-inside:avoid;width:100%;aspect-ratio:var(--tile-ratio);cursor:zoom-in;background:0 0;border:0;border-radius:16px;margin:0 0 14px;padding:0;transition:transform .25s;display:block;overflow:hidden;box-shadow:0 10px 20px #123a671a}.photo-tile:hover{transform:translateY(-3px)}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-image-pending{background:color-mix(in srgb, var(--gallery-pool-light) 82%, var(--gallery-paper));width:100%;height:100%;display:block}.interstitial{text-align:center;min-height:190px;color:var(--gallery-balloon-blue);justify-content:center;align-items:center;gap:24px;padding:46px 0;font-family:cursive;font-size:25px;display:flex}.interstitial p{max-width:13ch}.download-finale{background:var(--gallery-deep-blue);color:#fff;padding:74px 0}.finale-inner{grid-template-columns:1fr 94px;align-items:end;gap:20px;display:grid}.download-finale h2{color:#fff}.download-finale p{color:var(--gallery-duck-yellow);margin:0 0 12px;font-family:cursive;font-size:24px}.download-finale .gallery-cta{margin-top:26px}.gallery-footer{color:var(--gallery-deep-blue);text-transform:uppercase;letter-spacing:.07em;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:27px 0;font-size:11px;font-weight:800;display:flex}.gallery-footer a{text-underline-offset:4px;text-decoration:underline}.bubble-field{z-index:4;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bubble-field span{opacity:0;will-change:transform, opacity;background:radial-gradient(circle at 30% 25%,#fff 0 8%,#ffffff29 12%,#ddf8fc1f 58%,#0000 70%);border:1px solid #ffffffe6;border-radius:50%;width:24px;height:24px;position:absolute;top:0;left:0}.lightbox{color:#fff;background:#061a30f5;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.lightbox-content{grid-template-rows:auto 1fr auto;height:100%;display:grid}.lightbox-top,.lightbox-bottom{z-index:2;letter-spacing:.06em;justify-content:space-between;gap:14px;padding:18px 20px;font-size:11px;display:flex}.lightbox-top button{color:#fff;background:#ffffff1f;border:0;border-radius:50%;width:42px;height:42px;margin:-11px -8px 0 0}.lightbox-media{place-items:center;min-height:0;padding:0 34px;display:grid}.lightbox-media img,.lightbox-media .photo-placeholder{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.lightbox-media .photo-placeholder{aspect-ratio:3/4;width:min(100%,700px)}.lightbox-nav{color:#fff;background:#ffffff24;border:0;border-radius:50%;width:48px;height:48px;position:absolute;top:48%}.lightbox-bottom{color:#c8ddea;align-items:end}.lightbox-bottom span:last-child{text-align:right;margin-left:auto}.lightbox-bottom a{color:var(--gallery-duck-yellow)}@media (min-width:700px){.shell{width:min(1180px,100% - 72px)}.gallery-header{padding:0 36px}.hero-stage{aspect-ratio:16/9}.primary-actions{padding-bottom:116px}.photo-masonry{columns:2;column-gap:22px}.photo-tile{margin-bottom:22px}.photo-tile:nth-child(5n){margin-top:52px}.interstitial{min-height:240px}.gallery-footer{padding:34px 0}.lightbox-media{padding:0 100px}.lightbox-nav.previous{left:35px}.lightbox-nav.next{right:35px}}@media (prefers-reduced-motion:reduce){.gallery-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.bubble-field{display:none}}.gallery-title h1{letter-spacing:-.04em;font-weight:900;line-height:.9}.gallery-header{font-size:12px}.gallery-header a{align-items:center;min-height:44px;display:inline-flex}.gallery-page .shell{width:min(1180px,100% - 40px)}.gallery-title h1,.gallery-caption h2,.welcome-section h2,.download-finale h2{font-family:var(--gallery-display);letter-spacing:-.04em;font-weight:800;line-height:.98}.gallery-title h1{max-width:8ch;font-size:clamp(58px,17vw,96px)}.gallery-interstitial,.download-finale p{font-family:var(--gallery-handwritten)}.gallery-interstitial{column-span:all;min-height:200px;color:var(--gallery-deep-blue);text-align:center;justify-content:center;align-items:center;gap:24px;padding:42px 18px;font-size:25px;display:flex}.gallery-interstitial p{max-width:20ch}.theme-ripple{border:2px solid var(--gallery-pool-aqua);height:28px;box-shadow:0 0 0 8px var(--gallery-pool-light), 0 0 0 10px var(--gallery-pool-aqua);border-radius:50%;flex:0 0 64px}.gallery-cta{letter-spacing:.025em;font-size:14px}.primary-actions .gallery-cta{white-space:nowrap;flex:100%}.photo-placeholder small{letter-spacing:.015em;text-transform:none;font-size:12px}.gallery-footer{font-size:12px}.gallery-footer a{align-items:center;min-height:44px;display:inline-flex}.lightbox-top,.lightbox-bottom{letter-spacing:normal;font-size:14px}.lightbox-top{align-items:center}.lightbox-top button{flex-shrink:0;width:48px;height:48px;margin:0}.lightbox-media{touch-action:pan-y}.lightbox-media .photo-placeholder{aspect-ratio:var(--photo-ratio);width:min(100%, calc((100dvh - 230px) * var(--photo-ratio)));height:auto}.lightbox-bottom{padding-bottom:max(18px, env(safe-area-inset-bottom));font-size:12px}.lightbox-bottom a{align-items:center;min-height:44px;display:inline-flex}.finale-inner{grid-template-columns:minmax(0,1fr);gap:58px}.duck-mascot{filter:drop-shadow(0 8px 8px #00000029);justify-self:end;width:100px;height:auto;margin-right:12px}.download-finale h2{max-width:15ch}.photo-tile{animation:.5s ease-out both gallery-photo-in}@keyframes gallery-photo-in{0%{opacity:.75;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:700px){.gallery-page .shell{width:min(1180px,100% - 72px)}.primary-actions .gallery-cta{flex:0 auto}.finale-inner{grid-template-columns:minmax(0,1fr) 160px}}@media (prefers-reduced-motion:reduce){html:has(.gallery-page){scroll-behavior:auto}.gallery-page .photo-tile{animation:none}}.gallery-header-photos{min-height:44px;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.gallery-header-photos:disabled{opacity:.42;cursor:default}@media (max-width:699px){:is(html:has(.gallery-page:not(.intro-complete)),body:has(.gallery-page:not(.intro-complete))){overscroll-behavior:none;height:100%;overflow:hidden}.gallery-page:not(.intro-complete) .gallery-content{visibility:hidden;pointer-events:none}.gallery-page:not(.intro-complete) .gallery-intro{height:100vh;height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transition:none;position:fixed;inset:0}.gallery-page:not(.intro-complete) .intro-skip{bottom:max(18px, env(safe-area-inset-bottom))}.duck-mascot{width:86px}}.lightbox-nav{z-index:3}.gallery-header a:first-child{gap:.3em}@supports (animation-timeline:view()){.photo-tile{animation-timeline:view();animation-range:entry entry 25%}}.lightbox{background:#061a30;min-height:100dvh;position:fixed;inset:0}.lightbox-nav{background:var(--gallery-deep-blue)}.gallery-header{color:var(--gallery-ink)}.gallery-header span{opacity:1}.gallery-header{background:var(--gallery-pool-light)}.gallery-title h1{font-size:clamp(52px,15vw,82px)}.hero-stage{border-radius:20px}.primary-actions{gap:8px;padding:18px 0 54px}.gallery-section{padding:54px 0}.photo-masonry{column-gap:12px}.photo-tile{margin-bottom:12px}.gallery-footer{padding:22px 0}.bubble-field span{background:radial-gradient(circle at 30% 22%,#fff 0 9%,#ffffff7a 12%,#63d6e526 58%,#0000 72%);border-color:#1f73c9b8;box-shadow:0 3px 8px #123a6726,inset 3px 3px 5px #ffffffd9}@media (min-width:700px){.gallery-title{padding-top:72px}}.gallery-page:not(.intro-complete) .gallery-header{background:var(--gallery-intro-cream)}.gallery-intro{isolation:isolate;background:var(--gallery-intro-cream);place-items:center;height:100svh;min-height:520px;padding-top:30px;transition:height .32s ease-out,min-height .32s ease-out;display:grid;position:relative;overflow:hidden}.intro-water{z-index:-1;aspect-ratio:1;background:var(--gallery-pool-aqua);width:max(160vw,160vh);box-shadow:0 0 0 28px var(--gallery-pool-light), 0 0 0 31px #1f73c926;opacity:0;border-radius:50%;position:absolute;top:62%;left:50%;transform:translate(-50%,-50%)scale(0)}.is-transitioning .intro-water{animation:1.4s cubic-bezier(.2,.7,.25,1) both pool-arrives}@keyframes pool-arrives{0%,23%{opacity:0;transform:translate(-50%,-50%)scale(0)}35%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.intro-complete .gallery-intro{background:var(--gallery-pool-aqua);height:88px;min-height:88px;padding-top:0}.intro-complete .intro-water{display:none}.theme-intro-duck{aspect-ratio:1;place-items:center;width:min(88vw,390px);display:grid;position:relative}.duck-scene{cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 18px 15px #6b512721);touch-action:pan-y;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.duck-scene canvas{width:100%;height:100%;display:block}.duck-scene:active{cursor:pointer}.duck-speech{z-index:2;max-width:176px;color:var(--gallery-ink);border:1.5px solid var(--gallery-ink);text-align:center;pointer-events:none;background:#fffdfa;border-radius:24px 24px 24px 10px;margin:0;padding:14px 18px;font-size:17px;font-weight:700;line-height:1.2;position:absolute;top:-5%;right:2%;box-shadow:0 8px 18px #4a3a2414}.duck-speech:after{content:"";border-right:1.5px solid var(--gallery-ink);border-bottom:1.5px solid var(--gallery-ink);background:#fffdfa;width:16px;height:16px;position:absolute;bottom:-9px;left:22px;transform:rotate(45deg)skew(-8deg,-8deg)}.duck-speech span{animation:.24s ease-out both speech-appears;display:block}@keyframes speech-appears{0%{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.speech-static span{animation:none}.intro-skip{right:22px;bottom:max(18px, env(safe-area-inset-bottom));min-width:88px;min-height:44px;color:var(--gallery-ink);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:10px;font-size:13px;text-decoration:underline;position:absolute}.duck-fallback{background:var(--gallery-duck-yellow);border-radius:48% 48% 45% 45%;width:72%;height:49%;margin:35% auto 0;display:block;position:relative;box-shadow:inset -15px -12px 22px #a979041f,inset 12px 12px 20px #ffffff80}.duck-fallback i{background:var(--gallery-duck-yellow);border-radius:50%;width:69%;height:98%;position:absolute;top:-67%;left:16%;box-shadow:inset 9px 10px 20px #ffffff80}.duck-fallback b{background:#f27928;border-radius:50%;width:25%;height:12%;position:absolute;top:-13%;left:37%}.duck-fallback em,.duck-fallback strong{background:var(--gallery-ink);border-radius:50%;width:8%;height:10%;position:absolute;top:-29%}.duck-fallback em{left:30%}.duck-fallback strong{right:30%}.duck-fallback em:after,.duck-fallback strong:after{content:"";background:#fff;border-radius:50%;width:35%;height:35%;position:absolute;top:16%;left:22%}.gallery-title{padding:42px 0 24px}.gallery-title h1{max-width:8ch;line-height:.98}.welcome-section{gap:18px;padding:20px 0 54px}.welcome-section h2{font-size:34px}.gallery-caption h2{max-width:12ch;font-size:clamp(34px,10vw,68px)}.gallery-interstitial{min-height:150px;padding:32px 12px;font-size:23px}.download-finale{padding:54px 0}.download-finale h2{font-size:40px}.gallery-footer{gap:8px 16px;line-height:1.4}@media (min-width:700px){.gallery-intro{height:min(780px,100svh);min-height:620px}.intro-complete .gallery-intro{height:100px;min-height:100px}.theme-intro-duck{width:410px}.gallery-title{padding-top:58px}.gallery-caption h2{max-width:none}.welcome-section{padding-bottom:80px}.download-finale h2{font-size:64px}}@media (prefers-reduced-motion:reduce){.gallery-intro,.duck-speech span{transition:none;animation:none}.is-transitioning .intro-water{opacity:1;animation:none;transform:translate(-50%,-50%)scale(1)}}.lightbox{color:#fff;background:#050505;border:0;border-radius:0;width:100vw;min-width:0;max-width:none;height:100dvh;min-height:0;max-height:none;padding:0;position:fixed;inset:0;overflow:hidden}.lightbox::backdrop{background:#050505}.lightbox-content{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100%;min-height:100dvh;padding:0}.lightbox-top,.lightbox-bottom{width:100%;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));color:#ffffffd1;background:linear-gradient(#050505,#05050500);position:relative}.lightbox-top{align-items:center;min-height:70px}.lightbox-top span{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:13px}.lightbox-top button{color:#fff;background:#ffffff1f;width:44px;height:44px;margin:0;transition:opacity .2s,background .2s}:is(.lightbox-top button:hover,.lightbox-top button:focus-visible){background:#ffffff38}.lightbox-media{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;padding:8px;position:relative;overflow:hidden}.lightbox-media img{-webkit-user-drag:none;touch-action:none}.lightbox-media img,.lightbox-media .lightbox-photo-placeholder,.lightbox-media .photo-placeholder{object-fit:contain;transform-origin:50%;will-change:transform;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .24s cubic-bezier(.2,.75,.25,1);display:block}.lightbox-media .lightbox-photo-placeholder{pointer-events:none;place-items:center;width:100%;height:100%;display:grid}.lightbox-media.is-manipulating img,.lightbox-media.is-manipulating .lightbox-photo-placeholder,.lightbox-media.is-manipulating .photo-placeholder{transition:none!important}.lightbox-media .lightbox-photo-placeholder .photo-placeholder{width:min(100%,700px);height:auto;max-height:100%}.lightbox-nav{z-index:3;color:#fff;background:#ffffff1f;width:46px;height:46px;transition:opacity .2s,background .2s;top:50%;transform:translateY(-50%)}:is(.lightbox-nav:hover,.lightbox-nav:focus-visible){background:#ffffff38}.lightbox-nav.previous{left:max(10px, env(safe-area-inset-left))}.lightbox-nav.next{right:max(10px, env(safe-area-inset-right))}.lightbox-bottom{min-height:74px;padding:12px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:linear-gradient(#05050500,#050505 34%);align-items:center}.lightbox-alt{color:#ffffff9e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.35;overflow:hidden}.lightbox-bottom a{color:#fff;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff6b;border-radius:999px;flex:none;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;display:inline-flex}:is(.lightbox-bottom a:hover,.lightbox-bottom a:focus-visible){background:#ffffff2e}.lightbox.controls-hidden .lightbox-top,.lightbox.controls-hidden .lightbox-bottom,.lightbox.controls-hidden .lightbox-nav{opacity:0;pointer-events:none}.lightbox.controls-hidden .lightbox-media{cursor:zoom-out}@media (min-width:700px){.lightbox-top,.lightbox-bottom{padding-left:max(28px, env(safe-area-inset-left));padding-right:max(28px, env(safe-area-inset-right))}.lightbox-top{min-height:84px}.lightbox-bottom{min-height:86px}.lightbox-media{padding:12px 84px}.lightbox-nav.previous{left:28px}.lightbox-nav.next{right:28px}}@media (prefers-reduced-motion:reduce){.lightbox-media img,.lightbox-media .lightbox-photo-placeholder,.lightbox-top button,.lightbox-nav,.lightbox.controls-hidden .lightbox-top,.lightbox.controls-hidden .lightbox-bottom,.lightbox.controls-hidden .lightbox-nav{transition:none}}.lightbox-top button,.lightbox-nav,.lightbox-bottom a{color:#f8f3eaf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1917c7;border:1px solid #f4ede13d;border-radius:14px;outline:none;box-shadow:0 8px 24px #0000003d,inset 0 1px #ffffff0f}.lightbox-top button,.lightbox-nav{width:46px;height:46px}.lightbox-top button{margin:0}.lightbox-top svg,.lightbox-nav svg{width:18px;height:18px}.lightbox-top button:hover,.lightbox-nav:hover,.lightbox-bottom a:hover{background:#2a2825e0;border-color:#f4ede161}.lightbox-top button:focus-visible{outline-offset:3px;background:#1a1917c7;border-color:#f4ede1b8;outline:2px solid #f4ede1e6;box-shadow:0 8px 24px #0000004d}.lightbox-nav:focus-visible{outline-offset:3px;background:#1a1917c7;border-color:#f4ede1b8;outline:2px solid #f4ede1e6;box-shadow:0 8px 24px #0000004d}.lightbox-bottom a:focus-visible{outline-offset:3px;background:#1a1917c7;border-color:#f4ede1b8;outline:2px solid #f4ede1e6;box-shadow:0 8px 24px #0000004d}.lightbox-bottom a{background:#1a1917c7;min-height:46px;padding:0 15px}@media (prefers-reduced-motion:reduce){.lightbox-top button,.lightbox-nav,.lightbox-bottom a{transition:none}}
