:root{--nav-height:90px}html{scroll-padding-top:calc(var(--nav-height) + 28px)}body>header{position:sticky;top:12px;z-index:30;width:calc(100% - 40px);max-width:1280px;margin:12px auto 0;height:auto;min-height:82px;padding:15px 26px;border:1px solid #eee4ec;border-radius:40px;background:#fffcfaf2;backdrop-filter:blur(14px);box-shadow:0 8px 28px #4d315b12;gap:22px}header .brand{font-family:Fraunces,Georgia,serif;font-size:32px;letter-spacing:-1px;white-space:nowrap}header .brand span{font-family:Outfit,sans-serif;font-size:9px;letter-spacing:1.3px;margin-top:3px}header nav{display:flex;gap:3px;font-size:12px;align-items:center}header nav a{padding:9px 12px;border-radius:22px;white-space:nowrap;transition:background .2s,color .2s}header nav a:hover,header nav a[aria-current]{background:#593478;color:white}.nav-cta{display:none}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:12px 18px;background:#593478;color:white;border-radius:8px}.skip-link:focus{top:15px}
.hero{position:relative;display:block;isolation:isolate;max-width:1120px;width:90%;padding:0;min-height:530px;margin-top:25px;background:#fff4e6;border-radius:22px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:0}.hero-photo .image-button{height:100%;width:100%;transform:none;border-radius:0;box-shadow:none;aspect-ratio:auto}.hero-photo img{object-fit:cover;object-position:center}.hero-photo .image-button:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff7eec7 0%,#fff7ee30 42%,transparent 60%);pointer-events:none}.hero-photo .image-button:hover img{transform:scale(1.02)}.hero-photo .zoom{right:18px;bottom:18px}.photo-label,.round-stamp{display:none}.hero-copy{position:relative;z-index:2;width:45%;padding:48px 0 54px 42px;display:block;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{font-size:10px;letter-spacing:1px}.hero-copy h1{font-size:clamp(44px,4.5vw,62px);line-height:1.08;margin:20px 0;letter-spacing:-1.5px}.hero-copy h1 em{color:#975575}.hero-copy>p{font-size:14px;line-height:1.7;color:#634f5d;margin:0 0 22px;max-width:340px}.hero-copy .button{background:#9c4575;border-color:#9c4575;font-size:13px;border-radius:25px}.hero-copy .button:hover{background:#78325a}.hero-note{font-size:10px;color:#775c69}.hero-bottom{position:relative;z-index:2;margin:0;padding:13px 28px;background:#593478ed;color:#f3e8fa;font-size:10px;letter-spacing:.7px;display:flex;justify-content:space-between}
.center-heading{text-align:center;max-width:830px;margin:0 auto 30px}.center-heading .eyebrow{justify-content:center}.center-heading h2{margin:12px 0 15px}.center-heading p{font-size:16px;line-height:1.7}.center-heading:after,.process>div:first-child:after{content:'';display:block;width:110px;height:4px;border-radius:3px;background:linear-gradient(90deg,#ead8ec,#b55b88,#d5b572);margin:25px auto 0}.pricing{padding-top:35px;padding-bottom:60px}.price-list{margin:0;padding:12px 32px;border:1px solid #ede2ea;border-top:5px solid #ad668f;border-radius:20px;background:#fffdfb;box-shadow:0 14px 40px #5a35550a}.price-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 0;border-bottom:1px dashed #e9dce6}.price-row:last-child{border-bottom:0}.price-row dt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.price-row dt strong{font-size:17px;font-weight:500;overflow-wrap:anywhere}.price-row dt span{font-size:14px;color:#7e6a78}.price-row dd{margin:0;background:#a14577;color:white;border-radius:24px;min-width:92px;padding:9px 16px;text-align:center;font-size:16px;font-weight:500;flex-shrink:0;max-width:40%;overflow-wrap:anywhere}.pricing-note{text-align:center;font-size:13px;margin:19px auto 0;max-width:750px;color:#806b7a}.process>div:first-child{display:block;text-align:center;max-width:830px;margin:auto}.process>div:first-child .eyebrow{justify-content:center}.process>div:first-child>p{margin-top:15px;padding:0;font-size:16px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:35px}.steps article,.steps article:first-child{position:relative;display:block;padding:28px 22px;border-radius:18px;border:1px solid #eee3ed;background:#fffaf8;overflow:hidden;box-shadow:0 10px 28px #5a355507}.steps article>span{position:absolute;right:12px;top:7px;width:auto;height:auto;display:block;border-radius:0;background:transparent;color:#a762871b;font:500 70px Fraunces,Georgia,serif;line-height:1;margin:0}.steps article>div{position:relative;z-index:1}.steps h3{font:500 25px/1.18 Fraunces,Georgia,serif;letter-spacing:-.6px;max-width:190px;margin:10px 0 15px}.steps p{font-size:14px;line-height:1.75}.contact{margin-top:0}
@media(max-width:1000px){body>header{padding:13px 20px;gap:16px}header .brand{font-size:27px}header nav a{padding:8px 10px;font-size:12px}.hero{min-height:480px}.hero-copy{padding:36px 0 40px 30px;width:46%}.hero-copy h1{font-size:48px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps h3{max-width:none}.steps article>span{font-size:65px}}
@media(max-width:760px){body>header{top:0;width:100%;margin:0;border-radius:0 0 18px 18px;min-height:0;padding:11px 4% 9px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}header .brand{font-size:25px;text-align:center}header .brand span{display:none}header nav{order:2;width:100%;border:0;padding:0;gap:3px;justify-content:center;overflow-x:auto;scrollbar-width:none}header nav a{font-size:12px;padding:7px 10px;flex-shrink:0}.hero{display:flex;flex-direction:column;min-height:0;padding:0;margin-top:18px;border-radius:16px}.hero-photo{position:relative;order:0;inset:auto;width:100%;height:240px;margin:0;z-index:0}.hero-photo .image-button{height:240px;transform:none;aspect-ratio:auto;border-radius:0}.hero-photo img{object-position:76% 42%}.hero-photo .image-button:after{display:none}.hero-photo .zoom{right:12px;bottom:12px;width:30px;height:30px;font-size:18px}.hero-copy{order:1;width:100%;padding:25px 25px 28px;pointer-events:auto;background:#fff6ef}.hero-copy h1{font-size:42px;margin:13px 0 17px;white-space:normal;letter-spacing:-1.1px}.hero-copy h1 em{display:inline}.hero-copy>p{font-size:14px;max-width:none;margin-bottom:20px}.hero-copy .eyebrow{font-size:9px}.hero-copy .button{font-size:13px;padding:12px 18px}.hero-note{font-size:10px;margin-top:17px}.hero-bottom{order:2;padding:12px 22px;display:block;margin:0;font-size:9px;line-height:1.8}.hero-bottom span{margin-left:4px}.pricing{padding:25px 0 45px}.center-heading{margin-bottom:25px}.center-heading h2{font-size:34px}.center-heading p{font-size:14px}.price-list{padding:5px 18px;border-radius:14px;border-top-width:4px}.price-row{padding:18px 0;gap:12px;align-items:center}.price-row dt{display:block}.price-row dt strong{font-size:15px;line-height:1.4;display:block}.price-row dt span{font-size:12px;line-height:1.5;display:block;margin-top:4px}.price-row dd{font-size:13px;padding:7px 11px;min-width:75px;max-width:42%}.pricing-note{font-size:12px;margin-top:16px}.process>div:first-child>p{font-size:14px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.steps article,.steps article:first-child{display:block;padding:24px 16px 20px;border-radius:14px}.steps article>span{font-size:55px;right:10px;top:5px;display:block;width:auto;height:auto}.steps h3{font-size:21px;margin:8px 0 12px;letter-spacing:-.4px}.steps p{font-size:13px;line-height:1.65}}
@media(max-width:380px){header nav a{padding:7px 7px;font-size:11px}.hero-photo,.hero-photo .image-button{height:210px}.hero-copy{padding:23px 21px}.hero-copy h1{font-size:39px}.steps article,.steps article:first-child{padding:23px 13px 17px}.steps h3{font-size:19px}.steps p{font-size:12px}}

/* Soft integration of the cake photography into the page */
.image-button{border:1px solid rgba(128,36,66,.20);box-shadow:0 14px 34px rgba(92,38,58,.18)}
.image-button img{filter:saturate(.94) contrast(.97)}
.flavour .image-button,.cake .image-button{box-shadow:0 12px 30px rgba(92,38,58,.16),inset 0 0 0 9px rgba(255,250,249,.34)}
#lightbox>img{box-shadow:inset 0 0 42px rgba(65,33,44,.18)}

/* Feathered image edges: the photos fade softly into the surrounding surface. */
.flavour .image-button,.cake .image-button{
  -webkit-mask-image:radial-gradient(ellipse at center,#000 55%,rgba(0,0,0,.92) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse at center,#000 55%,rgba(0,0,0,.92) 72%,transparent 100%);
}
.flavour .image-button::after,.cake .image-button::after{
  content:"";position:absolute;inset:-2px;pointer-events:none;filter:blur(9px);
}
.flavour .image-button::after{background:radial-gradient(ellipse at center,transparent 48%,rgba(255,250,249,.96) 100%)}
.cake .image-button::after{background:radial-gradient(ellipse at center,transparent 48%,rgba(242,227,231,.96) 100%)}

/* Strong feather on the actual photo edges (works even when the card has its own styling). */
.flavour .image-button img,.cake .image-button img{
  -webkit-mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.86) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.86) 72%,transparent 100%);
}

/* Soft cream palette only: layout, content and interactions remain unchanged. */
body{background:#fbf7f1}
body>header{background:#fffaf4f2}
.hero{background:#f6ecdf}
.hero-photo .image-button:after{background:linear-gradient(90deg,#f6ecdfd9 0%,#f6ecdf45 42%,transparent 60%)}
.hero-copy{background:transparent}
.flavours,footer{background:#fbf7f1}
@media(max-width:760px){.hero-copy{background:#fbf0e5}}

/* Keep the same cream treatment on narrow screens and avoid a white mobile hero. */
@media(max-width:760px){
  html,body{background:#fbf7f1}
  body>header{background:#fffaf4f2}
  .hero{background:#f6ecdf}
  .hero-photo .image-button:after{display:block;background:linear-gradient(180deg,#f6ecdf5c 0%,#f6ecdf1f 62%,transparent 100%)}
  .hero-copy{background:#fbf0e5}
  .flavours,footer{background:#fbf7f1}
  .flavour,.cake,.price-list,.steps article{background:#fffaf5}
}
