:root{--ink:#2c173c;--muted:#6e5d76;--purple:#5b2c83;--purple-dark:#3d1c5b;--pink:#e885b5;--pink-deep:#a23169;--rose:#f7d8e8;--lilac:#e8ddf6;--cream:#fffafc;--line:#e6dce9;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 24px 65px #3c1d5a1a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:0.9375rem;line-height:1.65}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pink-deep)}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3{font-family:var(--serif);line-height:1.08}em{font-weight:400;color:var(--purple)}p{color:var(--muted)}[hidden]{display:none!important}.section-shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:110px}.icon{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--purple);color:white;padding:10px 18px;border-radius:6px}.skip-link:focus{transform:translateY(0)}.announcement{height:37px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;background:var(--purple-dark);color:#f7eafa;font-size:0.6875rem;letter-spacing:.035em}.announcement-location{display:flex;align-items:center;gap:7px}.announcement .icon{width:13px;height:13px}.site-header{height:99px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fffafcf5;backdrop-filter:blur(18px);z-index:20;transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 3px 20px #2c173c09}.brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1}.brand-name{font-family:var(--serif);font-size:2.0625rem;letter-spacing:-1.3px;white-space:nowrap}.brand-heart{color:var(--pink-deep);display:inline-block;margin-left:4px;font-family:Georgia,serif;font-size:2.25rem;transform:rotate(-14deg)}.brand-tagline{font-size:0.5rem;letter-spacing:1.9px;margin-top:9px;font-weight:600}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:0.75rem}.desktop-nav a{position:relative;padding-block:13px}.desktop-nav a:after{content:'';position:absolute;bottom:6px;left:0;width:0;height:1px;background:var(--purple);transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 25px;border-radius:100px;background:var(--purple);color:white;font-size:0.8125rem;font-weight:500;line-height:1.4;border:1px solid transparent;min-height:52px;transition:transform .25s,background .25s,box-shadow .25s;white-space:normal;text-align:center}.button:hover{background:var(--purple-dark);transform:translateY(-3px);box-shadow:0 7px 20px #5b2c8324}.button span[aria-hidden]{font-size:1.25rem;line-height:1}.button-small{padding:12px 19px;min-height:43px;font-size:0.6875rem;gap:14px}.button-outline{background:transparent;border-color:#aa91ba;color:var(--purple)}.button-outline:hover{background:var(--lilac);color:var(--purple);border-color:var(--purple)}.button-light{background:#f5c5de;color:var(--purple-dark)}.button-light:hover{background:#ffdaec;color:var(--purple-dark)}.button-ghost{border-color:#b59ac8;background:transparent;color:white}.button-ghost:hover{background:#ffffff10}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:50%;width:40px;height:40px;flex-shrink:0;transition:background .2s}.icon-button:hover{background:var(--lilac)}.icon-button .icon{width:19px;height:19px}.order-toggle{position:relative}.cart-count{position:absolute;top:-1px;right:-2px;min-width:16px;height:16px;border-radius:20px;background:var(--pink-deep);color:white;font-size:0.5625rem;line-height:16px}.nav-toggle{display:none}.motion-toggle{width:30px;height:35px}.motion-toggle .icon{width:13px;height:13px}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:35px;min-height:692px;padding-block:55px 70px}.eyebrow{font-size:0.625rem;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;color:var(--purple);line-height:1.7}.hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:0.5625rem;letter-spacing:1.2px;margin-bottom:26px}.tiny-star{color:var(--pink-deep);font-size:1.1875rem}h1{font-size:clamp(4.0625rem,6.45vw,6rem);letter-spacing:-3.4px;line-height:1.04}h1 em{color:var(--purple)}.hero-description{max-width:400px;font-size:0.875rem;line-height:1.85;margin-top:27px}.hero-ctas{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link,.underlined-link{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;background:transparent;padding:0;font-size:0.75rem;font-weight:500;line-height:1.5;transition:color .2s}.text-link:hover,.underlined-link:hover{color:var(--pink-deep)}.underlined-link{border-bottom:1px solid #af96bf;padding-bottom:6px}.hero-details{display:flex;gap:20px;margin-top:38px;flex-wrap:wrap;font-size:0.5625rem;color:#76627f}.hero-details span{display:flex;align-items:center;gap:7px}.hero-details .icon{width:14px;height:14px;color:var(--purple)}.hero-art{position:relative;height:555px;isolation:isolate;perspective:1200px;max-width:580px;width:100%;margin:auto}.hero-halo{position:absolute;inset:28px -8px 18px 20px;background:linear-gradient(145deg,#ecdff7,#f7cfe6);border-radius:50% 48% 45% 43%;transform:rotate(-13deg);z-index:-1}.hero-halo:before{content:'';position:absolute;inset:15px;border:1px solid #fff8;border-radius:inherit}.photo-stage{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);animation:stage-float 8s ease-in-out infinite}.floating-photo{position:absolute;background:#fff;padding:9px 9px 7px;box-shadow:0 15px 40px #431e6530;border-radius:4px;backface-visibility:hidden}.floating-photo img{border-radius:2px;width:100%}.floating-photo figcaption{font-family:var(--serif);font-style:italic;text-align:center;color:var(--purple-dark);font-size:0.8125rem;padding-top:6px}.hero-photo{width:65%;height:80%;left:18%;top:9%;transform:rotate(-7deg) translateZ(20px)}.hero-photo img{height:calc(100% - 27px);object-position:50% 62%}.cake-photo{width:31%;right:-1%;top:1%;transform:rotate(10deg) translateZ(60px)}.cake-photo img{aspect-ratio:1/1.14;object-position:50% 42%}.cake-photo figcaption,.dessert-photo figcaption{font-size:0.625rem}.dessert-photo{width:31%;bottom:6%;left:-3%;transform:rotate(7deg) translateZ(80px)}.dessert-photo img{aspect-ratio:1/1.1;object-position:center}.flavor-seal{position:absolute;width:112px;height:112px;right:0;bottom:6%;border-radius:50%;background:var(--purple);color:#fbe9f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transform:rotate(13deg) translateZ(95px);font-size:0.5625rem;letter-spacing:1.7px;border:5px double #bfa1d0;box-shadow:8px 12px 22px #3d1c5b22}.seal-heart{font-family:Georgia,serif;font-size:2.1875rem;line-height:1.1;color:#f6b5d9}.dimensional-star{position:absolute;color:#bd8bd6;filter:drop-shadow(5px 8px 0 #7d439d);line-height:1}.star-one{left:1%;top:7%;font-size:5.4375rem;transform:rotate(18deg) translateZ(75px)}.star-two{right:7%;top:47%;font-size:3.3125rem;color:#ed9fc8;transform:rotate(-12deg) translateZ(110px);filter:drop-shadow(3px 5px 0 #ae517e)}.art-note{position:absolute;bottom:0;left:31%;font-size:0.5625rem;font-style:italic;color:#82688d}.flavor-ribbon{overflow:hidden;background:var(--lilac);border-block:1px solid #d8c8e6;transform:rotate(-1.4deg);width:100%;position:relative;z-index:2}.ribbon-inner{min-height:64px;display:flex;align-items:center;justify-content:space-around;gap:30px;padding:10px 32px;white-space:nowrap;color:var(--purple);font-size:0.6875rem;letter-spacing:2px}.ribbon-inner [aria-hidden]{font-size:1.375rem;color:#a25b8b}h2{font-size:clamp(2.5rem,4.1vw,3.75rem);letter-spacing:-1.5px}h2 em{display:inline-block}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:17px}.section-intro{max-width:310px;font-size:0.8125rem;line-height:1.9;padding-bottom:7px}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.experience-photo{height:330px;position:relative;overflow:hidden;border-radius:130px 130px 8px 8px;background:var(--lilac)}.experience-photo img{width:100%;height:100%;transition:transform .7s;object-position:center 44%}.experience-item:first-child .experience-photo img{object-position:center 35%}.experience-item:hover .experience-photo img{transform:scale(1.045)}.photo-number{position:absolute;bottom:16px;left:16px;background:#fffafce8;backdrop-filter:blur(7px);border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:0.6875rem;color:var(--purple)}.service-heading{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.service-heading h3{font-size:1.5625rem;letter-spacing:-.4px}.service-heading .icon{width:22px;height:22px;color:#a56497}.experience-item p{font-size:0.75rem;line-height:1.8;margin-block:13px 20px;max-width:330px}.experience-item .underlined-link{font-size:0.6875rem}.menu-section{background:#f3edf8;border-block:1px solid #e9dfef}.menu-intro{max-width:360px}.menu-intro p{font-size:0.8125rem;line-height:1.9}.note-pill{display:inline-flex;align-items:center;gap:8px;margin-top:15px;background:#ffffff96;border:1px solid #e3d7eb;padding:5px 11px;border-radius:25px;font-size:0.5625rem;color:var(--purple)}.note-pill span{font-size:1.0625rem}.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.menu-filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid #dbcce5;border-radius:50px;padding:10px 18px;background:transparent;font-size:0.6875rem;transition:background .2s,color .2s}.filter.active{background:var(--purple);color:white;border-color:var(--purple)}.filter:hover:not(.active){background:#e7d9f0}.menu-results{font-size:0.6875rem;color:var(--muted);white-space:nowrap}.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 19px}.food-card{background:var(--cream);border:1px solid #e8deed;border-radius:11px;overflow:hidden;animation:card-in .45s ease both;transition:box-shadow .3s,transform .3s}.food-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #48245e12}.food-card-image{position:relative;height:237px;overflow:hidden;background:var(--lilac)}.food-card-image img{width:100%;height:100%;transition:transform .65s}.food-card:hover img{transform:scale(1.045)}.food-tag{position:absolute;left:12px;top:12px;border-radius:30px;background:#fffafce8;backdrop-filter:blur(8px);padding:4px 9px;font-size:0.5rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:var(--purple)}.food-card-body{padding:19px 17px 16px}.food-card h3{font-size:1.4375rem;line-height:1.1;letter-spacing:-.3px;min-height:49px}.food-card p{font-size:0.625rem;line-height:1.75;min-height:53px;margin-top:7px}.food-card-bottom{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:13px}.food-card-bottom>span{font-size:0.5625rem;color:var(--muted)}.add-button{display:flex;align-items:center;gap:7px;border-radius:25px;font-size:0.625rem;color:var(--purple);background:#eee4f5;padding:7px 11px;transition:background .2s}.add-button:hover{background:#e1c9ef}.add-button .add-symbol{font-size:1.0625rem;line-height:1}.menu-bottom{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-bottom p{font-size:0.6875rem}.menu-bottom .text-link{font-size:0.6875rem}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.story-photos{position:relative;min-height:450px;padding:0 24px 55px 0}.story-main{width:100%;height:365px;border-radius:160px 160px 10px 10px;object-position:center}.story-mini{position:absolute;bottom:0;right:-15px;width:170px;height:210px;padding:8px;background:white;transform:rotate(7deg);box-shadow:var(--shadow);border-radius:4px}.story-mini img{width:100%;height:100%}.story-stamp{position:absolute;bottom:4px;left:5px;display:flex;flex-direction:column;font-size:0.5625rem;letter-spacing:1.1px;line-height:1.8;color:var(--purple)}.story-stamp em{font-family:var(--serif);font-size:1.5625rem;letter-spacing:0;line-height:1.5}.story-copy .eyebrow{margin-bottom:18px}.story-copy h2{font-size:3.1875rem}.story-copy p:not(.eyebrow){font-size:0.8125rem;line-height:1.9;margin-top:23px}.story-copy .button{margin-top:27px;font-size:0.75rem}.gallery-section{background:#f8e7f0;border-block:1px solid #eedce8}.gallery-section h2{font-size:3.375rem}.gallery-section .section-heading{align-items:center}.gallery-section .underlined-link{font-size:0.6875rem}.gallery-section .icon{width:17px;height:17px}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.gallery-photo{border:0;padding:0;border-radius:9px;overflow:hidden;height:240px;position:relative;background:var(--lilac)}.gallery-photo:nth-child(even){margin-top:30px}.gallery-photo img{height:100%;width:100%;transition:transform .6s}.gallery-photo:hover img{transform:scale(1.07)}.gallery-photo:after{content:'↗';position:absolute;right:12px;bottom:12px;width:28px;height:28px;line-height:28px;border-radius:50%;background:#fff9;font-size:1.0625rem;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.gallery-photo:hover:after,.gallery-photo:focus-visible:after{opacity:1;transform:translateY(0)}.gallery-note{font-size:0.625rem;text-align:center;margin-top:25px;color:#8a6c80}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-intro .eyebrow{margin-bottom:17px}.faq-intro p:not(.eyebrow){font-size:0.8125rem;max-width:275px;margin-top:24px;line-height:1.85}.faq-intro .button{margin-top:26px;font-size:0.75rem}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:22px;font-size:0.8125rem;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:1.375rem;font-weight:400;color:var(--purple);transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:0.75rem;padding-bottom:23px;line-height:1.9}details p a{text-decoration:underline;text-underline-offset:3px}.contact-section{position:relative;overflow:hidden;background:var(--purple-dark);color:#fff5fa;padding-block:90px;text-align:center}.contact-section:before,.contact-section:after{content:'';position:absolute;inset:auto;border-radius:50%;border:1px solid #b18ac530;width:640px;height:640px;pointer-events:none}.contact-section:before{top:25px;left:-470px}.contact-section:after{right:-370px;bottom:-390px}.contact-inner{position:relative;z-index:1}.contact-section .eyebrow{color:#dcb2ed;font-size:0.5625rem}.contact-section h2{font-size:clamp(2.8125rem,5.5vw,4.8125rem);margin-top:19px;letter-spacing:-1.5px}.contact-section h2 em{color:#f3b4d4}.contact-section p:not(.eyebrow){color:#decce8;font-size:0.8125rem;line-height:1.85;margin-top:22px}.contact-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.contact-question{background:transparent;color:#e3cde9;font-size:0.6875rem;text-decoration:underline;text-underline-offset:5px;margin-top:27px}.contact-decoration{position:absolute;font-family:Georgia,serif;font-size:25.625rem;line-height:1;left:5%;top:40px;color:#9e60b61c;transform:rotate(-21deg);user-select:none;pointer-events:none}.site-footer{padding-block:65px 23px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.site-footer .brand-name{font-size:1.9375rem}.site-footer .brand-heart{font-size:1.875rem}.site-footer p{font-size:0.6875rem;line-height:1.9;margin-top:18px}.footer-links{display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-end;gap:15px 28px;font-size:0.6875rem}.footer-links a:hover{color:var(--purple)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:21px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:0.5625rem;color:#836d8b}.footer-privacy{font-size:0.5625rem;background:transparent;color:inherit}.order-bar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:19;display:flex;align-items:center;justify-content:space-between;gap:35px;max-width:calc(100% - 30px);padding:10px 11px 10px 18px;border:1px solid #c7b1d7;border-radius:60px;box-shadow:0 12px 40px #4b245840;background:#fffafcf0;backdrop-filter:blur(20px)}.order-bar>div{display:flex;gap:13px;align-items:center;font-size:0.6875rem;white-space:nowrap}.order-bar-count{width:24px;height:24px;display:grid;place-items:center;background:var(--lilac);border-radius:50%;font-size:0.625rem;color:var(--purple)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,15px);background:var(--purple-dark);color:white;padding:10px 20px;border-radius:8px;font-size:0.75rem;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:80;max-width:calc(100vw - 40px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #17092066}dialog::backdrop{background:#26133280;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .3s ease both}.request-dialog{width:min(720px,calc(100% - 36px));max-height:90dvh;overflow:auto;border-radius:20px;padding:34px 36px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-heading .eyebrow{font-size:0.5rem}.dialog-heading h2{font-size:2.125rem;letter-spacing:-.7px;margin-top:8px}.dialog-heading .close-dialog{margin-right:-9px;margin-top:-10px}.request-types{display:flex;padding:5px;border-radius:12px;background:#eee5f5;margin-block:25px 23px;gap:4px}.request-types button{flex:1;font-size:0.625rem;background:transparent;border-radius:8px;padding:11px 6px;transition:background .2s,box-shadow .2s}.request-types button[aria-pressed=true]{background:var(--cream);box-shadow:0 2px 7px #35144611;color:var(--purple);font-weight:600}.form-intro{font-size:0.6875rem;line-height:1.8;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 17px}label{font-size:0.6875rem;font-weight:500;display:flex;flex-direction:column;gap:7px;line-height:1.5}label>span[aria-hidden]{display:none}label:has([required]){position:relative}input,select,textarea{font-size:0.75rem;background:white;border:1px solid #dfd3e6;color:var(--ink);border-radius:8px;padding:12px 13px;width:100%;min-width:0;line-height:1.45}input,select{height:45px}input::placeholder,textarea::placeholder{color:#9a8b9f;font-size:0.6875rem}textarea{resize:vertical}select{appearance:auto}.full-width{grid-column:1/-1}.form-notice{display:flex;align-items:flex-start;gap:10px;font-size:0.625rem;line-height:1.7;padding:15px;background:#f3eaf8;border-radius:9px;margin-block:20px}.form-notice .icon{width:15px;height:15px;margin-top:2px;color:var(--purple)}.form-submit{width:100%;font-size:0.75rem}.privacy-mini{font-size:0.5625rem;text-align:center;margin-top:14px;color:#8b7594;line-height:1.65}.cart-item{display:flex;gap:12px;align-items:center;background:#f1e8f6;border-radius:9px;margin-bottom:9px;padding:10px}.cart-item img{width:49px;height:58px;border-radius:4px}.cart-item-text{flex:1;min-width:0}.cart-item-title{font-size:0.75rem;font-family:var(--serif);line-height:1.2}.cart-item-text p{font-size:0.5625rem;margin-top:4px}.cart-quantity{display:flex;align-items:center;gap:7px}.cart-quantity button{width:27px;height:27px;border-radius:50%;background:white;font-size:1rem}.cart-quantity span{width:15px;text-align:center;font-size:0.6875rem}.cart-remove{background:transparent;width:25px;height:30px;color:#8f6b9f;font-size:1.1875rem}.empty-cart{padding:19px;text-align:center;border:1px dashed #cfb8dc;border-radius:10px;margin-bottom:18px;font-size:0.6875rem;line-height:1.8}.empty-cart a{color:var(--purple);text-decoration:underline}.cart-note{font-size:0.5625rem;margin-block:13px 18px;line-height:1.7}.cart-note strong{color:var(--purple);font-weight:500}.review-mark{display:block;font-family:Georgia,serif;font-size:2.6875rem;color:var(--pink-deep);margin-top:10px}.request-dialog #request-review h3{font-size:2rem;margin-bottom:10px}.review-explainer{font-size:0.75rem;line-height:1.8;margin-bottom:23px}.request-dialog #request-review label{margin-bottom:8px}#request-summary{font-size:0.6875rem;line-height:1.8;background:#f5edf9;padding:17px;min-height:235px;resize:vertical}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.review-actions .button{font-size:0.6875rem;min-height:43px;padding:13px 20px}#edit-request{margin-top:21px;font-size:0.6875rem}.setup-note{padding:14px;border-radius:9px;background:var(--rose);font-size:0.6875rem;margin-top:18px}.photo-dialog{background:transparent;box-shadow:none;max-width:95vw;max-height:95dvh;width:min(1000px,95vw);padding:0;overflow:visible}.photo-dialog figure{display:flex;align-items:center;flex-direction:column;gap:10px;margin-inline:55px}.photo-dialog figure img{max-width:100%;max-height:82dvh;object-fit:contain;border-radius:7px}.photo-dialog figcaption{color:white;font-size:0.75rem;text-align:center}.photo-dialog .icon-button{position:absolute;background:#fff8;color:var(--purple);z-index:2}.photo-close{top:0;right:0}.photo-prev,.photo-next{top:45%;font-size:1.5rem}.photo-prev{left:0}.photo-next{right:0}.photo-dialog::backdrop{background:#1e0d2beb}.privacy-dialog{max-width:560px;width:calc(100% - 36px);border-radius:18px;padding:40px;max-height:85dvh;overflow:auto}.privacy-dialog h2{font-size:2.0625rem;margin-bottom:23px}.privacy-dialog p{font-size:0.75rem;line-height:1.9;margin-top:17px}.privacy-close{float:right;margin-top:-20px;margin-right:-20px}.noscript-message{padding:20px;text-align:center;font-size:0.75rem;background:var(--lilac)}.noscript-message a{text-decoration:underline}.contact-direct{display:flex;gap:18px;justify-content:center;margin-top:24px;flex-wrap:wrap;color:#e8d5ef;font-size:0.6875rem}.contact-direct a:hover{text-decoration:underline}.footer-contact{margin-top:13px;display:flex;flex-direction:column;gap:5px;font-size:0.6875rem;color:var(--purple)}
.js-ready.motion-on .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.js-ready.motion-on .reveal.visible{opacity:1;transform:translateY(0)}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .photo-stage{transform:none!important}.motion-off .reveal{opacity:1!important;transform:none!important}@keyframes stage-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -10px;rotate:.6deg}}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{min-height:740px;gap:80px}.hero-art{height:590px}.hero-eyebrow{font-size:0.625rem}}@media(max-width:1200px){.section-shell{width:calc(100% - 76px)}.site-header{padding-inline:38px;gap:15px}.announcement{padding-inline:38px}.desktop-nav{gap:20px;font-size:0.6875rem}.hero{gap:25px;min-height:655px}.hero-art{height:495px}.hero-ctas{gap:18px}.hero-ctas .button{font-size:0.6875rem;padding-inline:19px}.hero-ctas .text-link{font-size:0.6875rem}.hero-details{gap:15px;font-size:0.5rem}.hero-eyebrow{font-size:0.5rem}.hero-description{max-width:340px;font-size:0.8125rem}.flavor-seal{width:98px;height:98px;font-size:0.5rem}.experience-photo{height:290px}.service-heading h3{font-size:1.375rem}.food-card-image{height:205px}.food-card h3{font-size:1.3125rem}.story-section{gap:65px}.story-copy h2{font-size:2.75rem}.faq-section{gap:65px}.gallery-photo{height:210px}.gallery-section h2{font-size:2.9375rem}.ribbon-inner{font-size:0.625rem;gap:22px;letter-spacing:1.6px}.brand-name{font-size:1.875rem}.header-actions>.button{font-size:0.625rem;padding:10px 15px}.hero-details{margin-top:28px}}
@media(max-width:1000px){.desktop-nav{gap:15px;font-size:0.625rem}.site-header{padding-inline:30px;height:87px}.brand-name{font-size:1.75rem}.brand-tagline{font-size:0.375rem}.brand-heart{font-size:1.8125rem}.section-shell{width:calc(100% - 60px)}.announcement{padding-inline:30px;font-size:0.625rem}.header-actions{gap:3px}.header-actions>.button{font-size:0.5625rem;padding-inline:12px;gap:10px}.hero{min-height:600px}.hero-art{height:440px}.hero-eyebrow{font-size:0.4375rem;letter-spacing:.9px;margin-bottom:21px}h1{font-size:4.0625rem;letter-spacing:-2.4px}.hero-description{font-size:0.75rem;max-width:310px}.hero-ctas{align-items:flex-start;flex-direction:column;gap:17px;margin-top:23px}.hero-ctas .button{font-size:0.6875rem;min-height:47px}.hero-details{gap:9px;font-size:0.4375rem}.hero-details .icon{width:12px;height:12px}.hero-details span{gap:5px}.flavor-seal{width:87px;height:87px;font-size:0.4375rem}.flavor-seal .seal-heart{font-size:1.625rem}.floating-photo figcaption{font-size:0.6875rem}.cake-photo figcaption,.dessert-photo figcaption{font-size:0.5rem}.star-one{font-size:4.0625rem}.star-two{font-size:2.5rem}.section-space{padding-block:85px}.section-heading{gap:30px}.section-intro{font-size:0.75rem;max-width:270px}.experience-grid{gap:20px}.experience-photo{height:245px}.service-heading h3{font-size:1.3125rem}.service-heading .icon{width:18px}.experience-item p{font-size:0.6875rem}.experience-item .underlined-link{font-size:0.625rem}.menu-intro{max-width:310px}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-grid .food-card:nth-child(7),.menu-grid .food-card:nth-child(8){display:block}.food-card-image{height:230px}.food-card h3{font-size:1.4375rem;min-height:27px}.food-card p{min-height:52px}.menu-intro p{font-size:0.75rem}.story-section{gap:55px}.story-photos{min-height:390px}.story-main{height:305px}.story-mini{width:140px;height:185px}.story-copy h2{font-size:2.4375rem}.story-copy p:not(.eyebrow){font-size:0.75rem;margin-top:18px}.story-copy .button{font-size:0.625rem;padding-inline:18px}.gallery-grid{gap:10px}.gallery-photo{height:190px}.gallery-section h2{font-size:2.5rem}.gallery-section .underlined-link{font-size:0.625rem;gap:8px}.faq-section{gap:45px}.faq-intro h2{font-size:2.6875rem}.faq-intro .eyebrow{font-size:0.5rem}summary{font-size:0.75rem}.contact-section{padding-block:75px}.ribbon-inner{min-height:57px;font-size:0.5rem;gap:17px}.ribbon-inner [aria-hidden]{font-size:1.125rem}.motion-toggle{display:none}}
@media(max-width:760px){html{scroll-padding-top:90px}.announcement{justify-content:center;padding-inline:15px;font-size:0.5625rem;height:30px}.announcement-location{display:none}.site-header{padding-inline:22px;height:80px;gap:12px}.brand-name{font-size:1.8125rem}.brand-tagline{font-size:0.375rem;letter-spacing:1.5px;margin-top:7px}.brand-heart{font-size:1.8125rem}.desktop-nav{display:none}.nav-toggle{display:inline-flex}.header-actions{gap:4px}.header-actions>.button{font-size:0.625rem;padding:10px 14px;min-height:39px}.header-actions>.button span{display:none}.header-actions>.icon-button{width:33px}.mobile-nav:not([hidden]){position:absolute;top:100%;left:0;width:100%;display:flex;flex-direction:column;padding:18px 25px 25px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 18px 25px #41245311;gap:10px}.mobile-nav a,.mobile-nav button{padding:10px 0;font-size:0.875rem;text-align:left;background:transparent}.mobile-nav button{color:var(--purple);font-weight:600}.section-shell{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;padding-block:40px 40px;gap:20px;min-height:0}.hero-copy{max-width:560px;margin-inline:auto;width:100%}.hero-eyebrow{font-size:0.5rem;letter-spacing:1.2px;margin-bottom:19px}h1{font-size:clamp(3.625rem,10vw,4.8125rem);letter-spacing:-2px;line-height:1.03}.hero-description{max-width:400px;font-size:0.8125rem;margin-top:24px}.hero-ctas{flex-direction:row;align-items:center;gap:22px;flex-wrap:wrap;margin-top:25px}.hero-ctas .button{padding:15px 21px;font-size:0.6875rem}.hero-ctas .text-link{font-size:0.625rem}.hero-details{font-size:0.5rem;gap:19px;margin-top:25px}.hero-art{height:490px;max-width:475px;margin-top:10px;width:calc(100% - 16px)}.flavor-seal{width:100px;height:100px;font-size:0.5rem}.seal-heart{font-size:1.875rem!important}.hero-photo{height:81%}.floating-photo figcaption{font-size:0.75rem}.cake-photo figcaption,.dessert-photo figcaption{font-size:0.5625rem}.star-one{font-size:4.375rem}.art-note{font-size:0.5rem;left:26%}.ribbon-inner{width:max-content;min-width:100%;padding-inline:20px;justify-content:space-between;gap:23px;min-height:55px;font-size:0.5rem;letter-spacing:1.5px}.flavor-ribbon{transform:rotate(-1.7deg)}.section-space{padding-block:65px}h2{font-size:2.8125rem;letter-spacing:-1px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading .eyebrow{font-size:0.5rem;margin-bottom:13px}.section-intro{font-size:0.75rem;max-width:430px}.experience-grid{gap:22px;grid-template-columns:1fr}.experience-item{display:grid;grid-template-columns:40% 1fr;column-gap:22px;align-content:center}.experience-photo{grid-row:1/4;height:220px;border-radius:100px 100px 7px 7px}.service-heading{margin-top:17px;align-items:flex-start}.service-heading h3{font-size:1.5625rem;max-width:190px}.service-heading .icon{display:none}.experience-item p{margin-block:12px 15px;font-size:0.6875rem;line-height:1.85}.experience-item .underlined-link{font-size:0.625rem;width:fit-content;margin-bottom:14px}.photo-number{width:28px;height:28px;left:10px;bottom:10px;font-size:0.5625rem}.menu-intro{max-width:none}.menu-intro p{font-size:0.75rem;max-width:460px}.note-pill{margin-top:13px;font-size:0.5rem}.menu-toolbar{align-items:flex-start;flex-direction:column;gap:13px;margin-top:20px;margin-bottom:20px}.menu-filters{gap:6px}.filter{font-size:0.5625rem;padding:9px 12px}.menu-results{font-size:0.5625rem}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.food-card-image{height:240px}.food-card-body{padding:16px 13px 12px}.food-card h3{font-size:1.4375rem;min-height:50px}.food-card p{font-size:0.625rem;min-height:55px}.food-card-bottom{flex-wrap:wrap;gap:10px;padding-top:12px}.food-card-bottom>span{font-size:0.5625rem}.add-button{font-size:0.625rem;padding:7px 11px}.food-tag{font-size:0.4375rem;left:9px;top:9px}.menu-bottom{align-items:flex-start;flex-direction:column;gap:12px;margin-top:25px}.menu-bottom p{font-size:0.625rem;max-width:340px}.story-section{grid-template-columns:1fr;gap:43px}.story-photos{min-height:410px;max-width:500px;width:calc(100% - 18px);margin-inline:auto}.story-main{height:335px}.story-mini{right:-17px;width:155px;height:195px}.story-stamp{font-size:0.5rem;bottom:10px}.story-stamp em{font-size:1.625rem}.story-copy h2{font-size:2.8125rem}.story-copy .eyebrow{font-size:0.5rem}.story-copy p:not(.eyebrow){font-size:0.75rem;max-width:500px}.story-copy .button{font-size:0.6875rem}.gallery-section .section-heading{align-items:flex-start;gap:22px}.gallery-section h2{font-size:2.625rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.gallery-photo{height:205px}.gallery-photo:nth-child(even){margin-top:0}.gallery-photo:nth-child(3n+2){transform:translateY(17px)}.gallery-note{font-size:0.5625rem;margin-top:36px;max-width:340px;margin-inline:auto}.faq-section{grid-template-columns:1fr;gap:35px}.faq-intro h2{font-size:2.8125rem}.faq-intro p:not(.eyebrow){max-width:360px;font-size:0.75rem;margin-top:18px}.faq-intro .button{min-height:43px;padding-block:12px;font-size:0.6875rem;margin-top:20px}summary{font-size:0.75rem;padding-block:20px}details p{font-size:0.6875rem}.contact-section{padding-block:62px}.contact-section h2{font-size:clamp(2.5rem,7.5vw,3.5625rem)}.contact-section .eyebrow{font-size:0.4375rem;letter-spacing:1.6px}.contact-section p:not(.eyebrow){font-size:0.75rem}.contact-actions{gap:10px;flex-wrap:wrap}.contact-actions .button{font-size:0.625rem;padding:13px 18px;min-height:46px}.contact-decoration{font-size:22.5rem;left:-100px;top:50px}.contact-question{font-size:0.625rem}.site-footer{padding-block:45px 20px;grid-template-columns:1fr;gap:26px}.footer-links{justify-content:flex-start;gap:13px 25px;font-size:0.625rem;max-width:400px}.footer-bottom{flex-wrap:wrap;gap:13px;margin-top:6px;font-size:0.5rem;padding-top:18px}.footer-privacy{font-size:0.5rem}.site-footer p{font-size:0.625rem;margin-top:15px}.order-bar{bottom:14px;width:calc(100% - 30px);gap:12px;padding:8px 9px 8px 13px}.order-bar>div{font-size:0.5625rem;gap:9px;white-space:normal}.order-bar-count{width:22px;height:22px;flex-shrink:0}.order-bar .button{font-size:0.625rem;padding:11px 15px;min-height:39px;gap:10px;white-space:nowrap}.toast{font-size:0.6875rem;bottom:86px}.request-dialog{padding:25px 23px;width:calc(100% - 22px);border-radius:16px;max-height:91dvh}.dialog-heading h2{font-size:1.8125rem}.dialog-heading .eyebrow{font-size:0.4375rem}.request-types{margin-block:22px 20px}.request-types button{font-size:0.5625rem;padding-block:10px}.form-grid{gap:16px 13px}label{font-size:0.625rem}.form-intro{font-size:0.625rem}input,select,textarea{font-size:0.8125rem}.form-notice{font-size:0.5625rem}.form-submit{font-size:0.75rem}.privacy-mini{font-size:0.5rem}.photo-dialog figure{margin-inline:35px}.photo-dialog .icon-button{width:30px;height:30px}.photo-dialog figcaption{font-size:0.625rem}.photo-dialog .photo-close{top:-35px}.privacy-dialog{padding:30px}.privacy-dialog h2{font-size:1.8125rem}.contact-direct{gap:12px;font-size:0.625rem}.footer-contact{font-size:0.625rem}}
@media(max-width:430px){.hero-art{height:420px}.hero-eyebrow{font-size:0.4375rem;letter-spacing:.8px}.hero-details{font-size:0.4375rem;gap:13px}.hero-ctas{gap:16px}.hero-ctas .button{font-size:0.625rem;padding-inline:18px;gap:13px}.hero-ctas .text-link{font-size:0.5625rem;gap:9px}h1{font-size:3.6875rem}.flavor-seal{width:84px;height:84px;font-size:0.375rem}.seal-heart{font-size:1.625rem!important}.cake-photo,.dessert-photo{padding:6px}.cake-photo figcaption,.dessert-photo figcaption{font-size:0.4375rem}.hero-photo figcaption{font-size:0.625rem}.star-one{font-size:3.625rem}.experience-photo{height:200px}.service-heading h3{font-size:1.375rem}.experience-item{column-gap:17px}.experience-item p{font-size:0.625rem;margin-block:9px 12px}.experience-item .underlined-link{font-size:0.5625rem}.food-card-image{height:197px}.food-card h3{font-size:1.375rem;min-height:50px}.food-card p{font-size:0.5625rem;min-height:62px}.food-card-bottom>span{font-size:0.5rem}.food-card-bottom{margin-top:12px}.add-button{font-size:0.5625rem}.food-card-body{padding:14px 11px 12px}.menu-grid{gap:13px 10px}.filter{font-size:0.5rem;padding:8px 10px}.story-photos{min-height:355px}.story-main{height:285px}.story-mini{width:130px;height:165px}.story-stamp{font-size:0.4375rem}.story-stamp em{font-size:1.375rem}.gallery-photo{height:172px}.gallery-grid{gap:8px}.gallery-section h2{font-size:2.375rem}.header-actions>.button{font-size:0.5625rem;padding-inline:12px}.header-actions{gap:0}.brand-name{font-size:1.6875rem}.brand-tagline{font-size:0.34375rem;letter-spacing:1.3px}.site-header{padding-inline:18px}.section-shell{width:calc(100% - 38px)}.brand-heart{font-size:1.6875rem}.announcement{font-size:0.5rem}h2,.story-copy h2,.faq-intro h2{font-size:2.5rem}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.dialog-heading h2{font-size:1.6875rem}.request-dialog{padding:23px 20px}.request-types button{font-size:0.5rem}.contact-actions{flex-direction:column;align-items:center}.contact-actions .button{min-width:235px}.contact-section h2{font-size:2.4375rem}.contact-direct{flex-direction:column;gap:7px}.cart-item{gap:9px;padding:8px}.cart-item-title{font-size:0.6875rem}.cart-quantity{gap:4px}.cart-item img{width:40px;height:50px}}
.floating-photo img{height:auto}.hero-photo img{height:calc(100% - 27px)}
@media(max-width:760px){input,select,textarea{font-size:1rem}label{font-size:0.75rem}.food-card p{font-size:0.6875rem;min-height:70px}.food-card-bottom>span{font-size:0.625rem}.add-button{font-size:0.6875rem}.experience-item p{font-size:0.75rem}.experience-item .underlined-link{font-size:0.6875rem}.filter{font-size:0.625rem}.gallery-photo:last-child{grid-column:1/-1;height:220px}.form-intro{font-size:0.75rem}.form-notice{font-size:0.6875rem}.privacy-mini{font-size:0.625rem}.contact-direct{font-size:0.75rem}.footer-contact{font-size:0.75rem}.review-actions .button{font-size:0.75rem}.menu-results{font-size:0.625rem}}
@media(max-width:430px){.experience-photo{height:245px}.experience-item p{font-size:0.6875rem}.food-card p{min-height:88px}.food-card-bottom{align-items:flex-start;flex-direction:column}.request-types button{font-size:0.625rem}.hero-details{font-size:0.5rem}.hero-ctas .text-link{font-size:0.625rem}.contact-actions .button{font-size:0.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.photo-stage{transform:none!important}}

@media(max-width:760px){.hero-halo{transform:rotate(-5deg);inset:42px 8px 30px 8px}}

/* Celebration-focused refinements */
.hero-photo img{object-position:50% 45%}.hero h1{font-size:clamp(3.9375rem,5.9vw,5.375rem)}.hero-photo{height:80%}.flavor-ribbon{clip-path:inset(0)}html{overflow-x:clip}@media(max-width:760px){.hero h1{font-size:clamp(3.25rem,9vw,4.375rem)}.flavor-ribbon{transform:none}.hero-photo img{object-position:50% 42%}}@media(max-width:430px){.hero h1{font-size:3.3125rem;letter-spacing:-1.8px}.hero-eyebrow{font-size:0.5rem}.experience-photo{height:250px}}

/* Chef Rissa's supplied brand film */
.brand-film-section{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:65px;padding-top:95px;padding-bottom:0}.brand-film-copy .eyebrow{font-size:0.5625rem;margin-bottom:18px}.brand-film-copy h2{font-size:2.4375rem;line-height:1.15;letter-spacing:-.7px}.brand-film-copy p:not(.eyebrow){font-size:0.75rem;line-height:1.9;max-width:280px;margin-top:19px}.film-duration{display:flex;align-items:center;gap:9px;font-size:0.625rem;color:var(--purple);margin-top:21px}.film-duration .icon{width:15px;height:15px}.brand-film-frame{background:white;padding:9px 9px 0;border:1px solid #e2d3ec;border-radius:13px;box-shadow:0 16px 40px #54266c13;overflow:hidden}.brand-film-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:7px;background:#2b153d;object-fit:contain}.film-caption{font-size:0.5625rem;text-align:center;padding:11px 8px 12px;color:#8a6b97}.brand-film-frame video:focus-visible{outline:3px solid var(--pink-deep);outline-offset:-4px}
@media(max-width:1000px){.brand-film-section{gap:35px;padding-top:75px}.brand-film-copy h2{font-size:2rem}.brand-film-copy .eyebrow{font-size:0.5rem}}
@media(max-width:760px){.brand-film-section{grid-template-columns:1fr;gap:26px;padding-top:58px}.brand-film-copy h2{font-size:2.375rem;max-width:400px}.brand-film-copy p:not(.eyebrow){font-size:0.75rem;max-width:400px;margin-top:15px}.film-duration{font-size:0.6875rem;margin-top:16px}.film-caption{font-size:0.5625rem}.brand-film-frame{padding:7px 7px 0;border-radius:10px}.brand-film-copy .eyebrow{font-size:0.5rem}}

.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-photo{height:300px}@media(max-width:1000px){.gallery-photo{height:240px}}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo,.gallery-photo:last-child{height:225px;grid-column:auto}.gallery-photo:nth-child(3n+2){transform:none}.gallery-photo:nth-child(even){transform:translateY(17px)}}@media(max-width:430px){.gallery-photo,.gallery-photo:last-child{height:195px}}

.film-video{position:relative}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:50px;background:#fff7f2ed;color:#55236d;font-size:0.75rem;box-shadow:0 5px 25px #260c3d40;white-space:nowrap;transition:background .2s}.film-play:hover{background:#f8c9e3}.film-play .icon{width:18px;height:18px}@media(max-width:430px){.film-play{font-size:0.6875rem;padding:11px 15px}}

/* Clear cake, custom-order, and catering request paths. */
.nav-request{background:transparent;font:inherit;padding:13px 0;white-space:nowrap}.nav-request:hover{color:var(--pink-deep)}.desktop-nav{gap:23px}.hero-ctas{gap:14px;flex-wrap:wrap}.hero-custom-order{margin-top:19px;font-size:0.75rem}.request-types button{font-size:0.6875rem;min-height:42px}.required-note{font-size:0.625rem;margin-bottom:18px}.field-label{display:block}.field-label [aria-hidden]{color:var(--pink-deep)}.has-ideas{padding-bottom:95px}html:has(body.motion-off){scroll-behavior:auto}.motion-menu-button{display:none}
@media(max-width:1100px) and (min-width:761px){.desktop-nav{gap:14px;font-size:0.625rem}.desktop-nav a:nth-child(3){display:none}.hero-ctas .button{gap:10px;padding-inline:16px}.hero-custom-order{font-size:0.6875rem}}
@media(max-width:760px){.hero-ctas{gap:11px;flex-direction:row}.hero-ctas .button{font-size:0.75rem;padding:14px 20px}.hero-custom-order{font-size:0.6875rem}.request-types{display:grid;grid-template-columns:1fr 1fr;gap:5px}.request-types button{font-size:0.75rem;min-height:42px}.mobile-nav .motion-menu-button{display:flex;width:auto;height:auto;border-radius:0;padding:10px 0;font-size:0.75rem}.required-note{font-size:0.6875rem}.has-ideas{padding-bottom:105px}.order-bar>div{font-size:0.625rem}.menu-bottom p{font-size:0.75rem}}
@media(max-width:430px){.hero-ctas .button{font-size:0.6875rem;padding:13px 15px;gap:10px}.hero-custom-order{font-size:0.6875rem}}

/* October's little haunt: decorations never intercept a click or cover a form. */
.season-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 13px;border:1px solid #c5a1d4;border-radius:100px;background:#f4e5f6;color:#60377c;font-size:0.625rem;letter-spacing:.35px;margin-bottom:22px;box-shadow:0 4px 16px #ae62b411}.season-badge>span:first-child{font-size:1.1875rem;line-height:1}.haunted-scene{position:absolute;inset:0;pointer-events:none;z-index:3}.spooky-moon{position:absolute;right:-14px;top:0;width:107px;height:107px;border-radius:50%;background:radial-gradient(circle at 65% 33%,#fff2cf,#f5c0dd 60%,#d4a0db);box-shadow:0 0 55px #e0a2f064,inset -14px -8px 0 #bf8dc12b}.spooky-moon:after{content:'';position:absolute;width:80px;height:80px;top:-3px;left:-14px;background:var(--cream);border-radius:50%}.spooky-bat{position:absolute;color:#683d83;filter:drop-shadow(0 5px 4px #632e782b);animation:bat-drift 9s ease-in-out infinite}.bat-one{width:91px;right:50px;top:18px;rotate:-15deg}.bat-two{width:48px;right:-12px;top:123px;rotate:18deg;animation-delay:-4s}.spooky-ghost{position:absolute;width:66px;left:-16px;top:20px;rotate:-12deg;filter:drop-shadow(0 8px 12px #a569bb35);animation:ghost-bob 7s ease-in-out infinite}.spooky-pumpkin{position:absolute;filter:drop-shadow(0 8px 8px #7b3b8130);transform-origin:50% 90%;animation:pumpkin-rock 10s ease-in-out infinite}.pumpkin-one{width:91px;right:5px;bottom:12px;rotate:9deg}.pumpkin-two{width:61px;right:73px;bottom:7px;rotate:-11deg;animation-delay:-5s}.spooky-spark{position:absolute;color:#ab70bd;font-size:1.75rem;text-shadow:0 0 16px #d5ade3;animation:ghost-bob 11s ease-in-out infinite}.spark-one{left:12px;top:136px}.spark-two{right:10px;bottom:146px;font-size:1.25rem}.spooky-mist{position:absolute;left:-4%;bottom:0;width:105%;height:50px;opacity:.6;background:radial-gradient(ellipse,#f5d8ed 0,transparent 68%);filter:blur(6px);animation:mist-drift 18s ease-in-out infinite}.halloween-season .hero-halo{background:radial-gradient(ellipse,#f0d7ec 0%,#ddc4ef 52%,#fbf4f9 72%)}.halloween-season .flavor-ribbon{background:#e9d7f1;border-color:#c8abd8}.halloween-season .food-tag{background:#f5dfec;color:#613878}.halloween-season .menu-section{background:linear-gradient(145deg,#f1e5f7,#f9eaf2 58%,#f2e1f0)}.menu-section{position:relative}.seasonal-menu-trim{position:absolute;inset:15px 4% auto;display:flex;justify-content:flex-end;align-items:center;gap:24px;pointer-events:none;color:#8d60a3;opacity:.72}.seasonal-menu-trim svg:first-child{width:61px;rotate:-9deg}.seasonal-menu-trim svg:last-child{width:27px;rotate:8deg;animation:ghost-bob 8s ease-in-out infinite}.seasonal-menu-trim>span{font-size:1.8125rem}.effects-off .seasonal-effects{display:none!important}.payment-note{padding:16px 18px;margin-top:20px;border-radius:12px;background:#eee4f5}.payment-note>strong{display:block;color:var(--purple);font-size:0.6875rem;font-weight:500}.payment-methods{display:flex;gap:12px;align-items:center;color:var(--purple-dark);font-size:0.8125rem;margin-block:7px}.payment-note p{font-size:0.6875rem;line-height:1.8}.footer-effects{display:inline-flex!important;width:auto;height:auto;border-radius:0;font-size:0.5625rem;gap:5px;padding:0;background:transparent}.review-actions #text-request,.review-actions #email-request{text-transform:uppercase;letter-spacing:.35px}.review-actions #copy-request{flex-basis:100%;background:white}.hero-art{isolation:isolate}.halloween-season .photo-stage{z-index:2;position:relative}
@keyframes bat-drift{0%,100%{translate:0 0;transform:rotate(-4deg)}50%{translate:-12px 9px;transform:rotate(5deg)}}@keyframes ghost-bob{0%,100%{translate:0 0;transform:rotate(-3deg)}50%{translate:0 -12px;transform:rotate(4deg)}}@keyframes pumpkin-rock{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes mist-drift{0%,100%{translate:-8px 0;scale:.92 1}50%{translate:8px -5px;scale:1.06 1.15}}
@media(max-width:1000px){.spooky-moon{width:82px;height:82px;right:0}.spooky-moon:after{width:61px;height:61px}.bat-one{width:69px;right:46px}.bat-two{top:98px;right:0;width:40px}.spooky-ghost{width:48px;left:-2px;top:20px}.pumpkin-one{width:70px;right:0;bottom:4px}.pumpkin-two{width:48px;right:49px;bottom:0}.season-badge{font-size:0.5625rem;margin-bottom:19px}.spooky-spark{font-size:1.375rem}.seasonal-menu-trim{inset:10px 5% auto;gap:15px}.seasonal-menu-trim svg:first-child{width:45px}.seasonal-menu-trim svg:last-child{width:20px}}
@media(max-width:760px){.season-badge{font-size:0.5625rem;letter-spacing:0;padding:6px 11px;gap:8px;margin-bottom:20px}.haunted-scene{inset:0 5px}.bat-one{right:51px;top:5px}.bat-two{right:1px;top:89px}.spooky-ghost{left:-1px;top:5px;width:47px}.spooky-moon{right:3px;top:-8px}.pumpkin-one{right:4px;bottom:0;width:73px}.pumpkin-two{right:60px;bottom:-1px}.spark-one{top:108px;left:5px}.spark-two{bottom:112px}.seasonal-menu-trim{inset:7px 7% auto;gap:14px;opacity:.55}.seasonal-menu-trim svg:first-child{width:37px}.seasonal-menu-trim>span{font-size:1.4375rem}.seasonal-menu-trim svg:last-child{width:19px}.payment-note p{font-size:0.75rem}.payment-methods{font-size:0.875rem}.review-actions #text-request,.review-actions #email-request{flex:1 1 100%;font-size:0.75rem;min-height:48px}.footer-effects{font-size:0.625rem}.footer-bottom{flex-wrap:wrap}}
.halloween-callout{background:#44225f;color:#fff1f8;position:relative;overflow:hidden;padding-block:33px}.halloween-callout>.section-shell{display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;z-index:1}.halloween-callout:before{content:'☾';position:absolute;font-size:11.875rem;line-height:1;right:32%;top:-40px;color:#dfb3e211;rotate:-25deg;pointer-events:none}.halloween-callout .eyebrow{color:#e3b5e9;font-size:0.5rem;margin-bottom:8px}.halloween-callout h2{font-size:1.875rem;max-width:520px}.halloween-callout p:not(.eyebrow){color:#e4d0eb;font-size:0.6875rem;line-height:1.85;max-width:560px;margin-top:10px}.halloween-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;flex-shrink:0}.halloween-actions .button{font-size:0.6875rem;min-height:44px;padding:11px 19px}.payment-note p+p{margin-top:10px}.hero-halo{inset-inline:30px 18px}
@media(max-width:760px){.halloween-callout{padding-block:29px}.halloween-callout>.section-shell{flex-direction:column;align-items:flex-start;gap:20px}.halloween-callout h2{font-size:1.8125rem}.halloween-callout p:not(.eyebrow){font-size:0.75rem}.halloween-actions{flex-direction:row;flex-wrap:wrap;gap:9px}.halloween-actions .button{font-size:0.6875rem;min-height:47px;padding:12px 18px}.hero-halo{inset-inline:20px 10px}}
.cake-fields{border:1px solid #d9c5e3;margin:6px 0 0;padding:21px 20px 22px;border-radius:13px;background:#f7f0fa;min-width:0}.cake-fields legend{font-family:var(--serif);font-size:1.4375rem;line-height:1.2;color:var(--purple);padding-inline:8px}.cake-fields>p{font-size:0.6875rem;line-height:1.8;margin-bottom:20px}.cake-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 17px}.cake-fields textarea{background:#fffcfe}.request-dialog{scrollbar-gutter:stable}.spooky-moon{top:-24px;right:3px;width:89px;height:89px}.spooky-moon:after{width:69px;height:69px}.bat-one{right:48px;top:-5px;width:75px}.bat-two{right:-6px;top:107px;width:39px}.spooky-ghost{top:-5px;width:57px;left:0}.pumpkin-one{bottom:0;right:0;width:77px}.pumpkin-two{bottom:-3px;right:59px;width:52px}
@media(max-width:760px){.cake-fields{padding:17px 14px 18px}.cake-fields legend{font-size:1.375rem}.cake-fields>p{font-size:0.75rem}.cake-form-grid{grid-template-columns:1fr;gap:17px}.spooky-moon{top:-20px;right:3px;width:72px;height:72px}.spooky-moon:after{width:57px;height:57px}.bat-one{right:40px;top:-5px;width:58px}.bat-two{right:0;top:83px;width:34px}.spooky-ghost{top:0;left:0;width:44px}.pumpkin-one{width:65px;bottom:0}.pumpkin-two{width:44px;right:50px;bottom:-3px}}
.exit-dialog{position:fixed;inset:0;width:min(470px,calc(100% - 36px));max-height:90dvh;overflow:auto;border-radius:22px;padding:34px 36px 26px;text-align:center}.exit-close{position:absolute;right:12px;top:12px}.exit-art{width:150px;height:109px;position:relative;margin:0 auto 17px;pointer-events:none}.exit-heart{font-family:Georgia,serif;font-size:6.375rem;line-height:1;color:#a965b1;display:block;animation:thank-you .65s ease-out both;text-shadow:0 9px 25px #d6a5db65}.exit-haunt{position:absolute;inset:0}.exit-ghost{position:absolute;right:5px;bottom:1px;width:45px;rotate:10deg;animation:thank-you .7s ease-out both}.exit-bat{position:absolute;left:-4px;top:0;width:55px;rotate:-14deg;color:#70438b;animation:thank-you .7s ease-out both}.exit-dialog h2{font-size:2.125rem;line-height:1.15;margin-top:12px;letter-spacing:-.4px}.exit-dialog #exit-help{font-size:0.75rem;line-height:1.8;margin-top:18px}.exit-dialog .eyebrow{font-size:0.5rem}.exit-dialog>.button{width:100%;margin-top:23px}.exit-stay{font-size:0.6875rem;background:transparent;margin-top:20px;display:block;width:100%;text-decoration:underline;text-underline-offset:4px}.exit-dialog #exit-copy{font-size:0.6875rem;margin:17px auto 0}.exit-dialog .privacy-mini{font-size:0.5625rem}.effects-off .exit-heart{animation:none!important}@keyframes thank-you{from{opacity:0;transform:translateY(10px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.exit-dialog{padding:29px 23px 24px}.exit-dialog h2{font-size:1.9375rem}.exit-dialog #exit-help{font-size:0.8125rem}}
.ticket-reference{padding:12px 14px;background:#eadff3;color:var(--purple-dark);border:1px solid #cdb3db;border-radius:9px;font-size:0.75rem;font-weight:600;overflow-wrap:anywhere;margin-block:17px}.ticket-next-steps{font-size:0.6875rem;color:var(--muted);padding-left:20px;line-height:1.9;margin-bottom:20px}.form-error{padding:14px;background:#ffe5ee;color:#812d52;border:1px solid #d790ab;border-radius:8px;font-size:0.75rem;margin-bottom:17px}.form-submit:disabled{opacity:.7;cursor:wait}#new-request{display:block;font-size:0.6875rem;margin-top:18px}.help-shell{max-width:940px;width:calc(100% - 44px);margin:65px auto 90px}.help-shell h1{font-size:clamp(2.75rem,7vw,4.5rem);letter-spacing:-1.7px;margin-block:20px}.help-shell>.eyebrow{margin-top:40px}.help-shell>p{max-width:650px;font-size:0.875rem;line-height:1.85}.help-shell .help-faq{margin-top:38px}.help-shell .help-faq summary{font-size:0.9375rem}.help-shell .help-faq details p{font-size:0.8125rem;max-width:760px}.help-contact{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}.help-contact article{padding:26px;background:#efe5f6;border-radius:15px}.help-contact h2{font-size:1.8125rem;margin-bottom:15px}.help-contact p{font-size:0.75rem;line-height:1.9}.help-contact a{color:var(--purple);text-decoration:underline;overflow-wrap:anywhere}.help-contact .button{color:white;text-decoration:none;margin-top:19px}.help-header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.help-header>a:last-child{font-size:0.75rem}.help-footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:0.6875rem}.help-footer button{width:auto;display:inline-flex!important;font-size:0.6875rem;background:transparent}.help-season{padding:14px 5%;background:#ead9f1;color:var(--purple);font-size:0.75rem;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.help-season a{text-decoration:underline}.ticket-desk{max-width:1040px}.ticket-desk form{display:flex;gap:15px;align-items:end;margin:30px 0}.ticket-desk form label{flex:1}.staff-ticket{padding:25px;border:1px solid var(--line);border-radius:12px;margin-top:20px;background:white}.staff-ticket h2{font-size:1.4375rem;overflow-wrap:anywhere}.staff-ticket>p{font-size:0.6875rem;margin-top:10px}.staff-ticket pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--sans);margin-top:25px;color:var(--ink)}
@media(max-width:760px){.ticket-reference{font-size:0.75rem}.ticket-next-steps{font-size:0.75rem}.help-shell{margin-top:38px}.help-contact{grid-template-columns:1fr}.help-shell .help-faq summary{font-size:0.875rem}.help-header .brand-name{font-size:1.6875rem}.help-header>a:last-child{font-size:0.6875rem}.ticket-desk form{align-items:stretch;flex-direction:column}.help-shell>p{font-size:0.8125rem}}
.publisher-credit{grid-column:1/-1;font-size:0.5625rem!important;text-align:center;margin:4px 0 0!important;color:#8b7594}.help-footer>span{font-size:0.625rem}
/* The menu button is available on tablets (up to 1250px) and at enlarged text
   sizes. Its open panel must not depend on the narrower phone breakpoint. */
.mobile-nav:not([hidden]){position:absolute;top:100%;left:0;width:100%;display:flex;flex-direction:column;padding:18px 25px 25px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 18px 25px #41245311;gap:10px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;z-index:21}.mobile-nav a,.mobile-nav button{padding:10px 0;font-size:.875rem;text-align:left;background:transparent}.mobile-nav button{color:var(--purple);font-weight:600}.mobile-nav .motion-menu-button{display:flex;width:auto;height:auto;border-radius:0;padding:10px 0;font-size:.875rem}
.ticket-card{border:1px solid #d6bedf;background:#fffdfd;border-radius:15px;padding:24px;margin-top:22px}.ticket-keep{font-size:0.6875rem;line-height:1.8;margin-top:12px}.ticket-qr{margin:17px auto;background:white;border-radius:8px;object-fit:contain}.ticket-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.9 var(--sans);color:var(--ink);margin:0}.ticket-reference{font-variant-numeric:tabular-nums}.staff-login-link{grid-column:1/-1;justify-self:end;font-size:0.625rem;color:var(--purple)}.scan-panel{background:#efe5f6;padding:23px;border-radius:14px;margin-top:28px}.scan-panel h2{font-size:1.625rem;margin-bottom:13px}.scan-panel p{font-size:0.75rem;line-height:1.8}.scan-panel video{width:min(100%,450px);max-height:340px;background:#22102f;border-radius:10px;margin-top:20px;object-fit:cover}.scan-panel .button{margin-top:15px;margin-right:9px}.delivery-state{font-size:0.875rem!important;font-weight:600;padding:10px 14px;border-radius:8px;background:#f4e9d5;color:#744d25!important;display:inline-block}.delivery-state.delivered{background:#e8d8ed;color:#63347e!important}.staff-ticket .status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.staff-ticket .status-actions button{font-size:0.75rem;min-height:43px}.scan-panel input{margin-top:10px}.scan-panel label{margin-top:19px}
@media(max-width:760px){.ticket-card{padding:19px 15px}.ticket-keep{font-size:0.75rem}.ticket-card pre{font-size:0.75rem;line-height:1.8}.ticket-reference{font-size:0.6875rem}.ticket-qr{width:170px;height:170px}}
#website-help-form{display:grid;gap:16px;margin-top:22px}#website-help-form label>span{display:none}#website-help-form label{display:block}#website-help-form input,#website-help-form textarea{margin-top:7px}#website-help-form .button{margin:0}#website-help-status{font-weight:500;color:var(--purple);overflow-wrap:anywhere}.support-desk{margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}.support-desk>h2{font-size:2.0625rem}.support-desk>p{font-size:0.8125rem;margin-block:15px}

/* Operational text and controls must remain readable on phone and tablet screens.
   Explicit control colors also prevent a device's dark form palette being mixed
   with the site's light surfaces. The high-contrast preference remains separate. */
:root{color-scheme:light;--muted:#59475f}
html body{font-size:1rem}
html:not([data-contrast=high]) :is(input,select,textarea){color:#321e3c;background-color:#fff;border-color:#9b85a5}
html :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:1rem;line-height:1.5;min-height:48px;height:auto}
html input::placeholder,html textarea::placeholder{color:#6b5773;font-size:.9375rem;opacity:1}
html select option{color:#321e3c;background:#fff}
html :is(.request-dialog,.tracker-shell,.ticket-desk,.plate-desk,.staff-auth-content,.staff-fulfillment,.document-page) label{font-size:.9375rem;line-height:1.5}
html :is(.privacy-mini,.ticket-keep,.ticket-next-steps,.form-intro,.form-notice,.required-note,.ticket-card pre,.staff-ticket pre,.security-credit,.order-save-tips){font-size:.875rem;line-height:1.7}
html:not([data-contrast=high]) :is(.privacy-mini,.publisher-credit,.footer-bottom,.hero-details,.art-note,.gallery-note){color:#654f6f}
html .publisher-credit,html .footer-bottom{font-size:.75rem}
html :is(.tracking-stages,.tracking-step-note){font-size:.8125rem;line-height:1.5}
html:not([data-contrast=high]) :is(.tracking-stages,.tracking-stages .unrecorded,.tracking-step-note){color:#625068}
html:not([data-contrast=high]) a.button:not(.button-outline):not(.button-light):not(.button-ghost){color:#fff;background-color:#5b2c83}
html:not([data-contrast=high]) a.button:not(.button-outline):not(.button-light):not(.button-ghost):hover{background-color:#3d1c5b}
html :is(.tracker-shell,.ticket-desk,.request-dialog) .button{font-size:.9375rem;min-height:48px;font-weight:650}
html :is(.form-error,.field-validation){font-size:.9375rem;line-height:1.6}
html button:disabled{opacity:1!important;cursor:not-allowed}
html:not([data-contrast=high]) button.button:disabled{background:#e7dfec;color:#5e4c68;border-color:#b5a1c0;box-shadow:none;transform:none}
html[data-contrast=high]{color-scheme:dark}
html[data-contrast=high] :is(input,select,textarea)::placeholder{color:#e6dbea!important;opacity:1}
html[data-contrast=high] select option{color:#fff;background:#111}
/* These fixed pale surfaces previously inherited white text in high contrast. */
html[data-contrast=high] :is(.ticket-keep,.delay-notice,.order-request-copy,.customer-order-notice,.customer-order-summary>div,.customer-profile-avatar,.customer-order-badge,.ticket-reference,.form-error,.form-notice,.handoff-options,.staff-deposit-control,.order-profile-private,.staff-cancel-note){background:#111!important;color:#fff!important;border-color:#fff!important}
html[data-contrast=high] .button,html[data-contrast=high] .button>*{color:#000!important}

/* Customer order profile: timing and next action first, details on demand. */
.customer-order-page{max-width:980px}
.customer-order-page .order-access-intro h1{font-size:clamp(2.6rem,5vw,4rem);line-height:1.1}
.customer-order-page #order-status{margin:20px 0;font-size:.9375rem}
.customer-order-profile{padding:clamp(22px,4vw,38px);box-shadow:0 15px 45px #4521590d}
.customer-profile-header{display:flex;align-items:center;flex-wrap:wrap;gap:18px;border-bottom:1px solid #decfe5;padding-bottom:24px}
.customer-profile-header>div{flex:1;min-width:0}
.customer-profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;border-radius:20px;background:#eee1f5;color:#582b82;font-size:1.375rem;font-weight:700;letter-spacing:.03em}
.customer-profile-header h2{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere;margin:4px 0 8px}
.customer-order-reference{font-size:.875rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;user-select:all;color:#59445f}
.customer-order-badge{display:inline-flex;align-items:center;border:1px solid #bca6c7;padding:8px 14px;border-radius:100px;background:#f2eaf7;color:#573166;font-size:.875rem;font-weight:700}
.customer-order-badge[data-state=accepted],.customer-order-badge[data-state=completed]{background:#edf5ee;color:#28513a;border-color:#abc9b4}
.customer-order-badge[data-state=cancelled]{background:#fff0f3;color:#8b243d;border-color:#d7a7b4}
.customer-order-notice{padding:17px 20px;border-left:4px solid #8a5ba2;border-radius:8px;background:#f6eff9;color:#4c365b;margin:24px 0;line-height:1.7}
.customer-order-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.customer-order-summary>div{padding:18px 20px;border:1px solid #e0d2e6;border-radius:13px;background:#fffcfe;min-width:0}
.customer-order-summary dt{font-size:.8125rem;font-weight:600;color:#685072;margin:0 0 6px}
.customer-order-summary dd{margin:0;font-size:1rem;line-height:1.5;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.customer-order-expiry{margin-top:20px;font-size:.875rem}
.customer-order-expiry:empty{display:none}
.customer-order-primary-actions{padding:24px 0;margin:0!important;gap:12px!important;justify-content:flex-start!important}
.customer-profile-section{border-top:1px solid #e0d2e6;border-bottom:0;margin:0}
.customer-profile-section summary{font-size:1rem;font-weight:650;padding:21px 0;gap:16px;line-height:1.5}
.customer-profile-section summary>span{font-size:1.5rem;flex-shrink:0}
.customer-profile-section-body{padding:0 0 24px}
.customer-profile-section-body>p{line-height:1.7;margin-bottom:18px;font-size:.9375rem}
.customer-profile-section .order-details{grid-template-columns:minmax(90px,130px) minmax(0,1fr);font-size:.9375rem;line-height:1.65;margin:0 0 20px}
.customer-profile-section .order-request-copy{font:.9375rem/1.8 var(--sans);padding:18px;background:#f8f2fa;color:var(--ink);margin:0;white-space:pre-wrap}
.customer-profile-section .order-change-form{margin:20px 0;gap:18px}
.customer-profile-section .order-change-form button{justify-self:start}
.customer-profile-section .order-change{padding:18px;background:#faf6fc;border:1px solid #e0d2e6;border-radius:12px;margin-top:14px}
.customer-profile-section .order-change p{font-size:.9375rem;padding:0;margin:6px 0;line-height:1.7}
.customer-profile-section .order-change .eyebrow{font-size:.75rem;letter-spacing:.05em}
.customer-order-clear{margin-top:24px;font-size:.875rem;min-height:44px}
html[data-contrast=high] .customer-order-summary :is(dt,dd),html[data-contrast=high] .customer-profile-section .order-change,html[data-contrast=high] .customer-order-reference{color:#fff!important;background:#111!important}
@media(max-width:640px){.customer-order-profile{padding:22px 18px}.customer-profile-header{gap:13px}.customer-profile-avatar{width:50px;height:50px;border-radius:16px;font-size:1.125rem}.customer-order-badge{margin-left:63px}.customer-order-summary{grid-template-columns:minmax(0,1fr);gap:10px}.customer-order-summary>div{padding:14px 16px}.customer-order-primary-actions .button{width:100%}.customer-profile-section .order-details{grid-template-columns:minmax(0,1fr);gap:3px}.customer-profile-section .order-details dd{margin-bottom:14px}.customer-profile-section summary{font-size:.9375rem}.customer-order-page #order-access-form{margin-top:24px}}
html[data-text-size="200"] .customer-order-summary{grid-template-columns:minmax(0,1fr)}

/* Once an order is open, its profile leads the page instead of another lookup form. */
.customer-order-page[data-loaded=true] .order-access-intro h1{font-size:2rem;line-height:1.2;margin:10px 0 15px}
.customer-order-page[data-loaded=true] .order-access-intro h1 br{display:none}
.customer-order-page[data-loaded=true] .order-access-intro h1 em:before{content:' '}
.customer-order-page[data-loaded=true] .order-access-intro>p:last-child,.customer-order-page[data-loaded=true] #order-access-form{display:none}
.customer-order-page[data-loaded=true]>.ticket-keep{font-size:.8125rem;padding:12px 15px;margin:12px 0}
.customer-order-page[data-loaded=true] #order-status{font-size:.8125rem;margin:12px 0}
.customer-order-page[data-loaded=true] #order-record{margin-top:18px}
.customer-order-primary-actions .customer-order-clear{margin-top:0;align-self:center;padding:10px}

@media(max-width:640px){.customer-order-profile .customer-profile-header{display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px}.customer-order-profile .customer-profile-header>div{min-width:0}.customer-order-profile .customer-order-badge{grid-column:2;justify-self:start;margin-left:0;max-width:100%;white-space:normal}.customer-order-profile .customer-profile-header h2{font-size:1.8rem;overflow-wrap:break-word}}
/* Staff profile styles have their own palette; keep their whole hierarchy legible
   when the visitor chooses the site's high-contrast mode. */
html[data-contrast=high] :is(h1,h2,h3,h4) em{color:#fff!important}
html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page){color:#fff!important}
html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page) :is(p,strong,small,span,label,summary,pre,dt,dd,time,h1,h2,h3,h4){color:#fff!important}
html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page) :is(.staff-home-hero,.staff-orders-workspace,.staff-filter-tabs,.staff-order-card,.staff-order-number,.staff-tool-group,.staff-order-empty,.staff-order-avatar,.staff-order-badge,.order-profile-hero,.order-profile-overview article,.order-profile-workspace,.order-profile-detail,.order-profile-avatar,.order-profile-badge){background:#111!important;border-color:#fff!important}
html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page) a:not(.button){color:#fff!important;background:#111!important;border-color:#fff!important}
html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page) :is(button,.button),html[data-contrast=high] :is(.staff-home,#staff-order-profile,.staff-order-page) :is(button,.button) *{color:#000!important;background:#fff!important;border-color:#fff!important}
html[data-contrast=high] .staff-home .staff-filter-tabs button[aria-pressed=true]{color:#fff!important;background:#111!important;outline:2px solid #fff;outline-offset:-4px}

/* Agreed pickup timing: words accompany color, and fulfillment never advances automatically. */
#order-deadline[data-pickup-state]:not([data-pickup-state=""]),#tracking-deadline[data-pickup-state]:not([data-pickup-state=""]){display:block;padding:11px 13px;border:1px solid;border-radius:10px;font-size:.9375rem;line-height:1.7;font-weight:650}
:is(#order-deadline,#tracking-deadline)[data-pickup-state=scheduled]{color:#225338;background:#e9f5ed;border-color:#a9ceb6}
:is(#order-deadline,#tracking-deadline)[data-pickup-state=soon]{color:#725015;background:#fff3d9;border-color:#d8b36b}
:is(#order-deadline,#tracking-deadline)[data-pickup-state=late]{color:#8a2e42;background:#fff0f3;border-color:#dea6b2}
:is(#order-deadline,#tracking-deadline):is([data-pickup-state=completed],[data-pickup-state=closed]){color:#564564;background:#f0eaf5;border-color:#c9b9d5}
html[data-contrast=high] :is(#order-deadline,#tracking-deadline)[data-pickup-state]:not([data-pickup-state=""]){color:#fff!important;background:#111!important;border:2px solid #fff!important}

/* Date-scoped public notice; no customer or booking state is changed. */
.public-sold-out{position:relative;z-index:100;padding:15px 24px;display:flex;align-items:center;justify-content:center;gap:8px 20px;flex-wrap:wrap;background:#54234c;color:#fff;border-bottom:1px solid #f2bddb;text-align:center;font-size:.875rem;line-height:1.6}
.public-sold-out[hidden]{display:none!important}.public-sold-out strong{color:#fff;font-size:1rem}.public-sold-out span{color:#fff0f8}
.staff-sold-out{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;padding:23px 25px;border:1px solid #d9c8e1;border-radius:18px;background:#fffafc;margin:0 0 24px}.staff-sold-out h2{font-family:var(--sans);font-size:1.125rem;line-height:1.5;color:#4a295c}.staff-sold-out p{font-size:.875rem;line-height:1.7;color:#5f4c6a;margin:7px 0}.staff-sold-out small{font-size:.8125rem;line-height:1.6;color:#6d5b76}.sold-out-switch{display:grid;grid-template-columns:24px auto;align-items:center;gap:7px 10px;font-size:1rem;font-weight:650;cursor:pointer}.sold-out-switch input{width:24px;height:24px;accent-color:#653780}.sold-out-switch strong{grid-column:2;font-size:.8125rem;color:#6d4d7b}.staff-sold-out .sold-out-staff-status{grid-column:1/-1;margin:0;min-height:1em}.staff-sold-out input:focus-visible{outline:3px solid #b44086;outline-offset:4px}
html[data-contrast=high] :is(.public-sold-out,.staff-sold-out){background:#111!important;color:#fff!important;border-color:#fff!important}html[data-contrast=high] :is(.public-sold-out,.staff-sold-out) :is(strong,span,p,small,h2){color:#fff!important}
@media(max-width:620px){.staff-sold-out{grid-template-columns:1fr;padding:20px 17px}.sold-out-switch{justify-self:start;min-height:44px}.public-sold-out{padding:13px 18px;gap:4px}.public-sold-out span{display:block}}
/* The phone/tablet menu unfolds below its trigger without shifting the page. */
@keyframes rissa-nav-slide{from{opacity:0;transform:translate3d(0,-22px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.mobile-nav:not([hidden]){transform-origin:top right;animation:rissa-nav-slide .36s cubic-bezier(.2,.8,.2,1) both;border-radius:0 0 24px 24px;box-shadow:0 22px 42px #41245322}
@media(prefers-reduced-motion:reduce){.mobile-nav:not([hidden]){animation:none}}
html[data-motion=reduce] .mobile-nav:not([hidden]),html[data-effects=off] .mobile-nav:not([hidden]){animation:none}
/* Chef Rissa's original cake and treat menus. */
.cakes-menu-page{max-width:1120px;margin:auto;padding:clamp(24px,5vw,70px) clamp(16px,4vw,40px)}.cakes-menu-hero{max-width:780px;margin-bottom:40px}.cakes-menu-hero h1{font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.08}.cakes-menu-hero>p{max-width:650px}.cakes-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cakes-menu-card,.cakes-booking-note{padding:clamp(20px,3vw,36px);background:#fff;border:1px solid #e4cfde;border-radius:24px;color:#34203d}.cakes-menu-card h2,.cakes-booking-note h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2}.cakes-menu-card .menu-prices>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eee2ec;padding:12px 0}.cakes-menu-card dd{margin:0;white-space:nowrap;font-weight:700;color:#a51e65}.cakes-booking-note{margin:30px 0;background:#fff2f7}.cakes-menu-page li{margin:10px 0}.cakes-flyer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 40px}.cakes-flyer-grid figure{margin:0;min-width:0}.cakes-flyer-grid img{display:block;width:100%;height:auto;border-radius:16px;background:#11070d}.cakes-flyer-grid figcaption{padding:12px 2px;line-height:1.5}.cakes-menu-invite{padding:32px;border:1px solid #e3cbdc;border-radius:24px;background:#fff3f8;margin-block:30px}.cakes-menu-invite h2{font-size:clamp(1.8rem,3vw,2.7rem)}@media(max-width:650px){.cakes-menu-grid,.cakes-flyer-grid{grid-template-columns:1fr}.cakes-flyer-grid{gap:30px}.cakes-menu-page .review-actions{flex-wrap:wrap}.cakes-menu-invite{padding:24px}}html[data-contrast="high"] .cakes-menu-card,html[data-contrast="high"] .cakes-booking-note{color:#111;background:#fff}
