/* Rutuja Creation — brand tokens + helper classes used by the native Elementor
   widgets (button arrow-circle, eyebrow dot, tag pills, mocks). Everything a
   stock widget cannot express through its own controls lives here. */
:root {
	--rc-green: #00A975;
	--rc-green-dark: #008C61;
	--rc-deep: #005C40;
	--rc-soft: #E3F5EE;
	--rc-tint: #F1FAF6;
	--rc-ink: #0B1412;
	--rc-ink2: #121D1A;
	--rc-text: #0F1512;
	--rc-body: #434C48;
	--rc-muted: #6F7A76;
	--rc-border: #E3E8E5;
	--rc-border2: #C7D0CB;
	--rc-bg: #F5F7F6;
	--rc-chip: #EDF1EF;
	--rc-ondark: #98A6A1;
	--rc-amber: #F1AA25;
	--rc-purple: #9A75AC;
	--rc-coral: #DB536D;
	--rc-head: 'Manrope', sans-serif;
	--rc-body-font: 'Inter', sans-serif;
	--rc-shadow-card: 0 24px 56px rgba(10, 20, 18, 0.14);
	--rc-shadow-hero: 0 40px 90px rgba(10, 20, 18, 0.2);
}

body { font-family: var(--rc-body-font); color: var(--rc-text); -webkit-font-smoothing: antialiased; }
.rc-icon { display: inline-block; width: 1em; height: 1em; vertical-align: middle; }
.rc-icon * { vector-effect: non-scaling-stroke; }

/* ---- Buttons (Elementor button widget + class rc-btn) ------------------- */
.rc-btn .elementor-button { display: inline-flex; align-items: center; gap: 12px; border-radius: 999px; transition: background .2s, border-color .2s, color .2s; }
.rc-btn .elementor-button-content-wrapper { display: flex; align-items: center; gap: 12px; }
.rc-btn .elementor-button-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; background: rgba(255, 255, 255, .18); transition: transform .2s; }
.rc-btn .elementor-button-icon svg { width: 16px; height: 16px; fill: none; }
.rc-btn .elementor-button-icon svg * { stroke: currentColor; }
.rc-btn--md .elementor-button-icon { width: 30px; height: 30px; }
.rc-btn--outline .elementor-button-icon { background: var(--rc-chip); }
.rc-btn--outline-white .elementor-button-icon { background: rgba(255, 255, 255, .14); }
.rc-btn--dark .elementor-button-icon { background: rgba(255, 255, 255, .12); }
.rc-btn--soft .elementor-button-icon { background: rgba(0, 169, 117, .12); }
.rc-btn .elementor-button:hover .elementor-button-icon { transform: translateX(2px); }
.rc-btn--full .elementor-button { width: 100%; justify-content: center; }

/* ---- Text link "label →" (Elementor button widget, class rc-textlink-w) -- */
.rc-textlink-w .elementor-button { padding: 0 0 6px !important; background: none !important; border: 0; border-bottom: 1px solid rgba(15, 21, 18, .35); border-radius: 0; gap: 10px; }
.rc-textlink-w .elementor-button-icon svg { width: 16px; height: 16px; fill: none; }
.rc-textlink-w .elementor-button-icon svg * { stroke: currentColor; }
.rc-textlink-w.is-plain .elementor-button { border-bottom: 0; padding-bottom: 0 !important; }
.rc-textlink-w.is-white .elementor-button { border-bottom-color: rgba(255, 255, 255, .35); }

/* ---- Eyebrow: icon-list widget (dot + label) ----------------------------- */
.rc-eyebrow-w .elementor-icon-list-item { align-items: center; }
.rc-eyebrow-w .elementor-icon-list-icon svg { width: 8px; height: 8px; }

