/* RDM · System 1.0. Loaded after the original theme and brand tokens. */
:root {
  --rdm-color-primary-hover: #06666A;
  --rdm-color-text-muted: #596C71;
  --rdm-color-heading: var(--rdm-color-ink);
  --rdm-color-border: var(--rdm-color-line);
  --rdm-color-surface-alt: #EDF5F3;
  --rdm-color-link-hover: var(--rdm-color-primary-hover);
  --rdm-color-header-bg: var(--rdm-color-white);
  --rdm-color-header-text: var(--rdm-color-ink);
  --rdm-primary-contrast: #FFFFFF;
  --rdm-panel-color: var(--rdm-color-ink);
  --rdm-nav-color: var(--rdm-color-ink);
  --rdm-color-info: #175A91;
  --rdm-color-success: #176B4B;
  --rdm-color-warning: #815510;
  --rdm-color-error: #A52D35;
  --rdm-footer-bg: var(--rdm-color-ink);
  --rdm-footer-text: #D6E3E0;
  --rdm-footer-link: #FFFFFF;
  --rdm-layout-content: 1200px;
  --rdm-layout-wide: 1440px;
  --rdm-layout-reading: 720px;
  --rdm-layout-gutter: clamp(20px, 4vw, 48px);
  --rdm-space-20: 80px;
  --rdm-space-24: 96px;
  --rdm-space-32: 128px;
  --rdm-section-space: clamp(56px, 7vw, 104px);
  --rdm-radius-sm: 6px;
  --rdm-radius-md: 12px;
  --rdm-radius-lg: 20px;
  --rdm-shadow-sm: 0 2px 6px rgb(21 44 50 / 4%);
  --rdm-shadow-md: 0 12px 32px rgb(21 44 50 / 7%);
  --rdm-shadow-lg: 0 20px 56px rgb(21 44 50 / 10%);
  --rdm-focus-ring-color: var(--rdm-color-primary);
  --rdm-focus-ring-width: 3px;
  --rdm-focus-ring-offset: 4px;
  --rdm-duration-fast: 160ms;
  --rdm-duration-normal: 220ms;
  --rdm-font-size-display: clamp(2.5rem, 5.2vw, 4.75rem);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 112px; }
