/* Homepage-only split hero. Loaded after jd-design.css so legacy hero rules stay isolated. */
body.jd-body .jd-hero__video-shell {
  min-height: clamp(42rem, 58vw, 52rem);
  aspect-ratio: auto;
}

body.jd-body .jd-hero__scenes { overflow: hidden; }

body.jd-body .jd-hero__scenes .jd-hero__scene--video {
  filter: blur(7px) saturate(.72) brightness(.72);
  transform: scale(1.045);
}

body.jd-body .jd-hero__video-overlay {
  background:
    linear-gradient(90deg, rgba(9,10,9,.9), rgba(9,10,9,.72) 43%, rgba(9,10,9,.42) 72%, rgba(9,10,9,.58)),
    linear-gradient(180deg, rgba(8,8,8,.38), rgba(8,8,8,.18) 48%, rgba(8,8,8,.78));
}

body.jd-body .jd-hero__layout {
  position: absolute;
  z-index: 2;
  inset: clamp(7.5rem, 11vw, 10rem) max(2rem, 6vw) 8.5rem;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(25rem, 1.14fr);
  align-items: center;
  gap: clamp(3rem, 6vw, 7rem);
  width: min(88rem, calc(100% - 4rem));
  margin-inline: auto;
}

body.jd-body .jd-hero__center {
  position: relative;
  inset: auto;
  width: auto;
  transform: none;
  text-align: left;
}

body.jd-body .jd-hero__eyebrow {
  justify-content: flex-start;
  margin-bottom: clamp(1.5rem, 3vw, 2.4rem);
  font-size: clamp(.58rem, .72vw, .7rem);
  letter-spacing: .2em;
}

body.jd-body .jd-hero__center h1 {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: end;
  column-gap: clamp(.8rem, 1.5vw, 1.3rem);
  width: max-content;
  max-width: 100%;
  margin: 0;
  text-align: left;
}

body.jd-body .jd-hero--kozy .jd-hero__title-love,
body.jd-body .jd-hero--kozy .jd-hero__title-nails {
  font-family: "Maple Belleza", Georgia, serif;
  text-shadow: 0 8px 34px rgba(0,0,0,.38);
}

