/* ==========================================================================
   Meira Rothschild · home page version 3 (14.10): the 3D wall is the cover, then a calm editorial page.
   One type scale, hairlines instead of cards and shadows, plum as the only accent, gold only for the small numbers.
   Loaded on /home-3/ only.
   ========================================================================== */
body.ckm-v3 { --k3-ink: #2A1F2D; --k3-soft: #625664; --k3-line: #E2D9D2; --k3-accent: #4E2448; --k3-gold: #A9844F; background: #FBF9F7; }

/* section heads: number + label on the side, heading + intro in the main column, one hairline above */
body.ckm-v3 .ck3-head { border-top: 1px solid var(--k3-line); padding-top: 26px !important; }
body.ckm-v3 .ck3-num .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: 15px; letter-spacing: .12em; color: var(--k3-gold); }
body.ckm-v3 .ck3-label .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .04em; color: var(--k3-soft); }
body.ckm-v3 .ck3-h2 .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: clamp(32px, 3.3vw, 50px); line-height: 1.18; color: var(--k3-ink); max-width: 22ch; }
body.ckm-v3 .ck3-intro, body.ckm-v3 .ck3-intro p { font-family: Assistant, sans-serif; font-size: 19px; line-height: 1.85; color: var(--k3-soft); max-width: 62ch; margin: 0; }

/* 02: five rows */
body.ckm-v3 .ck3-rows { border-top: 1px solid var(--k3-line); }
body.ckm-v3 .ck3-row { border-bottom: 1px solid var(--k3-line); padding: 30px 0 !important; transition: background-color .35s ease; }
body.ckm-v3 .ck3-row-n .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: 18px; color: var(--k3-gold); }
body.ckm-v3 .ck3-row-t .elementor-heading-title, body.ckm-v3 .ck3-row-t .elementor-heading-title a { font-family: Rubik, sans-serif; font-weight: 400; font-size: 24px; line-height: 1.3; color: var(--k3-ink); }
body.ckm-v3 .ck3-row-d, body.ckm-v3 .ck3-row-d p { font-family: Assistant, sans-serif; font-size: 17px; line-height: 1.7; color: var(--k3-soft); margin: 0; }
body.ckm-v3 .ck3-row-go .elementor-button, body.ckm-v3 .ck3-btn-line .elementor-button {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important;
  padding: 4px 0 !important; color: var(--k3-accent) !important; font-family: Assistant, sans-serif; font-weight: 600; font-size: 16px; box-shadow: none !important; }
body.ckm-v3 .ck3-row-go { justify-self: end; }
body.ckm-v3 .ck3-row-go .elementor-button::after { content: " ←"; }
@media (hover: hover) {
  body.ckm-v3 .ck3-row:hover { background-color: rgba(78,36,72,.03); }
  body.ckm-v3 .ck3-row:hover .ck3-row-t a { color: var(--k3-accent); }
}

/* 03: portrait, no frames or shadows */
body.ckm-v3 .ck3-portrait img { width: 100% !important; aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; object-position: 50% 16%; border-radius: 2px; }
body.ckm-v3 .ck3-about .ck3-h2 .elementor-heading-title { max-width: 18ch; }

/* 04: two productions */
body.ckm-v3 .ck3-card-img img { width: 100% !important; aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; border-radius: 2px; }
body.ckm-v3 .ck3-card-tags .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 600; font-size: 13.5px; letter-spacing: .06em; color: var(--k3-gold); margin-top: 8px; }
body.ckm-v3 .ck3-card-t .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 400; font-size: 25px; line-height: 1.35; color: var(--k3-ink); }
body.ckm-v3 .ck3-card-d, body.ckm-v3 .ck3-card-d p { font-family: Assistant, sans-serif; font-size: 17px; line-height: 1.75; color: var(--k3-soft); margin: 0; }

/* 05: three quotes, a hairline each, no bubbles */
body.ckm-v3 .ck3-quote { border-top: 1px solid var(--k3-ink); padding-top: 26px !important; }
body.ckm-v3 .ck3-q, body.ckm-v3 .ck3-q p { font-family: Rubik, sans-serif; font-weight: 300; font-size: 21px; line-height: 1.65; color: var(--k3-ink); margin: 0; }
body.ckm-v3 .ck3-q-name .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 700; font-size: 16px; color: var(--k3-ink); }
body.ckm-v3 .ck3-q-name small { display: block; font-weight: 400; font-size: 14px; color: var(--k3-soft); margin-top: 2px; }

/* 06: five steps */
body.ckm-v3 .ck3-step { border-top: 1px solid var(--k3-line); padding-top: 22px !important; }
body.ckm-v3 .ck3-step-n .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: 34px; line-height: 1; color: var(--k3-gold); }
body.ckm-v3 .ck3-step-t .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 400; font-size: 20px; line-height: 1.35; color: var(--k3-ink); margin-top: 10px; }
body.ckm-v3 .ck3-step-w .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 600; font-size: 13.5px; color: var(--k3-soft); }
body.ckm-v3 .ck3-step-d, body.ckm-v3 .ck3-step-d p { font-family: Assistant, sans-serif; font-size: 16px; line-height: 1.7; color: var(--k3-soft); margin: 0; }