/* ---- Tag pills: icon-list inline widget, class rc-tags-w ----------------- */
.rc-tags-w .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.rc-tags-w .elementor-icon-list-item { margin: 0 !important; padding: 6px 12px !important; border-radius: 999px; background: var(--rc-chip); }
.rc-tags-w .elementor-icon-list-item:after { display: none !important; }
.rc-tags-w .elementor-icon-list-text { font: 500 13px/20px var(--rc-body-font); color: var(--rc-body); }
.rc-tags-w.is-outline .elementor-icon-list-item { background: #fff; border: 1px solid var(--rc-border); }
.rc-tags-w.is-ondark .elementor-icon-list-item { background: rgba(255, 255, 255, .14); }
.rc-tags-w.is-ondark .elementor-icon-list-text { color: #fff; }

/* ---- Icon boxes (Elementor icon widget, view stacked) -------------------- */
.rc-iconbox-w .elementor-icon { border-radius: 14px; }
.rc-iconbox-w .elementor-icon svg { fill: none; }
.rc-iconbox-w .elementor-icon svg * { stroke: currentColor; }
.rc-line-icon .elementor-icon svg,
.rc-line-icon .elementor-icon-list-icon svg { fill: none; }
.rc-line-icon .elementor-icon svg *,
.rc-line-icon .elementor-icon-list-icon svg * { stroke: currentColor; }
.rc-fill-icon svg * { fill: currentColor; stroke: none; }

/* ---- Containers: hug + section utilities -------------------------------- */
.rc-hug { width: fit-content !important; }
.rc-hug > .e-con-inner { width: auto; }
.rc-sticky { position: sticky; top: 120px; }
.rc-noshrink { flex-shrink: 0 !important; }
.rc-grow { flex-grow: 1; min-width: 0; }
.rc-radius-20 { border-radius: 20px; overflow: hidden; }

/* ---- Hero decorations ----------------------------------------------------- */
.rc-hero-bg { position: relative; overflow: hidden; }
.rc-hero-bg::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background-image: linear-gradient(to right, rgba(15, 21, 18, .06) 1px, transparent 1px), linear-gradient(to bottom, rgba(15, 21, 18, .06) 1px, transparent 1px);
	background-size: 136px 136px; }
.rc-hero-bg::after { content: ""; position: absolute; width: 900px; height: 900px; right: -180px; top: -300px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(0, 169, 117, .18) 0%, rgba(0, 169, 117, 0) 65%); z-index: 0; }
.rc-hero-bg > .e-con-inner, .rc-hero-bg > .e-con, .rc-hero-bg > .elementor-element { position: relative; z-index: 1; }
.rc-avatars .elementor-widget-image { margin: 0; }
.rc-avatars .elementor-widget-image img { border: 2px solid #fff; border-radius: 999px; width: 40px; height: 40px; object-fit: cover; }
.rc-avatars > .elementor-element + .elementor-element { margin-left: -10px; }
.rc-stars-w .elementor-icon-list-items { display: flex; gap: 3px; }
.rc-stars-w .elementor-icon-list-icon svg { width: 13px; height: 13px; }
.rc-stars-w .elementor-icon-list-icon svg * { fill: var(--rc-amber); stroke: var(--rc-amber); }
.rc-floating { position: absolute !important; }
.rc-shadow-hero { box-shadow: var(--rc-shadow-hero); }
.rc-shadow-float { box-shadow: 0 24px 28px rgba(10, 20, 18, .14); }

/* ---- Dark CTA panel decoration ------------------------------------------ */
.rc-cta-panel { position: relative; overflow: hidden; }
.rc-cta-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: linear-gradient(to right, rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 120px 120px; }
.rc-cta-panel::after { content: ""; position: absolute; width: 1100px; height: 1100px; left: 130px; top: -500px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(0, 169, 117, .35) 0%, rgba(0, 169, 117, 0) 60%); }
.rc-cta-panel > * { position: relative; z-index: 1; }

/* ---- Timeline (process, story) ------------------------------------------ */
.rc-track { position: relative; }
.rc-track::before { content: ""; position: absolute; left: 0; right: 0; top: 27px; height: 2px; border-radius: 1px; background: rgba(255, 255, 255, .12); }
.rc-track::after { content: ""; position: absolute; left: 0; width: 38%; top: 27px; height: 2px; border-radius: 1px; background: var(--rc-green); }
.rc-track > .e-con { position: relative; z-index: 1; }
.rc-stepnum .elementor-heading-title { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 999px; }
.rc-story-track { position: relative; }
.rc-story-track::before { content: ""; position: absolute; left: 0; right: 0; top: 18px; height: 1px; background: var(--rc-border2); }
.rc-story-track > .e-con { position: relative; z-index: 1; }
.rc-tl-dot .elementor-icon svg { width: 12px; height: 12px; }