body.jd-body .jd-hero--kozy .jd-hero__title-love {
  align-self: center;
  padding: .55rem .65rem .45rem;
  border-top: 1px solid rgba(229,197,141,.68);
  border-bottom: 1px solid rgba(229,197,141,.68);
  color: #e5c58d;
  font-family: "Maple Sans", Arial, sans-serif;
  font-size: clamp(.82rem, 1.2vw, 1.05rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .22em;
}

body.jd-body .jd-hero--kozy .jd-hero__title-nails {
  display: block;
  margin: 0;
  color: #fff;
  font-size: clamp(4.8rem, 7vw, 7rem);
  font-style: normal;
  line-height: .82;
  letter-spacing: -.055em;
}

body.jd-body .jd-hero--kozy .jd-hero__center h1 em {
  grid-column: 2;
  margin: .16em 0 0 .06em;
  color: #e5c58d;
  font-family: "Love Script", "Great Vibes", cursive;
  font-size: clamp(2.65rem, 3.8vw, 4.25rem);
  font-weight: 400;
  line-height: .72;
  letter-spacing: 0;
  transform: rotate(-3deg) translateX(.15em);
  transform-origin: left center;
}

body.jd-body .jd-hero__statement .jd-hero__lead {
  padding-left: 1rem;
  border-left: 1px solid rgba(229,197,141,.72);
}

body.jd-body .jd-hero__actions { justify-content: flex-start; }

body.jd-body .jd-hero__feature-caption p {
  color: #fff;
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}

/* Soft drifting cloud treatment around the feature film. */
body.jd-body .jd-hero__feature {
  isolation: isolate;
}

body.jd-body .jd-hero__feature-frame {
  overflow: hidden;
  border-color: rgba(255, 244, 220, .58);
  box-shadow:
    0 2.25rem 6rem rgba(0, 0, 0, .52),
    0 0 0 .5rem rgba(229, 197, 141, .045),
    inset 0 0 0 1px rgba(255, 255, 255, .13);
}

body.jd-body .jd-hero__feature-video {
  transform: scale(1.015);
  filter: saturate(.9) contrast(1.03);
}

body.jd-body .jd-hero__clouds {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

body.jd-body .jd-hero__cloud {
  position: absolute;
  display: block;
  width: 70%;
  height: 42%;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 28% 60%, rgba(255, 250, 237, .42) 0 12%, transparent 43%),
    radial-gradient(ellipse at 55% 52%, rgba(231, 214, 186, .32) 0 17%, transparent 51%),
    radial-gradient(ellipse at 78% 62%, rgba(255, 255, 255, .27) 0 10%, transparent 42%);
  filter: blur(15px);
  opacity: 0;
  will-change: transform, opacity;
}

body.jd-body .jd-hero__cloud--one {
  left: -48%;
  bottom: -8%;
  animation: jd-cloud-drift-one 12s ease-in-out infinite;
}

body.jd-body .jd-hero__cloud--two {
  top: -12%;
  right: -52%;
  width: 62%;
  animation: jd-cloud-drift-two 15s 2.5s ease-in-out infinite;
}

body.jd-body .jd-hero__cloud--three {
  left: -55%;
  bottom: 22%;
  width: 48%;
  height: 30%;
  opacity: 0;
  animation: jd-cloud-drift-three 18s 5s linear infinite;
}

@keyframes jd-cloud-drift-one {
  0%, 100% { opacity: 0; transform: translate3d(-8%, 8%, 0) scale(.78); }
  18% { opacity: .58; }
  62% { opacity: .38; }
  88% { opacity: 0; transform: translate3d(215%, -18%, 0) scale(1.18); }
}

@keyframes jd-cloud-drift-two {
  0%, 100% { opacity: 0; transform: translate3d(12%, -5%, 0) scale(.84); }
  22% { opacity: .42; }
  72% { opacity: .28; }
  90% { opacity: 0; transform: translate3d(-205%, 28%, 0) scale(1.12); }
}

@keyframes jd-cloud-drift-three {
  0%, 100% { opacity: 0; transform: translate3d(-10%, 0, 0) scale(.7); }
  24% { opacity: .3; }
  76% { opacity: .2; }
  92% { opacity: 0; transform: translate3d(310%, -12%, 0) scale(1.2); }
}

@media (max-width: 900px) {
  body.jd-body .jd-hero__video-shell { min-height: 50rem; }
  body.jd-body .jd-hero__layout {
    inset: 7rem 1.5rem 8rem;
    grid-template-columns: minmax(0, .85fr) minmax(20rem, 1.15fr);
    gap: 1.5rem;
    width: calc(100% - 3rem);
  }
  body.jd-body .jd-hero--kozy .jd-hero__title-nails { font-size: clamp(4rem, 9vw, 5.2rem); }
}

@media (max-width: 700px) {
  body.jd-body .jd-hero__video-shell { min-height: 52rem; }
  body.jd-body .jd-hero__layout {
    inset: 6.5rem 1.25rem 8.25rem;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 2.25rem;
    width: calc(100% - 2.5rem);
  }
  body.jd-body .jd-hero__feature { max-width: 32rem; }
  body.jd-body .jd-hero__info { left: 1.25rem; right: 1.25rem; }
  body.jd-body .jd-hero__eyebrow { margin-bottom: 1.25rem; }
  body.jd-body .jd-hero--kozy .jd-hero__center h1 em { font-size: clamp(2.45rem, 8vw, 3.5rem); }
}

@media (max-width: 430px) {
  body.jd-body .jd-hero__video-shell { min-height: 50rem; }
  body.jd-body .jd-hero__layout { top: 6rem; gap: 1.6rem; }
  body.jd-body .jd-hero--kozy .jd-hero__title-nails { font-size: clamp(3.6rem, 16vw, 4.4rem); }
  body.jd-body .jd-hero--kozy .jd-hero__title-love { font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.jd-body .jd-hero__cloud { animation: none; opacity: .16; transform: none; }
  body.jd-body .jd-hero__feature-video { transform: none; }
}
