/* REDICO Bento: an additive presentation layer. Existing markup and interaction states remain authoritative. */
@layer redicoBento {
  html[data-rx-bento] {
    --rb-bg:#F3F5F8 !important; --rb-surface:#FFFFFF !important; --rb-soft:#EDF1F6 !important;
    --rb-ink:#17202B !important; --rb-muted:#435267 !important; --rb-line:#DEE4EC !important;
    --rb-accent:#C62C20 !important; --rb-accent-text:#B1251A !important; --rb-accent-soft:#FCECE9 !important;
    --rb-shadow:0 12px 40px -26px rgba(24,39,61,.25) !important;
    --rb-shadow-hover:0 18px 44px -25px rgba(24,39,61,.28) !important;
    --rb-radius:22px !important; --rb-font:"Open Sans","REDICO Open Sans Arial","REDICO Open Sans Roboto",Arial,sans-serif !important;
    --rb-heading:"Fira Sans","REDICO Fira Sans Arial","REDICO Fira Sans Roboto",Arial,sans-serif !important;
    --rb-focus:#2773D1 !important; --rb-success:#147145 !important; --rb-error:#B1251A !important;
    --rb-space:24px !important; --rb-gutter:24px !important;
    --ink:var(--rb-ink) !important; --ink2:var(--rb-ink) !important; --ink3:var(--rb-muted) !important;
    --muted:var(--rb-muted) !important; --muted2:var(--rb-muted) !important;
    --line:var(--rb-line) !important; --line2:var(--rb-line) !important;
    --soft:var(--rb-soft) !important; --soft2:var(--rb-soft) !important;
    --red:var(--rb-accent) !important; --red-d:#AA2117 !important; --dark:#141D2A !important;
    --ff:var(--rb-font) !important; --mono:var(--rb-font) !important;
    --rxmm2-r:var(--rb-accent) !important; --rxmm2-r2:var(--rb-accent-text) !important;
    --rxmm2-bg:var(--rb-surface) !important; --rxmm2-tx:var(--rb-ink) !important;
    color-scheme:light !important; scroll-behavior:smooth !important; background:var(--rb-bg) !important;
    scroll-padding-top:160px !important;
  }
  html[data-rx-bento][data-rx-theme="dark"] {
    --rb-bg:#0C1118 !important; --rb-surface:#161E29 !important; --rb-soft:#202B3A !important;
    --rb-ink:#F4F7FA !important; --rb-muted:#CCD6E2 !important; --rb-line:#344255 !important;
    --rb-accent-text:#FFB4A8 !important; --rb-accent-soft:#3A2426 !important;
    --rb-shadow:0 12px 40px -24px rgba(0,0,0,.55) !important;
    --rb-shadow-hover:0 18px 46px -24px rgba(0,0,0,.7) !important;
    --rb-focus:#91BCFF !important; --rb-success:#88D9AC !important; --rb-error:#FFB4A8 !important;
    color-scheme:dark !important;
  }
  html[data-rx-bento] body {
    margin:0 !important; padding-left:0 !important; padding-right:0 !important;
    background:var(--rb-bg) !important; background-image:none !important; color:var(--rb-ink) !important;
    font-family:var(--rb-font) !important; font-size:16px !important; line-height:1.6 !important;
    -webkit-font-smoothing:antialiased !important; text-rendering:optimizeLegibility !important;
    min-width:0 !important; width:100% !important;
  }
  html[data-rx-bento] :where(*, *::before, *::after) { box-sizing:border-box !important; }
  html[data-rx-bento] :where(button,input,textarea,select) { font-family:var(--rb-font) !important; }
  html[data-rx-bento] :where(h1,h2,h3,h4,h5,h6) {
    color:var(--rb-ink) !important; font-family:var(--rb-heading) !important;
    font-weight:700 !important; letter-spacing:-.015em !important; line-height:1.22 !important;
    overflow-wrap:anywhere !important;
  }
  html[data-rx-bento] :where(h1) { font-size:clamp(32px,4.5vw,58px) !important; }
  html[data-rx-bento] :where(h2) { font-size:clamp(25px,3.1vw,38px) !important; }
  html[data-rx-bento] :where(h3) { font-size:clamp(20px,2vw,24px) !important; }
  html[data-rx-bento] :where(p,li,dd,td,th,label) { overflow-wrap:break-word !important; }
  html[data-rx-bento] :where(img,picture,video) { max-width:100% !important; }
  html[data-rx-bento] :where(button,a,input,select,textarea,summary):focus-visible {
    outline:3px solid var(--rb-focus) !important; outline-offset:3px !important;
  }
  html[data-rx-bento] :where(input,textarea,select)::placeholder { color:var(--rb-muted) !important; opacity:1 !important; }
  html[data-rx-bento] :where(input[type="checkbox"],input[type="radio"]) { accent-color:var(--rb-accent) !important; }
  html[data-rx-bento] :where(.rx-wrap,.rx-container) {
    width:min(100% - var(--rb-gutter)*2,1280px) !important; max-width:1280px !important;
    margin-inline:auto !important; padding-inline:0 !important; min-width:0 !important;
  }
  html[data-rx-bento] :where(main,.rx-main) { min-width:0 !important; }
  html[data-rx-bento] :where(.rx-btn,.rx-btn-ghost,.rx-submit,.rx-foot-btn,.rx-modal-btn,.rx-hdr-cta) {
    min-height:48px !important; padding:13px 21px !important; border-radius:13px !important;
    font-family:var(--rb-font) !important; font-size:16px !important; font-weight:600 !important; line-height:1.4 !important;
    text-align:center !important; text-decoration:none !important; white-space:normal !important;
    align-items:center !important; justify-content:center !important; gap:10px !important;
    cursor:pointer !important; transition:background-color .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out !important;
    max-width:100% !important;
  }
  html[data-rx-bento] :where(.rx-btn,.rx-submit,.rx-foot-btn,.rx-modal-btn,.rx-hdr-cta) {
    background:var(--rb-accent) !important; border:1px solid transparent !important; color:#FFFFFF !important; box-shadow:none !important;
  }
  html[data-rx-bento] :where(.rx-btn-ghost) {
    background:var(--rb-surface) !important; border:1px solid var(--rb-line) !important; color:var(--rb-ink) !important;
  }
  html[data-rx-bento] :where(.rx-input,.rx-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),.rx-form textarea,.rx-foot-inp,.rx-modal-inp,.rx-hero-inp) {
    min-height:48px !important; width:100% !important; min-width:0 !important;
    padding:13px 15px !important; background:var(--rb-surface) !important; color:var(--rb-ink) !important;
    border:1px solid var(--rb-line) !important; border-radius:12px !important;
    font-size:16px !important; font-weight:400 !important; line-height:1.5 !important;
    box-shadow:none !important; transition:border-color .18s ease-out,box-shadow .18s ease-out,background-color .18s ease-out !important;
  }
  html[data-rx-bento] :where(.rx-form,.rx-foot-cta form,.rx-modal form) :where(label,.rx-consent,.rx-form-note,.rx-upload-note) { color:var(--rb-muted) !important; }
  html[data-rx-bento] :where(.rx-form,.rx-foot-cta form,.rx-modal form) :where(input,textarea)[aria-invalid="true"] {
    border-color:var(--rb-error) !important; box-shadow:0 0 0 2px var(--rb-accent-soft) !important;
  }
  html[data-rx-bento] :where(.rx-sent) { color:var(--rb-success) !important; }
  html[data-rx-bento] :where(.rx-card) {
    background:var(--rb-surface) !important; border:1px solid var(--rb-line) !important; color:var(--rb-ink) !important;
    border-radius:var(--rb-radius) !important; box-shadow:var(--rb-shadow) !important;
    transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out !important; min-width:0 !important;
  }
  html[data-rx-bento] :where(.rx-card-title) { color:var(--rb-ink) !important; font-family:var(--rb-heading) !important; line-height:1.35 !important; }
  html[data-rx-bento] :where(.rx-card-ex) { color:var(--rb-muted) !important; }
  html[data-rx-bento] :where(.rx-card-cat,.rx-card-more) { color:var(--rb-accent-text) !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] :where(.rx-card-body) { padding:24px !important; }
  html[data-rx-bento] :where(.rx-cards) { gap:24px !important; }

  /* Two compact navigation rows retain every original destination. */
  html[data-rx-bento] .rx-header {
    background:var(--rb-surface) !important; background-image:none !important; color:var(--rb-ink) !important;
    border-bottom:1px solid var(--rb-line) !important; box-shadow:none !important; backdrop-filter:none !important;
  }
  html[data-rx-bento] .rx-header-in {
    min-height:84px !important; height:auto !important; padding-block:16px !important;
    display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important;
  }
  html[data-rx-bento] .rx-header .custom-logo-link { display:inline-flex !important; align-items:center !important; flex:0 0 auto !important; min-height:44px !important; }
  html[data-rx-bento] .rx-header .custom-logo { width:146px !important; height:auto !important; max-height:none !important; filter:none !important; }
  html[data-rx-bento][data-rx-theme="dark"] .rx-header .custom-logo { filter:brightness(0) invert(1) !important; }
  html[data-rx-bento] :where(.rx-logo) { color:var(--rb-ink) !important; font-family:var(--rb-heading) !important; font-weight:800 !important; }
  html[data-rx-bento] :where(.rx-logo i) { color:var(--rb-accent) !important; }
  html[data-rx-bento] .rx-hdr-tag { color:var(--rb-muted) !important; font:500 14px/1.5 var(--rb-font) !important; letter-spacing:.08em !important; }
  html[data-rx-bento] .rx-desknav { min-width:0 !important; }
  html[data-rx-bento] .rx-desknav :where(ul) { gap:16px !important; }
  html[data-rx-bento] .rx-desknav a { color:var(--rb-muted) !important; font:500 14px/1.4 var(--rb-font) !important; }
  html[data-rx-bento] .rx-hdr-right { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:flex-end !important; gap:10px !important; min-width:0 !important; }
  html[data-rx-bento] .rx-hdr-tel { color:var(--rb-ink) !important; font:600 14px/1.4 var(--rb-font) !important; white-space:nowrap !important; }
  html[data-rx-bento] .rx-hdr-mail { color:var(--rb-muted) !important; }
  html[data-rx-bento] :where(.rx-hdr-price,.rx-hdr-contacts,.rb-theme-toggle) {
    width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important;
    padding:10px !important; border:1px solid var(--rb-line) !important; border-radius:12px !important;
    background:var(--rb-soft) !important; color:var(--rb-ink) !important; box-shadow:none !important;
    align-items:center !important; justify-content:center !important; flex-shrink:0 !important; cursor:pointer !important;
    transition:background-color .2s ease-out,border-color .2s ease-out !important;
  }
  html[data-rx-bento] :where(.rx-hdr-price,.rx-hdr-contacts) svg { width:21px !important; height:21px !important; }
  html[data-rx-bento] .rx-hdr-contacts span { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
  html[data-rx-bento] .rb-theme-toggle { display:inline-flex !important; }
  html[data-rx-bento] .rb-theme-toggle svg { width:20px !important; height:20px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.75 !important; }
  html[data-rx-bento] .rb-theme-toggle .rb-theme-sun { display:none !important; }
  html[data-rx-bento][data-rx-theme="dark"] .rb-theme-toggle .rb-theme-moon { display:none !important; }
  html[data-rx-bento][data-rx-theme="dark"] .rb-theme-toggle .rb-theme-sun { display:block !important; }
  html[data-rx-bento] .rb-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
  html[data-rx-bento].rb-theme-changing :where(body,.rx-header,.rxmm2-barin,.rxmm2-panel,.rx-card,.rx-ai,.rx-ai__main,.rx-ai__head,.rx-ai__form,.rx-sitefoot) {
    transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out !important;
  }

  /* Mega menu: same tree, search, categories, and open/closed states. */
  html[data-rx-bento] nav.rxmm2 {
    background:var(--rb-surface) !important; color:var(--rb-ink) !important; border-bottom:1px solid var(--rb-line) !important;
    box-shadow:none !important; font-family:var(--rb-font) !important; --rxmm2-bar:64px !important;
  }
  html[data-rx-bento] .rxmm2-barin { max-width:1328px !important; padding-inline:24px !important; gap:10px !important; background:var(--rb-surface) !important; }
  html[data-rx-bento] :where(.rxmm2-all,.rxmm2-btn) {
    background:var(--rb-accent) !important; color:#FFFFFF !important; border:1px solid transparent !important;
    box-shadow:none !important; border-radius:12px !important; min-height:44px !important;
    font-family:var(--rb-font) !important; font-weight:600 !important; filter:none !important;
  }
  html[data-rx-bento] :where(.rxmm2-tab,.rxmm2-cat,.rxmm2-i,.rxmm2-railcta,.rxmm2-btn2,.rxmm2-chip,.rxmm2-tel) {
    color:var(--rb-ink) !important; font-family:var(--rb-font) !important; font-weight:500 !important; min-height:44px !important;
  }
  html[data-rx-bento] :where(.rxmm2-tab) { font-size:14px !important; }
  html[data-rx-bento] :where(.rxmm2-tab:hover,.rxmm2-tab.rxmm2-on,.rxmm2-cat:hover,.rxmm2-cat.rxmm2-on,.rxmm2-i:hover) { background:var(--rb-soft) !important; color:var(--rb-ink) !important; }
  html[data-rx-bento] .rxmm2-hot { color:var(--rb-accent-text) !important; background:var(--rb-accent-soft) !important; border:1px solid var(--rb-line) !important; font:600 14px/1.3 var(--rb-font) !important; box-shadow:none !important; }
  html[data-rx-bento] .rxmm2-hot i { color:var(--rb-muted) !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] .rxmm2-tg { color:#18668D !important; background:#EAF5FB !important; border:1px solid #B9D9EB !important; box-shadow:none !important; }
  html[data-rx-bento][data-rx-theme="dark"] .rxmm2-tg { color:#9EDBF7 !important; background:#1A3040 !important; border-color:#365D74 !important; }
  html[data-rx-bento] .rxmm2-dot { background:var(--rb-accent) !important; animation:none !important; box-shadow:none !important; }
  html[data-rx-bento] .rxmm2-panel { background:var(--rb-surface) !important; border:1px solid var(--rb-line) !important; border-radius:var(--rb-radius) !important; box-shadow:0 24px 70px -24px rgba(0,0,0,.35) !important; }
  html[data-rx-bento] :where(.rxmm2-panel::before,.rxmm2-panel::after,.rxmm2-promo::after) { background:none !important; }
  html[data-rx-bento] .rxmm2-inner { grid-template-columns:280px minmax(0,1fr) 260px !important; }
  html[data-rx-bento] .rxmm2-rail { padding:16px 12px !important; border-color:var(--rb-line) !important; background:var(--rb-soft) !important; gap:4px !important; }
  html[data-rx-bento] .rxmm2-pill { background:var(--rb-surface) !important; border-color:var(--rb-line) !important; box-shadow:var(--rb-shadow) !important; }
  html[data-rx-bento] .rxmm2-cat { font-size:14px !important; }
  html[data-rx-bento] :where(.rxmm2-ico,.rxmm2-cico) { color:var(--rb-muted) !important; background:var(--rb-surface) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] :where(.rxmm2-cat.rxmm2-on .rxmm2-ico,.rxmm2-cat:hover .rxmm2-ico,.rxmm2-arw,.rxmm2-ia) { color:var(--rb-accent-text) !important; background:var(--rb-accent-soft) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] :where(.rxmm2-cnt,.rxmm2-sub,.rxmm2-empty,.rxmm2-fh,.rxmm2-tag) { color:var(--rb-muted) !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] .rxmm2-main { padding:24px !important; }
  html[data-rx-bento] .rxmm2-head { border-color:var(--rb-line) !important; flex-wrap:wrap !important; gap:14px !important; }
  html[data-rx-bento] .rxmm2-h a { color:var(--rb-ink) !important; font-family:var(--rb-heading) !important; font-size:19px !important; font-weight:700 !important; line-height:1.3 !important; }
  html[data-rx-bento] .rxmm2-find { width:100% !important; height:48px !important; padding:0 12px !important; background:var(--rb-soft) !important; border:1px solid var(--rb-line) !important; color:var(--rb-muted) !important; }
  html[data-rx-bento] .rxmm2-find input { min-height:44px !important; padding:0 !important; color:var(--rb-ink) !important; background:transparent !important; font:400 16px/1.4 var(--rb-font) !important; }
  html[data-rx-bento] .rxmm2-find:focus-within { border-color:var(--rb-focus) !important; box-shadow:0 0 0 2px var(--rb-soft) !important; }
  html[data-rx-bento] .rxmm2-clr { width:44px !important; height:44px !important; background:transparent !important; color:var(--rb-muted) !important; flex-shrink:0 !important; }
  html[data-rx-bento] .rxmm2-scroll { scrollbar-color:var(--rb-line) transparent !important; }
  html[data-rx-bento] .rxmm2-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)) !important; gap:6px 12px !important; }
  html[data-rx-bento] .rxmm2-i { font-size:14px !important; line-height:1.5 !important; padding:10px 12px !important; }
  html[data-rx-bento] :where(.rxmm2-num,.rxmm2-tag) { background:var(--rb-soft) !important; border-color:var(--rb-line) !important; color:var(--rb-muted) !important; font-family:var(--rb-font) !important; font-variant-numeric:tabular-nums !important; }
  html[data-rx-bento] :where(.rxmm2-lead,.rxmm2-btn2,.rxmm2-chip,.rxmm2-railcta) { background:var(--rb-soft) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] :where(.rxmm2-empty b,.rxmm2-promo b) { color:var(--rb-ink) !important; font-family:var(--rb-heading) !important; }
  html[data-rx-bento] .rxmm2-aside { border-color:var(--rb-line) !important; padding:20px !important; }
  html[data-rx-bento] .rxmm2-promo { background:var(--rb-accent-soft) !important; border:1px solid var(--rb-line) !important; padding:20px !important; border-radius:18px !important; }
  html[data-rx-bento] .rxmm2-promo p { color:var(--rb-muted) !important; font-size:14px !important; line-height:1.6 !important; }
  html[data-rx-bento] .rxmm2-badge { color:var(--rb-accent-text) !important; background:var(--rb-surface) !important; font-family:var(--rb-font) !important; letter-spacing:.05em !important; }
  html[data-rx-bento] .rxmm2-foot { padding:12px 20px !important; background:var(--rb-soft) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rxmm2-chip.rxmm2-chot { background:var(--rb-accent-soft) !important; color:var(--rb-accent-text) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rxmm2-chip.rxmm2-chot .rxmm2-cico { background:var(--rb-surface) !important; color:var(--rb-accent-text) !important; }
  html[data-rx-bento] .rxmm2-btn2 { white-space:normal !important; line-height:1.35 !important; height:auto !important; padding:10px 12px !important; }

  /* AI is a first-class bento module; native submission/streaming state is untouched. */
  html[data-rx-bento] .rx-ai {
    --rx-accent:var(--rb-accent) !important; --rx-coral:var(--rb-accent-text) !important;
    --rx-ink:var(--rb-ink) !important; --rx-ink-2:var(--rb-ink) !important; --rx-muted:var(--rb-muted) !important;
    --rx-faint:var(--rb-muted) !important; --rx-line:var(--rb-line) !important; --rx-line-2:var(--rb-line) !important;
    --rx-paper:var(--rb-surface) !important; --rx-tint:var(--rb-soft) !important;
    font-family:var(--rb-font) !important; color:var(--rb-ink) !important; background:var(--rb-surface) !important;
    border:1px solid var(--rb-line) !important; border-radius:var(--rb-radius) !important; box-shadow:var(--rb-shadow) !important;
  }
  html[data-rx-bento] .rx-ai--inline { opacity:1 !important; transform:none !important; width:100% !important; min-width:0 !important; }
  html[data-rx-bento] :where(.rx-ai__main,.rx-ai__head,.rx-ai__form) { background:var(--rb-surface) !important; color:var(--rb-ink) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-ai__head { padding:22px 24px !important; gap:12px !important; flex-wrap:wrap !important; }
  html[data-rx-bento] .rx-ai__title { font:700 14px/1.5 var(--rb-font) !important; color:var(--rb-ink) !important; letter-spacing:.08em !important; }
  html[data-rx-bento] .rx-ai__sub { color:var(--rb-muted) !important; font-size:14px !important; }
  html[data-rx-bento] .rx-ai__dot { background:var(--rb-success) !important; animation:none !important; }
  html[data-rx-bento] :where(.rx-ai__cta,.rx-ai__chip,.rx-ai__close,.rx-ai__name button) {
    min-height:44px !important; border-radius:12px !important; border-color:var(--rb-line) !important;
    color:var(--rb-ink) !important; background:var(--rb-soft) !important; font-family:var(--rb-font) !important;
    font-weight:500 !important; line-height:1.4 !important; white-space:normal !important;
  }
  html[data-rx-bento] .rx-ai__close { width:44px !important; height:44px !important; flex:0 0 44px !important; }
  html[data-rx-bento] .rx-ai__log { padding:24px !important; gap:24px !important; scrollbar-color:var(--rb-line) transparent !important; }
  html[data-rx-bento] .rx-ai__msg { color:var(--rb-ink) !important; font:400 16px/1.65 var(--rb-font) !important; overflow-wrap:anywhere !important; }
  html[data-rx-bento] .rx-ai__msg :where(p,li,strong,em) { color:inherit !important; }
  html[data-rx-bento] .rx-ai__msg a { color:var(--rb-accent-text) !important; text-decoration:underline !important; text-underline-offset:3px !important; }
  html[data-rx-bento] .rx-ai__msg--user { background:var(--rb-soft) !important; border-radius:18px 18px 6px 18px !important; }
  html[data-rx-bento] .rx-ai__chip { padding:10px 14px !important; font-size:14px !important; }
  html[data-rx-bento] .rx-ai__form { padding:24px !important; gap:12px !important; }
  html[data-rx-bento] .rx-ai__form::before { background:var(--rb-surface) !important; color:var(--rb-muted) !important; font-family:var(--rb-font) !important; letter-spacing:.06em !important; }
  html[data-rx-bento] .rx-ai :where(textarea,input[type="text"],input[type="tel"],input[type="email"]) {
    background:var(--rb-soft) !important; color:var(--rb-ink) !important; border:1px solid var(--rb-line) !important;
    border-radius:13px !important; font:400 16px/1.5 var(--rb-font) !important; min-width:0 !important; min-height:48px !important;
    animation:none !important;
  }
  html[data-rx-bento] .rx-ai :where(textarea,input):focus { border-color:var(--rb-focus) !important; box-shadow:0 0 0 2px var(--rb-soft) !important; }
  html[data-rx-bento] .rx-ai__send { background:var(--rb-accent) !important; color:#FFFFFF !important; border-radius:13px !important; min-height:48px !important; font:600 16px/1.4 var(--rb-font) !important; box-shadow:none !important; }
  html[data-rx-bento] .rx-ai__error { color:var(--rb-error) !important; }
  html[data-rx-bento] .rx-ai__typing { color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-ai__avatar { background:var(--rb-accent-soft) !important; color:var(--rb-accent-text) !important; }
  html[data-rx-bento] .rx-ai__avatar::after { border-color:var(--rb-surface) !important; }
  html[data-rx-bento] .rx-ai__calc {
    color:var(--rb-accent-text) !important; background:var(--rb-accent-soft) !important;
    border:1px solid var(--rb-line) !important; border-radius:12px !important;
    min-height:44px !important; font-family:var(--rb-font) !important; animation:none !important; box-shadow:none !important;
  }
  html[data-rx-bento] .rx-ai__calc.is-pulse { background:var(--rb-accent) !important; color:#FFFFFF !important; }
  html[data-rx-bento] .rx-ai__calc.is-done { color:var(--rb-success) !important; border-color:var(--rb-success) !important; background:var(--rb-soft) !important; }
  html[data-rx-bento] :where(.rx-ai__lead,.rx-ai__lead-head) { background:var(--rb-surface) !important; color:var(--rb-ink) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-ai__lead { border-radius:18px !important; box-shadow:var(--rb-shadow) !important; max-width:100% !important; }
  html[data-rx-bento] :where(.rx-ai__lead-title,.rx-ai__field-label) { color:var(--rb-ink) !important; }
  html[data-rx-bento] :where(.rx-ai__lead-note,.rx-ai__lead-topic span,.rx-ai__field-icon,.rx-ai__consent,.rx-ai__lead-trust) { color:var(--rb-muted) !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] :where(.rx-ai__lead-topic,.rx-ai__field-box) { background:var(--rb-soft) !important; color:var(--rb-ink) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-ai__lead .rx-ai__field input { background:transparent !important; border:0 !important; color:var(--rb-ink) !important; box-shadow:none !important; font-size:16px !important; }
  html[data-rx-bento] .rx-ai__field:focus-within .rx-ai__field-box { background:var(--rb-surface) !important; border-color:var(--rb-focus) !important; box-shadow:0 0 0 2px var(--rb-soft) !important; }
  html[data-rx-bento] .rx-ai__field.is-valid .rx-ai__field-box { background:var(--rb-surface) !important; border-color:var(--rb-success) !important; }
  html[data-rx-bento] .rx-ai__field.is-valid .rx-ai__field-icon { color:var(--rb-success) !important; }
  html[data-rx-bento] .rx-ai__field.is-invalid .rx-ai__field-box { background:var(--rb-surface) !important; border-color:var(--rb-error) !important; box-shadow:0 0 0 2px var(--rb-accent-soft) !important; }
  html[data-rx-bento] :where(.rx-ai__field.is-invalid .rx-ai__field-icon,.rx-ai__field-err) { color:var(--rb-error) !important; }
  html[data-rx-bento] .rx-ai__consent-box { background:var(--rb-surface) !important; border-color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-ai__consent input:checked + .rx-ai__consent-box { background:var(--rb-accent) !important; border-color:var(--rb-accent) !important; }
  html[data-rx-bento] .rx-ai__consent input:focus-visible + .rx-ai__consent-box { outline:3px solid var(--rb-focus) !important; outline-offset:3px !important; }
  html[data-rx-bento] .rx-ai__consent.is-invalid .rx-ai__consent-box { border-color:var(--rb-error) !important; box-shadow:0 0 0 2px var(--rb-accent-soft) !important; }
  html[data-rx-bento] :where(.rx-ai-cta-panel,.rx-ai__aside) {
    --rb-ink:#F4F7FA !important; --rb-muted:#CCD6E2 !important; --rb-line:#344255 !important;
    --rb-surface:#161E29 !important; --rb-soft:#202B3A !important; --rb-accent-text:#FFB4A8 !important;
    background:#161E29 !important; color:#F4F7FA !important;
  }
  html[data-rx-bento] .rx-ai-cta-panel { border:1px solid #344255 !important; border-radius:var(--rb-radius) !important; padding:28px !important; gap:24px !important; }
  html[data-rx-bento] .rx-ai-cta-panel::before { background:var(--rb-accent) !important; }
  html[data-rx-bento] :where(.rx-ai-cta-panel strong,.rx-ai__aside-title) { color:#F4F7FA !important; font-family:var(--rb-heading) !important; }
  html[data-rx-bento] :where(.rx-ai-cta-panel span,.rx-ai__aside-lead,.rx-ai__aside-list li span) { color:#B7C3D2 !important; }
  html[data-rx-bento] .rx-ai__cta-inline { min-height:48px !important; padding:14px 22px !important; border-radius:13px !important; background:#FFFFFF !important; color:#17202B !important; font:600 16px/1.4 var(--rb-font) !important; white-space:normal !important; }
  html[data-rx-bento] .rx-ai__aside { padding:36px 28px !important; }
  html[data-rx-bento] .rx-ai__aside-eyebrow { color:#FFB4A8 !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] .rx-ai__aside-list li { border-color:#344255 !important; }
  html[data-rx-bento] :where(.rx-ai__aside-list strong,.rx-ai__aside-phone) { color:#F4F7FA !important; }
  html[data-rx-bento] .rx-ai__aside-link-label { color:#B7C3D2 !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] .rx-ai__aside .rx-ai__aside-tg { min-height:48px !important; background:#146F9B !important; color:#FFFFFF !important; box-shadow:none !important; }
  html[data-rx-bento] .rx-ai-backdrop { background:rgba(6,12,22,.62) !important; backdrop-filter:blur(6px) !important; }
  html[data-rx-bento] .rx-ai--float { border-color:var(--rb-line) !important; box-shadow:0 24px 100px rgba(0,0,0,.3) !important; }
  html[data-rx-bento] :where(.rx-side-ai-button,.rx-side-dock a.rx-apptab) {
    background:var(--rb-surface) !important; color:var(--rb-ink) !important; border-color:var(--rb-line) !important;
    border-left-color:var(--rb-accent) !important; font-family:var(--rb-font) !important; box-shadow:var(--rb-shadow) !important;
  }
  html[data-rx-bento] :where(.rx-ai-fab) { background:var(--rb-accent) !important; color:#FFFFFF !important; border-radius:16px !important; animation:none !important; }
  html[data-rx-bento] :where(.rx-side-ai-label,.rx-side-dock .rx-apptab__t) { color:inherit !important; }

  /* Footer and enquiry modal inherit an explicit palette instead of hard-coded low contrast. */
  html[data-rx-bento] .rx-sitefoot {
    --rb-bg:#101824 !important; --rb-surface:#161E29 !important; --rb-soft:#202B3A !important;
    --rb-ink:#F4F7FA !important; --rb-muted:#CCD6E2 !important; --rb-line:#344255 !important; --rb-accent-text:#FFB4A8 !important;
    --rb-success:#88D9AC !important; --rb-error:#FFB4A8 !important;
    background:#101824 !important; color:#F4F7FA !important; border-top:1px solid #344255 !important; margin-top:64px !important;
  }
  html[data-rx-bento] .rx-sitefoot > .rx-wrap { padding-top:56px !important; }
  html[data-rx-bento] .rx-foot-cta { gap:48px !important; padding-bottom:48px !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-foot-cta :where(p,label) { color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-foot-cta :where(h2) { color:var(--rb-ink) !important; }
  html[data-rx-bento] .rx-foot-inp { background:var(--rb-soft) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-foot-cols { gap:40px !important; }
  html[data-rx-bento] .rx-foot-h { font:600 14px/1.5 var(--rb-font) !important; letter-spacing:.1em !important; color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-foot-links a { color:var(--rb-ink) !important; font-size:14px !important; line-height:1.6 !important; }
  html[data-rx-bento] :where(.rx-foot-req,.rx-foot-bottom) { border-color:var(--rb-line) !important; }
  html[data-rx-bento] :where(.rx-foot-req-grid span,.rx-foot-bottom,.rx-foot-bottom a) { color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-foot-req-grid b { color:var(--rb-ink) !important; }
  html[data-rx-bento] .rx-foot-bottom { line-height:1.6 !important; }
  html[data-rx-bento] .rx-footer { background:var(--rb-bg) !important; border-color:var(--rb-line) !important; color:var(--rb-muted) !important; }
  html[data-rx-bento] :where(.rx-modal,.rx-modal-box,.rx-modal-dialog) {
    --rx-ink:var(--rb-ink) !important; --rx-ink2:var(--rb-ink) !important; --rx-mut:var(--rb-muted) !important;
    --rx-mut2:var(--rb-muted) !important; --rx-ln:var(--rb-line) !important; --rx-bg:var(--rb-soft) !important;
    background:var(--rb-surface) !important; color:var(--rb-ink) !important; border-color:var(--rb-line) !important; border-radius:24px !important;
  }
  html[data-rx-bento] :where(.rx-modal-title,.rx-modal h2,.rx-modal h3) { color:var(--rb-ink) !important; font-family:var(--rb-heading) !important; }
  html[data-rx-bento] :where(.rx-modal-sub,.rx-modal-note,.rx-modal p,.rx-modal label) { color:var(--rb-muted) !important; }
  html[data-rx-bento] :where(.rx-modal-l,.rx-modal-r) { background:var(--rb-surface) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] .rx-modal-l :where(b,strong) { color:var(--rb-ink) !important; }
  html[data-rx-bento] .rx-modal-l div[style*="color:"] { color:var(--rb-muted) !important; }
  html[data-rx-bento] .rx-modal-l > span:first-child { background:var(--rb-accent-soft) !important; color:var(--rb-accent-text) !important; border-color:var(--rb-line) !important; font-family:var(--rb-font) !important; }
  html[data-rx-bento] .rx-modal-tg { min-height:48px !important; color:var(--rb-ink) !important; background:var(--rb-soft) !important; border-color:var(--rb-line) !important; }
  html[data-rx-bento] :where(.rx-modal-close) { width:44px !important; height:44px !important; min-height:44px !important; min-width:44px !important; color:var(--rb-ink) !important; background:var(--rb-soft) !important; border:1px solid var(--rb-line) !important; border-radius:12px !important; }

  @media (hover:hover) {
    html[data-rx-bento] :where(.rx-btn,.rx-submit,.rx-foot-btn,.rx-modal-btn,.rx-hdr-cta,.rxmm2-all,.rxmm2-btn,.rx-ai__send):not(:disabled):hover { background:#AA2117 !important; color:#FFFFFF !important; transform:translateY(-1px) !important; box-shadow:0 8px 18px -10px rgba(198,44,32,.5) !important; }
    html[data-rx-bento] :where(.rx-btn-ghost,.rx-hdr-price,.rx-hdr-contacts,.rb-theme-toggle,.rx-ai__chip,.rx-ai__cta):hover { border-color:var(--rb-accent-text) !important; background:var(--rb-accent-soft) !important; color:var(--rb-accent-text) !important; }
    html[data-rx-bento] .rx-card:hover { transform:translateY(-3px) !important; box-shadow:var(--rb-shadow-hover) !important; border-color:var(--rb-muted) !important; }
    html[data-rx-bento] .rx-foot-links a:hover { color:#FFB4A8 !important; }
  }
  @media (max-width:1199px) {
    html[data-rx-bento] .rx-header-in { gap:16px !important; }
    html[data-rx-bento] .rx-header .custom-logo { width:134px !important; }
    html[data-rx-bento] .rxmm2-inner { grid-template-columns:248px minmax(0,1fr) 236px !important; }
    html[data-rx-bento] .rxmm2-main { padding:20px !important; }
    html[data-rx-bento] .rxmm2-aside { padding:16px !important; }
    html[data-rx-bento] .rxmm2-promo { padding:16px !important; }
  }
  @media (max-width:1023px) {
    html[data-rx-bento] .rxmm2-inner { grid-template-columns:248px minmax(0,1fr) !important; }
    html[data-rx-bento] .rx-header-in { min-height:76px !important; }
    html[data-rx-bento] .rx-hdr-right { gap:8px !important; }
    html[data-rx-bento] .rx-hdr-mail { display:none !important; }
    html[data-rx-bento] .rx-hdr-cta { font-size:14px !important; padding:12px 16px !important; }
    html[data-rx-bento] .rx-foot-cta { grid-template-columns:1fr !important; gap:28px !important; }
  }
  @media (max-width:860px) {
    html[data-rx-bento] .rxmm2-inner { grid-template-columns:minmax(0,1fr) !important; }
    html[data-rx-bento] .rxmm2-panel { border-radius:0 !important; border-inline:0 !important; }
    html[data-rx-bento] .rxmm2-rail { border-right:0 !important; border-bottom:1px solid var(--rb-line) !important; }
    html[data-rx-bento] .rxmm2-main { padding:18px !important; }
    html[data-rx-bento] .rxmm2-foot { padding:12px 18px !important; }
    html[data-rx-bento] .rx-foot-cols { grid-template-columns:1fr !important; gap:28px !important; }
  }
  @media (max-width:680px) {
    html[data-rx-bento] { --rb-gutter:16px !important; --rb-space:16px !important; --rb-radius:20px !important; scroll-padding-top:180px !important; }
    html[data-rx-bento] body { padding-right:0 !important; }
    html[data-rx-bento] :where(h1) { font-size:clamp(28px,8vw,36px) !important; }
    html[data-rx-bento] :where(h2) { font-size:clamp(24px,6.8vw,30px) !important; }
    html[data-rx-bento] :where(.rx-cards) { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
    html[data-rx-bento] :where(.rx-card-body) { padding:20px !important; }
    html[data-rx-bento] .rx-header-in { flex-wrap:wrap !important; gap:10px !important; padding-block:12px !important; }
    html[data-rx-bento] .rx-header .custom-logo { width:128px !important; }
    html[data-rx-bento] .rx-hdr-right { flex:1 1 auto !important; gap:8px !important; }
    html[data-rx-bento] .rx-hdr-tel { font-size:14px !important; }
    html[data-rx-bento] :where(.rx-hdr-price,.rx-hdr-contacts,.rb-theme-toggle) { border-radius:11px !important; }
    html[data-rx-bento] .rx-hdr-cta { min-height:44px !important; font-size:14px !important; padding:10px 12px !important; }
    html[data-rx-bento] nav.rxmm2 { --rxmm2-bar:60px !important; }
    html[data-rx-bento] .rxmm2-barin { padding-inline:16px !important; gap:8px !important; }
    html[data-rx-bento] .rxmm2-all { padding:0 14px !important; font-size:14px !important; gap:8px !important; }
    html[data-rx-bento] .rxmm2-side { gap:8px !important; padding-left:0 !important; }
    html[data-rx-bento] .rxmm2-hot { padding:0 10px !important; font-size:14px !important; gap:6px !important; }
    html[data-rx-bento] .rxmm2-tg { width:44px !important; min-width:44px !important; padding:10px !important; }
    html[data-rx-bento] .rxmm2-list { grid-template-columns:minmax(0,1fr) !important; }
    html[data-rx-bento] .rxmm2-i { font-size:14px !important; }
    html[data-rx-bento] .rxmm2-chip { min-height:44px !important; }
    html[data-rx-bento] .rx-ai__head { padding:18px 16px !important; }
    html[data-rx-bento] .rx-ai__head-right { gap:8px !important; flex-wrap:wrap !important; }
    html[data-rx-bento] .rx-ai__log { padding:20px 16px !important; gap:20px !important; }
    html[data-rx-bento] .rx-ai__msg { max-width:100% !important; font-size:16px !important; }
    html[data-rx-bento] .rx-ai__msg--user { max-width:92% !important; }
    html[data-rx-bento] .rx-ai__form { padding:22px 16px calc(18px + env(safe-area-inset-bottom,0px)) !important; flex-wrap:wrap !important; }
    html[data-rx-bento] .rx-ai__form::before { left:20px !important; font-size:14px !important; }
    html[data-rx-bento] .rx-ai__form textarea { flex:1 1 100% !important; border-radius:13px !important; padding:14px !important; }
    html[data-rx-bento] .rx-ai__send { width:100% !important; }
    html[data-rx-bento] .rx-ai--float { border-radius:22px 22px 0 0 !important; }
    html[data-rx-bento] .rx-ai-cta-panel { padding:24px !important; gap:18px !important; }
    html[data-rx-bento] .rx-ai__cta-inline { width:100% !important; }
    html[data-rx-bento] .rx-sitefoot { margin-top:40px !important; }
    html[data-rx-bento] .rx-sitefoot > .rx-wrap { padding-top:36px !important; }
    html[data-rx-bento] .rx-foot-cta { padding-bottom:32px !important; gap:24px !important; }
    html[data-rx-bento] .rx-foot-cols { padding-block:32px !important; }
    html[data-rx-bento] .rx-foot-req-grid { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
  }
  @media (max-width:480px) {
    html[data-rx-bento] .rx-header-in > div:first-child { flex:1 1 calc(100% - 54px) !important; }
    html[data-rx-bento] .rx-hdr-right { width:100% !important; justify-content:flex-start !important; }
    html[data-rx-bento] .rx-hdr-cta { flex:1 1 auto !important; }
    html[data-rx-bento] .rx-header-in > .rb-theme-toggle { margin-left:auto !important; }
    html[data-rx-bento] .rxmm2-barin { padding-inline:12px !important; gap:6px !important; }
    html[data-rx-bento] .rxmm2-side { gap:6px !important; }
    html[data-rx-bento] .rxmm2-all { padding-inline:12px !important; }
    html[data-rx-bento] .rxmm2-hot { padding-inline:8px !important; font-size:14px !important; }
    html[data-rx-bento] .rxmm2-hot .rxmm2-dot { width:6px !important; height:6px !important; }
  }
  @media (max-width:620px) {
    html[data-rx-bento] .rx-hdr-tel:not(.rx-hdr-mail) {
      display:inline-flex !important; align-items:center !important; justify-content:center !important;
      width:44px !important; min-width:44px !important; height:44px !important; padding:0 !important;
      border:1px solid var(--rb-line) !important; border-radius:11px !important; background:var(--rb-soft) !important;
      font-size:0 !important; flex-shrink:0 !important;
    }
    html[data-rx-bento] .rx-hdr-tel:not(.rx-hdr-mail)::before { content:"\260E" !important; font-size:20px !important; line-height:1 !important; }
  }
  @media (prefers-reduced-motion:reduce) {
    html[data-rx-bento] { scroll-behavior:auto !important; }
    html[data-rx-bento] :where(*,*::before,*::after) { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }
  html[data-rx-bento] [hidden] { display:none !important; }
}

@layer redicoBento {
 html[data-rx-bento] :is(section,h2,h3)[id] {scroll-margin-top:210px!important;}
 @media(max-width:860px) {
  html[data-rx-bento] .rxmm2.rxmb .rxmm2-find {width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;}
  html[data-rx-bento] .rxmb-cta {background:var(--rb-surface)!important;border-top:1px solid var(--rb-line)!important;padding:12px!important;gap:10px!important;}
  html[data-rx-bento] .rxmb-cta a {min-height:44px!important;border-radius:12px!important;font:600 14px/1.4 var(--rb-font)!important;}
  html[data-rx-bento] .rxmb-p {color:#fff!important;background:var(--rb-accent)!important;}
  html[data-rx-bento] .rxmb-s {color:var(--rb-ink)!important;background:var(--rb-soft)!important;border-color:var(--rb-line)!important;}
 }
}

@layer redicoBento {
  /* Readability revision: content 18px, controls 16px, supporting text >=14px. */
  html[data-rx-bento] body {font-size:18px!important;line-height:1.6!important;}
  html[data-rx-bento] :where(p,li,dt,dd,td,th,label,summary) {font-family:var(--rb-font)!important;letter-spacing:normal!important;}
  html[data-rx-bento] :where(.rxmm2-cat,.rxmm2-i,.rxmm2-promo p,.rxmm2-btn,.rxmm2-btn2,.rxmm2-railcta) {font-size:16px!important;line-height:1.5!important;}
  html[data-rx-bento] :where(.rxmm2-tab) {font-size:14px!important;}
  html[data-rx-bento] :where(.rx-ai__msg,.rx-ai__msg p,.rx-ai__msg li) {font-size:18px!important;line-height:1.65!important;}
  html[data-rx-bento] :where(.rx-ai__consent,.rx-ai__lead-note,.rx-ai__lead-trust,.rx-ai__field-err,.rx-ai__aside-link-label,.rx-ai__sub,.rx-ai__form::before) {font-size:14px!important;line-height:1.5!important;}
  html[data-rx-bento] :where(.rx-ai__chip,.rx-ai__calc,.rx-ai__send,.rx-foot-links a,.rx-foot-inp,.rx-modal-inp,.rx-modal-btn) {font-size:16px!important;}
  html[data-rx-bento] .rx-sitefoot :where(p,li,label,small,.rx-foot-bottom,.rx-foot-desc,.rx-foot-meta) {font-size:14px!important;line-height:1.6!important;}
  html[data-rx-bento] :where(input,textarea)::placeholder {opacity:1!important;}
}
@layer redicoBento {
 html[data-rx-bento] .rx-eyebrow2 span {font:600 14px/1.5 var(--rb-font)!important;color:var(--rb-accent-text)!important;letter-spacing:.07em!important;}
 html[data-rx-bento] :where(.rx-ai__aside-list span,.rx-ai__aside-eyebrow,.rx-ai__aside-list small,.rx-foot-consent span,.rx-foot-bottom span) {font-size:14px!important;line-height:1.5!important;}
}
