/* ==========================================================================
   Cine suntem — „Elim în cifre”: un grup de cercuri nisip (ca pastila de la „Credem în”), de mărimi
   diferite, cu cel mai mare în mijloc, mov plin; cifrele în Montserrat Black (ca numerele de capitol).
   Poziții din template (procente din 1100 × 560), deci grupul se scalează odată cu lățimea.
   ========================================================================== */
.cnc { width: min(1100px, 100%); margin: 0 auto; }
.cnc { position: relative; }
.cnc__grid { position: relative; z-index: 2; aspect-ratio: 1100 / 560; margin: 0; padding: 0; list-style: none; }
/* lateralele nisip, până la marginea ecranului (html are overflow-x: clip), după curbura cercurilor */
.cnc__band { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.cnc__band path { fill: var(--elim-fog); }
.cnc__i { position: absolute; left: var(--x); top: var(--y); width: calc(var(--d) * 2 * 1100 / 1100); aspect-ratio: 1; transform: translate(-50%, -50%);
	display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; border-radius: 50%; background: var(--elim-fog); text-align: center; container-type: inline-size; }
/* --d e raza în procente din înălțime (560); lățimea în procente din lățime (1100): d × 2 × 560 / 1100 */
.cnc__i { width: calc(var(--d) * 2 * .50909); }
.cnc__i .elim-t-label { margin: 0 0 6px; font-size: clamp(10px, 6.5cqi, 12px); }
.cnc__n { margin: 0 0 6px; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 21cqi; line-height: .9; letter-spacing: -.02em; color: var(--elim-gold); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cnc__n span, .cnc__n small { font-family: inherit !important; font-weight: inherit; }
.cnc__n small { font-size: .5em; letter-spacing: 0; margin-left: 2px; }
.cnc__p { margin: 0; max-width: 72%; text-wrap: balance; font-family: "macha", sans-serif; font-size: clamp(13px, 8cqi, 17px); line-height: 1.5; color: var(--elim-plum); }
.cnc__i.is-main { background: var(--elim-plum); }
.cnc__i.is-main .elim-t-label { color: var(--elim-gold); }
.cnc__i.is-main .cnc__n { color: #fff; }
.cnc__i.is-main .cnc__p { color: var(--elim-gold-mist); }
/* legătura discretă dintr-un cerc (stilul „slim”: text mov + săgeata aurie) */
.cnc__a { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; font-family: "macha", sans-serif; font-weight: 500; font-size: clamp(12px, 7cqi, 15px); line-height: 1.3; color: var(--elim-plum) !important; text-decoration: underline !important; text-decoration-color: var(--elim-gold) !important; text-underline-offset: 3px; transition: color .2s; }
.cnc__a::after { content: ""; width: 12px; height: 12px; background: var(--elim-gold); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.3 5.3a1 1 0 0 1 1.4 0l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4L14.6 12 9.3 6.7a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.3 5.3a1 1 0 0 1 1.4 0l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4L14.6 12 9.3 6.7a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
.cnc__a:hover, .cnc__a:focus-visible { color: var(--elim-ink) !important; outline: none; }
.cnc__a:hover::after { transform: translateX(3px); }
/* intrarea: cercurile cresc pe rând, din centru spre margini */
.cnc.is-in .cnc__i { animation: cncIn .9s cubic-bezier(.3, 1.4, .5, 1) both; animation-delay: calc(var(--i) * 110ms); }
.cnc.is-ready:not(.is-in) .cnc__i { opacity: 0; }
@keyframes cncIn { from { opacity: 0; transform: translate(-50%, -50%) scale(.6); } }
@media (max-width: 767px) {
	.cnc__band { display: none; }
	.cnc__grid { aspect-ratio: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.cnc__i, .cnc__i.is-main { position: relative; left: auto; top: auto; width: 100%; transform: none; }
	.cnc__i:last-child:nth-child(even) { grid-column: 1 / -1; width: calc(50% - 6px); justify-self: center; }
	.cnc__i.is-main { grid-column: 1 / -1; width: 62%; justify-self: center; }
	.cnc.is-in .cnc__i { animation-name: cncInM; }
	@keyframes cncInM { from { opacity: 0; transform: scale(.7); } }
}
@media (prefers-reduced-motion: reduce) { .cnc.is-in .cnc__i { animation: none; } .cnc.is-ready:not(.is-in) .cnc__i { opacity: 1; } }

/* ==========================================================================
   Practicile: patru coloane cu linie deasupra, numerele ca la capitolele de la „În ce credem”
   ========================================================================== */
.cnp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 40px; width: min(var(--elim-grid, 1280px), 100%); margin: 0 auto; padding: 0; list-style: none; }
.cnp__i { display: flex; flex-direction: column; align-items: flex-start; padding-top: 28px; border-top: 1px solid var(--elim-line); }
.cnp__n { margin-bottom: 16px; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 48px; line-height: .9; letter-spacing: -.02em; color: var(--elim-gold-pale); }
.cnp__t { margin: 0 0 10px; font-family: "macha", sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--elim-ink); }
.cnp__p { margin: 0 0 16px; font-family: "macha", sans-serif; font-size: 17px; line-height: 1.55; color: var(--elim-t-text); }
.cnp .elim-accordion-ref { margin: auto 0 0; text-decoration: none; background: var(--elim-fog); }
@media (max-width: 1024px) { .cnp { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 32px; } }
@media (max-width: 767px) { .cnp { grid-template-columns: 1fr; gap: 28px; } .cnp__n { font-size: 40px; } }

/* ==========================================================================
   Aliniere cu restul site-ului (widgeturi Elementor existente, prin clase)
   ========================================================================== */
/* misiunea: frază de deschidere (rolul „lead”: Macha 24, mov), nu bloc îngroșat */
.cn-lead p, .cn-lead strong, .cn-lead b { max-width: 860px; margin-left: auto !important; margin-right: auto !important; font-family: "macha", sans-serif !important; font-weight: 400 !important; font-size: 24px !important; line-height: 1.45 !important; color: var(--elim-plum) !important; text-align: center; text-wrap: balance; }
/* titlul „Ce ne definește”: centrat, ca toate titlurile de secțiune */
.cn-center, .cn-center .elementor-widget-container, .cn-center .elementor-heading-title, .cn-center p { text-align: center !important; }
/* rândurile cu imagine: titlu (Macha 700 · 25) și text de citit (Macha 18) */
.cn-row-t .elementor-heading-title { font-family: "macha", sans-serif !important; font-weight: 700 !important; font-size: 25px !important; line-height: 1.3 !important; color: var(--elim-ink) !important; }
.cn-row-p p { font-family: "macha", sans-serif !important; font-size: 18px !important; line-height: 1.5 !important; color: var(--elim-t-text) !important; }
@media (max-width: 767px) {
	.cn-lead p { font-size: 21px !important; }
	.cn-row-t .elementor-heading-title { font-size: 21px !important; }
	.cn-row-p p { font-size: 17px !important; }
}

/* „Ce ne definește”: fotografiile au colțurile rotunjite din CSS (cele vechi le aveau desenate în imagine) */
.elementor-element-a40aef1 img, .elementor-element-b2d319d img, .elementor-element-de5c305 img, .elementor-element-d46b195 img { border-radius: 24px; aspect-ratio: 419 / 345; object-fit: cover; }
@media (max-width: 767px) { .elementor-element-a40aef1 img, .elementor-element-b2d319d img, .elementor-element-de5c305 img, .elementor-element-d46b195 img { border-radius: 20px; } }
