.occasions-hero {
  position: relative;

  width: 100%;

  min-height: 660px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 18% 40%,
      rgba(216,170,82,.06),
      transparent 30%
    ),
    #fffaf1;
}

.occasions-hero-inner {
  width:
    min(
      calc(100% - 70px),
      1500px
    );

  min-height: 660px;

  margin-inline: auto;

  display: grid;

  grid-template-columns:
    minmax(420px,.82fr)
    minmax(650px,1.18fr);

  align-items: stretch;
}

.occasions-hero-copy {
  position: relative;

  z-index: 20;

  display: flex;

  flex-direction: column;

  justify-content: flex-start;

  padding:
    42px
    48px
    45px
    5px;
}

.occasions-eyebrow {
  display: flex;

  align-items: center;

  gap: 8px;

  margin-bottom: 9px;

  color: #de713b;

  font-family:
    "Jost",
    sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .11em;
}

.occasions-eyebrow span {
  color: #d29a31;
}

.occasions-title {
  margin: 0;

  color: #173d33;

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size: clamp(60px, 5vw, 82px);

  font-weight: 600;

  line-height: .97;

  letter-spacing: -.035em;
}

.occasions-title > span {
  display: block;

  margin-top: 7px;

  color: #ef622e;

  font-family:
    "Yellowtail",
    cursive;

  font-size: .93em;

  font-weight: 400;

  line-height: 1;
}

.occasions-title small {
  font-family: "Jost", sans-serif;

  font-size: 24px;

  font-weight: 300;

  vertical-align: middle;
}

.occasions-description {
  max-width: 515px;

  margin:
    24px
    0
    31px;

  color: #505a55;

  font-family:
    "Jost",
    sans-serif;

  font-size: 19px;

  line-height: 1.7;
}

.occasions-benefits {
  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  max-width: 620px;
}

.occasion-benefit {
  position: relative;

  min-width: 0;

  text-align: center;

  padding:
    0
    15px;
}

.occasion-benefit:first-child {
  padding-left: 0;
}

.occasion-benefit:not(:last-child)::after {
  content: "";

  position: absolute;

  right: 0;
  top: 7px;

  width: 1px;
  height: 65px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(201,153,65,.42),
      transparent
    );
}

.occasion-benefit-icon {
  width: 52px;
  height: 52px;

  margin:
    0
    auto
    7px;

  display: grid;

  place-items: center;

  color: #d28d24;

  font-size: 35px;
}

.occasion-benefit strong {
  display: block;

  color: #2e4138;

  font-family:
    "Jost",
    sans-serif;

  font-size: 17px;

  font-weight: 600;
}

.occasion-benefit span {
  display: block;

  margin-top: 3px;

  color: #69706b;

  font-family:
    "Jost",
    sans-serif;

  font-size: 14px;
}

.occasions-hero-visual {
  position: relative;

  min-height: 660px;
}

.occasions-main-photo {
  position: absolute;

  z-index: 3;

  top: 0;
  right: -65px;

  width: 112%;
  height: 540px;

  overflow: hidden;

  clip-path: polygon(
    22% 0%,
    44% 2%,
    61% 1%,
    78% 3%,
    100% 2%,

    100% 100%,

    27% 100%,
    20% 95%,
    15% 87%,
    12% 76%,
    12% 63%,
    14% 50%,
    16% 37%,
    17% 25%,
    19% 12%
  );

  border-radius:
    38% 0 0 28% /
    30% 0 0 36%;

  filter:
    drop-shadow(
      -16px 18px 27px
      rgba(53,38,13,.14)
    );
}

.occasions-main-photo::before {
  content: "";

  position: absolute;

  inset: 0;

  z-index: 3;

  pointer-events: none;

  border-left:
    3px solid
    rgba(211,160,61,.80);
}

.occasions-main-photo img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position:
    center center;

  display: block;
}

.occasions-flower {
  position: absolute;

  z-index: 14;

  left: 2%;
  top: 275px;

  width: 145px;
  height: auto;

  object-fit: contain;

  pointer-events: none;

  filter:
    drop-shadow(
      0 12px 18px
      rgba(26,46,28,.18)
    );
}

.occasion-leaf {
    position: absolute;
    z-index: 12;

    pointer-events: none;
    object-fit: contain;

    display: block;

    will-change: transform;

    transform-origin: 50% 80%;
}

