/* ResinBau local redesign. Scoped to rb-body; legacy source files remain intact. */
.rb-body {
  --rb-navy:#143152; --rb-red:#e40022; --rb-ink:#1d3148;
  --rb-muted:#586b7f; --rb-line:#d8e0e8; --rb-paper:#f3f5f7;
  --rb-font:"DM Sans",Arial,sans-serif;
  margin:0!important; background:#fff!important; color:var(--rb-ink)!important;
  font-family:var(--rb-font)!important; font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.rb-body *, .rb-body *::before, .rb-body *::after { box-sizing:border-box; }
.rb-body [hidden] { display:none!important; }
.rb-body a { color:var(--rb-navy); text-decoration:none; text-underline-offset:4px; }
.rb-body a:hover { color:var(--rb-red); }
.rb-body :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid var(--rb-red)!important; outline-offset:4px;
}
.rb-body :is(button,input,select,textarea) { font-family:var(--rb-font); }
.rb-body button { cursor:pointer; }
.rb-body img { max-width:100%; height:auto; vertical-align:middle; }
.rb-body video { max-width:100%; }
.rb-body figure { margin:0; }
.rb-body :is(h1,h2,h3,h4) {
  font-family:var(--rb-font)!important; color:var(--rb-navy);
  font-weight:600; letter-spacing:-.035em; line-height:1.18; margin:0;
}
.rb-body h1 { font-size:clamp(36px,4.65vw,64px); }
.rb-body h2 { font-size:clamp(27px,2.8vw,38px); }
.rb-body h3 { font-size:23px; }
.rb-body p { margin:0 0 18px; }
.rb-body .rb-container { width:calc(100% - 80px); max-width:1280px; margin-inline:auto; }
.rb-body .rb-header {
  position:relative; z-index:40; background:#fff!important;
  border-bottom:1px solid var(--rb-line); color:var(--rb-navy)!important;
}
.rb-body .rb-header>.rb-container { display:flex; align-items:center; gap:30px; min-height:92px; }
.rb-body .rb-logo { flex:0 0 auto; display:flex; align-items:center; min-height:64px; }
.rb-body .rb-logo img { display:block; width:109px; max-height:66px; object-fit:contain; }
.rb-body .rb-nav { display:flex; align-items:center; justify-content:flex-end; gap:28px; margin-left:auto; }
.rb-body .rb-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:500; color:var(--rb-navy)!important; white-space:nowrap; }
.rb-body .rb-nav a:hover, .rb-body .rb-nav a[aria-current=page] { color:var(--rb-red)!important; }
.rb-body .rb-nav a[aria-current=page] { text-decoration:underline; text-decoration-thickness:2px; }
.rb-body .rb-header .rb-button { font-size:13px; min-height:44px; color:#fff!important; }
.rb-body .rb-menu-toggle { display:none; }
.rb-body .rb-button {
  display:inline-flex; align-items:center; justify-content:center; gap:16px;
  min-height:48px; padding:13px 21px; border:1px solid var(--rb-red);
  border-radius:2px; background:var(--rb-red); color:#fff;
  font-size:14px; font-weight:600; line-height:1.35; text-align:center;
}
.rb-body .rb-button:hover { background:#c4001d; border-color:#c4001d; color:#fff; }
.rb-body .rb-button.secondary { background:transparent; color:var(--rb-navy); border-color:#aab9c8; }
.rb-body .rb-button.secondary:hover { border-color:var(--rb-navy); background:#edf1f5; }
.rb-body .rb-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:28px; }
.rb-body .rb-actions>a:not(.rb-button) { font-size:14px; text-decoration:underline; min-height:44px; display:inline-flex; align-items:center; }
.rb-body .rb-eyebrow { display:block; color:var(--rb-red); font-size:11px; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.14em; margin-bottom:18px; }
.rb-body .rb-lead { color:var(--rb-muted); font-size:18px; line-height:1.65; max-width:660px; margin-top:24px; }
.rb-body .rb-hero { background:#fff; border-bottom:1px solid var(--rb-line); }
.rb-body .rb-hero>.rb-container { display:grid; grid-template-columns:1.04fr 1fr; align-items:center; gap:6%; padding-block:68px; }
.rb-body .rb-hero-copy { min-width:0; }
.rb-body .rb-hero-copy h1 { max-width:680px; }
.rb-body .rb-hero-copy .rb-lead { font-size:17px; max-width:550px; }
.rb-body .rb-hero-media { min-width:0; }
.rb-body .rb-hero-media img { display:block; width:100%; aspect-ratio:1.15; object-fit:cover; background:var(--rb-paper); }
.rb-body .rb-hero-media figcaption, .rb-body .rb-hero-media p { font-size:11px; line-height:1.5; color:var(--rb-muted); padding-top:11px; margin:0; }
.rb-body .rb-section { padding-block:64px; }
.rb-body .rb-section.soft { background:var(--rb-paper); }
.rb-body .rb-section.dark { background:var(--rb-navy); color:#fff; }
.rb-body .rb-section.dark :is(h1,h2,h3,h4) { color:#fff; }
.rb-body .rb-section.dark :is(p,.rb-lead) { color:#c8d6e4; }
.rb-body .rb-section.dark .rb-eyebrow { color:#f0b6be; }
.rb-body .rb-section.dark a:not(.rb-button) { color:#fff; }
.rb-body .rb-section.dark .rb-button.secondary { color:#fff; border-color:#8cabc7; }
.rb-body .rb-section.dark .rb-button.secondary:hover { background:#234567; }
.rb-body .rb-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.rb-body .rb-section-heading h2 { max-width:700px; }
.rb-body .rb-section-heading p { max-width:475px; margin:0; font-size:14px; color:var(--rb-muted); }
.rb-body .rb-section-heading>a { font-size:13px; font-weight:600; min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; text-decoration:underline; }
.rb-body .rb-grid { display:grid; gap:28px; }
.rb-body .rb-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rb-body .rb-grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rb-body .rb-grid.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rb-body .rb-family { min-width:0; padding-top:22px; border-top:2px solid var(--rb-navy); }
.rb-body .rb-family :is(.index,.rb-index) { font-size:11px; font-weight:700; color:var(--rb-red); display:block; margin-bottom:22px; }
.rb-body .rb-family h3 { font-size:23px; margin-bottom:14px; }
.rb-body .rb-family p { font-size:14px; color:var(--rb-muted); line-height:1.7; }
.rb-body .rb-family a { font-size:13px; font-weight:600; min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; }
.rb-body .rb-product-card { min-width:0; background:#fff; border:1px solid var(--rb-line); }
.rb-body .rb-product-card>a { display:block; height:100%; color:var(--rb-navy); }
.rb-body .rb-product-image { display:flex; align-items:center; justify-content:center; background:#f7f8fa; padding:22px; min-height:220px; border-bottom:1px solid var(--rb-line); }
.rb-body .rb-product-image img { display:block; width:100%; height:210px; object-fit:contain; }
.rb-body .rb-product-info { padding:22px; }
.rb-body .rb-product-info h3 { font-size:22px; margin-bottom:11px; }
.rb-body .rb-product-info p { font-size:13px; line-height:1.65; color:var(--rb-muted); margin-bottom:16px; }
.rb-body .rb-product-card:hover { border-color:#9fb1c3; }
.rb-body .rb-product-card:hover h3 { color:var(--rb-red); }
.rb-body .rb-tag { display:inline-block; color:var(--rb-navy); font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.04em; border-top:1px solid var(--rb-line); padding-top:10px; }
.rb-body .rb-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--rb-muted); font-size:12px; line-height:1.5; padding-block:22px; }
.rb-body .rb-breadcrumb a { color:var(--rb-muted); text-decoration:underline; }
.rb-body .rb-page-intro { padding-bottom:38px; border-bottom:1px solid var(--rb-line); }
.rb-body .rb-page-intro h1 { max-width:1060px; font-size:clamp(34px,4vw,56px); }
.rb-body .rb-page-intro .rb-lead { max-width:840px; font-size:17px; margin-bottom:0; }
.rb-body .rb-filterbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:32px; padding-bottom:22px; border-bottom:1px solid var(--rb-line); }
.rb-body .rb-filterbar button { min-height:44px; padding:10px 15px; border:1px solid #bbc8d5; border-radius:2px; background:#fff; font-size:12px; color:var(--rb-navy); }
.rb-body .rb-filterbar button:hover { border-color:var(--rb-red); }
.rb-body .rb-filterbar button.active, .rb-body .rb-filterbar button[aria-pressed=true] { background:var(--rb-navy); border-color:var(--rb-navy); color:#fff; }
.rb-body .rb-filterbar input { min-height:44px; margin-left:auto; min-width:200px; width:250px; max-width:100%; border:1px solid #bbc8d5; border-radius:2px; background:#fff; color:var(--rb-navy); padding:10px 13px; font-size:13px; }
.rb-body .rb-catalogue { padding-block:36px 64px; }
.rb-body .rb-catalogue>h2, .rb-body .rb-catalogue .rb-container>h2 { font-size:28px; margin:44px 0 24px; }
.rb-body .rb-product-layout { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); gap:7%; padding-block:44px 64px; align-items:start; }
.rb-body .rb-product-visual { background:var(--rb-paper); padding:35px; min-width:0; }
.rb-body .rb-product-visual img { display:block; width:100%; height:auto; max-height:510px; object-fit:contain; }
.rb-body .rb-product-content { min-width:0; }
.rb-body .rb-product-content>h1 { font-size:clamp(35px,4vw,54px); margin-bottom:18px; }
.rb-body .rb-prose { font-size:16px; line-height:1.8; color:var(--rb-ink); overflow-wrap:break-word; }
.rb-body .rb-prose h2 { font-size:29px; margin:38px 0 16px; }
.rb-body .rb-prose h3 { font-size:23px; margin:28px 0 12px; }
.rb-body .rb-prose :is(ul,ol) { margin:0 0 22px; padding-left:23px; }
.rb-body .rb-prose li { padding-left:4px; margin-bottom:8px; }
.rb-body .rb-prose a { text-decoration:underline; }
.rb-body .rb-prose table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; margin:25px 0; }
.rb-body .rb-prose :is(td,th) { text-align:left; padding:12px 14px; border-bottom:1px solid var(--rb-line); vertical-align:top; }
.rb-body .rb-prose th { background:var(--rb-paper); font-weight:600; }
.rb-body .rb-documents { border-top:1px solid var(--rb-line); margin-top:30px; }
.rb-body .rb-documents a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; border-bottom:1px solid var(--rb-line); font-size:14px; font-weight:600; padding:12px 0; }
.rb-body .rb-project-row { display:grid; grid-template-columns:.82fr 1.18fr; gap:6%; align-items:center; padding-block:40px; border-bottom:1px solid var(--rb-line); }
.rb-body .rb-project-row:first-child { padding-top:0; }
.rb-body .rb-project-copy { min-width:0; }
.rb-body .rb-project-copy h2 { font-size:clamp(26px,2.5vw,34px); margin-bottom:18px; }
.rb-body .rb-project-copy p { color:var(--rb-muted); font-size:15px; }
.rb-body .rb-project-media { min-width:0; }
.rb-body .rb-project-media :is(img,video) { display:block; width:100%; max-height:440px; object-fit:contain; background:var(--rb-paper); }
.rb-body .rb-project-media img { height:auto; }
.rb-body .rb-project-media figcaption { font-size:11px; color:var(--rb-muted); padding-top:9px; }
.rb-body .rb-directory { border-top:1px solid #b9c7d4; }
.rb-body .rb-directory>a { display:grid; grid-template-columns:160px minmax(200px,.8fr) minmax(0,1.2fr); gap:28px; align-items:start; padding:22px 0; border-bottom:1px solid var(--rb-line); min-height:72px; }
.rb-body .rb-directory>a>span { font-size:11px; line-height:1.6; color:var(--rb-muted); padding-top:3px; }
.rb-body .rb-directory>a>strong { font-size:19px; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
.rb-body .rb-directory>a>p { font-size:13px; line-height:1.65; color:var(--rb-muted); margin:0; }
.rb-body .rb-directory>a:hover>strong { color:var(--rb-red); }
.rb-body .rb-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:start; }
.rb-body .rb-contact-card { background:var(--rb-paper); padding:32px; border-top:3px solid var(--rb-navy); }
.rb-body .rb-contact-card h2 { font-size:28px; margin-bottom:22px; }
.rb-body .rb-contact-card :is(p,li) { font-size:15px; line-height:1.75; }
.rb-body .rb-contact-card a { text-decoration:underline; }
.rb-body .rb-contact-layout label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.rb-body .rb-contact-layout :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select) { width:100%; min-height:46px; background:#fff; border:1px solid #bbc8d5; border-radius:2px; color:var(--rb-navy); font:inherit; padding:11px 13px; }
.rb-body .rb-contact-layout textarea { min-height:150px; resize:vertical; }
.rb-body .rb-callout { border-left:3px solid var(--rb-red); background:var(--rb-paper); padding:22px 25px; margin-block:24px; font-size:14px; line-height:1.75; }
.rb-body .rb-callout p:last-child { margin-bottom:0; }
.rb-body .rb-footer { border-top:1px solid var(--rb-line); padding-block:42px 26px; background:var(--rb-paper); color:var(--rb-muted); font-size:12px; }
.rb-body .rb-footer h2, .rb-body .rb-footer h3 { font-size:15px; letter-spacing:0; margin-bottom:16px; }
.rb-body .rb-footer .rb-logo img { width:90px; }
.rb-body .rb-footer a { color:var(--rb-navy); min-height:32px; display:inline-flex; align-items:center; }
.rb-body .rb-footer p { font-size:12px; line-height:1.7; }
.rb-body .rb-footer ul { list-style:none; padding:0; margin:0; }
.rb-body .rb-footer .rb-grid { gap:32px; }
.rb-body .rb-footer .rb-container>p:last-child { border-top:1px solid var(--rb-line); margin-top:28px; padding-top:18px; margin-bottom:0; }
/* Retained WordPress / Elementor article content: neutral typography only. */
.rb-body .rb-legacy-content { max-width:100%; min-width:0; padding-block:38px; overflow-wrap:anywhere; }
.rb-body .rb-legacy-content :is(.elementor-container,.elementor-widget-wrap,.elementor-column,.elementor-widget-container) { max-width:100%!important; }
.rb-body .rb-legacy-content .elementor-widget-container { font-family:var(--rb-font)!important; }
.rb-body .rb-legacy-content :is(h1,h2,h3,h4) { font-family:var(--rb-font)!important; color:var(--rb-navy)!important; line-height:1.25!important; }
.rb-body .rb-legacy-content h1 { font-size:clamp(32px,3.5vw,48px)!important; }
.rb-body .rb-legacy-content h2 { font-size:clamp(25px,2.7vw,34px)!important; margin-block:26px 14px; }
.rb-body .rb-legacy-content h3 { font-size:22px!important; margin-block:22px 12px; }
.rb-body .rb-legacy-content :is(p,li) { font-family:var(--rb-font)!important; color:var(--rb-ink)!important; font-size:16px!important; line-height:1.8!important; }
.rb-body .rb-legacy-content img { height:auto!important; max-width:100%!important; }
.rb-body .rb-legacy-content iframe { max-width:100%; }
.rb-body .rb-legacy-content :is(table,pre) { max-width:100%; }
/* Preserve calculator structure and validation; override only presentation. */
.rb-body .rb-calc-container { max-width:900px; margin-inline:auto; padding:30px; background:var(--rb-paper); border-top:3px solid var(--rb-navy); }
.rb-body .rb-calc-container :is(form,.forminator-custom-form) { margin:0!important; }
.rb-body .rb-calc-container :is(label,.forminator-label) { font-family:var(--rb-font)!important; font-size:14px!important; color:var(--rb-navy)!important; font-weight:600!important; line-height:1.5!important; }
.rb-body .rb-calc-container :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=range]),textarea,select) { font-family:var(--rb-font)!important; background:#fff!important; color:var(--rb-navy)!important; border:1px solid #aebfce!important; border-radius:2px!important; min-height:46px; padding:10px 12px!important; max-width:100%; font-size:16px!important; }
.rb-body .rb-calc-container :is(.forminator-button-submit,button[type=submit],input[type=submit]) { background:var(--rb-red)!important; color:#fff!important; border:1px solid var(--rb-red)!important; border-radius:2px!important; min-height:46px; padding:12px 20px!important; font-family:var(--rb-font)!important; font-weight:600!important; font-size:14px!important; }
.rb-body .rb-calc-container .forminator-error-message { color:#b9001b!important; background:#fff0f2!important; font-size:12px!important; }
.rb-body .rb-calc-container :is(.forminator-row,.forminator-col) { min-width:0; }
@media(min-width:1101px) { .rb-body .rb-product-visual { position:sticky; top:26px; } }
@media(max-width:1100px) {
  .rb-body .rb-container { width:calc(100% - 56px); }
  .rb-body .rb-header>.rb-container { gap:20px; min-height:82px; }
  .rb-body .rb-nav { gap:19px; }
  .rb-body .rb-nav a { font-size:13px; }
  .rb-body .rb-hero>.rb-container { gap:5%; padding-block:50px; }
  .rb-body .rb-hero h1 { font-size:48px; }
  .rb-body .rb-grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rb-body .rb-section { padding-block:48px; }
  .rb-body .rb-directory>a { grid-template-columns:130px minmax(160px,.8fr) minmax(0,1.2fr); gap:18px; }
}
@media(max-width:900px) {
  .rb-body .rb-header>.rb-container { min-height:76px; flex-wrap:wrap; gap:0 16px; }
  .rb-body .rb-logo img { width:88px; max-height:55px; }
  .rb-body .rb-header>.rb-container>.rb-button { margin-left:auto; font-size:12px; min-height:42px; padding:10px 14px; }
  .rb-body .rb-menu-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; min-width:44px; min-height:44px; background:white; color:var(--rb-navy); border:1px solid #bbc8d5; border-radius:2px; font-size:13px; padding:9px 12px; }
  .rb-body .rb-menu-toggle button { font:inherit; color:inherit; background:transparent; border:0; min-height:44px; min-width:44px; padding:0; }
  .rb-body .rb-header .rb-nav { display:none; width:100%; order:5; flex:0 0 100%; margin:0; border-top:1px solid var(--rb-line); padding:12px 0 18px; }
  .rb-body .rb-header .rb-nav.is-open, .rb-body .rb-header.is-open .rb-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .rb-body .rb-nav a { min-height:48px; width:100%; font-size:15px; border-bottom:1px solid #edf1f5; }
  .rb-body .rb-nav .rb-button { margin-top:12px; padding-inline:16px; border-bottom:1px solid var(--rb-red); }
  .rb-body .rb-hero>.rb-container { grid-template-columns:1fr 1fr; gap:28px; }
  .rb-body .rb-hero h1 { font-size:41px; }
  .rb-body .rb-hero-copy .rb-lead { font-size:15px; }
  .rb-body .rb-grid.cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rb-body .rb-section-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .rb-body .rb-section-heading p { max-width:650px; }
  .rb-body .rb-project-row { gap:30px; }
  .rb-body .rb-directory>a { grid-template-columns:135px minmax(0,1fr); gap:7px 20px; }
  .rb-body .rb-directory>a>p { grid-column:2; }
  .rb-body .rb-contact-layout { gap:32px; }
  .rb-body .rb-product-layout { gap:35px; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); }
}
@media(max-width:680px) {
  .rb-body { font-size:15px; }
  .rb-body .rb-container { width:calc(100% - 36px); }
  .rb-body .rb-header>.rb-container { min-height:72px; }
  .rb-body .rb-header>.rb-container>.rb-button { display:none; }
  .rb-body .rb-hero>.rb-container { grid-template-columns:1fr; padding-block:34px; gap:30px; }
  .rb-body .rb-hero h1 { font-size:clamp(35px,9.3vw,43px); }
  .rb-body .rb-eyebrow { font-size:10px; margin-bottom:14px; }
  .rb-body .rb-lead, .rb-body .rb-page-intro .rb-lead { font-size:15px; margin-top:20px; }
  .rb-body .rb-hero-copy .rb-lead { font-size:15px; line-height:1.75; }
  .rb-body .rb-hero-media img { aspect-ratio:1.5; max-height:300px; }
  .rb-body .rb-actions { gap:10px; margin-top:23px; }
  .rb-body .rb-button { font-size:13px; padding:12px 16px; min-height:46px; }
  .rb-body .rb-section { padding-block:36px; }
  .rb-body .rb-section-heading { gap:12px; margin-bottom:24px; }
  .rb-body .rb-section-heading h2 { font-size:28px; }
  .rb-body .rb-grid { gap:24px 18px; }
  .rb-body .rb-grid.cols-2, .rb-body .rb-grid.cols-3 { grid-template-columns:1fr; }
  .rb-body .rb-grid.cols-4 { grid-template-columns:1fr; }
  .rb-body .rb-family { padding-top:18px; }
  .rb-body .rb-family :is(.index,.rb-index) { margin-bottom:13px; }
  .rb-body .rb-family h3 { font-size:22px; margin-bottom:10px; }
  .rb-body .rb-family p { font-size:14px; margin-bottom:8px; }
  .rb-body .rb-product-card>a { display:grid; grid-template-columns:122px minmax(0,1fr); }
  .rb-body .rb-product-image { min-height:170px; padding:12px; border-bottom:0; border-right:1px solid var(--rb-line); }
  .rb-body .rb-product-image img { height:145px; }
  .rb-body .rb-product-info { padding:17px 15px; }
  .rb-body .rb-product-info h3 { font-size:21px; margin-bottom:7px; }
  .rb-body .rb-product-info p { font-size:12px; line-height:1.65; margin-bottom:10px; }
  .rb-body .rb-tag { font-size:9px; }
  .rb-body .rb-breadcrumb { font-size:11px; padding-block:18px; }
  .rb-body .rb-page-intro { padding-bottom:28px; }
  .rb-body .rb-page-intro h1 { font-size:35px; }
  .rb-body .rb-filterbar { gap:7px; padding-bottom:17px; margin-bottom:24px; }
  .rb-body .rb-filterbar button { font-size:11px; padding:9px 12px; }
  .rb-body .rb-filterbar input { width:100%; margin:8px 0 0; min-width:0; }
  .rb-body .rb-catalogue { padding-block:26px 40px; }
  .rb-body .rb-product-layout { grid-template-columns:1fr; gap:28px; padding-block:28px 40px; }
  .rb-body .rb-product-visual { padding:24px; }
  .rb-body .rb-product-visual img { max-height:340px; }
  .rb-body .rb-product-content>h1 { font-size:35px; }
  .rb-body .rb-prose { font-size:15px; line-height:1.8; }
  .rb-body .rb-prose h2 { font-size:26px; margin-top:30px; }
  .rb-body .rb-prose h3 { font-size:21px; }
  .rb-body .rb-prose table { font-size:12px; table-layout:fixed; overflow-wrap:anywhere; }
  .rb-body .rb-prose :is(th,td) { padding:10px 8px; }
  .rb-body .rb-documents a { font-size:13px; }
  .rb-body .rb-project-row { grid-template-columns:1fr; gap:22px; padding-block:28px; }
  .rb-body .rb-project-copy h2 { font-size:27px; }
  .rb-body .rb-project-copy p { font-size:14px; }
  .rb-body .rb-directory>a { grid-template-columns:1fr; gap:7px; padding:19px 0; }
  .rb-body .rb-directory>a>p { grid-column:1; font-size:13px; }
  .rb-body .rb-directory>a>strong { font-size:18px; }
  .rb-body .rb-contact-layout { grid-template-columns:1fr; gap:28px; }
  .rb-body .rb-contact-card { padding:23px; }
  .rb-body .rb-contact-card h2 { font-size:26px; }
  .rb-body .rb-callout { padding:18px 20px; font-size:13px; }
  .rb-body .rb-footer { padding-block:32px 22px; }
  .rb-body .rb-footer .rb-grid.cols-4 { grid-template-columns:1fr 1fr; gap:25px 18px; }
  .rb-body .rb-footer a { min-height:44px; }
  .rb-body .rb-legacy-content { padding-block:28px; }
  .rb-body .rb-legacy-content :is(p,li) { font-size:15px!important; }
  .rb-body .rb-calc-container { padding:20px 16px; }
  .rb-body .rb-calc-container .forminator-row { flex-wrap:wrap!important; }
  .rb-body .rb-calc-container .forminator-col { width:100%!important; flex-basis:100%!important; }
}
@media(max-width:360px) {
  .rb-body .rb-container { width:calc(100% - 28px); }
  .rb-body .rb-hero h1, .rb-body .rb-page-intro h1 { font-size:32px; }
  .rb-body .rb-actions { align-items:stretch; }
  .rb-body .rb-actions .rb-button { width:100%; }
  .rb-body .rb-product-card>a { grid-template-columns:98px minmax(0,1fr); }
  .rb-body .rb-product-image { padding:9px; }
  .rb-body .rb-product-image img { height:120px; }
  .rb-body .rb-product-info { padding:15px 12px; }
  .rb-body .rb-product-info h3 { font-size:19px; }
  .rb-body .rb-footer .rb-grid.cols-4 { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .rb-body *, .rb-body *::before, .rb-body *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print {
  .rb-body { background:white!important; color:#111!important; font-size:11pt; }
  .rb-body .rb-header, .rb-body .rb-footer, .rb-body .rb-filterbar, .rb-body .rb-actions, .rb-body .rb-menu-toggle { display:none!important; }
  .rb-body .rb-container { width:100%; max-width:none; }
  .rb-body .rb-section, .rb-body .rb-hero>.rb-container, .rb-body .rb-page-intro, .rb-body .rb-product-layout { padding-block:15px; }
  .rb-body .rb-section.dark { color:#111!important; background:white!important; }
  .rb-body .rb-section.dark :is(h1,h2,h3,h4,p) { color:#111!important; }
  .rb-body .rb-product-layout, .rb-body .rb-contact-layout, .rb-body .rb-project-row { display:block; }
  .rb-body .rb-product-visual { position:static; max-width:260px; margin-bottom:20px; }
  .rb-body h1, .rb-body .rb-hero h1, .rb-body .rb-page-intro h1 { font-size:27pt; }
  .rb-body h2 { font-size:19pt; break-after:avoid; }
  .rb-body h3 { font-size:15pt; break-after:avoid; }
  .rb-body .rb-prose { font-size:11pt; }
  .rb-body .rb-product-card, .rb-body .rb-family, .rb-body tr, .rb-body .rb-documents a { break-inside:avoid; }
  .rb-body .rb-hero-media img, .rb-body .rb-project-media :is(img,video) { max-height:250px; }
  .rb-body .rb-calc-container { background:white; padding:12px; }
  .rb-body .rb-documents a { color:#111; }
}
/* Higher specificity than the retained per-module Forminator CSS. */
.rb-body #main .rb-calc-container .forminator-ui {
  font-family:var(--rb-font)!important; color:var(--rb-ink)!important;
  background:transparent!important; border:0!important; max-width:100%!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-row {
  color:var(--rb-ink)!important; background:transparent!important;
  border-color:var(--rb-line)!important; min-width:0;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-input,
.rb-body #main .rb-calc-container .forminator-ui .forminator-textarea,
.rb-body #main .rb-calc-container .forminator-ui select {
  background:#fff!important; color:var(--rb-navy)!important;
  border:1px solid #aebfce!important; border-radius:2px!important;
  font-family:var(--rb-font)!important; font-size:16px!important;
  min-height:46px!important; padding:10px 12px!important; max-width:100%!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-label {
  color:var(--rb-navy)!important; font-family:var(--rb-font)!important;
  font-size:14px!important; font-weight:600!important; line-height:1.5!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-description,
.rb-body #main .rb-calc-container .forminator-ui .forminator-description p {
  color:var(--rb-muted)!important; font-family:var(--rb-font)!important;
  background:transparent!important; font-size:12px!important; line-height:1.65!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-button-submit {
  color:#fff!important; background:var(--rb-red)!important;
  border:1px solid var(--rb-red)!important; border-radius:2px!important;
  min-height:46px!important; font:600 14px var(--rb-font)!important;
  padding:12px 20px!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-error-message {
  background:#fff0f2!important; color:#b9001b!important;
  border-color:#e40022!important; font-size:12px!important;
}
.rb-body #main .rb-calc-container .forminator-ui .forminator-field,
.rb-body #main .rb-calc-container .forminator-ui .forminator-col { min-width:0; }
.rb-body .rb-family-image { display:block; width:100%; height:150px; object-fit:contain; margin-bottom:20px; background:#f7f8fa; padding:14px; }
.rb-body .rb-contact-layout :is(button,input[type=submit]):disabled { cursor:not-allowed; opacity:.55; }
.rb-body .rb-footer-legal { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:20px; margin-top:25px; border-top:1px solid var(--rb-line); }
.rb-body .rb-footer-legal nav { display:flex; flex-wrap:wrap; gap:20px; }
@media(max-width:680px) {
  .rb-body #main .rb-calc-container .forminator-ui .forminator-row { flex-wrap:wrap!important; }
  .rb-body #main .rb-calc-container .forminator-ui .forminator-col { width:100%!important; flex-basis:100%!important; }
  .rb-body .rb-family-image { height:140px; }
  .rb-body .rb-footer-legal { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media print {
  .rb-body #main .rb-calc-container .forminator-ui .forminator-input { min-height:30px!important; font-size:11pt!important; }
}
.rb-body .rb-header .rb-nav a.rb-button,
.rb-body .rb-header .rb-nav a.rb-button:hover,
.rb-body .rb-header .rb-nav a.rb-button[aria-current=page] { color:#fff!important; text-decoration:none; }
