/* An illustrated boutique, scoped to the unlinked Advent calendar page. */
.advent-page{--advent-ink:#765084;--advent-purple:var(--accent,#7e4096);--advent-paper:#fbf8fc;background:var(--advent-paper);overflow:hidden;color:#34243c}
.advent-heading{text-align:center;padding:32px 24px 18px;position:relative;z-index:2}
.advent-heading h1{font-family:var(--font-eyebrow,'fields',serif);font-size:clamp(36px,3.4vw,62px);font-weight:400;line-height:1.12;margin:0 0 14px;letter-spacing:-.025em}
.advent-heading p{font-size:14px;margin:0;line-height:1.7;color:#715d78}
.advent-scene{height:640px;position:relative;max-width:2000px;margin:0 auto;perspective:1500px;isolation:isolate;overflow:hidden}
.advent-room{position:absolute;inset:0;transform:scale(.84);transform-origin:50% 44%;transition:transform 2.6s cubic-bezier(.25,.65,.15,1);will-change:transform}
.advent-shop-drawing{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.advent-calendar{position:absolute;top:9%;left:50%;width:46%;max-width:700px;transform:translate(-50%,35px) scale(.94);opacity:0;padding:10px 15px 13px;background:#fffafc;border:1px solid #946aa3;box-shadow:0 6px 0 #d9c8e1,0 7px 0 #a184ae,0 25px 65px #63377716;transition:opacity 1s ease 1.2s,transform 1.6s cubic-bezier(.2,.7,.2,1) 1s}
.advent-calendar:before,.advent-calendar:after{content:'';position:absolute;width:9px;top:8px;bottom:8px;border:1px solid #bda3c7;pointer-events:none}
.advent-calendar:before{left:-13px;border-right:0}.advent-calendar:after{right:-13px;border-left:0}
.advent-calendar-cornice{display:flex;justify-content:center;align-items:center;gap:22px;height:42px;color:#7e5590}
.advent-calendar-cornice span{font-family:var(--font-eyebrow,'fields',serif);font-size:21px;line-height:1}
.advent-calendar-cornice svg{width:19px;height:19px;stroke:#a48b5e;stroke-width:1;fill:none}
.advent-days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.advent-day{aspect-ratio:1.13;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;padding:5px;border:1px solid #d0bdd7;border-radius:0;background:#f9f4fa;color:#927c9d;cursor:pointer;overflow:hidden;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;isolation:isolate}
.advent-day:focus-visible{outline:3px solid #ad7dba;outline-offset:3px;z-index:2}
.advent-day:after{content:'';position:absolute;inset:4px;border:1px solid currentColor;opacity:.2;pointer-events:none}
.advent-door-detail{position:absolute;right:5px;top:50%;width:3px;height:9px;background:currentColor;opacity:.6}
.advent-day-front>svg:not(.advent-lock){width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.2;opacity:.5;margin-bottom:2px}
.advent-day-number{font-family:var(--font-eyebrow,'fields',serif);font-size:clamp(24px,2.4vw,42px);line-height:1.12;font-weight:400}
.advent-day:nth-child(4n+2) .advent-day-front>svg:not(.advent-lock){position:absolute;width:57px;height:57px;transform:rotate(-13deg);right:-11px;bottom:1px;opacity:.13}
.advent-day:nth-child(4n+2) .advent-day-number{font-size:clamp(30px,3vw,51px)}
.advent-day.is-past{background:#e6dbea;color:#745983;border-color:#bc9fca}
.advent-day.is-past .advent-open-mark{position:absolute;right:7px;bottom:4px;font-size:15px;opacity:.65}
.advent-day.is-opened .advent-open-mark{color:#4e295e}
.advent-day.is-today{background:#78418f;border-color:#663378;color:#fff8ff;box-shadow:0 4px 14px #71458624}
.advent-day.is-today:after{opacity:.45;border-color:#dec3e6}
.advent-day.is-today .advent-day-number{font-size:clamp(30px,3.2vw,52px)}
.advent-day.is-today .advent-day-front>svg:not(.advent-lock){position:absolute;left:8px;top:9px;width:16px;height:16px;opacity:.7}
.advent-today-label{font-size:9px;letter-spacing:.05em;margin-top:5px}
.advent-day.is-future{cursor:default}
.advent-day .advent-lock{position:absolute;bottom:7px;right:8px;width:11px;height:11px;stroke:currentColor;stroke-width:1.2;fill:none;opacity:.45}
.advent-day[data-advent-day="24"]{background:#eee3d5;color:#987346;border-color:#cdbb9f}
.advent-calendar-plinth{height:10px;border-bottom:1px solid #c6add1;margin:0 2px}
.advent-entrance{position:absolute;inset:0;z-index:5;perspective:1400px;pointer-events:none;transition:opacity 1s ease 1.7s,transform 2.6s cubic-bezier(.25,.65,.15,1);transform-origin:50% 47%}
.advent-facade{position:absolute;inset:0 7% 8%;background:linear-gradient(90deg,#f1eaf5 0 15%,transparent 15% 85%,#f1eaf5 85%);border:2px solid #9671a6;box-shadow:0 0 0 35px #fbf8fc,0 0 0 36px #d7c7e0}
.advent-sign{height:20%;display:flex;align-items:center;justify-content:center;background:#f1eaf5;border-bottom:2px solid #9671a6;position:relative}
.advent-sign:before,.advent-sign:after{content:'';position:absolute;height:1px;top:45%;width:20%;background:#bda3c7}.advent-sign:before{left:9%}.advent-sign:after{right:9%}
.advent-sign img{width:23%;height:75%;object-fit:contain;filter:brightness(0) saturate(100%) invert(36%) sepia(20%) saturate(985%) hue-rotate(233deg) brightness(92%) contrast(87%);opacity:.9}
.advent-transom{height:7%;position:absolute;left:15%;right:15%;top:20%;border:1px solid #9671a6;display:flex;background:#f7f1fa}
.advent-transom span{flex:1;border-right:1px solid #b79bc5}.advent-transom span:last-child{border:0}
.advent-doorway{position:absolute;left:15%;right:15%;top:27%;bottom:0;perspective:1400px;border:1px solid #9671a6}
.advent-door{position:absolute;top:0;bottom:0;width:50%;background:#eee5f1c9;border:2px solid #92709f;backface-visibility:hidden;transition:transform 1.95s cubic-bezier(.35,.05,.15,1);transform-style:preserve-3d;overflow:hidden}
.advent-door-left{left:0;transform-origin:0 50%}.advent-door-right{right:0;transform-origin:100% 50%}
.advent-door:before{content:'';position:absolute;inset:12px 12px 13%;border:1px solid #a889b7;background:linear-gradient(120deg,#fff9 0 18%,transparent 18% 20%,#fff7 20% 21%,transparent 21%)}
.advent-door:after{content:'';position:absolute;left:0;right:0;bottom:0;height:10%;border-top:1px solid #92709f;background:#e4d5eb}
.advent-glass-reflection{position:absolute;inset:8%;background:linear-gradient(140deg,transparent 40%,#fff8 40% 41%,transparent 41% 45%,#fff6 45% 49%,transparent 49%)}
.advent-door i{position:absolute;top:45%;height:75px;width:7px;border:1px solid #80518e;background:#f6eff9}.advent-door-left i{right:20px}.advent-door-right i{left:20px}
.advent-door b{position:absolute;left:0;right:0;top:65%;height:10px;border-block:1px solid #92709f;background:#cbb3d6}
.advent-facade-side{position:absolute;top:30%;bottom:7%;width:11%;border:1px solid #bda3c7;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.advent-facade-side.left{left:2%}.advent-facade-side.right{right:2%}
.advent-facade-side svg{width:65%;height:26%;fill:none;stroke:#a685b4;stroke-width:.55}
.advent-enter{position:absolute;z-index:7;top:57%;left:50%;transform:translate(-50%,-50%);display:flex;gap:18px;align-items:center;background:#77428e;color:white;border:1px solid #e4cfea;padding:15px 25px;font:inherit;font-size:14px;cursor:pointer;box-shadow:0 5px 30px #71458625;transition:opacity .3s ease,visibility .3s}
.advent-enter .icon{width:17px;height:17px}
.advent-scene.is-entering .advent-enter{opacity:0;visibility:hidden}
.advent-scene.is-entering .advent-door-left{transform:rotateY(-104deg)}
.advent-scene.is-entering .advent-door-right{transform:rotateY(104deg)}
.advent-scene.is-entering .advent-entrance{transform:scale(1.4);opacity:0}
.advent-scene.is-entering .advent-room{transform:scale(1)}
.advent-scene.is-entering .advent-calendar{opacity:1;transform:translate(-50%,0) scale(1)}
.advent-scene.has-entered .advent-entrance{visibility:hidden}
.advent-sparkles{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;transition:opacity 2s ease 2s}
.advent-scene.has-entered .advent-sparkles{opacity:1}
.advent-sparkles i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#af84be;animation:advent-twinkle 5s ease-in-out var(--delay) infinite}
@keyframes advent-twinkle{0%,100%{opacity:.12;transform:translateY(0)}50%{opacity:.8;transform:translateY(-10px)}}
@media(hover:hover){.advent-day:not(.is-future):hover{transform:translateY(-4px);box-shadow:0 7px 15px #63377723}.advent-day.is-today:hover{background:#613275}}
dialog.advent-dialog{width:min(850px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:0;border-radius:0;background:#fcf9fd;border:1px solid #d6bfdf;color:#34243c}
.advent-dialog .dialog-header{padding:19px 26px;border-bottom:1px solid #e5d9ea}
.advent-dialog .dialog-header h2{font:400 18px var(--font-eyebrow,'fields',serif);color:#80518e}
.advent-dialog .dialog-body{padding:28px 32px 32px}
.advent-reveal>h2{text-align:center;font-family:var(--font-eyebrow,'fields',serif);font-size:32px;font-weight:400;line-height:1.2;margin:0 0 24px}
.advent-offer-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.advent-feature-product{background:#fff;display:block}.advent-feature-product img{width:100%;height:320px;object-fit:contain}
.advent-offer-copy{text-align:left}.advent-offer-copy p{font-size:14px;line-height:1.5;margin:8px 0}
.advent-offer-copy .advent-offer-discount{font-family:var(--font-eyebrow,'fields',serif);font-size:76px;line-height:1;color:#79438d;margin:0 0 15px;letter-spacing:-.04em}.advent-offer-discount span{font-size:.58em}
.advent-offer-price s{color:#8e7c96;margin-right:10px}.advent-offer-price strong{font-size:21px;color:#73408a}
.advent-code{display:flex;border:1px dashed #9c78ad;align-items:center;justify-content:space-between;padding:12px 14px;margin:20px 0 10px;background:#f1e9f5;gap:10px}.advent-code>span{letter-spacing:.1em;font-weight:600;font-size:16px;user-select:all}.advent-code button{display:flex;align-items:center;gap:8px;background:none;border:0;font:inherit;font-size:12px;cursor:pointer;color:#755084}.advent-code svg{width:15px;height:15px}
.advent-offer-copy .advent-terms{font-size:11px;color:#806f87}.advent-copy-feedback{display:block;font-size:11px;color:#755084;min-height:18px}.advent-offer-copy .btn{margin-top:15px;gap:18px}
.advent-offer-expired{color:#8e7c96;font-style:italic}
.advent-christmas-gift{display:grid;place-items:center;background:#f1e9f5;min-height:270px}.advent-christmas-gift svg{width:130px;height:130px;fill:none;stroke:#80518e;stroke-width:1}
.advent-selection{display:flex;justify-content:center;gap:22px}.advent-reveal-product{flex:1;max-width:300px;text-align:center;text-decoration:none;color:inherit}.advent-reveal-product>div{background:#fff;margin-bottom:14px}.advent-reveal-product img{width:100%;height:220px;object-fit:contain}.advent-reveal-product>span:first-of-type{font-size:12px;color:#80518e}.advent-reveal-product h3{font-size:16px;line-height:1.3;margin:6px 0 10px;font-weight:500}.advent-reveal-product strong{font-size:14px}.advent-product-link{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;margin-top:15px}.advent-product-link svg{width:15px;height:15px}
@media(min-width:1800px){.advent-calendar{width:43%}.advent-scene{height:640px}.advent-day{aspect-ratio:1.13}}
@media(max-width:1100px){.advent-calendar{width:61%;top:17%}.advent-shop-drawing{width:130%;max-width:none;left:-15%}.advent-scene{height:690px}.advent-day-number{font-size:32px}.advent-day.is-today .advent-day-number{font-size:40px}.advent-day:nth-child(4n+2) .advent-day-number{font-size:39px}.advent-sign img{width:30%}}
@media(max-width:700px){.advent-heading{padding:32px 20px 10px}.advent-heading h1{font-size:35px;margin-bottom:12px}.advent-heading p{max-width:280px;margin:auto;font-size:13px}.advent-scene{height:760px}.advent-shop-drawing{width:1050px;height:760px;left:50%;transform:translateX(-50%);max-width:none}.advent-calendar{width:calc(100% - 52px);max-width:410px;top:8%;padding:7px 10px 10px}.advent-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.advent-day{aspect-ratio:1/1.07}.advent-day-front>svg:not(.advent-lock){width:20px;height:20px}.advent-day-number{font-size:27px}.advent-day:nth-child(4n+2) .advent-day-number{font-size:34px}.advent-day.is-today .advent-day-number{font-size:34px}.advent-today-label{font-size:8px;margin-top:2px}.advent-calendar-cornice{height:36px}.advent-calendar-cornice span{font-size:19px}.advent-facade{inset:0 3% 10%;background:linear-gradient(90deg,#f1eaf5 0 6%,transparent 6% 94%,#f1eaf5 94%)}.advent-sign{height:16%}.advent-sign img{width:58%;height:67%}.advent-sign:before,.advent-sign:after{width:8%}.advent-sign:before{left:8%}.advent-sign:after{right:8%}.advent-transom{left:6%;right:6%;top:16%;height:6%}.advent-doorway{left:6%;right:6%;top:22%}.advent-facade-side{display:none}.advent-enter{top:50%}.advent-door i{height:60px}.advent-door-left i{right:12px}.advent-door-right i{left:12px}.advent-door:before{inset:8px 8px 13%}.advent-offer-layout{gap:16px;grid-template-columns:1fr 1fr}.advent-feature-product img{height:240px}.advent-reveal>h2{font-size:27px}.advent-dialog .dialog-body{padding:22px 20px}.advent-offer-copy .advent-offer-discount{font-size:57px}.advent-code{padding:10px;flex-wrap:wrap}.advent-code>span{font-size:14px}.advent-offer-copy .btn{padding:13px;font-size:11px}.advent-selection{gap:12px;flex-wrap:wrap}.advent-reveal-product{flex:1 1 38%}.advent-reveal-product img{height:160px}.advent-reveal-product h3{font-size:14px}}
@media(max-width:420px){.advent-scene{height:650px}.advent-calendar{top:7%;width:calc(100% - 42px);padding:6px 8px 10px}.advent-days{gap:6px}.advent-day-number{font-size:25px}.advent-day.is-today .advent-day-number{font-size:32px}.advent-offer-layout{grid-template-columns:1fr}.advent-feature-product img{height:200px}.advent-offer-copy{text-align:center}.advent-offer-copy .advent-offer-discount{font-size:58px;margin:0}.advent-reveal>h2{font-size:24px}.advent-code{max-width:260px;margin:14px auto 8px}.advent-offer-copy .btn{margin-top:5px}.advent-dialog .dialog-header{padding:12px 20px}.advent-offer-copy .advent-terms{font-size:10px}}
@media(prefers-reduced-motion:reduce){.advent-page *,.advent-page *:before,.advent-page *:after,.advent-dialog *{animation:none!important;transition:none!important}.advent-entrance,.advent-enter{display:none}.advent-room{transform:none}.advent-calendar{opacity:1;transform:translate(-50%,0)}}

.advent-route .footer-bottom>span:nth-child(2){display:none}

/* Keep the boutique's framing in the final entrance view. */
.advent-route>.topbar,.advent-route>#site-header{display:none}
.advent-heading{padding-top:38px}
.advent-heading-inner{width:min(1400px,100%);margin:0 auto 23px;text-align:left}
.advent-back{display:inline-flex;align-items:center;gap:10px;color:#765084;font-size:14px;line-height:1.4;text-decoration:none;padding:7px 0}
.advent-back .icon{width:17px;height:17px;transform:rotate(180deg);transition:transform .2s ease}
.advent-back:hover .icon{transform:rotate(180deg) translateX(3px)}
.advent-heading h1{color:var(--advent-purple)}
.advent-scene{height:760px}
.advent-shop-drawing{width:100%;height:100%;left:0;transform:none}
.advent-calendar{width:49%;max-width:760px;top:30%;padding-top:15px}
.advent-scene.is-entering .advent-entrance{transform:none;opacity:1}
.advent-scene.has-entered .advent-entrance{visibility:visible}
.advent-door{transition:transform 1.95s cubic-bezier(.35,.05,.15,1),opacity .7s ease 1.4s}
.advent-scene.is-entering .advent-door{opacity:0}
.advent-day.is-today{animation:advent-day-invitation 2.1s ease-in-out infinite}
@keyframes advent-day-invitation{0%,100%{background-color:#78418f;box-shadow:0 0 0 0 #9c69b040}50%{background-color:#a566be;box-shadow:0 0 0 5px #9c69b01a}}
@media(min-width:1800px){.advent-scene{height:760px}.advent-calendar{width:49%;max-width:760px}}
@media(min-width:701px) and (max-width:1100px){.advent-scene{height:750px}.advent-calendar{width:66%;top:30%}}
@media(max-width:700px){.advent-heading{padding-top:18px}.advent-heading-inner{margin-bottom:18px}.advent-back{font-size:13px}.advent-scene{height:900px}.advent-shop-drawing{width:100%;height:100%;left:0;transform:none}.advent-calendar{width:calc(100% - 64px);max-width:420px;top:24%;padding-top:12px}.advent-day{aspect-ratio:1/1.13}.advent-facade{inset:0 2% 4%}.advent-facade-side{display:flex;width:3%;border:0;top:24%;bottom:8%}.advent-facade-side.left{left:1%}.advent-facade-side.right{right:1%}.advent-facade-side svg{display:none}.advent-enter{top:50%}}
@media(max-width:420px){.advent-scene{height:800px}.advent-calendar{width:calc(100% - 54px);top:24%}}
@media(prefers-reduced-motion:reduce){.advent-scene .advent-entrance{display:block;visibility:visible;opacity:1;transform:none}.advent-door{display:none}.advent-back .icon{transition:none}.advent-day.is-today{animation:none}}

/* A shared title row and a sharp calendar in front of the softened interior. */
.advent-heading{padding-bottom:50px}
.advent-heading-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;width:min(1600px,100%);margin-bottom:10px}
.advent-heading-inner h1{margin:0}
.advent-back{justify-self:start;font-weight:650;white-space:nowrap}
.advent-shop-drawing{filter:blur(0);opacity:1;transition:filter 1.1s ease,opacity 1.1s ease}
.advent-scene.has-entered .advent-shop-drawing{filter:blur(2.6px);opacity:.66}
.advent-scene.has-entered .advent-entrance{opacity:0;visibility:hidden;transition:opacity .75s ease,visibility 0s .75s}
.advent-calendar{z-index:2;background:#fff;border-color:#80518e;box-shadow:0 6px 0 #d9c8e1,0 7px 0 #a184ae,0 22px 65px #63377735;filter:none;transition:opacity 1s ease 1.2s,transform 1.6s cubic-bezier(.2,.7,.2,1) 1s,top 1s cubic-bezier(.2,.7,.2,1)}
.advent-scene.has-entered .advent-calendar{top:7%}
.advent-day.is-future{color:#806b8b;border-color:#c8b4d1}
@media(max-width:1100px){.advent-heading-inner{grid-template-columns:auto minmax(0,1fr);gap:22px}.advent-heading-inner h1{text-align:center;font-size:clamp(34px,4.2vw,48px)}}
@media(max-width:700px){.advent-heading{padding-top:30px;padding-bottom:38px}.advent-heading-inner{gap:13px;margin-bottom:12px}.advent-heading-inner h1{font-size:clamp(23px,5.7vw,35px);line-height:1.2;text-align:right}.advent-back{font-size:12px;gap:6px}.advent-back .icon{width:14px;height:14px}.advent-scene.has-entered .advent-calendar{top:7%}.advent-scene.has-entered .advent-shop-drawing{filter:blur(1.8px)}}
@media(max-width:360px){.advent-back{max-width:72px;white-space:normal;line-height:1.3}.advent-heading-inner h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.advent-scene.has-entered .advent-entrance{display:none}.advent-scene.has-entered .advent-calendar{transition:none}.advent-shop-drawing{transition:none}}

/* Hinged paper doors open before the day's surprise is revealed. */
.advent-door{transition:transform 2.65s cubic-bezier(.35,.05,.15,1),opacity .8s ease 2.05s}
.advent-room{transition-duration:3.25s}
.advent-day{perspective:650px;transform-style:preserve-3d}
.advent-day-front{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5px;background:inherit;color:inherit;border:1px solid currentColor;border-color:inherit;transform-origin:0 50%;backface-visibility:hidden;transition:transform .85s cubic-bezier(.3,.15,.18,1),box-shadow .85s ease}
.advent-day:after{display:none}
.advent-day-front:after{content:'';position:absolute;inset:4px;border:1px solid currentColor;opacity:.2;pointer-events:none}
.advent-day.is-today .advent-day-front:after{opacity:.45}
.advent-day-inside{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#fffdf6,#e9daef);box-shadow:inset 3px 2px 12px #51245f24}
.advent-day-inside>svg{width:40%;height:40%;fill:none;stroke:#997747;stroke-width:1.1;opacity:.8}
.advent-day.is-opening{z-index:5;overflow:visible;animation:none;transform:none!important}
.advent-day.is-opening .advent-day-front{transform:rotateY(-112deg);box-shadow:6px 5px 14px #52216425}
.advent-day.is-opening .advent-door-detail{opacity:1}
.advent-dialog .dialog-header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center}
.advent-dialog .dialog-header h2{grid-column:2;text-align:center;justify-self:center}
.advent-dialog .dialog-header .icon-btn{grid-column:3;justify-self:end}
dialog.advent-dialog[open]{animation:advent-modal-in .5s cubic-bezier(.2,.8,.2,1) both}
dialog.advent-dialog[open]::backdrop{animation:advent-modal-backdrop .5s ease both}
@keyframes advent-modal-in{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes advent-modal-backdrop{from{opacity:0}to{opacity:1}}
.advent-selection-single .advent-reveal-product{max-width:360px;flex:0 1 360px}
.advent-selection-single .advent-reveal-product img{height:275px}
@media(max-width:700px){.advent-selection-single .advent-reveal-product img{height:240px}}
@media(prefers-reduced-motion:reduce){.advent-day-front{transition:none}.advent-day.is-opening .advent-day-front{transform:none;opacity:0}dialog.advent-dialog[open],dialog.advent-dialog[open]::backdrop{animation:none}.advent-door,.advent-room{transition:none}}

/* Exact supplied illustrations; the two door panels use crops of the same front image. */
.advent-scene{width:calc(100% - 40px);max-width:1672px;height:auto;aspect-ratio:1672/941}
img.advent-shop-drawing{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.advent-illustrated-entrance .advent-entrance-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;mask:linear-gradient(#000 0 0) top/100% 20.2% no-repeat,linear-gradient(#000 0 0) bottom/100% 6.7% no-repeat,linear-gradient(#000 0 0) left/14.2% 100% no-repeat,linear-gradient(#000 0 0) right/14.1% 100% no-repeat}
.advent-illustrated-entrance .advent-doorway{left:14.2%;right:14.1%;top:20.2%;bottom:6.7%;border:0}
.advent-illustrated-entrance .advent-door{background:transparent;border:0;mask:linear-gradient(to bottom,#000 0 2.5%,transparent 2.5% 68.5%,#000 68.5% 71%,transparent 71% 93.5%,#000 93.5% 100%),linear-gradient(to right,#000 0 2.8%,transparent 2.8% 97.2%,#000 97.2% 100%),linear-gradient(#000 0 0) var(--handle-x) 68%/4.4% 28% no-repeat}
.advent-door-left{--handle-x:98.1%}
.advent-door-right{--handle-x:3.1%}
.advent-illustrated-entrance .advent-door:before,.advent-illustrated-entrance .advent-door:after{display:none}
.advent-door-illustration{position:absolute;max-width:none;width:278.94%;height:136.8%;top:-27.63%;object-fit:fill;pointer-events:none}
.advent-door-left .advent-door-illustration{left:-39.61%}
.advent-door-right .advent-door-illustration{left:-139.61%}
.advent-scene.has-entered img.advent-shop-drawing{opacity:.8}
@media(max-width:700px){.advent-scene{width:100%;height:900px;aspect-ratio:auto}.advent-illustrated-entrance{width:1599px;left:50%;right:auto;transform:translateX(-50%)}.advent-scene.is-entering .advent-illustrated-entrance{transform:translateX(-50%)}.advent-scene.has-entered img.advent-shop-drawing{opacity:.8}}
@media(max-width:420px){.advent-scene{height:800px}.advent-illustrated-entrance{width:1421.5px}}

/* Keep only the painted frame in the moving raster layer; glass and handles are separate. */
.advent-illustrated-entrance .advent-door{mask:none}
.advent-door-raster{position:absolute;inset:0;mask:linear-gradient(to bottom,#000 0 2.5%,transparent 2.5% 68.5%,#000 68.5% 71%,transparent 71% 93.5%,#000 93.5% 100%),linear-gradient(to right,#000 0 2.8%,transparent 2.8% 97.2%,#000 97.2% 100%)}
.advent-transparent-glass{position:absolute;inset:2.5% 2.8% 6.5%;background:linear-gradient(130deg,transparent 0 23%,#ffffff40 23% 23.3%,transparent 23.3% 63%,#ffffff30 63% 63.3%,transparent 63.3%);pointer-events:none}
.advent-transparent-handle{position:absolute;top:49.3%;height:26%;width:2.4%;border:1.4px solid #8f8091;border-radius:2px;box-shadow:1px 0 #aaa6;background:#fbf9fc18;pointer-events:none}
.advent-door-left .advent-transparent-handle{right:3.8%}
.advent-door-right .advent-transparent-handle{left:3.8%}

/* Once inside, the second illustration fills the viewport behind the title and calendar. */
.advent-page{position:relative;isolation:isolate}
.advent-fullscreen-background{position:fixed;inset:0;z-index:0;width:100%;height:100svh;max-width:none;object-fit:cover;object-position:center;opacity:0;visibility:hidden;filter:blur(2.6px);pointer-events:none;transition:opacity 1s ease,visibility 0s 1s}
.advent-page.is-inside .advent-fullscreen-background{opacity:.8;visibility:visible;transition:opacity 1s ease}
.advent-scene{z-index:1}
.advent-page.is-inside img.advent-shop-drawing{opacity:0}
@media(max-width:700px){.advent-fullscreen-background{filter:blur(1.8px)}}
@media(prefers-reduced-motion:reduce){.advent-fullscreen-background{transition:none}}

@media(prefers-reduced-motion:reduce){.advent-page:not(.is-inside) .advent-enter{display:flex}.advent-page:not(.is-inside) .advent-entrance{display:block;opacity:1;visibility:visible}.advent-page:not(.is-inside) .advent-door{display:block;transform:none;opacity:1}.advent-page:not(.is-inside) .advent-calendar{opacity:0;visibility:hidden}.advent-page.is-inside .advent-calendar{visibility:visible}}
