/* ==========================================================================
   CyWella — main stylesheet
   Loaded on the front end AND inside the block editor (add_editor_style).
   Colour and font values come from theme.json presets, so changing a colour
   in Appearance → Editor → Styles updates everything here too.
   ========================================================================== */

:root {
	/* Content width is read from WordPress's own global styles, so
	   Appearance -> Editor -> Styles -> Layout -> Content width controls how
	   wide every section, the header and the footer are. The 1240px value is
	   only a fallback for when that variable is unavailable. */
	--cw-wrap: var(--wp--style--global--content-size, 1240px);

	/* Minimum breathing room at the screen edges on narrow viewports. */
	--cw-gutter: clamp(20px, 4vw, 48px);
	--cw-radius: 14px;
	--cw-radius-sm: 8px;
	--cw-card-border: rgba(255, 255, 255, 0.08);
	--cw-card-border-strong: rgba(255, 255, 255, 0.14);
	--cw-header-h: 72px;
}

/* --------------------------------------------------------------------------
   1. Base
   -------------------------------------------------------------------------- */

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* Form controls default to content-box, so width:100% plus padding and border
   overflows the container — this is what pushed the footer newsletter field
   past the right edge and created a horizontal scrollbar. */
*, *::before, *::after { box-sizing: border-box; }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Nothing should ever be able to force sideways scrolling. */
html, body { overflow-x: hidden; max-width: 100%; }

img { max-width: 100%; height: auto; }

:where(a, button, input, textarea, select, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--blue-400);
	outline-offset: 3px;
	border-radius: 4px;
}

.cw-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	padding: 12px 20px;
	background: var(--wp--preset--color--blue-500);
	color: #fff;
	font-weight: 700;
}
.cw-skip-link:focus { left: 8px; top: 8px; }

/* Visually hidden but readable by screen readers (used on the footer
   newsletter label). Core normally supplies this; declared here so the
   template part renders correctly even if core styles are dequeued. */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------
   2. Layout primitives
   -------------------------------------------------------------------------- */

.cw-wrap {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	width: 100%;
}

.cw-section {
	padding-block: clamp(56px, 7vw, 104px);
	padding-inline: var(--cw-gutter);
	position: relative;
}
.cw-section--tight { padding-block: clamp(40px, 4.5vw, 64px); }
.cw-section--flush { padding-block: 0; }

/* Section colour skins */
.cw-section--light { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink-text); }
.cw-section--mist  { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--ink-text); }
.cw-section--navy  { background: var(--wp--preset--color--navy-800); color: #fff; }
.cw-section--ink   { background: var(--wp--preset--color--ink-900); color: #fff; }

.cw-section--navy :is(h1, h2, h3, h4, h5, h6),
.cw-section--ink  :is(h1, h2, h3, h4, h5, h6) { color: #fff; }

.cw-section--navy p,
.cw-section--ink p { color: var(--wp--preset--color--slate-300); }

.cw-section--light .cw-lead,
.cw-section--mist  .cw-lead { color: var(--wp--preset--color--slate-600); }

/* Centred section intro */
.cw-head { max-width: 760px; margin-inline: auto; text-align: center; }
.cw-head p { margin-top: 14px; font-size: 18px; }
.cw-head--left { margin-inline: 0; text-align: left; }

.cw-lead { font-size: 18px; line-height: 1.75; }

/* Grids
   The card rows, process steps and two-column splits use WordPress's native
   Grid layout, so the number of columns is editable in the block sidebar
   (select the grid, then Layout → Columns). WordPress writes the desktop
   grid-template-columns itself; the media queries below are the only thing
   it does not handle, because a manual column count is not responsive.
   Fallback only — WordPress supplies display:grid and the gap. */
.cw-grid, .cw-steps { display: grid; }

/* Fallback in case a grid ever renders with layout type "default" instead of
   "grid" (e.g. Query Loop post templates) — makes sure 3-column card grids
   never collapse into a single full-width column. */
.cw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .cw-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 639px)  { .cw-grid--3 { grid-template-columns: minmax(0, 1fr) !important; } }

.cw-split.is-layout-grid { align-items: center; }

@media (max-width: 1023px) {
	.cw-grid.is-layout-grid,
	.cw-steps.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 899px) {
	.cw-split.is-layout-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}
@media (max-width: 639px) {
	.cw-grid.is-layout-grid,
	.cw-steps.is-layout-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* --------------------------------------------------------------------------
   3. Buttons
   -------------------------------------------------------------------------- */

.cw-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.cw-btns--center { justify-content: center; }

.wp-block-button__link,
.cw-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	padding: 15px 26px;
	border-radius: var(--cw-radius-sm);
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

/* Primary */
.cw-btn--primary .wp-block-button__link,
.wp-block-button.is-style-cw-primary .wp-block-button__link {
	background: var(--wp--preset--color--blue-500);
	color: #fff;
	border: 1px solid var(--wp--preset--color--blue-500);
}
.cw-btn--primary .wp-block-button__link:hover,
.wp-block-button.is-style-cw-primary .wp-block-button__link:hover {
	background: #1c7bf0;
	border-color: #1c7bf0;
}

/* Outline — on dark backgrounds */
.cw-btn--outline .wp-block-button__link,
.wp-block-button.is-style-cw-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
}
.cw-btn--outline .wp-block-button__link:hover,
.wp-block-button.is-style-cw-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.6);
}

