/* ==========================================================================
   Meira Rothschild · "an event experience" (5.10): stage intro, zoom into the event, tilted photo wall,
   stacking principles, confetti. Loads everywhere; the editor gets static fallbacks.
   ========================================================================== */

/* ---------- Stage curtain intro: the curtain parts to both sides and the home page is revealed in the middle ---------- */
.ckx-intro { position: fixed; inset: 0; z-index: 2147483600; pointer-events: auto; overflow: hidden; cursor: pointer; }
html:not(.ckx-intro-on) .ckx-intro:not(.is-open) { display: none; }
html.ckx-intro-on, html.ckx-intro-on body { overflow: hidden; }
.ckx-intro__cur { position: absolute; top: 0; bottom: 0; width: 50.6%; z-index: 1; will-change: transform;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 78%, rgba(0,0,0,.4) 100%),
    repeating-linear-gradient(90deg, #262A44 0, #343959 1.6%, #4A5080 3.1%, #3A3F64 4.4%, #23263D 6.4%),
    #2F3350; }
.ckx-intro__cur::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg, #A8865A, #E4CFA8, #A8865A); opacity: .9; }
.ckx-intro__cur--r { right: 0; transform-origin: 100% 50%; box-shadow: inset 3px 0 0 #C9A77A, -14px 0 30px rgba(0,0,0,.45); }
.ckx-intro__cur--l { left: 0; transform-origin: 0% 50%; box-shadow: inset -3px 0 0 #C9A77A, 14px 0 30px rgba(0,0,0,.45); }
.ckx-intro__val { position: absolute; z-index: 4; top: 0; left: 0; right: 0; height: clamp(54px, 9vh, 90px); pointer-events: none;
  background: linear-gradient(180deg, #1E2138, #2F3350 70%, #3A3F64);
  -webkit-mask: radial-gradient(circle at 50% 100%, transparent 18px, #000 19px) 0 0 / 56px 100% repeat-x, linear-gradient(#000, #000) 0 0 / 100% calc(100% - 18px) no-repeat;
          mask: radial-gradient(circle at 50% 100%, transparent 18px, #000 19px) 0 0 / 56px 100% repeat-x, linear-gradient(#000, #000) 0 0 / 100% calc(100% - 18px) no-repeat; }
.ckx-intro__beam { position: absolute; z-index: 0; top: 0; bottom: 0; left: 50%; width: 4px; transform: translateX(-50%); opacity: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(255,236,200,0), rgba(255,240,214,.95), rgba(255,236,200,0)); filter: blur(6px); }
.ckx-intro__spot { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: radial-gradient(42% 46% at 50% 46%, rgba(255,232,190,.22), rgba(255,232,190,0) 70%); }
.ckx-intro__logo { position: absolute; z-index: 3; left: 50%; top: 46%; transform: translate(-50%, -50%); text-align: center; color: #FBF7F4; width: 90vw; }
.ckx-intro__mark { width: 120px; height: 120px; overflow: visible; }
.ckx-intro__mark circle { fill: none; stroke: #E4CFA8; stroke-width: 3.2; }
.ckx-r1 { transform: translateX(-26px); opacity: 0; animation: ckxR1 .95s .15s cubic-bezier(.2,.8,.2,1) forwards; }
.ckx-r2 { transform: translateX(26px); opacity: 0; animation: ckxR2 .95s .15s cubic-bezier(.2,.8,.2,1) forwards; }
.ckx-lens { fill: #E0616A; opacity: 0; transform-origin: 60px 60px; transform: scale(.2); animation: ckxLens .5s 1s cubic-bezier(.3,1.6,.5,1) forwards; }
@keyframes ckxR1 { to { transform: none; opacity: 1; } }
@keyframes ckxR2 { to { transform: none; opacity: 1; } }
@keyframes ckxLens { to { transform: none; opacity: 1; } }
.ckx-intro__name { margin-top: 14px; font-family: var(--ck-head); font-weight: 300; font-size: clamp(30px, 5vw, 46px); letter-spacing: .01em; opacity: 0; transform: translateY(10px); animation: ckxUp .7s 1.05s ease forwards; }
.ckx-intro__tag { margin-top: 8px; font-family: var(--ck-body); font-size: 14px; letter-spacing: .14em; color: #E4CFA8; opacity: 0; transform: translateY(10px); animation: ckxUp .7s 1.25s ease forwards; }
@keyframes ckxUp { to { opacity: 1; transform: none; } }

/* the opening */
.ckx-intro.is-open { pointer-events: none; }
.ckx-intro.is-open .ckx-intro__logo { animation: ckxLogoOut .5s cubic-bezier(.5,0,.75,0) forwards; }
.ckx-intro.is-open .ckx-intro__spot { animation: ckxFade .5s ease forwards; }
.ckx-intro.is-open .ckx-intro__val { animation: ckxValUp .9s .35s cubic-bezier(.65,0,.35,1) forwards; }
.ckx-intro.is-open .ckx-intro__cur--r { animation: ckxCurR 1.6s .3s cubic-bezier(.62,0,.22,1) forwards; }
.ckx-intro.is-open .ckx-intro__cur--l { animation: ckxCurL 1.6s .3s cubic-bezier(.62,0,.22,1) forwards; }
.ckx-intro.is-open .ckx-intro__beam { animation: ckxBeam 1.3s .3s ease-out forwards; }
@keyframes ckxLogoOut { from { opacity: 1; transform: translate(-50%, -50%); } to { opacity: 0; transform: translate(-50%, -58%) scale(.9); } }
@keyframes ckxFade { to { opacity: 0; } }
@keyframes ckxValUp { to { transform: translateY(-110%); } }
@keyframes ckxCurR {
  0% { transform: none; }
  12% { transform: translateX(-1.4%) scaleX(1.015); }
  45% { transform: scaleX(.55) skewX(-2.5deg); }
  75% { transform: scaleX(.16) skewX(-1deg); }
  100% { transform: translateX(104%) scaleX(.1); }
}
@keyframes ckxCurL {
  0% { transform: none; }
  12% { transform: translateX(1.4%) scaleX(1.015); }
  45% { transform: scaleX(.55) skewX(2.5deg); }
  75% { transform: scaleX(.16) skewX(1deg); }
  100% { transform: translateX(-104%) scaleX(.1); }
}
@keyframes ckxBeam { 0% { opacity: 0; width: 4px; } 18% { opacity: 1; width: 40px; } 60% { opacity: .55; width: 70vw; } 100% { opacity: 0; width: 100vw; } }
.ckx-intro.is-gone { display: none; }

/* the home page behind the curtain steps forward as it opens */
html.ckx-revealing body > .elementor-location-header,
html.ckx-revealing body > div.elementor:not(.elementor-location-popup) { animation: ckxPageIn 1.8s .3s cubic-bezier(.3,0,.2,1) both; transform-origin: 50% 30vh; }
@keyframes ckxPageIn { 0% { transform: scale(1.07); filter: brightness(.55) saturate(.8); } 100% { transform: none; filter: none; } }

/* ---------- Zoom: walking into the event ---------- */
.ckx-zoom__track { height: 300vh; height: 300svh; position: relative; }
.ckx-zoom__stage { --o: 1; --t: 1; --c: 0; position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden;
  background: radial-gradient(75% 65% at 50% 48%, #3B4063, #2F3350 58%, #23263D); }
.ckx-zoom__lay { position: absolute; inset: 0; z-index: 1; transform-origin: 50% 50%; pointer-events: none; will-change: transform; }
.ckx-zoom__lay.ckx-l0 { z-index: 0; }
.ckx-zoom__pic { position: absolute; margin: 0; left: calc(50% + (var(--x) - var(--w) / 2) * 1%); top: calc(50% + (var(--y) - var(--h) / 2) * 1%);
  width: calc(var(--w) * 1%); height: calc(var(--h) * 1%); border-radius: 12px; overflow: hidden; background: #3B4063;
  box-shadow: 0 26px 46px -22px rgba(0,0,0,.7), 0 0 0 1px rgba(201,167,122,.25); }
.ckx-zoom__pic img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; max-width: none !important; }
.ckx-l0 { --x: 0; --y: 0; --w: 26; --h: 26; }
.ckx-l1 { --x: -3; --y: -27.5; --w: 30; --h: 22; --s: 5; }
.ckx-l2 { --x: 26; --y: -9; --w: 17; --h: 38; --s: 6; }
.ckx-l3 { --x: -29; --y: -1; --w: 24; --h: 24; --s: 5; }
.ckx-l4 { --x: -20; --y: 27; --w: 28; --h: 22; --s: 7; }
.ckx-l5 { --x: 10; --y: 26; --w: 22; --h: 20; --s: 6; }
.ckx-l6 { --x: 32; --y: 24; --w: 15; --h: 18; --s: 9; }
.ckx-zoom__shade { position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: var(--c);
  background: linear-gradient(to top, rgba(30,33,56,.92), rgba(30,33,56,.55) 42%, rgba(30,33,56,0) 74%); }
.ckx-zoom__kick { position: absolute; z-index: 3; bottom: 58px; left: 0; right: 0; margin: 0; text-align: center; opacity: var(--o);
  color: #C9A77A; font-family: var(--ck-body); font-weight: 600; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: .08em; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.ckx-zoom__cap { position: absolute; z-index: 3; left: 0; right: 0; bottom: clamp(48px, 13vh, 120px); padding: 0 22px; text-align: center; color: #FBF7F4;
  opacity: var(--c); transform: translateY(calc((1 - var(--c)) * 30px)); pointer-events: none; }
.ckx-zoom__cap h2 { margin: 0; font-family: var(--ck-head); font-weight: 300; font-size: clamp(42px, 7vw, 96px); line-height: 1.05; color: #FBF7F4; }
.ckx-zoom__cap h2 b { font-weight: 500; color: #E4CFA8; }
.ckx-zoom__cap p { margin: 16px 0 0; font-size: clamp(15px, 1.4vw, 19px); color: #E3D8DC; }
.ckx-zoom__hint { position: absolute; z-index: 3; left: 0; right: 0; bottom: 18px; display: flex; flex-direction: column; align-items: center; gap: 4px;
  font-size: 13px; letter-spacing: .08em; color: #E4CFA8; opacity: var(--t); pointer-events: none; }
.ckx-zoom__hint svg { animation: ckxBob .8s ease-in-out infinite alternate; }
@keyframes ckxBob { to { transform: translateY(6px); } }
@media (max-width: 767px) {
  .ckx-l0 { --w: 50; --h: 27; }
  .ckx-l1 { --x: -24.5; --y: -27; --w: 43; --h: 19; --s: 5; }
  .ckx-l2 { --x: 24; --y: -26; --w: 44; --h: 17; --s: 7; }
  .ckx-l4 { --x: -23.5; --y: 22; --w: 45; --h: 16; --s: 6; }
  .ckx-l6 { --x: 24.5; --y: 23; --w: 43; --h: 18; --s: 8; }
  .ckx-zoom__kick { bottom: 104px; }
  .ckx-zoom__hint { display: none; }
  .ckx-zoom__cap { bottom: 104px; }
  .ckx-l3, .ckx-l5 { display: none; }
  .ckx-zoom__track { height: 240vh; height: 240svh; }
}
.elementor-editor-active .ckx-zoom__track { height: auto; }
.elementor-editor-active .ckx-zoom__stage { position: relative; height: 80vh; --c: 1; }

/* ---------- Tilted wall of real event photos ---------- */
.ckx-wall { --cw: 250px; --gap: 22px; position: relative; height: max(640px, min(100vh, 900px)); overflow: hidden; display: flex; align-items: center; isolation: isolate; background: #262A44; }
.ckx-wall__scene { position: absolute; inset: 0; perspective: 1700px; perspective-origin: 50% 40%; z-index: 0; }
.ckx-wall__wall { position: absolute; left: 34%; top: 50%; display: flex; gap: var(--gap); align-items: flex-start;
  transform: translate(-50%, -50%) rotateX(38deg) rotateZ(-24deg); transform-style: preserve-3d; height: 160vh; }
.ckx-wall__col { width: var(--cw); flex: none; transform-style: preserve-3d; }
.ckx-wall__roll { animation: ckxRoll var(--d, 60s) linear infinite; will-change: transform; }
.ckx-wall__col:nth-child(even) .ckx-wall__roll { animation-direction: reverse; }
@keyframes ckxRoll { to { transform: translate3d(0, -50%, 0); } }
.ckx-wall__card { position: relative; margin: 0 0 var(--gap); aspect-ratio: var(--ar, 3/4); border-radius: 16px; overflow: hidden; background: #3B4063;
  box-shadow: 0 30px 50px -24px rgba(0,0,0,.75); transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .5s; filter: saturate(.92) brightness(.9); }
.ckx-wall__card img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; max-width: none !important; }
.ckx-wall__card figcaption { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 6px 10px; border-radius: 99px; background: rgba(30,33,56,.6);
  color: #FBF7F4; font-size: 12px; line-height: 1.35; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .4s; }
@media (hover: hover) {
  .ckx-wall__card:hover { transform: translateZ(60px) scale(1.05); filter: none; }
  .ckx-wall__card:hover figcaption { opacity: 1; transform: none; }
  .ckx-wall__col:hover .ckx-wall__roll { animation-play-state: paused; }
}
.ckx-wall__fade { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to left, #262A44 0, #262A44 30%, rgba(38,42,68,.86) 45%, rgba(38,42,68,.3) 62%, rgba(38,42,68,0) 76%),
              linear-gradient(to bottom, rgba(38,42,68,.8), rgba(38,42,68,0) 18%, rgba(38,42,68,0) 82%, rgba(38,42,68,.9)); }
.ckx-wall__copy { position: relative; z-index: 2; width: min(520px, 44%); margin-right: clamp(24px, 8vw, 130px); color: #FBF7F4; }
.ckx-wall__kick { margin: 0; display: flex; align-items: center; gap: 12px; color: #C9A77A; font-weight: 600; font-size: 14px; letter-spacing: .06em; }
.ckx-wall__kick::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: #C9A77A; }
.ckx-wall__copy h2 { margin: 16px 0 0; font-family: var(--ck-head); font-weight: 300; font-size: clamp(40px, 5vw, 72px); line-height: 1.06; color: #FBF7F4; }
.ckx-wall__copy h2 b { font-weight: 400; color: #E4CFA8; }
.ckx-wall__lead { margin: 20px 0 0; max-width: 440px; font-size: 18px; line-height: 1.75; color: #D9CDD2; }
.ckx-wall__btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; min-height: 52px; padding: 0 28px; border-radius: 99px;
  background: #C9A77A; color: #2F3350 !important; font-weight: 700; text-decoration: none; transition: transform .3s, box-shadow .3s; }
.ckx-wall__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.3); }
@media (max-width: 1024px) { .ckx-wall { --cw: 210px; } .ckx-wall__wall { left: 26%; } .ckx-wall__copy { width: min(440px, 52%); } }
@media (max-width: 767px) {
  .ckx-wall { --cw: min(170px, 44vw); --gap: 14px; height: max(720px, 100svh); align-items: flex-end; }
  .ckx-wall__wall { left: 50%; top: 30%; transform: translate(-50%, -50%) rotateX(26deg) rotateZ(-14deg); }
  .ckx-wall__col:nth-child(n+3) { display: none; }
  .ckx-wall__fade { background: linear-gradient(to top, #262A44 0, #262A44 38%, rgba(38,42,68,.85) 52%, rgba(38,42,68,0) 76%), linear-gradient(to bottom, rgba(38,42,68,.7), rgba(38,42,68,0) 14%); }
  .ckx-wall__copy { width: 100%; margin: 0; padding: 0 20px 44px; }
  .ckx-wall__lead { font-size: 16.5px; }
}
.elementor-editor-active .ckx-wall__roll { animation: none; }

/* ---------- Principles stack as you scroll (desktop) ---------- */
@media (min-width: 1025px) {
  .ck-principles .ck-pgrid { display: flex !important; flex-direction: column; gap: 0 !important; max-width: 900px; margin-inline: auto; grid-template-columns: none !important; }
  .ck-principles .ck-pgrid > .ck-pcard { position: sticky; top: calc(118px + var(--k, 0) * 26px); margin: 0 0 46px !important; grid-column: auto !important;
    display: grid !important; grid-template-columns: 96px 1fr; column-gap: 34px; align-items: start; min-height: 250px;
    box-shadow: 0 -8px 40px rgba(47,51,80,.07), 0 20px 50px rgba(47,51,80,.1) !important; transform: none !important; }
  .ck-principles .ck-pgrid > .ck-pcard > .ck-pnum { grid-row: 1 / span 3; }
  .ck-principles .ck-pgrid > .ck-pcard > .ck-pnum .elementor-heading-title { width: 86px; height: 86px; font-size: 42px !important; }
  .ck-principles .ck-pgrid > .ck-pcard h3.elementor-heading-title { font-size: 30px; }
  .ck-principles .ck-pgrid > .ck-pcard:nth-child(1) { --k: 0; } .ck-principles .ck-pgrid > .ck-pcard:nth-child(2) { --k: 1; }
  .ck-principles .ck-pgrid > .ck-pcard:nth-child(3) { --k: 2; } .ck-principles .ck-pgrid > .ck-pcard:nth-child(4) { --k: 3; }
  .ck-principles .ck-pgrid > .ck-pcard:nth-child(5) { --k: 4; margin-bottom: 0 !important; }
}

/* ---------- Confetti over the closing invitation ---------- */
.ckx-confetti { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }

/* ---------- Marquee reacts to scroll speed ---------- */
.ck-marquee .elementor-heading-title { transition: transform .5s cubic-bezier(.2,.7,.2,1); }

/* ---------- Omram's PC runs with Windows animations off; base.css then cuts every animation to 0.
   The event experience is the point of these pieces, so they keep their real timing. ---------- */
@media (prefers-reduced-motion: reduce) {
  .ckx-intro .ckx-r1, .ckx-intro .ckx-r2 { animation-duration: .95s !important; }
  .ckx-intro .ckx-lens, .ckx-intro.is-open .ckx-intro__logo, .ckx-intro.is-open .ckx-intro__spot { animation-duration: .5s !important; }
  .ckx-intro .ckx-intro__name, .ckx-intro .ckx-intro__tag { animation-duration: .7s !important; }
  .ckx-intro.is-open .ckx-intro__val { animation-duration: .9s !important; }
  .ckx-intro.is-open .ckx-intro__cur { animation-duration: 1.6s !important; }
  .ckx-intro.is-open .ckx-intro__beam { animation-duration: 1.3s !important; }
  html.ckx-revealing body > .elementor-location-header, html.ckx-revealing body > div.elementor:not(.elementor-location-popup) { animation-duration: 1.8s !important; }
  .ckx-wall .ckx-wall__roll { animation-duration: var(--d, 60s) !important; }
  .ckx-wall .ckx-wall__card, .ckx-wall .ckx-wall__card figcaption { transition-duration: .5s !important; }
  .ckx-zoom .ckx-zoom__hint svg { animation-duration: .8s !important; }
}


/* ==========================================================================
   14.10 · Version 2 cover (Meira: "not the circles, a cover that shows connection, bigger heading, more order")
   ========================================================================== */
.ck-hero2 { position: relative; overflow: hidden; background-image: radial-gradient(46% 60% at 22% 42%, rgba(228,207,168,.38), rgba(228,207,168,0) 70%) !important; }
.ck-h2-title .elementor-heading-title { font-size: clamp(46px, min(6.2vw, 9.4vh), 100px) !important; line-height: 1.04 !important; letter-spacing: -.01em; }
.ck-h2-title em { position: relative; font-style: normal; font-weight: 500; color: #B8935F; white-space: nowrap; }
.ck-h2-title em::after { content: ""; position: absolute; right: -2%; left: -4%; bottom: -.16em; height: .3em; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 30' preserveAspectRatio='none'%3E%3Cpath d='M4 20 C 80 4, 210 2, 296 16' fill='none' stroke='%23C9A77A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.ck-h2-title em::before { content: ""; position: absolute; left: -.42em; top: -.08em; width: .34em; height: .34em; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='%23C9A77A' d='M0 -1 C.16 -.16 .16 -.16 1 0 C.16 .16 .16 .16 0 1 C-.16 .16 -.16 .16 -1 0 C-.16 -.16 -.16 -.16 0 -1Z'/%3E%3C/svg%3E") center / contain no-repeat;
  animation: ckxTwinkle 2.6s ease-in-out infinite; }
@keyframes ckxTwinkle { 0%, 100% { opacity: .35; transform: scale(.7) rotate(0); } 50% { opacity: 1; transform: scale(1.05) rotate(45deg); } }
.ck-h2-lead { max-width: 560px; }
.ck-h2-pic { position: relative; }
.ck-h2-photo { position: relative; isolation: isolate; width: min(380px, 37vh, 100%) !important; margin-inline: auto; }
.ck-h2-photo img { display: block; width: 100% !important; aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; object-position: 50% 16%;
  border-radius: 999px 999px 26px 26px; box-shadow: 0 40px 70px -40px rgba(47,51,80,.55); }
.ck-h2-photo::before { content: ""; position: absolute; inset: 0; transform: translate(-18px, 18px); border: 1.5px solid #C9A77A; border-radius: 999px 999px 26px 26px; z-index: -1; }
.ck-h2-photo::after { content: ""; position: absolute; width: 34%; aspect-ratio: 1; left: 2%; top: 14%; pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='%23FFF3DC' d='M0 -1 C.14 -.14 .14 -.14 1 0 C.14 .14 .14 .14 0 1 C-.14 .14 -.14 .14 -1 0 C-.14 -.14 -.14 -.14 0 -1Z'/%3E%3C/svg%3E") 70% 10% / 26% no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='%23E4CFA8' d='M0 -1 C.14 -.14 .14 -.14 1 0 C.14 .14 .14 .14 0 1 C-.14 .14 -.14 .14 -1 0 C-.14 -.14 -.14 -.14 0 -1Z'/%3E%3C/svg%3E") 10% 60% / 14% no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='%23FFF3DC' d='M0 -1 C.14 -.14 .14 -.14 1 0 C.14 .14 .14 .14 0 1 C-.14 .14 -.14 .14 -1 0 C-.14 -.14 -.14 -.14 0 -1Z'/%3E%3C/svg%3E") 92% 80% / 10% no-repeat;
  filter: drop-shadow(0 0 6px rgba(255,236,190,.9)); animation: ckxTwinkle 3.2s ease-in-out infinite; }

/* the garland: real moments hanging on a string of lights */
.ckx-garland { --wire: 60px; position: relative; margin-top: clamp(8px, 1.6vh, 22px); }
.ckx-garland__label { margin: 0 0 6px; text-align: center; font-family: var(--ck-body); font-weight: 600; font-size: 14px; letter-spacing: .08em; color: #8C6A74; }
.ckx-garland__track { overflow: visible; }
.ckx-garland__rail { position: relative; padding-top: 0; }
.ckx-garland__wire { position: absolute; left: 0; top: 0; width: 100%; height: var(--wire); overflow: visible; }
.ckx-garland__wire path { fill: none; stroke: #B8935F; stroke-width: 1.6; }
.ckx-garland__bulb { position: absolute; z-index: 2; width: 11px; height: 11px; margin: -4px 0 0 -5.5px; border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #FFFBEF, #FFE2A6 45%, #E9B864 75%);
  box-shadow: 0 0 10px 3px rgba(255,214,140,.75), 0 0 26px 8px rgba(255,214,140,.32);
  animation: ckxBulb 2.4s ease-in-out infinite; animation-delay: calc(var(--b) * -.37s); }
@keyframes ckxBulb { 0%, 100% { opacity: 1; } 50% { opacity: .55; box-shadow: 0 0 6px 2px rgba(255,214,140,.5), 0 0 14px 4px rgba(255,214,140,.18); } }
.ckx-garland__list { position: relative; z-index: 1; display: flex; margin: 0; padding: 0; list-style: none; }
.ckx-garland__list > li { flex: 1 1 0; display: flex; justify-content: center; padding-top: 25px; }
.ckx-garland__card { position: relative; margin: 0; width: min(176px, 19vh, 84%); padding: 9px 9px 0; background: #FFFDF9; border-radius: 6px;
  box-shadow: 0 18px 34px -18px rgba(47,51,80,.5), 0 2px 6px rgba(47,51,80,.08);
  transform-origin: 50% 0; transform: rotate(calc((var(--i) - 2.5) * 1.4deg));
  animation: ckxSwing 5.5s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -.9s); }
.ckx-garland__list > li:nth-child(even) .ckx-garland__card { animation-direction: alternate-reverse; }
@keyframes ckxSwing { from { rotate: -2.2deg; } to { rotate: 2.2deg; } }
.ckx-garland__card img { display: block; width: 100% !important; aspect-ratio: 4 / 3.15; height: auto !important; object-fit: cover; border-radius: 3px; }
.ckx-garland__card figcaption { font-style: normal; padding: 7px 2px 9px; text-align: center; font-family: var(--ck-body); font-weight: 600; font-size: 13px; line-height: 1.3; color: #2F3350; }
.ckx-garland__clip { position: absolute; z-index: 2; top: -9px; left: 50%; width: 9px; height: 20px; margin-left: -4.5px; border-radius: 2px;
  background: linear-gradient(90deg, #A8865A, #E4CFA8 50%, #A8865A); box-shadow: 0 1px 2px rgba(0,0,0,.2); }
@media (hover: hover) {
  .ckx-garland__card { transition: box-shadow .4s; }
  .ckx-garland__card:hover { animation-play-state: paused; box-shadow: 0 26px 44px -18px rgba(47,51,80,.6); }
}
@media (max-width: 1024px) {
  .ck-h2-photo { width: min(360px, 74%) !important; }
}
@media (max-width: 767px) {
  .ck-h2-photo { width: min(270px, 70%) !important; }
  .ck-h2-photo img { aspect-ratio: 4 / 4.6; }
  .ck-h2-photo::before { transform: translate(-12px, 12px); }
  .ck-h2-title .elementor-heading-title { font-size: clamp(42px, 12vw, 54px) !important; }
  .ck-h2-words { align-items: center !important; text-align: center; }
  .ck-h2-words .ck-kicker, .ck-h2-words .elementor-widget-text-editor { text-align: center; }
  .ck-h2-words .ck-rise.e-con, .ck-h2-words > .e-con-inner > .e-con { justify-content: center !important; }
  .ckx-garland__track { overflow-x: auto; overflow-y: visible; margin-inline: -16px; padding: 0 16px 18px; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .ckx-garland__track::-webkit-scrollbar { display: none; }
  .ckx-garland__rail { width: calc(var(--n) * 146px); }
  .ckx-garland__list > li { scroll-snap-align: center; }
  .ckx-garland__card { width: 124px; }
  .ckx-garland__card figcaption { font-size: 12px; }
}

/* stage curtain: the MR mark with twinkling light */
.ckx-intro__mr { position: relative; width: 170px; height: 142px; margin: 0 auto; opacity: 0; transform: scale(.86); animation: ckxUp .9s .15s cubic-bezier(.2,.8,.2,1) forwards; }
.ckx-intro__mr img { width: 100%; height: 100%; display: block; }
.ckx-tw { position: absolute; display: block; width: 26px; height: 26px; opacity: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='%23FFF3DC' d='M0 -1 C.14 -.14 .14 -.14 1 0 C.14 .14 .14 .14 0 1 C-.14 .14 -.14 .14 -1 0 C-.14 -.14 -.14 -.14 0 -1Z'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 0 8px rgba(255,236,190,.95)); animation: ckxFlash 1.1s ease-out forwards; }
.ckx-tw1 { right: 4%; top: 6%; animation-delay: .95s; }
.ckx-tw2 { right: 22%; top: -8%; width: 16px; height: 16px; animation-delay: 1.2s; }
@keyframes ckxFlash { 0% { opacity: 0; transform: scale(.2) rotate(0); } 40% { opacity: 1; transform: scale(1.25) rotate(45deg); } 100% { opacity: .85; transform: scale(1) rotate(90deg); } }
@media (prefers-reduced-motion: reduce) {
  .ckx-intro .ckx-intro__mr { animation-duration: .9s !important; }
  .ckx-intro .ckx-tw { animation-duration: 1.1s !important; }
  .ck-h2-title em::before { animation-duration: 2.6s !important; }
  .ck-h2-photo::after { animation-duration: 3.2s !important; }
  .ckx-garland .ckx-garland__bulb { animation-duration: 2.4s !important; }
  .ckx-garland .ckx-garland__card { animation-duration: 5.5s !important; }
}


/* 14.10 round 2: the string of lights is tied to her raised glass (drawn by experience.js, desktop only) */
.ckx-thread { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; pointer-events: none; overflow: visible; }
.ckx-thread path { fill: none; stroke: #B8935F; stroke-width: 1.6; stroke-linecap: round; }
.ckx-thread .ckx-thread__bulb { fill: #FFE7B0; filter: drop-shadow(0 0 5px rgba(255,214,140,.95)); animation: ckxBulb 2.4s ease-in-out infinite; }
.ckx-thread .ckx-thread__bulb:nth-of-type(2) { animation-delay: -1.1s; }
.ckx-thread .ckx-thread__spark { fill: #FFF3DC; filter: drop-shadow(0 0 7px rgba(255,236,190,1)); transform-box: fill-box; transform-origin: center; animation: ckxTwinkle 2.2s ease-in-out infinite; }
.ckx-garland__card a { display: block; cursor: zoom-in; }
/* version 2 = calmer rhythm: every section heading the same size */
body.ckm-v2 .e-con > .e-con-inner > .e-con .ck-split .elementor-heading-title,
body.ckm-v2 .ck-split.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(34px, 3.4vw, 52px) !important; line-height: 1.18 !important; }
body.ckm-v2 .ck-h2-title .elementor-heading-title { font-size: clamp(46px, min(6.2vw, 9.4vh), 100px) !important; line-height: 1.04 !important; }
@media (max-width: 767px) {
  body.ckm-v2 .e-con > .e-con-inner > .e-con .ck-split .elementor-heading-title,
  body.ckm-v2 .ck-split.elementor-widget-heading h2.elementor-heading-title { font-size: 31px !important; }
  body.ckm-v2 .ck-h2-title .elementor-heading-title { font-size: clamp(42px, 12vw, 54px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ckx-thread .ckx-thread__bulb { animation-duration: 2.4s !important; }
  .ckx-thread .ckx-thread__spark { animation-duration: 2.2s !important; }
  .ckx-thread path.is-drawing { transition-duration: 1.8s !important; }
}

/* 14.10 v3: the wall as the main cover (full screen, H1, two buttons) */
.ckx-wall--hero { height: 100vh; height: 100svh; min-height: 640px; }
.ckx-wall__copy h1 { margin: 16px 0 0; font-family: var(--ck-head); font-weight: 300; font-size: clamp(44px, 5.2vw, 84px); line-height: 1.06; color: #FBF7F4; }
.ckx-wall__copy h1 b { font-weight: 400; color: #E4CFA8; }
.ckx-wall__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ckx-wall__btns .ckx-wall__btn { margin-top: 0; }
.ckx-wall__btn--ghost { background: transparent; color: #FBF7F4 !important; box-shadow: inset 0 0 0 1px rgba(251,247,244,.55); }
.ckx-wall__btn--ghost:hover { background: rgba(251,247,244,.08); }
.ckx-wall--hero .ckx-wall__copy { padding-top: 60px; }
@media (max-width: 767px) {
  .ckx-wall--hero { height: auto; min-height: 100svh; }
  .ckx-wall--hero .ckx-wall__copy { padding-bottom: 110px; }
  .ckx-wall__copy h1 { font-size: clamp(38px, 10.5vw, 46px); }
}
body .ckx-wall .ckx-wall__btns .ckx-wall__btn--ghost { background: transparent !important; color: #FBF7F4 !important; box-shadow: inset 0 0 0 1px rgba(251,247,244,.55); }
.ckx-wall--hero .ckx-wall__copy { width: min(660px, 50%); }
.ckx-wall--hero .ckx-wall__copy h1 { font-size: clamp(42px, 4.5vw, 76px); }
@media (max-width: 1024px) { .ckx-wall--hero .ckx-wall__copy { width: min(560px, 58%); } }
@media (max-width: 767px) { .ckx-wall--hero .ckx-wall__copy { width: 100%; } .ckx-wall--hero .ckx-wall__copy h1 { font-size: clamp(36px, 10vw, 44px); } }

/* 14.10: Meira's own logo - the name in the header always takes her burgundy on a light header (white over a dark cover) */
html body.ckm-hero-light .ckm-header .ckm-wordmark .elementor-heading-title,
html body.ckm-scrolled .ckm-header .ckm-wordmark .elementor-heading-title { color: #481028 !important; }
