/* Draft E — shared editorial styles for Stories + Company pages:
   success-stories, about-redpoint, partner-network, register-as-redpoint-partner, contact, thank-you.
   Tokens only (rp.css :root). Prefix: .ec- */

.ec { color: var(--body); font-family: var(--text); }
.ec *, .ec *::before, .ec *::after { box-sizing: border-box; }
.ec img { max-width: 100%; height: auto; display: block; }
:where(.ec) p { margin: 0; }
.ec h1, .ec h2, .ec h3, .ec h4 { font-family: var(--display); font-weight: 400; color: var(--ink); margin: 0; letter-spacing: -.015em; text-wrap: balance; }
.ec h1 em, .ec h2 em, .ec h3 em, .ec .ec-quote em { font-style: italic; font-weight: 400; }
.ec a:not(.rp-btn) { color: inherit; }
.ec .rp-btn--red, .ec .rp-btn--red:hover { color: #fff; }
.ec-wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.ec-wrap--narrow { max-width: 920px; }

/* ---------- small labels ---------- */
.ec-kicker { display: inline-flex; align-items: center; gap: 10px; font: 500 12px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); margin: 0 0 18px; }
.ec-kicker::before { content: ""; width: 18px; height: 1px; background: var(--red); flex: none; }
.ec-kicker--plain::before { display: none; }
.ec-kicker--safe { color: var(--safe); }
.ec-kicker--safe::before { background: var(--safe); }

/* ---------- hero (headline + dek) ---------- */
.ec-hero { padding-block: clamp(56px, 8vw, 112px) clamp(40px, 6vw, 72px); }
.ec-hero h1 { font-size: clamp(40px, 6.2vw, 80px); line-height: 1.04; letter-spacing: -.025em; max-width: 16ch; }
.ec-hero h1 em { color: var(--ink); }
.ec-dek { margin-top: 24px; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; max-width: 58ch; color: var(--body); }
.ec-hero--split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 88px); align-items: end; }
.ec-hero__aside { font-size: 16px; line-height: 1.6; color: var(--mute); border-left: 1px solid var(--sand); padding-left: 24px; max-width: 42ch; }
.ec-rule { border: 0; border-top: 1px solid var(--sand); margin: 0; }

/* ---------- buttons / links ---------- */
.ec-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ec-link { display: inline-flex; align-items: center; gap: 8px; font: 500 15px/1.3 var(--text); color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--sand); padding-bottom: 3px; transition: border-color .15s, color .15s; }
.ec-link:hover { border-color: var(--red); color: var(--red); }
.ec-link .arr { transition: transform .2s; }
.ec-link:hover .arr { transform: translateX(3px); }
.ec .rp-btn { text-decoration: none; }
.ec .rp-btn:not(.rp-btn--red) { color: var(--ink); border-color: var(--sand); background: transparent; }
.ec .rp-btn:not(.rp-btn--red):hover { border-color: var(--ink); background: transparent; }

/* ---------- sections ---------- */
.ec-sec { padding-block: clamp(64px, 9vw, 120px); }
.ec-sec--band { background: var(--paper-2); }
.ec-sec--tight { padding-block: clamp(40px, 6vw, 72px); }
.ec-head { max-width: 720px; margin-bottom: clamp(32px, 5vw, 56px); }
.ec-head h2 { font-size: clamp(32px, 4.2vw, 52px); line-height: 1.08; }
.ec-head p:not(.ec-kicker) { margin-top: 18px; font-size: 18px; line-height: 1.6; max-width: 60ch; }

/* ---------- lead feature (magazine opener) ---------- */
.ec-feature { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; text-decoration: none; color: inherit; }
.ec-feature__img { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 4 / 3; background: var(--paper-2); box-shadow: var(--shadow); }
.ec-feature__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.ec-feature:hover .ec-feature__img img { transform: scale(1.025); }
.ec-feature h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.08; }
.ec-feature:hover h2 { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 6px; }
.ec-feature .ec-dek { font-size: 18px; margin-top: 18px; }
.ec-figure { display: flex; align-items: baseline; gap: 16px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--sand); }
.ec-figure b { font: 400 clamp(44px, 5vw, 64px)/1 var(--display); letter-spacing: -.03em; color: var(--red); flex: none; font-variant-numeric: lining-nums; }
.ec-figure span { font-size: 15px; line-height: 1.45; color: var(--body); max-width: 26ch; }
.ec-caption { font-size: 13.5px; line-height: 1.5; color: var(--mute); margin-top: 12px; }

