:where(.rc-page,.rc-theme-band) {
  --rc-accent:var(--rb-accent,#df241b); --rc-on-accent:#fff; --rc-on-hover:#a31e15;
  --rc-link-on-light:#b9231b; --rc-link-on-dark:#ff8f85;
  --rc-tally:#101e2d; --rc-tally-ink:#f6f8fc; --rc-tally-muted:#becbdd; --rc-tally-line:#2a4056;
}
.rc-page {
  --rc-bg:#f5f6f8; --rc-surface:#fff; --rc-ink:#101319; --rc-muted:#5e6570;
  --rc-border:#e3e7ec; --rc-soft:#f5f6f8; --rc-red:var(--rc-link-on-light); --rc-focus:var(--rc-accent);
  color:var(--rc-ink); font-family:inherit; font-size:16px; line-height:1.55; padding:clamp(26px,4vw,52px) 0 10px;
  scroll-margin-top:104px; container-type:inline-size;
}
html[data-rx-theme="dark"] .rc-page {
  --rc-bg:#0c1722; --rc-surface:#101e2d; --rc-ink:#f6f8fc; --rc-muted:#becbdd;
  --rc-border:#2a4056; --rc-soft:#1e3042; --rc-red:var(--rc-link-on-dark); --rc-focus:var(--rc-link-on-dark);
}
.rc-page *, .rc-page *::before, .rc-page *::after { box-sizing:border-box }
.rc-page h2,.rc-page h3,.rc-page p,.rc-page ol { margin:0 }
.rc-page h2,.rc-page h3 { color:var(--rc-ink); font-weight:770; text-wrap:balance; letter-spacing:-.035em }
.rc-page h2 { font-size:clamp(25px,3vw,40px); line-height:1.12 }
.rc-page h3 { font-size:clamp(18px,2vw,23px); line-height:1.2 }
.rc-page p,.rc-page li { color:var(--rc-muted) }
.rc-page a:focus-visible,.rc-page input:focus-visible,.rc-page select:focus-visible,
.rc-page button:focus-visible,.rc-page summary:focus-visible,.rc-estimate:focus-visible {
  outline:3px solid var(--rc-focus); outline-offset:3px;
}
.rc-page .rc-kicker,.rc-price-hero .rc-kicker { font:700 12px/1.25 ui-monospace,Consolas,monospace; letter-spacing:.085em; text-transform:uppercase }
.rc-page .rc-kicker { color:var(--rc-red); margin-bottom:10px }
.rc-page .rc-link, .rc-page .rc-link:visited { color:var(--rc-red); text-decoration:underline; text-underline-offset:3px; font-weight:700 }
.rc-catalog-head { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:22px }
.rc-catalog-head p:not(.rc-kicker) { margin-top:10px; max-width:70ch }
.rc-catalog-head > a { flex:none; margin-bottom:4px }
.rc-filters { padding:clamp(14px,2.6vw,26px); background:var(--rc-bg); border:1px solid var(--rc-border); border-radius:18px }
.rc-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; margin-bottom:14px }
.rc-field { display:grid; gap:6px; min-width:0; color:var(--rc-ink); font-size:13px; font-weight:740 }
.rc-field input,.rc-field select {
  display:block; width:100%; min-width:0; min-height:47px; border:1px solid var(--rc-border); border-radius:9px;
  background:var(--rc-surface); color:var(--rc-ink); padding:8px 12px; margin:0;
  font:inherit; font-size:16px; line-height:1.3; font-weight:530;
}
.rc-field input::placeholder { color:var(--rc-muted); opacity:1 }
.rc-field select { color-scheme:light }
html[data-rx-theme="dark"] .rc-field select { color-scheme:dark }
.rc-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px }
.rc-page .rc-button,.rc-page .rc-button:visited {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:47px;
  padding:9px 16px; border:1px solid transparent; border-radius:9px; color:var(--rc-on-accent); background:var(--rc-accent);
  font:inherit; font-weight:760; text-decoration:none; text-align:center; line-height:1.25; cursor:pointer;
  transition:background-color .16s ease;
}
.rc-page .rc-button:hover { background:var(--rc-on-hover); color:var(--rc-on-accent) }
.rc-shortcuts { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px }
.rc-shortcuts a,.rc-shortcuts a:visited {
  display:inline-flex; align-items:center; min-height:36px; color:var(--rc-red); font-size:13px; font-weight:680;
  background:var(--rc-surface); padding:4px 10px; border:1px solid var(--rc-border); border-radius:7px; text-decoration:underline; text-underline-offset:2px;
}
.rc-shortcuts a:hover,.rc-shortcuts a[aria-current] { background:var(--rc-soft); border-color:var(--rc-red) }
.rc-workbench { display:grid; grid-template-columns:minmax(0,1fr) minmax(285px,340px); gap:clamp(15px,2.6vw,28px); align-items:start; margin-top:24px }
.rc-list { min-width:0 }
.rc-list-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; font-size:14px; margin-bottom:11px }
.rc-list-head p { font-weight:710 }
.rc-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px }
.rc-card { display:flex; flex-direction:column; min-width:0; min-height:221px; padding:clamp(13px,1.9vw,21px);
  border:1px solid var(--rc-border); border-radius:14px; background:var(--rc-surface);
  transition:border-color .17s ease, transform .17s ease;
}
.rc-card:hover { transform:translateY(-2px); border-color:var(--rc-red) }
.rc-card.rc-selected { border-color:var(--rc-red); box-shadow:inset 0 3px var(--rc-red) }
.rc-card h3 { margin:12px 0 3px; overflow-wrap:anywhere }
.rc-tags { display:flex; flex-wrap:wrap; gap:5px }
.rc-tags span { display:inline-block; padding:4px 7px; color:var(--rc-ink); background:var(--rc-soft); border-radius:4px; font-size:12px; line-height:1.2; font-weight:720 }
.rc-tags .rc-tag-reg { font-family:ui-monospace,Consolas,monospace }
.rc-card-price { display:block; font-size:clamp(21px,2.4vw,32px); line-height:1.3; letter-spacing:-.035em; font-variant-numeric:tabular-nums; color:var(--rc-ink); margin-bottom:4px }
.rc-card p { font-size:13px; margin:0 0 6px }
.rc-card p:last-of-type { margin-bottom:12px }
.rc-page .rc-card-action,.rc-page .rc-card-action:visited {
  display:flex; min-height:40px; align-items:center; justify-content:space-between; gap:6px; border-top:1px solid var(--rc-border);
  margin-top:auto; padding-top:5px; text-decoration:underline; text-underline-offset:3px; color:var(--rc-red); font-size:14px; font-weight:760;
}
.rc-empty { border:1px dashed var(--rc-border); border-radius:14px; padding:24px; background:var(--rc-bg) }
.rc-empty p { margin:8px 0 }
.rc-empty-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:14px }
.rc-page .rc-estimate-jump { display:none }
.rc-pagination { display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; color:var(--rc-muted) }
.rc-pagination a { color:var(--rc-red); text-decoration:underline; text-underline-offset:3px }
.rc-estimate {
  position:sticky; top:110px; align-self:start; scroll-margin-top:108px; min-width:0; padding:clamp(16px,2.25vw,24px);
  background:var(--rc-tally); color:var(--rc-tally-ink); border-radius:15px; border:1px solid var(--rc-tally-line); 
  --rc-focus:var(--rc-link-on-dark);
}
.rc-estimate:has(.rc-compare:not([hidden]),.rc-terms:not([hidden])) { position:static }
.rc-estimate .rc-kicker { color:var(--rc-link-on-dark) }
.rc-estimate h3 { color:var(--rc-tally-ink); overflow-wrap:anywhere }
.rc-estimate .rc-estimate-meta { color:var(--rc-tally-muted); margin:5px 0 12px; font-size:13px }
.rc-estimate-row { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; align-items:baseline; color:var(--rc-tally-muted); border-top:1px solid var(--rc-tally-line); padding:11px 0; font-size:14px }
.rc-estimate-row strong { color:var(--rc-tally-ink); font-variant-numeric:tabular-nums }
.rc-qty { grid-template-columns:1fr 80px; align-items:center; color:var(--rc-tally-ink) }
.rc-qty input { background:#0c1722; color:var(--rc-tally-ink); border-color:#6f839a; min-height:40px; text-align:center; color-scheme:dark }
.rc-qty input::placeholder { color:var(--rc-tally-muted) }
.rc-qty input:disabled { opacity:.7 }
.rc-estimate .rc-help { margin:5px 0 11px; font-size:12px; color:var(--rc-tally-muted) }
.rc-estimate-total { border-block:1px dashed var(--rc-tally-line); padding:12px 0; margin:10px 0 14px; display:grid; gap:2px; min-height:104px }
.rc-estimate-total span { color:var(--rc-tally-muted); font-size:13px; font-weight:650 }
.rc-estimate-total strong { color:var(--rc-tally-ink); font-size:clamp(22px,3vw,34px); line-height:1.12; letter-spacing:-.04em; font-variant-numeric:tabular-nums }
.rc-estimate-total p { color:var(--rc-tally-muted); margin-top:4px; font-size:13px }
.rc-compare { margin:0 0 16px }
.rc-compare h4 { color:var(--rc-tally-ink); margin:0 0 8px; font-size:14px; line-height:1.4 }
.rc-page .rc-compare ul { margin:0; padding:0; list-style:none }
.rc-page .rc-compare li {
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:3px 12px;
  color:var(--rc-tally-muted); padding:7px 9px; border:1px solid transparent; border-radius:6px; font-size:13px;
}
.rc-compare li strong { color:var(--rc-tally-ink); font-variant-numeric:tabular-nums }
.rc-page .rc-compare li[aria-current="true"] { color:var(--rc-tally-ink); background:#1e3042; border-color:#6f839a }
.rc-estimate .rc-contact { width:100% }
.rc-share { margin-top:10px }
.rc-share .rc-share-button {
  width:100%; min-height:44px; padding:8px 12px; border:1px solid #6f839a; border-radius:9px;
  color:var(--rc-tally-ink); background:transparent; font:inherit; font-size:14px; font-weight:700;
  cursor:pointer;
}
.rc-share .rc-share-button:hover { background:#1e3042 }
.rc-share .rc-share-button:disabled { opacity:.6; cursor:default }
.rc-estimate .rc-share-status { color:var(--rc-tally-muted); font-size:13px; margin-top:6px }
.rc-share-status:empty { display:none }
.rc-share-url:not([hidden]) {
  display:block; width:100%; min-height:44px; margin-top:6px; padding:7px 9px; border:1px solid #6f839a;
  border-radius:8px; background:#0c1722; color:var(--rc-tally-ink); font:inherit;
}
.rc-terms { margin-top:16px; padding-top:12px; border-top:1px solid var(--rc-tally-line) }
.rc-terms h4 { color:var(--rc-tally-ink); margin:0 0 8px; font-size:14px; line-height:1.4 }
.rc-terms dl,.rc-terms dd { margin:0 }
.rc-terms dl > div { margin-top:8px; font-size:13px }
.rc-estimate .rc-terms dt { color:var(--rc-tally-ink); font-weight:700 }
.rc-estimate .rc-terms dd { color:var(--rc-tally-muted); overflow-wrap:anywhere }
.rc-estimate noscript .rc-button { margin-bottom:8px }
.rc-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2vw,22px); margin-top:clamp(32px,6vw,66px); scroll-margin-top:104px }
.rc-info section { padding:clamp(14px,2.5vw,25px); border:1px solid var(--rc-border); border-radius:15px; background:var(--rc-bg) }
.rc-info h2 { font-size:clamp(22px,2.4vw,31px); margin-bottom:13px }
.rc-how ol { padding-inline-start:21px }
.rc-how li { margin-bottom:10px; padding-inline-start:4px }
.rc-how li::marker { color:var(--rc-red); font-weight:800; font-family:ui-monospace,Consolas,monospace }
.rc-how li strong { color:var(--rc-ink) }
.rc-how .rc-geo { border-top:1px solid var(--rc-border); padding-top:12px; margin-top:12px; font-size:14px }
.rc-faq details { border-top:1px solid var(--rc-border); padding:0 }
.rc-faq summary { cursor:pointer; padding:10px 0; color:var(--rc-ink); font-weight:730; text-wrap:pretty }
.rc-faq summary::marker { color:var(--rc-red) }
.rc-faq details p { margin:0 0 12px; font-size:14px }
.redico-pc-active main .rx-wrap > #rx-ux-page-tool { width:100%; max-width:none; padding-inline:0; margin-inline:0; scroll-margin-top:90px }
.redico-pc-active #rc-request { scroll-margin-top:95px }
.redico-pc-active main .rx-ux-hero { align-items:start }
.redico-pc-active main .rc-price-hero { scroll-margin-top:110px; color:#f8fafc; min-width:0 }
.redico-pc-active main .rc-price-hero h1.rx-h1 { color:#f8fafc; max-width:18ch; font-size:clamp(34px,4.1vw,59px); line-height:1.04; overflow-wrap:normal }
.redico-pc-active main .rc-price-hero .rc-kicker { color:var(--rc-link-on-dark); margin:0 0 13px }
.redico-pc-active main .rc-hero-lead { color:var(--rc-tally-muted); max-width:52ch; font-size:clamp(16px,1.6vw,20px); line-height:1.52; margin:16px 0 }
.redico-pc-active main .rc-price-hero .rc-hero-guide { max-width:62ch; font-size:15px; line-height:1.5 }
.redico-pc-active main .rc-price-hero .rc-hero-guide h2 { margin:0 0 6px; font-size:17px; line-height:1.35 }
.redico-pc-active main .rc-price-hero .rc-hero-guide ol { list-style:decimal; margin:0 0 14px; padding-inline-start:1.35rem }
.redico-pc-active main .rc-price-hero .rc-hero-guide li { margin:0 0 5px; padding-inline-start:3px }
.redico-pc-active main .rc-price-hero .rc-hero-guide li::marker { color:var(--rc-link-on-dark); font-weight:700 }
.redico-pc-active main .rc-price-hero .rc-hero-notice {
  margin:14px 0 17px; max-width:66ch; padding:9px 12px; border-inline-start:2px solid var(--rc-accent);
  background:#0c1722; border-radius:0 6px 6px 0; font-size:14px; line-height:1.5;
}
.redico-pc-active main .rc-hero-links { display:flex; flex-wrap:wrap; gap:8px 15px; margin:0 0 16px; font-size:14px }
.redico-pc-active main .rc-hero-links a,.redico-pc-active main .rc-hero-links a:visited { color:var(--rc-link-on-dark); text-decoration:underline; text-underline-offset:3px }
.redico-pc-active main .rc-price-hero a:focus-visible { outline:3px solid var(--rc-link-on-dark); outline-offset:3px }
.redico-pc-active main .rc-price-hero .rx-ux-tool-jump,.redico-pc-active main .rc-price-hero .rx-ux-tool-jump:visited {
  display:inline-flex; align-items:center; gap:8px; min-height:46px; border:1px solid transparent; border-radius:9px;
  background:var(--rc-accent); color:var(--rc-on-accent); padding:8px 15px; font-weight:760; text-decoration:none;
}
.redico-pc-active main .rc-price-hero .rx-ux-tool-jump:hover { background:var(--rc-on-hover); color:var(--rc-on-accent) }

/* The REDICO theme applies page-wide color rules with !important. Keep contrast
   and the link palette tied to each component's actual background. */
body.redico-pc-active main:has(> .rc-theme-band) { padding-top:0 }
body.redico-pc-active main > .rc-theme-band {
  background:linear-gradient(160deg,#101e2d,#0c1722); color:var(--rc-tally-ink);
  padding-block:clamp(15px,2.2vw,29px) clamp(18px,2.8vw,32px);
}
@layer redico-price-contrast {
body.redico-pc-active main .rc-theme-band .rx-breadcrumb { color:#dce5f2!important; margin-bottom:clamp(12px,2.5vw,26px) }
body.redico-pc-active main .rc-theme-band .rx-breadcrumb a,
body.redico-pc-active main .rc-theme-band .rc-hero-links a { color:var(--rc-link-on-dark)!important; text-decoration:underline }
body.redico-pc-active main .rc-theme-band .rc-price-hero .rc-kicker { color:var(--rc-link-on-dark)!important }
body.redico-pc-active main .rc-theme-band .rc-price-hero h1.rx-h1 { color:var(--rc-tally-ink)!important }
body.redico-pc-active main .rc-theme-band .rc-price-hero p.rc-hero-lead { color:var(--rc-tally-muted)!important }
body.redico-pc-active main .rc-theme-band .rc-price-hero a.rx-ux-tool-jump { color:var(--rc-on-accent)!important; background:var(--rc-accent)!important; text-decoration:none!important }
body.redico-pc-active main .rc-theme-band .rc-price-hero a.rx-ux-tool-jump:hover { background:var(--rc-on-hover)!important }
body.redico-pc-active main #rc-catalog :is(h2,h3,.rc-field,.rc-card-price,.rc-tags span,.rc-faq summary,.rc-how li strong) { color:var(--rc-ink)!important }
body.redico-pc-active main #rc-catalog :is(p,li) { color:var(--rc-muted)!important }
body.redico-pc-active main #rc-catalog :is(a.rc-link,.rc-shortcuts a,a.rc-card-action,.rc-pagination a,p.rc-kicker) { color:var(--rc-red)!important }
body.redico-pc-active main #rc-catalog .rc-filters :is(input,select) { color:var(--rc-ink)!important; background:var(--rc-surface)!important }
body.redico-pc-active main #rc-catalog .rc-button { color:var(--rc-on-accent)!important }
body.redico-pc-active main #rc-catalog #rc-estimate :is(h3,strong,.rc-qty) { color:var(--rc-tally-ink)!important }
body.redico-pc-active main #rc-catalog #rc-estimate :is(.rc-estimate-meta,.rc-help,[data-rc-note]) { color:var(--rc-tally-muted)!important }
body.redico-pc-active main #rc-catalog #rc-estimate .rc-kicker { color:var(--rc-link-on-dark)!important }
body.redico-pc-active main #rc-catalog #rc-estimate .rc-qty input { color:var(--rc-tally-ink)!important; background:#0c1722!important }
body.redico-pc-active main #rc-catalog .rc-button { background:var(--rc-accent)!important }
body.redico-pc-active main #rc-catalog .rc-button:hover { background:var(--rc-on-hover)!important }
body.redico-pc-active main #rc-request a { color:var(--rc-link-on-light)!important }
html[data-rx-theme="dark"] body.redico-pc-active main #rc-request a { color:var(--rc-link-on-dark)!important }
}

@media(prefers-reduced-motion:no-preference) {
  .rc-price-hero .rc-kicker,.rc-price-hero h1,.rc-price-hero .rc-hero-lead,.rc-price-hero nav,.rc-price-hero .rx-ux-tool-jump { animation:rc-rise .32s ease-out both }
  .rc-price-hero h1 { animation-delay:45ms }
  .rc-price-hero .rc-hero-lead { animation-delay:80ms }
  .rc-price-hero nav,.rc-price-hero .rx-ux-tool-jump { animation-delay:120ms }
  .rc-page .rc-animate { animation:rc-rise .28s ease-out var(--rc-delay,0ms) backwards }
  @keyframes rc-rise { from { opacity:.64; transform:translateY(7px) } to { opacity:1; transform:translateY(0) } }
}
@media(prefers-reduced-motion:reduce) {
  .rc-page *, .rc-price-hero * { animation:none !important; transition:none !important; scroll-behavior:auto !important }
  .rc-card:hover { transform:none }
}
@media(max-width:900px) {
  .rc-workbench { grid-template-columns:minmax(0,1fr) }
  .rc-estimate { position:static; width:100%; scroll-margin-top:max(78px,calc(var(--rr-header-bottom,70px) + 8px)) }
  .rc-catalog-head { align-items:start; flex-direction:column; gap:8px }
  .rc-page .rc-estimate-jump:not([hidden]) {
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 12px;
    min-height:47px; margin-top:14px; padding:7px 12px; background:var(--rc-surface);
    border:1px solid var(--rc-border); border-radius:9px; font-size:14px;
  }
  .rc-estimate-jump strong { color:var(--rc-ink) }
}
@media(max-width:650px) {
  .rc-filter-grid,.rc-info { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .rc-info { grid-template-columns:minmax(0,1fr) }
  .rc-search-row { grid-template-columns:minmax(0,1fr) }
  .rc-search-row .rc-button { justify-self:start }
  .rc-page { scroll-margin-top:75px }
}
@media(max-width:460px) {
  .rc-filter-grid,.rc-cards { grid-template-columns:minmax(0,1fr) }
  .rc-card { min-height:0 }
  .rc-page,.rc-info { scroll-margin-top:78px }
  .redico-pc-active main .rc-price-hero h1.rx-h1 { font-size:clamp(27px,8.6vw,39px) }
}

