*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#242424;font-family:Inter,Arial,sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e61e28;outline-offset:4px}.skip{position:fixed;top:-60px;z-index:100;background:white;padding:12px}.skip:focus{top:0}#header{position:sticky;top:0;z-index:20;background:white}#main:focus{outline:none}.design{position:relative;width:100%;line-height:0;overflow:hidden}.design>img{display:block;width:100%;height:auto}.design .state-image{position:absolute;inset:0;opacity:0;transition:opacity .28s;pointer-events:none}.design .state-image.active{opacity:1}.hit{position:absolute;display:block;background:transparent;border:0;border-radius:5px;z-index:2;color:transparent;text-decoration:none}.show-hotspots .hit,.show-hotspots .activity{outline:2px dashed #e61e28!important;background-color:#e61e281a}.back{padding:24px 6.6667%;background:#fafafa;font-size:14px;line-height:24px}.back a{text-decoration:none;color:#89898c}.back a:hover{color:#e61e28}.station-wrap{position:sticky;top:var(--header-h);background:#fff;z-index:18;padding:0 6.6667% 2.0833vw}.station{height:4.2708vw;display:flex;align-items:center;border-top:1px solid #eee;gap:2.0833vw}.station strong{font-size:1.25vw;font-weight:600;margin-right:0}.station button{background:transparent;border:0;color:#96969b;padding:10px 0;font-size:.83333vw;position:relative}.station button[aria-selected=true]{color:#242424}.station button[aria-selected=true]:after{content:'';height:2px;background:#252525;position:absolute;bottom:0;left:0;right:0}.empty{padding:100px 7%;text-align:center;background:#fafafa;min-height:40vh}.empty p{color:#7c7c82}.empty button{padding:12px 24px;border:1px solid #ccc;background:white;border-radius:30px}.activities{padding:4.1667vw 6.6667%;overflow:hidden;background:white}.activities-head{display:flex;align-items:center;gap:20px;margin-bottom:2.0833vw}.activities h2{font-size:1.6667vw;line-height:2.1875vw;font-weight:600;margin:0 auto 0 0}.more-toggle{background:transparent;border:0;text-decoration:underline;font-size:.9375vw;white-space:nowrap}.arrow{width:2.9167vw;height:2.9167vw;border:0;border-radius:4px;background:#050505;color:white;font-size:2vw;line-height:1}.arrow:disabled{opacity:.35;cursor:default}.cards{display:flex;gap:2.0833vw;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.cards::-webkit-scrollbar{display:none}.activity{position:relative;flex:0 0 calc((100% - 6.25vw)/4);border:0;padding:0;background:#111;border-radius:.4167vw;overflow:hidden;scroll-snap-align:start;display:block;line-height:0}.activity img{width:100%;height:auto;display:block;transition:transform .35s}.activity .hover-card{position:absolute;inset:0;opacity:0;transition:opacity .25s}.activity:hover .hover-card,.activity:focus-visible .hover-card{opacity:1}.cards.expanded{display:grid;grid-template-columns:repeat(4,1fr);gap:2.0833vw;overflow:visible}.cards.expanded .activity{width:100%}.cards.expanded~p{display:none}.benefit-shell{position:relative;background:#000}.benefit-overlay{position:absolute;left:6.6667%;top:20.1474%;width:86.6667%;height:48.8124%;display:flex;gap:1.25vw}.benefit{position:relative;flex:1;border:0;border-radius:16px;background:#151515;color:#fff;padding:0;overflow:hidden;text-align:left;transition:flex-grow .55s cubic-bezier(.22,1,.36,1)}.benefit.active{flex:4.16}.benefit img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.benefit:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#000c)}.benefit .number{position:absolute;z-index:1;top:1.6667vw;left:1.6667vw;color:#e61e28;font-size:.833vw}.benefit .copy{position:absolute;z-index:1;bottom:1.6667vw;left:1.6667vw;right:1.6667vw}.benefit strong{font-size:.9375vw;line-height:1.4;display:block}.benefit.active strong{font-size:1.4583vw}.benefit p{font-size:.9375vw;line-height:1.55;max-height:0;opacity:0;margin:0;overflow:hidden;transition:opacity .2s,max-height .3s}.benefit.active p{max-height:100px;opacity:1;margin-top:8px}.benefit-overlay[data-count="1"] .benefit{flex:1}.registration-panel{position:absolute;left:65.6771%;top:28.2105%;width:27.6563%;height:63.3684%;border-radius:.833333vw;overflow:hidden}.registration-panel img{display:block;width:100%;height:100%;border-radius:inherit}.m-service-photo{position:absolute;left:5.333%;top:17.8827%;width:89.333%;height:34.3348%;object-fit:cover;border-radius:12px;pointer-events:none}.small-note{margin:0;padding:16px 7%;background:#fff9ee;color:#755b37;font-size:14px}.pending-link{cursor:help}#review-toggle{position:fixed;bottom:18px;left:18px;z-index:50;background:#222e;color:white;border:1px solid #fff5;border-radius:30px;padding:10px 16px;font-size:13px;box-shadow:0 3px 16px #0002}#review{position:fixed;z-index:51;left:18px;bottom:66px;width:340px;max-height:80vh;overflow:auto;background:white;border:1px solid #dedede;border-radius:16px;padding:24px;box-shadow:0 16px 80px #0003;font-size:14px;line-height:1.6}#review h2{font-size:22px;margin:0}#review p{color:#777;margin:4px 0 18px}#review nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}#review nav a{background:#f3f3f5;border-radius:6px;padding:8px 10px;text-decoration:none}#review nav a.active{background:#222;color:#fff}#review label{display:block;margin:18px 0 0}#review select{width:100%;padding:8px;margin-top:6px;background:#fff;border:1px solid #ddd;border-radius:6px}#review-close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:24px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(30px);background:#222f;color:white;padding:14px 24px;max-width:90vw;border-radius:10px;z-index:100;font-size:14px;line-height:1.5;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}#lightbox{position:fixed;inset:0;border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#080808f7;color:white}#lightbox::backdrop{background:#000d}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox figure{margin:0;width:82vw;text-align:center}#lightbox img{max-width:100%;max-height:82vh;object-fit:contain}#lightbox figcaption{font-size:14px;padding:14px}#lightbox button{position:absolute;background:#ffffff12;border:1px solid #ffffff30;color:white;width:48px;height:48px;border-radius:50%;font-size:28px}.light-close{right:24px;top:24px}.light-prev{left:24px}.light-next{right:24px}.mobile-details-note{display:none}
@media(max-width:760px){.back{padding:14px 5.333%;font-size:13px}.station-wrap{padding:0 5.333% 5.333vw}.station{height:10.9333vw;gap:5.333vw}.station strong{font-size:2.9333vw}.station button{font-size:2.9333vw;padding:8px 0}.activities{padding:10.6667vw 5.3333%}.activities-head{margin-bottom:5.333vw;gap:12px;flex-wrap:wrap}.activities h2{font-size:4.2667vw;line-height:5.6vw;flex:1 0 100%;text-transform:uppercase}.more-toggle{font-size:14px;margin-right:auto}.arrow{width:32px;height:32px;font-size:24px}.cards{gap:4vw;margin-right:-5.333vw;padding-right:5.333vw}.activity{flex-basis:67.164%;border-radius:8px}.cards.expanded{grid-template-columns:repeat(2,1fr);gap:4vw;margin-right:0;padding-right:0}.cards.expanded .activity{width:100%}.mobile-details-note{display:block;margin:0;padding:10px 5.333%;font-size:12px;background:#f7f7f7;color:#777}.desktop-detail{min-width:0}.benefit{border-radius:5px}.benefit .copy{left:1.2vw;right:1.2vw;bottom:1.2vw}.benefit p{display:none}.benefit.active strong{font-size:1.8vw}#review{max-width:calc(100vw - 36px)}.light-prev{left:8px}.light-next{right:8px}#lightbox button{width:38px;height:38px}#lightbox figure{width:100vw}#lightbox figcaption{padding:18px 50px}.small-note{font-size:12px}.station-wrap{top:var(--header-h)}}
.benefit-overlay{background:#000}
.activity:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,#0007 65%,#0009);pointer-events:none}.activity-status{position:absolute;z-index:1;left:6.2176%;top:4.9793%;padding:.20833vw .625vw;border-radius:4px;background:#ffffffa3;color:#242424;font-size:.625vw;line-height:1.0417vw;font-weight:400}.activity-status.open:before{content:'';display:inline-block;width:.3125vw;height:.3125vw;border-radius:50%;background:#2aa98a;vertical-align:middle;margin-right:.42vw}.activity-copy{position:absolute;z-index:1;left:6.2176%;right:3%;top:45.64%;color:white;line-height:1.5;transition:top .25s}.activity-copy strong{font-size:1.6667vw;line-height:2.1875vw;font-weight:600;display:block}.activity-copy p{font-size:.9375vw;line-height:1.4583vw;margin:4px 0;opacity:0;max-height:0;overflow:hidden;transition:opacity .2s,max-height .25s}.activity-copy .learn{font-size:.9375vw;text-decoration:underline;font-weight:600;opacity:0}.activity:hover .activity-copy,.activity:focus-visible .activity-copy{top:33.2%}.activity:hover .activity-copy p,.activity:focus-visible .activity-copy p{max-height:100px;opacity:1}.activity:hover .learn,.activity:focus-visible .learn{opacity:1}.activity:hover>img{transform:scale(1.035)}
@media(max-width:760px){.activity-status{font-size:10px;line-height:14px;padding:3px 6px}.activity-status.open:before{width:4px;height:4px;margin-right:4px}.activity-copy strong{font-size:4.2667vw;line-height:5.6vw}.activity-copy p,.activity-copy .learn{font-size:12px;line-height:17px}.cards.expanded .activity-copy strong{font-size:3.2vw;line-height:4.2vw}.cards.expanded .activity-copy p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Moving Figma photo strips; each repeated tile includes the same gutter. */
.hero-motion{position:relative;overflow:hidden;background:#101010;aspect-ratio:1920/800;--unit:calc(100vw / 1920)}
.hero-track{display:flex;position:absolute;left:0;top:calc(var(--row-y) * var(--unit));width:max-content;height:calc(318 * var(--unit));animation:hero-left var(--duration) linear infinite;will-change:transform}
.hero-track img{display:block;flex:none;width:calc((var(--strip-width) + 16) * var(--unit));padding-right:calc(16 * var(--unit));height:100%;object-fit:fill}
.hero-track.reverse{animation-direction:reverse}
@keyframes hero-left{from{transform:translateX(0)}to{transform:translateX(-33.333333%)}}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0002,#0007),linear-gradient(#0004,#0001 40%,#0007);pointer-events:none}
.hero-copy{position:absolute;left:6.25%;top:27.5%;width:87.5%;height:45%;object-fit:contain;pointer-events:none}
.benefit-overlay{position:relative;left:auto;top:auto;width:86.666667%;height:31.041667vw;margin:0 auto;gap:1.25vw;border:0;outline:0;box-shadow:none}
.benefit{min-width:0;border:0;box-shadow:none;border-radius:1.25vw}
.benefit:focus:not(:focus-visible),.hit:focus:not(:focus-visible){outline:0}
.benefit-overlay[data-count="1"] .benefit{cursor:default}
.works-section{padding-bottom:5vw;background:white}
.masonry-scroll{width:86.666667%;height:1880px;max-height:97.916667vw;margin:0 auto;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c6c6c6 transparent;scrollbar-gutter:stable}
.masonry-scroll:focus-visible{outline:2px solid #e61e28;outline-offset:6px}
.masonry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.666667vw;align-items:start}
.masonry-column{overflow:visible}
.creator-trigger{border-radius:50%}
.creator-popover{position:fixed;z-index:45;width:272px;max-width:calc(100vw - 24px);background:white;color:#242424;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0002;font-size:14px;line-height:1.5}
.creator-popover:before{content:'';position:absolute;inset:-10px 0;z-index:-1}
.creator-identity{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.creator-identity img{width:48px;height:48px;object-fit:cover;border-radius:50%}
.creator-identity strong{font-size:16px;display:block}.creator-identity span{display:inline-block;color:#777;font-size:12px}
.follow-button{background:#e61e28;border:0;border-radius:24px;padding:10px 18px;width:100%;color:white;font-size:14px;font-weight:600}.follow-button.following{background:#f2f2f2;color:#333}
@media(max-width:760px){.hero-motion{--unit:calc(100vw / 750);aspect-ratio:750/1000}.hero-copy{left:5.333333%;top:26.7%;width:89.333333%;height:46.6%}.creator-popover{width:248px}.benefit{border-radius:1.25vw}}

.hero-track{filter:blur(calc(3 * var(--unit)))}
.hero-shade{background:linear-gradient(#0008,#0009)}
.hero-content{position:absolute;top:27.5%;left:6.25%;width:87.5%;color:white;text-align:center;line-height:1.4}
.hero-badge{display:inline-flex;align-items:center;padding:calc(7 * var(--unit)) calc(24 * var(--unit));border-radius:99px;background:#ccb48666;font-size:calc(24 * var(--unit));font-weight:600;line-height:calc(32 * var(--unit))}
.hero-content h1{font-size:calc(48 * var(--unit));line-height:calc(58 * var(--unit));font-weight:600;letter-spacing:-.02em;margin:calc(26 * var(--unit)) 0 calc(12 * var(--unit))}
.hero-content p{font-size:calc(26 * var(--unit));line-height:calc(34 * var(--unit));margin:0}
.hero-cta{display:block;margin:calc(40 * var(--unit)) auto 0;border:0;border-radius:99px;background:#e61e28;color:white;width:calc(176 * var(--unit));height:calc(48 * var(--unit));font-size:calc(16 * var(--unit))}
.hero-labels{display:flex;justify-content:center;margin-top:calc(42 * var(--unit));font-size:calc(18 * var(--unit));line-height:calc(26 * var(--unit))}
.hero-labels span+span{border-left:1px solid #fff7;margin-left:calc(24 * var(--unit));padding-left:calc(24 * var(--unit))}
@media(max-width:760px){.hero-content{top:26.7%;left:5.3333%;width:89.3333%}.hero-content h1{font-size:calc(48 * var(--unit));line-height:calc(58 * var(--unit));margin-top:calc(24 * var(--unit))}.hero-content p{font-size:calc(24 * var(--unit));line-height:calc(34 * var(--unit))}.hero-cta{width:calc(292 * var(--unit));height:calc(80 * var(--unit));font-size:calc(24 * var(--unit));margin-top:calc(28 * var(--unit))}.hero-labels{font-size:calc(20 * var(--unit));flex-wrap:wrap;row-gap:calc(12 * var(--unit))}}

/* The card stays inside the carousel clip in every interaction state. */
.activity{isolation:isolate;clip-path:inset(0 round .4167vw)}
.activity:after{border-radius:inherit}
/* Gallery sizing is independent from exported full-section .design images. */
.recap-gallery{padding:4.166667vw 6.666667%;background:#000;color:white}
.recap-gallery h2{font-size:1.666667vw;line-height:2.1875vw;font-weight:600;margin:0 0 2.083333vw}
.recap-gallery-stage{position:relative;aspect-ratio:1664/800;border-radius:.833333vw;overflow:hidden;background:#000}
.recap-gallery-enlarge{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;border:0;background:#000;color:white;border-radius:inherit}
.recap-gallery-photo{display:block;width:100%;height:100%;object-fit:contain}
.recap-gallery-caption{position:absolute;inset:auto 0 0;margin:0;padding:2.083333vw 25% 2.083333vw 2.083333vw;background:linear-gradient(transparent,#000a);font-size:.9375vw;line-height:1.458333vw;pointer-events:none}
.recap-gallery-controls{display:grid;grid-template-columns:2.083333vw minmax(0,1fr) 2.083333vw;gap:1.25vw;margin-top:1.25vw;align-items:center}
.recap-gallery-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25vw}
.recap-gallery-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:.416667vw;overflow:hidden;background:#000;box-shadow:inset 0 0 0 1px #ffffff40}
.recap-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.recap-gallery-thumb:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff40}
.recap-gallery-thumb[aria-pressed=true]:after{box-shadow:inset 0 0 0 2px #fff}
.recap-gallery-arrow{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:0;background:transparent;border:0;color:white;font-size:2.083333vw;line-height:1}
.recap-gallery-enlarge:focus-visible{outline-offset:-5px}
@media(max-width:760px){.activity{clip-path:inset(0 round 8px)}.recap-gallery-arrow{font-size:18px;min-height:32px}.recap-gallery-caption{font-size:1.5vw;line-height:2.1vw}}

#review nav{margin-top:20px}
