.hero { padding-block: var(--section-space); }
.hero__inner { display: grid; gap: var(--space-13); }
.hero__top { display: grid; grid-template-columns: minmax(0, 472fr) minmax(0, 568fr); gap: var(--space-14); }
.hero__left { display: flex; flex-direction: column; min-width: 0; }
.hero__breadcrumbs { font-size: var(--text-small); line-height: var(--leading-caption-short); color: var(--color-text-secondary); }
.hero__breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; margin: 0; padding: 0; }
.hero__breadcrumbs li + li::before { content: '/'; margin-right: var(--space-3); color: var(--color-text-secondary); }
.hero__breadcrumbs a { text-decoration: none; }
.hero__breadcrumbs a:hover { text-decoration: underline; }
.hero__breadcrumbs [aria-current] { color: var(--color-action-text); }
.hero__copy { display: grid; gap: 44px; margin-block: auto; padding-block: var(--space-10); }
.hero__eyebrow { margin: 0; font-size: var(--text-small); }
.hero__heading { margin: 0; font-size: var(--text-display); line-height: var(--leading-display-tight); font-weight: var(--font-weight-medium); overflow-wrap: anywhere; }
.hero__heading--logo { width: min(447px, 100%); aspect-ratio: 447.0314 / 143.4227; }
.hero__logo { display: block; width: 100%; height: 100%; object-fit: contain; }
.hero__text { max-width: 447px; font-size: var(--text-small); line-height: var(--leading-body); }
.hero__text p { margin: 0; }
.hero__text p + p { margin-top: var(--space-5); }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-7); }
.hero__actions .shell-button, .hero__primary { padding: var(--space-2) var(--space-2) var(--space-2) var(--space-6); border-radius: var(--radius-pill); font-size: var(--text-small); text-decoration: none; gap: var(--space-5); }
.hero__actions .shell-button::after, .hero__primary::after { content: ''; flex-shrink: 0; width: 36px; height: 36px; border-radius: var(--radius-circle); background: var(--color-white) url('../../assets/hero/arrow-up-right.svg') center / 20px 20px no-repeat; }
.hero__secondary { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target); padding: var(--space-5) var(--space-8); font-size: var(--text-small); font-weight: var(--font-weight-bold); text-decoration: none; }
.hero__secondary::after { content: ''; width: 16px; height: 16px; background: url('../../assets/hero/arrow-right.svg') center / 16px 16px no-repeat; }
.hero__secondary:hover { color: var(--color-action-text); }
.hero__statistics { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-8); margin: 0; }
.hero__statistics > div { display: flex; flex-direction: column; flex: 0 1 107px; }
.hero__statistics dt { order: 1; font-size: var(--text-small); line-height: 15px; color: var(--color-text-secondary); }
.hero__statistics dd { margin: 0; font-size: var(--text-h6); line-height: var(--leading-h6); font-weight: var(--font-weight-medium); }
.hero__media { position: relative; aspect-ratio: 568 / 710; border-radius: var(--radius-hero); overflow: hidden; }
.hero__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero__media > picture { display: block; width: 100%; height: 100%; }
.hero__socials { position: absolute; right: var(--space-8); top: var(--space-8); }
.hero__socials .social-menu { flex-direction: column; }
.hero__socials a { background: color-mix(in srgb, var(--color-pink) 30%, transparent); backdrop-filter: blur(48px); color: var(--color-white); }
.hero--without-image .hero__top { grid-template-columns: 1fr; }
.hero--without-image .hero__left { max-width: 740px; }
.hero-promotion { position: relative; isolation: isolate; display: flex; align-items: center; gap: var(--space-8); padding-right: var(--space-7); border-radius: var(--radius-promotion); background: var(--color-promotion); overflow: hidden; }
.hero-promotion__flowers { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero-promotion__flowers img { position: absolute; width: 160px; height: 164px; }
.hero-promotion__flowers img:nth-child(1) { right: -60px; top: -44px; }
.hero-promotion__flowers img:nth-child(2) { left: 278px; top: 69px; width: 107.174px; height: 109.463px; }
.hero-promotion__flowers img:nth-child(3) { right: 266px; top: -68px; width: 103.319px; height: 105.525px; }
.hero-promotion__flowers img:nth-child(4) { left: -9px; top: -49px; width: 107.174px; height: 109.463px; }
.hero-promotion__media { flex: 0 0 336px; aspect-ratio: 336 / 154; border-radius: var(--radius-card); overflow: hidden; }
.hero-promotion__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-promotion__copy { flex: 1; min-width: 0; padding-block: var(--space-7); }
.hero-promotion__title { display: flex; align-items: center; gap: var(--space-5); }
.hero-promotion__title strong { flex-shrink: 0; color: var(--color-pink); font-size: var(--text-title); line-height: var(--leading-title); font-weight: var(--font-weight-bold); }
.hero-promotion__title h2 { margin: 0; font-size: var(--text-base); line-height: var(--leading-body); font-weight: var(--font-weight-medium); }
.hero-promotion__copy p { max-width: 447px; margin: var(--space-1) 0 0; font-size: var(--text-small); line-height: var(--leading-body); }
.hero-promotion__link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); flex-shrink: 0; min-height: var(--touch-target); padding: var(--space-5) var(--space-7); border-radius: var(--radius-pill); background: var(--color-pink-light); font-size: var(--text-small); font-weight: var(--font-weight-medium); text-decoration: none; }
.hero-promotion__link::after { content: ''; width: 16px; height: 16px; background: url('../../assets/hero/arrow-right.svg') center / 16px 16px no-repeat; }
.hero-promotion__link:hover { background: var(--color-pink-hover); }
@media (max-width: 1100px) {
  .hero__top { gap: var(--space-9); }
  .hero-promotion { flex-wrap: wrap; padding: var(--space-6); }
  .hero-promotion__media { flex-basis: 240px; }
  .hero-promotion__link { margin-left: auto; }
}
@media (max-width: 767px) {
  .hero { padding-block: var(--space-8); }
  .hero__inner { gap: var(--space-9); }
  .hero__top { grid-template-columns: 1fr; gap: var(--space-8); }
  .hero__copy { gap: var(--space-8); padding-block: var(--space-8); }
  .hero--home .hero__copy { padding-top: 0; }
  .hero__media { border-radius: var(--radius-card); }
  .hero--home .hero__media { aspect-ratio: 350 / 521.709; }
  .hero__statistics { gap: var(--space-5); }
  .hero__statistics > div { flex: 1 1 80px; }
  .hero__actions { gap: var(--space-5); }
  .hero__secondary { padding-inline: 0; }
  .hero-promotion { gap: var(--space-6); border-radius: var(--radius-card); }
  .hero-promotion__media { flex-basis: 100%; }
  .hero-promotion__copy { padding: 0; flex-basis: 100%; }
  .hero-promotion__title { align-items: flex-start; }
  .hero-promotion__link { margin-left: 0; }
}
@media(max-width:767px) {
  .hero { padding-block: var(--section-space); }
  .hero__inner { gap: var(--space-8); }
  .hero__left { gap: var(--space-8); }
  .hero__copy, .hero--home .hero__copy { padding: 0; margin: 0; }
  .hero__heading { font-size: var(--text-h3); line-height: var(--leading-h3); }
  .hero__heading--logo { line-height: 0; }
  .hero__text { font-size: var(--text-base); }
  .hero__breadcrumbs { line-height: var(--leading-body); }
  .hero__media { aspect-ratio: 350/390; border-radius: var(--radius-map); }
  .hero__statistics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hero__statistics > div { gap: var(--space-1); }
  .hero__statistics dt { font-size: var(--text-small); line-height: 1.3; }
  .hero__actions { gap: var(--space-1); }
  .hero__secondary { font-size: var(--text-micro); line-height: var(--leading-micro); font-weight: var(--font-weight-medium); padding-inline: var(--space-5); }
  .hero__socials { right: var(--space-6); top: var(--space-6); }
  .hero__socials .social-menu { flex-direction: row; }
  .hero-promotion { display: block; padding: 0; }
  .hero-promotion__media { width: 100%; aspect-ratio: 350/160; border-radius: 0; }
  .hero-promotion__copy { padding: var(--space-7) var(--space-7) 0; }
  .hero-promotion__title { align-items: center; }
  .hero-promotion__title strong { font-size: var(--text-metric); line-height: 56px; }
  .hero-promotion__title h2 { font-weight: var(--font-weight-medium); }
  .hero-promotion__copy p { margin-top: var(--space-5); font-size: var(--text-base); }
  .hero-promotion__link { margin: var(--space-5) var(--space-7) var(--space-7); font-size: var(--text-base); font-weight: var(--font-weight-bold); min-height: 48px; }
  .hero-promotion__flowers img:nth-child(1) { right: -70px; top: 180px; }
  .hero-promotion__flowers img:nth-child(2) { left: -36px; top: 400px; }
  .hero-promotion__flowers img:nth-child(3) { right: 56px; top: -40px; }
  .hero-promotion__flowers img:nth-child(4) { left: -24px; top: 210px; }
}

@media(max-width:767px) { .hero__actions { flex-wrap: nowrap; } .hero__actions .booking-menu { flex-shrink: 0; } .hero__secondary { min-width: 0; padding-inline: var(--space-2); } }

/* Source button sizes and separate mobile promotion treatment. */
@media(min-width:768px) {
  .hero__actions .shell-button, .hero__primary { font-size: var(--text-base); }
}
.hero-promotion__copy p { color: var(--color-text-secondary); }
.hero__text { color: var(--color-text-secondary); }
.hero-promotion__link { background: var(--color-pink); font-weight: var(--font-weight-semibold); line-height: var(--leading-caption-short); }
@media(max-width:767px) {
  .hero-promotion__media { border-radius: 0; }
  .hero-promotion__link { padding: var(--space-2) var(--space-2) var(--space-2) var(--space-6); gap: var(--space-5); line-height: var(--leading-body); }
  .hero-promotion__link::after { width: 36px; height: 36px; border-radius: var(--radius-circle); background: var(--color-white) url('../../assets/hero/arrow-up-right.svg') center / 20px 20px no-repeat; transform: rotate(45deg); }
}
