/* Three-tone industrial palette: steel-blue landmarks, blue-gray canvas,
   and white content cards. Shared by the frontend and block editor. */
:root {
    --canvas: #e3eaf0;
    --paper: #d3dfe9;
    --surface-tint: #c1d0df;
    --ink: #233749;
    --muted: #3f5367;
    --line: #b7c8d7;
    --cyan: #245b76;
    --product-stage: #a2b5c5;
    --product-stage-gradient: linear-gradient(155deg, #b0c0ce 0%, #a2b5c5 55%, #94aabd 100%);
    --product-stage-edge: #8fa5b7;
    --action: var(--wp--preset--color--action, #29485f);
    --action-hover: #1d364a;
}
body { background: var(--canvas); color: var(--ink); }
.rw-kicker { color: var(--muted); }
.rw-preview-banner { background: #dbe4ec; color: var(--muted); }
.rw-header { background: linear-gradient(180deg, #fff 0%, #f6f8fa 48%, #e2eaf1 100%); border-color: #c2d0dd; }
.rw-header .rw-brand-name p { color: var(--muted); }
.rw-header .wp-block-navigation__responsive-container.is-menu-open {
    background: linear-gradient(180deg, #fff, var(--paper)) !important;
}

/* Remove accidental inter-section gutters; let the tonal surfaces do the work. */
.home .wp-block-post-content > :is(.rw-hero, .rw-facts, .rw-section, .rw-bottom-cta) {
    margin-block-start: 0;
    margin-block-end: 0;
}
.rw-hero {
    background: radial-gradient(ellipse at 82% 36%, #b9ccdd 0%, transparent 62%),
        linear-gradient(180deg, #d2dfe9, #c5d4e1 58%, #d3dfe8);
    color: var(--ink);
}
.rw-hero h1 { color: var(--ink); }
.rw-hero h1 strong, .rw-hero .rw-kicker { color: var(--cyan); }
.rw-hero p, .rw-hero .rw-hero-annotation { color: var(--muted); }
.rw-hero-visual::before { display: none; }
.rw-hero-visual figure {
    border: 1px solid var(--line);
    box-shadow: 0 18px 44px rgb(35 55 73 / 13%);
}
.rw-hero-visual figcaption { background: #e3ebf2; color: var(--muted); border-top: 1px solid #c7d4df; }
.rw-outline .wp-block-button__link { color: var(--ink); border-color: #657f95; background: rgb(255 255 255 / 32%); }
.rw-outline .wp-block-button__link:hover { background: #edf2f6; }

.rw-facts { background: #bdcddb; color: var(--ink); border-block: 1px solid #aabfd1; }
.rw-facts .wp-block-column { border-color: #90a9bd; }
.rw-facts strong { color: var(--ink); font-size: clamp(18px, 1.9vw, 26px); letter-spacing: 0; }
.rw-facts p { color: var(--muted); }
.rw-section { background: var(--canvas); }
.rw-paper { background: linear-gradient(180deg, #dbe5ee, var(--paper) 55%, #dce6ee); }
.rw-dark {
    background: linear-gradient(135deg, #cddbe7, #bdcede 65%, #c7d6e3);
    color: var(--ink);
    border-block: 1px solid #afc2d2;
}
.rw-dark h1, .rw-dark h2, .rw-dark h3, .rw-dark a, .rw-service-list h3 { color: var(--ink); }
.rw-dark .rw-kicker { color: var(--cyan); }
.rw-dark p, .rw-service-list p { color: var(--muted); }
.rw-service-list > div { border-color: #9eb4c7; }
.rw-bottom-cta { background: linear-gradient(135deg, #cbd9e5, #c0d0de); border-top: 1px solid #afc2d2; }
.rw-bottom-cta h2 { color: var(--ink); }

/* Inner-page landmarks are distinct, but stay in the same blue-gray family. */
.rw-page-title { background: linear-gradient(120deg, #c1d0df, #d3dfe9); color: var(--ink); border-bottom: 1px solid #b3c6d6; }
.rw-page-title h1 { color: var(--ink); }
.rw-page-main { background: var(--canvas); }
.rw-card, .rw-platform-card { background: #fff; border-color: var(--line); box-shadow: 0 7px 22px rgb(35 55 73 / 7%); }
.rw-card-image { background: #fff; }
.rw-card-placeholder { background: linear-gradient(135deg, #d2e0eb, #e4edf4); color: var(--muted); }
.rw-industry-tile { background: #f7f9fb; border: 1px solid #c1cfdb; border-top: 2px solid #7597b2; }
.rw-filters, .rw-contact-info, .rw-empty { background: var(--paper); border: 1px solid var(--line); }
.rw-filters input, .rw-filters select, .rw-inquiry input:not([type=checkbox]), .rw-inquiry textarea { border-color: #8595a6; }
.rw-product-notice { background: #d9e4ed; border-left-color: #7f9bb2; color: var(--muted); }
.rw-single .wp-block-post-featured-image img { background: #fff; border-color: var(--line); }

/* Product cutouts keep their original alpha and colors: no tinting or blend
   modes. Scope catalog tiles by product permalink so industry photos stay as-is. */
.rw-hero-visual figure,
.rw-platform-card figure,
.rw-card-image[href*="/products/"],
:is(.single-rw_product, .post-type-rw_product) .rw-single .wp-block-post-featured-image img {
    background-color: var(--product-stage);
    background-image: var(--product-stage-gradient);
    border-color: var(--product-stage-edge);
}
.rw-platform-card figure,
.rw-card-image[href*="/products/"] {
    border-bottom: 1px solid var(--product-stage-edge);
}
.rw-hero-visual figcaption {
    background: #d1dce5;
    border-top-color: var(--product-stage-edge);
}
/* This original portrait PNG has large transparent margins above its artwork.
   Reframe the display only; retain the untouched source in the media library. */
.rw-hero-visual .rw-hero-uv-art img {
    height: auto;
    aspect-ratio: 1.62;
    object-fit: cover;
    object-position: 50% 72%;
}

.rw-specs th { background: #d0dee9; }
.rw-specs td { background: #fff; }
.rw-detail-cta { background: linear-gradient(135deg, #c2d3e1, #d2dfe9); border: 1px solid #a8bfd1; color: var(--ink); }
.rw-detail-cta h2 { color: var(--ink); }
.rw-detail-cta p { color: var(--muted); }
.rw-preview-note { background: #faf5ed; color: #714918; border: 1px solid #e8dece; }

/* The footer is the deepest neutral surface, not a near-black interruption. */
.rw-footer { background: linear-gradient(180deg, #bdcdda, #b3c3d2); color: #344a60; border-top: 1px solid #9eb5c8; }
.rw-footer h3, .rw-footer h4, .rw-footer a { color: var(--ink); }
.rw-footer a:hover, .rw-footer a:focus-visible { color: #85310f; }
.rw-footer .rw-footer-bottom { border-color: #91aabd; color: #344a60; }

/* Neutral blue primary actions, shared by native blocks and custom forms.
   Scope native controls to content so navigation and editor chrome stay intact. */
.wp-block-button .wp-block-button__link,
.wp-element-button,
.rw-button,
.rw-detail-cta .rw-button,
:where(main, .editor-styles-wrapper) :is(button, input[type="submit"], input[type="reset"], input[type="button"]) {
    background: var(--action);
    color: #fff;
    border-color: var(--action);
    transition: background-color .15s ease, border-color .15s ease;
}
:is(.wp-block-button .wp-block-button__link, .wp-element-button, .rw-button, .rw-detail-cta .rw-button):is(:hover, :focus-visible),
:where(main, .editor-styles-wrapper) :is(button, input[type="submit"], input[type="reset"], input[type="button"]):is(:hover, :focus-visible) {
    background: var(--action-hover);
    border-color: var(--action-hover);
    color: #fff;
}
:is(.wp-block-button .wp-block-button__link, .wp-element-button, .rw-button):focus-visible,
:where(main, .editor-styles-wrapper) :is(button, input[type="submit"], input[type="reset"], input[type="button"]):focus-visible {
    outline: 3px solid #2576ca;
    outline-offset: 4px;
}
.wp-block-button:is(.rw-outline, .is-style-outline) .wp-block-button__link {
    background: rgb(255 255 255 / 32%);
    border-color: #657f95;
    color: var(--ink);
}
.wp-block-button:is(.rw-outline, .is-style-outline) .wp-block-button__link:is(:hover, :focus-visible) {
    background: #edf2f6;
    border-color: var(--action);
    color: var(--ink);
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-button .wp-block-button__link, .wp-element-button, .rw-button,
    :where(main, .editor-styles-wrapper) :is(button, input[type="submit"], input[type="reset"], input[type="button"]) { transition: none; }
}
@media (max-width: 520px) {
    .rw-facts .wp-block-column { padding-left: 12px; }
    .rw-facts .wp-block-column:last-child strong { font-size: 16px; }
}