/* ---- Border helpers (ruled rows/columns) -------------------------------- */
.rc-rule-t { border-top: 1px solid var(--rc-border); }
.rc-rule-b { border-bottom: 1px solid var(--rc-border); }
.rc-rule-l { border-left: 1px solid var(--rc-border); }
.rc-rule-t2 { border-top: 1px solid var(--rc-border2); }
.rc-rule-l2 { border-left: 1px solid var(--rc-border2); }
.rc-rule-t-dark { border-top: 1px solid rgba(255, 255, 255, .1); }
.rc-rule-b-dark { border-bottom: 1px solid rgba(255, 255, 255, .1); }

/* ---- Team photo overlay pill -------------------------------------------- */
.rc-photo-overlay { position: relative; }
.rc-photo-overlay::after { content: ""; position: absolute; inset: 0; border-radius: 24px; pointer-events: none;
	background: linear-gradient(to bottom, rgba(11, 20, 18, 0) 40%, rgba(11, 20, 18, .7) 100%); }
.rc-photo-overlay > .elementor-element:last-child { position: relative; z-index: 1; }
.rc-overlay-pill .elementor-icon-list-item { background: rgba(255, 255, 255, .14); border-radius: 999px; padding: 10px 16px 10px 12px; }
.rc-overlay-pill .elementor-icon-list-icon svg { width: 8px; height: 8px; }

/* ---- Insights ghost panel ------------------------------------------------ */
.rc-ghost-title .elementor-heading-title { opacity: .14; }

/* ---- Responsive typography floors --------------------------------------- */
@media (max-width: 1024px) { .rc-sticky { position: static; } }
@media (max-width: 767px) {
	.rc-hero-bg::before { background-size: 90px 90px; }
	.rc-hero-bg::after { width: 700px; height: 700px; right: auto; left: -60px; top: -300px; }
	.rc-floating { position: relative !important; left: auto !important; top: auto !important; }
	.rc-avatars .elementor-widget-image img { width: 36px; height: 36px; }
	.rc-stat-col.rc-rule-l { border-left: 0; border-top: 1px solid var(--rc-border); }
	.rc-hero-cta .elementor-widget-button, .rc-hero-cta .elementor-button { width: 100%; }
}
@media (min-width: 768px) and (max-width: 1024px) { .rc-avatars .elementor-widget-image img { width: 36px; height: 36px; } }
.rc-footlinks .elementor-icon-list-text{white-space:nowrap}

/* ---- Fix pass 1 ---------------------------------------------------------- */
.rc-line-icon .elementor-icon svg { fill: none !important; }
.rc-line-icon .elementor-icon svg * { stroke: currentColor; }
.rc-stepnum .elementor-heading-title { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid transparent; }
.rc-stepnum.is-done .elementor-heading-title { background: var(--rc-green); border-color: var(--rc-green); }
.rc-stepnum.is-todo .elementor-heading-title { background: var(--rc-ink2); border-color: rgba(255, 255, 255, .2); }
.rc-nav .hfe-nav-menu { flex-wrap: nowrap; }
@media (max-width: 1280px) { .rc-header-phone { display: none !important; } }
.rc-hero-visual { position: relative; }
.rc-hv-chips { white-space: nowrap; }


