.grotto{--sky:#183a6b;--sky2:#3d6aa8;--snow:#f4f8fb;--paper:#fff;--ink:#1b2b45;--mu:#55657d;--line:#d3deea;--red:#e5484d;--redd:#b9353a;--gold:#f7c548;--goldd:#d9a92d;--green:#2f9e6e;--pink:#f59ab5;--fd:var(--font-fredoka),"Arial Rounded MT Bold",system-ui,sans-serif;--fb:var(--font-nunito-sans),system-ui,sans-serif;position:relative;overflow:hidden;background:var(--snow);color:var(--ink);font-family:var(--fb);line-height:1.55;-webkit-font-smoothing:antialiased}.grotto *{box-sizing:border-box}.grotto h1,.grotto h2,.grotto h3{font-family:var(--fd);margin:0}.grotto figure,.grotto p{margin:0}.grotto ul{margin:0;padding:0;list-style:none}.grotto a{color:inherit}.grotto .in{max-width:1040px;margin:0 auto;padding-inline:clamp(16px,5vw,52px)}.grotto svg.lucide{flex:none}.grotto .snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.grotto .hero{position:relative;color:#fff;overflow:hidden;isolation:isolate;background:radial-gradient(1.6px 1.6px at 7% 24%,rgba(255,255,255,.9) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 18% 46%,rgba(255,255,255,.6) 50%,transparent 52%),radial-gradient(1.4px 1.4px at 33% 19%,rgba(255,255,255,.8) 50%,transparent 52%),radial-gradient(1.8px 1.8px at 52% 16%,rgba(255,255,255,.85) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 61% 40%,rgba(255,255,255,.5) 50%,transparent 52%),radial-gradient(1.4px 1.4px at 69% 12%,rgba(255,255,255,.75) 50%,transparent 52%),radial-gradient(1.6px 1.6px at 95% 30%,rgba(255,255,255,.8) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 84% 50%,rgba(255,255,255,.5) 50%,transparent 52%),linear-gradient(180deg,var(--sky) 0,var(--sky2) 80%)}.grotto .bunting{position:absolute;top:0;left:-20px;right:-20px;height:42px;z-index:2;transform-origin:50% 0;animation:grotto-sway 4s ease-in-out infinite alternate;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='42'%3E%3Cpath d='M0 3h132' stroke='%23fff' stroke-opacity='.6' stroke-width='2'/%3E%3Cpath d='M3 4h28L17 34z' fill='%23e5484d'/%3E%3Cpath d='M36 4h28L50 34z' fill='%23f7c548'/%3E%3Cpath d='M69 4h28L83 34z' fill='%232f9e6e'/%3E%3Cpath d='M102 4h28l-14 30z' fill='%23f59ab5'/%3E%3C/svg%3E") repeat-x 0 0}@keyframes grotto-sway{0%{transform:rotate(-.4deg)}to{transform:rotate(.4deg) translateY(2px)}}.grotto .moon{position:absolute;top:66px;right:max(28px,10vw);width:clamp(54px,8vw,92px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff6d9,#ffe6a6 58%,#f2cf7a);box-shadow:0 0 70px 20px rgba(255,230,166,.25);z-index:-1}.grotto .sleigh{position:absolute;width:clamp(110px,13vw,170px);right:calc(max(28px,10vw) + 20px);top:96px;z-index:-1;animation:grotto-fly 20s linear infinite}@keyframes grotto-fly{0%{left:42%;top:220px;opacity:0}6%{opacity:1}50%{left:105%;top:30px;opacity:1}to{left:105%;top:30px;opacity:0}}.grotto .hero .in{position:relative;padding-block:86px 0}.grotto .eyebrow{font-family:var(--fd);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}.grotto h1{font-weight:700;font-size:clamp(3.2rem,9vw,6.6rem);line-height:.9;letter-spacing:-.01em;margin-top:12px;text-shadow:0 5px 0 rgba(9,24,50,.25)}.grotto h1 span{color:var(--gold)}.grotto .lede{font-size:1.12rem;color:rgba(255,255,255,.9);max-width:38ch;margin-top:18px}.grotto .facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.grotto .facts li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border-radius:999px;padding:6px 14px 6px 6px;font-weight:600;font-size:.95rem}.grotto .facts i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.grotto .facts li:first-child i{background:var(--red)}.grotto .facts li:nth-child(2) i{background:var(--green)}.grotto .facts li:nth-child(3) i{background:var(--gold);color:var(--ink)}.grotto .facts svg{width:15px;height:15px;stroke-width:2.2}.grotto .cta-row{margin-top:28px;display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap}.grotto .btn{background:var(--red);color:#fff;border-radius:999px;padding:14px 26px;font-family:var(--fd);font-weight:600;font-size:1.2rem;text-decoration:none;display:inline-flex;gap:10px;align-items:center;box-shadow:0 5px 0 var(--redd);transition:transform .15s,box-shadow .15s}.grotto .btn:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 8px 0 var(--redd)}.grotto .btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.grotto .btn svg{width:20px;height:20px;stroke-width:2.4}.grotto .price{font-family:var(--fd);font-weight:600;font-size:1.1rem;color:var(--gold)}.grotto .scene{display:block;width:100%;height:clamp(200px,22vw,270px);margin-top:-6px}.grotto .scene .layer{filter:drop-shadow(0 -3px 4px rgba(8,20,48,.28))}.grotto .scene .tier{filter:drop-shadow(0 3px 2px rgba(8,30,20,.3))}.grotto .scene .paper{filter:drop-shadow(0 2px 2px rgba(27,43,69,.22))}.grotto .scene .star{transform-box:fill-box;transform-origin:center;animation:grotto-twinkle 2.4s ease-in-out infinite}@keyframes grotto-twinkle{50%{transform:scale(1.18) rotate(8deg)}}.grotto .scene text{font-family:var(--fd)}.grotto .bub{transform-box:fill-box;transform-origin:90% 100%;animation:grotto-pop .4s cubic-bezier(.3,1.6,.5,1)}@keyframes grotto-pop{0%{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}.grotto .wave{transform-box:fill-box;transform-origin:15% 92%;animation:grotto-wave 1.1s ease-in-out infinite alternate}@keyframes grotto-wave{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.grotto .ho{transform-box:fill-box;transform-origin:center;animation:grotto-ho 1.8s ease-in-out infinite}@keyframes grotto-ho{0%,to{transform:scaleY(.45)}30%,70%{transform:scale(1.1)}}.grotto .sec{padding-block:0 72px}.grotto .baubles{display:flex;justify-content:center;gap:clamp(12px,3vw,30px);flex-wrap:wrap;min-height:130px}.grotto .bauble{display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;animation:grotto-swing 2.8s ease-in-out infinite alternate}.grotto .bauble:before{content:"";width:2px;height:var(--len,30px);background:#aebfd2}.grotto .bauble i{width:22px;height:12px;background:var(--gold);border:2px solid var(--goldd);border-radius:4px 4px 2px 2px}.grotto .bauble div{width:94px;height:94px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#fff;box-shadow:inset -8px -10px 0 rgba(0,0,0,.12),inset 9px 8px 0 rgba(255,255,255,.2),0 10px 18px -10px rgba(16,32,70,.5)}.grotto .bauble b{font-family:var(--fd);font-weight:700;font-size:2.1rem;line-height:1;font-variant-numeric:tabular-nums}.grotto .bauble span{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.grotto .bauble:first-child{--len:22px}.grotto .bauble:first-child div{background:var(--red)}.grotto .bauble:nth-child(2){--len:50px;animation-delay:-.7s}.grotto .bauble:nth-child(2) div{background:var(--green)}.grotto .bauble:nth-child(3){--len:32px;animation-delay:-1.4s}.grotto .bauble:nth-child(3) div{background:var(--gold);color:var(--ink)}.grotto .bauble:nth-child(4){--len:60px;animation-delay:-2.1s}.grotto .bauble:nth-child(4) div{background:var(--pink);color:var(--ink)}@keyframes grotto-swing{0%{transform:rotate(-3.5deg)}to{transform:rotate(3.5deg)}}.grotto .cd-label{text-align:center;font-family:var(--fd);font-weight:600;font-size:1.4rem;margin-top:14px}.grotto h2{font-weight:700;font-size:clamp(2rem,5vw,3rem);line-height:1}.grotto .feat-h{margin-top:60px}.grotto .feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:6px}.grotto .tagw{display:flex;flex-direction:column;align-items:center;transform-origin:50% 0}.grotto .tagw:before{content:"";width:2px;height:28px;background:#aebfd2}.grotto .tagw:nth-child(odd){transform:rotate(-2deg)}.grotto .tagw:nth-child(2n){transform:rotate(2deg)}.grotto .tagw:hover{animation:grotto-swing .5s ease-in-out 4 alternate}.grotto .tag{position:relative;width:100%;padding:36px 16px 22px;text-align:center;color:#fff;border-radius:0 0 16px 16px;clip-path:polygon(24% 0,76% 0,100% 15%,100% 100%,0 100%,0 15%)}.grotto .tag:before{content:"";position:absolute;top:12px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--snow)}.grotto .tagw:first-child .tag{background:var(--red)}.grotto .tagw:nth-child(2) .tag{background:var(--green)}.grotto .tagw:nth-child(3) .tag{background:var(--gold);color:var(--ink)}.grotto .tagw:nth-child(4) .tag{background:var(--pink);color:var(--ink)}.grotto .tag svg{width:32px;height:32px;stroke-width:1.9;margin:0 auto}.grotto .tag h3{font-weight:600;font-size:1.35rem;line-height:1.15;margin-top:8px}.grotto .tag p{font-size:.92rem;margin-top:4px;opacity:.92}.grotto .find{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center;margin-top:72px}.grotto .polaroid{position:relative;background:var(--paper);padding:10px 10px 12px;border-radius:6px;box-shadow:0 18px 34px -20px rgba(16,32,70,.55);transform:rotate(-1.5deg)}.grotto .polaroid:before{content:"";position:absolute;top:-12px;left:50%;width:100px;height:26px;margin-left:-50px;background:rgba(245,154,181,.85);transform:rotate(-3deg);z-index:1}.grotto .polaroid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:3px}.grotto .find h3{font-weight:700;font-size:1.9rem;line-height:1.1}.grotto .find p{color:var(--mu);margin-top:8px}.grotto .book{padding-block:10px 96px;isolation:isolate;scroll-margin-top:24px}.grotto .card{position:relative;max-width:700px;margin:0 auto;background:var(--paper);border-radius:22px;padding:clamp(22px,5vw,44px);box-shadow:0 20px 40px -24px rgba(16,32,70,.45)}.grotto .card:after,.grotto .card:before{content:"";position:absolute;inset:0;border-radius:22px;z-index:-1}.grotto .card:before{background:var(--green);transform:rotate(-2.5deg) translate(-6px,8px)}.grotto .card:after{background:var(--gold);transform:rotate(1.8deg) translate(6px,4px)}.grotto .card-h{text-align:center}.grotto .card-h p{color:var(--mu);margin-top:8px}.grotto .card-h .places{display:inline-block;margin-top:12px;background:#fff4d1;color:var(--ink);border-radius:999px;padding:5px 14px;font-weight:700}.grotto .soldout{color:var(--redd);font-weight:700;font-size:1.15rem;text-align:center;margin-top:24px}.grotto fieldset{border:0;padding:0;margin:26px 0 0;min-width:0}.grotto legend{padding:0;font-family:var(--fd);font-size:1.3rem;font-weight:600;margin-bottom:10px}.grotto label{display:block;font-size:.84rem;font-weight:600;color:var(--mu);margin-bottom:4px}.grotto input,.grotto select{width:100%;min-width:0;font:inherit;font-size:.98rem;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:12px;padding:10px 12px}.grotto input:focus,.grotto select:focus{outline:3px solid rgba(61,106,168,.25);border-color:var(--sky2)}.grotto .grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.grotto .kid{background:#eef4fb;border-radius:16px;padding:14px;margin-top:10px}.grotto .kid:first-of-type{margin-top:0}.grotto .kid-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.grotto .kid-n{font-family:var(--fd);font-weight:600;font-size:1.1rem;color:var(--sky)}.grotto .kgrid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:12px}.grotto .rm{background:none;border:0;cursor:pointer;color:var(--ink);padding:4px;line-height:0;opacity:.7}.grotto .rm:hover{opacity:1}.grotto .rm svg{width:18px;height:18px}.grotto .add{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:none;border:2px solid var(--green);color:var(--green);border-radius:999px;padding:10px;font-family:var(--fd);font-weight:600;font-size:1.05rem;cursor:pointer}.grotto .add:hover{background:rgba(47,158,110,.08)}.grotto .add svg{width:18px;height:18px;stroke-width:2.6}.grotto .tot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:24px;padding-top:16px;border-top:2px dashed var(--line)}.grotto .tot span{color:var(--mu);font-weight:600}.grotto .tot strong{font-family:var(--fd);font-size:2.1rem;font-weight:700;line-height:1}.grotto .go{width:100%;margin-top:18px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:16px;font-family:var(--fd);font-weight:600;font-size:1.25rem;cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:center;box-shadow:0 5px 0 var(--redd);transition:transform .12s,box-shadow .12s}.grotto .go:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--redd)}.grotto .go:active{transform:translateY(4px);box-shadow:0 1px 0 var(--redd)}.grotto .go:disabled{opacity:.7;cursor:wait;transform:none}.grotto .go svg{width:20px;height:20px;stroke-width:2.4}.grotto .add:focus-visible,.grotto .go:focus-visible,.grotto .rm:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.grotto .err{color:var(--redd);font-weight:700;text-align:center;min-height:1.5em;margin-top:10px}.grotto .note{font-size:.86rem;text-align:center;color:var(--mu)}.grotto .foot{background:var(--sky);color:rgba(255,255,255,.85);text-align:center;padding-block:0 34px}.grotto .foot .trees{height:34px;margin-top:-1px;background:var(--snow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='34'%3E%3Cg fill='%23183a6b'%3E%3Cpath d='M14 4 6 18h4L3 34h22l-7-16h4z'/%3E%3Cpath d='M44 12 38 23h3l-5 11h16l-5-11h3z'/%3E%3Cpath d='M68 0 59 16h5l-8 18h24l-8-18h5z'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom left}.grotto .foot p{font-family:var(--fd);font-weight:600;font-size:1.45rem;color:#fff;margin-top:22px}.grotto .foot small{display:block;margin-top:6px;font-size:.86rem}.grotto-thanks{min-height:72vh;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;color:#fff;padding:96px 20px 72px;background:linear-gradient(180deg,var(--sky),var(--sky2))}.grotto-thanks .thanks-santa{width:clamp(150px,30vw,210px);height:auto;position:relative;z-index:1}.grotto-thanks h1{font-size:clamp(2.4rem,7vw,4.4rem);line-height:1;position:relative;z-index:1}.grotto-thanks h1 span{color:var(--gold)}.grotto-thanks p{max-width:42ch;color:rgba(255,255,255,.9);position:relative;z-index:1}.grotto-thanks .when{background:rgba(255,255,255,.14);border-radius:18px;padding:14px 22px}.grotto-thanks .when b{display:block;font-family:var(--fd);font-weight:600;font-size:1.25rem;color:#fff}.grotto-thanks .btn{position:relative;z-index:1;margin-top:8px}@media(max-width:760px){.grotto .moon{top:52px}.grotto .hero .in{padding-top:100px}.grotto .scene{height:170px}.grotto .baubles{min-height:110px}.grotto .bauble div{width:72px;height:72px}.grotto .bauble b{font-size:1.6rem}.grotto .bauble span{font-size:.56rem}.grotto .feat{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grotto .tag{padding:32px 10px 18px}.grotto .find{grid-template-columns:1fr}}@media(max-width:560px){.grotto .kgrid{grid-template-columns:1fr 1fr}.grotto .kgrid>div:first-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.grotto *{animation:none!important;transition:none!important}}