/* Heading decorations share a bounded responsive size across the studio pages.
   Hero artwork, product icons and desktop compositions keep their own sizing. */
@media (max-width:1023px){
 main.ecx-page{--ec-heading-ornament-width:36px;--ec-heading-ornament-height:24px}
 main.ecx-page :is(h2,h3,.ecx-script,.ec-celebration-section-heading,.ec-anniversary-section-heading,.ec-menu-ribbon,.ec-blog-more) :is(.ecxa-sprig,.ec-bday-theme-sprig,.ec-bday-custom-sprig,.ec-cafe-sprig,.ec-baby-art-sprig,.ec-baby-sprig,.ec-wedding-art-sprig,.ec-wedding-sprig,.ec-wedding-sprig-native,.ec-contact-sprig,.ec-celebration-sprig,.ec-blog-sprig,.ec-corporate-sprig,.ec-anniversary-sprig,.ec-menu-reference-sprig){
  display:inline-block;position:relative;inset:auto;top:0;
  width:var(--ec-heading-ornament-width);height:var(--ec-heading-ornament-height);
  min-width:0;max-width:var(--ec-heading-ornament-width);
  flex:0 0 var(--ec-heading-ornament-width);align-self:center;
  vertical-align:middle;margin:0 .16em;padding:0;line-height:0;
  object-fit:contain;pointer-events:none;
 }
 main.ecx-page :is(.ec-celebration-section-heading,.ec-anniversary-section-heading){
  display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin-inline:auto;padding-inline:0;
 }
 main.ecx-page :is(.ec-celebration-section-heading,.ec-anniversary-section-heading)>h2{
  flex:0 1 auto;min-width:0;max-width:100%;margin:0;text-align:center;overflow-wrap:normal;word-break:normal;
 }
 main.ecx-page :is(.ec-celebration-section-heading,.ec-anniversary-section-heading)>:is(.ec-celebration-sprig,.ec-anniversary-sprig){margin:0}
 main.ecx-page :is(h2,h3,.ecx-script,.ec-celebration-section-heading,.ec-anniversary-section-heading,.ec-menu-ribbon,.ec-blog-more) :is(.ecxa-sprig,.ec-bday-theme-sprig,.ec-bday-custom-sprig,.ec-cafe-sprig,.ec-wedding-sprig-native,.ec-contact-sprig,.ec-celebration-sprig,.ec-blog-sprig,.ec-corporate-sprig,.ec-anniversary-sprig)>svg{
  display:block;width:100%;height:100%;max-width:100%;margin:0;
 }
 /* Contact's native artwork wraps the shared About SVG: avoid double offsets. */
 main.ecx-page :is(h2,h3) .ec-contact-sprig>.ecxa-sprig{display:block;width:100%;height:100%;max-width:100%;margin:0;top:0;vertical-align:top}
 main.ecx-page :is(h2,h3,.ecx-script) :is(.ec-blog-sprig,.ec-corporate-sprig)>img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
 /* Cropped reference artwork retains its percentage-based inner image framing. */
 main.ecx-page :is(h2,h3) :is(.ec-baby-art-sprig,.ec-wedding-art-sprig,.ec-menu-reference-sprig){overflow:hidden}
}
@media (max-width:767px){
 main.ecx-page{--ec-heading-ornament-width:34px;--ec-heading-ornament-height:23px}
 main.ecx-page :is(.ec-celebration-section-heading,.ec-anniversary-section-heading){gap:9px}
}
@media (max-width:359px){
 main.ecx-page{--ec-heading-ornament-width:28px;--ec-heading-ornament-height:19px}
 main.ecx-page :is(.ec-celebration-section-heading,.ec-anniversary-section-heading){gap:7px}
}

/* v3.3.6: heading text can wrap independently while the flower stays beside it. */
.ec-flower-heading{display:inline-flex;align-items:center;justify-content:center;gap:.24em;max-width:100%;vertical-align:middle;text-align:inherit}
.ec-flower-heading>.ec-heading-copy{display:block;flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal}
.ec-flower-heading>.ec-heading-decoration{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;line-height:0;color:#c58f32}
.ec-flower-heading>.ec-heading-decoration:empty{display:none}
.ec-flower-heading .ec-heading-decoration>:is(.ec-home-sprig,.ecxa-sprig,.ec-bday-theme-sprig,.ec-bday-custom-sprig,.ec-baby-sprig,.ec-wedding-sprig,.ec-wedding-sprig-native,.ec-cafe-sprig,.ec-corporate-sprig,.ec-contact-sprig){
 display:block;width:.8em;height:.57em;max-width:none;min-width:0;margin:0;padding:0;top:0;vertical-align:middle;object-fit:contain;flex:none;
}
.ec-flower-heading .ec-heading-decoration :is(.ec-wedding-sprig-native,.ec-corporate-sprig,.ec-contact-sprig)>:is(svg,img){display:block;width:100%;height:100%;max-width:100%;margin:0;top:0;object-fit:contain}
.ecxa-reference:not(.ecxa-ornaments) .ec-heading-decoration,.ec-birthday:not(.ec-bday-ornaments) .ec-heading-decoration,.ec-cafe:not(.ec-cafe-ornaments) .ec-heading-decoration{display:none}
@media(max-width:1023px){
 body.home main{--ec-heading-ornament-width:36px;--ec-heading-ornament-height:24px}
 main :is(.ec-flower-heading)>.ec-heading-decoration{width:var(--ec-heading-ornament-width,36px);height:var(--ec-heading-ornament-height,24px);flex:0 0 var(--ec-heading-ornament-width,36px)}
 main .ec-flower-heading .ec-heading-decoration>:is(.ec-home-sprig,.ecxa-sprig,.ec-bday-theme-sprig,.ec-bday-custom-sprig,.ec-baby-sprig,.ec-wedding-sprig,.ec-wedding-sprig-native,.ec-cafe-sprig,.ec-corporate-sprig,.ec-contact-sprig){width:100%;height:100%;max-width:100%;margin:0;top:0}
}
@media(max-width:767px){
 body.home main{--ec-heading-ornament-width:34px;--ec-heading-ornament-height:23px}
 main .ec-flower-heading{gap:9px}
}
@media(max-width:359px){
 body.home main{--ec-heading-ornament-width:28px;--ec-heading-ornament-height:19px}
 main .ec-flower-heading{gap:7px}
}