/* ---- Fix pass 2 ---------------------------------------------------------- */
.rc-iconbox-w .elementor-icon svg { fill: none !important; }
.rc-raw-icon .elementor-icon svg { fill: none !important; }
.rc-raw-icon .elementor-icon svg * { fill: revert-layer; }
.rc-disc-pill .elementor-icon-list-item { border: 1px solid var(--rc-border); border-radius: 999px; padding: 14px 20px 14px 16px; }
.rc-overlay-pill .elementor-icon-list-item { padding: 10px 16px 10px 12px; }
.rc-track { background: linear-gradient(to right, var(--rc-green) 0 38%, rgba(255, 255, 255, .12) 38% 100%) no-repeat 0 27px / 100% 2px; }
.rc-track::before, .rc-track::after { display: none; }
.rc-story-track { background: linear-gradient(var(--rc-border2), var(--rc-border2)) no-repeat 0 18px / 100% 1px; }
.rc-story-track::before { display: none; }
@media (max-width: 1024px) { .rc-track, .rc-story-track { background: none; } }
.rc-line-icon .elementor-icon-list-icon svg { fill: none !important; }
.rc-arrowbtn .elementor-button { width: 40px; height: 40px; padding: 0 !important; justify-content: center; }
.rc-arrowbtn .elementor-button-icon { width: auto; height: auto; background: none !important; }
.rc-arrowbtn .elementor-button-content-wrapper { gap: 0; }
.rc-arrowbtn .elementor-button-text:empty { display: none; }
.rc-initials .elementor-heading-title { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 999px; background: var(--rc-soft); }
.rc-initials { width: auto !important; }
.rc-cta-panel.rc-page-hero .rc-crumbs .elementor-icon-list-text { color: var(--rc-ondark); }
.rc-cta-panel.rc-page-hero .rc-crumbs .elementor-icon-list-item:last-child .elementor-icon-list-text { color: #fff; }
.rc-page-hero .rc-crumbs .elementor-icon-list-item:last-child .elementor-icon-list-text { color: var(--rc-text); }
.rc-arrowbtn--44 .elementor-button { width: 44px; height: 44px; }

/* ---- Contact form (CF7 inside shortcode widget) ------------------------- */
.rc-form { display: flex; flex-direction: column; gap: 24px; }
.rc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rc-form label { display: flex; flex-direction: column; gap: 10px; font: 500 13px/20px var(--rc-body-font); color: var(--rc-text); }
.rc-form label em { font-style: normal; color: var(--rc-green); margin-left: 4px; }
.rc-form .wpcf7-form-control-wrap { display: block; }
.rc-form input[type="text"], .rc-form input[type="email"], .rc-form input[type="tel"], .rc-form select, .rc-form textarea {
	width: 100%; height: 56px; padding: 14px 18px; border: 1px solid var(--rc-border); border-radius: 12px; background: #fff; font: 400 17px/28px var(--rc-body-font); color: var(--rc-text); box-shadow: none; transition: border-color .2s, box-shadow .2s; appearance: none; -webkit-appearance: none; }
.rc-form textarea { height: 140px; resize: vertical; }
.rc-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%236F7A76' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; padding-right: 48px; color: var(--rc-muted); }
.rc-form select:valid { color: var(--rc-text); }
.rc-form ::placeholder { color: var(--rc-muted); }
.rc-form input:focus, .rc-form select:focus, .rc-form textarea:focus { outline: none; border-color: var(--rc-green); box-shadow: 0 0 0 3px rgba(0, 169, 117, .15); }
.rc-form input[type="submit"] { width: 100%; height: 60px; border: 0; border-radius: 999px; background: var(--rc-green); color: #fff; font: 600 16px/24px var(--rc-body-font); cursor: pointer; transition: background .2s; }
.rc-form input[type="submit"]:hover { background: var(--rc-green-dark); }
.rc-form__note { margin: 0; font: 500 13px/20px var(--rc-body-font); color: var(--rc-muted); }
.rc-form .wpcf7-not-valid-tip { font: 500 12px/16px var(--rc-body-font); color: var(--rc-coral); margin-top: 6px; }
.wpcf7 .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--rc-border); font: 500 14px/20px var(--rc-body-font); }
.wpcf7 .wpcf7-spinner { display: none; }
.rc-formcard .elementor-widget-shortcode { width: 100%; }
@media (max-width: 767px) { .rc-form__row { grid-template-columns: 1fr; } }

/* ---- Map placeholder ------------------------------------------------------ */
.rc-hero-bg--left::after { right: auto; left: -300px; top: -300px; width: 800px; height: 800px; }
.rc-map { position: relative; }
.rc-map::after { content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image:
		radial-gradient(circle at 560px 240px, rgba(0, 169, 117, .0) 0, rgba(0, 169, 117, 0) 88px, rgba(255, 255, 255, .12) 89px, rgba(255, 255, 255, .12) 90px, transparent 91px),
		radial-gradient(circle at 560px 240px, transparent 149px, rgba(255, 255, 255, .1) 150px, rgba(255, 255, 255, .1) 151px, transparent 152px),
		radial-gradient(circle at 560px 240px, transparent 209px, rgba(255, 255, 255, .08) 210px, rgba(255, 255, 255, .08) 211px, transparent 212px),
		radial-gradient(circle at 560px 240px, var(--rc-green) 0, var(--rc-green) 10px, rgba(0, 168, 117, .35) 11px, rgba(0, 168, 117, 0) 60px),
		linear-gradient(to right, rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: auto, auto, auto, auto, 64px 64px, 64px 64px; }
.rc-map > .e-con-inner, .rc-map > .elementor-element { position: relative; z-index: 1; }
.rc-map__pill .elementor-icon-list-item { background: #fff; border-radius: 999px; padding: 8px 14px; }
.rc-map__pill .elementor-icon-list-icon svg { width: 14px; height: 14px; }
@media (max-width: 1024px) { .rc-map::after { background-position: -200px 0, -200px 0, -200px 0, -200px 0, 0 0, 0 0; } .rc-map__pill { position: relative !important; left: auto !important; top: auto !important; margin-bottom: 12px; } }
.rc-map__pill .elementor-icon-list-text { white-space: nowrap; }
@media (max-width: 1024px) {
	.rc-header > .e-con-inner { flex-wrap: nowrap !important; justify-content: space-between; }
	.rc-nav { width: auto !important; flex-grow: 0 !important; }
	.rc-nav .hfe-nav-menu__toggle { margin-left: auto; }
	.rc-nav .hfe-dropdown.menu-is-active { background: #fff; border-top: 1px solid var(--rc-border); box-shadow: 0 24px 40px rgba(10, 20, 18, .1); padding: 8px 20px 16px; }
	.rc-nav .hfe-dropdown .menu-item a { padding: 12px 0 !important; border-bottom: 1px solid var(--rc-border); }
	.rc-nav .hfe-dropdown .sub-menu { background: var(--rc-bg); border-radius: 12px; }
}
@media (max-width: 1024px) {
	.rc-header { overflow: visible; }
	.rc-nav { position: static !important; width: auto !important; flex: 0 0 auto !important; }
	.rc-nav .elementor-widget-container { display: flex; justify-content: flex-end; }
	.rc-nav .hfe-nav-menu__layout-horizontal.hfe-dropdown { position: absolute !important; left: 0; right: 0; top: 100%; width: auto !important; max-width: none; display: none; flex-direction: column; margin: 0; }
	.rc-nav .hfe-nav-menu__layout-horizontal.hfe-dropdown.menu-is-active { display: flex !important; }
	.rc-nav .hfe-dropdown .menu-item { width: 100%; }
	.rc-nav .hfe-dropdown .menu-item > a, .rc-nav .hfe-dropdown .menu-item > .hfe-has-submenu-container > a { width: 100%; justify-content: space-between; }
	.rc-nav .hfe-dropdown .sub-menu { position: static !important; width: 100% !important; box-shadow: none; }
	.rc-nav .hfe-dropdown .hfe-nav-menu, .rc-nav .hfe-dropdown .sub-menu { display: flex !important; flex-direction: column !important; flex-wrap: nowrap; width: 100% !important; gap: 0; }
	.rc-nav .hfe-dropdown .sub-menu { padding: 0 16px; margin: 0 0 8px; }
	.rc-nav .hfe-dropdown .sub-menu .menu-item a { border-bottom: 0; padding: 10px 0 !important; }
	.rc-nav .hfe-dropdown .menu-item .hfe-menu-item, .rc-nav .hfe-dropdown .menu-item .hfe-sub-menu-item { display: flex; width: 100%; justify-content: space-between; align-items: center; }
}

/* ---- Responsive pass (Figma responsive frames 1440/1280/1024/768/390) ---- */
.rc-hv-chips .elementor-icon-list-items { flex-wrap: nowrap !important; }
.rc-hv-stat .elementor-heading-title { white-space: nowrap; }
.rc-stats .elementor-counter-number-wrapper { justify-content: flex-start !important; }
.rc-stats .elementor-counter-number-prefix, .rc-stats .elementor-counter-number-suffix { flex: 0 0 auto !important; }
@media (max-width: 1024px) {
	.rc-header > .e-con-inner { gap: 10px; }
	.rc-header-actions { order: 2; margin-left: auto; width: auto !important; }
	.rc-nav { order: 3; }
	.rc-nav .hfe-nav-menu-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; border: 1px solid var(--rc-border) !important; border-radius: 999px; }
	.rc-nav .hfe-nav-menu__toggle { width: 44px; height: 44px; margin: 0; }
	.rc-hero .rc-hero-proof p { white-space: nowrap; }
}
@media (max-width: 767px) {
	.rc-hero-proof .elementor-heading-title { white-space: nowrap; }
	.rc-hero-cta { width: 100% !important; }
	.rc-hero-cta .elementor-widget-button, .rc-hero-cta .elementor-button { width: 100% !important; }
	.rc-hero-visual { overflow: visible !important; }
	/* footer accordion (Figma FooterAccordion: 57px rows, + icon, collapsed) */
	.rc-footcol { width: 100% !important; border-top: 1px solid rgba(255, 255, 255, .1); }
	.rc-footcols > .rc-footcol:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.rc-footcol__title { cursor: pointer; }
	.rc-footcol__title .elementor-heading-title { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; }
	.rc-footcol__title .elementor-heading-title::after { content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: linear-gradient(var(--rc-ondark), var(--rc-ondark)) no-repeat center / 12px 1.5px, linear-gradient(var(--rc-ondark), var(--rc-ondark)) no-repeat center / 1.5px 12px; transition: transform .2s; }
	.rc-footcol.is-open .rc-footcol__title .elementor-heading-title::after { transform: rotate(45deg); }
	.rc-footcol .rc-footlinks { display: none; padding-bottom: 16px; }
	.rc-footcol.is-open .rc-footlinks { display: block; }
	.rc-footcontact-col { padding-top: 32px !important; }
}

/* ---- Native sections on tablet/mobile (Figma R.PROCESS / R.STORY / R.WHY / R.TRUST) ---- */
@media (max-width: 1024px) {
	.rc-footcol { width: calc(50% - 12px) !important; }
	.rc-track { background: none; }
	/* process: cards (fill ink2, stroke white .08, r16), number = mono text */
	.rc-step-card { background: var(--rc-ink2); border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px; }
	.rc-stepnum .elementor-heading-title { width: auto; height: auto; background: none !important; border: 0 !important; font: 500 12px/16px var(--rc-body-font); letter-spacing: .4px; }
	.rc-stepnum.is-done .elementor-heading-title { color: var(--rc-green); }
	.rc-stepnum.is-todo .elementor-heading-title { color: var(--rc-ondark); }
	/* story: ruled cells */
	.rc-story-track { background: none; }
	.rc-year { border-top: 1px solid var(--rc-border2); }
	.rc-facts .rc-rule-l2 { border-left: 0; }
	.rc-proof-cell.rc-rule-t2 { border-top-color: var(--rc-border2); }
	.rc-sticky { position: static; }
}
@media (max-width: 767px) {
	/* process: vertical rail — 40px dot pill + 2x56 line */
	.rc-step-card { background: none; border: 0; border-radius: 0; }
	.rc-stepnum { width: 40px !important; flex: 0 0 40px; align-self: stretch; }
	.rc-stepnum .elementor-widget-container { height: 100%; }
	.rc-stepnum .elementor-heading-title { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid transparent !important; font: 500 13px/20px var(--rc-body-font); letter-spacing: 0; }
	.rc-stepnum.is-done .elementor-heading-title { background: var(--rc-green) !important; border-color: var(--rc-green) !important; color: #fff; }
	.rc-stepnum.is-todo .elementor-heading-title { background: var(--rc-ink2) !important; border-color: rgba(255, 255, 255, .2) !important; color: var(--rc-ondark); }
	.rc-step-card.is-done .rc-stepnum { background: linear-gradient(var(--rc-green), var(--rc-green)) no-repeat 19px 40px / 2px calc(100% - 40px); }
	.rc-step-card.is-todo .rc-stepnum { background: linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)) no-repeat 19px 40px / 2px calc(100% - 40px); }
	.rc-steps > .rc-step-card:last-child .rc-stepnum { background: none; }
	/* story: vertical rail — 12px dot + 2x64 line (border2) */
	.rc-year { border-top: 0; }
	.rc-tl-dot { width: 16px !important; flex: 0 0 16px; align-self: stretch; background: linear-gradient(var(--rc-border2), var(--rc-border2)) no-repeat 7px 12px / 2px calc(100% - 12px); }
	.rc-tl-dot .elementor-widget-container, .rc-tl-dot .elementor-icon-wrapper { display: flex; justify-content: center; }
	.rc-story-track > .rc-year:last-child .rc-tl-dot { background: none; }
	/* why: stacked cells with top rules */
	.rc-proof-cell.rc-rule-l2 { border-left: 0; }
	.rc-proof-cell.is-n { border-top: 1px solid var(--rc-border2); }
	/* brand tiles */
	.rc-brand-tile { margin: 0; }
}
@media (max-width: 767px) {
	.rc-step-card > .e-con, .rc-year > .e-con { width: auto !important; flex: 1 1 0; min-width: 0; }
}
/* stroke colour for icon-list SVGs (Elementor only sets fill) */
.rc-ic-green .elementor-icon-list-icon { color: var(--rc-green); }
.rc-ic-white .elementor-icon-list-icon { color: #fff; }
.rc-ic-muted .elementor-icon-list-icon { color: var(--rc-muted); }
.rc-ic-ondark .elementor-icon-list-icon { color: var(--rc-ondark); }
.rc-ic-amber .elementor-icon-list-icon { color: var(--rc-amber); }
.rc-ic-text .elementor-icon-list-icon { color: var(--rc-text); }
.rc-ic-body .elementor-icon-list-icon { color: var(--rc-body); }
.rc-ic-border2 .elementor-icon-list-icon { color: var(--rc-border2); }
.rc-ic-deep .elementor-icon-list-icon { color: var(--rc-deep); }
@media (max-width: 767px) {
	/* Figma 21:296 MapElement: 350x200, rings r 35 / 70 / 110 + 16px green dot, centred */
	.rc-map::after { background-position: 0 0; background-image:
		radial-gradient(circle at 50% 50%, var(--rc-green) 0, var(--rc-green) 8px, transparent 9px),
		radial-gradient(circle at 50% 50%, transparent 34px, rgba(255, 255, 255, .12) 35px, rgba(255, 255, 255, .12) 36px, transparent 37px),
		radial-gradient(circle at 50% 50%, transparent 69px, rgba(255, 255, 255, .1) 70px, rgba(255, 255, 255, .1) 71px, transparent 72px),
		radial-gradient(circle at 50% 50%, transparent 109px, rgba(255, 255, 255, .08) 110px, rgba(255, 255, 255, .08) 111px, transparent 112px); }
	.rc-ways > .e-con:last-child { border-bottom: 1px solid var(--rc-border); }
}
@media (max-width: 767px) { .rc-footcol { width: 100% !important; } }

/* laptop (1440) header: keep phone + CTA on one line */
@media (max-width: 1440px) {
	.rc-header-phone .elementor-icon-list-text, .rc-header-actions .elementor-button { white-space: nowrap; }
	.rc-header-actions > .e-con-inner, .rc-header-actions { gap: 16px; }
	.rc-nav .hfe-nav-menu > li > a.hfe-menu-item, .rc-nav .hfe-nav-menu > li > .hfe-has-submenu-container > a { padding-left: 10px !important; padding-right: 10px !important; }
}
.rc-head-aside > .e-con-inner { width: 100%; justify-content: flex-end; }
.rc-head-aside .elementor-widget-button .elementor-button { justify-content: flex-end; }
/* Figma mobile head rows put the link under the title, left aligned */
@media (max-width: 767px) {
	.rc-head-aside, .rc-head-aside > .e-con-inner { justify-content: flex-start !important; }
	.rc-head-aside .elementor-widget-button .elementor-button { justify-content: flex-start; }
}