.occasion-leaf-one {
    width: 90px;

    left: -12px;
    top: 42px;

    animation:
        occasionLeafTop 3.8s
        cubic-bezier(.45, .05, .55, .95)
        infinite;
}

.occasion-leaf-two {
    width: 75px;

    left: -5px;
    top: 185px;

    animation:
        occasionLeafBottom 4.4s
        cubic-bezier(.45, .05, .55, .95)
        infinite;

    animation-delay: -1.3s;
}

.occasion-petal {
  position: absolute;

  z-index: 15;

  left: -38px;
  top: 145px;

  width: 11px;
  height: 17px;

  border-radius:
    80% 20% 70% 30%;

  background:
    linear-gradient(
      145deg,
      #fa9a9b,
      #e76872
    );

  transform:
    rotate(32deg);
}

.occasion-stats-bar {
  position: absolute;

  z-index: 25;

  right: -25px;
  bottom: 42px;

  width: 115%;
  min-height: 120px;

  padding:
    22px
    30px;

  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  align-items: center;

  border-radius: 22px;

  background:
    linear-gradient(
      105deg,
      #064837,
      #004934,
      #073d31
    );

  border:
    1px solid
    rgba(213,163,67,.28);

  box-shadow:
    0 20px 35px
    rgba(29,24,10,.18);
}

.occasion-stat {
  position: relative;

  display: grid;

  grid-template-columns:
    50px
    auto;

  align-items: center;

  gap:
    0
    10px;

  padding:
    0
    22px;
}

.occasion-stat:first-child {
  padding-left: 0;
}

.occasion-stat:not(:last-child)::after {
  content: "";

  position: absolute;

  right: 0;
  top: 5px;

  width: 1px;
  height: 65px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(214,165,66,.48),
      transparent
    );
}

.occasion-stat-icon {
  grid-row:
    1 / 3;

  width: 45px;
  height: 45px;

  display: grid;

  place-items: center;

  color: #d7a441;

  font-size: 28px;
}

.occasion-stat strong {
  color: #fffaf0;

  font-family:
    "Playfair Display",
    serif;

  font-size: 30px;

  font-weight: 500;

  line-height: 1;
}

.occasion-stat span {
  margin-top: 5px;

  color:
    rgba(255,255,255,.78);

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  line-height: 1.35;
}

.occasion-stat span b {
  display: block;

  color: #fff;

  font-weight: 500;
}

@media (max-width: 1100px) {.occasions-hero-inner {
    grid-template-columns:
      minmax(380px,.9fr)
      minmax(520px,1.1fr);
  }.occasions-benefits {
    grid-template-columns:
      repeat(2,1fr);

    row-gap: 20px;
  }.occasion-benefit:nth-child(2)::after {
    display: none;
  }.occasion-stats-bar {
    width: 96%;
  }}

@media (max-width: 780px) {.occasions-hero {
    min-height: auto;
  }.occasions-hero-inner {
    width:
      calc(100% - 30px);

    display: flex;

    flex-direction: column;
  }.occasions-hero-visual {
    min-height: 480px;

    order: 1;
  }.occasions-hero-copy {
    order: 2;

    padding:
      40px
      5px
      50px;
  }.occasions-main-photo {
    right: -55px;

    width: 125%;
    height: 420px;
  }.occasions-flower {
    left: 5px;
    top: 230px;

    width: 110px;
  }.occasion-stats-bar {
    right: 0;
    bottom: -5px;

    width: 100%;

    grid-template-columns:
      repeat(2,1fr);

    gap:
      20px
      0;
  }.occasion-stat:nth-child(2)::after {
    display: none;
  }.occasions-title {
    font-size:
      clamp(
        44px,
        12vw,
        57px
      );
  }}

.celebrations-grid-section {
  position: relative;

  width: 100%;

  padding:
    28px
    0
    55px;

  background:
    radial-gradient(
      circle at 50% 20%,
      rgba(216,168,76,.06),
      transparent 30%
    ),
    #fffaf1;
}

.celebrations-grid-wrap {
  width:
    min(
      calc(100% - 70px),
      1500px
    );

  margin-inline: auto;
}

.celebrations-grid-heading {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 12px;

  margin-bottom: 20px;
}

.celebrations-grid-heading h2 {
  margin: 0;

  color: #53665d;

  font-family:
    "Jost",
    sans-serif;

  font-size: 13px;

  font-weight: 600;

  letter-spacing: .07em;

  white-space: nowrap;
}

.celebration-heading-line {
  width: 80px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(211,157,55,.55)
    );
}