/* ---------- story cards ---------- */
.ec-stories { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px); }
.ec-stories--2 { --cols: 2; }
.ec-story { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.ec-story__img { border-radius: var(--radius); overflow: hidden; aspect-ratio: 3 / 2; background: var(--paper-2); }
.ec-story__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.ec-story:hover .ec-story__img img { transform: scale(1.03); }
.ec-story .ec-kicker { margin: 22px 0 12px; }
.ec-story h3 { font-size: clamp(23px, 2vw, 28px); line-height: 1.18; }
.ec-story:hover h3 { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.ec-story p.ec-story__dek { margin-top: 12px; font-size: 16.5px; line-height: 1.6; }
.ec-story .ec-figure { margin-top: auto; padding-top: 18px; gap: 12px; }
.ec-story .ec-figure b { font-size: 40px; }
.ec-story .ec-figure span { font-size: 14px; }
.ec-story__body { display: flex; flex-direction: column; flex: 1; }
.ec-story__body > .ec-figure { margin-top: 22px; }
.ec-story__more { margin-top: 20px; font: 500 14.5px var(--text); color: var(--ink); }
.ec-story__more .arr { color: var(--red); }

/* ---------- by the numbers ---------- */
.ec-numbers { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); border-top: 1px solid var(--sand); }
.ec-numbers > div { padding: 28px 24px 8px 0; border-right: 1px solid var(--sand); padding-left: 24px; }
.ec-numbers > div:first-child { padding-left: 0; }
.ec-numbers > div:last-child { border-right: 0; }
.ec-numbers b { display: block; white-space: nowrap; font: 400 clamp(40px, 4.4vw, 62px)/1 var(--display); letter-spacing: -.03em; color: var(--ink); font-variant-numeric: lining-nums; }
.ec-numbers b small { font: 400 .45em var(--display); letter-spacing: 0; margin-left: .15em; color: var(--mute); }
.ec-numbers span { display: block; margin-top: 14px; font-size: 15px; line-height: 1.5; color: var(--body); max-width: 24ch; }
.ec-numbers--3 { --cols: 3; }
.ec-note { margin-top: 28px; font-size: 13.5px; line-height: 1.55; color: var(--mute); max-width: 70ch; }

/* ---------- editorial spread (about) ---------- */
.ec-chapter { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(24px, 5vw, 80px); padding-block: clamp(40px, 5vw, 64px); border-top: 1px solid var(--sand); }
.ec-chapter:first-child { border-top: 0; padding-top: 0; }
.ec-chapter__n { font: 400 italic 22px/1.3 var(--display); color: var(--mute); }
.ec-chapter__n b { display: block; font: 500 12px var(--mono); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
.ec-chapter h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.12; max-width: 22ch; }
.ec-prose { max-width: var(--measure); }
.ec-prose p { font-size: 18.5px; line-height: 1.7; margin-top: 20px; }
.ec-prose p:first-child { margin-top: 24px; }
.ec-dropcap::first-letter { float: left; font: 400 5.2em/.82 var(--display); color: var(--red); margin: .06em .1em 0 -.02em; }
.ec-quote { margin: clamp(40px, 6vw, 72px) 0; padding: 0; border: 0; text-align: center; }
.ec-quote p { font: 400 clamp(28px, 3.6vw, 46px)/1.2 var(--display); letter-spacing: -.015em; color: var(--ink); max-width: 26ch; margin-inline: auto; text-wrap: balance; }
.ec-quote p::before { content: "\201C"; display: block; font-size: 1.6em; line-height: .6; color: var(--red); margin-bottom: 18px; }
.ec-quote cite { display: block; margin-top: 22px; font: 500 12px var(--mono); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }

/* full-bleed photo band */
.ec-band { position: relative; margin: 0; }
.ec-band img { width: 100%; height: clamp(280px, 42vw, 560px); object-fit: cover; }
.ec-band figcaption { max-width: var(--max); margin-inline: auto; padding: 12px var(--gutter) 0; font-size: 13.5px; color: var(--mute); }

/* beliefs */
.ec-beliefs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.ec-beliefs h3 { font-size: 30px; line-height: 1.15; font-style: italic; }
.ec-beliefs p { margin-top: 12px; font-size: 16.5px; line-height: 1.6; }
.ec-beliefs > div { padding-top: 22px; border-top: 2px solid var(--ink); }

/* team */
.ec-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 5vw, 72px) clamp(28px, 4vw, 64px); }
.ec-person { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 24px; align-items: start; }
.ec-person__img { width: 148px; aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; background: var(--paper-2); }
.ec-person__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92); }
.ec-person h3 { font-size: 28px; line-height: 1.15; }
.ec-person__role { margin-top: 6px !important; font: 500 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.ec-person__bio p { font-size: 16px; line-height: 1.65; margin-top: 14px; }
.ec-person details { margin-top: 10px; }
.ec-person summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font: 500 14.5px var(--text); color: var(--ink); border-bottom: 1px solid var(--sand); padding-bottom: 2px; }
.ec-person summary::-webkit-details-marker { display: none; }
.ec-person summary::after { content: "+"; color: var(--red); font-size: 17px; line-height: 1; }
.ec-person details[open] summary::after { content: "\2212"; }
.ec-person summary:hover { border-color: var(--red); }
.ec-person details[open] summary .ec-more { display: none; }
.ec-person details:not([open]) summary .ec-less { display: none; }

