/* Dam Writers 4 — legacy compatibility layer (BUILD-SPEC §10.4). GENERATED, do not edit by hand:
   python3 tools/build-legacy-css.py
   Verbatim copy of Dam Writers Hybrid 3.3.8 styling for content that still uses .dw-* markup.
   Loaded only when the queried post contains legacy markup and no `is-dwv4` marker (inc/legacy.php).
   Documented exception to the no-!important rule: the 3.3.8 rules are copied as-is.
   Shell selectors (3.3.8 header/footer/mobile nav/language switch/skip link/site title) removed.
   Sources: theme.css (206866 bytes, CRLF normalised, sha256 fb6be6cafa78682f); editorial.css (11551 bytes, CRLF normalised, sha256 12e9e879139f00fe)
   Kept rules: 807; dropped shell-only rules: 78; dropped selectors: 110 of 1116;
   dropped @font-face rules (3.3.8 TTF; 4.0 uses its woff2 from theme.json): 1;
   unterminated tail kept verbatim: 11832 bytes (see note at the end).
*/
/* Dam Writers visual layer. Layout remains owned by native WordPress blocks. */
/* ==========================================================================
   V5.5.3 — FINAL EN/NL CONTENT-WIDTH AND COLOUR CONSISTENCY
   2026-08-26
   Scope: article header, body copy colour, Dutch heroes and guide cards only.
   ========================================================================== */
:root {
  --dw-content-ink: #171c29;
}
/* Body copy is always ink. Keep functional labels and badges in their
   established accent colour. */
:where(.wp-site-blocks, .editor-styles-wrapper) :where(main, .dw-main, .wp-block-post-content)
p:not(.dw-eyebrow):not(.dw-chip):not(.dw-kicker):not(.dw-tag):not(.dw-badge) {
  color: var(--dw-content-ink);
}
/* The article introduction and its lead image use one shared measure.
   Article body measure and typography remain untouched. */
body.single-post .dw-article-header-inner, body.single-post .dw-article-feature {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}
body.single-post .dw-article-header-inner > p:not(.dw-eyebrow) {
  max-width: 1040px !important;
  color: var(--dw-content-ink);
}
/* Guide card titles and surfaces use the same English visual treatment in
   both languages. */
:where(.dw-cornerstone-guides, .dw-latest, .dw-latest-posts, .dw-home-guides)
.dw-guide-card {
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #e0e4e9 !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 38px rgba(23, 28, 41, 0.055) !important;
}
:where(.dw-cornerstone-guides, .dw-latest, .dw-latest-posts, .dw-home-guides)
.dw-guide-card :is(h2, h3, h4, .wp-block-post-title), html[lang^="nl"] .dw-guide-card :is(h2, h3, h4, .wp-block-post-title) {
  color: var(--dw-content-ink);
}
/* Dutch page heroes inherit one stable shell, matching the established
   English page dimensions without changing any colour or artwork. */
