.cw-og {
	--cw-og-band: #17402e;
	--cw-og-band-number: #b8974e;
	--cw-og-band-heading: #fff;
	--cw-og-band-text: rgba(255, 255, 255, .78);
	--cw-og-eyebrow: #b8974e;
	--cw-og-title: #101512;
	--cw-og-subtitle: #4a524d;
	--cw-og-description: #101512;
	--cw-og-band-padding: 40px;
	--cw-og-band-gap: 64px;
	--cw-og-offering-gap: 56px;
	--cw-og-group-gap: 96px;
	width: 100%;
	padding-bottom: var(--cw-og-group-gap);
}
.elementor-widget-cw-offering-group:not([class*="elementor-widget__width-"]) { width: 100%; }
.cw-og *, .cw-og *::before, .cw-og *::after { box-sizing: border-box; }

/* Group heading band — the section divider. */
.cw-og__band { margin-bottom: var(--cw-og-band-gap); padding: var(--cw-og-band-padding) clamp(20px, 3vw, 40px); background: var(--cw-og-band); }
/* Full-bleed: the shadow paints the band out to the screen edges and clip-path trims
   it vertically, so the text stays aligned with the offerings and nothing overflows. */
.cw-og--bleed .cw-og__band { padding-inline: 0; box-shadow: 0 0 0 100vmax var(--cw-og-band); clip-path: inset(0 -100vmax); }
.cw-og .cw-og__band-title { display: flex; align-items: baseline; gap: 0 .35em; margin: 0; padding: 0; color: var(--cw-og-band-heading); font-size: clamp(30px, 3.6vw, 52px); font-weight: 700; line-height: 1.1; letter-spacing: -.03em; }
.cw-og .cw-og__band-number { color: var(--cw-og-band-number); font-variant-numeric: tabular-nums; }
.cw-og .cw-og__band-heading { color: var(--cw-og-band-heading); }
.cw-og .cw-og__band-text { margin: 12px 0 0; color: var(--cw-og-band-text); font-size: 18px; font-weight: 300; line-height: 1.5; }

/* Offerings — one size step below the group heading. */
.cw-og__list { display: grid; gap: var(--cw-og-offering-gap); }
.cw-og__item { min-width: 0; }
.cw-og .cw-og__eyebrow { margin: 0 0 14px; color: var(--cw-og-eyebrow); font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.cw-og .cw-og__title { margin: 0; padding: 0; color: var(--cw-og-title); font-size: clamp(24px, 2.4vw, 34px); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: anywhere; }
.cw-og .cw-og__subtitle { margin: 10px 0 0; color: var(--cw-og-subtitle); font-size: clamp(18px, 1.6vw, 22px); font-weight: 300; line-height: 1.4; }
.cw-og .cw-og__description { margin: 14px 0 0; color: var(--cw-og-description); font-size: 16px; line-height: 1.65; }