/* Outline — on light backgrounds */
.cw-btn--outline-dark .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink-text);
	border: 1px solid rgba(11, 16, 32, 0.25);
}
.cw-btn--outline-dark .wp-block-button__link:hover {
	background: rgba(11, 16, 32, 0.05);
}

/* White filled — used on the darkest CTA bands */
.cw-btn--white .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--navy-900);
	border: 1px solid #fff;
}
.cw-btn--white .wp-block-button__link:hover { background: #e8eefb; }

/* Text link with arrow */
.cw-linkarrow a,
a.cw-linkarrow {
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--blue-400);
	text-decoration: none;
}
.cw-linkarrow a:hover, a.cw-linkarrow:hover { color: #fff; text-decoration: underline; }
.cw-section--light .cw-linkarrow a,
.cw-section--mist  .cw-linkarrow a { color: var(--wp--preset--color--blue-500); }
.cw-section--light .cw-linkarrow a:hover,
.cw-section--mist  .cw-linkarrow a:hover { color: var(--wp--preset--color--navy-800); }

/* --------------------------------------------------------------------------
   4. Header
   -------------------------------------------------------------------------- */

.cw-header {
	background: var(--wp--preset--color--navy-900);
	color: #fff;
	position: sticky;
	top: 0;
	z-index: 500;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.admin-bar .cw-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cw-header { top: 46px; } }

.cw-header__inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	padding: 12px var(--cw-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.cw-header .wp-block-site-logo img { height: 46px; width: auto; }

.cw-header .wp-block-navigation {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	font-weight: 500;
}
.cw-header .wp-block-navigation a { color: rgba(255, 255, 255, 0.88); text-decoration: none; }
.cw-header .wp-block-navigation a:hover { color: #fff; }
.cw-header .wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: none; }

/* Dropdown panels */
.cw-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border-strong);
	border-radius: var(--cw-radius-sm);
	padding: 8px;
	min-width: 250px;
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.45);
}
.cw-header .wp-block-navigation .wp-block-navigation__submenu-container a {
	padding: 9px 12px;
	border-radius: 6px;
	font-size: 14px;
}
.cw-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	background: rgba(45, 140, 255, 0.16);
	color: #fff;
}

/* Mobile overlay menu */
.cw-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--navy-900);
	padding-top: 88px;
}
.cw-header .wp-block-navigation__responsive-container-close,
.cw-header .wp-block-navigation__responsive-container-open { color: #fff; }

.cw-header.is-scrolled { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); }
.cw-header__cta .wp-block-button__link { padding: 12px 20px; font-size: 13px; }

@media (max-width: 900px) {
	.cw-header__cta { display: none; }
}

/* --------------------------------------------------------------------------
   5. Page hero
   -------------------------------------------------------------------------- */

.cw-hero {
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	padding-inline: var(--cw-gutter);
	overflow: hidden;
	background: var(--wp--preset--color--ink-950);
}
.cw-hero.wp-block-cover { min-height: 460px; }
.cw-hero--tall { min-height: 620px; }
.cw-hero--short { min-height: 340px; }

.cw-hero .wp-block-cover__inner-container,
.cw-hero__inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	width: 100%;
	position: relative;
	z-index: 2;
}

.cw-hero h1 { color: #fff; }
.cw-hero p { color: rgba(255, 255, 255, 0.86); }

/* Centred inner hero (all interior pages) */
.cw-hero--center .wp-block-cover__inner-container { text-align: center; }
.cw-hero--center p { max-width: 720px; margin-inline: auto; }
.cw-hero--center .cw-btns { justify-content: center; }

/* Home hero — left aligned, oversized display type */
.cw-hero--home .wp-block-cover__inner-container { max-width: var(--cw-wrap); text-align: left; }
.cw-hero--home h1 { max-width: 19ch; }
.cw-hero--home p { max-width: 58ch; }

/* Interior hero titles are set in large caps in the source design */
.cw-hero__title-caps { text-transform: uppercase; letter-spacing: 0.01em; }

/* --------------------------------------------------------------------------
   6. Trusted-by strip
   -------------------------------------------------------------------------- */

.cw-trusted {
	background: var(--wp--preset--color--ink-950);
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	padding: 14px var(--cw-gutter);
}
.cw-trusted__inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 34px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.62);
}
.cw-trusted__label { color: rgba(255, 255, 255, 0.4); }
.cw-trusted__item { display: inline-flex; align-items: center; gap: 8px; }
.cw-trusted__item::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--blue-500);
	flex: none;
}

