/* ==========================================================================
   Meira Rothschild · "connection between people" design layer (loads everywhere, editor included)
   ========================================================================== */
:root { --ck-red: #B3262F; --ck-mauve: #8C6A74; --ck-blush: #F7F1EC; --ck-blush2: #EFE3DC; --ck-navy: #2F3350; --ck-thread: #C9A77A; }
body { font-size: 18.5px; }
.elementor-widget-text-editor p { margin-bottom: .9em; }
.ck-kicker .elementor-heading-title, .ck-kicker.elementor-widget-heading .elementor-heading-title { letter-spacing: .03em !important; font-weight: 600; font-size: 14.5px; color: var(--ck-mauve); }
.ck-kicker .elementor-heading-title::before { width: 26px; height: 2px; border-radius: 2px; background: var(--ck-gold); opacity: 1; }
.ck-on-dark.ck-kicker .elementor-heading-title, .ck-on-dark .ck-kicker .elementor-heading-title { color: var(--ck-gold); }

/* header wordmark */
.ckm-wordmark .elementor-heading-title { line-height: 1; letter-spacing: 0; white-space: nowrap; }
.ckm-wordmark small { font-family: var(--ck-body); font-size: 11.5px; letter-spacing: .08em; text-transform: none; font-weight: 500; opacity: .8; margin-top: 5px; }
.ckm-logo img { display: block; }
@media (max-width: 400px) { .ckm-wordmark small { display: none; } }
.ckm-side__logo img { width: 190px; }
.ckm-side__li { font-size: 14px; color: var(--ck-mauve); text-decoration: none; }

/* golden thread shortcode ([ckm_thread]) */
.ckt { display: block; width: 100%; height: 100%; overflow: visible; }
.ckt-line { fill: none; stroke: var(--ck-thread); stroke-width: 1.6; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.ckt-knot circle:first-child { fill: none; stroke: var(--ck-thread); stroke-width: 1.2; vector-effect: non-scaling-stroke; opacity: .55; }
.ckt-knot circle:last-child { fill: var(--ck-thread); }
.elementor-widget-shortcode.ck-hero-thread, .elementor-widget-shortcode.ck-q-thread, .elementor-widget-shortcode.ck-cta-thread {
  position: absolute !important; left: 0; right: 0; pointer-events: none; z-index: 1 !important; margin: 0 !important; width: 100% !important; }
.ck-hero-thread { bottom: 4%; height: 150px; opacity: .8; }
.ck-q-thread { top: 50%; height: 240px; transform: translateY(-50%); opacity: .35; }
.ck-cta-thread { bottom: 8%; height: 180px; opacity: .45; }
.ck-thread-light .ckt-line { stroke: #D9BFA0; }
.ck-hero-thread .elementor-widget-container, .ck-q-thread .elementor-widget-container, .ck-cta-thread .elementor-widget-container,
.ck-hero-thread .elementor-shortcode, .ck-q-thread .elementor-shortcode, .ck-cta-thread .elementor-shortcode { height: 100%; }
@media (max-width: 767px) { .ck-hero-thread { height: 80px; } .ck-q-thread { height: 140px; } }

/* home hero */
.ck-hero-home { position: relative; overflow: hidden; }
.ck-hero-home::before { content: ""; position: absolute; width: 60vw; height: 60vw; max-width: 900px; max-height: 900px; left: -12vw; top: -14vw;
  border-radius: 50%; background: radial-gradient(circle, rgba(201,167,122,.18), rgba(201,167,122,0) 65%); pointer-events: none; }
.ck-h1-home .elementor-heading-title { font-size: clamp(44px, 5.6vw, 88px) !important; line-height: 1.04 !important; }
.ck-tagline .elementor-heading-title { display: inline-flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; letter-spacing: .06em; }
.ck-tagline .elementor-heading-title i { width: 6px; height: 6px; border-radius: 50%; background: var(--ck-red); display: inline-block; opacity: .85; }

/* constellation */
.ck-constel { position: relative; width: 100%; height: clamp(540px, 74vh, 720px); }
.ck-constel > .ck-node { position: absolute !important; margin: 0 !important; z-index: 2; transform: translate(var(--px, 0), var(--py, 0)); }
.ck-constel > .elementor-widget-image.ck-node img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 6px solid #fff; box-shadow: 0 18px 44px rgba(47,51,80,.18); aspect-ratio: 1; transition: transform .7s var(--ck-ease); display: block; }
.ck-constel > .elementor-widget-image.ck-node:hover img { transform: scale(1.06); }
.ck-node-1 { width: 138px !important; top: 2%; right: 8%; }
.ck-node-2 { width: 168px !important; top: 8%; left: 2%; }
.ck-node-3 { width: 124px !important; top: 46%; left: -2%; }
.ck-node-4 { width: 176px !important; bottom: 0; left: 16%; }
.ck-node-5 { width: 112px !important; top: 42%; right: -3%; }
.ck-node-6 { width: 150px !important; bottom: 3%; right: 10%; }
.ck-constel > .ck-node-center { width: 46% !important; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3; aspect-ratio: 1; padding: 0 !important; border-radius: 50%; overflow: hidden;
  background: radial-gradient(circle at 50% 38%, #fff 0%, var(--ck-blush2) 58%, #E5CFC4 100%); box-shadow: 0 0 0 10px #fff, 0 0 0 11px rgba(201,167,122,.5), 0 30px 70px rgba(47,51,80,.18); }
.ck-node-center .ck-node-meira { position: absolute !important; left: 0; right: 0; bottom: 0; top: 7%; margin: 0 !important; }
.ck-node-center .ck-node-meira .elementor-widget-container { height: 100%; }
.ck-node-center .ck-node-meira img { width: 100%; height: 100%; object-fit: cover; object-position: 62% top; }
.ck-constel-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; z-index: 1; pointer-events: none; }
.ck-cl { fill: none; stroke: var(--ck-thread); stroke-width: 1.6; stroke-linecap: round; transition: stroke .4s, stroke-width .4s, opacity .4s; }
.ck-cl-ring { stroke-dasharray: 3 7; opacity: .65; }
.ck-cl.is-hot { stroke: var(--ck-red); stroke-width: 2.4; opacity: 1; }
.ck-spark { fill: var(--ck-red); filter: drop-shadow(0 0 4px rgba(179,38,47,.6)); }
.ck-chip { position: absolute !important; z-index: 4; margin: 0 !important; width: auto !important; }
.ck-chip .elementor-heading-title { display: inline-flex; gap: 8px; align-items: center; background: #fff; border-radius: 99px; padding: 10px 18px; font-size: 14px; font-weight: 600; color: var(--ck-navy); box-shadow: 0 12px 30px rgba(47,51,80,.14); white-space: nowrap; }
.ck-chip .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ck-red); }
.ck-chip b { font-family: var(--ck-head); font-size: 20px; font-weight: 500; color: var(--ck-red); }
.ck-chip-a { top: 24%; right: 22%; }
.ck-chip-b { bottom: 21%; left: 34%; }
@media (max-width: 1024px) { .ck-constel { height: 560px; max-width: 640px; margin-inline: auto; } }
@media (max-width: 767px) {
  .ck-constel { height: 430px; }
  .ck-node-1 { width: 86px !important; } .ck-node-2 { width: 100px !important; } .ck-node-3 { width: 78px !important; left: 0; }
  .ck-node-4 { width: 104px !important; left: 6%; } .ck-node-5 { width: 72px !important; right: 0; } .ck-node-6 { width: 92px !important; right: 4%; }
  .ck-constel > .ck-node-center { width: 58% !important; }
  .ck-constel > .elementor-widget-image.ck-node img { border-width: 4px; }
  .ck-chip .elementor-heading-title { font-size: 12px; padding: 7px 12px; } .ck-chip b { font-size: 16px; }
  .ck-chip-a { top: 22%; right: 2%; } .ck-chip-b { bottom: 17%; left: 26%; }
}

/* the question band */
.ck-question { position: relative; overflow: hidden; }
.ck-q-big .elementor-heading-title { font-family: var(--ck-head); font-weight: 400; font-size: clamp(34px, 4.6vw, 68px); line-height: 1.2; }
.ck-q-small .elementor-heading-title { letter-spacing: .2em; }
.ck-question .ck-rise, .ck-question .ck-split { position: relative; z-index: 2; }

/* needs selector (nested tabs) */
.ck-needs .e-n-tabs-heading { gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; }
.ck-needs .e-n-tab-title { border-radius: 99px !important; background: #fff !important; border: 1px solid var(--ck-sand) !important; padding: 13px 22px !important; transition: all .35s var(--ck-ease); }
.ck-needs .e-n-tab-title .e-n-tab-title-text { font-family: var(--ck-body); font-size: 16px; font-weight: 600; color: var(--ck-navy); }
.ck-needs .e-n-tab-title:hover { border-color: var(--ck-gold) !important; transform: translateY(-2px); }
.ck-needs .e-n-tab-title[aria-selected="true"] { background: var(--ck-navy) !important; border-color: var(--ck-navy) !important; }
.ck-needs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text { color: #fff; }
.ck-needs .e-n-tabs-content > .e-con { background: #fff; border-radius: 30px; padding: 44px 48px !important; box-shadow: 0 24px 70px rgba(47,51,80,.1); border: 0 !important; }
.ck-need-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 26px 26px; max-height: 520px; }
@media (max-width: 767px) {
  .ck-needs .e-n-tabs-content > .e-con { padding: 26px 20px !important; border-radius: 22px; }
  .ck-need-img img { aspect-ratio: 4 / 3; border-radius: 20px; }
}

/* meet */
.ck-meet-pic { position: relative; }
.ck-meet-pic::before { content: ""; position: absolute; left: 8%; right: 8%; bottom: 0; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #fff, var(--ck-blush2) 60%, #E7D2C8); }
.ck-meet-cut { position: relative; z-index: 1; }
.ck-meet-cut img { max-height: 620px; width: auto; margin-inline: auto; display: block; -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent); mask-image: linear-gradient(to bottom, #000 86%, transparent); }
.ck-badge { position: absolute !important; z-index: 2; bottom: 12%; inset-inline-end: 0; width: 190px !important; padding: 20px 16px !important; background: #fff; border-radius: 22px; box-shadow: 0 18px 44px rgba(47,51,80,.16); text-align: center; }
.ck-badge-n .elementor-heading-title { font-family: var(--ck-head); font-size: 58px; line-height: 1; font-weight: 300; }
.ck-quote-line { border-inline-start: 3px solid var(--ck-gold); padding-inline-start: 20px; }

/* principles */
.ck-pgrid { position: relative; }
.ck-pgrid::before { content: ""; position: absolute; top: 66px; left: 30px; right: 30px; height: 1.5px; background: repeating-linear-gradient(90deg, var(--ck-gold) 0 6px, transparent 6px 12px); opacity: .6; }
.ck-pcard { position: relative; transition: transform .6s var(--ck-ease), box-shadow .6s var(--ck-ease); }
.ck-pcard:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(47,51,80,.12); }
.ck-pnum .elementor-heading-title { display: inline-flex; width: 66px; height: 66px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1.5px var(--ck-gold); font-size: 34px !important; }
.ck-presult .elementor-heading-title { padding-top: 14px; border-top: 1px solid var(--ck-sand); font-weight: 600; }
@media (max-width: 1024px) { .ck-pgrid::before { display: none; } }

/* bento of real moments */
.ck-bento { grid-template-rows: none !important; grid-auto-rows: 240px; }
.ck-bento > .ck-tile:first-child { grid-column: span 2; grid-row: span 2; }
.ck-bento > .ck-tile:nth-child(6), .ck-bento > .ck-tile:nth-child(7) { grid-column: span 2; }
.ck-tile { overflow: hidden; text-decoration: none; transition: transform .7s var(--ck-ease), box-shadow .7s var(--ck-ease); background-size: cover !important; }
.ck-tile:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(47,51,80,.2); }
.ck-tile-cap .elementor-heading-title { display: inline-block; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.3); padding: 7px 14px; border-radius: 99px; }
@media (max-width: 1024px) { .ck-bento { grid-auto-rows: 200px; } }
@media (max-width: 1024px) { .ck-bento { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 767px) { .ck-bento { grid-auto-rows: 160px; } .ck-bento > .ck-tile:last-child { grid-column: span 2; } }

/* reviews: the WhatsApp quotes carry no star rating, so no stars */
.ckm-rev__stars { display: none !important; }
.ckm-rev__score::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--ck-red); }
.ck-rev-sec { position: relative; overflow: hidden; }
.ck-rev-meira { position: absolute !important; bottom: 0; inset-inline-end: 1.5%; width: 230px !important; margin: 0 !important; pointer-events: none; }
.ck-rev-meira img { -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent); mask-image: linear-gradient(to bottom, #000 80%, transparent); }
@media (max-width: 1360px) { .ck-rev-meira { display: none; } }
.ckm-rev__body blockquote { font-size: 21px; }
@media (min-width: 768px) { .ckm-rev__deck { height: 350px; } }

/* vertical timeline (process) */
.ck-vtl { position: relative; }
.ck-vtl::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1.5px; background: linear-gradient(to bottom, transparent, var(--ck-gold) 8%, var(--ck-gold) 92%, transparent); }
.ck-vtl > .ck-vstep { width: calc(50% - 44px) !important; position: relative; box-shadow: 0 10px 40px rgba(47,51,80,.07); }
.ck-vtl > .ck-vstep:nth-child(even) { margin-inline-start: auto !important; }
.ck-vtl > .ck-vstep::after { content: ""; position: absolute; top: 44px; width: 14px; height: 14px; border-radius: 50%; background: var(--ck-red); border: 3px solid var(--ck-blush); box-shadow: 0 0 0 1.5px var(--ck-gold); inset-inline-end: -52px; }
.ck-vtl > .ck-vstep:nth-child(even)::after { inset-inline-end: auto; inset-inline-start: -52px; }
.ck-vtl .ck-vnum .elementor-heading-title { line-height: 1; }
.ck-step-time .elementor-heading-title { display: inline-block; padding: 5px 14px; border-radius: 99px; border: 1px solid var(--ck-sand); font-family: var(--ck-body) !important; font-size: 13px !important; line-height: 1.5 !important; letter-spacing: .04em; font-weight: 600; }
.ck-vstep h3.elementor-heading-title { font-size: 28px; }
@media (max-width: 767px) {
  .ck-vtl::before { left: auto; inset-inline-start: 8px; }
  .ck-vtl > .ck-vstep, .ck-vtl > .ck-vstep:nth-child(even) { width: calc(100% - 30px) !important; margin-inline-start: 30px !important; }
  .ck-vtl > .ck-vstep::after, .ck-vtl > .ck-vstep:nth-child(even)::after { inset-inline-start: -30px; inset-inline-end: auto; }
}

/* service cards */
.ck-service .elementor-image-box-img img { aspect-ratio: 4 / 3; }
@media (min-width: 1025px) {
  .ck-sgrid-5 { grid-template-columns: repeat(6, 1fr) !important; }
  .ck-sgrid-5 > * { grid-column: span 2; }
  .ck-sgrid-5 > *:nth-child(4) { grid-column: 2 / span 2; }
}

/* light split hero (about / contact / magazine) */
.ck-hero-lightsplit { position: relative; overflow: hidden; }
.ck-crumbs-dark .ckm-crumbs { color: var(--ck-mauve); }
.ck-crumbs-dark .ckm-crumbs a { border-bottom-color: rgba(140,106,116,.35); }
.ck-arch img { border-radius: 999px 999px 28px 28px; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; max-height: 640px; width: 100%; }
.ck-cut-blob { position: relative; text-align: center; }
.ck-cut-blob::before { content: ""; position: absolute; left: 6%; right: 6%; bottom: 0; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #fff, var(--ck-blush2) 60%, #E7D2C8); box-shadow: inset 0 0 0 1px rgba(201,167,122,.35); }
.ck-cut-blob img { position: relative; max-height: 600px; width: auto !important; margin-inline: auto; display: block; -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent); mask-image: linear-gradient(to bottom, #000 86%, transparent); }

/* about story */
.ck-story-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
.ck-story-cut { position: relative; }
.ck-story-cut::before { content: ""; position: absolute; inset: 8% 10% 0; border-radius: 50%; background: var(--ck-blush2); }
.ck-story-cut img { position: relative; aspect-ratio: auto; object-fit: contain; max-height: 280px; width: auto; margin-inline: auto; display: block; border-radius: 0; }
.ck-story-step { box-shadow: 0 10px 40px rgba(47,51,80,.06); }
.ck-bigquote-mark .elementor-heading-title { font-family: var(--ck-head); font-size: 120px; line-height: .6; }

/* service page bits */
.ck-sign { box-shadow: 0 6px 24px rgba(47,51,80,.05); }
.ck-sign-ic .elementor-heading-title { width: 36px; height: 36px; border-radius: 50%; background: var(--ck-blush); display: flex; align-items: center; justify-content: center; font-size: 17px; }
.ck-sign-t p { margin: 0 !important; font-weight: 500; color: var(--ck-navy); }
.ck-ctag .elementor-heading-title { display: inline-block; padding: 5px 14px; border-radius: 99px; background: var(--ck-blush); letter-spacing: .06em; }
.ck-tags .elementor-heading-title { display: flex; flex-wrap: wrap; gap: 8px; }
.ck-tags span { display: inline-block; padding: 7px 15px; border-radius: 99px; border: 1px solid var(--ck-gold); font-family: var(--ck-body); font-size: 14px; font-weight: 600; color: var(--ck-navy); }
.ck-need-img { text-align: center; }
.ck-cta-star .elementor-heading-title { font-size: 26px; }
.ck-cta-band { position: relative; overflow: hidden; }

/* magazine cards (Elementor Pro posts, cards skin) */
.ck-posts .elementor-post__card { border-radius: 24px !important; border: 0 !important; box-shadow: 0 12px 40px rgba(47,51,80,.08) !important; background: #fff; transition: transform .6s var(--ck-ease), box-shadow .6s var(--ck-ease); }
.ck-posts .elementor-post__card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(47,51,80,.14) !important; }
.ck-posts .elementor-post__title, .ck-posts .elementor-post__title a { font-family: var(--ck-head) !important; font-weight: 500 !important; font-size: 22px !important; line-height: 1.35 !important; color: var(--ck-navy) !important; }
.ck-posts .elementor-post__excerpt p { font-size: 16px; line-height: 1.7; color: var(--ck-text); }
.ck-posts .elementor-post__read-more { color: var(--ck-mauve) !important; font-weight: 700; font-size: 14.5px; }
.ck-posts .elementor-post__meta-data { color: var(--ck-muted) !important; border-top-color: var(--ck-sand) !important; }
.ck-posts .elementor-pagination { margin-top: 40px; font-size: 16px; }
.ck-posts .elementor-pagination .page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 99px; padding: 0 12px; }
.ck-posts .elementor-pagination .page-numbers.current { background: var(--ck-navy); color: #fff; }

/* single post */
.ck-post-hero .ck-post-info .elementor-icon-list-text { color: #E3D8DC; }
.ck-post-featwrap { margin-top: -40px; position: relative; z-index: 3; }
.ck-post-feat img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 80px rgba(47,51,80,.2); }
.ck-post-body { font-size: 19px; }
.ck-post-body h2 { font-family: var(--ck-head); font-weight: 500; font-size: 32px; line-height: 1.3; color: var(--ck-navy); margin: 1.6em 0 .6em; }
.ck-post-body h3 { font-family: var(--ck-head); font-weight: 500; font-size: 25px; color: var(--ck-navy); margin: 1.4em 0 .5em; }
.ck-post-body p { line-height: 1.9; margin-bottom: 1.1em; }
.ck-post-body ul, .ck-post-body ol { padding-inline-start: 1.3em; line-height: 1.9; }
.ck-post-body a { color: var(--ck-mauve); text-decoration: underline; text-underline-offset: 3px; }
.ck-post-cta { margin-top: 2.4em; padding: 28px 30px; border-radius: 22px; background: var(--ck-blush); border-inline-start: 4px solid var(--ck-gold); }
.ck-post-cta p:last-child { margin-bottom: 0; }
.ck-author-img img { width: 120px; height: 120px; object-fit: cover; object-position: top; border-radius: 50%; border: 5px solid #fff; }
@media (max-width: 767px) { .ck-author { flex-direction: column !important; text-align: center; align-items: center !important; } }

/* popup */
.ck-popup-pic { min-height: 100%; }
.ck-popup-cut img { max-height: 420px; width: auto; display: block; margin: 20px auto 0; }
@media (max-width: 767px) { .ck-popup-pic { display: none !important; } }

/* footer */
.ck-wordmark-bg .elementor-heading-title { direction: rtl; font-size: clamp(54px, 12vw, 190px); color: rgba(251,247,244,.045); font-weight: 400; }

/* round medallion for a cutout whose photo was cropped at the edge */
.ck-medal { width: min(460px, 100%) !important; aspect-ratio: 1; margin-inline: auto; border-radius: 50%; overflow: hidden; position: relative;
  background: radial-gradient(circle at 50% 38%, #fff 0%, var(--ck-blush2) 58%, #E5CFC4 100%); box-shadow: 0 0 0 10px #fff, 0 0 0 11px rgba(201,167,122,.5), 0 30px 70px rgba(47,51,80,.16); }
.ck-medal .elementor-widget-container { position: absolute; inset: 8% 0 0 0; }
.ck-medal img { width: 100%; height: 100%; object-fit: cover; object-position: 30% top; }
.ck-story-img img { object-position: 50% 20%; }
/* hero words stay above the golden thread */
.ck-hero .e-con-inner > .e-con, .ck-hero-lightsplit .e-con-inner > .e-con, .ck-hero > .e-con:not(.elementor-widget) { position: relative; z-index: 2; }

@media (max-width: 767px) {
  .ckm-rev__card:not(:has(.ckm-rev__img)) { grid-template-rows: 1fr; }
  .ckm-rev__deck { height: 470px; }
}
.ck-post-hero .ckm-crumbs, .ck-post-hero .ckm-crumbs a { color: #E3D8DC; }
