@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
html { scroll-behavior: smooth; }
body { overflow-x: hidden; background: #fff; }
.wp-site-blocks { background: #fff; }
.h3-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(91,43,111,.10); box-shadow: 0 7px 24px rgba(35,24,39,.05); }
.h3-header-inner { width: min(90vw, 1280px); max-width: 1280px; margin: 0 auto; padding: .45rem 0; min-height: 60px; }
.h3-logo-wrap, .h3-logo, .h3-logo figure { margin: 0 !important; width: auto !important; max-width: none !important; }
.h3-logo img { display: block; width: clamp(150px, 15vw, 190px); height: auto; max-height: 68px; object-fit: contain; border-radius: 0 !important; clip-path: none !important; overflow: visible !important; }
.h3-header-actions { gap: clamp(1.1rem, 2.4vw, 2rem) !important; }
.h3-nav a, .h3-nav .wp-block-navigation-item__content { font-weight: 720 !important; color: #5ba195 !important; font-size: clamp(.82rem, .35vw + .78rem, .96rem); text-decoration: none !important; }
.wp-block-button__link { background: #ffb265 !important; color: #504f4f !important; border: 0 !important; border-radius: 6.4px !important; box-shadow: none !important; font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; font-weight: 700 !important; font-size: 1.167rem !important; line-height: 1 !important; padding: 0 2.2rem !important; min-width: 254px !important; min-height: 56px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; box-sizing: border-box; }
.h3-header-cta .wp-block-button__link { padding: .75rem 1.3rem !important; box-shadow: none !important; min-width: 180px !important; min-height: 42px !important; font-size: .82rem !important; }
.wp-site-blocks > main { margin-block-start: 0 !important; }
.h3-header + .h3-hero { margin-block-start: 0 !important; }
.h3-hero { min-height: min(760px, 78vh); position: relative; isolation: isolate; background-position: center; }
.h3-hero .wp-block-cover__image-background { filter: brightness(1.02) saturate(1.05); object-position: center 52%; }
.h3-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(35,24,48,.42), rgba(50,45,95,.18) 54%, rgba(46,29,73,.02)) !important; background-color: transparent !important; opacity: 1 !important; }
.h3-hero-copy { width: min(90vw, 1280px); max-width: 1280px; padding: clamp(5.4rem, 10vw, 8rem) 0 clamp(4rem, 7vw, 5.4rem); }
.h3-hero-copy > * { max-width: 680px; margin-left: 0 !important; }
.h3-kicker { text-transform: none; letter-spacing: .01em; font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 400; font-style: italic; font-size: clamp(.92rem, .65vw + .82rem, 1.18rem); color: #fff; text-shadow: 0 3px 14px rgba(0,0,0,.34); }
.h3-hero h1, .h3-hero .wp-block-heading { color: #fff; font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 700; font-size: clamp(2.25rem, 3.3vw + .9rem, 4.25rem); letter-spacing: -.035em; text-shadow: 0 5px 20px rgba(0,0,0,.38); }
.h3-hero p { color: #fffaf2; font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: clamp(1rem, .9vw + .85rem, 1.55rem); font-weight: 400; font-style: italic; text-shadow: 0 3px 14px rgba(0,0,0,.34); }
.h3-button-row .wp-block-button__link { box-shadow: none !important; }
.wp-block-button.is-style-h3-outline .wp-block-button__link { background: transparent !important; color: #5ba195 !important; border: 2px solid #5ba195 !important; box-shadow: none !important; min-width: 210px !important; font-size: 1rem !important; }
.h3-centered-ctas .wp-block-button.is-style-h3-outline .wp-block-button__link { min-width: 254px !important; }
.h3-marquee { overflow: hidden; background: transparent; color: #2a9b93; font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 500; font-size: clamp(1rem, .55vw + .9rem, 1.18rem); letter-spacing: .01em; white-space: nowrap; position: relative; z-index: 4; margin-top: -4.2rem; }
.h3-marquee p { display: inline-flex; min-width: max-content; font-size: 0; padding: .8rem 0 1.2rem; animation: h3-marquee 52s linear infinite; will-change: transform; }
.h3-marquee p::before,
.h3-marquee p::after { content: 'Birthdays      〰      Quinceañeras      〰      Banquets      〰      Baby Showers      〰      Corporate Party      〰      And Much More      〰      Birthdays      〰      Quinceañeras      〰      Banquets      〰      Baby Showers      〰      Corporate Party      〰      And Much More      〰      Birthdays      〰      Quinceañeras      〰      Banquets      〰      Baby Showers      〰      Corporate Party      〰      And Much More      〰      '; display: inline-block; padding-right: 0; font-size: clamp(1rem, .55vw + .9rem, 1.18rem); }
@keyframes h3-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.h3-section { padding-top: clamp(3.7rem, 6vw, 6.5rem); padding-bottom: clamp(3.7rem, 6vw, 6.5rem); }
.h3-section-tight { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.h3-wide { width: min(90vw, 1280px); max-width: 1280px; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }
.h3-panel, .is-style-h3-panel { background: rgba(255,255,255,.72); border: 1px solid rgba(91,43,111,.12); border-radius: 32px; box-shadow: 0 24px 80px rgba(91,43,111,.12); }
.h3-problem { background: #fff; }
.h3-problem-card { background: #fff; border-radius: 30px; padding: clamp(1.5rem, 4vw, 3rem); box-shadow: 0 26px 70px rgba(35,24,39,.12); }
.h3-check-list { list-style: none; padding-left: 0; }
.h3-check-list li { position: relative; padding-left: 2rem; margin: .7rem 0; font-weight: 750; }
.h3-check-list li:before { content: '✦'; position: absolute; left: 0; color: #8b63c7; }
.h3-feature-grid { gap: clamp(1.25rem, 3vw, 2rem); }
.h3-feature-grid figure, .h3-photo-card img { aspect-ratio: 4 / 3; width: 100%; box-shadow: 0 22px 60px rgba(35,24,39,.16); overflow: hidden; }
.h3-feature-grid figure { margin: 0; }
.h3-feature-grid figure img, .h3-photo-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.h3-testimonial { background: linear-gradient(135deg, #5b2b6f, #8b63c7 60%, #e9a5b8); color: #fff; border-radius: 36px; overflow: hidden; }
.h3-testimonial h2, .h3-testimonial p { color: #fff; }
.h3-steps { counter-reset: h3-step; }
.h3-step { counter-increment: h3-step; padding: 2rem; border-radius: 0; background: #ffd2ad; border: 0; min-height: 12rem; }
.h3-step:before { display: none; }
.h3-step h3, .h3-step h4, .h3-step .wp-block-heading { font-family: var(--wp--preset--font-family--body); font-size: clamp(1.08rem, .28vw + 1rem, 1.2rem); line-height: 1.18; font-weight: 800; color: #4f4f4f; margin: 0 0 1rem !important; }
.h3-step p { margin-top: 0; color: #4f4f4f; font-size: clamp(1rem, .2vw + .94rem, 1.08rem); line-height: 1.45; font-weight: 500; }
.h3-steps-title { text-align: center; font-family: var(--wp--preset--font-family--body); color: #44424b; font-size: clamp(1.8rem, 2.1vw, 2.65rem); line-height: 1.05; font-weight: 800; margin-bottom: clamp(1.4rem, 3vw, 2.2rem) !important; }
.h3-steps-title em { color: #2a9b93; font-style: normal; }
.h3-guide { background: #d9eff5; }
.h3-footer { background: #6f557b; color: #fff; margin-block-start: 0; border-top: 1px solid rgba(91,43,111,.12); overflow-x: hidden; }
.h3-footer, .h3-footer * { box-sizing: border-box; max-width: 100%; }
.h3-footer-inner { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.h3-footer-grid > .wp-block-column { min-width: 0; overflow-wrap: anywhere; }
.h3-footer a, .h3-footer h2, .h3-footer h3, .h3-footer p, .h3-footer li { color: #fff; }
.h3-footer p { overflow-wrap: anywhere; word-break: normal; }
.h3-footer a { color: #2a9b93; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
.h3-footer a[href^="mailto:"] { display: inline-block; max-width: 100%; }
.h3-footer a:hover { color: #35b8ae; text-decoration: underline; }
.h3-footer-logo { margin: 0 0 1.5rem !important; }
.h3-footer-logo img { width: min(280px, 80vw); height: auto; }
.h3-footer-mark img { width: min(195px, 58vw); }
.h3-footer-grid { align-items: flex-start !important; gap: clamp(2rem, 4vw, 4rem) !important; }
.h3-footer-links { list-style: none; padding: 0; margin: 0; }
.h3-footer-links li { margin: .58rem 0; font-weight: 760; }
.h3-footer-cta { margin-top: 1.6rem; }
.h3-footer-cta .wp-block-button__link { background: #2a9b93 !important; color: #fff !important; border-radius: 2px !important; min-width: 180px !important; padding: .9rem 1.4rem !important; box-shadow: none !important; }
.h3-footer-iconline { margin: 0 0 1rem !important; font-size: 1.28rem; line-height: 1; }
.h3-footer-iconline a { color: #2a9b93; display: inline-flex; align-items: center; justify-content: center; width: 2.15rem; height: 2.15rem; }
.h3-footer-iconline svg { display: block; width: 2.15rem; height: 2.15rem; fill: currentColor; }
.h3-footer-map img { border-radius: 18px; box-shadow: 0 18px 52px rgba(35,24,39,.12); }
.h3-credit { font-size: .85rem; opacity: .72; }
@media (max-width: 780px) {
  .h3-header-inner, .h3-hero-copy, .h3-wide { width: 94vw; max-width: 1354px; }
  .h3-header-inner { gap: 1rem; min-height: auto; }
  .h3-logo img { width: 150px; max-height: 56px; }
  .h3-header-actions { gap: .65rem !important; }
  .h3-header-cta .wp-block-button__link { padding: .62rem .72rem; font-size: .78rem; min-width: 132px; }
  .h3-nav { gap: .65rem !important; }
  .h3-hero { min-height: 660px; }
  .h3-hero .wp-block-cover__image-background { object-position: 62% center; filter: brightness(1) saturate(1.05); }
  .h3-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(35,24,48,.42), rgba(46,29,73,.22) 45%, rgba(46,29,73,.08)) !important; background-color: transparent !important; }
  .h3-hero-copy { padding-top: 5rem; padding-bottom: 4.2rem; }
}

@media (max-width: 480px) {
  .h3-hero-copy, .h3-wide { width: 88vw; }
  .h3-header-inner { width: 100%; padding-left: 6vw; padding-right: 6vw; }
  .h3-header-cta { display: none !important; }
  .h3-button-row { flex-direction: column; align-items: stretch !important; }
  .h3-button-row .wp-block-button, .h3-button-row .wp-block-button__link { width: 100%; text-align: center; }
}