/* Home hero feature strip */
.cw-featurestrip {
	background: var(--wp--preset--color--ink-950);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	padding: 16px var(--cw-gutter);
}
.cw-featurestrip__inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.8);
}
.cw-featurestrip__item { display: flex; align-items: center; gap: 10px; }
.cw-featurestrip__item::before { content: "\2726"; color: var(--wp--preset--color--blue-500); }
@media (max-width: 900px) { .cw-featurestrip__inner { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .cw-featurestrip__inner { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   7. Stat bar
   -------------------------------------------------------------------------- */

.cw-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	overflow: hidden;
}
.cw-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cw-stat {
	padding: 22px 20px;
	text-align: center;
	border-right: 1px solid var(--cw-card-border);
}
.cw-stat:last-child { border-right: 0; }
.cw-stat__num {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	margin: 0;
}
.cw-stat__num em {
	font-style: normal;
	color: var(--wp--preset--color--blue-400);
}
.cw-stat__label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
	margin: 8px 0 0;
	line-height: 1.4;
}
@media (max-width: 767px) {
	.cw-stats, .cw-stats--3 { grid-template-columns: repeat(2, 1fr); }
	.cw-stat:nth-child(2n) { border-right: 0; }
	.cw-stat { border-bottom: 1px solid var(--cw-card-border); }
}

/* Inline stat row used on the About / Resources pages */
.cw-statrow { display: flex; flex-wrap: wrap; gap: 40px; }
.cw-statrow .cw-stat { border: 0; padding: 0; text-align: left; }

/* --------------------------------------------------------------------------
   8. Cards
   -------------------------------------------------------------------------- */

.cw-card {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: border-color 0.18s ease, transform 0.18s ease;
}
.cw-card:hover { border-color: rgba(45, 140, 255, 0.5); }
.cw-card h3, .cw-card h4 {
	margin: 0;
	color: #fff;
	font-size: 18px;
	font-family: var(--wp--preset--font-family--dmsans);
	font-weight: 700;
	line-height: 1.35;
}
/* Article / insight cards keep the display serif for their headline */
.cw-card--article .cw-card__body h3,
.cw-postcard__title,
.cw-feature__body h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-weight: 700;
	line-height: 1.28;
}
.cw-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--wp--preset--color--slate-300);
}
.cw-card .cw-linkarrow { margin-top: auto; padding-top: 8px; }

/* Card variant sitting on a navy section — slightly deeper fill */
.cw-section--navy .cw-card { background: rgba(255, 255, 255, 0.035); }
.cw-section--ink .cw-card { background: rgba(255, 255, 255, 0.04); }

/* Card with an image on top (Services + Blog) */
.cw-card--media { padding: 0; overflow: hidden; }
.cw-card--media .cw-card__media {
	aspect-ratio: 16 / 10;
	background: var(--wp--preset--color--navy-700);
	overflow: hidden;
	margin: 0;
}
.cw-card--media .cw-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cw-card--media .cw-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cw-card--media .cw-card__body .cw-tag { align-self: flex-start; }
.cw-card--media .cw-card__body .cw-postcard__meta { border-top: 0; padding-top: 0; margin-top: 0; }

/* Centred card (used for the "principles" and "what makes us different" rows) */
.cw-card--center { text-align: center; }

