.celebration-page{--celebration-rose:#c47785;--celebration-cream:#f1e9df;--celebration-ink:#211a1c;--celebration-muted:#645a5d}
.celebration-hero{position:relative;display:flex;min-height:min(940px,100svh);align-items:flex-end;isolation:isolate;overflow:hidden;padding:150px var(--page-gutter) 112px;background:#171316}
.celebration-hero::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgb(14 10 12 / 72%),rgb(14 10 12 / 42%) 48%,rgb(14 10 12 / 8%) 100%),linear-gradient(0deg,rgb(12 9 11 / 50%),transparent 35%)}
.celebration-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;animation:celebration-image-arrive 1100ms cubic-bezier(.16,1,.3,1) both}
@keyframes celebration-image-arrive{from{transform:scale(1.045);opacity:.7}to{transform:scale(1);opacity:1}}
.celebration-hero-content{width:min(100%,1120px)}
.celebration-breadcrumb{display:inline-flex;align-items:center;gap:12px;margin:0 0 clamp(48px,9vh,96px);color:#e8dfe1;font-size:12px;letter-spacing:.04em;text-decoration:none}
.celebration-breadcrumb span:first-child{color:#ffb5ca;font-size:17px;transition:transform 180ms ease}
.celebration-breadcrumb:hover span:first-child{transform:translateX(-4px)}
.celebration-breadcrumb span:nth-child(2){color:rgb(255 255 255 / 55%)}
.celebration-eyebrow,.concept-kicker{display:flex;align-items:center;gap:11px;margin:0;color:#ffd1de;font-size:12px;letter-spacing:.04em}
.celebration-eyebrow>span{width:7px;height:7px;border-radius:50%;background:#ef8fac;box-shadow:0 0 0 5px rgb(239 143 172 / 15%)}
.celebration-hero h1{margin:25px 0 20px;font:400 clamp(62px,9.1vw,132px)/.99 var(--display-font);letter-spacing:-.055em}
.celebration-hero h1 span{display:block;animation:celebration-title-arrive 800ms cubic-bezier(.16,1,.3,1) both}
.celebration-hero h1 span+span{animation-delay:100ms}
@keyframes celebration-title-arrive{from{opacity:0;clip-path:inset(0 0 100%);transform:translateY(16px)}to{opacity:1;clip-path:inset(0);transform:none}}
.celebration-lede{max-width:52ch;margin:0;color:#eee5e6;font-size:clamp(16px,1.4vw,20px);line-height:1.8}
.celebration-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}
.celebration-actions .button{min-width:245px;justify-content:space-between}
.celebration-scroll-link{display:inline-flex;min-height:48px;align-items:center;gap:16px;color:#f3e9eb;font-size:13px;text-decoration:none}
.celebration-scroll-link span{color:#ffb5ca;font-size:19px;transition:transform 180ms ease}
.celebration-scroll-link:hover span{transform:translateY(3px)}
.celebration-hero-note{position:absolute;right:var(--page-gutter);bottom:36px;left:var(--page-gutter);display:flex;justify-content:space-between;gap:18px;padding-top:14px;border-top:1px solid rgb(255 255 255 / 34%);color:#e1d7d9;font-size:12px;letter-spacing:.04em}
.celebration-concept{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,10vw,150px);align-items:center;padding:clamp(86px,10vw,150px) var(--page-gutter) 60px;background:var(--celebration-cream);color:var(--celebration-ink)}
.concept-kicker{color:#985260;font-size:12px;font-weight:600}
.concept-kicker span{color:#bb8990}
.concept-heading h2,.celebration-gallery h2,.details-copy h2,.celebration-cta h2{font:400 clamp(42px,5vw,72px)/1.08 var(--editorial-font);letter-spacing:-.045em}
.concept-heading h2{max-width:13ch;margin:25px 0 22px}
.concept-intro{max-width:44ch;margin:0;color:var(--celebration-muted);font-size:15px;line-height:1.85}
.concept-link{display:inline-flex;min-height:48px;align-items:center;gap:17px;margin-top:24px;color:var(--celebration-ink);font-size:13px;text-decoration-color:var(--celebration-rose);text-underline-offset:5px}
.concept-link svg{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
.concept-link:hover svg{transform:translateX(5px)}
.concept-moments{margin:0;padding:0;list-style:none;border-top:1px solid rgb(33 26 28 / 20%)}
.concept-moments li{display:grid;grid-template-columns:42px 1fr 28px;gap:16px;align-items:start;padding:25px 0;border-bottom:1px solid rgb(33 26 28 / 20%)}
.concept-moments li>span:first-child{padding-top:3px;color:#8d4454;font-size:12px;font-variant-numeric:tabular-nums}
.concept-moments h3{margin:0 0 7px;font:400 clamp(22px,2.1vw,29px)/1.2 var(--editorial-font)}
.concept-moments p{max-width:44ch;margin:0;color:var(--celebration-muted);font-size:13px;line-height:1.75}
.moment-spark{color:#ad6976;font-size:21px;transition:transform 320ms var(--ease-out)}
.concept-moments li:hover .moment-spark{transform:rotate(45deg) scale(1.15)}
.concept-disclaimer{grid-column:1/-1;display:flex;align-items:flex-start;gap:11px;max-width:80ch;margin:8px 0 0;padding-top:19px;border-top:1px solid rgb(33 26 28 / 16%);color:#65595d;font-size:12px;line-height:1.7}
.concept-disclaimer svg{width:17px;height:17px;margin-top:1px;color:#985260}
.celebration-gallery{padding:clamp(80px,9vw,132px) var(--page-gutter);background:#151518}
.celebration-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}
.celebration-gallery h2{max-width:13ch;margin:22px 0 0}
.celebration-gallery .concept-kicker{color:#ffb3c8}
.celebration-gallery-heading>p{max-width:39ch;margin:0 0 4px;color:var(--muted);font-size:14px;line-height:1.8}
.celebration-gallery-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-rows:clamp(260px,31vw,430px) clamp(220px,23vw,320px);gap:14px}
.celebration-image{position:relative;min-width:0;overflow:hidden;padding:0;border:0;background:#242328;color:#fff;text-align:left;isolation:isolate;cursor:zoom-in}
.celebration-image-main{grid-row:span 2}
.celebration-image::after{position:absolute;z-index:0;inset:25% 0 0;content:"";background:linear-gradient(transparent,rgb(12 8 12 / 80%));pointer-events:none}
.celebration-image::before{position:absolute;z-index:1;top:18px;right:18px;width:40px;height:40px;border:1px solid rgb(255 255 255 / 65%);border-radius:50%;background:rgb(15 15 19 / 40%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 9V5h4m6 0h4v4m0 6v4h-4m-6 0H5v-4' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/21px no-repeat;content:"";opacity:0;transform:scale(.85);transition:opacity 180ms ease,transform 220ms var(--ease-out)}
.celebration-image img{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out),filter 400ms ease}
.celebration-image:hover img,.celebration-image:focus-visible img{transform:scale(1.045);filter:saturate(1.04)}
.celebration-image:hover::before,.celebration-image:focus-visible::before{opacity:1;transform:none}
.celebration-image>span{position:absolute;z-index:1;right:24px;bottom:24px;left:24px;display:grid;gap:8px;font:400 clamp(21px,2.5vw,34px)/1.15 var(--editorial-font)}
.celebration-image small{color:#ffd1de;font:400 12px/1.4 var(--body-font);letter-spacing:.04em}
.gallery-disclaimer{margin:16px 0 0;color:#c2bdc4;font-size:12px}
.celebration-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(44px,9vw,132px);align-items:center;padding:clamp(82px,9vw,132px) var(--page-gutter);background:#202225}
.details-image-wrap{position:relative;min-width:0}
.details-image-wrap img{width:100%;aspect-ratio:1.28;object-fit:cover}
.details-image-wrap>span{position:absolute;right:14px;bottom:14px;padding:9px 12px;background:rgb(17 17 22 / 88%);color:#f1e9e4;font-size:12px;letter-spacing:.04em}
.details-copy h2{max-width:12ch;margin:22px 0}
.details-copy>p:not(.concept-kicker){max-width:47ch;margin:0;color:#c6c1c6;font-size:14px;line-height:1.85}
.details-copy .concept-kicker{color:#ffb3c8}
.palette-list{display:flex;flex-wrap:wrap;gap:20px;margin:27px 0 4px;padding:0;list-style:none}
.palette-list li{display:flex;align-items:center;gap:8px;color:#ded9dc;font-size:12px}
.palette-list li>span:first-child{width:17px;height:17px;border:1px solid rgb(255 255 255 / 28%);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 3px rgb(255 255 255 / 5%)}
.details-copy .concept-link{color:var(--paper);text-decoration-color:#ef8fac}
.celebration-cta{display:grid;justify-items:center;padding:clamp(78px,9vw,130px) var(--page-gutter);background:radial-gradient(ellipse at center top,rgb(121 45 72 / 26%),transparent 58%),#181519;text-align:center}
.celebration-cta .concept-kicker{justify-content:center;color:#ffb3c8}
.celebration-cta h2{max-width:14ch;margin:22px 0 14px}
.celebration-cta>p:not(.concept-kicker){max-width:47ch;margin:0;color:#c6c1c6;font-size:14px;line-height:1.8}
.celebration-cta .button{min-width:250px;justify-content:space-between;margin-top:29px}
.cta-demo-note{margin-top:15px;color:#c2bdc4;font-size:12px}
.celebration-page .brand-description{letter-spacing:.04em}
.celebration-page .footer-brand span{font-size:12px;letter-spacing:.04em}
.celebration-page .footer-eyebrow{color:#ffb3c8;font-size:12px;letter-spacing:.04em}
.celebration-page .footer-bottom>p{font-size:12px}
.celebration-footer .footer-project{border-color:rgb(255 255 255 / 17%)}
@media(max-width:900px){
 .celebration-hero{min-height:min(860px,94svh);padding-bottom:110px}
 .celebration-hero::after{background:linear-gradient(90deg,rgb(14 10 12 / 72%),rgb(14 10 12 / 33%) 100%),linear-gradient(0deg,rgb(12 9 11 / 55%),transparent 38%)}
 .celebration-concept{grid-template-columns:1fr;gap:48px}
 .concept-heading h2{max-width:15ch}
 .concept-disclaimer{grid-column:auto}
 .celebration-gallery-heading{align-items:start;flex-direction:column;gap:18px}
 .celebration-gallery h2{max-width:18ch}
 .celebration-details{gap:44px}
}
@media(max-width:640px){
 .celebration-hero{min-height:780px;min-height:88svh;padding:126px var(--page-gutter) 116px}
 .celebration-hero-image{object-position:56% center}
 .celebration-hero::after{background:linear-gradient(90deg,rgb(14 10 12 / 65%),rgb(14 10 12 / 24%) 100%),linear-gradient(0deg,rgb(12 9 11 / 62%),transparent 45%)}
 .celebration-breadcrumb{margin-bottom:48px;font-size:12px}
 .celebration-eyebrow{font-size:12px;letter-spacing:.04em}
 .celebration-hero h1{margin:21px 0 17px;font-size:clamp(56px,13vw,78px)}
 .celebration-lede{font-size:15px;line-height:1.75}
 .celebration-actions{align-items:stretch;flex-direction:column;gap:9px;margin-top:25px}
 .celebration-actions .button{width:100%}
 .celebration-scroll-link{justify-content:center}
 .celebration-hero-note{bottom:27px;font-size:12px}
 .celebration-concept{gap:37px;padding-top:76px;padding-bottom:42px}
 .concept-heading h2,.celebration-gallery h2,.details-copy h2,.celebration-cta h2{font-size:clamp(39px,10vw,54px)}
 .concept-heading h2{margin-block:20px 17px}
 .concept-intro{font-size:14px}
 .concept-moments li{grid-template-columns:30px minmax(0,1fr) 20px;gap:12px;padding:21px 0}
 .concept-moments p{font-size:12px}
 .moment-spark{font-size:18px}
 .concept-disclaimer{font-size:12px}
 .celebration-gallery{padding-block:73px}
 .celebration-gallery-heading{gap:16px;margin-bottom:25px}
 .celebration-gallery-heading>p{font-size:13px}
 .celebration-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}
 .celebration-image,.celebration-image-main{grid-row:auto;aspect-ratio:1.15}
 .celebration-image-main{aspect-ratio:.94}
 .celebration-image::before{opacity:1;transform:none}
 .celebration-image>span{right:18px;bottom:18px;left:18px;font-size:26px}
 .details-copy h2{margin-block:18px}
 .celebration-details{grid-template-columns:1fr;gap:33px;padding-block:72px}
 .details-image-wrap img{aspect-ratio:1.1}
 .palette-list{gap:14px}
 .celebration-cta{padding-block:75px}
 .celebration-footer .footer-main{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .celebration-hero-image,.celebration-hero h1 span{animation:none}
 .celebration-image img{transition:opacity 120ms ease}
}