.celebration-heading-line:last-child {
  transform: scaleX(-1);
}

.celebration-heading-ornament {
  color: #d89a2e;

  font-size: 16px;
}

.celebrations-card-grid {
  display: grid;

  grid-template-columns:
    repeat(5,minmax(0,1fr));

  gap:
    18px
    15px;
}

.celebration-card {
  position: relative;

  min-width: 0;

  min-height: 330px;

  overflow: visible;

  border-radius: 13px;

  background:
    linear-gradient(
      180deg,
      #fffdf8,
      #fff9ef
    );

  border:
    1px solid
    rgba(195,150,65,.14);

  box-shadow:
    0 8px 20px
    rgba(60,47,24,.075);

  transition:
    transform .4s cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease;
}

.celebration-card:hover {
  transform:
    translateY(-7px);

  box-shadow:
    0 20px 35px
    rgba(45,62,51,.14);
}

.celebration-card-image {
  width: 100%;
  height: 158px;

  overflow: hidden;

  border-radius:
    12px
    12px
    0
    0;
}

.celebration-card-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;

  transition:
    transform .75s
    cubic-bezier(.16,1,.3,1);
}

.celebration-card:hover
.celebration-card-image img {
  transform:
    scale(1.08);
}

.celebration-card-icon {
  position: relative;

  z-index: 5;

  width: 54px;
  height: 54px;

  margin:
    -27px
    auto
    12px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: #d7a33d;

  background:
    linear-gradient(
      145deg,
      #0b5742,
      #074232
    );

  border:
    2px solid
    #d7a13c;

  box-shadow:
    0 0 0 3px #fffaf1,
    0 8px 15px
    rgba(6,63,48,.17);

  font-size: 23px;

  transition:
    transform .4s
    cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease;
}

.celebration-card:hover
.celebration-card-icon {
  transform:
    translateY(-5px)
    scale(1.08)
    rotateY(12deg);

  box-shadow:
    0 0 0 3px #fffaf1,
    0 15px 25px
    rgba(6,63,48,.22);
}

.celebration-card-content {
  padding:
    0
    18px
    14px;
font-size: 10;
  text-align: center;
}

.celebration-card-content h3 {
  margin:
    0
    0
    9px;

  color: #33483f;

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size: 22px;

  font-weight: 600;

  line-height: 1.15;
}

.celebration-card-content p {
  margin: 0 auto;

  max-width: 190px;

  min-height: 62px;

  color: #626b66;

  font-family:
    "Jost",
    sans-serif;

  font-size: 15px;

  line-height: 1.55;
}

.celebration-card-ornament {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 6px;

  width: 80px;

  margin:
    9px
    auto
    0;

  color: #d99b31;
}

.celebration-card-ornament span {
  flex: 1;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(213,161,61,.55)
    );
}

.celebration-card-ornament span:last-child {
  transform:
    scaleX(-1);
}

.celebration-card-ornament i {
  font-size: 10px;

  font-style: normal;
}

@media (max-width: 1100px) {.celebrations-card-grid {
    grid-template-columns:
      repeat(3,1fr);
  }}

@media (max-width: 700px) {.celebrations-grid-wrap {
    width:
      calc(100% - 30px);
  }.celebrations-card-grid {
    grid-template-columns:
      repeat(2,1fr);

    gap: 15px;
  }.celebration-card-image {
    height: 150px;
  }}

@media (max-width: 440px) {.celebrations-card-grid {
    grid-template-columns: 1fr;
  }}

