.ec-ourcakes .ec-celebration-hero{padding-top:calc(75 * var(--cl));min-height:calc(418 * var(--cl));padding-bottom:calc(25 * var(--cl))}.ec-ourcakes .ec-celebration-hero-copy{width:45%}.ec-ourcakes h1{font-size:calc(52 * var(--cl));line-height:1.02}.ec-ourcakes .ec-celebration-hero-photo{left:36%}.ec-ourcakes .ec-celebration-hero-photo img{object-position:74% center}.ec-ourcakes .ec-celebration-lead{line-height:1.4;max-width:calc(391 * var(--cl));margin-top:calc(12 * var(--cl))!important}.ec-ourcakes-title-line{display:flex;align-items:center;gap:calc(8 * var(--cl))}.ec-ourcakes h1 .ec-ourcakes-title-line em{display:inline;min-width:0}.ec-ourcakes-title-heart{display:inline-flex;width:calc(37 * var(--cl));flex-shrink:0;color:#df5d7d;transform:rotate(9deg);align-self:center}.ec-ourcakes-title-heart svg{width:100%;height:auto}.ec-ourcakes .ec-celebration-benefits{width:calc(495 * var(--cl));margin-top:calc(22 * var(--cl));left:calc(-30 * var(--cl))}.ec-ourcakes .ec-celebration-benefit+.ec-celebration-benefit{border-left:1px solid #edddd0}.ec-ourcakes .ec-celebration-icon{width:calc(50 * var(--cl));height:calc(50 * var(--cl));margin-bottom:calc(7 * var(--cl))}.ec-ourcakes .ec-celebration-benefit h3{font-size:calc(13 * var(--cl))}.ec-ourcakes .ec-celebration-benefit p{font-size:calc(10 * var(--cl))}
.ec-ourcakes-collections{padding:calc(18 * var(--cl)) calc(28 * var(--cl)) calc(24 * var(--cl));text-align:center}.ec-ourcakes-collections h2{font-size:calc(36 * var(--cl))}.ec-ourcakes .ec-celebration-intro{margin:calc(8 * var(--cl)) 0 calc(17 * var(--cl))!important;font-size:calc(14 * var(--cl))}.ec-ourcakes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(17 * var(--cl)) calc(22 * var(--cl));align-items:stretch}.ec-ourcakes-card.ecx-card{display:flex;flex-direction:column;background:#fffaf6;box-shadow:0 3px 17px #df69860a;border:0;border-radius:calc(12 * var(--cl));padding:0;overflow:hidden;text-align:left}.ec-ourcakes-photo.ecx-card-photo{width:100%;display:block;aspect-ratio:1.5;overflow:hidden;border-radius:calc(10 * var(--cl)) calc(10 * var(--cl)) 0 0;margin:0}.ec-ourcakes-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.ec-ourcakes-card .ecx-card-copy{padding:calc(11 * var(--cl)) calc(17 * var(--cl)) calc(11 * var(--cl));display:flex;flex-direction:column;align-items:flex-start;flex:1;min-height:calc(155 * var(--cl))}.ec-ourcakes-card h3{font-size:calc(23 * var(--cl));line-height:.98;letter-spacing:-.025em}.ec-ourcakes-card p{font-size:calc(14 * var(--cl));line-height:1.35;margin:calc(8 * var(--cl)) 0 calc(19 * var(--cl))}.ec-ourcakes-button{display:inline-flex;align-items:center;justify-content:center;gap:calc(12 * var(--cl));font:600 calc(15.5 * var(--cl))/1.2 EventfulSerif,Georgia,serif;background:#fde8e5;color:#8e1725;border:1px solid transparent;border-radius:50px;padding:calc(11 * var(--cl)) calc(22 * var(--cl));transition:background .2s,color .2s,border-color .2s;max-width:100%;text-align:center}.ec-ourcakes-card .ec-ourcakes-button{margin-top:auto}.ec-ourcakes-button>span{font:400 1.25em/1 Arial,sans-serif;color:#d2425c;flex-shrink:0}.ec-ourcakes-button:hover{background:#005240;color:#fff;border-color:#005240}.ec-ourcakes-button:hover>span{color:#e6b568}.ec-ourcakes-button:focus-visible{outline:2px solid #005240;outline-offset:3px}.ec-ourcakes-card.is-custom{background:#fff0ee}.ec-ourcakes-illustration{color:#b52646;width:55%;height:calc(135 * var(--cl));margin:calc(10 * var(--cl)) auto 0;display:grid;place-items:center}.ec-ourcakes-illustration svg,.ec-ourcakes-illustration img{width:100%;height:100%;object-fit:contain}.ec-ourcakes-card.is-custom h3{font-size:calc(28 * var(--cl));line-height:1.02;color:#a72137}.ec-ourcakes-card.is-custom .ecx-card-copy{padding:calc(8 * var(--cl)) calc(22 * var(--cl)) calc(18 * var(--cl))}.ec-ourcakes-card.is-custom p{font-size:calc(14 * var(--cl));margin-top:calc(8 * var(--cl))}.ec-ourcakes-card.is-custom .ec-ourcakes-button{background:transparent;border-color:#d97988;width:100%;padding:calc(13 * var(--cl)) calc(18 * var(--cl))}.ec-ourcakes-card.is-custom .ec-ourcakes-button:hover{background:#005240;border-color:#005240}
.ec-ourcakes-closing{position:relative;isolation:isolate;display:grid;grid-template-columns:32% minmax(0,1fr) 31%;align-items:center;gap:calc(27 * var(--cl));padding:calc(22 * var(--cl)) calc(28 * var(--cl));min-height:calc(185 * var(--cl));background:#fdebe8;border-radius:calc(18 * var(--cl)) calc(18 * var(--cl)) 0 0}.ec-ourcakes.has-ornaments .ec-ourcakes-closing{background-image:var(--ourcakes-floral-left),var(--ourcakes-floral-right);background-repeat:no-repeat;background-position:left bottom,right bottom;background-size:calc(115 * var(--cl)) auto,calc(100 * var(--cl)) auto}.ec-ourcakes-closing>.ecx-script{font:400 calc(42 * var(--cl))/1.05 EventfulScript,cursive;color:#b32442;transform:rotate(-5deg);text-align:center;margin-left:calc(35 * var(--cl))}.ec-ourcakes-closing>.ecx-script span{display:inline-flex;width:calc(30 * var(--cl));vertical-align:middle}.ec-ourcakes-closing>.ecx-script svg{width:100%;height:auto}.ec-ourcakes-closing-copy>p{font-size:calc(13 * var(--cl));line-height:1.45}.ec-ourcakes-closing .ec-celebration-contact{padding:calc(7 * var(--cl)) calc(13 * var(--cl));gap:calc(12 * var(--cl));border:1px solid #f5ded8}.ec-ourcakes-closing .ec-celebration-contact-icon{width:calc(48 * var(--cl));height:calc(48 * var(--cl))}.ec-ourcakes-closing-photo.ecx-story-picture{position:absolute;inset:0;margin:0;border-radius:inherit;z-index:-1;opacity:.2;overflow:hidden}.ec-ourcakes-closing-photo img{width:100%;height:100%;object-fit:cover}
.ec-ourcakes-dialog.popup{width:min(850px,94vw);padding:30px;max-height:90dvh;overflow:auto;font-size:14px}.ec-ourcakes-dialog h2{font:600 33px/1.1 EventfulSerif,Georgia,serif;margin:0 30px 10px 0}.ec-ourcakes-dialog>p{margin-bottom:20px}.ec-ourcakes-dialog .ecx-enquiry-layout{grid-template-columns:minmax(0,1fr)}.ec-ourcakes-dialog .ecx-enquiry-note{display:none}.ec-ourcakes-dialog .ecx-form{padding:0}.ec-ourcakes-dialog input,.ec-ourcakes-dialog select,.ec-ourcakes-dialog textarea{font-size:16px;min-height:44px}.ec-ourcakes-dialog .ecx-field{font-size:13px}.ec-ourcakes-dialog .ecx-consent{font-size:12px}.ec-ourcakes-dialog .ecx-button{font-size:15px}
@media(min-width:768px) and (max-width:1023px){.ec-ourcakes-card h3{font-size:23px}.ec-ourcakes-card p{font-size:12px}.ec-ourcakes-card .ecx-card-copy{padding:12px;min-height:180px}.ec-ourcakes-button{font-size:14px;padding:10px 13px;gap:7px}.ec-ourcakes-card.is-custom h3{font-size:24px}.ec-ourcakes-card.is-custom p{font-size:12px}.ec-ourcakes-collections h2{font-size:29px}.ec-ourcakes-closing{grid-template-columns:1fr 1fr}.ec-ourcakes-closing .ec-celebration-contacts{grid-column:1/-1;grid-template-columns:1fr 1fr;max-width:600px;width:100%;margin:auto}.ec-ourcakes-closing-copy>p{font-size:13px}.ec-ourcakes-closing .ec-celebration-contact strong{font-size:14px}.ec-ourcakes-closing .ec-celebration-contact-label{font-size:12px}}
@media(max-width:767px){.ec-ourcakes .ec-celebration-hero{padding:0;min-height:0}.ec-ourcakes .ec-celebration-hero-copy{width:100%;padding:30px 6% 26px}.ec-ourcakes h1{font-size:clamp(40px,10vw,63px);line-height:1.05}.ec-ourcakes-title-line{gap:6px;align-items:center}.ec-ourcakes-title-heart{width:27px}.ec-ourcakes .ec-celebration-hero-photo.ecx-hero-picture{inset:auto;aspect-ratio:1.5}.ec-ourcakes .ec-celebration-hero-photo img{object-position:center}.ec-ourcakes .ec-celebration-lead{max-width:none;font-size:14px;line-height:1.65;margin-top:16px!important}.ec-ourcakes .ec-celebration-benefits{width:100%;left:auto;margin:0;padding:26px 6%;gap:25px}.ec-ourcakes .ec-celebration-benefit+.ec-celebration-benefit{border:0}.ec-ourcakes .ec-celebration-icon{width:60px;height:60px;margin:0}.ec-ourcakes .ec-celebration-benefit h3{font-size:18px}.ec-ourcakes .ec-celebration-benefit p{font-size:13px}.ec-ourcakes-collections{padding:25px 5% 28px}.ec-ourcakes-collections h2{font-size:30px}.ec-ourcakes .ec-celebration-intro{font-size:13px;line-height:1.6;margin:12px 0 24px!important}.ec-ourcakes-grid{grid-template-columns:minmax(0,1fr);gap:22px}.ec-ourcakes-card.ecx-card{border-radius:12px}.ec-ourcakes-photo.ecx-card-photo{aspect-ratio:1.3;border-radius:12px 12px 0 0}.ec-ourcakes-card .ecx-card-copy{padding:18px;min-height:0}.ec-ourcakes-card h3{font-size:26px;line-height:1.05}.ec-ourcakes-card h3 br{display:none}.ec-ourcakes-card p{font-size:14px;line-height:1.55;margin:10px 0 18px}.ec-ourcakes-button{font-size:17px;padding:12px 21px;gap:12px;min-height:44px}.ec-ourcakes-illustration{height:140px;width:175px;margin:15px auto 0}.ec-ourcakes-card.is-custom h3{font-size:30px;line-height:1.07}.ec-ourcakes-card.is-custom p{font-size:14px;line-height:1.6}.ec-ourcakes-card.is-custom .ecx-card-copy{padding:16px 22px 24px}.ec-ourcakes-card.is-custom .ec-ourcakes-button{padding:13px 20px}.ec-ourcakes-closing{grid-template-columns:minmax(0,1fr);padding:30px 6%;gap:23px;border-radius:15px 15px 0 0;min-height:0}.ec-ourcakes.has-ornaments .ec-ourcakes-closing{background-size:62px auto,62px auto}.ec-ourcakes-closing>.ecx-script{font-size:43px;margin:0;line-height:1.05}.ec-ourcakes-closing>.ecx-script span{width:30px}.ec-ourcakes-closing-copy>p{font-size:14px;line-height:1.6;text-align:center}.ec-ourcakes-closing .ec-celebration-contact{padding:9px 13px;gap:12px;border-radius:10px}.ec-ourcakes-closing .ec-celebration-contact-icon{width:44px;height:44px}.ec-ourcakes-dialog.popup{padding:26px 18px}.ec-ourcakes-dialog h2{font-size:29px}.ec-ourcakes-dialog .ecx-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:560px) and (max-width:767px){.ec-ourcakes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ec-ourcakes-card .ecx-card-copy{padding:16px}.ec-ourcakes-card h3{font-size:25px}.ec-ourcakes-card p{font-size:13px}.ec-ourcakes-button{font-size:15px;padding:11px 13px;gap:7px}.ec-ourcakes-card.is-custom h3{font-size:27px}}

.ec-ourcakes .ec-celebration-hero.is-benefits-only{padding:25px 5%;min-height:0}.ec-ourcakes .is-benefits-only .ec-celebration-benefits{width:100%;left:auto;margin:0}

/* v3.4.36: let the final contact section reach both edges without viewport overflow.
   Earlier sections keep their existing centered 1440px content layout. */
main.ecx-page.ec-ourcakes{width:100%;max-width:none;margin-inline:0}
.ec-ourcakes>section:not(.ec-ourcakes-closing){width:100%;max-width:1440px;margin-inline:auto}
.ec-ourcakes>.ec-ourcakes-closing{width:100%;max-width:none;margin-inline:0}
