:root{color-scheme:light;--mist: #F5FAFF;--milk-blue: #E5F2FC;--pastel-blue: #C6E0F4;--sky: #9FC5E2;--deep-blue: #315B78;--ink: #18344D;--warm-white: #FFFEFA;--afterimage-mobile-copy: var(--ink);--scene-height: 100svh;--scene-progress: 0;--wind-gust: 0;--page-progress: 0;--edge: clamp(1.2rem, 3.4vw, 3.8rem);--display: Georgia, "Times New Roman", serif;--sans: "Helvetica Neue", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{color:var(--ink);background:var(--pastel-blue);font-family:var(--sans);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;overflow-x:clip;background:var(--mist)}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.7rem 1rem;border-radius:999px;color:var(--warm-white);background:var(--ink);font-size:.75rem;letter-spacing:.08em;text-decoration:none;transform:translateY(-180%);transition:transform .18s ease}.skip-link:focus-visible{transform:translateY(0)}:focus-visible{outline:3px solid var(--deep-blue);outline-offset:4px}.campaign{position:relative;overflow:clip;background:var(--mist)}.scene{position:relative;isolation:isolate;min-height:100vh;min-height:var(--scene-height);overflow:clip}.scene__media,.scene__shade,.scene__light-leak{position:absolute;top:0;right:0;bottom:0;left:0}.scene__media{z-index:-4;overflow:hidden;background:var(--pastel-blue)}.scene__image{width:100%;height:100%;object-fit:cover}.scene__shade{z-index:-3;background:linear-gradient(0deg,rgb(10 34 51 / 38%),transparent 48%),linear-gradient(180deg,rgb(245 250 255 / 16%),transparent 34%)}.scene__light-leak{z-index:-2;pointer-events:none;opacity:.32;background:radial-gradient(circle at 92% 12%,rgb(255 254 250 / 58%),transparent 23%)}.scene__index,.campaign-shop-link,.closing-mark,.closing-status{margin:0;font-size:clamp(.61rem,.78vw,.72rem);font-weight:500;letter-spacing:.19em;line-height:1.2;text-transform:uppercase}.scene--opening{display:grid;align-items:end;color:var(--warm-white);background:var(--pastel-blue)}.scene__image--hero{object-position:65% center;filter:saturate(.78) contrast(.92);transform:scale(calc(.98 + (var(--scene-progress) * .1))) translateY(calc((var(--scene-progress) - .5) * 2rem));transform-origin:65% 52%;will-change:transform}.campaign-header{position:absolute;z-index:8;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:var(--edge)}.campaign-logo{width:clamp(6rem,9vw,9rem);max-height:4.5rem;object-fit:contain;object-position:left top;filter:brightness(0) invert(1);opacity:.96}.campaign-shop-link{position:relative;min-width:2.75rem;min-height:2.75rem;margin:-.75rem;padding:.9rem .75rem .75rem;color:inherit;text-align:center;text-decoration:none;white-space:nowrap}.campaign-shop-link:after{position:absolute;right:.75rem;bottom:.55rem;left:.75rem;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.campaign-shop-link:hover:after,.campaign-shop-link:focus-visible:after{transform:scaleX(1);transform-origin:left}.opening-copy{position:relative;z-index:6;width:min(47rem,100%);padding:0 var(--edge) clamp(5rem,10vh,8rem);transform:translateY(calc((var(--scene-progress) - .5) * -3rem));opacity:calc(1.4 - var(--scene-progress))}.opening-copy .scene__index{margin-bottom:1rem}.opening-copy h1,.touch-copy h2,.memory-copy h2,.afterimage-copy h2{margin:0;font-family:var(--display);font-weight:400;font-style:italic;letter-spacing:-.05em;text-wrap:balance}.opening-copy h1{max-width:10ch;font-size:clamp(3.2rem,7.6vw,8.4rem);line-height:.88;text-shadow:0 3px 28px rgb(16 43 62 / 18%)}.scroll-cue{position:absolute;z-index:7;right:var(--edge);bottom:var(--edge);display:flex;align-items:center;gap:.65rem;margin:0;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.scroll-cue span{width:2.5rem;height:1px;background:currentColor}.scene--touch{min-height:155svh;overflow:visible;background:var(--warm-white)}.touch-stage{position:sticky;top:0;display:grid;width:100%;height:100vh;height:100svh;place-items:end start;overflow:clip;background:var(--warm-white)}.touch-media{position:absolute;inset:clamp(1rem,3vw,2.75rem);overflow:hidden;border-radius:calc(7rem - (var(--scene-progress) * 6rem));clip-path:inset(calc((1 - var(--scene-progress)) * 20%) calc((1 - var(--scene-progress)) * 8%) round 5rem);transform:scale(calc(1.06 - (var(--scene-progress) * .045)));will-change:transform,clip-path}.touch-image{width:100%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.78) contrast(.92);transform:translateY(calc((var(--scene-progress) - .5) * -2.2rem))}.touch-light{position:absolute;z-index:1;width:clamp(17rem,55vw,48rem);aspect-ratio:1;left:-18%;bottom:-34%;border-radius:50%;pointer-events:none;background:#c6e0f494;filter:blur(4rem);transform:translate3d(calc(var(--scene-progress) * 10vw),calc((.5 - var(--scene-progress)) * 4rem),0)}.touch-copy{position:relative;z-index:2;padding:0 var(--edge) clamp(4.5rem,9vh,7rem);color:var(--warm-white);text-shadow:0 2px 30px rgb(24 52 77 / 28%);transform:translateY(calc((var(--scene-progress) - .55) * -4rem))}.touch-copy .scene__index{margin-bottom:1rem}.touch-copy h2{max-width:9ch;font-size:clamp(3.7rem,13vw,8rem);line-height:.86}.touch-note{margin:1.4rem 0 0 clamp(2rem,12vw,8rem);font-family:var(--display);font-size:clamp(.92rem,1.3vw,1.12rem);font-style:italic}.scene--memory{display:grid;min-height:112svh;grid-template-areas:"image" "copy";align-content:center;gap:clamp(2rem,7vw,5rem);padding:clamp(5rem,12vw,8rem) var(--edge);background:linear-gradient(150deg,var(--mist),var(--milk-blue))}.memory-air-light{position:absolute;z-index:0;width:78%;height:42%;right:-30%;top:8%;border-radius:50%;pointer-events:none;background:rgb(255 254 250 / calc(.1 + (var(--wind-gust) * .38)));filter:blur(4.5rem);transform:translate3d(calc(var(--wind-gust) * -12vw),calc(var(--wind-gust) * -4rem),0) skew(-12deg);will-change:transform}.memory-media{grid-area:image;width:min(100%,44rem);height:clamp(19rem,68vw,39rem);justify-self:center;overflow:hidden;border-radius:clamp(1.5rem,6vw,5rem) 0 clamp(1.5rem,6vw,5rem) 0;transform:translateY(calc(((var(--scene-progress) - .5) * -4rem) + (var(--wind-gust) * -2.8rem))) scale(calc(1 + (var(--wind-gust) * .045)))}.memory-image{width:100%;height:100%;object-fit:cover;object-position:63% center;filter:saturate(.76) contrast(.91);transform:translate3d(calc(var(--wind-gust) * -1.2rem),calc(var(--wind-gust) * -2.2rem),0) scale(calc(1.07 - (var(--scene-progress) * .045) + (var(--wind-gust) * .045)));transform-origin:72% 42%}.memory-copy{position:relative;z-index:2;grid-area:copy;display:grid;width:min(69rem,100%);grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1.4rem,5vw,2.5rem);transform:translateY(calc(((var(--scene-progress) - .5) * 3rem) + (var(--wind-gust) * 1.35rem)))}.memory-copy .scene__index{color:var(--deep-blue)}.memory-copy h2{max-width:9ch;font-size:clamp(3.1rem,14vw,5.6rem);line-height:.91}.memory-note{margin:0 0 .35rem clamp(2rem,16vw,6rem);color:var(--deep-blue);font-family:var(--display);font-size:clamp(.93rem,1.3vw,1.12rem);font-style:italic;line-height:1.65}.scene--afterimage{display:grid;grid-template-areas:"image" "copy" "caption";grid-template-columns:minmax(0,1fr);align-content:center;gap:clamp(1.7rem,6vw,3rem);padding:clamp(4.5rem,12vw,7rem) var(--edge);background:var(--warm-white)}.scene__media--afterimage{position:relative;inset:auto;z-index:0;grid-area:image;width:min(100%,35rem);height:auto;aspect-ratio:4 / 5;justify-self:center;box-shadow:0 2rem 6rem #315b7814;border-radius:0 clamp(1.5rem,5vw,4rem) 0 clamp(1.5rem,5vw,4rem);transform:translateY(calc((var(--scene-progress) - .5) * -3rem)) scale(calc(1.035 - (var(--scene-progress) * .035)))}.scene__image--afterimage{object-position:center 58%;filter:blur(calc(max(0,.55 - var(--scene-progress))*16px)) saturate(.75) contrast(.92)}.afterimage-copy{z-index:2;grid-area:copy;transform:translateY(calc((var(--scene-progress) - .5) * -3rem))}.afterimage-copy .scene__index{margin-bottom:1.1rem;color:var(--deep-blue)}.afterimage-copy h2{max-width:11ch;font-size:clamp(3rem,13vw,5rem);line-height:.93}.afterimage-caption{grid-area:caption;margin:0;color:var(--deep-blue);font-family:var(--display);font-size:clamp(.88rem,1.2vw,1.06rem);font-style:italic;line-height:1.5}.scene--closing{display:grid;place-items:center;padding:var(--edge);background:linear-gradient(180deg,var(--mist),transparent 32%),var(--pastel-blue)}.closing-copy{display:grid;justify-items:center;width:min(70rem,100%);text-align:center;opacity:calc(.35 + (var(--scene-progress) * 1.2));transform:translateY(calc((.5 - var(--scene-progress)) * 2.5rem));filter:blur(calc(max(0,.5 - var(--scene-progress))*8px))}.closing-logo{width:min(42rem,78vw);max-height:19rem;object-fit:contain;filter:brightness(0);opacity:.86}.closing-definition{margin:clamp(1.5rem,4vh,3rem) 0 0;color:var(--deep-blue);font-family:var(--display);font-size:clamp(.95rem,1.5vw,1.3rem);font-style:italic}.closing-definition strong{color:var(--ink);font-weight:400}.closing-status{margin-top:2rem}.closing-mark{position:absolute;right:var(--edge);bottom:var(--edge);color:#315b7899}@media(max-width:600px){:root{--edge: clamp(1.15rem, 5vw, 1.6rem)}.scene__image--hero{object-position:71% center}.campaign-logo{width:5.7rem}.opening-copy{padding-bottom:6.2rem}.opening-copy h1{max-width:9ch;font-size:clamp(3.35rem,16vw,5rem)}.scroll-cue span{width:1.4rem}.touch-media{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.touch-copy h2{font-size:clamp(3.7rem,18vw,5.6rem)}.memory-copy h2{font-size:clamp(3.4rem,16vw,5.2rem)}.scene__media--afterimage{width:min(100%,29rem)}.afterimage-copy h2{max-width:10ch;font-size:clamp(3.15rem,14vw,4.8rem);color:var(--afterimage-mobile-copy)}.closing-logo{width:88vw}.closing-definition{max-width:20rem}}@media(min-width:801px){.touch-stage{place-items:center start}.touch-media{inset:clamp(1.5rem,3vw,3rem)}.touch-image{object-position:center;transform:translate(calc((var(--scene-progress) - .5) * -3rem))}.touch-copy{padding-bottom:0;transform:translate(calc((var(--scene-progress) - .5) * -6rem))}.touch-copy h2{font-size:clamp(5rem,8.5vw,8.8rem)}.scene--memory{min-height:115svh;grid-template-areas:"copy image";grid-template-columns:minmax(20rem,.95fr) minmax(24rem,1.05fr);align-items:center;gap:clamp(2rem,7vw,8rem)}.memory-media{grid-column:2;height:min(76svh,52rem);justify-self:end}.memory-media{transform:translate3d(calc(var(--wind-gust) * -3.5rem),calc(((var(--scene-progress) - .5) * -4rem) + (var(--wind-gust) * -2.8rem)),0) scale(calc(1 + (var(--wind-gust) * .045)))}.memory-copy{grid-column:1 / 3;grid-template-columns:.45fr 1.6fr .65fr;align-items:end;gap:clamp(1.5rem,4vw,5rem);transform:translate3d(calc(var(--wind-gust) * 1.6rem),calc(((var(--scene-progress) - .5) * 3rem) + (var(--wind-gust) * 1rem)),0)}.memory-copy h2{max-width:none;font-size:clamp(3.5rem,7vw,7.6rem)}.memory-note{margin-left:0}.scene--afterimage{grid-template-areas:"stage stage";grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.2fr);align-items:center;gap:clamp(2rem,6vw,8rem);padding:clamp(5rem,8vw,8rem) var(--edge)}.scene__media--afterimage{grid-area:auto;grid-column:2;grid-row:1;width:min(43rem,100%);height:min(74svh,54rem);aspect-ratio:auto;justify-self:end;transform:translateY(calc((var(--scene-progress) - .5) * -5rem)) scale(calc(1.03 - (var(--scene-progress) * .03)))}.afterimage-copy{grid-area:auto;grid-column:1 / 3;grid-row:1;transform:translate(calc((var(--scene-progress) - .5) * 6rem))}.afterimage-copy h2{font-size:clamp(3rem,6.4vw,7.2rem)}.afterimage-caption{position:absolute;right:var(--edge);bottom:var(--edge);text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene__image--hero,.opening-copy,.touch-media,.touch-image,.touch-light,.touch-copy,.memory-air-light,.memory-media,.memory-image,.memory-copy,.scene__media--afterimage,.afterimage-copy,.closing-copy{transform:none;clip-path:none}.scene__image--afterimage,.closing-copy{filter:none}}