@media (max-width: 780px) {.occasions-hero-inner {
    width: calc(100% - 24px);
    min-height: auto;

    display: flex;
    flex-direction: column;
  }.occasions-hero-copy {
    order: 1;

    width: 100%;

    padding:
      32px
      8px
      34px;
  }.occasions-eyebrow {
    font-size: 11px;
  }.occasions-title {
    font-size: clamp(42px, 12vw, 56px);

    line-height: .98;
  }.occasions-title > span {
    display: block;
  }.occasions-description {
    max-width: 100%;

    font-size: 14px;

    line-height: 1.65;

    margin-bottom: 28px;
  }.occasions-benefits {
    width: 100%;
    max-width: none;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      22px
      0;
  }.occasion-benefit {
    padding:
      0
      8px;
  }.occasion-benefit-icon {
    width: 42px;
    height: 42px;

    margin-inline: auto;

    font-size: 27px;
  }.occasion-benefit strong {
    font-size: 12px;
  }.occasion-benefit span {
    font-size: 10px;
  }.occasion-benefit::after {
    height: 72px;
  }.occasion-benefit:nth-child(2)::after,
  .occasion-benefit:nth-child(4)::after {
    display: none;
  }.occasions-hero-visual {
    order: 2;

    width: 100%;

    min-height: 530px;

    position: relative;
  }.occasions-main-photo {
    top: 0;
    left: 0;
    right: auto;

    width: 100%;
    height: 360px;

    border-radius:
      35px
      35px
      20px
      20px;

    clip-path: polygon(
      8% 0,
      32% 2%,
      52% 0,
      74% 2%,
      100% 0,
      100% 100%,
      0 100%,
      0 18%
    );
  }.occasions-main-photo img {
    object-position: center center;
  }.occasions-flower {
    left: -5px;
    top: 245px;

    width: 90px;
  }.occasion-stats-bar {
    position: absolute;

    left: 0;
    right: 0;

    bottom: 10px;

    width: 100%;

    min-height: auto;

    padding:
      20px
      12px;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      22px
      0;

    border-radius: 20px;
  }.occasion-stat {
    width: 100%;
    min-width: 0;

    display: grid;

    grid-template-columns:
      40px
      minmax(0, 1fr);

    column-gap: 7px;

    padding:
      0
      10px;
  }.occasion-stat:first-child {
    padding-left: 10px;
  }.occasion-stat-icon {
    width: 38px;
    height: 38px;

    font-size: 24px;
  }.occasion-stat strong {
    min-width: 0;

    font-size: 21px;

    line-height: 1;

    white-space: normal;

    overflow-wrap: anywhere;
  }.occasion-stat:last-child strong {
    font-size: 18px;
  }.occasion-stat span {
    margin-top: 4px;

    font-size: 8px;

    line-height: 1.25;
  }.occasion-stat::after {
    display: none !important;
  }.occasion-stat:nth-child(odd)::after {
    content: "";

    display: block !important;

    position: absolute;

    right: 0;
    top: 5%;

    width: 1px;
    height: 90%;

    background:
      linear-gradient(
        to bottom,
        transparent,
        rgba(214,165,66,.35),
        transparent
      );
  }}

@media (max-width: 440px) {.occasions-hero-inner {
    width: calc(100% - 20px);
  }.occasions-title {
    font-size: 42px;
  }.occasions-description {
    font-size: 13px;
  }.occasions-hero-visual {
    min-height: 505px;
  }.occasions-main-photo {
    height: 325px;
  }.occasions-flower {
    top: 220px;

    width: 75px;
  }.occasion-stats-bar {
    padding:
      18px
      8px;

    gap:
      18px
      0;

    bottom: 8px;
  }.occasion-stat {
    grid-template-columns:
      34px
      minmax(0,1fr);

    padding:
      0
      7px;

    column-gap: 6px;
  }.occasion-stat:first-child {
    padding-left: 7px;
  }.occasion-stat-icon {
    width: 32px;
    height: 32px;

    font-size: 21px;
  }.occasion-stat strong {
    font-size: 19px;
  }.occasion-stat:last-child strong {
    font-size: 15px;

    line-height: 1.05;
  }.occasion-stat span {
    font-size: 7px;
  }}

