:root{--ink:#422c46;--plum:#684d71;--lavender:#e9e0ef;--cream:#faf7f0;--rose:#e9c2b6;--muted:#756c76;--line:#ded6dd;--green:#285a48;--radius:7px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9578ac;outline-offset:4px}button,input,select,textarea{color:var(--ink)}.wrap{width:min(1240px,88%);margin-inline:auto}.skip-link{position:fixed;top:-70px;left:20px;padding:10px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:10px}.topbar{display:flex;justify-content:space-between;padding:7px 6%;background:var(--ink);color:var(--cream);font-size:10px;letter-spacing:.08em}.site-header{position:sticky;top:0;z-index:20;background:#faf7f0f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:25px;min-height:96px;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{border:1px solid currentColor;border-radius:50%;height:43px;width:43px;font-family:Georgia;font-size:35px;line-height:37px;text-align:center;position:relative}.brand-mark>span{font-family:Arial;font-size:18px;position:absolute;right:-5px;top:-9px;background:var(--cream);line-height:22px}.brand-word{font-family:Georgia,serif;font-size:36px;line-height:1;letter-spacing:-1.5px}.brand small{display:block;font-family:Arial;font-size:7px;letter-spacing:2px;margin-top:9px}.header-inner nav{display:flex;gap:27px;font-size:12px}.header-inner nav a{position:relative;padding:10px 0}.header-inner nav a:after{content:'';position:absolute;left:0;bottom:4px;height:1px;width:100%;background:var(--plum);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header-inner nav a:hover:after,.header-inner nav a[aria-current]:after{transform:scaleX(1)}.button{border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:16px 25px;display:inline-flex;justify-content:center;align-items:center;gap:30px;border-radius:4px;font-size:12px;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s;line-height:1.5}.button:hover{background:var(--plum);transform:translateY(-2px);box-shadow:0 6px 18px #422c4615}.header-cta{padding:12px 18px;font-size:11px}.button.cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}.inline-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px;transition:color .2s}.inline-link:hover{color:#9a6281}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:6%;padding-top:65px;padding-bottom:75px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;margin:0 0 23px;line-height:1.6;color:var(--plum)}.tiny-star{font-size:18px;margin-right:5px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(45px,5.4vw,76px);letter-spacing:-3px}h2{font-size:clamp(34px,3.7vw,52px);letter-spacing:-1.8px}h3{font-size:25px;letter-spacing:-.5px}em{font-weight:400;color:var(--plum)}.hero-description{max-width:380px;color:var(--muted);font-size:14px;margin:25px 0 28px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:24px}.hero-footnote{display:flex;gap:14px;align-items:center;margin-top:35px}.hero-footnote>span{font-size:35px;color:#9578ac}.hero-footnote p{font-size:10px;line-height:1.65;color:var(--muted)}.hero-footnote strong{font-weight:500;color:var(--ink)}.hero-art{position:relative;padding:25px 22px 20px 15px;max-width:500px;justify-self:end;width:100%;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:0 2% 0 0;background:var(--lavender);border-radius:47% 47% 8px 8px;z-index:-2;transform:rotate(4deg)}.hero-photo{overflow:hidden;border-radius:46% 46% 5px 5px}.hero-photo img{aspect-ratio:4/5;object-position:50% 54%;animation:photo-in 1s ease both}.orbit{position:absolute;inset:7px -8px 25px 12px;border:1px solid #aa8eb0;border-radius:48% 48% 10px 10px;transform:rotate(-4deg);z-index:-1}.photo-stamp{position:absolute;right:-24px;top:45px;background:#ebc7b6;border:1px solid #b68c80;border-radius:50%;width:115px;height:115px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:9px;line-height:1.5;transform:rotate(13deg)}.photo-stamp em{font-family:Georgia;font-size:22px;color:var(--ink)}.photo-label{position:absolute;bottom:0;left:-12px;background:var(--cream);border:1px solid var(--line);padding:15px 24px;box-shadow:0 10px 30px #422c4610;transform:rotate(-3deg);border-radius:4px}.photo-label span{font-size:8px;letter-spacing:1.4px;display:block;color:var(--muted)}.photo-label strong{font-family:Georgia;font-weight:400;font-size:17px}.hero-spark{position:absolute;bottom:15px;right:-17px;font-size:58px;color:var(--plum);animation:spark 6s ease-in-out infinite}.occasion-strip{background:var(--lavender);border-block:1px solid #d8c9df;padding:18px 0}.occasion-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:1.7px;text-transform:uppercase}.occasion-strip i{font-style:normal;font-size:21px;color:#98779d}.section{padding-block:85px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading>div:last-child>p{font-size:12px;color:var(--muted);margin:0 0 16px}.cake-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.cake-card{min-width:0}.cake-photo{display:block;position:relative;overflow:hidden;border-radius:140px 140px 7px 7px;background:#e9e1e5;transition:box-shadow .3s}.cake-photo img{aspect-ratio:3/4;object-position:center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.cake-photo:hover{box-shadow:0 15px 30px #422c4620}.cake-photo:hover img{transform:scale(1.025)}.photo-category{position:absolute;bottom:15px;left:15px;background:#faf7f0ef;padding:6px 12px;border-radius:30px;font-size:9px;letter-spacing:.3px}.photo-arrow{position:absolute;right:15px;bottom:15px;background:var(--cream);border-radius:50%;width:32px;height:32px;text-align:center;line-height:32px}.cake-info{padding-top:20px}.cake-info h3{font-size:25px}.cake-info p{font-size:12px;color:var(--muted);line-height:1.8;margin:13px 0 19px}.source-note{font-size:10px;color:var(--muted);margin-top:30px;max-width:850px}.source-note a{text-decoration:underline}.custom-feature{background:#eee5ee;padding:70px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.editorial-photo{position:relative;min-width:0;max-width:440px;width:100%;justify-self:center}.editorial-photo img{aspect-ratio:3/4;object-position:center;border-radius:7px 120px 7px 7px}.photo-credit{position:absolute;bottom:15px;left:15px;background:#faf7f0ed;padding:7px 12px;font-size:8px;letter-spacing:1px;max-width:90%}.custom-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.custom-guide>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin:26px 0;max-width:430px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 30px}.detail-tags span{font-size:10px;border:1px solid #c6b5cb;border-radius:30px;padding:7px 15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{display:inline-block;font-family:Georgia;font-style:italic;color:var(--plum);font-size:32px;margin-bottom:25px}.steps h3{font-size:25px}.steps p{font-size:12px;color:var(--muted);max-width:290px}.cta-band{background:var(--ink);color:var(--cream);border-radius:7px;padding:50px 6%;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:80px;gap:30px}.cta-band em,.cta-band .eyebrow{color:#ddc3e8}.cta-spark{position:absolute;right:27%;bottom:-55px;font-size:220px;opacity:.12;pointer-events:none}.cta-band .button{z-index:1;flex-shrink:0}.page-intro{padding:65px 0 50px}.page-intro h1{font-size:clamp(45px,5vw,68px)}.page-intro>p:last-child{max-width:550px;font-size:14px;color:var(--muted);margin:24px 0 0}.catalog-section{padding-bottom:75px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0 30px;border-top:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:9px}.filter{padding:10px 19px;background:transparent;border:1px solid var(--line);border-radius:30px;font-size:11px;transition:background .2s}.filter.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}#result-count{font-size:11px;color:var(--muted);white-space:nowrap}.cake-card[hidden]{display:none}.custom-layout,.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:15px 0 75px}.check-list{list-style:none;padding:0;margin:25px 0 30px}.check-list li{padding:15px 0;border-bottom:1px solid var(--line);position:relative;padding-left:25px}.check-list li:before{content:'✓';position:absolute;left:0;font-size:12px}.check-list b{font-size:12px;font-weight:600;display:block}.check-list span{font-size:11px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:20px;font-size:13px}summary::-webkit-details-marker{display:none}summary>span{font-size:20px;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{margin:0 0 20px;font-size:12px;color:var(--muted);line-height:1.85}.visit-card{background:var(--lavender);padding:45px 6%;border-radius:8px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.visit-card p:not(.eyebrow){font-size:13px;color:var(--muted);margin:23px 0}.visit-art{font-family:Georgia;font-size:200px;line-height:1;color:#c4adce;position:relative}.visit-art sup{font-size:80px}.enquiry-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding-bottom:85px;align-items:start}.enquiry-aside{padding-top:15px}.enquiry-aside>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:300px;margin:25px 0}.contact-option{border-bottom:1px solid var(--line);padding:22px 0;max-width:340px}.contact-option span{display:block;font-size:9px;color:var(--muted);letter-spacing:1px;margin-bottom:6px}.contact-option a{font-family:Georgia;font-size:23px}.quiet-note{font-size:11px!important}form{background:#f0e9f1;border:1px solid #e3d6e7;padding:30px;border-radius:8px}.form-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;border-bottom:1px solid #d8c9dd;padding-bottom:20px;margin-bottom:24px}.form-heading small{font-size:10px;letter-spacing:0;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:11px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #d6cbd9;background:#fffdfa;border-radius:4px;padding:12px 13px;font-size:13px;margin-top:7px;line-height:1.5}textarea{resize:vertical;min-height:100px}form .button{width:100%;text-align:center}.form-note{font-size:10px;line-height:1.8;color:var(--muted);margin:15px 0 0}.form-note a{text-decoration:underline}#form-status{padding:15px;background:#fffdfa;border:1px solid var(--line);border-radius:4px;margin-top:18px;font-size:12px}#form-status a{display:inline-block;margin-top:8px;color:var(--green);font-weight:700;text-decoration:underline}.visit-section{padding:65px 0;background:var(--lavender)}.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}address{font-style:normal;font-size:14px;line-height:1.9;margin-top:25px}.visit-layout p:not(.eyebrow){font-size:12px;color:var(--muted);margin:15px 0 25px}.visit-layout iframe{width:100%;height:380px;border:0;border-radius:9px;background:#ddd4e0}.legal-content{max-width:800px;padding-bottom:90px}.legal-content h2{font-size:27px;letter-spacing:-.6px;padding-top:22px;border-top:1px solid var(--line);margin-top:30px}.legal-content p{font-size:14px;color:var(--muted);line-height:1.9;margin:15px 0 25px}footer{background:#ede7e4;padding:55px 0 23px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer-top .brand-mark>span{background:#ede7e4}.footer-top h3{font-family:Arial;font-size:11px;font-weight:700;letter-spacing:0;margin:5px 0 20px}.footer-top>div>a:not(.brand){display:block;font-size:11px;color:var(--muted);margin:9px 0}.footer-top>div>p{font-size:11px;color:var(--muted);margin-top:20px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d7cdce;padding-top:20px;margin-top:35px;font-size:9px;color:var(--muted)}.floating-chat{position:fixed;right:22px;bottom:22px;display:flex;align-items:center;gap:8px;background:var(--green);color:white;z-index:25;padding:11px 16px;border-radius:40px;box-shadow:0 6px 22px #0002;font-size:11px}.floating-chat svg{width:24px;height:24px}.floating-chat:hover{background:#35735c}dialog{border:1px solid var(--line);padding:0;border-radius:10px;width:min(850px,92vw);max-height:88vh;color:var(--ink);background:var(--cream);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#201423ad;backdrop-filter:blur(5px)}.dialog-body{display:grid;grid-template-columns:1fr 1fr;align-items:center}.dialog-body img{width:100%;max-height:75vh;object-fit:contain;background:#e8e0e7}.dialog-copy{padding:40px 30px}.dialog-copy h2{font-size:35px}.dialog-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:20px 0}.dialog-copy small{font-size:9px;color:var(--muted);display:block;margin-top:18px}.dialog-note{border-top:1px solid var(--line);padding-top:18px}.dialog-close{position:absolute;right:12px;top:12px;background:var(--cream);border:1px solid var(--line);width:35px;height:35px;border-radius:50%;font-size:23px;z-index:2}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes photo-in{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:none}}@keyframes spark{0%,100%{transform:rotate(0)}50%{transform:rotate(18deg)}}@media(min-width:1600px){h1{font-size:80px}}@media(max-width:1050px){.wrap{width:90%}.header-inner{gap:15px}.header-inner nav{gap:18px;font-size:11px}.header-cta{display:none}.hero{gap:5%}.hero-actions{gap:18px;flex-wrap:wrap}.photo-stamp{right:-5px;width:95px;height:95px}.photo-stamp em{font-size:20px}.hero-spark{right:0}.photo-label{left:0;padding:12px 18px}.cake-grid{gap:30px 20px}.cake-info h3{font-size:23px}.enquiry-layout{gap:6%}.dialog-copy{padding:35px 25px}}@media(max-width:760px){.header-inner{min-height:80px}.brand-word{font-size:32px}.brand-mark{width:38px;height:38px;font-size:31px;line-height:32px}.brand small{font-size:6px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none}.menu-toggle span{display:block;width:18px;height:1px;background:var(--ink);margin-inline:auto;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header-inner nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:15px 5% 25px;border-bottom:1px solid var(--line);font-size:14px;box-shadow:0 12px 20px #422c4610}.header-inner nav.open{display:flex;flex-direction:column;gap:5px}.header-inner nav a{padding:10px}.header-inner nav a:after{display:none}.header-inner nav a[aria-current]{background:var(--lavender);border-radius:4px}.hero{padding-top:40px;padding-bottom:45px;gap:30px}.hero h1{font-size:49px;letter-spacing:-2px}.hero .eyebrow{font-size:8px}.hero-description{font-size:12px;margin:20px 0}.hero-footnote{margin-top:20px}.hero-art{padding:15px 12px 20px 5px}.photo-label strong{font-size:12px}.photo-label span{font-size:7px}.photo-label{padding:10px 12px}.photo-stamp{width:78px;height:78px;font-size:7px;top:20px}.photo-stamp em{font-size:17px}.hero-spark{font-size:40px;bottom:0}.occasion-strip .wrap{font-size:8px;letter-spacing:1px;gap:12px}.occasion-strip i{font-size:17px}.section{padding-block:60px}.section-heading{gap:25px}h2{font-size:36px}.section-heading>div:last-child>p{font-size:11px}.cake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.cake-grid>.cake-card:last-child:nth-child(3){display:none}.catalog-section .cake-grid>.cake-card:last-child:nth-child(3){display:block}.custom-feature{padding:50px 0}.split{gap:6%}.custom-copy>p:not(.eyebrow){font-size:12px;margin:20px 0}.detail-tags{gap:6px;margin:20px 0}.detail-tags span{padding:5px 9px;font-size:9px}.steps{gap:25px}.steps h3{font-size:22px}.steps p{font-size:11px}.cta-band{margin-bottom:60px;padding:35px 6%}.cta-band h2{font-size:35px}.page-intro{padding:45px 0 35px}.catalog-toolbar{align-items:start;flex-direction:column;gap:15px}.custom-layout,.about-layout{gap:6%;padding-bottom:45px}.custom-guide>p:not(.eyebrow),.about-copy>p:not(.eyebrow){font-size:12px;margin:20px 0}.check-list li{padding-block:10px}.check-list span{font-size:10px}.faq-section{grid-template-columns:1fr;gap:25px}.enquiry-layout{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.enquiry-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.enquiry-aside .eyebrow,.enquiry-aside h2,.enquiry-aside>p{grid-column:1/-1}.enquiry-aside>p:not(.eyebrow){max-width:520px;margin:18px 0}.contact-option{padding:15px 0}.visit-layout{gap:5%}.visit-layout iframe{height:350px}.footer-top{grid-template-columns:1.3fr 1fr;gap:30px}.dialog-copy h2{font-size:28px}.dialog-copy{padding:35px 20px}.dialog-copy .button{font-size:11px;padding:13px}.visit-art{font-size:140px}.visit-art sup{font-size:50px}}@media(max-width:540px){.wrap{width:88%}.topbar{padding:7px 6%;font-size:8px;letter-spacing:.02em}.hero{grid-template-columns:1fr;padding:30px 0 50px;gap:35px}.hero h1{font-size:55px;letter-spacing:-2.8px}.hero .eyebrow{font-size:8px;margin-bottom:18px}.hero-description{max-width:340px;font-size:13px;margin:20px 0 23px}.hero-actions{gap:22px}.hero-footnote{margin-top:17px}.hero-art{width:90%;max-width:370px;justify-self:center;padding:15px 15px 20px 10px}.hero-photo img{aspect-ratio:4/5}.photo-stamp{width:92px;height:92px;right:-16px;top:25px;font-size:8px}.photo-stamp em{font-size:20px}.photo-label{left:-12px;bottom:-10px;padding:12px 17px}.photo-label strong{font-size:14px}.hero-spark{right:-13px;font-size:44px}.occasion-strip{padding:14px 0}.occasion-strip .wrap{flex-wrap:wrap;justify-content:center;gap:5px 14px;letter-spacing:.8px;font-size:8px}.occasion-strip i:last-of-type{display:none}.occasion-strip span:last-child{display:none}.section{padding-block:50px}.section-heading{display:block;margin-bottom:28px}.section-heading>div:last-child{margin-top:22px}.section-heading>div:last-child>p{font-size:12px}.cake-grid{grid-template-columns:1fr;gap:35px}.cake-grid>.cake-card:last-child:nth-child(3){display:block}.cake-photo{border-radius:130px 130px 7px 7px}.cake-photo img{aspect-ratio:4/5}.cake-info h3{font-size:27px}.cake-info p{font-size:12px;margin:11px 0 16px}.cake-info{padding-top:18px}.source-note{line-height:1.8}.split,.custom-layout,.about-layout{grid-template-columns:1fr;gap:35px}.editorial-photo{max-width:370px}.custom-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.custom-guide>p:not(.eyebrow){font-size:13px}.detail-tags span{font-size:10px;padding:6px 12px}.steps{grid-template-columns:1fr;gap:24px}.steps article{display:grid;grid-template-columns:45px 1fr;column-gap:15px;padding-top:20px}.steps article>span{grid-row:1/3;margin:0;font-size:28px}.steps h3{font-size:25px}.steps p{grid-column:2;margin:10px 0 0;font-size:12px;max-width:none}.cta-band{padding:35px 8%;flex-direction:column;align-items:start;margin-bottom:50px;gap:25px}.cta-band h2{font-size:37px}.cta-band .eyebrow{font-size:8px}.cta-spark{right:-20px;bottom:-35px;font-size:200px}.page-intro{padding-top:35px}.page-intro h1{font-size:49px;letter-spacing:-2.1px}.page-intro>p:last-child{font-size:13px}.filter{padding:9px 14px;font-size:10px}.filters{gap:8px}.catalog-toolbar{padding-top:20px}.catalog-section{padding-bottom:50px}.custom-layout .editorial-photo{order:1}.custom-guide{order:2}.check-list span{font-size:11px}.about-layout .editorial-photo{order:-1}.visit-card{padding:30px 8%}.visit-art{display:none}.visit-card p:not(.eyebrow){font-size:12px}.enquiry-aside{display:block}.contact-option{max-width:none}.contact-option a{font-size:22px}.enquiry-aside .quiet-note{margin-bottom:0!important}form{padding:23px 18px}.form-row{grid-template-columns:1fr;gap:0}.form-heading{font-size:8px}.form-heading small{font-size:9px}input,select,textarea{font-size:16px}label{font-size:11px;margin-bottom:18px}.visit-layout{grid-template-columns:1fr;gap:30px}.visit-section{padding:45px 0}.visit-layout iframe{height:320px}.footer-top{grid-template-columns:1fr 1fr;gap:27px 20px}.footer-top>div:first-child{grid-column:1/-1}.footer-top h3{margin-bottom:14px}.footer-top>div>a:not(.brand){font-size:11px}.footer-bottom{flex-direction:column;gap:5px;padding-bottom:65px}.floating-chat{right:16px;bottom:16px;padding:10px 13px}.legal-content h2{font-size:26px}.legal-content p{font-size:13px}.dialog-body{grid-template-columns:1fr}.dialog-body img{height:auto;max-height:40vh;object-fit:contain}.dialog-copy{padding:25px}.dialog-copy h2{font-size:30px}.dialog-copy .eyebrow{margin-bottom:13px}.dialog-copy>p:not(.eyebrow){margin:15px 0;font-size:12px}.dialog-copy .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

/* Photo interaction system: colour accents frame the authentic photographs. */
.cake-card{--photo-accent:#a782b9;--photo-glow:#a782b940}
.cake-card:nth-child(3n+2){--photo-accent:#cb9681;--photo-glow:#cb968140}
.cake-card:nth-child(3n){--photo-accent:#7eaa99;--photo-glow:#7eaa9940}
.cake-photo,.hero-photo,.editorial-photo{transition:box-shadow .35s ease,transform .35s ease;isolation:isolate}
.cake-photo{border:2px solid transparent;transition:border-color .3s,box-shadow .35s,transform .35s}
.cake-photo:focus-visible{border-color:var(--photo-accent);box-shadow:0 0 0 6px var(--photo-glow)}
.photo-category,.photo-arrow{transition:background .25s,color .25s,transform .3s}
.photo-preview{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:inherit;cursor:zoom-in;position:relative;overflow:hidden;line-height:0}
.photo-preview img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.photo-preview:after{content:'View photo ↗';position:absolute;right:15px;bottom:18px;background:#faf7f0f0;color:var(--ink);font:11px/1.5 Arial,sans-serif;padding:9px 13px;border-radius:30px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.editorial-photo .photo-preview:after{bottom:52px}
.photo-preview:focus-visible:after{opacity:1;transform:none}
.photo-preview:focus-visible{outline-offset:5px}
.hero-photo{border:2px solid transparent}
.hero-photo:focus-within,.editorial-photo:focus-within{box-shadow:0 0 0 6px #a782b933,0 16px 35px #422c4620}
.photo-pressed{transform:scale(.985)!important;box-shadow:0 0 0 5px #a782b933!important}
.button:active,.filter:active,.floating-chat:active{transform:scale(.97)}
.filter{transition:background .25s,color .25s,box-shadow .25s,transform .2s}
.filter.active{box-shadow:0 4px 12px #422c4620}
.inline-link span{transition:transform .25s}
.contact-option a,.footer-top a{transition:color .25s}
input,select,textarea{transition:border-color .2s,box-shadow .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#a782b9;box-shadow:0 0 0 3px #a782b91c;background:#fff}
.cake-card.filter-enter{animation:filter-in .38s ease both}
.steps article{transition:border-color .3s,background .3s}
.faq-list details[open]>p{animation:filter-in .3s ease both}
dialog[open]{animation:dialog-in .3s cubic-bezier(.2,.8,.2,1)}
dialog[open]::backdrop{animation:backdrop-in .25s ease}
#photo-viewer{width:min(780px,94vw);background:#211924;border:1px solid #7f6787;padding:45px 16px 16px;overflow:auto}
#photo-viewer img{width:auto;max-width:100%;height:auto;max-height:72vh;margin:auto;object-fit:contain;border-radius:4px}
#photo-viewer figcaption{font-size:12px;text-align:center;color:#f4eafa;margin:14px 8px 4px;line-height:1.6}
#photo-viewer figure{margin:0}
@media(hover:hover) and (pointer:fine){
.cake-photo:hover{transform:translateY(-5px);border-color:var(--photo-accent);box-shadow:0 0 0 5px var(--photo-glow),0 18px 35px #422c461c}
.cake-photo:hover img{transform:scale(1.045)}
.cake-photo:hover .photo-arrow{background:var(--photo-accent);color:#fff;transform:rotate(8deg)}
.cake-photo:hover .photo-category{background:var(--ink);color:var(--cream)}
.hero-photo:hover{box-shadow:0 0 0 5px #a782b930,0 18px 35px #422c461c;border-color:#a782b9}
.editorial-photo:hover{transform:translateY(-4px);box-shadow:0 12px 30px #a782b933}
.photo-preview:hover img{transform:scale(1.035)}
.photo-preview:hover:after{opacity:1;transform:none}
.inline-link:hover span{transform:translate(3px,-2px)}
.filter:hover:not(.active){background:#e9e0ef;border-color:#b69bc2}
.steps article:hover{border-color:#a782b9}
.contact-option a:hover,.footer-top a:hover{color:#95659d}
.floating-chat:hover{transform:translateY(-3px);box-shadow:0 9px 24px #285a4835}
}
@media(hover:none),(pointer:coarse){
.cake-photo:hover,.editorial-photo:hover{transform:none;box-shadow:none}
.cake-photo:hover img,.photo-preview:hover img{transform:none}
.photo-preview:after{opacity:1;transform:none;font-size:10px;padding:7px 10px}
.photo-preview:active,.cake-photo:active{transform:scale(.985)}
}
@keyframes filter-in{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(15px) scale(.975)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.cake-photo:hover,.cake-photo:hover img,.editorial-photo:hover,.photo-preview:hover img,.photo-pressed,.photo-preview:active,.cake-photo:active,.button:active,.filter:active,.floating-chat:hover,.floating-chat:active{transform:none!important}
.motion-ready .reveal{opacity:1;transform:none}
}

/* Seamless occasions ribbon and a distinct set of hero motions. */
.occasion-strip{position:relative;overflow:hidden;padding:19px 0}
.marquee-window{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent)}
.marquee-track{display:flex;width:max-content;animation:occasion-drift 32s linear infinite}
.marquee-group{display:flex;align-items:center;justify-content:space-around;gap:38px;padding:0 19px;flex-shrink:0;min-width:100vw;white-space:nowrap;font-size:11px;letter-spacing:1.7px;text-transform:uppercase}
.marquee-group i{font-size:21px;font-style:normal;color:#98779d}
.marquee-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid #b9a7c1;background:#e9e0ef;border-radius:50%;font-size:12px;color:var(--ink);z-index:2}
.occasion-strip.is-paused .marquee-track,.occasion-strip:hover .marquee-track,.occasion-strip:focus-within .marquee-track{animation-play-state:paused}
.hero-cake-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;border-radius:inherit;line-height:0}
.hero-cake-button:focus-visible{outline-offset:-5px}
.hero-cake-button img{animation:none}
.hero-photo{position:relative;z-index:1}
.photo-stamp{animation:sweet-sway 7s ease-in-out infinite;z-index:3;overflow:hidden;pointer-events:none}
.photo-stamp em{display:inline-block;animation:sugar-pop 4.8s ease-in-out infinite;text-shadow:0 0 0 transparent}
.photo-stamp:after{content:'';position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 42%,#fff7e77a 49%,transparent 56%);transform:translateX(-75%);animation:sugar-sheen 7s ease-in-out infinite;pointer-events:none}
.photo-label{animation:note-float 6.5s ease-in-out infinite;z-index:3;pointer-events:none}
.photo-label strong{display:inline-block;animation:note-glow 6.5s ease-in-out infinite}
.hero-spark{animation:hero-twinkle 5s ease-in-out infinite;z-index:3;pointer-events:none;line-height:1}
.hero-spark i,.hero-spark b{position:absolute;font-style:normal;font-weight:400;font-size:18px;animation:tiny-orbit 6s ease-in-out infinite}
.hero-spark i{right:-8px;top:-12px;color:#b78a69}.hero-spark b{left:-15px;bottom:-7px;font-size:23px;animation-delay:-3s}
.hero-cup{position:absolute;left:-25px;top:45%;width:64px;height:74px;z-index:3;color:var(--plum);animation:cup-rock 7s ease-in-out infinite;pointer-events:none}
.hero-cup svg{width:100%;height:100%;filter:drop-shadow(0 5px 5px #422c4610)}
.cup-steam{animation:steam-rise 3s ease-in-out infinite;transform-origin:32px 20px}
@keyframes occasion-drift{to{transform:translateX(-50%)}}
@keyframes sweet-sway{0%,100%{transform:rotate(13deg) translateY(0)}50%{transform:rotate(8deg) translateY(-5px)}}
@keyframes sugar-pop{0%,65%,100%{transform:scale(1);color:#422c46}78%{transform:scale(1.08);color:#9d5277}88%{transform:scale(.99)}}
@keyframes sugar-sheen{0%,60%{transform:translateX(-75%)}85%,100%{transform:translateX(75%)}}
@keyframes note-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(-1deg)}}
@keyframes note-glow{0%,100%{color:#422c46}50%{color:#8d608d}}
@keyframes hero-twinkle{0%,100%{transform:rotate(0) scale(1);opacity:.85}50%{transform:rotate(25deg) scale(1.12);opacity:1}}
@keyframes tiny-orbit{0%,100%{transform:translate(0,0) scale(.8)}50%{transform:translate(4px,-6px) scale(1.15)}}
@keyframes cup-rock{0%,100%{transform:rotate(-9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-7px)}}
@keyframes steam-rise{0%,100%{opacity:.3;transform:translateY(2px) scaleX(.9)}50%{opacity:.8;transform:translateY(-3px) scaleX(1.08)}}
@media(max-width:760px){.marquee-group{gap:26px;padding-inline:13px;min-width:760px;font-size:10px}.hero-cup{width:45px;height:55px;left:-16px}.hero-spark i{right:0}}
@media(max-width:540px){.occasion-strip{padding:15px 0}.marquee-group{font-size:9px;min-width:650px;gap:24px;letter-spacing:1px}.hero-cup{left:-20px;top:47%;width:49px;height:59px}.marquee-track{animation-duration:27s}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;width:100%}.marquee-group{min-width:0;width:100%;white-space:normal;flex-wrap:wrap;justify-content:center;gap:8px 15px;padding:0 20px}.marquee-group[aria-hidden=true],.marquee-toggle{display:none}.photo-stamp,.photo-stamp em,.photo-stamp:after,.photo-label,.photo-label strong,.hero-spark,.hero-spark i,.hero-spark b,.hero-cup,.cup-steam{animation:none!important}.photo-stamp:after{display:none}}