/* ---------- partner tracks / benefits ---------- */
.ec-tracks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.ec-track { background: #fff; border: 1px solid var(--sand); border-radius: var(--radius); padding: clamp(24px, 2.6vw, 36px); display: flex; flex-direction: column; }
.ec-track__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--paper-2); display: grid; place-items: center; margin-bottom: 26px; }
.ec-track__icon img { width: 30px; height: 30px; }
.ec-track h3 { font-size: 28px; line-height: 1.15; }
.ec-track__who { margin-top: 6px !important; font: 500 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.ec-track p:not(.ec-track__who) { margin-top: 14px; font-size: 16.5px; line-height: 1.6; }
.ec-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.ec-why h3 { font-size: 26px; line-height: 1.2; }
.ec-why p { margin-top: 12px; font-size: 16.5px; line-height: 1.6; }
.ec-why > div { padding-top: 22px; border-top: 1px solid var(--sand); }
.ec-why__n { display: block; font: 400 italic 20px var(--display); color: var(--red); margin-bottom: 14px; }
.ec-benefits { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 5vw, 80px); }
.ec-benefits li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 24px 0; border-top: 1px solid var(--sand); }
.ec-benefits li::before { content: ""; width: 22px; height: 22px; margin-top: 4px; border-radius: 50%; background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7262b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat; border: 1px solid var(--sand); }
.ec-benefits h3 { font-size: 22px; line-height: 1.25; }
.ec-benefits p { margin-top: 8px; font-size: 16px; line-height: 1.6; }

