/* Birthday reference, isolated from Home, logo and shared footer. */
.ec-birthday{--bu:calc(100vw / 731);background:#fff5ed;color:#174b38;font-family:EventfulMenu,Arial,sans-serif;font-size:calc(11.5 * var(--bu));line-height:1.45;width:100%;max-width:none;display:flow-root;overflow-wrap:normal}
.ec-birthday h1,.ec-birthday h2{font-family:EventfulSerif,Georgia,serif;color:#174b38;font-weight:600;letter-spacing:calc(-1.1 * var(--bu));line-height:1.1;margin:0}.ec-birthday h1{font-size:calc(52 * var(--bu));white-space:nowrap}.ec-birthday h2{font-size:calc(30 * var(--bu))}.ec-birthday em{font-style:normal;color:#df6d87}.ec-birthday p{margin:0}.ec-birthday .ecxa-sprig{display:inline-block;width:calc(36 * var(--bu));height:calc(27 * var(--bu));color:#b6873e;vertical-align:middle;object-fit:contain}
.ec-bday-hero{position:relative;isolation:isolate;min-height:calc(384 * var(--bu));padding:calc(60 * var(--bu)) calc(40 * var(--bu)) calc(15 * var(--bu));background:#fff5ed}
.ec-bday-hero-photo.ecx-hero-picture{position:absolute;inset:0;margin:0;border-radius:0;aspect-ratio:auto;z-index:-2;overflow:hidden}.ec-bday-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.ec-bday-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff5ed 0%,#fff5edf0 34%,#fff5ed44 49%,transparent 63%);pointer-events:none}
.ec-bday-hero-copy{position:relative;width:53%;min-width:0}.ec-bday-script.ecx-script{font-family:EventfulScript,cursive;font-size:calc(28 * var(--bu));color:#4e4834;line-height:1.15;white-space:nowrap;margin:calc(2 * var(--bu)) 0 calc(8 * var(--bu))}.ec-bday-lead{font-size:calc(11.5 * var(--bu));max-width:calc(255 * var(--bu));line-height:1.4}.ec-birthday .ecx-button{background:#004b36;color:#fff8ed;border-radius:100px;border:0;font-size:calc(11 * var(--bu));min-height:0;padding:calc(9 * var(--bu)) calc(17 * var(--bu));margin-top:calc(12 * var(--bu));line-height:1.3;gap:10px}.ec-bday-hero-copy .ecx-button:after{content:'→';font-size:1.4em;line-height:1}.ec-birthday .ecx-button:hover{background:#d96984}
.ec-bday-benefits{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr 1fr;width:calc(370 * var(--bu));margin-top:calc(20 * var(--bu));gap:0;position:relative}.ec-bday-icon-item.ecx-card{padding:0 calc(5 * var(--bu));border:0;box-shadow:none;background:transparent;border-radius:0;text-align:center;overflow:visible;min-width:0}.ec-bday-icon-item+.ec-bday-icon-item{border-left:1px solid #efdbc6}.ec-bday-icon{width:calc(45 * var(--bu));height:calc(45 * var(--bu));border:1px solid #c8a266;border-radius:50%;display:grid;place-items:center;color:#947044;margin:0 auto calc(7 * var(--bu))}.ec-bday-icon svg,.ec-bday-icon img{width:66%;height:66%;object-fit:contain}.ec-bday-benefits .ec-bday-icon{color:#174b38}.ec-birthday .ec-bday-icon-item h3{font-family:EventfulMenu,Arial,sans-serif;font-size:calc(9 * var(--bu));line-height:1.25;font-weight:500;margin:0;color:#174b38;letter-spacing:0}.ec-bday-icon-item p{font-size:calc(9 * var(--bu));margin-top:5px}
.ec-bday-themes{padding:calc(14 * var(--bu)) calc(24 * var(--bu)) calc(22 * var(--bu));background:#fdebe5;text-align:center}.ec-bday-intro{font-size:calc(9.7 * var(--bu));line-height:1.5;margin:calc(5 * var(--bu)) 0 calc(17 * var(--bu))!important}.ec-bday-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0}.ec-bday-theme-grid .ec-bday-icon{width:calc(49 * var(--bu));height:calc(49 * var(--bu));border-color:#e8c8b0;background:#fce5de}.ec-bday-theme-grid .ec-bday-icon-item h3{font-size:calc(9.5 * var(--bu));line-height:1.35}
.ec-bday-collection{text-align:center;padding:calc(13 * var(--bu)) calc(24 * var(--bu)) calc(19 * var(--bu))}.ec-bday-collection .ec-bday-intro{margin-bottom:calc(10 * var(--bu))!important}.ec-bday-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(10 * var(--bu)) calc(17 * var(--bu))}.ec-bday-cake.ecx-card{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;min-width:0}.ec-bday-cake-photo.ecx-card-photo{width:100%;aspect-ratio:1.09;border-radius:calc(4 * var(--bu));overflow:hidden}.ec-bday-cake-photo img{display:block;width:100%;height:100%;object-fit:cover}.ec-birthday .ec-bday-cake h3{font-family:EventfulMenu,Arial,sans-serif;font-size:calc(10 * var(--bu));line-height:1.25;font-weight:600;margin:calc(6 * var(--bu)) 0 0;color:#174b38}.ec-bday-cake p{font-size:calc(10 * var(--bu));margin-top:5px}
.ec-bday-custom{position:relative;isolation:isolate;min-height:calc(215 * var(--bu));background:#fdebe5;padding:calc(12 * var(--bu)) calc(50 * var(--bu)) calc(25 * var(--bu));display:flex;align-items:center}.ec-bday-custom-copy{width:70%;position:relative}.ec-bday-custom-copy>p{font-size:calc(10.5 * var(--bu));margin:calc(6 * var(--bu)) 0 calc(19 * var(--bu))}.ec-bday-custom-photo.ecx-story-picture{position:absolute;inset:0 0 0 60%;border-radius:0;margin:0;aspect-ratio:auto;z-index:-2;overflow:hidden}.ec-bday-custom-photo img{width:100%;height:100%;object-fit:cover;object-position:right center}.ec-bday-custom:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fdebe5 0%,#fdebe5 61%,#fdebe577 73%,transparent 86%);pointer-events:none}.ec-bday-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:calc(11 * var(--bu));width:100%}.ec-bday-steps .ec-bday-icon-item{border:0}.ec-bday-steps .ec-bday-icon{background:#fce5de;border-color:#efcdbd;width:calc(47 * var(--bu));height:calc(47 * var(--bu))}.ec-bday-steps .ec-bday-icon-item h3{font-size:calc(8.9 * var(--bu));line-height:1.4;font-weight:400}
.ec-bday-ornaments .ec-bday-hero-copy:before,.ec-bday-ornaments .ec-bday-custom-copy:before{content:'';position:absolute;width:calc(36 * var(--bu));height:calc(120 * var(--bu));left:calc(-45 * var(--bu));top:0;background:var(--birthday-botanical,url(images/about-botanical.svg)) left center/contain no-repeat;opacity:.8;pointer-events:none}
@media(max-width:767px){
 .ec-birthday{--bu:1px;font-size:14px}.ec-birthday h1{font-size:clamp(40px,10.8vw,68px);white-space:normal;letter-spacing:-1px}.ec-birthday h2{font-size:clamp(30px,7.5vw,42px);letter-spacing:-.8px}.ec-birthday .ecxa-sprig{width:32px;height:26px}.ec-bday-hero{padding:0;min-height:0;display:flex;flex-direction:column}.ec-bday-hero-copy{width:100%;padding:30px 6% 25px;order:0}.ec-bday-script.ecx-script{font-size:clamp(23px,5.4vw,34px);white-space:normal;margin:8px 0 13px}.ec-bday-lead{max-width:none;font-size:14px;line-height:1.6}.ec-bday-lead br{display:none}.ec-birthday .ecx-button{font-size:14px;min-height:44px;padding:12px 20px;margin-top:16px}.ec-bday-hero-photo.ecx-hero-picture{position:relative;inset:auto;order:1;aspect-ratio:1.16;width:92%;margin:0 auto;border-radius:12px;z-index:0}.ec-bday-hero-photo img{object-position:right center;transform-origin:right center}.ec-bday-hero:after{display:none}.ec-bday-benefits{order:2;width:100%;padding:22px 5%;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 0}.ec-bday-icon{width:54px;height:54px;margin-bottom:8px}.ec-birthday .ec-bday-icon-item h3{font-size:11px;line-height:1.4}.ec-bday-benefits .ec-bday-icon-item:nth-child(4){border-left:0}.ec-bday-themes{padding:25px 5% 28px}.ec-bday-intro{font-size:13px;margin:10px 0 22px!important}.ec-bday-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 0}.ec-bday-theme-grid .ec-bday-icon{width:55px;height:55px}.ec-bday-theme-grid .ec-bday-icon-item:nth-child(3n+1){border-left:0}.ec-bday-theme-grid .ec-bday-icon-item:last-child{grid-column:2}.ec-bday-collection{padding:27px 5%}.ec-bday-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.ec-bday-collection .ec-bday-intro{margin-bottom:22px!important}.ec-bday-cake-photo.ecx-card-photo{aspect-ratio:1;border-radius:6px}.ec-birthday .ec-bday-cake h3{font-size:12px;line-height:1.4;margin-top:9px}.ec-bday-custom{padding:27px 5% 0;display:flex;flex-direction:column;min-height:0}.ec-bday-custom-copy{width:100%}.ec-bday-custom-copy>p{font-size:14px;line-height:1.65;margin:12px 0 24px}.ec-bday-custom-copy>p br{display:none}.ec-bday-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 8px;margin-bottom:25px}.ec-bday-steps .ec-bday-icon{width:54px;height:54px}.ec-bday-steps .ec-bday-icon-item h3{font-size:11px}.ec-bday-custom-photo.ecx-story-picture{position:relative;inset:auto;z-index:0;aspect-ratio:1.5;width:111.12%;margin:0 -5.56%}.ec-bday-custom-photo img{object-position:right center}.ec-bday-custom:after,.ec-bday-ornaments .ec-bday-hero-copy:before,.ec-bday-ornaments .ec-bday-custom-copy:before{display:none}
}
@media(min-width:768px) and (max-width:1024px){.ec-bday-lead{font-size:calc(12 * var(--bu))}.ec-bday-intro{font-size:calc(11 * var(--bu))}}
.ec-bday-hero:not(:has(.ec-bday-hero-photo)):after,.ec-bday-custom:not(:has(.ec-bday-custom-photo)):after{display:none}
.ec-bday-custom:not(:has(.ec-bday-custom-photo)) .ec-bday-custom-copy{width:100%}
@media(min-width:768px){.ec-bday-hero-photo.ecx-hero-picture{left:16%}.ec-bday-hero-photo img{object-position:right bottom}}
.ec-bday-reference-photo{position:absolute!important;max-width:none!important;object-fit:fill!important;transform:none!important;animation:none!important}
.ec-bday-cake-photo.ecx-card-photo{position:relative}
.ec-bday-cake-photo:has(.ec-bday-reference-photo){aspect-ratio:158 / 146}
@media(min-width:768px){.ec-bday-lead{max-width:calc(285 * var(--bu));font-size:calc(11 * var(--bu))}.ec-bday-custom-copy>p{font-size:calc(10 * var(--bu))}}
@media(max-width:767px){.ec-bday-custom h2{font-size:clamp(27px,6.4vw,38px)}.ec-bday-custom h2 .ecxa-sprig{width:27px}}

/* v2.3.2: match the reference theme icons, type, lower dividers and row rhythm. */
.ec-bday-art-filters{position:absolute;pointer-events:none}
.ec-bday-theme-grid{--theme-circle:calc(49 * var(--bu))}
.ec-bday-reference-art{display:block;position:relative;overflow:hidden;flex-shrink:0;padding:0;margin:0;line-height:0}
.ec-bday-reference-art img{position:absolute;max-width:none;object-fit:fill;filter:url(#ec-bday-art-only);transform:none!important;animation:none!important}
.ec-birthday .ec-bday-theme-sprig{display:inline-block;width:calc(30 * var(--bu));height:calc(22.6154 * var(--bu));vertical-align:middle;margin-left:calc(2 * var(--bu))}
.ec-bday-theme-grid .ec-bday-icon-item{position:relative;border-left:0!important}
.ec-bday-theme-grid .ec-bday-icon-item+.ec-bday-icon-item:before{content:'';position:absolute;left:0;top:calc(34 * var(--bu));bottom:0;width:1px;background:#edd1bc}
.ec-bday-theme-grid .ec-bday-icon{border-color:#dfbea1}
.ec-birthday .ec-bday-theme-grid .ec-bday-icon-item h3{font-weight:600}
@media(min-width:768px){.ec-bday-themes{padding-top:calc(9 * var(--bu));padding-bottom:calc(14 * var(--bu))}.ec-bday-themes h2{font-size:calc(29 * var(--bu));line-height:1.05}.ec-bday-themes .ec-bday-intro{margin-top:calc(1 * var(--bu))!important;margin-bottom:calc(17 * var(--bu))!important}}
@media(max-width:767px){.ec-bday-theme-grid{--theme-circle:55px}.ec-birthday .ec-bday-theme-sprig{width:30px;height:22.6154px}.ec-bday-theme-grid .ec-bday-icon-item+.ec-bday-icon-item:before{top:35px}.ec-bday-theme-grid .ec-bday-icon-item:nth-child(3n+1):before,.ec-bday-theme-grid .ec-bday-icon-item:last-child:before{display:none}}
@media(min-width:768px){
 .ec-bday-themes{padding-inline:calc(17.6 * var(--bu))}
 .ec-bday-themes h2{font-size:calc(32 * var(--bu));line-height:.95;padding-left:calc(38 * var(--bu))}
 .ec-bday-themes .ec-bday-intro{font-size:calc(8.9 * var(--bu));line-height:1.6;margin-bottom:calc(18 * var(--bu))!important}
 .ec-birthday .ec-bday-theme-grid .ec-bday-icon-item h3{font-size:calc(8.6 * var(--bu));line-height:1.35}
}
@media(min-width:768px){.ec-bday-theme-grid .ec-bday-icon{margin-bottom:calc(4.5 * var(--bu));border-width:calc(.8 * var(--bu))}.ec-bday-themes{padding-bottom:calc(20 * var(--bu))}}

/* v2.3.3: match the separate Customise section reference, including photo and artwork. */
.ec-bday-custom-art{display:block;position:relative;overflow:hidden;flex-shrink:0;margin:0;padding:0;line-height:0}
.ec-bday-custom-art img{position:absolute;max-width:none;object-fit:fill;filter:url(#ec-bday-art-only);transform:none!important;animation:none!important}
.ec-birthday .ec-bday-custom-sprig{display:inline-block;width:calc(31 * var(--bu));height:calc(23.955 * var(--bu));vertical-align:middle;margin-left:calc(2 * var(--bu))}
.ec-bday-custom-copy>.ec-bday-custom-branch{position:absolute;left:calc(-50 * var(--bu));top:calc(5 * var(--bu));width:calc(45.72 * var(--bu));height:calc(107.3 * var(--bu));pointer-events:none}
.ec-bday-custom-copy:has(>.ec-bday-custom-branch):before{display:none}
.ec-bday-steps{--custom-circle:calc(45 * var(--bu))}
.ec-bday-custom-reference-photo{position:absolute!important;max-width:none!important;object-fit:fill!important;transform:none!important;animation:none!important}
.ec-bday-custom-photo:has(.ec-bday-custom-reference-photo){position:relative}
@media(min-width:768px){
 .ec-bday-custom{min-height:calc(208 * var(--bu));align-items:flex-start}
 .ec-bday-custom h2{font-size:calc(30 * var(--bu))}
 .ec-bday-custom-copy>p{font-size:calc(9 * var(--bu));line-height:1.6;margin-top:calc(6 * var(--bu));margin-bottom:calc(17 * var(--bu))}
 .ec-bday-steps{width:calc(480 * var(--bu));margin-left:calc(-25 * var(--bu));gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
 .ec-bday-steps .ec-bday-icon{width:var(--custom-circle);height:var(--custom-circle);margin-bottom:calc(7 * var(--bu))}
 .ec-bday-steps .ec-bday-icon-item{position:relative}
 .ec-bday-steps .ec-bday-icon-item+.ec-bday-icon-item:before{content:'';position:absolute;left:0;top:calc(10 * var(--bu));bottom:0;width:1px;background:#edcebc}
 .ec-birthday .ec-bday-steps .ec-bday-icon-item h3{font-size:calc(8.5 * var(--bu));line-height:1.4;font-weight:500}
 .ec-bday-custom-photo:has(.ec-bday-custom-reference-photo){position:absolute;inset:0 0 auto auto;width:calc(239.2 * var(--bu));height:calc(208 * var(--bu))}
 .ec-bday-custom:has(.ec-bday-custom-reference-photo):after{background:linear-gradient(90deg,#fdebe5 0%,#fdebe5 63%,#fdebe555 70%,transparent 80%)}
}
@media(max-width:767px){
 .ec-bday-steps{--custom-circle:54px}
 .ec-birthday .ec-bday-custom-sprig{width:29px;height:22.41px}
 .ec-bday-custom-copy>.ec-bday-custom-branch{display:none}
 .ec-bday-custom-photo:has(.ec-bday-custom-reference-photo){aspect-ratio:506 / 440}
}
@media(min-width:768px){
 .ec-bday-custom{padding-top:calc(6 * var(--bu))}
 .ec-bday-custom h2{font-size:calc(32 * var(--bu))}
 .ec-bday-custom-copy>p{margin-top:calc(4 * var(--bu));margin-bottom:calc(23 * var(--bu))}
 .ec-bday-steps{--custom-circle:calc(44 * var(--bu))}
 .ec-bday-steps .ec-bday-icon{margin-bottom:calc(5 * var(--bu))}
 .ec-bday-steps .ec-bday-icon-item{padding-inline:0}
 .ec-bday-steps:has(>.ec-bday-icon-item:nth-child(5):last-child){width:calc(484 * var(--bu));grid-template-columns:calc(96 * var(--bu)) calc(96 * var(--bu)) calc(90 * var(--bu)) calc(106 * var(--bu)) calc(96 * var(--bu))}
}

.ec-bday-hero-photo picture{display:contents}
@media(max-width:767px){.ec-bday-hero-photo.ecx-hero-picture:has(source){aspect-ratio:5/6}.ec-bday-hero-photo:has(source) img{object-position:center;transform-origin:center}}

/* v2.6.7: crisp vector icons and consistent left-to-right mobile rows. */
.ec-bday-icon-copy{display:contents}
.ec-bday-theme-grid .ec-bday-icon,.ec-bday-steps .ec-bday-icon{color:#174b38}
@media(max-width:767px){
 .ec-bday-benefits,.ec-bday-theme-grid,.ec-bday-steps{grid-template-columns:minmax(0,1fr);gap:30px;width:100%}
 .ec-bday-benefits{padding:26px 5%}
 .ec-birthday .ec-bday-icon-item.ecx-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:20px;text-align:left;padding:0;border:0;grid-column:auto}
 .ec-birthday .ec-bday-icon-item:before{display:none!important}
 .ec-birthday .ec-bday-icon{width:64px;height:64px;margin:0;background:transparent;border-color:#d9a158;color:#174b38}
 .ec-bday-icon-copy{display:block;min-width:0}
 .ec-birthday .ec-bday-icon-item h3,.ec-birthday .ec-bday-theme-grid .ec-bday-icon-item h3,.ec-birthday .ec-bday-steps .ec-bday-icon-item h3{font:500 18px/1.35 EventfulSerif,Georgia,serif;letter-spacing:0}
 .ec-bday-icon-copy h3 br,.ec-bday-icon-copy p br{display:none}
 .ec-birthday .ec-bday-icon-item p{font-size:13px;line-height:1.5;margin:6px 0 0}
}

/* v1.0.3: original individual photographs; no poster crop coordinates. */
.ec-birthday .ec-bday-cake-photo img[src*="birthday-photo-"]{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff5ed;transform:none!important;animation:none!important}
.ec-birthday .ec-bday-custom-photo img[src*="birthday-photo-"]{position:static;width:100%;height:100%;object-fit:contain;object-position:center;background:#fdebe5;transform:none!important;animation:none!important}
.ec-birthday .ec-bday-hero-photo img[src*="birthday-photo-"]{object-position:center;transform:none!important;animation:none!important}
@media(min-width:768px){
 .ec-birthday .ec-bday-hero-photo:has(img[src*="birthday-photo-"]){left:44%}
 .ec-birthday .ec-bday-hero:has(img[src*="birthday-photo-"]):after{background:linear-gradient(90deg,#fff5ed 0%,#fff5ed 42%,#fff5ed99 49%,transparent 62%)}
 .ec-birthday .ec-bday-custom-photo:has(img[src*="birthday-photo-"]){left:70%}
 .ec-birthday .ec-bday-custom:has(img[src*="birthday-photo-"]):after{background:linear-gradient(90deg,#fdebe5 0%,#fdebe5 67%,transparent 75%)}
}
@media(max-width:767px){
 .ec-birthday .ec-bday-hero-photo:has(img[src*="birthday-photo-"]),.ec-birthday .ec-bday-custom-photo:has(img[src*="birthday-photo-"]){aspect-ratio:3/2}
 .ec-birthday .ec-bday-hero-photo img[src*="birthday-photo-"]{object-fit:contain;background:#fff5ed}
}

/* v1.0.4: fill the reference artwork areas and blend the photo itself. */
@media(min-width:768px){
 .ec-birthday .ec-bday-hero-photo:has(img[src*="birthday-photo-"]){left:38%;right:0;top:0;bottom:0;z-index:0;background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%)}
 .ec-birthday .ec-bday-hero-photo img[src*="birthday-photo-"]{object-fit:cover;object-position:left center}
 .ec-birthday .ec-bday-hero:has(img[src*="birthday-photo-"]):after{display:none}
 .ec-birthday .ec-bday-hero-copy,.ec-birthday .ec-bday-benefits{z-index:1}
 .ec-birthday .ec-bday-custom-photo:has(img[src*="birthday-photo-"]){position:absolute;inset:0 0 0 62%;width:auto;height:auto;aspect-ratio:auto;margin:0;z-index:0;background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%)}
 .ec-birthday .ec-bday-custom-photo img[src*="birthday-photo-"]{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent}
 .ec-birthday .ec-bday-custom:has(img[src*="birthday-photo-"]):after{display:none}
 .ec-birthday .ec-bday-custom-copy{z-index:1}
}
@media(max-width:767px){
 .ec-birthday .ec-bday-hero-photo:has(img[src*="birthday-photo-"]),.ec-birthday .ec-bday-custom-photo:has(img[src*="birthday-photo-"]){-webkit-mask-image:none;mask-image:none}
 .ec-birthday .ec-bday-custom-photo img[src*="birthday-photo-"]{object-fit:contain;object-position:center}
}