body { font-size: 1rem; -webkit-font-smoothing: antialiased; }
::selection { background: #BCEFE0; color: var(--rdm-color-ink); }
img, video { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--rdm-font-family-heading); font-weight: 600; letter-spacing: -.035em; line-height: 1.15; color: var(--rdm-color-heading); text-wrap: balance; }
h1 { font-size: var(--rdm-font-size-display); }
h2 { font-size: clamp(1.875rem, 3.1vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); letter-spacing: -.025em; }
h4 { font-size: 1.125rem; }
p { line-height: 1.65; }
:where(p, li, h1, h2, h3, h4, a, code) { overflow-wrap: anywhere; }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--rdm-focus-ring-color); outline-offset: 4px;
}
:where(.entry-content, .rdm-page__content) a:not(.rdm-button) { text-underline-offset: .2em; }
.container, .rdm-container { width: calc(100% - 2 * var(--rdm-layout-gutter)); max-width: var(--rdm-layout-content); margin-inline: auto; padding-inline: 0; }
.rdm-section { padding-block: var(--rdm-section-space); }
.rdm-reading { max-width: var(--rdm-layout-reading); }
.rdm-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: .75rem; line-height: 1.5; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--rdm-color-primary); }
.rdm-eyebrow::before { content: ''; width: 24px; height: 2px; background: currentColor; }
.rdm-lead { font-size: clamp(1.0625rem, 1.6vw, 1.25rem); color: var(--rdm-color-text-muted); max-width: 58ch; }
.rdm-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; overflow: visible; }
.rdm-icon-box { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid #D4E6E1; border-radius: 14px; background: #EDF5F3; color: var(--rdm-color-primary); }
.rdm-button, .wp-element-button, .wp-block-button__link, button[type='submit'], input[type='submit'] {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 12px 22px; border: 1px solid transparent; border-radius: var(--rdm-radius-md);
  font: 600 .9375rem/1.4 var(--rdm-font-family-base); text-align: center; text-decoration: none;
  background: var(--rdm-color-primary); color: #FFFFFF; box-shadow: none; cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.rdm-button:hover, .wp-element-button:hover, .wp-block-button__link:hover, button[type='submit']:hover, input[type='submit']:hover { background: var(--rdm-color-primary-hover); color: #FFFFFF; transform: none; text-decoration: none; }
.rdm-button:active { background: #05565A; transform: none; }
.rdm-button--secondary { background: var(--rdm-color-ink); color: #FFFFFF; }
.rdm-button--secondary:hover { background: #27464D; }
.rdm-button--outline { border-color: var(--rdm-color-primary); color: var(--rdm-color-primary); background: transparent; }
.rdm-button--outline:hover { background: #E8F3F1; color: var(--rdm-color-primary-hover); border-color: currentColor; }
.rdm-button--ghost { color: var(--rdm-color-primary); background: transparent; }
.rdm-button--ghost:hover { background: #E8F3F1; color: var(--rdm-color-primary-hover); }
.rdm-button--small { min-height: 44px; padding: 10px 16px; font-size: .875rem; }
.rdm-button:disabled, .rdm-button:disabled:hover { background: #E2EAE8; color: #596C71; border-color: #CDD9D6; opacity: 1; cursor: not-allowed; }
.rdm-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.rdm-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; color: var(--rdm-color-primary); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.rdm-text-link:hover { color: var(--rdm-color-primary-hover); }
.rdm-card, .rdm-service-card { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--rdm-color-border); border-radius: var(--rdm-radius-lg); background: #FFFFFF; box-shadow: var(--rdm-shadow-sm); }
.rdm-service-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.rdm-service-card h3 { margin: 28px 0 12px; }
.rdm-service-card p { margin: 0 0 20px; color: var(--rdm-color-text-muted); }
.rdm-service-card .rdm-text-link { margin-top: auto; }
.rdm-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rdm-surface--dark { background: var(--rdm-color-ink); color: #FFFFFF; --rdm-color-heading: #FFFFFF; --rdm-color-text-muted: #C2D4D0; --rdm-focus-ring-color: #1ACD98; }
.rdm-surface--dark .rdm-icon-box { background: #234048; border-color: #3A5C62; color: #70DFC1; }
.rdm-surface--dark .rdm-text-link, .rdm-surface--dark .rdm-eyebrow { color: #70DFC1; }
.rdm-surface--dark .rdm-button--primary { background: #1ACD98; color: #152C32; }
.rdm-surface--dark .rdm-button--primary:hover { background: #67DFBD; }
.rdm-surface--dark .rdm-button--outline { color: #FFFFFF; border-color: #9DBAB3; }
.rdm-surface--dark .rdm-button--outline:hover { background: #27464D; }
.rdm-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #CBE1DA; border-radius: 6px; font-size: .75rem; font-weight: 600; line-height: 1.4; color: #176B4B; background: #EFF8F2; }
.rdm-field { display: grid; gap: 8px; }
.rdm-field label { font-weight: 600; font-size: .875rem; }
.rdm-field input, .rdm-field textarea, .rdm-field select { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #7F9397; border-radius: 8px; color: #152C32; background: #FFFFFF; }
.rdm-field :is(input, textarea)::placeholder { color: #596C71; opacity: 1; }
.rdm-field [aria-invalid='true'] { border-color: #A52D35; }
.rdm-field small { color: #596C71; font-size: .8125rem; }
.rdm-field .rdm-field-error { color: #A52D35; }
.rdm-notice { border: 1px solid #B6D8C8; border-left: 3px solid #176B4B; background: #EFF8F2; padding: 16px 20px; border-radius: 8px; color: #176B4B; }
/* The native menu retains its keyboard, focus trap and Escape handling. */
.site-header { border-bottom: 1px solid var(--rdm-color-line); box-shadow: none; background: #FFFFFF; }
.site-header__inner { min-height: 88px; gap: 32px; }
.site-header .site-logo img.logo-default { width: 208px; height: auto; max-height: none; }
.site-header .main-navigation a:not(.rdm-header-cta) { display: inline-flex; min-height: 44px; align-items: center; font-size: .875rem; font-weight: 500; color: var(--rdm-color-ink); text-shadow: none; }
.site-header .main-navigation a:not(.rdm-header-cta):hover { color: var(--rdm-color-primary); }
.site-header .main-navigation a[aria-current='page'] { text-decoration: underline; text-underline-offset: 8px; text-decoration-color: var(--rdm-color-primary); }
.site-header .menu-toggle { width: 44px; height: 44px; border: 1px solid #CFDCD8; border-radius: 10px; color: #152C32; background: #FFFFFF; }
.site-header .rdm-header-cta.rdm-button--primary { color: #FFFFFF; background: var(--rdm-color-primary); }
.site-header .rdm-header-cta.rdm-button--primary:hover { background: var(--rdm-color-primary-hover); }
.rdm-mobile-navigation { --rdm-panel-color: #152C32; }
.rdm-mobile-navigation a:not(.rdm-header-cta) { min-height: 48px; }
.rdm-mobile-navigation .rdm-menu-close { color: #152C32; }
.rdm-mobile-navigation .rdm-header-cta { color: #FFFFFF; }
.skip-link:focus { background: #FFFFFF; color: #152C32; padding: 16px 24px; }
.site-footer { --rdm-focus-ring-color: #1ACD98; background: var(--rdm-color-ink); color: #D6E3E0; border-top: 0; }
.rdm-footer-main { padding-block: 64px 40px; }
.rdm-footer-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 72px; }
.rdm-footer-branding__logo { width: 208px; height: auto; max-height: none; }
.rdm-footer-branding__description { max-width: 34ch; color: #C2D4D0; font-size: .9375rem; line-height: 1.75; }
.rdm-footer-widgets { gap: 40px; }
.rdm-footer-widget .widget-title { color: #FFFFFF; font-size: .875rem; letter-spacing: .02em; }
.rdm-footer-widget ul { padding: 0; margin: 0; list-style: none; }
.rdm-footer-widget li { margin-block: 10px; font-size: .875rem; color: #C2D4D0; }
.rdm-footer-navigation { border-top: 1px solid #365057; padding-top: 24px; margin-top: 40px; }
.rdm-footer-contact { margin-top:24px; font-size:.8125rem; }
.rdm-footer-contact a { display:flex; width:fit-content; align-items:center; gap:10px; min-height:44px; color:#FFFFFF; }
.rdm-footer-contact p { margin:4px 0 0; max-width:34ch; color:#C2D4D0; line-height:1.75; }
.rdm-footer-widget li a { display:inline-flex; min-height:44px; align-items:center; color:#FFFFFF; }
.rdm-footer-menu a { display: inline-flex; align-items: center; min-height: 44px; color: #FFFFFF; }
.site-footer a:hover { color: #70DFC1; }
.rdm-footer-bottom { border-color: #365057; padding-block: 20px; }
.rdm-footer-copyright, .rdm-back-to-top { font-size: .8125rem; color: #C2D4D0; }
.rdm-site-credit { background: #152C32; border-color: #365057; color: #C2D4D0; }
.rdm-site-credit .rdm-site-credit__name { font-family: var(--rdm-font-family-base); font-size: inherit; font-weight: 600; color: #FFFFFF; }
@media (max-width: 1100px) {
  .site-header__inner { min-height: 76px; gap: 20px; }
  .site-header .site-logo img.logo-default { width: 184px; }
  .no-js .site-header__inner { flex-wrap: wrap; }
  .rdm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rdm-footer-layout { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 600px) {
  .rdm-card-grid { grid-template-columns: minmax(0, 1fr); }
  .rdm-footer-main { padding-top: 48px; }
  .rdm-footer-widgets { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.rdm-site-credit__label, .rdm-site-credit__studio { font-size: .75rem; }