@media (max-width: 780px) {.occasions-hero {
    width: 100%;
    min-height: auto;

    overflow: hidden;
  }.occasions-hero-inner {
    width: calc(100% - 24px);

    min-height: auto;

    margin-inline: auto;

    display: flex;
    flex-direction: column;
  }.occasions-hero-copy {
    order: 1;

    width: 100%;

    padding:
      35px
      7px
      34px;

    text-align: left;
  }.occasions-eyebrow {
    margin-bottom: 10px;

    font-size: 10px;

    letter-spacing: .10em;
  }.occasions-title {
    max-width: 100%;

    font-size:
      clamp(
        40px,
        11vw,
        54px
      );

    line-height: .98;

    letter-spacing: -.025em;
  }.occasions-title > span {
    display: block;

    margin-top: 6px;
  }.occasions-title small {
    font-size: 18px;
  }.occasions-description {
    max-width: 100%;

    margin:
      24px
      0
      28px;

    font-size: 14px;

    line-height: 1.65;
  }.occasions-benefits {
    width: 100%;

    max-width: none;

    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      23px
      0;
  }.occasion-benefit {
    min-width: 0;

    padding:
      0
      10px;
  }.occasion-benefit:first-child {
    padding-left: 10px;
  }.occasion-benefit::after {
    display: none !important;
  }.occasion-benefit:nth-child(odd) {
    border-right:
      1px solid
      rgba(201,153,65,.24);
  }.occasion-benefit-icon {
    width: 45px;
    height: 45px;

    margin:
      0
      auto
      6px;

    font-size: 29px;
  }.occasion-benefit strong {
    font-size: 12px;

    line-height: 1.3;
  }.occasion-benefit span {
    margin-top: 3px;

    font-size: 10px;

    line-height: 1.35;
  }.occasions-hero-visual {
    order: 2;

    position: relative;

    width: 100%;

    min-height: 525px;
  }.occasions-main-photo {
    position: absolute;

    top: 0;
    left: 0;
    right: auto;

    width: 100%;
    height: 360px;

    clip-path:
      polygon(
        8% 0,
        30% 2%,
        52% 0,
        76% 2%,
        100% 0,
        100% 100%,
        0 100%,
        0 17%
      );

    border-radius:
      34px
      34px
      20px
      20px;

    filter:
      drop-shadow(
        0 14px 24px
        rgba(53,38,13,.12)
      );
  }.occasions-main-photo::before {
    border-left: 0;
  }.occasions-main-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
  }.occasions-flower {
    z-index: 15;

    left: -8px;
    top: 240px;

    width: 88px;
  }.occasion-leaf-one {
    width: 55px;
  }.occasion-leaf-two {
    width: 50px;
  }.occasion-stats-bar {
    position: absolute;

    left: 0;
    right: 0;

    bottom: 10px;

    width: 100%;

    min-height: auto;

    padding:
      19px
      10px;

    display: grid;

    grid-template-columns:
      repeat(2, minmax(0,1fr));

    gap:
      22px
      0;

    border-radius: 20px;
  }.occasion-stat {
    position: relative;

    width: 100%;

    min-width: 0;

    display: grid;

    grid-template-columns:
      39px
      minmax(0,1fr);

    align-items: center;

    column-gap: 7px;

    padding:
      0
      10px;
  }.occasion-stat:first-child {
    padding-left: 10px;
  }.occasion-stat::after {
    display: none !important;
  }.occasion-stat:nth-child(odd) {
    border-right:
      1px solid
      rgba(214,165,66,.25);
  }.occasion-stat-icon {
    grid-row:
      1 / 3;

    width: 37px;
    height: 37px;

    font-size: 23px;
  }.occasion-stat strong {
    min-width: 0;

    font-size: 21px;

    line-height: 1.05;

    white-space: normal;

    overflow-wrap: anywhere;
  }.occasion-stat:last-child strong {
    font-size: 17px;
  }.occasion-stat span {
    margin-top: 3px;

    font-size: 8px;

    line-height: 1.25;
  }.celebrations-grid-section {
    padding:
      40px
      0
      50px;
  }.celebrations-grid-wrap {
    width:
      calc(100% - 24px);
  }.celebrations-grid-heading {
    gap: 7px;

    margin-bottom: 25px;
  }.celebrations-grid-heading h2 {
    min-width: 0;

    font-size: 11px;

    letter-spacing: .05em;

    white-space: normal;

    text-align: center;
  }.celebration-heading-line {
    width: 35px;

    flex-shrink: 0;
  }.celebration-heading-ornament {
    font-size: 13px;

    flex-shrink: 0;
  }.celebrations-card-grid {
    display: grid;

    grid-template-columns:
      repeat(2, minmax(0,1fr));

    gap:
      18px
      12px;
  }.celebration-card {
    min-width: 0;

    min-height: 310px;

    border-radius: 14px;

    transform: none !important;
  }.celebration-card:hover {
    transform: none !important;
  }.celebration-card-image {
    height: 155px;
  }.celebration-card-image img {
    object-position: center;
  }.celebration-card-icon {
    width: 50px;
    height: 50px;

    margin:
      -25px
      auto
      10px;

    font-size: 21px;

    transform: none !important;
  }.celebration-card-content {
    padding:
      0
      12px
      14px;
  }.celebration-card-content h3 {
    margin-bottom: 7px;

    font-size: 15px;

    line-height: 1.15;
  }.celebration-card-content p {
    max-width: 100%;

    min-height: auto;

    font-size: 9px;

    line-height: 1.5;
  }.celebration-card-ornament {
    width: 65px;

    margin-top: 8px;
  }}

