@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;1,400&display=swap');
/* Public boutique theme; no changes to administration or content. */
body{--ink:#30203d;--wine:#593478;--paper:#fff;--pink:#f3eefa;--muted:#72667d;--line:#e5ddeb;background:#fff;font:16px/1.65 Outfit,Arial,sans-serif;color:var(--ink)}
header{height:88px;padding:0 max(5%,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:29px;line-height:1.1;letter-spacing:-1.1px}.brand span{font:9px/1.8 Outfit,sans-serif;letter-spacing:2px;margin-top:5px}header nav{display:flex;gap:26px;font-size:14px}.nav-cta{border-radius:8px;background:#593478;color:white;border:1px solid #593478;padding:11px 17px;font-size:13px}.nav-cta:hover{background:#754397}.nav-cta span{margin-left:9px}nav a:hover{color:#8652b0}
.hero{max-width:1120px;margin:32px auto 0;padding:35px 45px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:0 45px;border-radius:24px;background:#eee5fa;overflow:hidden}.hero-copy{padding:15px 0 30px;align-self:center;min-width:0}.eyebrow{font:500 11px/1.7 Outfit,sans-serif;letter-spacing:1.6px;color:#674c7d}.eyebrow>span{display:none}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-1.6px;line-height:1.1}h1{font-size:clamp(46px,4.4vw,64px);margin:18px 0}h2{font-size:clamp(34px,3.3vw,45px);margin:13px 0}em{font-family:Fraunces,Georgia,serif;font-weight:400;color:#8053a4;letter-spacing:inherit}.hero-copy>p{font-size:15px;line-height:1.7;max-width:440px;margin-bottom:22px;color:#675672}.button{border-radius:8px;font:500 14px/1.4 Outfit,sans-serif;padding:14px 19px;gap:22px;background:#593478;border:1px solid #593478;color:white}.button:hover{background:#754397;border-color:#754397;transform:translateY(-2px)}.hero-note{font-size:11px;color:#72667d;letter-spacing:.5px;margin-top:18px}.hero-photo{position:relative;align-self:center;margin:0 0 32px;min-width:0}.hero-photo .image-button{height:330px;border-radius:160px 160px 14px 14px;transform:rotate(3deg);box-shadow:0 14px 35px #40205a1a}.hero-photo img{object-position:center}.photo-label{left:-18px;right:auto;bottom:25px;padding:11px 20px;background:white;font:italic 26px Fraunces,serif;border-radius:6px;transform:rotate(-5deg);box-shadow:0 5px 22px #40205a12}.round-stamp{top:-12px;right:-15px;width:82px;height:82px;border:1px solid #d8c1e7;background:#593478;color:white;font-size:7px;letter-spacing:.8px;box-shadow:0 0 0 4px #eee5fa;transform:rotate(12deg)}.round-stamp span{font-size:24px;line-height:.6}.hero-bottom{grid-column:1/-1;margin:0 -45px;padding:15px 45px;background:#593478;color:#f0e5fc;border:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px;gap:10px}.hero-bottom span{margin-left:8px}
.section{width:min(1120px,90%);max-width:1120px;margin:0 auto;padding:65px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-heading>p,.section-heading>div:nth-child(2){max-width:365px;font-size:15px;line-height:1.75}.section-heading h2{margin-bottom:0}.flavours{background:white}.flavour-grid,.cake-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;align-items:start}.flavour,.cake{min-width:0;display:flex;flex-direction:column;background:#fff;padding:0;margin:0;border:1px solid #e5ddeb;border-radius:12px;overflow:hidden;transition:box-shadow .25s,transform .25s}.flavour:hover,.cake:hover{box-shadow:0 10px 22px #49315b12;transform:translateY(-3px)}.flavour .image-button,.cake .image-button{display:block;flex:none;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;border-radius:0;background:#eee7f2}.image-button img{object-fit:cover;width:100%;height:100%;transition:transform .45s ease}.image-button:hover img{transform:scale(1.055)}.zoom{width:30px;height:30px;bottom:9px;right:9px;border-radius:50%;background:#fffffff0;color:#593478;font-size:17px;box-shadow:0 2px 8px #30203d15}.image-button:hover .zoom{transform:rotate(-10deg)}.flavour h3,.cake h3{font:500 21px/1.25 Outfit,sans-serif;letter-spacing:-.4px;margin:0;color:#30203d;overflow-wrap:anywhere}.flavour h3{margin:16px 15px 8px}.flavour p,.cake>p{font-size:14px;line-height:1.6;color:#72667d;margin:0 15px 16px}.flavour .tag{font:500 10px Outfit,sans-serif;letter-spacing:1px;color:#8053a4;order:4;margin:0 15px 16px;padding:0}.cake-category{font:500 10px/1.5 Outfit,sans-serif;color:#8053a4;letter-spacing:1px;margin:14px 15px 7px;overflow-wrap:anywhere}.cake-head{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:flex-start;margin:0 15px 10px}.cake .price{font:500 13px/1.5 Outfit,sans-serif;color:#593478;background:#f3eefa;border:0;border-radius:20px;white-space:normal;padding:3px 10px;margin:0}.small-note{font-size:13px;color:#72667d;border-top:0;padding:0;margin-top:25px}.creations{background:transparent;position:relative}.creations:before{content:'';position:absolute;inset:0 calc((1120px - 100vw)/2);z-index:-1;background:#f8f5fb}.fine{font-size:12px;line-height:1.65;margin-top:10px}.price-note{display:flex;gap:17px;align-items:flex-start;padding:20px;border:1px solid #e5ddeb;background:#fff;border-radius:10px;margin-top:28px}.price-note>span{font-size:28px;line-height:1.3;color:#8053a4}.price-note p{font-size:13px;line-height:1.7;max-width:none}.price-note strong{color:#593478}
.process{display:block;padding:65px 0}.process>div:first-child{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:0 30px}.process>div:first-child .eyebrow{grid-column:1/-1}.process>div:first-child>p{justify-self:end;font-size:15px;line-height:1.8;padding-bottom:4px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.steps article,.steps article:first-child{display:block;border:1px solid #e5ddeb;border-radius:12px;padding:24px;background:#fff}.steps article>span{display:grid;place-items:center;background:#eee5fa;border-radius:50%;width:38px;height:38px;font:500 14px Outfit,sans-serif;color:#593478;margin-bottom:22px}.steps h3{font:500 21px/1.3 Outfit,sans-serif;letter-spacing:-.5px;margin-bottom:12px}.steps p{font-size:14px;line-height:1.75}.contact{max-width:1120px;width:90%;margin:0 auto 55px;background:#593478;color:#fff;border-radius:20px;padding:50px 40px;text-align:center}.contact .eyebrow{justify-content:center;color:#dac8ed}.contact h2{font:400 clamp(36px,4vw,52px)/1.13 Fraunces,serif;letter-spacing:-1.4px;margin:20px auto}.contact em{color:#dfc4f6}.contact p{color:#e4d9ed;font-size:15px}.contact .button{margin-top:25px;background:#eee5fa;border-color:#eee5fa;color:#45255e}.contact .button:hover{background:white}.contact-details{font-size:14px;margin-top:20px}.contact-note{font-size:12px!important;margin-top:12px}.contact:after{display:none}footer{padding:32px max(5%,calc((100vw - 1120px)/2));border-top:1px solid #e5ddeb;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer .brand{font-size:25px}footer>p,footer>span{font-size:12px}footer .admin-link{font-size:13px;color:#593478;text-decoration:underline}dialog{border-radius:15px;background:white;max-width:min(920px,94vw);box-shadow:0 30px 100px #27123560}dialog::backdrop{background:#241333b5;backdrop-filter:blur(9px)}#lightbox>img{background:#f3eefa;max-height:65vh;object-fit:contain}.close{background:white;color:#593478;border-radius:50%;box-shadow:0 2px 15px #30203d20}.lightbox-caption{padding:24px;gap:20px}.lightbox-caption h3{font:500 26px Outfit,sans-serif;letter-spacing:-.5px}.gallery-controls button{border-radius:50%;background:#eee5fa;border:0;color:#593478}.recipe-detail h3{font:500 23px Outfit,sans-serif}.recipe-detail p{font-size:16px;line-height:1.8}.recipe-detail{padding:0 24px 26px}#contact-dialog h2{font-size:38px}.hero-copy{animation:soft-in .5s ease}@keyframes soft-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}button:focus-visible,a:focus-visible{outline:3px solid #a57bc5;outline-offset:4px}
@media(max-width:1245px){.hero{width:90%}.creations:before{inset:0 -5.56%}}
@media(max-width:1099px){.flavour-grid,.cake-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:0 30px;padding:30px 30px 0}.hero-bottom{margin:0 -30px;padding:15px 30px}.hero-photo .image-button{height:310px}.hero-copy>p{font-size:14px}.hero-copy h1{font-size:51px}.brand{font-size:26px}header nav{gap:20px}.section{padding:50px 0}}
@media(max-width:760px){header{height:auto;min-height:76px;padding:17px 5%;gap:12px;flex-wrap:wrap}header nav{display:flex;order:3;width:100%;justify-content:center;padding-top:12px;border-top:1px solid #e5ddeb;font-size:13px;gap:30px}.brand{font-size:25px}.brand span{font-size:8px;letter-spacing:1.4px}.nav-cta{font-size:11px;padding:9px 12px;max-width:none;border-radius:7px}.nav-cta span{display:none}.hero{margin-top:20px;border-radius:16px;padding:25px 24px 0;grid-template-columns:1fr 150px;gap:0 20px}.hero-copy{padding:0 0 24px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.7px}.hero-copy h1{font-size:39px;letter-spacing:-1.2px;margin:13px 0}.hero-copy>p{font-size:13px;line-height:1.6}.hero-photo{margin-bottom:25px}.hero-photo .image-button{height:205px;border-radius:90px 90px 10px 10px}.round-stamp{width:60px;height:60px;font-size:5px;right:-8px;top:-12px}.round-stamp span{font-size:17px}.photo-label{font-size:18px;bottom:16px;left:-12px;padding:8px 13px}.hero .button{font-size:12px;padding:12px 14px;gap:13px}.hero-note{font-size:9px;letter-spacing:0}.hero-bottom{font-size:9px;letter-spacing:.3px;padding:12px 24px;margin:0 -24px;display:block}.hero-bottom span{margin-left:5px}.section{width:90%;padding:42px 0}.section-heading{display:block;margin-bottom:24px}.section-heading>p,.section-heading>div:nth-child(2){max-width:none;font-size:14px;margin-top:16px}.eyebrow{font-size:10px;letter-spacing:1.2px}h2{font-size:35px;letter-spacing:-1px}.flavour-grid,.cake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.flavour .image-button,.cake .image-button{height:auto;aspect-ratio:4/3;border-radius:0}.flavour h3,.cake h3{font-size:18px;line-height:1.25;letter-spacing:-.3px}.flavour h3{margin:12px 11px 7px}.flavour p,.cake>p{font-size:13px;line-height:1.55;margin:0 11px 13px}.flavour .tag{font-size:9px;margin:0 11px 13px;letter-spacing:.6px}.cake-category{font-size:9px;letter-spacing:.4px;margin:11px 11px 6px}.cake-head{margin:0 11px 8px;gap:7px;display:flex;flex-direction:column;align-items:flex-start}.cake .price{font-size:12px;max-width:none;padding:2px 8px}.zoom{width:27px;height:27px;font-size:16px;right:7px;bottom:7px}.fine,.small-note{font-size:12px}.price-note{padding:15px;gap:12px;margin-top:23px}.price-note p{font-size:12px}.price-note>span{font-size:24px}.process>div:first-child{display:block}.process>div:first-child>p{font-size:14px;margin-top:18px}.steps{grid-template-columns:1fr;gap:12px;margin-top:23px}.steps article,.steps article:first-child{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:19px}.steps article>span{width:34px;height:34px;margin:0;font-size:12px}.steps h3{font-size:19px;margin-bottom:8px}.steps p{font-size:14px}.contact{padding:35px 22px;margin-bottom:32px;border-radius:15px}.contact h2{font-size:35px;letter-spacing:-1px}.contact p{font-size:14px}.contact .eyebrow{font-size:9px}.contact .button{font-size:13px}.contact-details{display:flex;flex-direction:column;gap:8px}.contact-details a{margin:0}.contact-note{font-size:11px!important}footer{padding:27px 5%;gap:20px}footer>p{display:none}footer .brand{font-size:24px}footer>span{font-size:11px}footer .admin-link{font-size:12px}.lightbox-caption{display:block;padding:20px}.lightbox-caption h3{font-size:23px}.lightbox-caption .button{margin-top:18px;width:100%}.recipe-detail{padding:0 20px 24px}#contact-dialog{padding:35px 24px}#contact-dialog h2{font-size:34px}}
@media(max-width:480px){.hero{grid-template-columns:1fr;gap:0;padding:24px 20px 0}.hero-copy{display:grid;grid-template-columns:1fr;position:relative;z-index:1}.hero-copy h1{font-size:43px;margin-right:110px}.hero-copy>p{font-size:14px;margin-bottom:17px}.hero-copy .button{justify-self:start}.hero-photo{position:absolute;right:20px;top:66px;width:100px;margin:0}.hero-photo .image-button{height:128px;transform:rotate(6deg);border-radius:60px 60px 8px 8px}.hero-photo .zoom{width:23px;height:23px;font-size:14px;bottom:7px;right:7px}.photo-label,.round-stamp{display:none}.hero-note{font-size:10px}.hero-bottom{margin:0 -20px;padding:12px 20px}.hero-copy .eyebrow{font-size:9px;margin-bottom:0}.flavour h3,.cake h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:480px){.hero-photo{z-index:2}}
