/* core/hero/005_ivory_wave_panel — comments: docs/inv06_css_notes.md (moved out for the before-tap budget, A1489) */
.he005 {
  --he005-tl: min(48vw, 210px);
  --he005-br: min(40vw, 176px);
  --he005-avail: calc((100vw - 12px) * .6);
  position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden; touch-action: pan-y;
  background: var(--k-light-ground); color: var(--k-ink); text-align: center;
  --he005-br-lift: 18px;
}
@supports (overflow: clip) {
  .he005 { overflow: clip; overflow-y: visible; isolation: isolate; }
}
.he005__flecks { position: absolute; z-index: 0; left: 0; right: 0; top: -200px; bottom: 0; pointer-events: none; color: var(--k-foil); }
.he005__flecks svg { width: 100%; height: 100%; max-width: none; }
.he005__fleck-g { fill: currentColor; }
.he005__box { position: relative; margin: 6px; min-height: calc(100vh - 12px); min-height: calc(100svh - 12px); }
.he005__panel { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; }
.he005__panel--back2 { z-index: 1; fill: color-mix(in srgb, var(--k-paper-deep, var(--k-paper)) 80%, #D9CFBE); filter: drop-shadow(6px 9px 10px rgb(47 42 36 / .10)); }
.he005__panel--back1 { z-index: 1; fill: color-mix(in srgb, var(--k-card) 35%, var(--k-paper-deep, var(--k-paper))); filter: drop-shadow(5px 8px 9px rgb(47 42 36 / .10)); }
@media (max-width: 767px) {
  .he005__panel--back1, .he005__panel--back2 {
    -webkit-mask-image: linear-gradient(#000 calc(100% - 120px), transparent); mask-image: linear-gradient(#000 calc(100% - 120px), transparent);
  }
}
.he005__panel--front { z-index: 3; filter: drop-shadow(4px 7px 9px rgb(47 42 36 / .12)); }
.he005__paper { fill: var(--k-card); }
.he005__edge { fill: none; stroke: var(--k-foil); stroke-width: 1.3px; vector-effect: non-scaling-stroke; }
.he005__edge--in { display: none; stroke-width: 1px; opacity: .75; }
.he005__card {
  position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: calc(100vh - 12px); min-height: calc(100svh - 12px);
  padding: calc(var(--he005-tl) * 1.02) 20% calc(var(--he005-br) * 1.6);
}
.he005__blessing { margin-bottom: 8px; font: 500 1.05rem/1.5 var(--k-font-body); color: var(--k-ink-soft); }
.he005__kicker, .he005__announce { text-wrap: balance; font: 600 .74rem/1.6 var(--k-font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--k-ink); }
.he005__announce { margin-top: 10px; font-weight: 500; letter-spacing: .14em; color: var(--k-ink-soft); }
.he005__orn { width: 120px; margin: 12px auto 0; color: var(--k-foil); }
.he005-names { display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 14px; font-weight: 400; }
.he005-name {
  display: block; max-width: 100%; text-wrap: balance; overflow-wrap: anywhere;
  font: 500 max(1.9rem, min(clamp(2.6rem, 11vw, 4.6rem), calc(var(--he005-avail) / (var(--he005-len) * .82))))/1.04 var(--k-font-display);
  letter-spacing: .08em; text-transform: uppercase; color: var(--k-ink);
}
.he005-and { display: flex; align-items: center; justify-content: center; gap: 12px; width: min(100%, 230px); margin: .18em 0 .12em; font: 400 1.9rem/1.1 var(--k-font-script); color: var(--c-primary); }
.he005-and__l { flex: 1; height: 1px; background: var(--k-foil); opacity: .8; }
.he005__date { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; max-width: 330px; margin-top: 20px; }
.he005__side { padding: 9px 2px; white-space: nowrap; border-top: 1px solid var(--k-line); border-bottom: 1px solid var(--k-line); font: 600 .7rem/1.2 var(--k-font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink); }
.he005__mid { display: grid; justify-items: center; padding: 0 10px; margin: 0 6px; border-left: 1px solid var(--k-line); border-right: 1px solid var(--k-line); }
.he005__mon, .he005__yr { font: 600 .66rem/1.3 var(--k-font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--k-ink); }
.he005__day { font: 400 2.7rem/1.02 var(--k-font-display); color: var(--c-primary); }
.he005__rule { width: 170px; margin: 16px auto 0; color: var(--k-foil); }
.he005__venue { display: grid; row-gap: 3px; margin-top: 12px; }
.he005__vname { font: 600 .82rem/1.4 var(--k-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--k-ink); }
.he005__vaddr { font: 500 .78rem/1.5 var(--k-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--k-ink-soft); }
.he005__follow { margin-top: 12px; font: 400 1.5rem/1.3 var(--k-font-script); color: var(--c-primary); }
.he005__hearts { display: block; margin-top: 8px; color: var(--k-foil); }
.he005__heart { width: 14px; height: 14px; margin: 0 auto; }
.he005__spray { z-index: 5; }
.he005__spray--tl { width: var(--he005-tl); left: -6px; top: -6px; }
.he005__spray--br { width: var(--he005-br); right: -6px; bottom: calc(-6px + var(--he005-br-lift)); }
.kjy-opening .he005 .he005__spray--tl .k-spray__tint--petal { -webkit-mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--tl :is(.k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--tl .k-spray__tint--leaf { -webkit-mask-image: url("assets/hero-tl-r2-day-leaf.webp"), url("assets/hero-tl-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-tl-r2-day-leaf.webp"), url("assets/hero-tl-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--tl .k-spray__tint--gold { -webkit-mask-image: url("assets/hero-tl-r2-day-gold.webp"), url("assets/hero-tl-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-tl-r2-day-gold.webp"), url("assets/hero-tl-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--br .k-spray__tint--petal { -webkit-mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--br :is(.k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--br .k-spray__tint--leaf { -webkit-mask-image: url("assets/hero-br-r2-day-leaf.webp"), url("assets/hero-br-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-br-r2-day-leaf.webp"), url("assets/hero-br-r2-day.webp"); mask-composite: intersect; }
.kjy-opening .he005 .he005__spray--br .k-spray__tint--gold { -webkit-mask-image: url("assets/hero-br-r2-day-gold.webp"), url("assets/hero-br-r2-day.webp"); -webkit-mask-composite: source-in; mask-image: url("assets/hero-br-r2-day-gold.webp"), url("assets/hero-br-r2-day.webp"); mask-composite: intersect; }
.he005__spray .k-spray__base { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.he005__thread { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; }
.he005__thread-x { position: absolute; top: 0; left: var(--k-thread-x); width: 0; height: 0; visibility: hidden; }
.he005__stage { position: absolute; z-index: 4; inset: 0; pointer-events: none; }
.he005__thread-line { display: none; position: absolute; z-index: 4; left: var(--k-thread-x); bottom: 0; width: var(--k-thread-w); height: 72px; margin-left: calc(var(--k-thread-w) / -2); background: var(--k-foil); pointer-events: none; }
html:not(.kjy-fx) .he005__thread-line { display: block; }
html:not(.kjy-fx) .he005__thread { display: none; }
@media (min-width: 768px) {
  .he005 { --he005-tl: 290px; --he005-br: 240px; --he005-avail: 360px; display: flex; align-items: center; justify-content: center; padding: 56px 0; }
  .he005__box { width: 600px; margin: 0 auto; min-height: min(1060px, calc(100svh - 112px)); }
  .he005__card { min-height: min(1060px, calc(100svh - 112px)); padding: 290px 21% 210px; }
  .he005__spray--tl { left: -110px; top: -46px; }
  .he005__spray--br { right: -84px; bottom: -52px; }
  .he005__edge--in { display: block; }
}
@media (min-width: 1200px) {
  .he005 { --he005-tl: 380px; --he005-br: 320px; --he005-avail: calc(min(720px, 52vw) * .56); padding: 40px 0; }
  .he005__box { width: min(720px, 52vw); min-height: calc(100svh - 80px); }
  .he005__card { min-height: calc(100svh - 80px); padding: 150px 22% 120px; }
  .he005__spray--tl { left: calc(-230px - max(0px, (1440px - 100vw) * .15)); top: -60px; }
  .he005 { --he005-br-lift: 18px; }
  .he005__spray--br { right: calc(-190px - max(0px, (1440px - 100vw) * .15)); bottom: calc(-50px + var(--he005-br-lift)); }
}
@media (max-height: 500px) and (orientation: landscape) {
  .he005 { --he005-tl: 170px; --he005-br: 150px; --he005-avail: 300px; padding: 16px 0; }
  .he005__box { width: min(560px, 80vw); margin: 0 auto; min-height: 0; }
  .he005__card { min-height: 0; padding: 48px 24% 48px; }
  .he005__spray--tl { left: -120px; top: -20px; }
  .he005__spray--br { right: -110px; bottom: -20px; }
}
.js .he005 [data-he005-in] { opacity: 0; transform: translateY(12px); }
.js.kjy-enter .he005 [data-he005-in] { opacity: 1; transform: none; transition: opacity 1s var(--k-ease), transform 1.2s var(--k-ease); transition-delay: calc(var(--kjy-reveal-at, 0ms) + 300ms + var(--he005-i, 0) * 110ms); }
.js.motion-reduce .he005 [data-he005-in], .js.kjy-instant .he005 [data-he005-in] { opacity: 1; transform: none; transition: none; }
.he005.is-live .he005__spray { filter: none; }
.he005.is-live .he005__spray :is(.k-spray__tint--leaf, .k-spray__tint--gold) { display: none; }
.he005.is-live .he005__spray--tl .k-spray__base { -webkit-mask: url("assets/hero-tl-r2-day-heads.webp") 0 0 / 100% 100% no-repeat; mask: url("assets/hero-tl-r2-day-heads.webp") 0 0 / 100% 100% no-repeat; }
.he005.is-live .he005__spray--br .k-spray__base { -webkit-mask: url("assets/hero-br-r2-day-heads.webp") 0 0 / 100% 100% no-repeat; mask: url("assets/hero-br-r2-day-heads.webp") 0 0 / 100% 100% no-repeat; }
.kjy-opening .he005.is-live .he005__spray--tl :is(.k-spray__tint--petal, .k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day-heads.webp"), url("assets/hero-tl-r2-day.webp"); -webkit-mask-composite: source-in, source-in; mask-image: url("assets/hero-tl-r2-day-petal.webp"), url("assets/hero-tl-r2-day-heads.webp"), url("assets/hero-tl-r2-day.webp"); mask-composite: intersect, intersect; }
.kjy-opening .he005.is-live .he005__spray--br :is(.k-spray__tint--petal, .k-spray__tint--boost, .k-spray__tint--deep) { -webkit-mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day-heads.webp"), url("assets/hero-br-r2-day.webp"); -webkit-mask-composite: source-in, source-in; mask-image: url("assets/hero-br-r2-day-petal.webp"), url("assets/hero-br-r2-day-heads.webp"), url("assets/hero-br-r2-day.webp"); mask-composite: intersect, intersect; }