@media (max-width: 480px) {.occasions-hero-inner {
    width: calc(100% - 20px);
  }.occasions-hero-copy {
    padding:
      30px
      4px
      30px;
  }.occasions-title {
    font-size: 38px;
  }.occasions-title small {
    font-size: 16px;
  }.occasions-description {
    font-size: 13px;
  }.occasion-benefit {
    padding:
      0
      6px;
  }.occasion-benefit-icon {
    width: 40px;
    height: 40px;

    font-size: 26px;
  }.occasion-benefit strong {
    font-size: 11px;
  }.occasion-benefit span {
    font-size: 9px;
  }.occasions-hero-visual {
    min-height: 485px;
  }.occasions-main-photo {
    height: 320px;
  }.occasions-flower {
    top: 213px;

    width: 75px;
  }.occasion-stats-bar {
    bottom: 8px;

    padding:
      17px
      7px;

    gap:
      18px
      0;
  }.occasion-stat {
    grid-template-columns:
      32px
      minmax(0,1fr);

    column-gap: 6px;

    padding:
      0
      6px;
  }.occasion-stat:first-child {
    padding-left: 6px;
  }.occasion-stat-icon {
    width: 31px;
    height: 31px;

    font-size: 20px;
  }.occasion-stat strong {
    font-size: 18px;
  }.occasion-stat:last-child strong {
    font-size: 14px;
  }.occasion-stat span {
    font-size: 7px;
  }.celebrations-grid-wrap {
    width:
      calc(100% - 20px);
  }.celebrations-card-grid {
    grid-template-columns: 1fr;

    gap: 21px;
  }.celebration-card {
    width: 100%;

    min-height: 360px;
  }.celebration-card-image {
    height: 220px;
  }.celebration-card-icon {
    width: 58px;
    height: 58px;

    margin-top: -29px;

    font-size: 25px;
  }.celebration-card-content {
    padding:
      0
      20px
      18px;
  }.celebration-card-content h3 {
    font-size: 20px;
  }.celebration-card-content p {
    max-width: 290px;

    font-size: 15px;

    line-height: 1.55;
  }.celebration-card-ornament {
    width: 85px;
  }}

@media (max-width: 380px) {.occasions-title {
    font-size: 35px;
  }.occasions-benefits {
    gap:
      20px
      0;
  }.occasion-benefit strong {
    font-size: 10px;
  }.occasion-benefit span {
    font-size: 8px;
  }.occasions-hero-visual {
    min-height: 455px;
  }.occasions-main-photo {
    height: 295px;
  }.occasions-flower {
    top: 195px;

    width: 68px;
  }.occasion-stat strong {
    font-size: 17px;
  }.occasion-stat:last-child strong {
    font-size: 13px;
  }.celebrations-grid-heading h2 {
    font-size: 10px;
  }.celebration-heading-line {
    width: 22px;
  }}

@media (max-width: 780px) {@media (min-width: 781px) {.occasion-stats-bar {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        align-items: center !important;

        padding: 18px 22px !important;
    }.occasion-stat {
        position: relative !important;

        width: 100% !important;
        min-width: 0 !important;

        display: grid !important;

        grid-template-columns:
            46px
            max-content !important;

        grid-template-rows:
            auto
            auto !important;

        justify-content: center !important;
        align-content: center !important;
        align-items: center !important;

        column-gap: 14px !important;
        row-gap: 3px !important;

        padding: 0 12px !important;

        height: 82px !important;
    }.occasion-stat-icon {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;

        width: 46px !important;
        height: 46px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;

        font-size: 29px !important;
    }.occasion-stat > strong {
        grid-column: 2 !important;
        grid-row: 1 !important;

        margin: 0 !important;

        font-size: 30px !important;
        line-height: 1 !important;

        white-space: nowrap !important;
        text-align: left !important;
    }.occasion-stat > span {
        grid-column: 2 !important;
        grid-row: 2 !important;

        margin: 0 !important;

        font-size: 10px !important;
        line-height: 1.2 !important;

        text-align: left !important;
    }.occasion-stat > span b {
        display: block !important;
    }.occasion-stat:last-child > strong {
        font-size: 29px !important;
    }.occasion-stat:not(:last-child)::after {
        right: 0 !important;
        top: 50% !important;

        height: 62px !important;

        transform: translateY(-50%) !important;
    }}}