/* video + guide */
.ec-media { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.ec-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: var(--night); box-shadow: var(--shadow); }
.ec-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ec-guide { background: #fff; border: 1px solid var(--sand); border-radius: var(--radius); padding: clamp(24px, 3vw, 36px); }
.ec-guide h3 { font-size: 28px; line-height: 1.15; }
.ec-guide p:not(.ec-kicker) { margin-top: 12px; font-size: 16.5px; line-height: 1.6; }

/* ---------- form-first layouts (contact, register) ---------- */
.ec-formpage { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: start; padding-block: clamp(48px, 7vw, 96px) clamp(64px, 9vw, 120px); }
.ec-formpage h1 { font-size: clamp(40px, 5.4vw, 72px); line-height: 1.04; letter-spacing: -.025em; max-width: 14ch; }
.ec-formpage__intro { position: sticky; top: calc(var(--nav-h, 76px) + 32px); }
.ec-card { background: #fff; border: 1px solid var(--sand); border-radius: calc(var(--radius) + 4px); padding: clamp(24px, 3.4vw, 44px); box-shadow: var(--shadow); }
.ec-card__title { font: 400 26px/1.2 var(--display); color: var(--ink); margin-bottom: 6px !important; }
.ec-card__sub { font-size: 15px; color: var(--mute); margin-bottom: 26px !important; }
.ec-contact { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 0; }
.ec-contact li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--sand); font-size: 16.5px; line-height: 1.5; }
.ec-contact li:last-child { border-bottom: 1px solid var(--sand); }
.ec-contact span { font: 500 11.5px/1.9 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.ec-contact a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--sand); }
.ec-contact a:hover { border-color: var(--red); color: var(--red); }
.ec-contact address { font-style: normal; }
.ec-ticks { list-style: none; margin: 28px 0 0; padding: 0; }
.ec-ticks li { position: relative; padding: 10px 0 10px 32px; font-size: 16.5px; line-height: 1.5; border-top: 1px solid var(--sand); }
.ec-ticks li:last-child { border-bottom: 1px solid var(--sand); }
.ec-ticks li::before { content: ""; position: absolute; left: 0; top: 14px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7262b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 16px no-repeat; }
.ec-side-note { margin-top: 28px !important; font-size: 15px; line-height: 1.6; color: var(--mute); }
.ec-side-note a { color: var(--ink); }