/* 07: questions, flat */
body.ckm-v3 .ck3-faq .e-n-accordion-item { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--k3-line) !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; }
body.ckm-v3 .ck3-faq .e-n-accordion-item-title { background: transparent !important; border: 0 !important; padding: 24px 0 !important; }
body.ckm-v3 .ck3-faq .e-n-accordion-item-title-text { font-family: Rubik, sans-serif !important; font-weight: 400 !important; font-size: 20px !important; color: var(--k3-ink) !important; }
body.ckm-v3 .ck3-faq .e-n-accordion-item-title-icon, body.ckm-v3 .ck3-faq .e-n-accordion-item-title-icon svg { color: var(--k3-accent) !important; fill: var(--k3-accent) !important; }
body.ckm-v3 .ck3-faq .e-n-accordion-item > .e-con { padding: 0 0 26px !important; background: transparent !important; }
body.ckm-v3 .ck3-faq .e-n-accordion-item p { font-family: Assistant, sans-serif; font-size: 17.5px; line-height: 1.8; color: var(--k3-soft); }
body.ckm-v3 .ck3-faq { border-top: 1px solid var(--k3-line); }

/* closing invitation: plain plum, no photo, no confetti */
body.ckm-v3 .ck3-cta-h .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: clamp(32px, 3.8vw, 54px); line-height: 1.2; color: #FBF7F4; }
body.ckm-v3 .ck3-cta-d, body.ckm-v3 .ck3-cta-d p { font-family: Assistant, sans-serif; font-size: 18.5px; line-height: 1.8; color: #E6D8E3; margin: 0; }

/* calm: no word-by-word blur on this page, just a soft fade */
body.ckm-v3 .ck-split .ck-w { filter: none !important; transform: none !important; }

@media (max-width: 1024px) {
  body.ckm-v3 .ck3-row-go { justify-self: start; }
}
@media (max-width: 767px) {
  body.ckm-v3 .ck3-head { padding-top: 20px !important; }
  body.ckm-v3 .ck3-h2 .elementor-heading-title { font-size: 30px; }
  body.ckm-v3 .ck3-intro, body.ckm-v3 .ck3-intro p { font-size: 17.5px; }
  body.ckm-v3 .ck3-row { padding: 24px 0 !important; gap: 6px !important; }
  body.ckm-v3 .ck3-row-t .elementor-heading-title, body.ckm-v3 .ck3-row-t .elementor-heading-title a { font-size: 21px; }
  body.ckm-v3 .ck3-q, body.ckm-v3 .ck3-q p { font-size: 19px; }
  body.ckm-v3 .ck3-faq .e-n-accordion-item-title-text { font-size: 18px !important; }
}

/* equal columns whatever the content length */
body.ckm-v3 .ck3-sec .e-grid > .e-con-inner, body.ckm-v3 .ck3-sec .e-con.e-grid { min-width: 0; }
body.ckm-v3 .ck3-work .e-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.ckm-v3 .ck3-quotes .e-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { body.ckm-v3 .ck3-work .e-grid, body.ckm-v3 .ck3-quotes .e-grid { grid-template-columns: minmax(0, 1fr) !important; } }
body.ckm-v3 .ck3-card > .elementor-widget-image, body.ckm-v3 .ck3-card .ck3-card-img, body.ckm-v3 .ck3-portrait { align-self: stretch !important; width: 100% !important; }
body.ckm-v3 .ck3-row-go .elementor-button, body.ckm-v3 .ck3-btn-line .elementor-button { white-space: nowrap; }

/* ==========================================================================
   18.10 · version 3 across the whole site
   ========================================================================== */
body.ckm-v3 .ck3-head { width: 100%; }

/* inner-page opening: a calm plum band */
body.ckm-v3 .ck3-phero { background-image: radial-gradient(60% 80% at 85% 0%, rgba(201,167,122,.10), rgba(201,167,122,0) 70%) !important; }
body.ckm-v3 .ck3-hero-kick .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .06em; color: #C9A77A; }
body.ckm-v3 .ck3-hero-h1 .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: clamp(40px, 5vw, 76px); line-height: 1.08; color: #FBF7F4; max-width: 18ch; }
body.ckm-v3 .ck3-thanks .ck3-hero-h1 .elementor-heading-title { margin-inline: auto; }
body.ckm-v3 .ck3-hero-lead, body.ckm-v3 .ck3-hero-lead p { font-family: Assistant, sans-serif; font-size: 19px; line-height: 1.8; color: #E6D8E3; max-width: 62ch; margin: 0; }
body.ckm-v3 .ck3-crumbs, body.ckm-v3 .ck3-crumbs a { color: rgba(251,247,244,.7) !important; font-size: 14px; }
body.ckm-v3 .ck3-crumbs-dark, body.ckm-v3 .ck3-crumbs-dark a { color: var(--k3-soft) !important; }

/* light opening (about, contact, magazine) */
body.ckm-v3 .ck3-on-light.ck3-hero-kick .elementor-heading-title { color: var(--k3-gold); }
body.ckm-v3 .ck3-on-light.ck3-hero-h1 .elementor-heading-title { color: var(--k3-ink); }
body.ckm-v3 .ck3-portrait img, body.ckm-v3 .ck3-media img { width: 100% !important; height: auto !important; object-fit: cover; border-radius: 2px; }
body.ckm-v3 .ck3-portrait img { aspect-ratio: 4 / 5; object-position: 50% 18%; }
body.ckm-v3 .ck3-media img { aspect-ratio: 5 / 4; }
body.ckm-v3 .ck3-cutframe { background: #F1EBE6; border-radius: 2px; }
body.ckm-v3 .ck3-cutframe img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: contain; object-position: 50% 100%; }
body.ckm-v3 .ck3-portrait, body.ckm-v3 .ck3-media, body.ckm-v3 .ck3-cutframe { align-self: stretch !important; width: 100% !important; }

/* section heads on dark bands */
body.ckm-v3 .ck3-on-dark.ck3-label .elementor-heading-title, body.ckm-v3 .ck3-on-dark .ck3-label .elementor-heading-title { color: #E6D8E3; }
body.ckm-v3 .ck3-on-dark.ck3-h2 .elementor-heading-title, body.ckm-v3 .ck3-on-dark .ck3-h2 .elementor-heading-title { color: #FBF7F4; }
body.ckm-v3 .ck3-on-dark.ck3-intro, body.ckm-v3 .ck3-on-dark.ck3-intro p { color: #E6D8E3; }

/* principles as rows: the result line */
body.ckm-v3 .ck3-row-r .elementor-heading-title { font-family: Assistant, sans-serif; font-weight: 600; font-size: 14.5px; color: var(--k3-accent); }
body.ckm-v3 .ck3-services .e-grid, body.ckm-v3 .ck3-quotes .e-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.ckm-v3 .ck3-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.ckm-v3 .ck3-card > .elementor-widget-image { align-self: stretch !important; width: 100% !important; }
body.ckm-v3 .ck3-card-t .elementor-heading-title a { color: inherit; }
@media (max-width: 1024px) { body.ckm-v3 .ck3-services .e-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) { body.ckm-v3 .ck3-services .e-grid, body.ckm-v3 .ck3-cards-2 { grid-template-columns: minmax(0, 1fr) !important; } }

/* older blocks still used inside pages: flat, square, hairline instead of rounded tinted cards */
body.ckm-v3 .ck-card, body.ckm-v3 .ck-sign, body.ckm-v3 .ck-concept, body.ckm-v3 .ck-story-step {
  background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-top: 1px solid var(--k3-line) !important;
  padding-inline: 0 !important; }
body.ckm-v3 .ck-form-card, body.ckm-v3 .ck-author, body.ckm-v3 .ck-grain.e-con { border-radius: 2px !important; box-shadow: none !important; }
body.ckm-v3 .ck-story-img img, body.ckm-v3 .ck-plate img, body.ckm-v3 .ck-frame img { border-radius: 2px !important; box-shadow: none !important; }
body.ckm-v3 .ck-plate::before, body.ckm-v3 .ck-plate::after, body.ckm-v3 .ck-frame::before, body.ckm-v3 .ck-frame::after,
body.ckm-v3 .ck-arch::before, body.ckm-v3 .ck-arch::after, body.ckm-v3 .ck-story-img::before, body.ckm-v3 .ck-story-img::after { display: none !important; }
body.ckm-v3 .ck-vnum .elementor-heading-title, body.ckm-v3 .ck-sign-ic .elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; color: var(--k3-gold) !important; }
body.ckm-v3 .ck3-narrow .elementor-heading-title, body.ckm-v3 .ck3-narrow .elementor-widget-text-editor { text-align: start !important; }
body.ckm-v3 .ck3-narrow h2.elementor-heading-title { font-family: Rubik, sans-serif; font-weight: 300; font-size: clamp(30px, 3vw, 44px); line-height: 1.2; color: var(--k3-ink); }

/* no decorations on the calm site: threads, grain, big quote marks, stars */
body.ckm-v3 .ck-hero-thread, body.ckm-v3 .ck-q-thread, body.ckm-v3 .ck-cta-thread, body.ckm-v3 .ckt, body.ckm-v3 .ck-cta-star,
body.ckm-v3 .ck-q-mark, body.ckm-v3 .ck-bigquote-mark { display: none !important; }
body.ckm-v3 .ck-grain::after, body.ckm-v3 .ck-grain::before { background-image: none !important; }

/* blog cards: square, flat */
body.ckm-v3 .ck-posts .elementor-post__card { border-radius: 2px !important; box-shadow: none !important; border: 1px solid var(--k3-line) !important; }
body.ckm-v3 .ck-posts .elementor-post__thumbnail img { border-radius: 0 !important; }
body.ckm-v3 .ck-post-feat img { border-radius: 2px !important; box-shadow: none !important; }
