/* Event landing pages share the full-bleed film, carousels and quiet reveal motion. */
.editorial-page header{position:fixed;inset:0 0 auto;height:84px;margin:0;padding-inline:6%;z-index:30;background:#f6f0ebdd;border-bottom:1px solid #68102418;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.editorial-page .w-hero{height:100svh;min-height:640px;padding:0;align-items:flex-end;background:#170e12;color:#fff}
.editorial-page .w-hero-media{inset:0;z-index:-1}
.editorial-page .w-hero-media>img,.editorial-page .w-hero-media>video{width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-page .w-hero:after{inset:0;z-index:0;background:linear-gradient(90deg,#150b10c9 0%,#150b107a 45%,#150b1012 100%),linear-gradient(0deg,#150b10c2 0%,transparent 62%)}
.editorial-page .w-hero-inner{position:relative;z-index:1;width:88%;max-width:1320px;margin:0 auto;padding:150px 0 10vh;align-items:flex-end}
.editorial-page .w-hero-copy{width:min(56%,680px);max-width:680px}
.editorial-page .w-hero h1,.editorial-page .w-hero h2,.editorial-page .w-hero-copy>p:not(.w-eyebrow){color:#fff;text-shadow:0 2px 24px #0005}
.editorial-page .w-hero h1{font-size:clamp(54px,7.3vw,112px);line-height:.92;max-width:11ch}
.editorial-page .w-hero .w-eyebrow{color:#f5dfe4}
.editorial-page .w-hero-copy>p:not(.w-eyebrow){max-width:44ch}
.editorial-page .w-hero .button{border-color:#fff;background:#681024;color:#fff}
.editorial-page .w-film-toggle{top:24px;right:24px;bottom:auto}
.editorial-page .w-hero>.hero-sound-button{right:24px;bottom:22px;z-index:4}
.editorial-page .w-hero-note{display:block}
.event-series-section .w-heading{align-items:flex-end}
.event-series-section .carousel{position:relative}
.event-series-section .carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0 0 17px}
.event-series-section .carousel-position{margin-right:auto;color:#8e7677;font:10px/1.4 'Manrope',sans-serif;letter-spacing:.08em}
.event-series-section .carousel-controls>button:not(.carousel-pause){display:grid;place-items:center;width:42px;height:42px;border:1px solid #68102445;border-radius:50%;background:transparent;color:#681024;font-size:18px;transition:background .25s,color .25s,transform .25s}
.event-series-section .carousel-controls>button:not(.carousel-pause):hover{background:#681024;color:#fff;transform:translateY(-2px)}
.event-series-section .carousel-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 10px}
.event-series-section .carousel-track::-webkit-scrollbar{display:none}
.event-series-section .carousel-track>.format,.event-series-section .carousel-track>.step{flex:0 0 min(31%,390px);min-width:260px;scroll-snap-align:start}
.event-series-section .formats .format{position:relative;display:flex;min-height:440px;overflow:hidden;border-radius:16px;background:#25151a;color:#fff;isolation:isolate}
.event-series-section .formats .format:after{content:'';position:absolute;inset:28% 0 0;z-index:0;background:linear-gradient(0deg,#1c1010d9,transparent)}
.event-series-section .formats .format img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.event-series-section .formats .format:hover img{transform:scale(1.045)}
.event-series-section .formats .format h3{position:relative;z-index:1;align-self:flex-end;width:100%;padding:26px 25px;color:#fff;font:500 clamp(20px,2vw,28px)/1.12 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.015em}
.event-series-section .formats .format h3 span{display:block;margin-top:12px;color:#f4e8e3;font:400 11px/1.6 'Manrope',sans-serif;text-transform:none;letter-spacing:.02em}
.event-series-section .steps .step{position:relative;min-height:405px;padding:0 0 23px;overflow:hidden;background:#25151a;color:#fff;border-radius:14px;isolation:isolate}
.event-series-section .steps .step:after{content:'';position:absolute;inset:38% 0 0;z-index:-1;background:linear-gradient(0deg,#1c1010f0,transparent)}
.event-series-section .steps .step img{display:block;width:100%;height:245px;object-fit:cover}
.event-series-section .steps .step .number{margin:21px 22px 8px;color:#d5a9a8;font:26px/1 'Cormorant Garamond',serif}
.event-series-section .steps .step h3,.event-series-section .steps .step p{margin-inline:22px;color:#fff}
.event-series-section .steps .step h3{font:500 15px/1.35 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.event-series-section .steps .step p{margin-top:9px;color:#eadedb;font-size:11px;line-height:1.7}
.event-contact{position:relative;isolation:isolate;overflow:hidden;padding:80px 0!important;background:#2c0c17;color:#fff}
.event-contact .w-contact-photo{position:absolute;inset:0;z-index:-2;background-position:center 48%;background-size:cover}
.event-contact:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#260b16ed 0%,#3c1020b8 48%,#230c1666 100%)}
.event-contact .w-container{position:relative;z-index:1}
.event-contact h2,.event-contact p{color:#fff!important}
.event-contact .button{background:#f6f0eb;color:#551025;border-color:#f6f0eb}
.w-contact.event-contact .w-container{display:flex;justify-content:space-between;align-items:center}
.business-contact .w-contact-photo{background-image:url('../assets/events/corporate-main-3212-poster.webp')}
.editorial-page:has(#w-contact) .event-contact .w-contact-photo{background-image:url('../assets/events/wedding-section-2-3322.webp')}
.graduation-contact{position:relative;isolation:isolate;overflow:hidden;background:#240d17 url('../assets/graduation-last-bell.webp') center/cover no-repeat}
.graduation-contact:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#220c17ee,#3a1422aa 62%,#210d1766)}
.graduation-contact>.wrap{position:relative;z-index:1}
.business-growth{position:relative;overflow:hidden;background:#21151a;color:#f7f1ec}
.business-growth:before{content:'';position:absolute;width:58vw;height:58vw;right:-24vw;top:-24vw;border:1px solid #d1a1af2e;border-radius:50%;box-shadow:0 0 0 50px #d1a1af0a,0 0 0 110px #d1a1af08;pointer-events:none}
.growth-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:8vw;margin:20px 0 45px}
.growth-heading h2{max-width:17ch;color:#f7f1ec;font-size:clamp(35px,5vw,70px);line-height:1.03}
.growth-heading>p{max-width:22ch;margin-bottom:6px;color:#d2bfc0;font:400 clamp(18px,2vw,26px)/1.4 'Cormorant Garamond',serif}
.growth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #f6f0eb30;border-left:1px solid #f6f0eb30}
.growth-card{position:relative;min-height:220px;padding:27px 28px 30px;overflow:hidden;border-right:1px solid #f6f0eb30;border-bottom:1px solid #f6f0eb30;background:linear-gradient(145deg,#ffffff05,transparent);isolation:isolate}
.growth-card h3{position:relative;z-index:1;max-width:24ch;margin:73px 0 0;color:#f6f0eb;font:400 clamp(18px,1.8vw,25px)/1.25 'Cormorant Garamond',serif;text-transform:none;letter-spacing:0}
.growth-index{position:absolute;top:25px;left:28px;color:#db9fae;font:23px/1 'Cormorant Garamond',serif}
.growth-orbit{position:absolute;right:20px;top:20px;width:58px;height:58px;border:1px solid #d1a1af55;border-radius:50%;transition:transform .8s cubic-bezier(.2,.7,.2,1),background .4s}
.growth-orbit:before,.growth-orbit:after{content:'';position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#e8b4be;transform:translate(-50%,-50%)}
.growth-orbit:after{width:34px;height:34px;border:1px solid #d1a1af3b;background:none}
.growth-card:hover .growth-orbit{transform:scale(1.15) rotate(30deg);background:#d1a1af12}
.event-series-section [data-reveal],.business-growth [data-reveal]{--reveal-delay:0ms}
.has-event-reveal .event-series-section [data-reveal],.has-event-reveal .business-growth [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s ease var(--reveal-delay),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay)}
.has-event-reveal .event-series-section [data-reveal].is-visible,.has-event-reveal .business-growth [data-reveal].is-visible{opacity:1;transform:none}
.business-growth .growth-card{--reveal-delay:calc(var(--growth-index)*90ms)}
@media(max-width:760px){
 .editorial-page header{height:76px;padding-inline:5%}
 .editorial-page .w-hero{height:100svh;min-height:610px;flex-direction:row;align-items:flex-end;padding:0}
 .editorial-page .w-hero-media{position:absolute;inset:0;order:0;width:100%;height:100%;aspect-ratio:auto;z-index:-1}
 .editorial-page .w-hero:after{display:block}
 .editorial-page .w-hero-inner{display:flex;padding:125px 0 12vh}
 .editorial-page .w-hero-copy{width:100%;max-width:100%}
 .editorial-page .w-hero h1{max-width:12ch;margin-bottom:19px;font-size:clamp(47px,12vw,76px);line-height:.94}
 .editorial-page .w-hero-copy>p:not(.w-eyebrow){max-width:39ch;font-size:12px}
 .editorial-page .w-hero-note{display:none}
 .editorial-page .w-film-toggle{top:92px;right:6%;bottom:auto}
 .editorial-page .w-hero>.hero-sound-button{right:6%;bottom:22px;min-height:40px}
 .event-series-section .w-heading{display:block;margin-bottom:22px}
 .event-series-section .w-heading>p{margin-top:10px}
 .event-series-section .carousel-track{gap:12px;margin-right:-6.8vw;padding-right:6.8vw}
 .event-series-section .carousel-track>.format,.event-series-section .carousel-track>.step{flex-basis:82%;min-width:0}
 .event-series-section .formats .format{min-height:440px}
 .event-series-section .steps .step{min-height:390px}
 .event-series-section .steps .step img{height:225px}
 .event-series-section .carousel-controls>button:not(.carousel-pause){width:38px;height:38px}
 .w-contact.event-contact{padding:56px 0!important}
 .w-contact.event-contact .w-container{display:block}
 .event-contact .button{margin-top:22px}
 .growth-heading{grid-template-columns:1fr;gap:16px;margin:14px 0 30px}
 .growth-heading h2{font-size:clamp(34px,9vw,52px)}
 .growth-heading>p{max-width:30ch;font-size:21px}
 .growth-grid{grid-template-columns:1fr 1fr}
 .growth-card{min-height:190px;padding:20px 17px}
 .growth-index{top:20px;left:17px}
 .growth-orbit{right:13px;top:15px;width:48px;height:48px}
 .growth-card h3{margin-top:67px;font-size:19px}
 .graduation-contact{background-position:58% center}
}
@media(max-width:400px){.growth-grid{grid-template-columns:1fr}.growth-card{min-height:160px}.growth-card h3{max-width:28ch;margin-top:55px}}
@media(prefers-reduced-motion:reduce){.has-event-reveal .event-series-section [data-reveal],.has-event-reveal .business-growth [data-reveal]{opacity:1;transform:none;transition:none}.growth-card:hover .growth-orbit{transform:none}}

/* Classic event and graduation landing pages use the same full-screen film stage. */
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:100svh;height:100svh;padding:0 6% 10vh;background:#160d11;color:#fff;overflow:hidden}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark:after{display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#160d11b8 0%,#160d1166 48%,#160d1108 100%),linear-gradient(0deg,#160d11ba 0%,transparent 62%)}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.photo{position:absolute;inset:0!important;grid-column:auto;grid-row:auto;width:100%;height:100%;min-height:0;border-radius:0;box-shadow:none;z-index:0}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.photo video{width:100%;height:100%;object-fit:cover;border-radius:0}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.wrap{position:relative;z-index:2;width:min(100%,1320px);margin:0 auto}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark .hero-content{max-width:710px}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark :is(h1,h2,p,.eyebrow){color:#fff}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark h1{max-width:12ch;font-size:clamp(54px,8vw,112px);line-height:.94}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark .eyebrow{color:#f4dce2}
:is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.hero-sound-button{right:26px;bottom:24px;z-index:3}
@media(max-width:760px){
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark{display:flex;justify-content:flex-end;min-height:100svh;height:100svh;padding:110px 6% 9vh}
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.wrap{display:block;width:100%;margin:0}
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark .hero-content{display:block;max-width:100%}
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark .eyebrow{margin-bottom:17px}
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark h1{max-width:12ch;margin-bottom:17px;font-size:clamp(45px,12vw,72px)}
 :is(.dinner-page,.party-page,.theme-page,.country-page,.graduation-page,.graduation-11-page,.graduation-9-page) .hero.dark>.hero-sound-button{right:6%;bottom:20px}
}
/* Cinematic video captions stay legible over moving footage on every event page. */
.event-page .w-detail-banner :is(h1,h2,h3,p,.w-eyebrow),
.event-page .w-hero :is(h1,h2,h3,p,.w-eyebrow),
.event-page .hero.dark :is(h1,h2,h3,p,.eyebrow),
.event-page .graduation-story :is(h1,h2,h3,p,.eyebrow),
.event-page .banner:has(video) :is(h1,h2,h3,p,.eyebrow),
.event-page .evening-banner :is(h1,h2,h3,p,.eyebrow){color:#fff!important}
.event-page .w-detail-banner .button{color:#fff!important}
.graduation-page .graduation-story :is(h1,h2,h3,p,.eyebrow),
.graduation-11-page .graduation-story :is(h1,h2,h3,p,.eyebrow),
.graduation-9-page .graduation-story :is(h1,h2,h3,p,.eyebrow){color:#fff!important}

/* Keep event process carousels visually consistent with the birthday landing page. */
.event-process .w-container{width:min(90%,1240px)}
.event-process .w-heading{display:block;margin:0 auto 35px;text-align:center}
.event-process .w-heading>*{position:static;inset:auto;transform:none}
.event-process .w-heading h2{display:block;padding:0}
.event-process .w-heading .eyebrow{margin:0 0 14px;color:#8a5360;font:500 10px/1.5 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase}
.event-process .w-heading h2{max-width:none;margin:0;color:#551025;font:400 clamp(36px,5vw,62px)/.98 'Cormorant Garamond',serif;letter-spacing:-.025em;text-align:center;text-transform:uppercase}
.event-process .w-heading>p{max-width:54ch;margin:16px auto 0;color:#6d5f5d;font:400 14px/1.7 'Manrope',sans-serif;text-align:center}
.event-process .steps.carousel-track{gap:28px;scroll-snap-type:x mandatory}
.event-process .steps.carousel-track>.step{display:grid;flex:0 0 100%;width:100%;min-height:0;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto 1fr;column-gap:50px;padding:0;overflow:hidden;border-radius:0;background:#ede1db;color:#251b1b;text-align:left;scroll-snap-align:start}
.event-process .steps .step:after{display:none}
.event-process .steps .step img{grid-column:1;grid-row:1/4;display:block;width:100%;height:420px;margin:0;object-fit:cover;aspect-ratio:auto}
.event-process .steps .step .number{grid-column:2;margin:35px 30px 10px 0;color:#8a5360;font:400 62px/1 'Cormorant Garamond',serif}
.event-process .steps .step h3{grid-column:2;margin:0 30px 15px 0;color:#251b1b;font:400 40px/1.04 'Cormorant Garamond',serif;letter-spacing:0;text-transform:none}
.event-process .steps .step p{grid-column:2;max-width:390px;margin:0 30px 35px 0;color:#625754;font:400 16px/1.75 'Manrope',sans-serif}
@media(max-width:760px){.event-process .w-container{width:88%}.event-process .w-heading{margin-bottom:24px}.event-process .w-heading h2{font-size:clamp(34px,9vw,46px)}.event-process .w-heading>p{margin-top:12px;font-size:12px}.event-process .steps.carousel-track{gap:16px}.event-process .steps.carousel-track>.step{display:flex;flex-direction:column;gap:0}.event-process .steps .step img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.event-process .steps .step .number{margin:24px 24px 8px;font-size:48px}.event-process .steps .step h3{margin:0 24px 14px;font-size:34px}.event-process .steps .step p{max-width:none;margin:0 24px 28px;font-size:14px}}
:is(#approach,.unified-process).center>h2{position:static;inset:auto;transform:none;display:block;margin:0 auto 28px;padding:0;line-height:1.06}
:is(#approach,.unified-process).center>.eyebrow{margin:0 0 16px}
:is(#approach,.unified-process) .steps>.step>*{position:static;transform:none;align-self:auto}