/* Ninja Forms on white card: light field palette regardless of rp.css defaults */
.ec .ec-card .rp-form { --f-bg: #fff; --f-line: var(--line-2, #d6cab6); --f-ink: var(--ink); --f-body: var(--body); --f-mute: var(--mute); --f-box: #fff; }
.ec .ec-card .rp-form input[type=text], .ec .ec-card .rp-form input[type=email], .ec .ec-card .rp-form input[type=tel],
.ec .ec-card .rp-form input[type=url], .ec .ec-card .rp-form input[type=number], .ec .ec-card .rp-form select, .ec .ec-card .rp-form textarea {
  background: var(--paper) !important; color: var(--ink) !important; border: 1px solid var(--sand) !important; border-radius: 10px !important; font: 400 16px/1.4 var(--text) !important; padding: 13px 14px !important; width: 100% !important; box-shadow: none !important; min-height: 48px; height: auto !important;
}
.ec .ec-card .rp-form input:focus, .ec .ec-card .rp-form select:focus, .ec .ec-card .rp-form textarea:focus { background: #fff !important; border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(215,38,43,.14) !important; outline: none !important; }
.ec .ec-card .rp-form .nf-field-label label { font: 500 14.5px/1.4 var(--text) !important; color: var(--ink) !important; }
.ec .ec-card .rp-form .nf-before-form-content, .ec .ec-card .rp-form .nf-form-fields-required { font: 400 13px/1.5 var(--text) !important; color: var(--mute) !important; }
.ec .ec-card .rp-form input[type=submit], .ec .ec-card .rp-form button[type=submit] { background: var(--red) !important; color: #fff !important; border: 1px solid var(--red) !important; border-radius: var(--radius) !important; font: 500 16px/1 var(--text) !important; padding: 16px 28px !important; min-height: 52px; width: auto !important; cursor: pointer; }
.ec .ec-card .rp-form input[type=submit]:hover, .ec .ec-card .rp-form button[type=submit]:hover { background: var(--red-dark, #b01d22) !important; }
.ec .ec-card .rp-form .listcheckbox-wrap ul, .ec .ec-card .rp-form .listradio-wrap ul { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ec .ec-card .rp-form .listcheckbox-wrap li, .ec .ec-card .rp-form .listradio-wrap li { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 12px !important; border: 1px solid var(--sand) !important; border-radius: 10px !important; background: var(--paper) !important; }
.ec .ec-card .rp-form .listcheckbox-wrap li label, .ec .ec-card .rp-form .listradio-wrap li label { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 400 15px/1.3 var(--text) !important; color: var(--ink) !important; width: auto !important; min-height: 0 !important; }
.ec .ec-card .rp-form .listcheckbox-wrap li:has(input:checked), .ec .ec-card .rp-form .listradio-wrap li:has(input:checked) { border-color: var(--red) !important; background: #fff !important; }
.ec-formpage .ec-dek { margin-top: 28px; }
.ec .ec-card .rp-form .nf-response-msg { font: 400 22px/1.4 var(--display); color: var(--ink); }
.ec .ec-card .rp-form .nf-response-msg p { margin: 0; }

/* ---------- thank-you ---------- */
.ec-thanks { padding-block: clamp(64px, 9vw, 128px) clamp(48px, 6vw, 80px); text-align: center; }
.ec-thanks h1 { font-size: clamp(44px, 6.4vw, 84px); line-height: 1.04; letter-spacing: -.025em; margin-inline: auto; max-width: 15ch; }
.ec-thanks .ec-dek { margin-inline: auto; }
.ec-check { width: 72px; height: 72px; margin: 0 auto 32px; border-radius: 50%; background: #fff; border: 1px solid var(--sand); display: grid; place-items: center; box-shadow: var(--shadow); }
.ec-check svg { width: 34px; height: 34px; stroke: var(--safe); }
.ec-check path { stroke-dasharray: 30; stroke-dashoffset: 30; animation: ec-draw .7s .25s ease forwards; }
@keyframes ec-draw { to { stroke-dashoffset: 0; } }
.ec-steps { margin-top: 8px !important; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); counter-reset: ec-step; }
.ec-steps li { counter-increment: ec-step; padding-top: 22px; border-top: 1px solid var(--sand); }
.ec-steps li::before { content: counter(ec-step); display: block; font: 400 italic 44px/1 var(--display); color: var(--red); margin-bottom: 16px; }
.ec-steps h3 { font-size: 24px; line-height: 1.2; }
.ec-steps p { margin-top: 10px; font-size: 16.5px; line-height: 1.6; }

/* ---------- gentle entrance ---------- */
.ec-rise { animation: ec-rise .8s ease both; }
.ec-rise--2 { animation-delay: .12s; } .ec-rise--3 { animation-delay: .24s; }
@keyframes ec-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .ec-rise, .ec-check path { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
  .ec-feature__img img, .ec-story__img img { transition: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .ec-stories { --cols: 2; }
  .ec-numbers { --cols: 2; }
  .ec-numbers > div:nth-child(2n) { border-right: 0; }
  .ec-numbers > div:nth-child(2n+1) { padding-left: 0; }
  .ec-numbers > div:nth-child(n+3) { border-top: 1px solid var(--sand); }
  .ec-team { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .ec-hero--split, .ec-feature, .ec-media, .ec-formpage { grid-template-columns: minmax(0, 1fr); }
  .ec-formpage__intro { position: static; }
  .ec-tracks, .ec-why, .ec-beliefs, .ec-steps { grid-template-columns: minmax(0, 1fr); }
  .ec-benefits { grid-template-columns: minmax(0, 1fr); }
  .ec-chapter { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .ec-hero__aside { border-left: 0; padding-left: 0; border-top: 1px solid var(--sand); padding-top: 20px; }
}
@media (max-width: 640px) {
  .ec-stories, .ec-stories--2 { --cols: 1; }
  .ec-numbers, .ec-numbers--3 { --cols: 1; }
  .ec-numbers > div { border-right: 0; padding-left: 0 !important; }
  .ec-numbers > div + div { border-top: 1px solid var(--sand); }
  .ec-person { grid-template-columns: 96px minmax(0, 1fr); gap: 18px; }
  .ec-person__img { width: 96px; }
  .ec-person h3 { font-size: 24px; }
  .ec-contact li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ec-prose p { font-size: 17.5px; }
  .ec-card { padding: 22px 18px; }
}
