/* Seasonal campaign styling stays on the Holiday Parties page. */
.is-holiday-parties{--holiday-red:#aa001b;--holiday-gold:#f4d18b;--holiday-white:#fff9ef;--paper:var(--holiday-white);--muted:#f4dfd8;isolation:isolate;background-color:var(--holiday-red);background-image:radial-gradient(ellipse at 100% 0,#de001e66,transparent 58%),radial-gradient(ellipse at 0 100%,#65001099,transparent 62%),linear-gradient(125deg,#8e0018,#b6001b 65%,#a40018);background-attachment:fixed;color:var(--holiday-white)}
.is-holiday-parties .site-header{background:#a00019f2;border-bottom:1px solid #f4d18b50}
.is-holiday-parties .site-header .brand img{filter:brightness(0) invert(1)}
.is-holiday-parties .site-header nav>a:hover{color:var(--holiday-gold)}
.is-holiday-parties .site-header nav>.nav-holiday{background:var(--holiday-gold);border-color:var(--holiday-gold);color:#760019}
.is-holiday-parties .site-header .nav-code{background:transparent;border-color:#f4d18b88;color:var(--holiday-white)}
.is-holiday-parties .site-header .nav-code:hover{border-color:var(--holiday-gold);color:var(--holiday-gold)}
.is-holiday-parties .site-footer{background:#790014bf;border-top:1px solid #f4d18b50;color:var(--holiday-white)}
.is-holiday-parties .site-footer h2{color:var(--holiday-gold)}
/* Corner-weighted gold snow crystals and glitter leave the reading area clear. */
.holiday-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.holiday-backdrop-corner{position:absolute;width:min(54vw,680px);height:auto;overflow:visible}
.holiday-backdrop-top{top:-48px;right:-32px}
.holiday-backdrop-bottom{width:min(50vw,620px);bottom:-80px;left:-100px;transform:rotate(180deg);opacity:.8}
@media(max-width:650px){.holiday-backdrop-top{width:350px;top:30px;right:-50px;opacity:.66}.holiday-backdrop-bottom{width:360px;bottom:-65px;left:-70px;opacity:.5}}
/* A sparse, pointer-transparent snowfall follows the guest through the page. */
.holiday-snow{position:fixed;inset:0;z-index:50;overflow:hidden;pointer-events:none;contain:strict}
.holiday-snow>span{position:absolute;top:-8px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff9ef;opacity:var(--opacity);box-shadow:0 0 3px #fff9ef44;animation:holiday-snowfall var(--duration) linear var(--delay) infinite paused}
.holiday-snow[data-active="true"]:not([data-paused="true"])>span{animation-play-state:running}
@keyframes holiday-snowfall{from{transform:translate3d(0,-12px,0)}to{transform:translate3d(var(--drift),calc(100vh + 20px),0)}}
.holiday-snow-toggle{position:fixed;right:16px;bottom:16px;z-index:51;min-height:44px;padding:10px 14px;border:1px solid #f4d18b77;border-radius:24px;background:#760019e8;color:#fff9ef;font:400 11px/1.4 var(--body);cursor:pointer}
.holiday-snow-toggle[hidden]{display:none}
.holiday-snow-toggle:hover{border-color:#f4d18b;background:#760019}
.holiday-snow-toggle:focus-visible{outline:3px solid #fff9ef;outline-offset:4px}
@media(max-width:650px){.holiday-snow>span:nth-child(n+17){display:none}}
@media(max-width:650px){.holiday-snow-toggle{position:absolute;top:85px;bottom:auto}}
@media(prefers-reduced-motion:reduce){.holiday-snow,.holiday-snow-toggle{display:none}.holiday-snow>span{animation:none}}
.holiday-parties{position:relative;isolation:isolate;overflow:hidden;background:transparent;color:var(--holiday-white)}
.holiday-parties .section-wrap{max-width:1240px}
.holiday-parties p{color:var(--holiday-white)}
.holiday-parties .eyebrow{color:var(--holiday-gold);font-size:10px;line-height:1.8;letter-spacing:2px}
.holiday-opening.section-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:64px;padding-top:162px;padding-bottom:58px}
.holiday-opening-copy{min-width:0}
.holiday-opening h1{font-size:clamp(48px,5.2vw,76px);line-height:1.03;letter-spacing:-.025em;margin:24px 0 27px}
.holiday-opening h1>span{display:block}
.holiday-opening h1>.holiday-title-gold{color:var(--holiday-gold)}
.holiday-opening h1>.holiday-title-brand{font-size:.55em;letter-spacing:0;margin-top:17px;line-height:1.2}
.holiday-opening .holiday-lead{font-size:clamp(18px,1.65vw,23px);line-height:1.5;margin-bottom:14px}
.holiday-introduction{max-width:540px;font-size:15px;line-height:1.9;margin-bottom:27px}
.holiday-parties .holiday-primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:17px 25px;background:var(--holiday-gold);border:1px solid var(--holiday-gold);color:#760019;font-size:13px;font-weight:600;text-align:center;white-space:normal;box-shadow:0 8px 24px #76001925;transition:background .2s,box-shadow .2s}
.holiday-parties .holiday-primary-cta:hover{background:#ffe2a7;border-color:#ffe2a7;box-shadow:0 10px 28px #7600193d}
.holiday-opening .holiday-cta-note{font-size:11px;line-height:1.7;margin:13px 0 0;color:#f8e9d3}
.holiday-hero-art{position:relative;justify-self:end;width:100%;max-width:440px;margin:0;padding:0 8px}
.holiday-photo-frame{border:1px solid var(--holiday-gold);padding:11px;border-radius:240px 240px 5px 5px;box-shadow:0 25px 65px #76001942}
.holiday-photo-frame :is(img,video){display:block;width:100%;height:auto;aspect-ratio:4/4.8;object-fit:cover;object-position:50% 50%;border-radius:inherit}
.holiday-hero-art figcaption{font:italic 26px/1.3 Georgia,serif;color:var(--holiday-gold);text-align:center;margin-top:22px}
.holiday-star{position:absolute;display:block;z-index:1;background:var(--holiday-gold);clip-path:polygon(50% 0,57% 43%,100% 50%,57% 57%,50% 100%,43% 57%,0 50%,43% 43%);pointer-events:none}
.holiday-star-one{width:74px;height:74px;right:-20px;top:12%}
.holiday-star-two{width:44px;height:44px;left:-15px;bottom:22%}
.holiday-planning.section-wrap{padding-top:46px;padding-bottom:48px;border-top:1px solid #f4d18b66}
.holiday-section-heading{text-align:center;max-width:850px;margin:0 auto 38px}
.holiday-section-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.15;margin:15px 0 0}
.holiday-section-heading h2 span{color:var(--holiday-gold)}
.holiday-occasions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.holiday-occasions>section{border-top:1px solid #f4d18b66;padding-top:22px}
.holiday-occasion-index{display:block;color:var(--holiday-gold);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:14px}
.holiday-occasions h3{font-family:var(--body);font-size:18px;line-height:1.5;margin:0 0 14px}
.holiday-occasions p{font-size:13px;line-height:1.9;margin-bottom:0}
.holiday-locations{margin-top:38px;padding:27px 0;border-block:1px solid #f4d18b66}
.holiday-locations h3{font-family:var(--body);font-size:18px;line-height:1.5;color:var(--holiday-gold);margin:0 0 8px}
.holiday-locations p{font-size:13px;line-height:1.8;margin:0 0 19px}
.holiday-locations nav{display:flex;flex-wrap:wrap;gap:10px}
.holiday-locations nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #f4d18b99;color:var(--holiday-white);text-decoration:none;font-size:12px;line-height:1.5;transition:background .2s}
.holiday-locations nav a:hover{background:#f4d18b1f;border-color:var(--holiday-gold)}
.holiday-planning-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:32px}
.holiday-planning-cta>div{flex:1;min-width:0;max-width:720px}
.holiday-planning-cta>.holiday-primary-cta{flex-shrink:0}
.holiday-planning-cta .holiday-toast{font:32px/1.2 var(--display);margin:0 0 9px;color:var(--holiday-gold)}
.holiday-planning-cta p{font-size:13px;margin-bottom:0}
.holiday-inquiry.section-wrap{padding-top:54px;padding-bottom:70px;border-top:1px solid #f4d18b66;scroll-margin-top:110px}
.holiday-inquiry-intro{max-width:740px;margin:0 auto 30px;text-align:center}
.holiday-inquiry h2{font-size:clamp(32px,3.5vw,48px);line-height:1.2;margin:15px 0 18px;color:var(--holiday-gold)}
.holiday-inquiry-intro>p:not(.eyebrow){font-size:14px;line-height:1.9}
.holiday-inquiry-intro>.holiday-booking-note{font-size:12px;line-height:1.8;color:#f4dfd8}
.holiday-inquiry>.provider{max-width:960px;margin-inline:auto;padding:24px;border:1px solid #f4d18b88;background:#8c062340;box-shadow:0 18px 55px #76001925}
.holiday-inquiry iframe{display:block}
.holiday-inquiry .provider-location-guide,.holiday-inquiry .provider-fallback{color:var(--holiday-white);font-size:12px}
.holiday-inquiry .provider-fallback a{color:var(--holiday-gold)}
.holiday-parties :is(a,button):focus-visible{outline:3px solid #fff9ef;outline-offset:5px}
@media(min-width:901px) and (max-width:1120px){.is-holiday-parties .site-header nav{background:#a00423}}
@media(max-width:900px){
 .is-holiday-parties .site-header nav{background:#a00423}
 .holiday-opening.section-wrap{gap:30px;padding-top:132px;padding-bottom:42px}
 .holiday-opening h1{font-size:clamp(42px,6vw,62px)}
 .holiday-introduction{font-size:14px}
 .holiday-hero-art{padding-right:10px}
 .holiday-star-one{right:-9px;width:50px;height:50px}
 .holiday-star-two{left:-8px;width:33px;height:33px}
 .holiday-hero-art figcaption{font-size:21px}
 .holiday-occasions{gap:22px}
 .holiday-occasions h3{font-size:16px}
}
@media(max-width:650px){
 .holiday-opening.section-wrap{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:124px;padding-bottom:32px}
 .holiday-opening h1{font-size:clamp(45px,12.2vw,66px);margin:20px 0 23px}
 .holiday-opening h1>.holiday-title-brand{font-size:.56em;margin-top:13px}
 .holiday-opening .holiday-lead{font-size:18px}
 .holiday-introduction{font-size:14px;line-height:1.85;margin-bottom:23px}
 .holiday-primary-cta{width:100%}
 .holiday-opening .holiday-cta-note{text-align:center;font-size:10px}
 .holiday-hero-art{max-width:340px;justify-self:center;padding:0 12px}
 .holiday-photo-frame{padding:8px;border-radius:180px 180px 4px 4px}
 .holiday-photo-frame :is(img,video){aspect-ratio:1.25;object-position:50% 40%}
 .holiday-hero-art figcaption{font-size:24px;margin-top:15px}
 .holiday-star-one{right:0;top:22%;width:45px;height:45px}
 .holiday-star-two{left:0;bottom:26%}
 .holiday-planning.section-wrap{padding-top:34px;padding-bottom:36px}
 .holiday-section-heading{margin-bottom:28px;text-align:left}
 .holiday-section-heading h2{font-size:clamp(30px,8.1vw,38px)}
 .holiday-section-heading h2 br{display:none}
 .holiday-occasions{grid-template-columns:minmax(0,1fr);gap:24px}
 .holiday-occasions>section{padding-top:18px}
 .holiday-occasion-index{margin-bottom:10px}
 .holiday-occasions h3{font-size:18px;margin-bottom:10px}
 .holiday-occasions h3 br{display:none}
 .holiday-occasions p{font-size:13px;line-height:1.85}
 .holiday-locations{margin-top:28px;padding:23px 0}
 .holiday-locations h3{font-size:17px}
 .holiday-locations nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .holiday-locations nav a{padding:11px 9px;font-size:11px}
 .holiday-planning-cta{flex-direction:column;align-items:stretch;gap:23px;padding-top:27px}
 .holiday-planning-cta .holiday-toast{font-size:29px}
 .holiday-inquiry.section-wrap{padding-top:37px;padding-bottom:45px;scroll-margin-top:90px}
 .holiday-inquiry-intro{text-align:left;margin-bottom:24px}
 .holiday-inquiry h2{font-size:34px}
 .holiday-inquiry>.provider{padding:15px 9px}
}