html[lang^="nl"] body:not(.home) .dw-pagehead {
  box-sizing: border-box !important;
  min-height: 560px !important;
  padding-top: clamp(72px, 7vw, 104px) !important;
  padding-bottom: clamp(72px, 7vw, 104px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  animation: none !important;
  transition: none !important;
}
html[lang^="nl"] body:not(.home) .dw-pagehead.dw-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: max(24px, calc((100% - 1120px) / 2)) !important;
  padding-right: max(24px, calc((100% - 1120px) / 2)) !important;
  margin-inline: 0 !important;
}
html[lang^="nl"] body:not(.home) .dw-pagehead > .dw-container {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}
html[lang^="nl"] body:not(.home) .dw-pagehead h1 {
  max-width: 900px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html[lang^="nl"] body:not(.home) .dw-pagehead p:not(.dw-eyebrow) {
  max-width: 800px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  color: var(--dw-content-ink);
}
/* Reserve the same pagehead geometry immediately, removing the visible jump
   between the Dutch tool and blog routes. */
html[lang^="nl"] body:not(.home) .wp-block-post-content > .dw-pagehead, html[lang^="nl"] body:not(.home) .dw-main > .dw-pagehead {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
@media (max-width: 781px) {
	body.single-post .dw-article-header-inner, body.single-post .dw-article-feature {
    width: min(100% - 32px, 1120px) !important;
  }
	html[lang^="nl"] body:not(.home) .dw-pagehead {
    min-height: 460px !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
	html[lang^="nl"] body:not(.home) .dw-pagehead.dw-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
	html[lang^="nl"] body:not(.home) .dw-pagehead > .dw-container {
    width: 100% !important;
  }
}
/* V5.5.4 — ARTICLE LEAD WIDTH ONLY */
body.single-post .dw-article-header-inner h1 {
  width:100% !important;
  max-width:1040px !important;
}
/* V5.5.5 — ARTICLE PAGE LEAD WIDTH */
.dw-article-header-inner, .dw-article-feature {
  box-sizing:border-box !important;
  width:min(1120px,calc(100% - 48px)) !important;
  max-width:1120px !important;
  margin-inline:auto !important;
}
.dw-article-header-inner h1 {
  width:100% !important;
  max-width:1040px !important;
}
.dw-article-header-inner > p:not(.dw-eyebrow) {
  width:100% !important;
  max-width:1040px !important;
  color:var(--dw-content-ink);
}
@media (max-width:781px) {
	.dw-article-header-inner, .dw-article-feature { width:min(100% - 32px,1120px) !important; }
}
/* V5.5.6 — SITE COPY COLOUR LOCK */
body :where(main, .dw-main, .wp-block-post-content) p:not(.dw-eyebrow):not(.dw-chip):not(.dw-kicker):not(.dw-tag):not(.dw-badge) {
  color:var(--dw-content-ink);
}
:where(.wp-site-blocks, .editor-styles-wrapper) {
  --dw-content: min(1180px, calc(100vw - 40px));
  --dw-radius-sm: 10px;
  --dw-radius-md: 18px;
  --dw-radius-lg: 28px;
  --dw-shadow-soft: 0 18px 55px rgba(22, 30, 41, 0.08);
  --dw-shadow-card: 0 10px 30px rgba(22, 30, 41, 0.06);
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: Montserrat, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}
/* V5.4.6 — Social Check is English-only until Dutch product support exists. */
html[lang^="nl"] .wp-block-navigation a[href*="/social-check/"] {
  display: none !important;
}
/* V5.4.5 — page-specific reading scale; outranks legacy global paragraph rules. */
html body.page-id-21010.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p:not(.dw-eyebrow):not(.dw-kicker), html body.page-id-21010.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :is(ul, ol), html body.page-id-21010.page-template-page-canvas .dw-cornerstone-article .dw-article-content li:not(.dw-eyebrow):not(.dw-kicker) {
  font-size: 22px;
  line-height: 1.7 !important;
}
html body.page-id-20884.page-template-page-canvas .entry-content .dw-social-pagehead .dw-lede:not(.dw-eyebrow):not(.dw-kicker), html body.page-id-20884.page-template-page-canvas .entry-content .dw-social-pagehead p:not(.dw-eyebrow):not(.dw-kicker), html body.page-id-20884.page-template-page-canvas .entry-content .dw-social-check-tool > .dw-sec-head p:not(.dw-eyebrow):not(.dw-kicker), html body.page-id-20884.page-template-page-canvas .entry-content .dw-social-journey .dw-sec-head p:not(.dw-eyebrow):not(.dw-kicker), html body.page-id-20884.page-template-page-canvas .entry-content .dw-social-ctaband p:not(.dw-eyebrow):not(.dw-kicker) {
  font-size: 22px;
  line-height: 1.65 !important;
}
.editor-styles-wrapper {
  font-family: Montserrat, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(button, input, select, textarea) {
  font-family: inherit;
}
:where(.wp-site-blocks, .editor-styles-wrapper) a {
  text-underline-offset: 0.18em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) a:hover {
  text-decoration: underline;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :focus-visible {
  outline: 3px solid #d02878;
  outline-offset: 4px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-inner {
  margin-inline: auto;
  max-width: 1180px;
  width: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-button .wp-block-button__link {
  background: #fff;
  border: 1px solid #e4e7ec;
  color: #161e29;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-button .wp-block-button__link:hover {
  background: #fce9f1;
  border-color: #d02878;
  text-decoration: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-main {
  margin: 0;
}
/* Page content is intentionally constrained for ordinary editor pages. The
 * complete Dam Writers patterns use top-level alignfull sections; release
 * those sections to the viewport while leaving their editable inner blocks at
 * the reference width. Positioning avoids overriding WordPress's important
 * editor margins and works for pages already created from earlier patterns. */
.wp-site-blocks .dw-main .wp-block-post-content > .alignfull {
  left: 50%;
  max-width: 100vw;
  position: relative;
  transform: translateX(-50%);
  width: 100vw;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section {
  margin-block: 0;
  padding-block: clamp(4rem, 8vw, 7.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section--compact {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-surface {
  background: #f6f7f9;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero {
  border-bottom: 1px solid #e4e7ec;
  min-height: 610px;
  padding-block: clamp(4.5rem, 9vw, 8.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-page-hero {
  border-bottom: 1px solid #e4e7ec;
  padding-block: clamp(4rem, 7vw, 7rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-eyebrow {
  background: #fce9f1;
  border-radius: 999px;
  color: #a81e5d;
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.055em;
  margin-block: 0;
  padding: 0.42rem 0.75rem;
  text-transform: uppercase;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero-copy > h1, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-page-hero h1 {
  margin-top: 2rem;
  max-width: 13ch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-lede {
  color: #515967;
  font-size: clamp(1.05rem, 1rem + 0.28vw, 1.25rem);
  line-height: 1.7;
  max-width: 62ch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-small-note {
  color: #6b7280;
  font-size: 0.875rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-button-brand .wp-block-button__link {
  background: #d02878;
  color: #fff;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-button-brand .wp-block-button__link:hover {
  background: #a81e5d;
  text-decoration: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-outline > .wp-block-button__link {
  background: transparent;
  border: 1px solid #d7dae0;
  color: #161e29;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-outline > .wp-block-button__link:hover {
  background: #f6f7f9;
  border-color: #161e29;
  text-decoration: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-frame {
  background: #f6f7f9;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-lg);
  box-shadow: var(--dw-shadow-soft);
  overflow: hidden;
  padding: clamp(0.75rem, 2vw, 1.25rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-frame img {
  border-radius: calc(var(--dw-radius-lg) - 8px);
  display: block;
  height: auto;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading {
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading h2 {
  max-width: 17ch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading p {
  color: #515967;
  max-width: 58ch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-step, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-info-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-card {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-md);
  box-shadow: var(--dw-shadow-card);
  height: 100%;
  padding: clamp(1.35rem, 3vw, 2rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card-number, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-step-number {
  color: #d02878;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.08em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card p, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-step p, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-info-card p {
  color: #515967;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card-link {
  font-size: 0.92rem;
  font-weight: 720;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row {
  border-top: 1px solid #e4e7ec;
  padding-block: clamp(3rem, 6vw, 5.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row:first-child {
  border-top: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list li {
  margin-block: 0.65rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-image {
  margin: 0;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-visual-card {
  background: #f6f7f9;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-lg);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-row {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-sm);
  padding: 0.9rem 1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-row p {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-value {
  background: #edf9f0;
  border-radius: 999px;
  color: #107838;
  font-size: 0.78rem;
  font-weight: 760;
  padding: 0.25rem 0.55rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-audit-shell {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-lg);
  box-shadow: var(--dw-shadow-soft);
  overflow: clip;
  padding: clamp(1rem, 3vw, 2.25rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-audit-shell .dwfcc5-wrap, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-audit-shell .dwfcc5-app {
  margin-inline: auto;
  max-width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form label {
  color: #161e29;
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form input:not([type="submit"]), :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form select, :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form textarea {
  background: #fff;
  border: 1px solid #d7dae0;
  border-radius: var(--dw-radius-sm);
  color: #161e29;
  font: inherit;
  margin-top: 0.4rem;
  min-height: 48px;
  padding: 0.8rem 0.9rem;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form textarea {
  min-height: 150px;
  resize: vertical;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form button, :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form input[type="submit"] {
  background: #d02878;
  border: 0;
  border-radius: var(--dw-radius-sm);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 720;
  padding: 0.9rem 1.35rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq {
  border-top: 1px solid #e4e7ec;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item {
  border-bottom: 1px solid #e4e7ec;
  padding-block: 0.6rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item summary {
  color: #161e29;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 720;
  padding: 1rem 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item > :not(summary) {
  color: #515967;
  max-width: 68ch;
  padding-bottom: 1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta {
  background: #161e29;
  border-radius: var(--dw-radius-lg);
  color: #fff;
  overflow: hidden;
  padding: clamp(2.25rem, 6vw, 4.75rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta p {
  color: #fff;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta p {
  opacity: 0.78;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: var(--dw-radius-md);
  box-shadow: var(--dw-shadow-card);
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post > :not(.wp-block-post-featured-image) {
  margin-left: 1.35rem;
  margin-right: 1.35rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post > :last-child {
  margin-bottom: 1.5rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post-title a {
  color: #161e29;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post-title a:hover {
  color: #d02878;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-header {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-header h1 {
  max-width: 18ch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-content {
  font-size: 1.08rem;
  padding-bottom: clamp(4rem, 8vw, 7rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-content > * + * {
  margin-block-start: 1.4em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-content h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-article-content h3 {
  margin-block-start: 2.2em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-normal-page {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) {
    --dw-content: min(100% - 28px, 1180px);
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero {
    min-height: 0;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero-copy > h1, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-page-hero h1 {
    max-width: none;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-columns, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row .wp-block-columns {
    gap: 2.5rem;
  }
}
/* 3.1.3 — approved content and guided product journey.
 * These selectors style native Gutenberg blocks on both the public site and
 * in the editor. The dashed process arrows are decorative only; the numbered
 * stage content remains complete without CSS or images. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-approved-home .wp-block-columns {
  gap: clamp(32px, 5vw, 76px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-demo .wp-block-video {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(22, 30, 41, 0.11);
  margin: 0;
  overflow: hidden;
  padding: 10px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-demo video {
  aspect-ratio: 16 / 10;
  border-radius: 19px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-mini-steps, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-inclusion-grid, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-services, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-three-audits {
  align-items: stretch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-mini-steps > .wp-block-column, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-services > .wp-block-column, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-three-audits > .wp-block-column {
  display: flex;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-mini-steps > .wp-block-column {
  align-items: flex-start;
  border-left: 2px solid #f1b5d0;
  flex-direction: column;
  gap: 8px;
  padding-left: 20px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-mini-steps p {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-services .dw-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-three-audits .dw-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-home-services .dw-card-link {
  margin-top: auto;
  padding-top: 18px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-check-list, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list {
  list-style: none;
  padding-left: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-check-list li, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list li {
  padding: 9px 0 9px 32px;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-check-list li::before, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list li::before {
  border: 2px solid #d02878;
  border-radius: 50%;
  content: "";
  height: 10px;
  left: 2px;
  position: absolute;
  top: 16px;
  width: 10px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-practice-panel {
  background: linear-gradient(145deg, #fff 0%, #fff5f9 100%);
  border: 1px solid #efcade;
  border-radius: 30px;
  box-shadow: 0 22px 60px rgba(22, 30, 41, 0.08);
  padding: clamp(32px, 5vw, 58px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-mini-card {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 20px;
  height: 100%;
  padding: 24px 20px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-mini-card p {
  margin-bottom: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-mini-icon {
  align-items: center;
  background: #fce9f1;
  border-radius: 14px;
  color: #d02878;
  display: inline-flex;
  font-size: 18px;
  font-weight: 800;
  height: 46px;
  justify-content: center;
  margin: 0 0 18px;
  min-width: 46px;
  padding-inline: 9px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-browser-note {
  background: #fff8df;
  border: 1px solid #eedf9a;
  border-radius: 16px;
  margin-top: 28px;
  padding: 18px 22px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-process-section {
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-process-heading {
  margin-inline: auto;
  text-align: center;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-process {
  display: flex;
  flex-direction: column;
  gap: clamp(128px, 14vw, 190px);
  margin-top: clamp(50px, 8vw, 92px);
  max-width: 1080px;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(22, 30, 41, 0.08);
  max-width: 780px;
  padding: clamp(28px, 4.5vw, 54px);
  position: relative;
  width: min(78%, 780px);
  z-index: 1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage.is-left {
  margin-left: 0;
  margin-right: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage.is-right {
  margin-left: auto;
  margin-right: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage:not(.is-final)::after {
  background: url('../images/process-arrow.svg') center / contain no-repeat;
  content: "";
  height: clamp(126px, 14vw, 180px);
  left: 15%;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 6px);
  width: 115%;
  z-index: -1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage.is-right:not(.is-final)::after {
  left: -30%;
  transform: scaleX(-1);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage .wp-block-columns {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stage-number {
  align-items: center;
  background: #d02878;
  border-radius: 24px;
  box-shadow: 0 12px 28px rgba(208, 40, 120, 0.22);
  color: #fff;
  display: flex;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  height: clamp(74px, 9vw, 108px);
  justify-content: center;
  margin: 0;
  width: clamp(74px, 9vw, 108px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage h3 {
  font-size: clamp(28px, 3vw, 42px);
  margin-bottom: 14px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome {
  background: #f7f8fa;
  border-left: 5px solid #d02878;
  border-radius: 0 18px 18px 0;
  padding: 26px 28px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome.is-wide {
  grid-column: 1 / -1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome h3 {
  font-size: 20px;
  margin-bottom: 8px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome p {
  margin-bottom: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-detail {
  border-top: 1px solid var(--dw-reference-border);
  padding-block: clamp(72px, 9vw, 122px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-detail:first-of-type {
  border-top: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-detail .wp-block-columns {
  gap: clamp(40px, 7vw, 94px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-image img {
  aspect-ratio: 5 / 4;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-process {
    gap: 84px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage {
    margin-inline: 0;
    padding: 28px 24px;
    width: 100%;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage.is-right .wp-block-columns {
    flex-direction: column-reverse;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage .wp-block-columns {
    gap: 22px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage:not(.is-final)::after, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage.is-right:not(.is-final)::after {
    background: none;
    border-left: 4px dashed #15172f;
    height: 64px;
    left: 50%;
    top: calc(100% + 10px);
    transform: none;
    width: 0;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tool-stage:not(.is-final)::before {
    border-bottom: 4px solid #15172f;
    border-right: 4px solid #15172f;
    bottom: -77px;
    content: "";
    height: 15px;
    left: calc(50% - 7px);
    position: absolute;
    transform: rotate(45deg);
    width: 15px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stage-number {
    height: 66px;
    width: 66px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome-grid {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-outcome.is-wide {
    grid-column: auto;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-detail.is-reversed .wp-block-columns {
    flex-direction: column-reverse;
  }
}
@media (max-width: 480px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button__link {
    width: 100%;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button__link {
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
	html {
    scroll-behavior: auto;
  }
	*, *::before, *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
  }
}
@media print {
	.wp-block-buttons {
    display: none;
  }
	body {
    color: #000;
  }
}
/* -------------------------------------------------------------------------
 * Dam Writers reference-design alignment (2.1.0)
 *
 * These selectors deliberately target native block classes used by the
 * editable patterns. They reproduce the approved mock-up rhythm without
 * replacing Gutenberg layout, content controls or block-level spacing.
 * ---------------------------------------------------------------------- */
:where(.wp-site-blocks, .editor-styles-wrapper) {
  --dw-content: min(1100px, calc(100vw - 80px));
  --dw-radius-sm: 9px;
  --dw-radius-md: 14px;
  --dw-radius-lg: 20px;
  --dw-shadow-soft: 0 20px 50px rgba(20, 26, 40, 0.14);
  --dw-shadow-card: none;
  --dw-reference-gray: #5b6270;
  --dw-reference-muted: #8a909c;
  --dw-reference-border: #e7e9ee;
  --dw-reference-surface: #f7f8fa;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-button .wp-block-button__link {
  border-color: var(--dw-reference-border);
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 600;
  padding: 10px 18px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 12px;
  box-shadow: 0 16px 44px rgba(20, 26, 40, 0.16);
  min-width: 190px;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu p, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu a {
  border-radius: 8px;
  color: #161e29;
  display: block;
  font-size: 13.5px;
  font-weight: 500;
  margin: 0;
  padding: 9px 12px;
  text-decoration: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu .dw-language-current, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu a[aria-current="page"] {
  background: #fce9f1;
  color: #d02878;
  font-weight: 600;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu a:hover, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu a:focus-visible {
  background: #f6f7f9;
  color: #d02878;
  outline: 2px solid transparent;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu .wp-block-separator {
  border-color: var(--dw-reference-border);
  margin: 6px 4px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu .dw-language-soon {
  color: var(--dw-reference-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-bottom: 5px;
  text-transform: uppercase;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-language-menu .dw-language-disabled {
  color: var(--dw-reference-muted);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section {
  padding-block: 148px;
  --wp--style--global--content-size: var(--dw-content);
  --wp--style--global--wide-size: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section--compact {
  padding-block: 96px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-surface {
  background: var(--dw-reference-surface);
}
/* Lift the existing editable homepage process section without changing the
 * spacing contract for any other page section. */
.wp-site-blocks .dw-section.dw-surface:has(> .dw-kicker), .editor-styles-wrapper .dw-section.dw-surface:has(> .dw-kicker) {
  padding-top: 116px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero {
  border-bottom: 0;
  min-height: 0;
  padding-block: 100px 112px;
  --wp--style--global--content-size: var(--dw-content);
  --wp--style--global--wide-size: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero > .wp-block-columns {
  gap: 48px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  width: var(--dw-content);
}
/* Give the outer constrained block the reference content size. This prevents
 * WordPress from calculating an asymmetric alignwide margin from the default
 * 760px content size, while keeping the same behaviour in the editor. */
.wp-site-blocks .dw-section-inner.alignwide, .editor-styles-wrapper .dw-section-inner.alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  width: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-page-hero {
  border-bottom-color: var(--dw-reference-border);
  padding-block: 88px 76px;
  --wp--style--global--content-size: var(--dw-content);
  --wp--style--global--wide-size: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-eyebrow {
  background: #fce9f1;
  color: #d02878;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 6px 12px;
  text-transform: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero-copy > h1, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-page-hero h1 {
  font-size: clamp(32px, 3.45vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 20px 0 18px;
  max-width: 760px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero-copy > h1 {
  max-width: 520px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-lede {
  color: var(--dw-reference-gray);
  font-size: 15.5px;
  line-height: 1.65;
  max-width: 580px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-small-note {
  color: var(--dw-reference-muted);
  font-size: 12px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button__link {
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 600;
  padding: 12px 20px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-frame {
  background: var(--dw-reference-surface);
  border-color: var(--dw-reference-border);
  border-radius: 12px;
  box-shadow: var(--dw-shadow-soft);
  padding: 10px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-frame img {
  border-radius: 7px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading {
  margin-bottom: 52px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading h2 {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.18;
  max-width: 760px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section-heading p {
  color: var(--dw-reference-gray);
  font-size: 14.5px;
  max-width: 520px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-info-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-card {
  border-color: var(--dw-reference-border);
  border-radius: 14px;
  box-shadow: none;
  padding: 26px 22px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card h3, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-info-card h3 {
  font-size: 16px;
  font-weight: 700;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card p, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-info-card p {
  color: var(--dw-reference-gray);
  font-size: 13.5px;
  line-height: 1.6;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card-number, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-step-number {
  color: #d02878;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-card-link {
  color: #d02878;
  font-size: 13px;
  font-weight: 600;
}
/* Homepage four-step bridge. The adjacent-section selector also styles pages
 * already created from the 2.0.0 pattern, so no page recreation is required. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero + .dw-section + .dw-section .wp-block-columns {
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero + .dw-section + .dw-section .dw-step {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0 16px;
  text-align: center;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero + .dw-section + .dw-section .dw-step-number {
  align-items: center;
  background: #fff;
  border: 2px solid var(--dw-reference-border);
  border-radius: 50%;
  color: var(--dw-reference-muted);
  display: flex;
  font-size: 16px;
  height: 46px;
  justify-content: center;
  letter-spacing: 0;
  margin: 0 auto 18px;
  width: 46px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step {
  border-color: var(--dw-reference-border);
  border-radius: 14px;
  box-shadow: none;
  padding: 26px 22px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step h3 {
  font-size: 15.5px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step p {
  color: var(--dw-reference-gray);
  font-size: 13.5px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row {
  border-top-color: var(--dw-reference-border);
  padding-block: 76px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row .wp-block-columns {
  gap: 64px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row h2 {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list li {
  font-size: 14.5px;
  line-height: 1.55;
  margin-block: 12px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-list li::marker {
  color: #d02878;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-visual-card {
  background: var(--dw-reference-surface);
  border-color: var(--dw-reference-border);
  border-radius: 16px;
  padding: 34px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-row {
  border-color: var(--dw-reference-border);
  border-radius: 10px;
  padding: 15px 18px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-row p {
  font-size: 13.5px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-signal-value {
  background: #edfeee;
  border: 1px solid #bcefc3;
  color: #107838;
  font-size: 10.5px;
  padding: 3px 9px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-audit-shell {
  border-color: var(--dw-reference-border);
  border-radius: 18px;
  box-shadow: none;
  padding: 36px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq {
  border-top: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item[open] {
  border-color: #d02878;
  box-shadow: 0 0 0 3px #fce9f1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item summary {
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.45;
  padding: 22px 26px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-faq-item > :not(summary) {
  color: var(--dw-reference-gray);
  font-size: 14.5px;
  line-height: 1.7;
  padding: 0 26px 24px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta {
  background: linear-gradient(135deg, #fce9f1 0%, #fdf7e9 100%);
  border-radius: 20px;
  color: #161e29;
  padding: 76px 40px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta p {
  color: #161e29;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta h2 {
  font-size: 29px;
  font-weight: 700;
  letter-spacing: -0.025em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cta p {
  color: var(--dw-reference-gray);
  font-size: 15.5px;
  opacity: 1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post {
  border-color: var(--dw-reference-border);
  border-radius: 14px;
  box-shadow: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post-title a {
  font-size: 16px;
  line-height: 1.35;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-post-excerpt {
  color: var(--dw-reference-gray);
  font-size: 13.5px;
  line-height: 1.6;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-query-pagination {
  gap: 8px;
  margin-top: 64px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .page-numbers, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-query-pagination-next, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .wp-block-query-pagination-previous {
  align-items: center;
  border: 1px solid var(--dw-reference-border);
  border-radius: 9px;
  color: var(--dw-reference-gray);
  display: inline-flex;
  font-size: 13.5px;
  font-weight: 600;
  justify-content: center;
  min-height: 40px;
  min-width: 40px;
  padding: 0 12px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-post-grid .page-numbers.current {
  background: #d02878;
  border-color: #d02878;
  color: #fff;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form input:not([type="submit"]), :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form select, :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form textarea {
  border-color: var(--dw-reference-border);
  border-radius: 9px;
  font-size: 14.5px;
  padding: 13px 15px;
}
@media (max-width: 980px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) {
    --dw-content: min(100% - 44px, 1100px);
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-section {
    padding-block: 96px;
  }
	.wp-site-blocks .dw-section.dw-surface:has(> .dw-kicker), .editor-styles-wrapper .dw-section.dw-surface:has(> .dw-kicker) {
    padding-top: 72px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero {
    padding-block: 76px 88px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero > .wp-block-columns, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row .wp-block-columns {
    gap: 34px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-service-row {
    padding-block: 56px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-visual-card, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-audit-shell {
    padding: 24px 20px;
  }
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame {
    overflow: hidden;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame img {
    transform: scale(1.18);
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero + .dw-section + .dw-section .dw-step {
    padding-inline: 0;
  }
}
/* --------------------------------------------------------------------------
 * 2.2.5 — native image support and a fully aligned Tools experience.
 * These rules are shared by the site and editor so the saved blocks remain
 * the source of truth. No content is injected by the theme.
 * -------------------------------------------------------------------------- */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-main .wp-block-post-content .wp-block-image {
  box-sizing: border-box;
  max-width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-main .wp-block-post-content .wp-block-image img {
  display: block;
  height: auto;
  max-width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.is-style-damwriters-framed, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.dw-image-frame {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 20px;
  box-shadow: 0 18px 55px rgba(22, 30, 41, 0.08);
  overflow: hidden;
  padding: clamp(10px, 1.4vw, 18px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.is-style-damwriters-framed img, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.dw-image-frame img {
  border-radius: 12px;
  width: 100%;
}
/* Let the Home audit artwork be the visual itself. Unlike reusable framed
 * images elsewhere in the theme, this transparent PNG already contains its
 * own browser chrome and therefore must not sit inside a second card. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0;
}
/* The enlarged transparent artwork intentionally extends beyond its column.
 * Clip only at the full-width hero edge so it cannot create a horizontal page
 * scrollbar, while preserving the larger composition inside the hero. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero {
  overflow-x: clip;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame img {
  border-radius: 0;
  transform: scale(1.7);
  transform-origin: center;
}
/* Wide desktop displays otherwise make the visual feel smaller relative to
 * the available canvas. Increase only the artwork at this breakpoint; the
 * copy column and the hero's overall structure remain unchanged. */
@media (min-width: 1600px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame img {
    transform: scale(1.85);
  }
}
/* Keep the established compact scale once the two hero columns stack. This
 * override must follow the desktop enlargement so tablet layouts cannot
 * inherit the larger desktop transform. */
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame img {
    transform: scale(1.18);
  }
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.is-style-damwriters-clean {
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(22, 30, 41, 0.07);
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.is-style-damwriters-clean img {
  border-radius: inherit;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-wide img {
  aspect-ratio: 16 / 8;
  object-fit: cover;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image figcaption {
  color: var(--dw-reference-muted);
  font-size: 12.5px;
  line-height: 1.55;
  margin: 12px 4px 2px;
  text-align: left;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-pagehead .dw-container > *, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head > *, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head > *, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-layout-constrained > * {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-pagehead h1 {
  max-width: 760px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-pagehead .dw-lede {
  max-width: 700px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head {
  display: block;
  margin-bottom: 42px;
  max-width: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head > .dw-eyebrow, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head > .dw-eyebrow {
  display: inline-flex;
  margin-bottom: 20px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head h2 {
  max-width: 760px;
}
.wp-site-blocks .dw-tools-audit .dw-sec-head > h2, .editor-styles-wrapper .dw-tools-audit .dw-sec-head > h2, .wp-site-blocks .dw-human-audits .dw-sec-head > h2, .editor-styles-wrapper .dw-human-audits .dw-sec-head > h2 {
  margin-bottom: 16px;
  max-width: 760px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head p:not(.dw-eyebrow), :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head p:not(.dw-eyebrow) {
  color: var(--dw-reference-gray);
  max-width: 700px;
}
.wp-site-blocks .dw-tools-audit .dw-sec-head > p:not(.dw-eyebrow), .editor-styles-wrapper .dw-tools-audit .dw-sec-head > p:not(.dw-eyebrow), .wp-site-blocks .dw-human-audits .dw-sec-head > p:not(.dw-eyebrow), .editor-styles-wrapper .dw-human-audits .dw-sec-head > p:not(.dw-eyebrow) {
  color: var(--dw-reference-gray);
  display: block;
  max-width: 700px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit > .dwfcc5-shell {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--dw-content);
	width: calc(100% - 44px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers {
  align-items: stretch;
  gap: 28px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
  border-radius: 24px;
  height: 100%;
  min-width: 0;
  padding: clamp(30px, 4vw, 48px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-featured {
  box-shadow: 0 0 0 4px #fce9f1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tierbadge {
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-bottom: 22px;
  padding: 6px 12px;
  text-transform: uppercase;
  width: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier h3 {
  font-size: clamp(1.5rem, 1.1rem + 1vw, 2rem);
  line-height: 1.18;
  margin-bottom: 18px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-intro {
  color: var(--dw-reference-gray);
  line-height: 1.72;
  margin-bottom: 28px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-price {
  color: #161e29;
  font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
  font-weight: 750;
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin-bottom: 6px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-featured .dw-tier-price {
  font-size: clamp(1.55rem, 1.2rem + 1vw, 2.15rem);
  letter-spacing: -0.025em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-meta, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-note {
  color: var(--dw-reference-muted);
  font-size: 13px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-speed {
  align-self: flex-start;
  background: #edfeee;
  border: 1px solid #bcefc3;
  border-radius: 999px;
  color: #107838;
  font-size: 12.5px;
  font-weight: 700;
  margin: 4px 0 8px;
  padding: 7px 12px;
  width: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-list {
  color: var(--dw-reference-gray);
  list-style: none;
  margin: 14px 0 30px;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-list li {
  line-height: 1.55;
  margin: 0;
  padding: 7px 0 7px 28px;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-list li::before {
  border: 2px solid #d02878;
  border-radius: 50%;
  content: "";
  height: 8px;
  left: 2px;
  position: absolute;
  top: 15px;
  width: 8px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier .dw-go {
  margin-top: auto;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier .dw-go .wp-block-button, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier .dw-go .wp-block-button__link {
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier .dw-go .wp-block-button__link {
  padding-block: 15px;
  text-align: center;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier-note {
  line-height: 1.55;
  margin-top: 14px;
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-image-wide img {
    aspect-ratio: 4 / 3;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
    min-height: 0;
  }
}
@media (max-width: 600px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.is-style-damwriters-framed, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-image.dw-image-frame {
    border-radius: 16px;
    padding: 8px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-hero .wp-block-image.dw-image-frame img {
    transform: scale(1.18);
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
    border-radius: 18px;
    padding: 26px 22px;
  }
}
/* 2.2.4: reusable testimonials, FAQ, contact, blog and footer presentation. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes {
  grid-auto-rows: 1fr;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quote, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-quotes > .dw-quote {
  box-sizing: border-box;
  min-height: 270px;
}
/* Native Details blocks keep the Dam Writers FAQ treatment on any page,
 * including a newly inserted FAQ item outside the supplied section pattern. */
:where(.wp-site-blocks .dw-page-content, .editor-styles-wrapper) details.wp-block-details {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 12px;
  margin-block: 12px;
  overflow: hidden;
}
:where(.wp-site-blocks .dw-page-content, .editor-styles-wrapper) details.wp-block-details[open] {
  border-color: rgba(208, 40, 120, 0.34);
  box-shadow: 0 8px 24px rgba(22, 30, 41, 0.05);
}
:where(.wp-site-blocks .dw-page-content, .editor-styles-wrapper) details.wp-block-details summary {
  color: #161e29;
  cursor: pointer;
  font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  padding: 19px 22px;
}
:where(.wp-site-blocks .dw-page-content, .editor-styles-wrapper) details.wp-block-details > :not(summary) {
  color: var(--dw-reference-gray);
  margin-inline: 22px;
}
:where(.wp-site-blocks .dw-page-content, .editor-styles-wrapper) details.wp-block-details > :last-child {
  margin-bottom: 20px;
}
/* The Contact pattern uses the native Jetpack Form block, so every field is
 * selectable and editable in Gutenberg. No shortcode-only field remains. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form > :nth-child(5), :where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form > :nth-child(6), :where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form > :nth-child(7), :where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form > .wp-block-button {
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form label, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form .wp-block-jetpack-label {
  color: #161e29;
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form :is(input:not([type="submit"]), select, textarea) {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 10px;
  box-sizing: border-box;
  color: #161e29;
  font: inherit;
  min-height: 48px;
  padding: 12px 14px;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form select {
  color-scheme: light only;
  cursor: pointer;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form select optgroup {
  color: #667085;
  font-style: normal;
  font-weight: 700;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form select option {
  color: #161e29;
  font-weight: 400;
}
.wp-site-blocks .dw-native-contact-form .dw-audit-domain-field-wrap[hidden] {
  display: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form textarea {
  min-height: 150px;
  resize: vertical;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-native-contact-form :is(input, select, textarea):focus {
  border-color: #d02878;
  box-shadow: 0 0 0 3px rgba(208, 40, 120, 0.13);
  outline: none;
}
/* Dynamic category links are real archive links styled as the filter pills in
 * the reference. The category list stays editable through normal WP taxonomy. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters {
  align-items: center;
  gap: 12px;
  margin-bottom: 52px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters .wp-block-navigation__container, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters .wp-block-navigation-item {
  list-style: none;
  margin: 0;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters .wp-block-navigation__container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters a {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 999px;
  color: var(--dw-reference-gray);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  padding: 13px 18px;
  text-decoration: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters .is-current a, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters a:hover, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-filters a:focus-visible {
  background: #d02878;
  border-color: #d02878;
  color: #fff;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child {
  min-height: 400px;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child::before {
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.58) 0 2px, transparent 2px 18px),
    linear-gradient(135deg, #fce9f1 0%, #fdf7e9 100%);
  content: "";
  grid-column: 1;
  grid-row: 1 / span 8;
  min-height: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:has(.wp-block-post-featured-image)::before {
  display: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) > * {
  grid-column: 2;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child > :first-child:not(.wp-block-post-featured-image) {
  margin-top: 30px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .dw-post-meta {
  gap: 10px;
  margin-bottom: 28px;
  margin-top: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .dw-post-meta p, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .dw-post-meta time {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post-title a {
  color: #161e29;
}
/* Reference-style readable footer. */
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) > * {
    grid-column: 1;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child::before {
    grid-column: 1;
    grid-row: 1;
    min-height: 230px;
  }
}
/* -------------------------------------------------------------------------
 * Complete editable-page compatibility and design-quality corrections (2.2)
 *
 * Earlier editable review pages use the same native core blocks with a
 * smaller class vocabulary. These rules preserve those pages without
 * restoring their former PHP renderer or locking any content.
 * ---------------------------------------------------------------------- */
/* A complete page pattern owns its visible H1. Hide only the automatic page
 * title when one of those patterns is present; ordinary pages retain it. */
body:has(.wp-block-post-content > :is(.dw-hero, .dw-page-hero, .dw-pagehead, .dw-section.dw-tight))
  .dw-main > .wp-block-post-title {
  display: none;
}
/* A complete Dam Writers page pattern owns its vertical rhythm. WordPress's
 * ordinary-page wrapper must not add a second large gap above that pattern. */
body:has(.wp-block-post-content > :is(.dw-hero, .dw-page-hero, .dw-pagehead, .dw-section.dw-tight))
  .dw-main.dw-normal-page {
  padding-block: 0;
}
/* Release complete legacy page sections from WordPress's 760px constrained
 * wrapper. Inner .dw-container blocks remain aligned to the reference grid. */
.wp-site-blocks .dw-main .wp-block-post-content > :is(.dw-pagehead, .dw-section) {
  left: 50%;
  max-width: 100vw;
  position: relative;
  transform: translateX(-50%);
  width: 100vw;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-container {
  margin-inline: auto;
  max-width: 1100px;
  width: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pagehead {
  border-bottom: 1px solid var(--dw-reference-border);
  margin: 0;
  padding-block: 88px 76px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pagehead h1 {
  font-size: clamp(32px, 3.45vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 20px 0 18px;
  max-width: 820px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pagehead .dw-container > p:not(.dw-eyebrow) {
  color: var(--dw-reference-gray);
  font-size: 16.5px;
  line-height: 1.65;
  margin: 0;
  max-width: 580px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tight {
  padding-block: 96px;
}
/* WordPress's flow-layout margins must not stagger grid or flex children. */
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.dw-process-grid, .dw-stepper, .dw-cards, .dw-quotes, .dw-tiers, .dw-psteps, .dw-svc, .dw-contact-layout) > *, :where(.wp-site-blocks, .editor-styles-wrapper) :is(.dw-card, .dw-quote, .dw-step, .dw-pstep, .dw-tier, .dw-info-card) > * {
  margin-block-start: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.dw-process-grid, .dw-stepper, .dw-cards, .dw-quotes, .dw-tiers, .dw-psteps, .dw-svc, .dw-contact-layout) > * {
  margin-block-end: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-process-grid {
  align-items: stretch;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-process-grid > .wp-block-column {
  display: flex;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-process-grid .dw-step {
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-sec-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 52px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-sec-head h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-sec-head p {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-sec-head p {
  color: var(--dw-reference-gray);
  font-size: 14.5px;
  max-width: 520px;
}
/* Editable homepage process row. The connector sits behind equal circles and
 * disappears when the layout stacks. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper {
  --dw-step-circle-size: 54px;
  --dw-step-line-top: 26px;
  align-items: start;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper::before {
  background: var(--dw-reference-border);
  content: "";
  height: 2px;
  left: 12.5%;
  position: absolute;
  right: 12.5%;
  top: var(--dw-step-line-top);
  z-index: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper .dw-step {
  align-self: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin-block: 0;
  padding: 0 18px;
  position: relative;
  text-align: center;
  z-index: 1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepcircle {
  align-items: center;
  background: #fff;
  border: 2px solid #d02878;
  border-radius: 50%;
  color: #d02878;
  display: flex;
  font-size: 16px;
  font-weight: 800;
  box-sizing: border-box;
  height: var(--dw-step-circle-size);
  justify-content: center;
  margin: 0 auto 20px;
  width: var(--dw-step-circle-size);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step.is-final .dw-stepcircle {
  background: #d02878;
  color: #fff;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step-title {
  font-size: 16px;
  margin: 0 0 8px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-step-copy {
  color: var(--dw-reference-gray);
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 210px;
}
/* All visible headings use Montserrat Bold. Placing this after compatibility
 * styles prevents legacy page-specific weights from overriding the contract. */
.wp-site-blocks :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title), .editor-styles-wrapper :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title) {
  font-family: Montserrat, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cards {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cards .dw-card {
  height: 100%;
  margin: 0;
}
/* Testimonial groups remain equal after cards are duplicated or their quote
 * lengths change. The identity row stays anchored at the card bottom. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-quotes {
  align-items: stretch;
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-quotes > .dw-quote {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 28px 26px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-quote > .dw-quote-text {
  color: #161e29;
  flex: 1;
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0 0 20px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-who {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-block: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-av {
  align-items: center;
  background: #fce9f1;
  border: 1px solid var(--dw-reference-border);
  border-radius: 50%;
  color: #d02878;
  display: flex;
  flex: 0 0 38px;
  font-size: 13px;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  margin: 0;
  width: 38px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-who-name {
  font-size: 13.5px;
  line-height: 1.3;
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-who-company {
  color: var(--dw-reference-muted);
  font-size: 12.5px;
  margin: 2px 0 0;
}
/* Editable services rows and equal process cards. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc {
  align-items: center;
  border-bottom: 1px solid var(--dw-reference-border);
  display: grid;
  gap: 64px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-block: 76px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc:last-child {
  border-bottom: 0;
}
/* If an editor inserts a complete section while focus is still inside a
 * service row, keep that section usable and inside the page instead of
 * allowing its alignwide child to overflow the grid column. The block stays
 * fully editable and can still be moved to the root in List View. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc > .dw-section {
  grid-column: 1 / -1;
  margin-inline: 0;
  max-width: 100%;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc > .dw-section > .dw-section-inner.alignwide {
  max-width: 100%;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc.dw-flip .dw-svctext {
  order: 2;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svcnum {
  color: #d02878;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc h2 {
  font-size: 30px;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0 0 16px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svclist {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svclist li {
  color: #161e29;
  font-size: 14.5px;
  line-height: 1.55;
  padding-left: 26px;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svclist li::before {
  background: #fce9f1;
  border: 1.5px solid #d02878;
  border-radius: 50%;
  content: "";
  height: 14px;
  left: 0;
  position: absolute;
  top: 5px;
  width: 14px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svcvisual {
  background: var(--dw-reference-surface);
  border: 1px solid var(--dw-reference-border);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
  min-height: 280px;
  padding: 34px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-psteps {
  align-items: stretch;
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pstep {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 14px;
  margin: 0;
  padding: 26px 22px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pstep .dw-n {
  align-items: center;
  background: #fce9f1;
  border-radius: 9px;
  color: #d02878;
  display: flex;
  font-size: 14px;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  margin: 0 0 16px;
  width: 34px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pstep h3 {
  font-size: 15.5px;
  margin: 0 0 8px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pstep p {
  color: var(--dw-reference-gray);
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0;
}
/* Tools cards and CTA used by the earlier fully editable review pages. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 36px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-featured {
  border-color: #d02878;
  box-shadow: 0 0 0 3px #fce9f1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tierbadge {
  align-self: flex-start;
  border: 1px solid var(--dw-reference-border);
  border-radius: 999px;
  color: var(--dw-reference-gray);
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
  padding: 5px 10px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-featured .dw-tierbadge {
  background: #fce9f1;
  border-color: #d02878;
  color: #d02878;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier .dw-go {
  margin-top: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-ctaband {
  background: linear-gradient(135deg, #fce9f1 0%, #fdf7e9 100%);
  border-radius: 20px;
  padding: 72px 40px;
  text-align: center;
}
/* Real WordPress posts: no fabricated gradient image cards or static article
 * copy. Query Loop content supplies the image, title, excerpt and date. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post-template {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post {
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 14px;
  margin: 0;
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post > :not(.wp-block-post-featured-image) {
  margin-inline: 22px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post > :last-child {
  margin-bottom: 24px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-toolbar {
  gap: 24px;
  margin-bottom: 48px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-toolbar h2 {
  font-size: 28px;
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-search {
  margin: 0;
  max-width: 360px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-search .wp-block-search__inside-wrapper {
  border: 1px solid var(--dw-reference-border);
  border-radius: 10px;
  padding: 4px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-search .wp-block-search__button {
  background: #d02878;
  border-radius: 8px;
  color: #fff;
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post-template {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child .wp-block-post-featured-image {
  grid-column: 1;
  grid-row: 1 / span 6;
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child > :not(.wp-block-post-featured-image) {
  grid-column: 2;
  margin-inline: 30px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child > :nth-child(2) {
  margin-top: 30px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) {
  grid-template-columns: 1fr;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child:not(:has(.wp-block-post-featured-image)) > * {
  grid-column: 1;
}
/* Contact controls stay visibly light even when the operating system is in
 * dark mode. The current pattern uses accessible radio-choice cards so the
 * visitor never faces an oversized native select popup. */
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form select {
  color-scheme: light only;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form select option, :where(.wp-site-blocks, .editor-styles-wrapper) .contact-form select optgroup {
  background: #fff;
  color: #161e29;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form legend {
  color: #161e29;
  font-size: 0.92rem;
  font-weight: 700;
  margin-bottom: 10px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form label:has(input[type="radio"]) {
  align-items: center;
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 10px;
  margin: 8px 0 0;
  padding: 12px 14px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form label:has(input[type="radio"]:checked) {
  background: #fce9f1;
  border-color: #d02878;
  color: #a81e5d;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .contact-form input[type="radio"] {
  accent-color: #d02878;
  flex: 0 0 auto;
  height: 17px;
  margin: 0;
  width: 17px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-layout {
  align-items: start;
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-form {
  border: 1px solid var(--dw-reference-border);
  border-radius: 18px;
  padding: 40px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* Four-column footer matches the reference design without unfinished links. */
@media (max-width: 980px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cards, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-quotes, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-psteps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-layout {
    gap: 34px;
  }
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-pagehead {
    padding-block: 56px 48px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper {
    gap: 28px;
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper::before {
    display: none;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-stepper .dw-step {
    padding: 0;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-layout, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-svc.dw-flip .dw-svctext {
    order: 0;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child .wp-block-post-featured-image, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child > :not(.wp-block-post-featured-image) {
    grid-column: 1;
    grid-row: auto;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post:first-child > :not(.wp-block-post-featured-image) {
    margin-inline: 22px;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-postquery .wp-block-post-template, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-index-grid .wp-block-post-template {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-blog-search {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 600px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-cards, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-quotes, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-psteps {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-ctaband, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-form {
    padding: 28px 22px;
  }
}
/* Final 2.3.0 precedence layer: this comes after legacy compatibility rules. */
.wp-site-blocks .dw-tools-pagehead .dw-container > *, .editor-styles-wrapper .dw-tools-pagehead .dw-container > *, .wp-site-blocks .dw-tools-audit .dw-sec-head > *, .editor-styles-wrapper .dw-tools-audit .dw-sec-head > *, .wp-site-blocks .dw-human-audits .dw-sec-head > *, .editor-styles-wrapper .dw-human-audits .dw-sec-head > *, .wp-site-blocks .dw-tier > *, .editor-styles-wrapper .dw-tier > * {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.wp-site-blocks .dw-tools-pagehead .dw-container > h1, .editor-styles-wrapper .dw-tools-pagehead .dw-container > h1 {
  max-width: 760px;
}
.wp-site-blocks .dw-tools-pagehead .dw-container > .dw-lede, .editor-styles-wrapper .dw-tools-pagehead .dw-container > .dw-lede {
  max-width: 700px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head {
  display: block;
  margin-bottom: 42px;
  max-width: var(--dw-content);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tools-audit .dw-sec-head > .dw-eyebrow, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-human-audits .dw-sec-head > .dw-eyebrow {
  display: inline-flex;
  margin-bottom: 20px;
}
.wp-site-blocks .dw-tools-audit .dw-sec-head > h2, .editor-styles-wrapper .dw-tools-audit .dw-sec-head > h2, .wp-site-blocks .dw-human-audits .dw-sec-head > h2, .editor-styles-wrapper .dw-human-audits .dw-sec-head > h2 {
  margin-bottom: 16px;
  max-width: 760px;
}
.wp-site-blocks .dw-tools-audit .dw-sec-head > p:not(.dw-eyebrow), .editor-styles-wrapper .dw-tools-audit .dw-sec-head > p:not(.dw-eyebrow), .wp-site-blocks .dw-human-audits .dw-sec-head > p:not(.dw-eyebrow), .editor-styles-wrapper .dw-human-audits .dw-sec-head > p:not(.dw-eyebrow) {
  color: var(--dw-reference-gray);
  display: block;
  max-width: 700px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers {
  align-items: stretch;
  gap: 28px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
  border-radius: 24px;
  height: 100%;
  min-width: 0;
  padding: clamp(30px, 4vw, 48px);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier.is-featured {
  box-shadow: 0 0 0 4px #fce9f1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tierbadge {
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-bottom: 22px;
  padding: 6px 12px;
  text-transform: uppercase;
  width: auto;
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tiers {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
    min-height: 0;
  }
}
@media (max-width: 600px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-tier {
    border-radius: 18px;
    padding: 26px 22px;
  }
}
/* 2.3.0 P0 core-block foundation. These low-specificity rules style ordinary
 * new pages while preserving dimensions applied through the block editor. */
:where(.wp-site-blocks, .editor-styles-wrapper) :is(p, li, figcaption, td, th, summary) {
  overflow-wrap: anywhere;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(h4, h5, h6) {
  color: var(--wp--preset--color--ink);
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.3;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-code, .wp-block-preformatted) {
  background: #f6f7f9;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--mono);
  max-width: 100%;
  overflow-x: auto;
  padding: 1.25rem;
  white-space: pre;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-quote {
  border-inline-start: 4px solid var(--wp--preset--color--brand);
  color: var(--wp--preset--color--ink);
  padding: 0.35rem 0 0.35rem 1.5rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-quote cite, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-pullquote cite {
  color: var(--wp--preset--color--muted);
  display: block;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  margin-top: 1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-quote.is-style-damwriters-bordered {
  background: transparent;
  border-block: 0;
  border-inline-end: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-quote.is-style-damwriters-quote-card {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  border-inline-start: 5px solid var(--wp--preset--color--brand);
  border-radius: 18px;
  box-shadow: var(--wp--custom--shadow--card);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-pullquote {
  border-block: 1px solid var(--wp--preset--color--border);
  color: var(--wp--preset--color--ink);
  padding-block: clamp(2rem, 5vw, 4rem);
  text-align: start;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-pullquote blockquote {
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-pullquote p {
  font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
:where(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-damwriters-checklist {
  list-style: none;
  padding-inline-start: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-damwriters-checklist > li {
  min-height: 1.75rem;
  padding-inline-start: 2rem;
  position: relative;
}
:where(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-damwriters-checklist > li::before {
  align-items: center;
  background: var(--wp--preset--color--brand-tint);
  border-radius: 999px;
  color: var(--wp--preset--color--brand-dark);
  content: "✓";
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.35rem;
  inset-inline-start: 0;
  justify-content: center;
  position: absolute;
  top: 0.18rem;
  width: 1.35rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-damwriters-brand .wp-block-button__link {
  background: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--white);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-damwriters-brand .wp-block-button__link:hover {
  background: var(--wp--preset--color--brand-dark);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-damwriters-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--wp--preset--color--brand);
  color: var(--wp--preset--color--brand-dark);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-damwriters-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--brand-tint);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button__link:focus-visible, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-element-button:focus-visible, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-slider-controls button:focus-visible, :where(.wp-site-blocks, .editor-styles-wrapper) figure.wp-block-gallery.is-style-damwriters-slider:focus-visible {
  outline: 3px solid var(--wp--preset--color--brand);
  outline-offset: 3px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-routing-alert {
  background: var(--wp--preset--color--needs-bg);
  border: 1px solid #d9a84b;
  border-radius: 12px;
  color: var(--wp--preset--color--needs);
  font-weight: 650;
  margin-block: 1rem;
  padding: 1rem 1.1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-contact-routing-alert[hidden] {
  display: none;
}
:where(.wp-site-blocks, .editor-styles-wrapper) details.wp-block-details.is-style-damwriters-faq {
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 14px;
  padding: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) details.wp-block-details.is-style-damwriters-faq > summary {
  color: var(--wp--preset--color--ink);
  cursor: pointer;
  font-weight: 700;
  padding: 1.2rem 3rem 1.2rem 1.25rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) details.wp-block-details.is-style-damwriters-faq > :not(summary) {
  margin-inline: 1.25rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) details.wp-block-details.is-style-damwriters-faq > :last-child {
  margin-bottom: 1.25rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table th, :where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table td {
  border: 1px solid var(--wp--preset--color--border);
  padding: 0.85rem 1rem;
  text-align: start;
  vertical-align: top;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table th {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--ink);
  font-weight: 700;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-table.is-style-damwriters-comparison tbody tr:nth-child(even) {
  background: #fbfbfc;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery, .wp-block-video) img, :where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery, .wp-block-video) video {
  height: auto;
  max-width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery) figcaption {
  color: var(--wp--preset--color--muted);
  font-size: 0.875rem;
  line-height: 1.5;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-cover {
  border-radius: 18px;
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-media-text {
  gap: clamp(1.5rem, 4vw, 4rem);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-embed__wrapper {
  max-width: 100%;
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-file {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-file__button {
  background: var(--wp--preset--color--ink);
  border-radius: 10px;
  color: var(--wp--preset--color--white);
  font-weight: 700;
  padding: 0.7rem 1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-group.is-layout-flex, .wp-block-buttons) {
  row-gap: 0.75rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-separator {
  border-color: var(--wp--preset--color--border);
  opacity: 1;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-search__inside-wrapper {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  min-height: 48px;
  overflow: hidden;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-search__input {
  border: 0;
  min-width: 0;
  padding-inline: 1rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-search__button {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--white);
  margin: 0;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-post-date, .wp-block-post-terms, .wp-block-post-author, .wp-block-post-excerpt) {
  color: var(--wp--preset--color--muted);
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-query-pagination, .wp-block-post-navigation-link) a {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 10px;
  display: inline-flex;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-social-links .wp-social-link a {
  min-height: 44px;
  min-width: 44px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.grunion-field-wrap, .contact-form) :is(input, select, textarea) {
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 10px;
  color: var(--wp--preset--color--ink);
  max-width: 100%;
  min-height: 48px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) :is(.grunion-field-wrap, .contact-form) :is(input, select, textarea):focus-visible {
  border-color: var(--wp--preset--color--brand);
  outline: 3px solid rgba(208, 40, 120, 0.2);
  outline-offset: 1px;
}
/* Native Gallery slider: horizontally readable without JavaScript; JavaScript
 * adds only adjacent controls and never changes the saved block content. */
.wp-site-blocks figure.wp-block-gallery.is-style-damwriters-slider {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--wp--preset--color--brand) var(--wp--preset--color--surface);
}
.wp-site-blocks figure.wp-block-gallery.is-style-damwriters-slider > figure.wp-block-image {
  flex: 0 0 100%;
  margin: 0;
  min-width: 0;
  scroll-snap-align: start;
}
.wp-site-blocks figure.wp-block-gallery.is-style-damwriters-slider > figure.wp-block-image img {
  aspect-ratio: 16 / 10;
  border-radius: 18px;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.wp-site-blocks .dw-slider-controls {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  margin-block-start: 1rem;
}
.wp-site-blocks .dw-slider-controls button {
  align-items: center;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 999px;
  color: var(--wp--preset--color--ink);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding-inline: 1rem;
}
.wp-site-blocks .dw-slider-controls button:hover:not(:disabled) {
  border-color: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--brand-dark);
}
.wp-site-blocks .dw-slider-controls button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.wp-site-blocks .dw-slider-status {
  color: var(--wp--preset--color--muted);
  font-size: 0.875rem;
  margin: 0;
  min-width: 6.5rem;
  text-align: center;
}
.editor-styles-wrapper figure.wp-block-gallery.is-style-damwriters-slider {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: visible;
}
.editor-styles-wrapper figure.wp-block-gallery.is-style-damwriters-slider > figure.wp-block-image {
  margin: 0;
  width: auto;
}
@media (max-width: 781px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-media-text {
    gap: 1.5rem;
  }
	.editor-styles-wrapper figure.wp-block-gallery.is-style-damwriters-slider {
    grid-template-columns: 1fr;
  }
}
/* 2.3.2 testimonial-reference correction.
 *
 * The approved layout keeps three native testimonial Groups visible together
 * on larger screens. Cards retain equal heights, left-aligned quotes and a
 * bottom-anchored identity row, and then reflow without JavaScript. */
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-section-heading {
  display: grid;
  justify-items: start;
  max-width: none;
  padding-top: 56px;
  position: relative;
  text-align: center;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-section-heading > .dw-eyebrow {
  inset-block-start: 0;
  inset-inline-start: 0;
  margin-inline: 0;
  position: absolute;
  width: max-content;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-section-heading > h2, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-section-heading > p:not(.dw-eyebrow) {
  justify-self: center;
  margin-inline: auto;
  max-width: 760px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes {
  align-items: stretch;
  background: transparent;
  border: 0;
  display: grid;
  gap: clamp(20px, 2vw, 28px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: none;
  overflow: visible;
  width: 100%;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes > .dw-quote {
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--dw-reference-border);
  border-radius: 18px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-start;
  min-height: 410px;
  padding: clamp(30px, 3vw, 42px) clamp(26px, 2.5vw, 36px);
  text-align: left;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quote > .dw-quote-text {
  color: var(--wp--preset--color--ink);
  flex: 1;
  font-size: clamp(1rem, 0.96rem + 0.18vw, 1.12rem);
  font-weight: 450;
  line-height: 1.65;
  margin: 0 0 34px;
  max-width: none;
  text-align: left;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-who {
  align-items: center;
  align-self: center;
  justify-content: center;
  margin-top: auto;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-av {
  display: flex;
  flex-basis: 52px;
  height: 52px;
  justify-content: center;
  width: 52px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-who-name, :where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-who-company {
  text-align: left;
}
@media (max-width: 980px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes {
    grid-template-columns: 1fr;
  }
	:where(.wp-site-blocks, .editor-styles-wrapper) .dw-testimonials-section .dw-quotes > .dw-quote {
    min-height: 340px;
  }
}
/* --------------------------------------------------------------------------
 * 3.1.0 — hybrid shell and one-editor architecture.
 *
 * These rules reproduce the approved header/footer around normal PHP
 * templates. Page content remains native Gutenberg blocks, so Paragraph,
 * Image, Video, Gallery, Quote, List, Buttons, Columns, Table, Details/FAQ,
 * Cover, File and Embed blocks are inserted by their standard WordPress names.
 * ----------------------------------------------------------------------- */
/* A newly inserted ordinary block receives the theme typography and a useful
 * readable width immediately. Full-width Dam Writers sections retain their
 * existing design and wide/full alignment controls remain available. */
.wp-site-blocks .dw-main .wp-block-post-content > :not(.alignwide):not(.alignfull):not(.dw-section):not(.dw-pagehead):not(.dw-page-hero):not(.dw-hero) {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  width: min(760px, calc(100vw - 40px));
}
.wp-site-blocks .dw-main .wp-block-post-content > .alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: 1180px;
  width: var(--dw-content);
}
.wp-site-blocks .dw-normal-page, .wp-site-blocks .dw-main > .dw-page-hero, .wp-site-blocks .dw-main > .dw-section, .wp-site-blocks .dw-article-header, .wp-site-blocks .dw-article-content, .wp-site-blocks .dw-main > .navigation {
  margin-left: auto;
  margin-right: auto;
  max-width: 1180px;
  width: var(--dw-content);
}
/* -------------------------------------------------------------------------
 * 3.1.4 — page-scoped layout rhythm
 *
 * The approved Home, Tool and Services pages carry one of the three marker
 * classes below as their first saved block. Scoping from the post-content
 * root lets every section on those pages share one wider measure without
 * changing theme.json, Blog, Contact or ordinary pages. The same contract is
 * mirrored in Gutenberg's root container.
 * ---------------------------------------------------------------------- */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) {
  --dw-layout-wide: min(1240px, calc(100vw - 64px));
  --dw-process-arrow-clearance: 34px;
  --dw-process-arrow-height: clamp(90px, 10vw, 128px);
}
/* One coherent 1240px shell. Existing global 1100/1180px tokens remain
 * untouched for Blog, Contact, the header/footer and ordinary pages. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) :is(.dw-section, .dw-hero, .dw-pagehead, .dw-page-hero) {
  --wp--style--global--content-size: var(--dw-layout-wide);
  --wp--style--global--wide-size: var(--dw-layout-wide);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) :is(.dw-section-inner.alignwide, .dw-container.alignwide, .dw-hero > .wp-block-columns) {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  width: var(--dw-layout-wide);
}
/* Preserve a readable text measure inside the wider composition. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) :is(.dw-lede, .dw-section-heading > p) {
  max-width: 66ch;
}
/* Remove only the artificial marketing-page heading clamps. Article-title
 * and normal paragraph measures elsewhere in the theme remain intact. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) :is(.dw-hero-copy > h1, .dw-page-hero h1, .dw-section-heading h2) {
  max-width: none;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) :is(.dw-pagehead h1, .dw-service-detail h2) {
  max-width: none;
}
/* Equal visual weight without fixed heights or script calculations. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-home
) .dw-home-services, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-three-audits {
  align-items: stretch;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-home
) .dw-home-services > .wp-block-column, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-three-audits > .wp-block-column {
  align-self: stretch;
  display: flex;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-home
) .dw-home-services > .wp-block-column > .dw-card, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-three-audits > .wp-block-column > .dw-card {
  flex: 1 1 auto;
  height: auto;
}
/* Five report outcomes: 3 cards followed by 2 centred cards. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-outcome-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
/* WordPress's flow layout adds block-start margins to later children. Grid
 * and process spacing own that distance here, so reset only their direct
 * layout children instead of applying a broad page-wide margin reset. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) :is(.dw-outcome-grid, .dw-tool-process) > * {
  margin-block-end: 0;
  margin-block-start: 0;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-outcome {
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  height: auto;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-outcome:nth-child(4) {
  grid-column: 2 / span 2;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-outcome:nth-child(5) {
  grid-column: 4 / span 2;
}
/* Connector geometry is deterministic: stage -> 34px -> arrow -> 34px ->
 * next stage. This makes the acceptance measurement independent of visible
 * transparent pixels inside the decorative SVG. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  gap: calc(
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-height)
  );
  max-width: 1120px;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::after {
  height: var(--dw-process-arrow-height);
  top: calc(100% + var(--dw-process-arrow-clearance));
}
/* Stretch the native Image block to the adjacent service copy without
 * distorting the image. Media Library Replace and alt text remain native. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-detail > .wp-block-columns.are-vertically-aligned-center {
  align-items: stretch;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-detail > .wp-block-columns > .wp-block-column {
  align-self: stretch;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-detail > .wp-block-columns > .wp-block-column:has(> .dw-service-image) {
  display: flex;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-image {
  align-self: stretch;
  display: flex;
  flex: 1 1 auto;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-image img {
  aspect-ratio: auto;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 980px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
  ) {
    --dw-layout-wide: min(1240px, calc(100vw - 44px));
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome-grid {
    grid-auto-rows: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome:nth-child(4) {
    grid-column: auto;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome:nth-child(5) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 22px) / 2);
  }
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    height: var(--dw-process-arrow-height);
    top: calc(100% + var(--dw-process-arrow-clearance));
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::before {
    bottom: calc(
      0px -
      var(--dw-process-arrow-clearance) -
      var(--dw-process-arrow-height) -
      5px
    );
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-services
  ) .dw-service-detail > .wp-block-columns > .wp-block-column:has(> .dw-service-image), :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-services
  ) .dw-service-image {
    display: block;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-services
  ) .dw-service-image img {
    aspect-ratio: auto;
    height: auto;
  }
}
@media (max-width: 600px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
  ) {
    --dw-layout-wide: min(1240px, calc(100vw - 28px));
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome-grid {
    grid-template-columns: 1fr;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-outcome:nth-child(5) {
    grid-column: auto;
    width: auto;
  }
}
/* 3.1.5 — approved-page alignment and section-rhythm correction.
 * This final layer is deliberately limited to the canonical Home, Content
 * Audit Tool and Services page markers. Blog, Contact and ordinary pages
 * retain their existing measures and alignment. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) {
  --dw-section-space: 72px;
  --dw-section-compact-space: 52px;
  --dw-section-heading-gap: 32px;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) .dw-section {
  padding-block: var(--dw-section-space);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) .dw-section.dw-section--compact {
  padding-block: var(--dw-section-compact-space);
}
/* The audit shell's first/last block margins otherwise collapse through its
 * block box, adding 24px to both visual edges even after the section tokens
 * are applied. A local formatting context contains those margins so the
 * Tool's first default-to-default gap observes the same 72px + 72px rhythm
 * as every other scoped section. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tools-audit > .dwfcc5-shell {
  display: flow-root;
}
/* Default marketing-section introductions align to the left content edge.
 * The centred process and testimonial compositions are intentional and stay
 * centred. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) .dw-section-heading:not(.dw-process-heading):not(
  .dw-testimonials-section .dw-section-heading
) {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 66ch) minmax(0, 1fr);
  justify-self: start;
  margin-block-end: var(--dw-section-heading-gap);
  margin-inline: 0;
  max-width: none;
  text-align: left;
  width: 100%;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) .dw-section-heading:not(.dw-process-heading):not(
  .dw-testimonials-section .dw-section-heading
) > :is(h2, p) {
  grid-column: 1;
  justify-self: start;
  margin-inline: 0;
  max-width: none;
  text-align: left;
  width: 100%;
}
/* Keep the approved hero hierarchy strong without returning to oversized or
 * artificially clamped headings. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
) :is(.dw-hero, .dw-page-hero, .dw-pagehead) h1 {
  font-size: clamp(32px, 3.2vw, 41px);
}
@media (max-width: 600px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services)
  ) {
    --dw-section-space: 52px;
    --dw-section-compact-space: 40px;
    --dw-section-heading-gap: 28px;
  }
}
/* 3.1.6 — five-page alignment, lede and process-clearance completion.
 * This final layer is owned only by the five canonical saved-page markers.
 * Blog and Contact keep their existing H1 scale; the <=41px release scale
 * remains limited to Home, Tool and Services in the preceding 3.1.5 layer. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services, .dw-approved-blog, .dw-approved-contact)
) {
  --dw-process-arrow-clearance: 40px;
  --dw-section-space: 72px;
  --dw-section-compact-space: 52px;
  --dw-section-heading-gap: 32px;
}
/* The supporting paragraph may breathe across the approved 52rem measure,
 * while ordinary paragraphs, notes, form help and legal text keep their
 * native readable widths. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services, .dw-approved-blog, .dw-approved-contact)
) :is(.dw-pagehead .dw-container > .dw-lede, .dw-pagehead > .dw-lede, .dw-tools-pagehead .dw-container > .dw-lede, .dw-page-hero .dw-section-inner > .dw-lede, .dw-hero .dw-hero-copy > .dw-lede) {
  max-inline-size: min(52rem, 100%);
}
/* Blog and Contact now share the same flush-left pagehead geometry as the
 * approved marketing pages, without inheriting their smaller H1 rule. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-blog, .dw-approved-contact)
) > :is(.dw-approved-blog, .dw-approved-contact) > .dw-section-inner {
  align-items: start;
  margin-inline: auto;
  max-width: 1240px;
  text-align: left;
  width: min(1240px, calc(100vw - 64px));
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-blog, .dw-approved-contact)
) > :is(.dw-approved-blog, .dw-approved-contact) > .dw-section-inner > :is(.dw-eyebrow, h1, .dw-lede) {
  justify-self: start;
  margin-inline: 0;
  text-align: left;
}
/* WordPress's constrained-layout rules and the earlier page-hero composition
 * both carry more specificity than the deliberately low-specificity rule
 * above.  Repeat the saved-page marker in this narrow release override so the
 * three approved header elements share one real left edge on the front end
 * and in the editor.  H1 font-size is intentionally untouched. */
.wp-block-post-content > .dw-approved-blog > .dw-section-inner > :is(.dw-eyebrow, h1, .dw-lede), .wp-block-post-content > .dw-approved-contact > .dw-section-inner > :is(.dw-eyebrow, h1, .dw-lede), .editor-styles-wrapper .is-root-container > .dw-approved-blog > .dw-section-inner > :is(.dw-eyebrow, h1, .dw-lede), .editor-styles-wrapper .is-root-container > .dw-approved-contact > .dw-section-inner > :is(.dw-eyebrow, h1, .dw-lede) {
  justify-self: start;
  margin-inline: 0;
  text-align: left;
}
/* Core's constrained-layout rule centres headings and paragraphs with
 * priority auto margins.  Give the two text blocks the full row
 * instead of fighting that declaration.  The lede keeps a 52rem reading
 * measure through end padding; Blog/Contact H1 typography stays untouched. */
.wp-block-post-content > .dw-approved-blog > .dw-section-inner > h1, .wp-block-post-content > .dw-approved-contact > .dw-section-inner > h1, .editor-styles-wrapper .is-root-container > .dw-approved-blog > .dw-section-inner > h1, .editor-styles-wrapper .is-root-container > .dw-approved-contact > .dw-section-inner > h1 {
  box-sizing: border-box;
  max-inline-size: none;
  min-inline-size: 100%;
}
.wp-block-post-content > .dw-approved-blog > .dw-section-inner > .dw-lede, .wp-block-post-content > .dw-approved-contact > .dw-section-inner > .dw-lede, .editor-styles-wrapper .is-root-container > .dw-approved-blog > .dw-section-inner > .dw-lede, .editor-styles-wrapper .is-root-container > .dw-approved-contact > .dw-section-inner > .dw-lede {
  box-sizing: border-box;
  max-inline-size: none;
  min-inline-size: 100%;
  padding-inline-end: max(0px, calc(100% - 52rem));
}
/* The restored Services introduction uses the same explicit introduction
 * wrapper as the donor contract. It owns the heading gap and no other copy. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-services-intro > .dw-section-inner > .dw-section-heading {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 66ch) minmax(0, 1fr);
  justify-self: start;
  margin-block-end: var(--dw-section-heading-gap);
  margin-inline: 0;
  max-width: none;
  text-align: left;
  width: 100%;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-services-intro > .dw-section-inner > .dw-section-heading > :is(h2, p) {
  grid-column: 1;
  justify-self: start;
  margin-inline: 0;
  max-width: none;
  text-align: left;
  width: 100%;
}
/* 40px is measured to the decorative box. The desktop SVG's painted path
 * begins about 5px inside that box and ends about 10px before its edge, so
 * both painted clearances remain inside the locked 40–56px range. At the
 * 781px breakpoint the dashed mobile connector paints edge-to-edge. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  gap: calc(
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-height)
  );
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::after {
  top: calc(100% + var(--dw-process-arrow-clearance));
}
@media (max-width: 980px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-blog, .dw-approved-contact)
  ) > :is(.dw-approved-blog, .dw-approved-contact) > .dw-section-inner {
    width: min(1240px, calc(100vw - 44px));
  }
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    top: calc(100% + var(--dw-process-arrow-clearance));
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::before {
    bottom: calc(
      0px -
      var(--dw-process-arrow-clearance) -
      var(--dw-process-arrow-height) -
      5px
    );
  }
}
@media (max-width: 600px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services, .dw-approved-blog, .dw-approved-contact)
  ) {
    --dw-section-space: 52px;
    --dw-section-compact-space: 40px;
    --dw-section-heading-gap: 28px;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > :is(.dw-approved-blog, .dw-approved-contact)
  ) > :is(.dw-approved-blog, .dw-approved-contact) > .dw-section-inner {
    width: min(1240px, calc(100vw - 28px));
  }
}
/* -------------------------------------------------------------------------
 * 3.1.7 — focused Blog, Services, process-arrow and lede polish.
 *
 * This release layer follows every frozen predecessor and is intentionally
 * page-owned. It does not change root typography, component paragraphs,
 * legal content or ordinary links.
 * ---------------------------------------------------------------------- */
/* Blog post-title links remain obvious through colour and focus treatment,
 * without the heavy line-by-line underline created by the global link rule. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-blog
) .dw-blog-index-grid .wp-block-post-title a {
  color: #161e29;
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-blog
) .dw-blog-index-grid .wp-block-post-title a:is(:hover, :focus-visible) {
  color: #b91f68;
  text-decoration: underline;
}
/* Services spacing is a real, documented control. The first specialist owns
 * only the intro-to-detail gap; later rows keep their own adjustable rhythm.
 * Additional CSS may replace these tokens without rebuilding the theme or
 * changing saved copy. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) {
  --dw-section-gap: var(--dw-section-space, 72px);
  --dw-services-intro-to-detail-gap: 48px;
  --dw-service-detail-gap: 72px;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-section {
  padding-block: var(--dw-section-gap);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-services-intro {
  padding-block-start: var(--dw-services-intro-to-detail-gap);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-service-detail {
  padding-block: var(--dw-service-detail-gap);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-services
) .dw-services-intro > .dw-section-inner > .dw-service-detail:first-of-type {
  margin-block-start: 0;
  padding-block-start: 0;
}
/* Painted process connectors use borders instead of a fixed-colour bitmap.
 * Each connector starts just below its source card, curves towards the next
 * alternating card and ends with a real arrowhead. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  --dw-process-arrow-color: #15172f;
  --dw-process-arrow-size: clamp(92px, 8vw, 112px);
  --dw-process-arrow-style: dashed;
  --dw-process-arrow-thickness: 3px;
  --dw-process-arrow-clearance: 32px;
  --dw-process-stage-gap: calc(
    var(--dw-process-arrow-size) +
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-clearance)
  );
  gap: var(--dw-process-stage-gap);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::after {
  background: none;
  border: 0;
  border-right: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
  border-top: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
  border-radius: 0 52px 0 0;
  box-sizing: border-box;
  height: var(--dw-process-arrow-size);
  left: 55%;
  top: calc(100% + var(--dw-process-arrow-clearance));
  transform: none;
  width: 45%;
  z-index: 0;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::after {
  border-left: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
  border-right: 0;
  border-radius: 52px 0 0 0;
  left: auto;
  right: 55%;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::before {
  border-bottom: var(--dw-process-arrow-thickness) solid var(--dw-process-arrow-color);
  border-right: var(--dw-process-arrow-thickness) solid var(--dw-process-arrow-color);
  bottom: auto;
  content: "";
  height: 14px;
  left: calc(100% - 7px);
  pointer-events: none;
  position: absolute;
  top: calc(
    100% +
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-size) -
    9px
  );
  transform: rotate(45deg);
  width: 14px;
  z-index: 1;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::before {
  left: -7px;
}
/* Classic body sizing is deliberately limited to the supporting paragraph
 * immediately owned by a hero/pagehead composition. Card, FAQ, process-step,
 * image-and-text and ordinary paragraph typography does not inherit it. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > :is(.dw-approved-home, .dw-approved-tools, .dw-approved-services, .dw-approved-blog, .dw-approved-contact)
) :is(.dw-pagehead .dw-container > .dw-lede, .dw-pagehead > .dw-lede, .dw-tools-pagehead .dw-container > .dw-lede, .dw-page-hero .dw-section-inner > .dw-lede, .dw-hero .dw-hero-copy > .dw-lede) {
  font-size: 1rem;
  line-height: 1.65;
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-process {
    --dw-process-arrow-size: 72px;
    --dw-process-arrow-clearance: 26px;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    border: 0;
    border-left: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
    border-radius: 0;
    height: var(--dw-process-arrow-size);
    left: 50%;
    right: auto;
    top: calc(100% + var(--dw-process-arrow-clearance));
    transform: none;
    width: 0;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::before, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::before {
    bottom: auto;
    left: calc(50% - 7px);
    top: calc(
      100% +
      var(--dw-process-arrow-clearance) +
      var(--dw-process-arrow-size) -
      9px
    );
  }
}
@media (max-width: 600px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-services
  ) {
    --dw-services-intro-to-detail-gap: 36px;
    --dw-service-detail-gap: 48px;
  }
}
/* -------------------------------------------------------------------------
 * 3.1.8 — Blog featured-image alignment and process-arrow attachment.
 *
 * This final layer changes only the two approved visual defects. The Blog
 * image fills its featured desktop column; process connectors begin at the
 * source card and finish at the destination card. Mobile Blog images retain
 * their natural 16:9 presentation.
 * ---------------------------------------------------------------------- */
@media (min-width: 782px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-blog
  ) .dw-blog-index-grid .wp-block-post:first-child .wp-block-post-featured-image {
    align-self: stretch;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-blog
  ) .dw-blog-index-grid .wp-block-post:first-child .wp-block-post-featured-image > a {
    display: block;
    height: 100%;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-blog
  ) .dw-blog-index-grid .wp-block-post:first-child .wp-block-post-featured-image img {
    aspect-ratio: auto;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  --dw-process-arrow-clearance: 0px;
}
/* -------------------------------------------------------------------------
 * 3.1.9 — flowing, attached Tool process connectors.
 *
 * The 3.1.8 attachment removed the floating gap but made the curve occupy the
 * complete card-to-card space. This layer restores a calmer Waalaxy-inspired
 * rhythm: a short stem leaves the source card, the wide curve has room to
 * breathe, and its arrowhead meets the destination card. Blog 3.1.8 remains
 * untouched.
 * ---------------------------------------------------------------------- */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  --dw-process-arrow-size: clamp(108px, 9vw, 128px);
  --dw-process-arrow-clearance: 24px;
  --dw-process-arrow-head-size: 14px;
  --dw-process-stage-gap: calc(
    var(--dw-process-arrow-size) +
    var(--dw-process-arrow-clearance) +
    var(--dw-process-arrow-clearance)
  );
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::after {
  background:
    linear-gradient(
      45deg,
      transparent 42%,
      var(--dw-process-arrow-color) 43% 57%,
      transparent 58%
    ) calc(100% - 8px) 100% / var(--dw-process-arrow-head-size) var(--dw-process-arrow-head-size) no-repeat,
    linear-gradient(
      -45deg,
      transparent 42%,
      var(--dw-process-arrow-color) 43% 57%,
      transparent 58%
    ) calc(100% + 2px) 100% / var(--dw-process-arrow-head-size) var(--dw-process-arrow-head-size) no-repeat;
  border-radius: 0 64px 0 0;
  height: calc(
    var(--dw-process-arrow-size) + var(--dw-process-arrow-clearance)
  );
  top: calc(100% + var(--dw-process-arrow-clearance));
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::after {
  background:
    linear-gradient(
      45deg,
      transparent 42%,
      var(--dw-process-arrow-color) 43% 57%,
      transparent 58%
    ) -2px 100% / var(--dw-process-arrow-head-size) var(--dw-process-arrow-head-size) no-repeat,
    linear-gradient(
      -45deg,
      transparent 42%,
      var(--dw-process-arrow-color) 43% 57%,
      transparent 58%
    ) 8px 100% / var(--dw-process-arrow-head-size) var(--dw-process-arrow-head-size) no-repeat;
  border-radius: 64px 0 0 0;
}
/* The source stem is independent of the long curve, so the breathing space is
 * visible without making the line appear to begin in mid-air. */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::before {
  border: 0;
  border-left: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
  bottom: auto;
  height: calc(var(--dw-process-arrow-clearance) + 2px);
  left: 55%;
  top: calc(100% - 2px);
  transform: none;
  width: 0;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::before {
  left: auto;
  right: 55%;
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-process {
    --dw-process-arrow-size: 80px;
    --dw-process-arrow-clearance: 16px;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    background: none;
    border: 0;
    border-left: var(--dw-process-arrow-thickness) var(--dw-process-arrow-style) var(--dw-process-arrow-color);
    height: calc(var(--dw-process-stage-gap) + 2px);
    left: 50%;
    right: auto;
    top: calc(100% - 2px);
    width: 0;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::before, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::before {
    border: 0;
    border-bottom: var(--dw-process-arrow-thickness) solid var(--dw-process-arrow-color);
    border-right: var(--dw-process-arrow-thickness) solid var(--dw-process-arrow-color);
    height: var(--dw-process-arrow-head-size);
    left: calc(50% - 7px);
    right: auto;
    top: calc(100% + var(--dw-process-stage-gap) - 17px);
    transform: rotate(45deg);
    width: var(--dw-process-arrow-head-size);
  }
}
/* -------------------------------------------------------------------------
 * 3.1.10 — smooth, wide Tool process flow.
 *
 * The previous border-built connector could only become a larger right angle.
 * This final layer replaces that geometry completely with an original fluid
 * SVG mask. The path leaves the source card, crosses a generous quiet
 * interval, and stops just before the destination card. Direction alternates
 * with the cards. The mask keeps colour controlled by the existing token.
 * ---------------------------------------------------------------------- */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  --dw-process-stage-gap: clamp(280px, 23vw, 340px);
  --dw-process-flow-width: min(1100px, calc(100vw - 96px));
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::before, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::before {
  background: none;
  border: 0;
  content: "";
  height: 0;
  width: 0;
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage:not(.is-final)::after {
  background: var(--dw-process-arrow-color);
  border: 0;
  border-radius: 0;
  content: "";
  height: var(--dw-process-stage-gap);
  left: 50%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M790 4 C790 68 752 91 668 104 C554 122 446 91 324 105 C194 120 121 158 112 255 L112 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M91 271 L112 293 L133 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M790 4 C790 68 752 91 668 104 C554 122 446 91 324 105 C194 120 121 158 112 255 L112 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M91 271 L112 293 L133 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  max-width: none;
  right: auto;
  top: 100%;
  transform: translateX(-50%);
  width: var(--dw-process-flow-width);
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::after {
  left: 50%;
  right: auto;
  transform: translateX(-50%) scaleX(-1);
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-process {
    --dw-process-stage-gap: 150px;
    --dw-process-flow-width: 100%;
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    height: var(--dw-process-stage-gap);
    left: 0;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160' preserveAspectRatio='none'%3E%3Cpath d='M50 4 C42 45 58 88 50 132 L50 146' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-dasharray='9 11'/%3E%3Cpath d='M39 135 L50 147 L61 135' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160' preserveAspectRatio='none'%3E%3Cpath d='M50 4 C42 45 58 88 50 132 L50 146' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-dasharray='9 11'/%3E%3Cpath d='M39 135 L50 147 L61 135' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    right: auto;
    top: 100%;
    transform: none;
    width: 100%;
  }
}
/* -------------------------------------------------------------------------
 * 3.1.11 — contained, complete Tool connectors.
 *
 * Keep the approved smooth flow, but contain both endpoints inside the stage
 * card width. The right-to-left connector has its own mirrored vector rather
 * than transforming the whole pseudo-element; this makes all three arrows
 * render reliably in Chromium, Safari and the block editor.
 * ---------------------------------------------------------------------- */
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-process {
  --dw-process-flow-width: min(960px, calc(100vw - 192px));
}
:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
  > .dw-approved-tools
) .dw-tool-stage.is-right:not(.is-final)::after {
  background: var(--dw-process-arrow-color);
  border: 0;
  border-radius: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M210 4 C210 68 248 91 332 104 C446 122 554 91 676 105 C806 120 879 158 888 255 L888 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M909 271 L888 293 L867 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M210 4 C210 68 248 91 332 104 C446 122 554 91 676 105 C806 120 879 158 888 255 L888 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M909 271 L888 293 L867 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: translateX(-50%);
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-process {
    --dw-process-flow-width: 100%;
  }
}
/* -------------------------------------------------------------------------
 * 3.2.2 — Tool connector direction follows the destination number badge.
 *
 * The stage cards alternate their number badge: left, right, left, right.
 * A connector therefore finishes on the opposite side from its source card.
 * Keep mobile's centred vertical connector unchanged.
 * ---------------------------------------------------------------------- */
@media (min-width: 782px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M210 4 C210 68 248 91 332 104 C446 122 554 91 676 105 C806 120 879 158 888 255 L888 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M909 271 L888 293 L867 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M210 4 C210 68 248 91 332 104 C446 122 554 91 676 105 C806 120 879 158 888 255 L888 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M909 271 L888 293 L867 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M790 4 C790 68 752 91 668 104 C554 122 446 91 324 105 C194 120 121 158 112 255 L112 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M91 271 L112 293 L133 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 320' preserveAspectRatio='none'%3E%3Cpath d='M790 4 C790 68 752 91 668 104 C554 122 446 91 324 105 C194 120 121 158 112 255 L112 292' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='14 17'/%3E%3Cpath d='M91 271 L112 293 L133 271' fill='none' stroke='black' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}
@media (max-width: 781px) {
	:where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage:not(.is-final)::after, :where(.wp-block-post-content, .editor-styles-wrapper .is-root-container):has(
    > .dw-approved-tools
  ) .dw-tool-stage.is-right:not(.is-final)::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160' preserveAspectRatio='none'%3E%3Cpath d='M50 4 C42 45 58 88 50 132 L50 146' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-dasharray='9 11'/%3E%3Cpath d='M39 135 L50 147 L61 135' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160' preserveAspectRatio='none'%3E%3Cpath d='M50 4 C42 45 58 88 50 132 L50 146' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-dasharray='9 11'/%3E%3Cpath d='M39 135 L50 147 L61 135' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}
/* DWF BLOG ARTICLE REPAIR V4.7
   Restores the approved editorial presentation for the URL-preserving
   cornerstone article Pages and constrains guide artwork inside blog cards. */
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head, :is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  width: calc(100% - 48px);
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:is(.page-id-20809, .page-id-20934) .dw-guide-card {
  min-width: 0;
  overflow: hidden;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-card img {
  aspect-ratio: 8 / 5;
  display: block;
  height: auto !important;
  max-width: 100% !important;
  object-fit: cover;
  width: 100% !important;
}
.page-template-page-canvas .dw-cornerstone-article {
  margin: 0;
  max-width: none !important;
  width: 100% !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-header {
  background: radial-gradient(circle at 84% 18%, rgba(208, 40, 120, 0.15), transparent 380px), linear-gradient(135deg, #fbf7ed 0%, #fff 60%, #fff5fa 100%);
  border-bottom: 1px solid var(--dw-editorial-line);
  box-sizing: border-box;
  margin: 0;
  max-width: none;
  padding: clamp(62px, 7vw, 94px) 24px 0;
  width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article :is(.dw-article-header-inner, .dw-article-feature, .dw-article-endcap) {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-header-inner {
  max-width: 920px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-back {
  color: var(--dw-editorial-ink);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  margin-bottom: 28px;
  text-decoration: none;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-back:hover, .page-template-page-canvas .dw-cornerstone-article .dw-article-back:focus-visible {
  color: var(--dw-editorial-pink);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-kicker {
  align-items: center;
  color: var(--dw-editorial-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  gap: 10px 18px;
  letter-spacing: 0.035em;
  margin-bottom: 22px;
  text-transform: uppercase;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-category {
  background: #fce9f1;
  border-radius: 999px;
  color: #a91d61;
  padding: 8px 13px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-header h1 {
  color: var(--dw-editorial-ink);
  font-size: clamp(48px, 6.2vw, 78px);
  letter-spacing: -0.052em;
  line-height: 0.98 !important;
  margin: 0;
  max-width: 980px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-standfirst {
  color: var(--dw-editorial-muted);
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.55;
  margin: 28px 0 0;
  max-width: 780px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-byline, .page-template-page-canvas .dw-cornerstone-article .dw-article-language {
  color: var(--dw-editorial-muted);
  font-size: 14px;
  margin: 24px 0 0;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
  margin-bottom: 0;
  margin-top: clamp(42px, 5vw, 64px);
  overflow: hidden;
  transform: translateY(1px);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
  aspect-ratio: 16 / 8.5;
  border-radius: 26px 26px 0 0;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-layout {
  background: #fff;
  box-sizing: border-box;
  margin: 0;
  max-width: none;
  padding: clamp(58px, 7vw, 88px) 24px;
  width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content {
  color: #27303d;
  font-size: 19px;
  line-height: 1.78;
  margin: 0 auto;
  max-width: 760px;
  padding-bottom: 0;
  width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :first-child {
  margin-top: 0;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p:first-child::first-letter {
  color: var(--dw-editorial-pink);
  float: left;
  font-family: "Times New Roman", Times, Georgia, serif !important;
  font-size: 10.5em;
  font-weight: 400 !important;
  letter-spacing: -0.055em !important;
  line-height: 0.78 !important;
  margin: -0.01em 0.12em 0.01em 0 !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content :is(h2, h3, h4) {
  color: var(--dw-editorial-ink);
  letter-spacing: -0.035em;
  line-height: 1.12;
  scroll-margin-top: 110px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content h2 {
  font-size: clamp(32px, 3.8vw, 44px);
  margin: 2.1em 0 0.65em;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content h3 {
  font-size: clamp(25px, 2.8vw, 32px);
  margin: 1.8em 0 0.6em;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content :is(p, ul, ol, blockquote) {
  margin-bottom: 1.35em;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content a {
  color: #a91d61;
  text-decoration-color: rgba(208, 40, 120, 0.35);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content blockquote {
  background: linear-gradient(135deg, #fff7fa 0%, #fbf7ed 100%);
  border-left: 5px solid var(--dw-editorial-pink);
  border-radius: 0 18px 18px 0;
  color: var(--dw-editorial-ink);
  font-size: 1.13em;
  margin-left: 0;
  padding: 28px 30px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content :is(img, video, iframe) {
  border-radius: 18px;
  height: auto;
  max-width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-endcap {
  background: var(--dw-editorial-ink);
  border-radius: 24px;
  box-sizing: border-box;
  color: #fff;
  margin-bottom: clamp(34px, 5vw, 58px);
  padding: clamp(34px, 5vw, 54px);
  width: calc(100% - 48px);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-endcap h2 {
  color: #fff;
  font-size: clamp(30px, 3.5vw, 42px);
  letter-spacing: -0.04em;
  margin: 0 0 12px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-endcap p {
  color: rgba(255, 255, 255, 0.76);
  margin: 0 0 24px;
  max-width: 680px;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-endcap a {
  background: var(--dw-editorial-pink);
  border-radius: 12px;
  color: #fff;
  display: inline-block;
  font-weight: 800;
  padding: 14px 20px;
  text-decoration: none;
}
@media (max-width: 900px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head, :is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    width: calc(100% - 40px);
  }
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    grid-template-columns: 1fr;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-header {
    padding-left: 20px;
    padding-right: 20px;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-header h1 {
    font-size: clamp(42px, 12vw, 58px);
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
    border-radius: 18px 18px 0 0;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-layout {
    padding-left: 20px;
    padding-right: 20px;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content {
    font-size: 18px;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p:first-child::first-letter {
    font-size: 7.2em;
    line-height: 0.82 !important;
    margin-right: 0.11em !important;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-endcap {
    border-radius: 0;
    width: 100%;
  }
}
/* DWF ARTICLE MEDIA TABLE REFINEMENT V4.8
   Keeps editorial artwork proportional and gives every guide table a clear,
   readable comparison structure in English and Dutch. */
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
  border: 1px solid rgba(22, 30, 41, 0.10);
  border-radius: 24px 24px 0 0;
  box-shadow: 0 20px 55px rgba(22, 30, 41, 0.10);
  box-sizing: border-box;
  max-width: 860px !important;
  width: calc(100% - 48px);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
  aspect-ratio: 8 / 5;
  border-radius: 23px 23px 0 0;
  object-fit: cover;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table {
  background: #fff;
  border: 1px solid rgba(22, 30, 41, 0.14);
  border-collapse: separate;
  border-radius: 16px;
  border-spacing: 0;
  box-shadow: 0 12px 34px rgba(22, 30, 41, 0.06);
  color: #27303d;
  font-size: 0.88em;
  line-height: 1.52;
  margin: 2.15em 0;
  overflow: hidden;
  table-layout: fixed;
  width: 100%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table :is(th, td) {
  border: 0;
  border-bottom: 1px solid rgba(22, 30, 41, 0.10);
  box-sizing: border-box;
  overflow-wrap: break-word;
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table th {
  background: linear-gradient(135deg, #fbf7ed 0%, #fff5fa 100%);
  color: var(--dw-editorial-ink);
  font-size: 0.88em;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.35;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table :is(th, td) + :is(th, td) {
  border-left: 1px solid rgba(22, 30, 41, 0.10);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table tbody tr:nth-child(even) td {
  background: rgba(251, 247, 237, 0.46);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table tbody tr:last-child td {
  border-bottom: 0;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table :is(th, td):first-child {
  color: var(--dw-editorial-ink);
  font-weight: 700;
  width: 32%;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content table th:first-child {
  color: var(--dw-editorial-ink);
  font-weight: 800;
}
@media (max-width: 760px) {
	.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
    border-radius: 18px 18px 0 0;
    width: calc(100% - 40px);
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
    border-radius: 17px 17px 0 0;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content table {
    display: block;
    font-size: 0.83em;
    max-width: 100%;
    overflow-x: auto;
    table-layout: auto;
    -webkit-overflow-scrolling: touch;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content table :is(thead, tbody) {
    display: table;
    min-width: 620px;
    table-layout: fixed;
    width: 100%;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content table :is(th, td) {
    padding: 14px 15px;
  }
}
/* Dam Writers launch visual QA V5.0
 * Blog, article, service, CTA and Social Check consistency layer.
 * This layer intentionally removes only injected decorative ornaments.
 */
:root {
  --dw-launch-ink: #161e29;
  --dw-launch-copy: #586273;
  --dw-launch-pink: #d02878;
  --dw-launch-blush: #fce9f1;
  --dw-launch-cream: #fbf7ed;
  --dw-launch-mint: #eaf7f4;
  --dw-launch-green: #15894b;
  --dw-launch-line: rgba(22, 30, 41, 0.11);
}
/* Remove the previous icon and abstract object layer without changing surfaces. */
:is(.page-id-20806, .page-id-20908, .page-id-20807, .page-id-20930, .page-id-20808, .page-id-20910, .page-id-20884, .page-id-20809, .page-id-20934, .page-id-20810, .page-id-20844, .page-id-20936)
main :is(.dw-section, .dw-sec-head, .dw-ctaband) > h2:first-of-type::before, :is(.page-id-20806, .page-id-20908, .page-id-20807, .page-id-20930, .page-id-20808, .page-id-20910, .page-id-20884, .page-id-20809, .page-id-20934, .page-id-20810, .page-id-20844, .page-id-20936)
main :is(.dw-pagehead, .dw-tools-pagehead, .dw-blog-hero)::before, :is(.page-id-20806, .page-id-20908, .page-id-20807, .page-id-20930, .page-id-20808, .page-id-20910, .page-id-20884, .page-id-20809, .page-id-20934, .page-id-20810, .page-id-20844, .page-id-20936)
main :is(.dw-pagehead, .dw-tools-pagehead, .dw-blog-hero)::after {
  content: none !important;
  display: none !important;
}
/* Blog window and guide grid. */
:is(.page-id-20809, .page-id-20934) .dw-blog-hero h1, :is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides h2 {
  color: var(--dw-launch-ink);
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides {
  margin-inline: auto;
  max-width: 1280px;
  padding: clamp(64px, 8vw, 104px) 24px;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head {
  margin: 0 0 clamp(28px, 4vw, 46px);
  max-width: 780px;
  text-align: left;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
:is(.page-id-20809, .page-id-20934) .dw-guide-card {
  background: #fff;
  border: 1px solid var(--dw-launch-line);
  border-radius: 22px;
  box-shadow: 0 16px 44px rgba(22, 30, 41, 0.065);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  padding: 0;
  text-align: left;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-card:nth-child(4), :is(.page-id-20809, .page-id-20934) .dw-guide-card:nth-child(5) {
  grid-column: span 1;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-visual {
  aspect-ratio: 8 / 5;
  background: var(--dw-launch-cream);
  border-bottom: 1px solid var(--dw-launch-line);
  display: block;
  overflow: hidden;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-visual img {
  display: block;
  height: 100%;
  margin: 0;
  object-fit: contain;
  width: 100%;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-copy .dw-eyebrow {
  color: var(--dw-launch-pink);
  font-size: 12px;
  margin: 0 0 14px;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-copy h3 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.16;
  margin: 0 0 16px;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-copy h3 a {
  color: var(--dw-launch-ink);
  text-decoration: none;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-copy > p:not(.dw-eyebrow):not(.dw-guide-link) {
  color: var(--dw-launch-copy);
  font-size: 16px;
  line-height: 1.72;
  margin: 0 0 22px;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-link {
  margin: auto 0 0;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-link a {
  color: var(--dw-launch-pink);
  font-weight: 750;
  text-decoration: none;
}
/* Article media and reading rhythm. */
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
  max-width: 800px !important;
  width: calc(100% - 48px);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
  aspect-ratio: 8 / 5;
  object-fit: contain;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p {
  margin: 0 0 1.15em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :is(h2, h3) {
  text-align: left;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > h2 {
  margin: 2.15em 0 0.62em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > h3 {
  margin: 1.55em 0 0.48em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :is(table, blockquote, ul, ol, figure) {
  margin-bottom: 1.8em;
  margin-top: 1.8em;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual {
  background: linear-gradient(135deg, #fff 0%, var(--dw-launch-cream) 100%);
  border: 1px solid var(--dw-launch-line);
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(22, 30, 41, 0.07);
  box-sizing: border-box;
  margin: 2.2em auto !important;
  max-width: 720px;
  overflow: hidden;
  padding: clamp(18px, 3vw, 34px);
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  margin: 0;
  object-fit: contain;
  width: 100%;
}
/* Service illustrations stay complete, balanced and text free. */
:is(.page-id-20807, .page-id-20930) .dw-service-image {
  background: linear-gradient(135deg, #fff 0%, var(--dw-launch-cream) 100%);
  border: 1px solid var(--dw-launch-line);
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(22, 30, 41, 0.07);
  box-sizing: border-box;
  margin: 0;
  overflow: hidden;
  padding: clamp(18px, 3vw, 34px);
}
:is(.page-id-20807, .page-id-20930) .dw-service-image img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  margin: 0;
  object-fit: contain;
  width: 100%;
}
/* One CTA window across pages and articles. */
:is(.dw-ctaband, .dw-cta, .dw-article-endcap) {
  background: linear-gradient(135deg, #fff1f7 0%, #fbf7ed 100%) !important;
  border: 1px solid rgba(208, 40, 120, 0.10) !important;
  border-radius: 26px !important;
  box-shadow: 18px 18px 0 #fce3ef;
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 1240px;
  padding: clamp(48px, 7vw, 78px) clamp(24px, 6vw, 70px) !important;
  text-align: center;
}
:is(.dw-ctaband, .dw-cta, .dw-article-endcap) > :is(h2, p) {
  margin-left: auto;
  margin-right: auto;
  max-width: 820px;
}
:is(.dw-ctaband, .dw-cta, .dw-article-endcap) .wp-block-buttons {
  justify-content: center;
}
/* Social Check uses a signal path rather than the Content Audit card pattern. */
.page-id-20884 .dw-social-journey {
  background: linear-gradient(135deg, #fff9f4 0%, #fff1f7 100%);
  border: 1px solid var(--dw-launch-line);
  border-radius: 28px;
  box-shadow: 0 20px 58px rgba(22, 30, 41, 0.06);
  box-sizing: border-box;
  margin: clamp(58px, 7vw, 92px) auto;
  max-width: 1280px;
  padding: clamp(48px, 7vw, 86px) clamp(24px, 5vw, 66px);
}
.page-id-20884 .dw-social-journey .dw-sec-head {
  margin: 0 0 42px;
  max-width: 820px;
  text-align: left;
}
.page-id-20884 .dw-social-path {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.page-id-20884 .dw-social-path::before {
  background: linear-gradient(90deg, var(--dw-launch-pink), #f39ac3, var(--dw-launch-green));
  content: "";
  height: 3px;
  left: 7%;
  position: absolute;
  right: 7%;
  top: 27px;
}
.page-id-20884 .dw-social-path li {
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--dw-launch-line);
  border-radius: 20px;
  box-sizing: border-box;
  min-width: 0;
  padding: 22px;
  position: relative;
  text-align: left;
  z-index: 1;
}
.page-id-20884 .dw-social-path li:nth-child(5) {
  border-color: rgba(21,137,75,0.24);
}
.page-id-20884 .dw-social-step {
  align-items: center;
  background: var(--dw-launch-pink);
  border: 5px solid #fff;
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 12px;
  font-weight: 850;
  height: 44px;
  justify-content: center;
  margin: -2px 0 26px;
  width: 44px;
}
.page-id-20884 .dw-social-path li:nth-child(5) .dw-social-step {
  background: var(--dw-launch-green);
}
.page-id-20884 .dw-social-path h3 {
  color: var(--dw-launch-ink);
  font-size: 19px;
  line-height: 1.28;
  margin: 0 0 12px;
  text-align: left;
}
.page-id-20884 .dw-social-path p {
  color: var(--dw-launch-copy);
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  text-align: left;
}
@media (max-width: 1040px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
	.page-id-20884 .dw-social-path {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
	.page-id-20884 .dw-social-path::before {
    display: none;
  }
}
@media (max-width: 680px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards, .page-id-20884 .dw-social-path {
    grid-template-columns: 1fr;
  }
	:is(.dw-ctaband, .dw-cta, .dw-article-endcap) {
    box-shadow: 10px 10px 0 #fce3ef;
    width: calc(100% - 32px);
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
    width: calc(100% - 32px);
  }
}
/* Dam Writers text free service visuals V5.1 */
.dw-service-inline-art svg { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.dw-service-inline-art { overflow: hidden; }
/* Dam Writers live correction V5.2
 * Final targeted layer for the blog, articles, services and Social Check.
 * It overrides only the conflicting launch rules and leaves approved surfaces intact.
 */
:root {
  --dw-v52-ink: #161e29;
  --dw-v52-copy: #586273;
  --dw-v52-pink: #d02878;
  --dw-v52-cream: #fbf7ed;
  --dw-v52-blush: #fff1f7;
  --dw-v52-mint: #eaf7f4;
  --dw-v52-green: #15894b;
  --dw-v52-line: rgba(22, 30, 41, 0.12);
}
/* Remove the retired icon and abstract ornament layer. */
body main :is(.dw-ornament, .dw-heading-icon, .dw-bg-icon, .dw-hero-icon) {
  display: none !important;
}
body main :is(.dw-pagehead, .dw-tools-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services)::before, body main :is(.dw-pagehead, .dw-tools-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services)::after, body main :is(.dw-section, .dw-sec-head, .dw-ctaband) > :is(h1, h2):first-of-type::before, body main :is(.dw-section, .dw-sec-head, .dw-ctaband) > :is(h1, h2):first-of-type::after {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  display: none !important;
}
/* Blog introduction stays together above one disciplined guide grid. */
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides {
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 1280px !important;
  padding: clamp(64px, 8vw, 104px) 24px !important;
  width: 100% !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head {
  display: block !important;
  grid-template-columns: none !important;
  margin: 0 0 clamp(34px, 5vw, 54px) !important;
  max-width: 820px !important;
  padding: 0 !important;
  text-align: left;
  width: 100% !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head > * {
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 820px !important;
  text-align: left;
  width: auto !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head .dw-eyebrow {
  display: inline-flex !important;
  margin-bottom: 18px !important;
  width: auto !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head h2 {
  color: var(--dw-v52-ink);
  font-size: clamp(40px, 5vw, 62px);
  letter-spacing: -0.045em !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
  margin-top: 0 !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-sec-head > p:last-child {
  color: var(--dw-v52-copy);
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}
:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
  align-items: stretch !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-visual {
  aspect-ratio: 3 / 2 !important;
  background: var(--dw-v52-cream) !important;
  display: block !important;
  overflow: hidden !important;
}
:is(.page-id-20809, .page-id-20934) .dw-guide-visual img {
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}
/* Reading layout: controlled media size and regular paragraph rhythm. */
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
  border: 1px solid var(--dw-v52-line) !important;
  border-radius: 24px 24px 0 0 !important;
  box-shadow: 0 20px 55px rgba(22, 30, 41, 0.10) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 920px !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: calc(100% - 48px) !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-feature img, .page-template-page-canvas .dw-cornerstone-article .dw-article-header > img {
  aspect-ratio: 3 / 2 !important;
  border-radius: 23px 23px 0 0 !important;
  display: block !important;
  height: auto !important;
  object-fit: cover !important;
  width: 100% !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content {
  font-size: 19px;
  line-height: 1.76 !important;
  max-width: 760px !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p {
  margin: 0 0 1.16em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :is(h2, h3) {
  text-align: left;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > h2 {
  margin: 1.95em 0 0.62em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > h3 {
  margin: 1.48em 0 0.5em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > :is(table, blockquote, ul, ol, figure) {
  margin-bottom: 1.75em !important;
  margin-top: 1.75em !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual {
  background: #fff !important;
  border: 1px solid var(--dw-v52-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 38px rgba(22, 30, 41, 0.075) !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 720px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual img {
  aspect-ratio: 3 / 2 !important;
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}
.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p:first-child::first-letter {
  font-size: 9em;
  line-height: 0.76 !important;
  margin: 0.01em 0.12em 0 0 !important;
}
/* Tactile, text-free Services images. */
:is(.page-id-20807, .page-id-20930) .dw-service-image {
  background: #fff !important;
  border: 1px solid var(--dw-v52-line) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 46px rgba(22, 30, 41, 0.08) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}
:is(.page-id-20807, .page-id-20930) .dw-service-image img {
  aspect-ratio: 3 / 2 !important;
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}
/* One readable CTA surface across pages and articles. */
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) {
  background: linear-gradient(135deg, var(--dw-v52-blush) 0%, var(--dw-v52-cream) 100%) !important;
  border: 1px solid rgba(208, 40, 120, 0.13) !important;
  border-radius: 26px !important;
  box-shadow: 16px 16px 0 #fce3ef !important;
  box-sizing: border-box !important;
  color: var(--dw-v52-ink);
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1240px !important;
  padding: clamp(46px, 7vw, 76px) clamp(24px, 6vw, 68px) !important;
  text-align: center;
}
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) :is(h2, h3) {
  color: var(--dw-v52-ink);
  opacity: 1 !important;
}
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) > p:not(.dw-eyebrow), body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) > div > p:not(.dw-eyebrow) {
  color: var(--dw-v52-copy);
  opacity: 1 !important;
}
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) .dw-eyebrow {
  color: #a91d61;
}
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) .wp-block-button:not(.is-style-outline) .wp-block-button__link, body main .dw-article-endcap a {
  background: var(--dw-v52-pink) !important;
  color: #fff;
}
body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) .is-style-outline .wp-block-button__link {
  background: #fff !important;
  border-color: rgba(22, 30, 41, 0.18) !important;
  color: var(--dw-v52-ink);
}
/* Social Check: compact vertical signal path. */
.page-id-20884 .dw-social-journey {
  box-sizing: border-box !important;
  margin: clamp(52px, 7vw, 84px) auto !important;
  max-width: 1040px !important;
  padding: clamp(44px, 6vw, 72px) clamp(22px, 5vw, 58px) !important;
}
.page-id-20884 .dw-social-journey .dw-sec-head {
  margin: 0 0 34px !important;
  max-width: 760px !important;
  text-align: left;
}
.page-id-20884 .dw-social-journey .dw-sec-head h2 {
  font-size: clamp(36px, 4.8vw, 56px);
  line-height: 1.05 !important;
  text-align: left;
}
.page-id-20884 .dw-social-path {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 1fr !important;
  list-style: none !important;
  margin: 0 auto !important;
  max-width: 860px !important;
  padding: 0 !important;
  position: relative !important;
}
.page-id-20884 .dw-social-path::before {
  background: linear-gradient(180deg, var(--dw-v52-pink) 0%, #ef9bc1 68%, var(--dw-v52-green) 100%) !important;
  bottom: 42px !important;
  content: "" !important;
  display: block !important;
  height: auto !important;
  left: 43px !important;
  position: absolute !important;
  right: auto !important;
  top: 42px !important;
  width: 3px !important;
}
.page-id-20884 .dw-social-path li {
  align-items: start !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid var(--dw-v52-line) !important;
  border-radius: 20px !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 2px 20px !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  min-height: 112px !important;
  padding: 24px 26px 24px 18px !important;
  position: relative !important;
  text-align: left;
  z-index: 1 !important;
}
.page-id-20884 .dw-social-path li:nth-child(even) {
  background: rgba(251, 247, 237, 0.96) !important;
}
.page-id-20884 .dw-social-path li:last-child {
  background: rgba(234, 247, 244, 0.96) !important;
  border-color: rgba(21, 137, 75, 0.24) !important;
}
.page-id-20884 .dw-social-step {
  align-items: center !important;
  align-self: start !important;
  background: var(--dw-v52-pink) !important;
  border: 4px solid #fff !important;
  border-radius: 999px !important;
  color: #fff;
  display: flex !important;
  font-size: 12px;
  font-weight: 850 !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  height: 48px !important;
  justify-content: center !important;
  margin: 0 !important;
  position: relative !important;
  width: 48px !important;
  z-index: 2 !important;
}
.page-id-20884 .dw-social-path li:last-child .dw-social-step {
  background: var(--dw-v52-green) !important;
}
.page-id-20884 .dw-social-path h3, .page-id-20884 .dw-social-path p {
  grid-column: 2 !important;
  text-align: left;
}
.page-id-20884 .dw-social-path h3 {
  color: var(--dw-v52-ink);
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.24 !important;
  margin: 0 0 6px !important;
}
.page-id-20884 .dw-social-path p {
  color: var(--dw-v52-copy);
  font-size: 15px;
  line-height: 1.62 !important;
  margin: 0 !important;
}
@media (max-width: 1040px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
	:is(.page-id-20809, .page-id-20934) .dw-cornerstone-guides .dw-cards {
    grid-template-columns: 1fr !important;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-feature {
    border-radius: 18px 18px 0 0 !important;
    width: calc(100% - 32px) !important;
  }
	.page-template-page-canvas .dw-cornerstone-article .dw-article-content > p:first-child::first-letter {
    font-size: 6.8em;
  }
	body main :is(.dw-ctaband, .dw-cta, .dw-article-endcap) {
    box-shadow: 9px 9px 0 #fce3ef !important;
    width: calc(100% - 32px) !important;
  }
	.page-id-20884 .dw-social-path li {
    gap: 2px 14px !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 20px 18px 20px 14px !important;
  }
	.page-id-20884 .dw-social-path::before {
    left: 36px !important;
  }
	.page-id-20884 .dw-social-step {
    height: 42px !important;
    width: 42px !important;
  }
}
/* Dam Writers live correction V5.2.1
 * Remove the remaining page-level decorative SVG layer only.
 * Content, spacing, cards, gradients, and approved photography stay unchanged.
 */
.dw-main {
  background-image: none !important;
}
/* Dam Writers consolidated theme correction V5.3
 * One final shared layout system for EN and NL.
 * Approved colours, visual identity, and page-specific backgrounds are preserved.
 */
/* 1. One hero height everywhere except the homepage. */
body:not(.home) :is(.dw-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services, .dw-contact-hero, .dw-article-header) {
  box-sizing: border-box !important;
  min-height: 605px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
}
body:not(.home) :is(.dw-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services, .dw-contact-hero, .dw-article-header) > * {
  width: 100%;
  box-sizing: border-box;
}
/* 2. Restore the readable paragraph scale across editorial page content. */
:is(.dw-pagehead, .dw-section, .dw-section-inner, .dw-card, .dw-approved-services, .dw-social-journey, .dw-article-content, .dw-article-endcap) :is(p, li):not(.dw-eyebrow):not(.dw-kicker):not(.dw-step-label) {
  font-size: 19px;
  line-height: 1.7 !important;
}
/* Keep utility labels intentionally small. */
:is(.dw-eyebrow, .dw-kicker, .dw-step-label, .dw-article-category, .dw-article-byline) {
  font-size: 15px;
  line-height: 1.45 !important;
}
/* 3. Article text, images, and CTA share one editorial width. */
.dw-cornerstone-article {
  --dw-article-measure: 760px;
}
.dw-cornerstone-article :is(.dw-article-content, .dw-article-feature, .dw-article-inline-visual, .dw-article-endcap) {
  width: min(var(--dw-article-measure), calc(100% - 40px)) !important;
  max-width: var(--dw-article-measure) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}
.dw-cornerstone-article :is(.dw-article-feature, .dw-article-inline-visual) img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
}
.dw-cornerstone-article .dw-article-inline-visual {
  margin-block: 40px !important;
  padding: 0 !important;
}
.dw-cornerstone-article .dw-article-content > :where(p, ul, ol, blockquote, table) {
  margin-block-start: 0 !important;
  margin-block-end: 1.2em !important;
}
.dw-cornerstone-article .dw-article-content > :where(h2, h3) {
  margin-block-start: 1.35em !important;
  margin-block-end: .55em !important;
}
.dw-cornerstone-article .dw-article-endcap {
  min-height: 0 !important;
  padding: clamp(42px, 5vw, 64px) clamp(24px, 4vw, 52px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
}
.dw-cornerstone-article .dw-article-endcap > * {
  max-width: 640px !important;
  margin-inline: auto !important;
}
.dw-cornerstone-article .dw-article-endcap :is(.wp-block-button__link, a[role="button"], .dw-button) {
  width: auto !important;
  max-width: 100% !important;
  min-height: 52px !important;
  padding: 14px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: normal !important;
  text-align: center;
}
/* The site menu already provides language navigation. */
body.page-id-21010 .dw-article-language, body.page-id-21014 .dw-article-language, body.page-id-21017 .dw-article-language, body.page-id-21020 .dw-article-language, body.page-id-21023 .dw-article-language {
  display: none !important;
}
/* 4. Balanced five-card blog grid and equal card structure. */
.dw-cornerstone-guides .dw-cards, .dw-home-latest-cards {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}
.dw-cornerstone-guides .dw-guide-card, .dw-home-latest-cards .dw-guide-card {
  grid-column: span 2 !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.dw-cornerstone-guides .dw-guide-card:nth-child(4) {
  grid-column: 2 / span 2 !important;
}
.dw-cornerstone-guides .dw-guide-card:nth-child(5) {
  grid-column: 4 / span 2 !important;
}
.dw-guide-card .dw-guide-visual {
  display: block !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}
.dw-guide-card .dw-guide-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.dw-guide-card .dw-guide-copy {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left;
}
.dw-guide-card .dw-guide-link {
  margin-top: auto !important;
}
/* 5. Home services: shared baselines, left alignment, links at the bottom. */
.home .dw-cards > .dw-card:not(.dw-guide-card) {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left;
}
.home .dw-cards > .dw-card:not(.dw-guide-card) h3 {
  width: 100% !important;
  min-height: 2.5em !important;
  margin-bottom: 18px !important;
  text-align: left;
}
.home .dw-cards > .dw-card:not(.dw-guide-card) p:last-child {
  margin-top: auto !important;
}
/* 6. Content Audit use cards: one top edge, one reading direction. */
.dw-three-audits {
  align-items: stretch !important;
}
.dw-three-audits > .wp-block-column {
  display: flex !important;
}
.dw-three-audits .dw-card {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left;
}
.dw-three-audits .dw-card :is(h3, p) {
  width: 100% !important;
  text-align: left;
}
.dw-three-audits .dw-card h3 {
  min-height: 2.4em !important;
}
/* 7. Social journey intro aligns with its vertical path. */
.dw-social-journey :is(.dw-social-journey-head, .dw-sec-head) {
  width: min(860px, calc(100% - 40px)) !important;
  max-width: 860px !important;
  margin-inline: auto !important;
  display: block !important;
  text-align: left;
}
.dw-social-journey :is(.dw-social-journey-head, .dw-sec-head) h2 {
  max-width: 820px !important;
  margin: 0 0 22px !important;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.04 !important;
  text-align: left;
}
.dw-social-journey :is(.dw-social-journey-head, .dw-sec-head) > p:not(.dw-eyebrow) {
  max-width: 760px !important;
  margin: 0 !important;
  text-align: left;
}
/* 8. Responsive rules remain balanced and readable. */
@media (max-width: 900px) {
	body:not(.home) :is(.dw-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services, .dw-contact-hero, .dw-article-header) {
    min-height: 520px !important;
  }
	.dw-cornerstone-guides .dw-cards, .dw-home-latest-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
	.dw-cornerstone-guides .dw-guide-card, .dw-home-latest-cards .dw-guide-card, .dw-cornerstone-guides .dw-guide-card:nth-child(4), .dw-cornerstone-guides .dw-guide-card:nth-child(5) {
    grid-column: auto !important;
  }
	.dw-cornerstone-guides .dw-guide-card:nth-child(5) {
    grid-column: 1 / -1 !important;
    width: calc(50% - 14px) !important;
    justify-self: center !important;
  }
}
@media (max-width: 640px) {
	body:not(.home) :is(.dw-pagehead, .dw-blog-hero, .dw-social-pagehead, .dw-approved-services, .dw-contact-hero, .dw-article-header) {
    min-height: 440px !important;
  }
	:is(.dw-pagehead, .dw-section, .dw-section-inner, .dw-card, .dw-approved-services, .dw-social-journey, .dw-article-content, .dw-article-endcap) :is(p, li):not(.dw-eyebrow):not(.dw-kicker):not(.dw-step-label) {
    font-size: 17px;
  }
	.dw-cornerstone-guides .dw-cards, .dw-home-latest-cards {
    grid-template-columns: 1fr !important;
  }
	.dw-cornerstone-guides .dw-guide-card, .dw-home-latest-cards .dw-guide-card, .dw-cornerstone-guides .dw-guide-card:nth-child(4), .dw-cornerstone-guides .dw-guide-card:nth-child(5) {
    grid-column: auto !important;
    width: 100% !important;
  }
	.dw-social-journey :is(.dw-social-journey-head, .dw-sec-head) h2 {
    font-size: clamp(38px, 11vw, 48px);
  }
}
/* Dam Writers consolidated theme correction V5.3.1
 * Resolve remaining high-specificity conflicts found during live verification.
 */
/* Article header keeps its editorial structure while its text region follows the shared hero height. */
body.page-template-page-canvas .dw-cornerstone-article .dw-article-header {
  min-height: 0 !important;
  display: block !important;
}
body.page-template-page-canvas .dw-cornerstone-article .dw-article-header-inner {
  min-height: 605px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
/* The article image width now exactly equals the 760px reading measure. */
body.page-template-page-canvas .dw-cornerstone-article .dw-article-feature, body.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual {
  width: min(760px, calc(100% - 40px)) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}
/* Reliable centered five-card layout without implicit grid tracks. */
body.page-id-20809 .dw-cornerstone-guides .dw-cards, body.page-id-20934 .dw-cornerstone-guides .dw-cards, .home .dw-home-latest-cards {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 28px !important;
}
body.page-id-20809 .dw-cornerstone-guides .dw-guide-card, body.page-id-20934 .dw-cornerstone-guides .dw-guide-card, .home .dw-home-latest-cards .dw-guide-card {
  grid-column: auto !important;
  flex: 0 1 calc((100% - 56px) / 3) !important;
  width: calc((100% - 56px) / 3) !important;
  max-width: calc((100% - 56px) / 3) !important;
  min-width: 0 !important;
  height: auto !important;
}
/* Shared service-card bottom alignment. */
.home .dw-cards > .dw-card:not(.dw-guide-card) > a:last-child {
  margin-top: auto !important;
}
/* Social journey heading uses the same width as its connected vertical path. */
body.page-id-20884 .dw-social-journey .dw-sec-head {
  width: min(860px, calc(100% - 40px)) !important;
  max-width: 860px !important;
  margin-inline: auto !important;
  display: block !important;
  text-align: left;
}
body.page-id-20884 .dw-social-journey .dw-sec-head h2 {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 0 22px !important;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.04 !important;
  text-align: left;
}
body.page-id-20884 .dw-social-journey .dw-sec-head > p:not(.dw-eyebrow) {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  text-align: left;
}
@media (max-width: 900px) {
	body.page-id-20809 .dw-cornerstone-guides .dw-guide-card, body.page-id-20934 .dw-cornerstone-guides .dw-guide-card, .home .dw-home-latest-cards .dw-guide-card {
    flex-basis: calc((100% - 28px) / 2) !important;
    width: calc((100% - 28px) / 2) !important;
    max-width: calc((100% - 28px) / 2) !important;
  }
	body.page-template-page-canvas .dw-cornerstone-article .dw-article-header-inner {
    min-height: 520px !important;
  }
}
@media (max-width: 640px) {
	body.page-id-20809 .dw-cornerstone-guides .dw-guide-card, body.page-id-20934 .dw-cornerstone-guides .dw-guide-card, .home .dw-home-latest-cards .dw-guide-card {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
	body.page-template-page-canvas .dw-cornerstone-article .dw-article-header-inner {
    min-height: 440px !important;
  }
}
/* Dam Writers consolidated theme correction V5.3.2
 * Final box-model corrections verified from live measurements.
 */
body.page-template-page-canvas .dw-cornerstone-article .dw-article-inline-visual {
  width: 100% !important;
  max-width: 760px !important;
}
body.page-id-20809 .dw-cornerstone-guides .dw-guide-card, body.page-id-20934 .dw-cornerstone-guides .dw-guide-card, .home .dw-home-latest-cards .dw-guide-card {
  box-sizing: border-box !important;
}
/* Dam Writers typography and image correction V5.4
 * Restores the normal WordPress paragraph scale, corrects service image
 * proportions and stacks FAQ introductions below their headings.
 */
/* Use the normal WordPress reading scale throughout page content. */
.entry-content p:not(.dw-eyebrow):not(.dw-kicker), .entry-content li {
  font-size: 16px;
  line-height: 1.7 !important;
}
/* Keep article media and calls to action on the same editorial measure. */
/* dwv4 note: 3.3.8 theme.css is truncated ("margi[Truncated]") and leaves this rule open; on the live
   site page-optimize concatenates editorial.css after it, so everything below is parsed as nested
   rules of this selector (mostly inert). Kept verbatim and unclosed-equivalent to match live rendering. */
.dw-cornerstone-article :is(
  .dw-article-content,
  .dw-article-feature,
  .dw-article-inline-image,
  .dw-article-endcap
) {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margi[Truncated]

/* Keep the approved article CTA heading readable on canvas-template Posts. */
body.post-template-page-canvas .dw-cornerstone-article .dw-article-endcap h2 {
  color: #000000 !important;
}

/*
 * Dam Writers native-block foundation.
 *
 * Every selector in this file supports ordinary Gutenberg blocks. The
 * approved .dw-* page patterns remain available, but are never required for
 * basic text, images, lists, quotes, media, tables or calls to action.
 * The same file loads on the public site and inside the block editor.
 */

:where(.wp-site-blocks, .editor-styles-wrapper) {
  --dw-reading-width: 760px;
  --dw-default-gap: clamp(1.25rem, 2vw, 1.75rem);
  --dw-default-section-space: clamp(3.5rem, 7vw, 6.5rem);
}

/* A newly inserted root block receives a predictable readable width. Wide
 * and full blocks remain controlled by WordPress's standard alignment tools. */
.wp-site-blocks .dw-main .wp-block-post-content > :not(.alignfull):not(.alignwide),
.editor-styles-wrapper .is-root-container > :not(.alignfull):not(.alignwide) {
  margin-inline: auto;
  max-width: var(--dw-reading-width);
  width: min(calc(100% - 32px), var(--dw-reading-width));
}

.wp-site-blocks .dw-main .wp-block-post-content > .alignwide,
.editor-styles-wrapper .is-root-container > .alignwide {
  margin-inline: auto;
  max-width: 1100px;
  width: min(calc(100% - 32px), 1100px);
}

.wp-site-blocks .dw-main .wp-block-post-content > :first-child:not(.alignfull),
.editor-styles-wrapper .is-root-container > :first-child:not(.alignfull) {
  margin-block-start: var(--dw-default-section-space);
}

.wp-site-blocks .dw-main .wp-block-post-content > :last-child:not(.alignfull),
.editor-styles-wrapper .is-root-container > :last-child:not(.alignfull) {
  margin-block-end: var(--dw-default-section-space);
}

/* Plain editorial flow. */
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) p:not([class*="dw-"]) {
  color: #515967;
  font-size: 1rem;
  line-height: 1.72;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6):not([class*="dw-"]) {
  color: #161e29;
  text-wrap: balance;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) h1:not([class*="dw-"]) {
  font-size: clamp(2.35rem, 1.75rem + 2.2vw, 4rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) h2:not([class*="dw-"]) {
  font-size: clamp(1.85rem, 1.5rem + 1.2vw, 2.75rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) h3:not([class*="dw-"]) {
  font-size: clamp(1.3rem, 1.18rem + 0.45vw, 1.7rem);
  letter-spacing: -0.025em;
  line-height: 1.25;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(h2, h3, h4, h5, h6):not([class*="dw-"]) {
  margin-block-start: clamp(2rem, 5vw, 3.5rem);
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(ul, ol):not([class*="dw-"]) {
  color: #515967;
  font-size: 1rem;
  line-height: 1.7;
  padding-inline-start: 1.4rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(ul, ol):not([class*="dw-"]) li + li {
  margin-block-start: 0.55rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(figcaption, .wp-element-caption) {
  color: #6b7280;
  font-size: 0.82rem;
  line-height: 1.5;
  margin-block-start: 0.65rem;
  text-align: start;
}

/* Media looks complete without requiring a custom class. */
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-video, .wp-block-embed) {
  margin-block: clamp(1.75rem, 4vw, 3rem);
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-image img,
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-video video,
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-embed__wrapper {
  border-radius: 12px;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-video video {
  background: #161e29;
  display: block;
  height: auto;
  width: 100%;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-embed__wrapper {
  overflow: clip;
}

/* Quotes, tables and code are useful immediately after insertion. */
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-quote:not([class*="is-style-damwriters"]) {
  border-inline-start: 4px solid #d02878;
  margin-block: clamp(2rem, 5vw, 3.5rem);
  padding: 0.5rem 0 0.5rem 1.5rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-quote:not([class*="is-style-damwriters"]) p {
  color: #161e29;
  font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.4rem);
  font-weight: 600;
  line-height: 1.55;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-quote cite {
  color: #6b7280;
  font-size: 0.86rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-pullquote {
  border-block: 2px solid #d02878;
  margin-block: clamp(2.5rem, 6vw, 4.5rem);
  padding-block: clamp(2rem, 5vw, 3rem);
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-code, .wp-block-preformatted) {
  background: #f6f7f9;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  color: #161e29;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.9rem;
  overflow-x: auto;
  padding: 1.25rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-table {
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  margin-block: 2rem;
  overflow-x: auto;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-table table {
  border-collapse: collapse;
  min-width: 560px;
  width: 100%;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-table :is(th, td) {
  border-color: #e4e7ec;
  padding: 0.85rem 1rem;
  text-align: start;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-table th {
  background: #f6f7f9;
  color: #161e29;
  font-weight: 700;
}

/* Native interactive and downloadable blocks. */
:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-details:not(.dw-faq-item) {
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  padding: 0.25rem 1rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-details:not(.dw-faq-item) summary {
  color: #161e29;
  cursor: pointer;
  font-weight: 700;
  min-height: 44px;
  padding-block: 0.8rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-details:not(.dw-faq-item) > :not(summary) {
  padding-bottom: 0.9rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-file {
  align-items: center;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 1rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-file__button {
  background: #d02878;
  border-radius: 9px;
  color: #fff;
  font-weight: 700;
  padding: 0.65rem 1rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-separator {
  border: 0;
  border-top: 1px solid #e4e7ec;
  margin-block: clamp(2.5rem, 6vw, 4.5rem);
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-buttons {
  gap: 0.75rem;
  margin-block: 1.5rem;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-button__link {
  min-height: 46px;
}

:where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-columns, .wp-block-media-text) {
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

/* Optional block styles available from Gutenberg's Styles panel. */
:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-damwriters-lede {
  color: #515967;
  font-size: clamp(1.1rem, 1.02rem + 0.4vw, 1.35rem);
  line-height: 1.7;
  max-width: 62ch;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-damwriters-note {
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.6;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-damwriters-eyebrow {
  background: #fce9f1;
  border-radius: 999px;
  color: #a81e5d;
  display: table;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.045em;
  padding: 0.4rem 0.75rem;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .is-style-damwriters-display {
  font-size: clamp(2.5rem, 1.8rem + 2.5vw, 4.75rem);
  letter-spacing: -0.045em;
  line-height: 1.04;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-heading.is-style-damwriters-section {
  font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.4rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-group.is-style-damwriters-section,
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-group.is-style-damwriters-surface {
  margin-block: 0;
  padding-block: var(--dw-default-section-space);
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-group.is-style-damwriters-surface {
  background: #f6f7f9;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-group.is-style-damwriters-card {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(22, 30, 41, 0.06);
  padding: clamp(1.35rem, 3vw, 2rem);
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-columns.is-style-damwriters-balanced > .wp-block-column {
  align-self: stretch;
}

:where(.wp-site-blocks, .editor-styles-wrapper) :is(.wp-block-video, .wp-block-embed, .wp-block-media-text).is-style-damwriters-framed {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(22, 30, 41, 0.08);
  overflow: hidden;
  padding: 0.75rem;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-cover.is-style-damwriters-soft {
  border-radius: 18px;
  min-height: 420px;
  overflow: hidden;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-separator.is-style-damwriters-accent {
  border-top: 3px solid #d02878;
  max-width: 80px;
}

:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-file.is-style-damwriters-card {
  box-shadow: 0 10px 30px rgba(22, 30, 41, 0.06);
}

/* The editor should visibly resemble the public page, including empty blocks. */
.editor-styles-wrapper .is-root-container > .wp-block-paragraph:empty,
.editor-styles-wrapper .is-root-container > p:empty {
  min-height: 1.7em;
}

@media (max-width: 781px) {
  .wp-site-blocks .dw-main .wp-block-post-content > :not(.alignfull),
  .editor-styles-wrapper .is-root-container > :not(.alignfull) {
    width: min(calc(100% - 28px), var(--dw-reading-width));
  }

  :where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-media-text {
    grid-template-columns: 100%;
  }

  :where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-media-text .wp-block-media-text__media,
  :where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-media-text .wp-block-media-text__content {
    grid-column: 1;
  }

  :where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-media-text .wp-block-media-text__content {
    grid-row: 2;
    padding: 1.5rem 0 0;
  }
}

@media (max-width: 480px) {
  :where(.wp-site-blocks .wp-block-post-content, .editor-styles-wrapper) .wp-block-file {
    align-items: stretch;
    flex-direction: column;
  }
}


}