/* Compact bordered chip cards */
.cw-chipcard {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius-sm);
	padding: 18px 20px;
}
.cw-chipcard h4 { margin: 0 0 6px; font-size: 15px; color: #fff; }
.cw-chipcard p { margin: 0; font-size: 13px; color: var(--wp--preset--color--slate-300); }

/* Tag pills */
.cw-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.cw-tag {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(45, 140, 255, 0.16);
	color: var(--wp--preset--color--blue-400);
	border: 1px solid rgba(45, 140, 255, 0.28);
}
.cw-tag--green { background: rgba(52, 211, 153, 0.14); color: #6ee7b7; border-color: rgba(52, 211, 153, 0.3); }
.cw-tag--gold  { background: rgba(245, 181, 68, 0.14); color: #f7c86e; border-color: rgba(245, 181, 68, 0.3); }

/* --------------------------------------------------------------------------
   9. Split section (text + image)
   -------------------------------------------------------------------------- */

.cw-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
.cw-split--media-first > :first-child { order: -1; }
@media (max-width: 899px) {
}

.cw-split__media { margin: 0; border-radius: var(--cw-radius); overflow: hidden; position: relative; }
.cw-split__media img { width: 100%; display: block; }

/* Feature list with a check mark */
.cw-checks { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; }
.cw-checks li {
	position: relative;
	padding-left: 32px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--slate-300);
}
.cw-checks li::before {
	content: "";
	position: absolute;
	left: 0; top: 3px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: rgba(45, 140, 255, 0.18);
	border: 1px solid rgba(45, 140, 255, 0.5);
}
.cw-checks li::after {
	content: "";
	position: absolute;
	left: 6px; top: 8px;
	width: 6px; height: 3px;
	border-left: 2px solid var(--wp--preset--color--blue-400);
	border-bottom: 2px solid var(--wp--preset--color--blue-400);
	transform: rotate(-45deg);
}
.cw-section--light .cw-checks li, .cw-section--mist .cw-checks li { color: var(--wp--preset--color--slate-600); }

/* Bold sub-point list (heading + one line) */
.cw-points { display: grid; gap: 20px; margin-top: 26px; }
.cw-points h4 { margin: 0 0 5px; font-size: 15px; }
.cw-points p { margin: 0; font-size: 14px; }

/* --------------------------------------------------------------------------
   10. Status / progress card
   -------------------------------------------------------------------------- */

.cw-status {
	background: linear-gradient(160deg, rgba(45, 140, 255, 0.12), rgba(8, 22, 64, 0.6));
	border: 1px solid var(--cw-card-border-strong);
	border-radius: var(--cw-radius);
	padding: 24px 26px;
}
.cw-status__eyebrow {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	color: var(--wp--preset--color--blue-400);
	margin: 0 0 6px;
}
.cw-status h4 { margin: 0 0 6px; font-size: 17px; color: #fff; }
.cw-status p { margin: 0; font-size: 13px; }
.cw-status__bar {
	height: 5px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.12);
	margin: 18px 0 10px;
	overflow: hidden;
}
.cw-status__fill { display: block; height: 100%; border-radius: 99px; background: var(--wp--preset--color--blue-500); }
.cw-status__meta {
	display: flex;
	justify-content: space-between;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 11px;
	color: rgba(255, 255, 255, 0.55);
}
.cw-pill {
	display: inline-block;
	margin-top: 14px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 11px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(52, 211, 153, 0.16);
	color: #6ee7b7;
	border: 1px solid rgba(52, 211, 153, 0.32);
}

/* Coverage list card */
.cw-coverage {
	background: var(--wp--preset--color--navy-700);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: 26px 28px;
}
.cw-coverage h4 { margin: 0 0 16px; font-size: 17px; color: #fff; }
.cw-coverage ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cw-coverage li {
	font-size: 14px;
	color: var(--wp--preset--color--slate-300);
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.cw-coverage li:last-child { border-bottom: 0; padding-bottom: 0; }

/* --------------------------------------------------------------------------
   11. Testimonials
   -------------------------------------------------------------------------- */

.cw-quote {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.cw-section--navy .cw-quote { background: rgba(255, 255, 255, 0.035); }
.cw-quote__stars { color: var(--wp--preset--color--gold); font-size: 14px; letter-spacing: 2px; line-height: 1; }
.cw-quote p { margin: 0; font-size: 14.5px; line-height: 1.72; color: rgba(255, 255, 255, 0.9); }
.cw-quote__who { margin-top: auto; display: flex; align-items: center; gap: 12px; }
.cw-quote__avatar {
	width: 38px; height: 38px;
	border-radius: 50%;
	background: rgba(45, 140, 255, 0.2);
	border: 1px solid rgba(45, 140, 255, 0.4);
	display: grid;
	place-items: center;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	font-weight: 700;
	color: var(--wp--preset--color--blue-400);
	flex: none;
}
.cw-quote__name { margin: 0; font-size: 14px; font-weight: 700; color: #fff; font-family: var(--wp--preset--font-family--dmsans); }
.cw-quote__role { margin: 2px 0 0; font-family: var(--wp--preset--font-family--inter); font-size: 12px; color: rgba(255, 255, 255, 0.55); }

/* --------------------------------------------------------------------------
   12. Process steps
   -------------------------------------------------------------------------- */

.cw-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cw-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cw-step {
	background: var(--wp--preset--color--ink-900);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius-sm);
	padding: 24px;
	text-align: center;
}
.cw-step h4 { margin: 0 0 8px; font-size: 15px; color: #fff; }
.cw-step p { margin: 0; font-size: 13.5px; color: var(--wp--preset--color--slate-300); line-height: 1.6; }
@media (max-width: 899px) { .cw-steps, .cw-steps--4 { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   13. FAQ (native <details> — keyboard accessible, no JS required)
   -------------------------------------------------------------------------- */

.cw-faq { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.cw-faq__item { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.cw-faq__item > summary {
	cursor: pointer;
	list-style: none;
	padding: 22px 44px 22px 0;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	position: relative;
}
.cw-faq__item > summary::-webkit-details-marker { display: none; }
.cw-faq__item > summary::after {
	content: "";
	position: absolute;
	right: 6px; top: 50%;
	width: 10px; height: 10px;
	margin-top: -7px;
	border-right: 2px solid var(--wp--preset--color--blue-400);
	border-bottom: 2px solid var(--wp--preset--color--blue-400);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.cw-faq__item[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
.cw-faq__item > *:not(summary) { padding: 0 40px 24px 0; margin: 0; }
.cw-faq__item p { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--wp--preset--color--slate-300); }

.cw-section--light .cw-faq, .cw-section--mist .cw-faq { border-color: rgba(11, 16, 32, 0.12); }
.cw-section--light .cw-faq__item, .cw-section--mist .cw-faq__item { border-color: rgba(11, 16, 32, 0.12); }
.cw-section--light .cw-faq__item > summary,
.cw-section--mist  .cw-faq__item > summary { color: var(--wp--preset--color--ink-text); }
.cw-section--light .cw-faq__item p,
.cw-section--mist  .cw-faq__item p { color: var(--wp--preset--color--slate-600); }

/* FAQ inside a navy panel on a white page */
.cw-faqpanel {
	background: var(--wp--preset--color--navy-800);
	border-radius: var(--cw-radius);
	padding: clamp(28px, 4vw, 52px);
}
.cw-faqpanel h2 { color: var(--wp--preset--color--blue-400); }

/* --------------------------------------------------------------------------
   14. CTA bands
   -------------------------------------------------------------------------- */

.cw-cta { text-align: center; }
.cw-cta h2 { margin: 0 auto; max-width: 20ch; }
.cw-cta p { margin: 16px auto 0; max-width: 62ch; }
.cw-cta .cw-btns { margin-top: 28px; justify-content: center; }

.cw-cta--panel {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: clamp(36px, 5vw, 64px);
}

/* Wide dark banner with a background image (48-hour band on the home page) */
.cw-band { position: relative; text-align: center; color: #fff; }
.cw-band.wp-block-cover { min-height: 300px; }
.cw-band h2 { color: #fff; }

/* --------------------------------------------------------------------------
   15. Insights / blog cards
   -------------------------------------------------------------------------- */

.cw-postcard {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.cw-postcard__media { aspect-ratio: 16 / 10; overflow: hidden; margin: 0; background: var(--wp--preset--color--navy-700); }
.cw-postcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cw-postcard__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cw-postcard__title { margin: 0; font-size: 19px; line-height: 1.3; }
.cw-postcard__title a { color: #fff; text-decoration: none; }
.cw-postcard__title a:hover { color: var(--wp--preset--color--blue-400); }
.cw-postcard__excerpt { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--wp--preset--color--slate-300); }
.cw-postcard__meta {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.55);
}

/* Featured horizontal article card */
.cw-feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	overflow: hidden;
}
.cw-feature__media { margin: 0; }
.cw-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cw-feature__body { padding: clamp(24px, 3vw, 42px); display: flex; flex-direction: column; justify-content: center; gap: 14px; }
@media (max-width: 899px) { .cw-feature { grid-template-columns: 1fr; } }

/* Category filter row on the Blogs page */
.cw-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.cw-filters a {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	font-weight: 500;
	padding: 9px 18px;
	border-radius: 999px;
	border: 1px solid var(--cw-card-border-strong);
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	background: rgba(255, 255, 255, 0.03);
}
.cw-filters a:hover { border-color: var(--wp--preset--color--blue-500); color: #fff; }
.cw-filters a.is-active { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.4); color: #fff; }

/* "Load More Articles" button on the Blogs page */
.cw-pagination--loadmore { margin-top: 48px; }
.cw-pagination--loadmore .wp-block-query-pagination-next {
	display: inline-block;
	padding: 13px 30px;
	border-radius: 999px;
	background: var(--wp--preset--color--blue-500);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}
.cw-pagination--loadmore .wp-block-query-pagination-next:hover { background: var(--wp--preset--color--blue-400); }

/* "Stay Current" inline newsletter bar on the Blogs page */
.cw-stay-current {
	background: var(--wp--preset--color--navy-700);
	border: 1px solid var(--cw-card-border-strong);
	border-radius: var(--cw-radius);
	padding: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 48px);
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}
.cw-stay-current__text { flex: 1 1 420px; max-width: 620px; }
.cw-stay-current__text h2 { margin: 0 0 8px; font-size: 24px; }
.cw-stay-current__text > p:last-child { margin: 0; color: var(--wp--preset--color--slate-300); font-size: 13.5px; }
.cw-stay-current__form { display: flex; gap: 12px; flex: 0 0 auto; }
.cw-stay-current__form input[type="email"] {
	width: 240px;
	padding: 12px 16px;
	border-radius: 8px;
	border: 1px solid var(--cw-card-border-strong);
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-size: 14px;
}
.cw-stay-current__form input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.55); }
.cw-stay-current__form button {
	padding: 12px 22px;
	border-radius: 8px;
	border: none;
	background: var(--wp--preset--color--blue-500);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	white-space: nowrap;
	cursor: pointer;
}
.cw-stay-current__form button:hover { background: var(--wp--preset--color--blue-400); }
@media (max-width: 782px) {
	.cw-stay-current__form { flex-basis: 100%; }
	.cw-stay-current__form input[type="email"] { width: auto; flex: 1; }
}

/* --------------------------------------------------------------------------
   16. Download cards (Resources)
   -------------------------------------------------------------------------- */

.cw-download {
	background: var(--wp--preset--color--ink-900);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cw-download h4 { margin: 0; font-size: 17px; color: #fff; }
.cw-download p { margin: 0; font-size: 13.5px; color: var(--wp--preset--color--slate-300); line-height: 1.65; }
.cw-download .wp-block-button { margin-top: auto; padding-top: 10px; }
.cw-download .wp-block-button__link { width: 100%; justify-content: center; }

/* Free tools row */
.cw-tool {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius-sm);
	padding: 20px;
	text-align: center;
}
.cw-tool h4 { margin: 0 0 6px; font-size: 15px; color: #fff; }
.cw-tool p { margin: 0; font-size: 12.5px; color: var(--wp--preset--color--slate-300); }

/* --------------------------------------------------------------------------
   17. Contact page
   -------------------------------------------------------------------------- */

.cw-contact { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(32px, 5vw, 64px); align-items: start; }
@media (max-width: 899px) { .cw-contact { grid-template-columns: 1fr; } }

.cw-contact__block { margin-bottom: 26px; }
.cw-contact__label {
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--blue-500);
	margin: 0 0 4px;
}
.cw-contact__value { margin: 0; font-size: 15px; line-height: 1.6; }

.cw-form {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: clamp(26px, 3.5vw, 44px);
}
.cw-form h3 { margin: 0 0 8px; color: #fff; }
.cw-form__intro { margin: 0 0 26px; font-size: 14px; color: var(--wp--preset--color--slate-300); }
.cw-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 599px) { .cw-form__grid { grid-template-columns: 1fr; } }
.cw-field { display: flex; flex-direction: column; gap: 7px; }
.cw-field--full { grid-column: 1 / -1; }
.cw-field label {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}
.cw-field .req { color: var(--wp--preset--color--blue-400); }
.cw-field :is(input, select, textarea) {
	width: 100%;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid var(--cw-card-border-strong);
	border-radius: var(--cw-radius-sm);
	padding: 12px 14px;
	color: #fff;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 14px;
}
.cw-field :is(input, select, textarea)::placeholder { color: rgba(255, 255, 255, 0.35); }
.cw-field :is(input, select, textarea):focus {
	border-color: var(--wp--preset--color--blue-500);
	outline: none;
	box-shadow: 0 0 0 3px rgba(45, 140, 255, 0.18);
}
.cw-field textarea { min-height: 128px; resize: vertical; }
.cw-form__submit {
	width: 100%;
	margin-top: 22px;
	background: var(--wp--preset--color--blue-500);
	color: #fff;
	border: 0;
	border-radius: var(--cw-radius-sm);
	padding: 15px 24px;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.cw-form__submit:hover { background: #1c7bf0; }
.cw-form__note { margin: 14px 0 0; text-align: center; font-size: 12px; color: rgba(255, 255, 255, 0.5); }
.cw-form__notice {
	margin: 0 0 20px;
	padding: 13px 16px;
	border-radius: var(--cw-radius-sm);
	font-size: 14px;
}
.cw-form__notice--ok { background: rgba(52, 211, 153, 0.14); border: 1px solid rgba(52, 211, 153, 0.35); color: #a7f3d0; }
.cw-form__notice--err { background: rgba(248, 113, 113, 0.14); border: 1px solid rgba(248, 113, 113, 0.35); color: #fecaca; }
.cw-hp { position: absolute; left: -9999px; }

/* Snapshot side card on the contact page */
.cw-snapshot {
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius);
	padding: 24px;
}
.cw-snapshot__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cw-snapshot h4 { margin: 0; font-size: 16px; color: #fff; }
.cw-snapshot p { color: var(--wp--preset--color--slate-300); font-size: 13.5px; margin: 10px 0 0; }
.cw-snapshot ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.cw-snapshot li { position: relative; padding-left: 26px; font-size: 13.5px; color: var(--wp--preset--color--slate-300); }
.cw-snapshot li::before {
	content: "";
	position: absolute; left: 0; top: 4px;
	width: 15px; height: 15px;
	border-radius: 50%;
	border: 1px solid rgba(45, 140, 255, 0.55);
	background: rgba(45, 140, 255, 0.18);
}

/* --------------------------------------------------------------------------
   18. Team / profile
   -------------------------------------------------------------------------- */

.cw-profile { display: grid; grid-template-columns: 340px 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 899px) { .cw-profile { grid-template-columns: 1fr; } }

.cw-profile__card {
	border-radius: var(--cw-radius);
	overflow: hidden;
	position: relative;
	background: var(--wp--preset--color--navy-700);
}
.cw-profile__card figure { margin: 0; }
.cw-profile__card img { width: 100%; display: block; aspect-ratio: 4 / 5; object-fit: cover; }
.cw-profile__caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	padding: 22px 24px;
	background: linear-gradient(180deg, rgba(7, 19, 64, 0) 0%, rgba(7, 19, 64, 0.92) 60%);
}
.cw-profile__caption h3 { margin: 0; color: #fff; font-size: 22px; }
.cw-profile__caption p { margin: 4px 0 0; font-size: 13px; color: var(--wp--preset--color--blue-400); font-family: var(--wp--preset--font-family--inter); }

.cw-profile__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 6px 12px;
	border-radius: 6px;
	background: rgba(245, 181, 68, 0.16);
	border: 1px solid rgba(245, 181, 68, 0.34);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 11px;
	font-weight: 600;
	color: #f7c86e;
}

.cw-bookcard {
	margin-top: 16px;
	background: var(--wp--preset--color--navy-800);
	border: 1px solid var(--cw-card-border);
	border-radius: var(--cw-radius-sm);
	padding: 16px 18px;
}
.cw-bookcard span {
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 11px;
	color: var(--wp--preset--color--blue-400);
	margin-bottom: 3px;
}
.cw-bookcard strong { font-size: 14px; color: #fff; }

/* --------------------------------------------------------------------------
   19. Legal pages (Terms, Privacy)
   -------------------------------------------------------------------------- */

.cw-legalhero {
	background: linear-gradient(90deg, var(--wp--preset--color--ink-950) 0%, var(--wp--preset--color--navy-900) 100%);
	color: #fff;
	padding: clamp(44px, 6vw, 76px) var(--cw-gutter);
}
.cw-legalhero__inner { max-width: var(--cw-wrap); margin-inline: auto; }
.cw-legalhero h1 { margin: 0; font-size: clamp(32px, 4.5vw, 48px); }
.cw-legalhero p { margin: 12px 0 0; max-width: 60ch; color: rgba(255, 255, 255, 0.8); font-size: 15px; }

.cw-legal { max-width: 900px; margin-inline: auto; }
.cw-legal h2 { font-size: 26px; margin-top: 44px; }
.cw-legal h3 { font-size: 19px; margin-top: 28px; }
.cw-legal p, .cw-legal li { font-size: 15px; line-height: 1.75; color: #35405c; }
.cw-legal ul, .cw-legal ol { padding-left: 22px; }
.cw-legal li { margin-bottom: 8px; }

.cw-toc {
	background: var(--wp--preset--color--mist);
	border: 1px solid rgba(11, 16, 32, 0.1);
	border-radius: var(--cw-radius);
	padding: 22px 26px;
	margin-bottom: 32px;
}
.cw-toc strong { display: block; margin-bottom: 10px; font-size: 14px; }
.cw-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.cw-toc a { font-size: 14px; }
.cw-legal__updated { font-size: 13px; color: var(--wp--preset--color--slate-600); }

/* --------------------------------------------------------------------------
   20. Footer
   -------------------------------------------------------------------------- */

.cw-footer { background: var(--wp--preset--color--navy-800); color: #fff; }
.cw-footer__main { padding: clamp(48px, 6vw, 76px) var(--cw-gutter) 44px; }
.cw-footer__inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
	gap: 40px;
}
@media (max-width: 1023px) { .cw-footer__inner { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 599px) { .cw-footer__inner { grid-template-columns: 1fr; } }

.cw-footer__logo img { height: 54px; width: auto; }
.cw-footer__blurb { margin: 16px 0 0; font-size: 13.5px; line-height: 1.7; color: var(--wp--preset--color--slate-300); max-width: 34ch; }

.cw-footer h4 {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 13px;
	font-weight: 600;
	color: #fff;
}
.cw-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.cw-footer ul a { font-size: 13.5px; color: var(--wp--preset--color--slate-300); text-decoration: none; }
.cw-footer ul a:hover { color: #fff; }

.cw-social { display: flex; gap: 10px; margin-top: 22px; }
.cw-social a {
	width: 34px; height: 34px;
	display: grid; place-items: center;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid var(--cw-card-border);
	color: #fff;
}
.cw-social a:hover { background: var(--wp--preset--color--blue-500); border-color: var(--wp--preset--color--blue-500); }
.cw-social svg { width: 15px; height: 15px; fill: currentColor; }

.cw-newsletter { min-width: 0; }
.cw-newsletter p { font-size: 13.5px; color: var(--wp--preset--color--slate-300); margin: 0 0 16px; line-height: 1.65; }
.cw-newsletter input[type="email"] {
	width: 100%;
	min-width: 0;
	background: var(--wp--preset--color--blue-500);
	border: 1px solid var(--wp--preset--color--blue-500);
	border-radius: var(--cw-radius-sm);
	padding: 12px 16px;
	color: #fff;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 13.5px;
}
.cw-newsletter input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.85); }
.cw-newsletter button {
	width: 100%;
	min-width: 0;
	margin-top: 10px;
	background: var(--wp--preset--color--ink-950);
	border: 1px solid var(--cw-card-border-strong);
	border-radius: var(--cw-radius-sm);
	padding: 12px 16px;
	color: #fff;
	font-family: var(--wp--preset--font-family--dmsans);
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
}
.cw-newsletter button:hover { background: #000; }
.cw-newsletter small { display: block; margin-top: 12px; font-size: 11.5px; color: rgba(255, 255, 255, 0.45); line-height: 1.6; }

.cw-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 20px var(--cw-gutter);
}
.cw-footer__bar-inner {
	max-width: var(--cw-wrap);
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
}
.cw-footer__bar-inner ul { display: flex; flex-wrap: wrap; gap: 22px; }
.cw-footer__bar-inner a { color: rgba(255, 255, 255, 0.62); text-decoration: none; font-size: 12.5px; }
.cw-footer__bar-inner a:hover { color: #fff; }

/* --------------------------------------------------------------------------
   21. Single post + archive
   -------------------------------------------------------------------------- */

.cw-article { max-width: 780px; margin-inline: auto; }
.cw-article :is(h2, h3) { margin-top: 36px; }
.cw-article p, .cw-article li { font-size: 17px; line-height: 1.8; color: #2b3450; }
.cw-article figure { margin: 32px 0; }
.cw-article figure img { border-radius: var(--cw-radius); }

.cw-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 48px; }
.cw-pagination .page-numbers {
	padding: 9px 15px;
	border-radius: 7px;
	border: 1px solid var(--cw-card-border-strong);
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 14px;
}
.cw-pagination .page-numbers.current,
.cw-pagination .page-numbers:hover {
	background: var(--wp--preset--color--blue-500);
	border-color: var(--wp--preset--color--blue-500);
	color: #fff;
}

/* --------------------------------------------------------------------------
   22. Editor-only tweaks
   -------------------------------------------------------------------------- */

.editor-styles-wrapper .cw-section { padding-inline: 32px; }
.editor-styles-wrapper .cw-header { position: static; }

/* --------------------------------------------------------------------------
   23. Remove the vertical gaps between full-width sections

   WordPress generates a block-gap rule for the flow layout:
     .wp-block-post-content.is-layout-flow > * { margin-block-start: 24px }
   On a stacked full-bleed layout that renders as a white strip between every
   pair of coloured sections. The selectors below mirror core's own shape so
   the specificity contest is won, and are scoped to the section wrappers, so
   paragraph spacing inside blog posts is untouched.

   Verified fix — confirmed working on a live install.
   -------------------------------------------------------------------------- */

.wp-block-post-content > .wp-block-group,
.wp-block-post-content > .wp-block-cover {
	margin-block: 0 !important;
}

.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block: 0 !important;
}

.wp-site-blocks {
	background: var(--wp--preset--color--ink-950);
}

/* --------------------------------------------------------------------------
   24. Block-gap inside grid and flex containers

   Same root cause as section 23, one level deeper. WordPress adds
   margin-block-start to every block after the first inside a group, which
   inside a CSS grid pushes cards 2..n down by 24px while card 1 stays put —
   so rows look misaligned and cards end up unequal heights.
   -------------------------------------------------------------------------- */

.cw-grid > *,
.cw-steps > *,
.cw-steps--4 > *,
.cw-stats > *,
.cw-statrow > *,
.cw-split > *,
.cw-profile > *,
.cw-contact > *,
.cw-feature > *,
.cw-card > *,
.cw-postcard > *,
.cw-trusted__inner > *,
.cw-featurestrip__inner > *,
.cw-footer__inner > *,
.cw-form__grid > * {
	margin-block: 0 !important;
}

/* Do NOT set height:100% on grid items. CSS grid already stretches every
   item to its row height (align-items defaults to stretch); an explicit
   height:100% resolves against the wrong box and makes cards overflow their
   row, so the next row overlaps the previous one. */


/* --------------------------------------------------------------------------
   25. Editor block-style aliases

   register_block_style() emits is-style-<name>. These aliases mean a variant
   picked from the block sidebar styles correctly in both the editor preview
   and on the front end.
   -------------------------------------------------------------------------- */

.is-style-cw-section--light { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink-text); }
.is-style-cw-section--mist  { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--ink-text); }
.is-style-cw-section--navy  { background: var(--wp--preset--color--navy-800); color: #fff; }
.is-style-cw-section--ink   { background: var(--wp--preset--color--ink-900); color: #fff; }

.wp-block-button.is-style-cw-outline-dark .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink-text);
	border: 1px solid rgba(11, 16, 32, 0.25);
}
.wp-block-button.is-style-cw-white .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--navy-900);
	border: 1px solid #fff;
}
.wp-block-button.is-style-cw-white .wp-block-button__link:hover { background: #e8eefb; }
