:root{--red:#bd2037;--pale:#ffe0e7;--hot:#f7438b;--mint:#c4edda;--ink:#641b2e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--pale);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:absolute;left:10px;top:-80px;z-index:5;background:var(--mint);padding:15px}.skip:focus{top:10px}.top-stripe{height:18px;background:repeating-linear-gradient(90deg,var(--red) 0 18px,var(--pale) 18px 36px,var(--hot) 36px 54px,var(--mint) 54px 72px)}header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bd203733}.wordmark{text-decoration:none;font-family:Georgia,serif;font-weight:bold;font-size:24px;line-height:.9;letter-spacing:-1px}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:12px;letter-spacing:6px;margin-top:8px}nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:bold}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-book{padding:14px 20px;border:1px solid var(--red);border-radius:2px}.hero{max-width:1440px;margin:auto;padding:42px 7% 0;position:relative;overflow:hidden;text-align:center}.hero-kicker,.section-label{font-size:11px;font-weight:bold;letter-spacing:2px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:bold;letter-spacing:-9px;line-height:.83;margin:28px 0 36px;color:var(--red)}h1>span{display:block}h1 .the{font-size:38px;font-weight:normal;font-style:italic;letter-spacing:-1px;margin-bottom:8px}h1>span:nth-child(2){font-size:clamp(74px,12.5vw,180px)}h1 .elves{font-size:clamp(110px,17vw,240px);color:var(--hot);text-shadow:3px 3px 0 var(--red)}.period{color:var(--red)}.sparkle{position:absolute;color:var(--red);font-family:Georgia,serif}.spark1{left:7%;top:170px;font-size:90px;transform:rotate(15deg)}.spark2{right:7%;top:275px;font-size:110px;transform:rotate(-15deg)}.hero-bottom{display:flex;justify-content:center;align-items:center;gap:50px;text-align:left;position:relative;max-width:950px;margin:auto}.hero-bottom p{font-size:15px;line-height:1.6}.button{display:inline-flex;align-items:center;gap:30px;background:var(--red);color:var(--pale);padding:20px 24px;text-decoration:none;font-weight:bold;font-size:13px;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:var(--ink)}.button span{font-size:22px}.seal{display:grid;place-content:center;flex-shrink:0;width:114px;height:114px;background:var(--mint);border:1px solid var(--red);outline:5px solid var(--mint);border-radius:50%;transform:rotate(12deg);text-align:center;font-size:11px;letter-spacing:1px;line-height:1.2;font-weight:bold}.seal i{font-family:Georgia,serif;font-weight:normal;font-size:24px;letter-spacing:0}.hero-foot{display:flex;justify-content:center;gap:30px;border-top:1px solid #bd203744;padding:24px 0;margin-top:35px;font-size:10px;letter-spacing:2px;font-weight:bold}.ribbon{display:flex;gap:30px;white-space:nowrap;overflow:hidden;background:var(--red);color:var(--pale);padding:19px 0;font-family:Georgia,serif;font-size:28px;font-style:italic}.ribbon span{word-spacing:12px}.section{padding:80px 7%;max-width:1440px;margin:auto}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin-top:35px}h2{font-family:Georgia,serif;font-weight:normal;font-size:clamp(42px,5.3vw,76px);letter-spacing:-3px;line-height:1.04;margin:0}h2 em{font-weight:normal}.about h2{color:var(--red)}.about-copy{max-width:460px;padding-top:5px}.about-copy p{font-size:16px;line-height:1.7}.about-copy .lead{font-family:Georgia,serif;font-size:26px;line-height:1.35;margin-top:0}.text-link{display:flex;justify-content:space-between;font-size:13px;font-weight:bold;text-decoration:none;border-bottom:1px solid;padding:17px 0 10px;margin-top:26px}.text-link:hover{color:var(--red)}.entertainment{background:var(--mint);max-width:none}.entertainment>.section-label,.entertainment>.section-heading,.service-list{max-width:1238px;margin-left:auto;margin-right:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:80px;margin-top:35px!important;margin-bottom:45px!important}.section-heading p{max-width:300px;font-size:16px;line-height:1.6}.service-list article{display:grid;grid-template-columns:50px 1.2fr 1fr 45px;gap:24px;align-items:center;border-top:1px solid #641b2e55;padding:28px 0}.service-list article:last-child{border-bottom:1px solid #641b2e55}.service-no{font-size:11px;letter-spacing:1px}h3{font-family:Georgia,serif;font-weight:normal;font-size:30px;letter-spacing:-1px;margin:0}.service-list p{font-size:14px;line-height:1.6;margin:0;max-width:320px}.service-icon{font-size:35px;text-align:right}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}footer a{text-decoration:none}.footer-logo{font-family:Georgia,serif;font-size:22px;letter-spacing:-1px;font-weight:bold}footer p{font-family:Georgia,serif;font-size:17px;font-style:italic}footer>a:last-child{font-weight:bold}@media(min-width:1500px){.about,.hero,header{max-width:1440px}}@media(max-width:800px){header{padding:22px 6%}nav{gap:20px}nav>a:not(.nav-book){display:none}.hero{padding:35px 6% 0}.hero h1{letter-spacing:-5px;margin:30px 0}.spark1{left:4%;top:155px;font-size:40px}.spark2{right:3%;top:240px;font-size:50px}.hero-bottom{gap:25px;flex-wrap:wrap}.hero-bottom p{font-size:13px}.seal{width:90px;height:90px;font-size:9px}.seal i{font-size:20px}.hero-foot{gap:15px;font-size:8px;letter-spacing:1px}.section{padding:55px 7%}.about-grid{grid-template-columns:1fr;gap:25px}.about-copy{max-width:none}h2{letter-spacing:-2px}.section-heading{display:block}.section-heading p{max-width:none;margin-top:25px}.service-list article{grid-template-columns:28px 1fr 30px;gap:13px;padding:23px 0}.service-list p{grid-column:2;max-width:none}.service-icon{grid-row:1;grid-column:3}h3{font-size:27px}.contacts{grid-template-columns:1fr;gap:32px}.contacts>a{padding-top:20px}.elf-name{margin-top:4px}.booking{padding:14px;background-size:auto}.booking-inner{padding:50px 6%}.booking-star{font-size:65px;top:40px;right:6%}.booking .section-label{max-width:70%;line-height:1.6}.ornament-line{height:150px}.bauble{width:70px;height:90px}.bauble:before{left:22px}.b2{width:90px;height:90px}.b2:before{left:32px}.ornament-line>span{font-size:25px}footer{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:30px 7%}footer p{margin:0}footer>a:last-child{text-align:right}.footer-logo{font-size:20px}}@media(max-width:420px){h1>span:nth-child(2){font-size:68px}h1 .elves{font-size:125px}.hero-bottom{gap:16px}.hero-bottom p{width:100%;text-align:center;margin:0}.hero .button{padding:17px 18px;gap:14px;font-size:12px}.seal{width:79px;height:79px}.hero-kicker{font-size:9px;letter-spacing:1px}.spark2{top:205px}.hero-foot{gap:10px}.wordmark{font-size:21px}.nav-book{font-size:11px;padding:12px}.ribbon{font-size:23px}.booking h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Real Sugarplum moments */
.featured-photo{margin:0;padding:42px 7% 0;max-width:1440px;margin-inline:auto}.photo-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit}.photo-open:focus-visible{outline:3px solid var(--red);outline-offset:6px}.featured-photo .photo-open{border:10px solid var(--mint);box-shadow:8px 8px 0 var(--red)}.featured-photo img{display:block;width:100%;height:auto}.featured-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding:23px 0 0;font-size:11px;line-height:1.5}.featured-photo figcaption span:first-child{font-weight:bold;letter-spacing:2px}.gallery{padding-block:70px 85px}.gallery .section-heading{align-items:center}.gallery .section-heading p{margin:0}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px}.photo-grid figure{margin:0;min-width:0}.photo-grid figure:nth-child(even){padding-top:50px}.photo-grid .photo-open{border:8px solid var(--mint);transition:transform .2s}.photo-grid .photo-open:hover{transform:rotate(-1deg)}.photo-grid figure:nth-child(even) .photo-open{border-color:var(--hot)}.photo-grid img{display:block;width:100%;height:auto}.photo-grid figcaption{font-family:Georgia,serif;font-style:italic;font-size:19px;line-height:1.4;margin:14px 0 0}.photo-zoom{position:absolute;right:10px;bottom:10px;background:var(--pale);color:var(--red);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:23px}#photo-viewer{padding:45px 18px 12px;background:var(--pale);border:0;color:var(--ink);max-width:min(95vw,1450px);max-height:95vh}#photo-viewer::backdrop{background:#240910e8}#large-photo{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}#photo-caption{font-size:14px;text-align:center;margin:16px 5px 8px}.photo-close{position:absolute;right:12px;top:5px;background:none;border:0;color:var(--red);font-size:32px;cursor:pointer;padding:0 8px}.photo-close:focus-visible{outline:2px solid var(--red)}@media(max-width:1050px){nav{gap:18px;font-size:12px}}@media(max-width:800px){.featured-photo{padding:30px 7% 0}.featured-photo .photo-open{border-width:6px;box-shadow:5px 5px 0 var(--red)}.featured-photo figcaption{display:block;padding-top:16px}.featured-photo figcaption span{display:block}.featured-photo figcaption span+span{margin-top:5px}.gallery{padding-block:50px}.photo-grid{gap:24px}.photo-grid figure:nth-child(even){padding-top:25px}.photo-grid figcaption{font-size:16px}.photo-grid .photo-open{border-width:5px}}@media(max-width:540px){.photo-grid{grid-template-columns:1fr;gap:30px}.photo-grid figure:nth-child(even){padding-top:0}.gallery .section-heading p{margin-top:20px}.featured-photo figcaption{font-size:10px}}@media(prefers-reduced-motion:reduce){.photo-grid .photo-open{transition:none}}

.candy-photo{margin:48px 0 0;border:8px solid var(--mint);overflow:hidden}.candy-photo img{display:block;width:100%;height:clamp(210px,27vw,360px);object-fit:cover;object-position:center 48%}.contact-section{padding:18px;background:repeating-linear-gradient(90deg,var(--red) 0 18px,var(--pale) 18px 36px)}.contact-inner{background:var(--red);color:var(--pale);padding:55px 7%;text-align:center}.contact-inner h2{font-size:clamp(38px,5vw,64px);margin-bottom:22px}.contact-inner a{font-size:clamp(16px,2.6vw,28px);text-underline-offset:7px;overflow-wrap:anywhere}.contact-inner a:hover{color:var(--mint)}.nav-book{border:0;padding:0}@media(max-width:800px){.candy-photo{margin-top:32px;border-width:5px}.contact-section{padding:12px}.contact-inner{padding:42px 5%}.nav-book{padding:12px 0}}
