:root {
  --rf-bg: #07120b;
  --rf-bg-soft: #0d1c13;
  --rf-surface: rgba(9, 25, 15, 0.84);
  --rf-surface-2: rgba(8, 20, 12, 0.92);
  --rf-text: #f2f7f3;
  --rf-muted: #c6d6cb;
  --rf-line: rgba(255,255,255,.10);
  --rf-accent: #006729;
  --rf-accent-strong: #0a8d41;
  --rf-accent-2: #38b56e;
  --rf-accent-soft: rgba(0,103,41,.18);
  --rf-radius: 24px;
  --rf-shadow: 0 18px 44px rgba(0,0,0,.28);
  --rf-header-bg: linear-gradient(180deg, rgba(5,16,10,.96), rgba(7,23,13,.84));
  --rf-header-border: rgba(255,255,255,.09);
  --rf-page-bg: linear-gradient(180deg, #06120a 0%, #0a1710 46%, #101b14 100%);
}
.theme-light {
  --rf-bg: #f4f8f5;
  --rf-bg-soft: #edf4ef;
  --rf-surface: rgba(255,255,255,.86);
  --rf-surface-2: rgba(247,250,248,.96);
  --rf-text: #17241a;
  --rf-muted: #55665b;
  --rf-line: rgba(11,28,17,.10);
  --rf-accent: #006729;
  --rf-accent-strong: #0a8d41;
  --rf-accent-2: #2f9f61;
  --rf-accent-soft: rgba(0,103,41,.10);
  --rf-header-bg: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,245,.90));
  --rf-header-border: rgba(11,28,17,.08);
  --rf-page-bg: linear-gradient(180deg, #f7fbf8 0%, #eef5f0 52%, #e8f0ea 100%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body.rollerflow { margin: 0; color: var(--rf-text); background: var(--rf-page-bg); font-family: Inter, Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:1rem; top:1rem; z-index:9999; background:#fff; color:#000; padding:.75rem 1rem; border-radius:10px; }
.uk-container-expand { max-width: min(1680px, calc(100vw - 3rem)); }
body.width-standard .uk-container-expand { max-width: min(1320px, calc(100vw - 3rem)); }
body.width-wide .uk-container-expand { max-width: min(1640px, calc(100vw - 3rem)); }
body.width-full .uk-container-expand { max-width: calc(100vw - 2rem); }

.rf-header { position: sticky; top: 0; z-index: 200; backdrop-filter: blur(16px); background: var(--rf-header-bg); border-bottom: 1px solid var(--rf-header-border); }
.rf-header__inner { min-height: var(--rf-header-height); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.25rem; width: min(1680px, calc(100vw - 3rem)); margin: 0 auto; padding: .8rem 0; }
.rf-brand__link { display: flex; align-items: center; gap: .95rem; }
.rf-brand__logo { width: auto; height: var(--rf-logo-size); max-width: var(--rf-logo-width, 220px); border-radius: 0; background: transparent; padding: 0; box-shadow: none; object-fit: contain; display:block; }
.rf-brand__text { font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; }
.theme-light .rf-brand__text, .theme-light .rf-topbar { color: #16202a; }
.rf-topbar { justify-self: center; color: var(--rf-muted); }
.rf-nav { justify-self: end; width: 100%; }
.rf-menu-shell { width: 100%; }
.rf-desktop-nav { position: relative; display: block; overflow: visible; }
.rf-nav-menu { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .35rem; flex-direction: row; }
.level-1-menu { position: relative; display: flex; align-items: center; }
.menu-link { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: .85rem 1rem; font-size: .92rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #e9eef6; border-radius: 999px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.menu-link::before { content:''; position:absolute; left:1rem; right:1rem; bottom:.5rem; height:2px; border-radius:999px; background: linear-gradient(90deg, var(--rf-accent), var(--rf-accent-2)); transform: scaleX(.18); transform-origin:left center; opacity:0; transition: transform .28s ease, opacity .28s ease; }
.menu-link:hover::before, .level-1-menu.active-node > .menu-link::before, .menu-link.active-node::before, .level-1-menu.mega-open > .menu-link::before { opacity:1; transform: scaleX(1); }
.menu-link:hover, .level-1-menu.active-node > .menu-link, .menu-link.active-node, .level-1-menu.mega-open > .menu-link { background: color-mix(in srgb, var(--rf-accent) 18%, transparent); color: #fff; transform: translateY(-1px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rf-accent) 28%, transparent); }
.theme-light .menu-link { color:#1b2733; }
.theme-light .menu-link:hover, .theme-light .level-1-menu.active-node > .menu-link, .theme-light .menu-link.active-node, .theme-light .level-1-menu.mega-open > .menu-link { background: rgba(20,31,43,.08); color:#091018; }
.level-1-menu.hasChild > .menu-link::after { content: ''; width: 8px; height: 8px; margin-left: .65rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .85; }

.rf-animated-menu { border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); overflow: hidden; padding-top: .28rem; }
.theme-light .rf-animated-menu { border-top-color: rgba(15,24,34,.08); border-bottom-color: rgba(15,24,34,.08); }
.rf-animated-menu__fallback { display: flex; gap: 2rem; white-space: nowrap; animation: rf-marquee 28s linear infinite; width: max-content; padding: .52rem 1.5rem .24rem; color: rgba(255,255,255,.78); text-transform: uppercase; letter-spacing: .16em; font-weight: 700; font-size: .78rem; align-items: center; }
.theme-light .rf-animated-menu__fallback { color: rgba(17,29,39,.76); }
.rf-animated-menu__item { display: inline-flex; align-items: center; gap: .75rem; padding-right: .35rem; }
.rf-animated-menu__item > span { position: relative; display:inline-flex; align-items:center; min-height: 34px; padding: .46rem .95rem .42rem; border-radius: 12px 12px 10px 10px; background: linear-gradient(180deg, #d2a979, #b98549); color: #3c2510; border: 1px solid rgba(78,47,17,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 5px 10px rgba(0,0,0,.14); }
.rf-animated-menu__item > span::before { content:''; position:absolute; left:12px; right:12px; top:50%; height:2px; background: rgba(92,61,31,.22); transform: translateY(-50%); }
.rf-animated-menu__item > span::after { content:''; position:absolute; left:50%; top:6px; bottom:6px; width:2px; background: rgba(92,61,31,.16); transform: translateX(-50%); }
.theme-light .rf-animated-menu__item > span { box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 8px rgba(27,39,29,.08); }
.rf-animated-menu__track-shell { position: relative; height: 16px; margin: 0 .9rem .32rem; }
.rf-animated-menu__track { position:absolute; inset: 3px 0 3px 0; border-radius:999px; background: linear-gradient(180deg, rgba(78,87,100,.82), rgba(31,38,46,.96)); box-shadow: inset 0 1px 2px rgba(255,255,255,.12), inset 0 -2px 6px rgba(0,0,0,.32); }
.rf-animated-menu__rollers { position:absolute; inset:0; background-image: radial-gradient(circle, rgba(255,255,255,.24) 0 22%, transparent 26%); background-size: 16px 16px; background-position: center; opacity:.86; }
@keyframes rf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.rf-mobile-trigger { display: none; align-items: center; gap: .7rem; border: 1px solid var(--rf-line); background: rgba(255,255,255,.04); color: #fff; padding: .8rem .95rem; border-radius: 999px; }
.rf-mobile-trigger span:not(.rf-mobile-trigger__text) { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; }
.rf-mobile-trigger__text { font-weight: 700; }

.rf-mega-panel { position: absolute; left: 0; right: auto; top: calc(100% + .55rem); width: min(1120px, calc(100vw - 2rem)); background: linear-gradient(180deg, rgba(12,18,26,.98), rgba(14,21,32,.98)); border: 1px solid rgba(255,255,255,.10); border-radius: 28px; box-shadow: 0 28px 70px rgba(0,0,0,.42); opacity: 0; visibility: hidden; transform: translate(0, 12px); transition: opacity .22s ease, transform .22s ease, visibility .22s ease; pointer-events: none; overflow: hidden; z-index: 260; }
.theme-light .rf-mega-panel { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,248,251,.98)); border-color: rgba(12,19,29,.10); box-shadow: 0 28px 70px rgba(15,23,32,.16); }
.rf-mega-panel.is-open { opacity: 1; visibility: visible; transform: translate(0, 0); pointer-events: auto; }
.rf-mega-panel__grid { display: grid; grid-template-columns: 1.1fr .95fr .95fr; min-height: 430px; }
.rf-mega-editorial { padding: 2rem; background: linear-gradient(180deg, rgba(239,125,35,.13), rgba(255,255,255,.02)); border-right: 1px solid rgba(255,255,255,.07); }
.rf-mega-panel__eyebrow { color: var(--rf-accent-2); text-transform: uppercase; letter-spacing: .18em; font-size: .76rem; font-weight: 800; margin-bottom: .85rem; }
.rf-mega-panel__title { display: inline-block; font-size: clamp(1.7rem, 2vw, 2.3rem); font-weight: 800; margin-bottom: .85rem; }
.rf-mega-panel__intro { color: var(--rf-muted); line-height: 1.72; max-width: 32ch; margin: 0 0 1.4rem; }
.theme-light .rf-mega__heading, .theme-light .rf-mega-panel__title { color:#16202a; }
.rf-mega-cards { display: grid; gap: .9rem; }
.rf-mega-card { display: grid; grid-template-columns: 52px 1fr; gap: .95rem; align-items: center; padding: 1rem 1.05rem; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); border-radius: 20px; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.theme-light .rf-mega-card { background: rgba(16,29,42,.03); border-color: rgba(16,29,42,.08); }
.rf-mega-card:hover { transform: translateY(-2px); background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.16); }
.rf-mega-card__icon { width: 52px; height: 52px; border-radius: 18px; background: rgba(255,255,255,.10); position: relative; display: inline-block; }
.rf-mega-card__content strong { display: block; font-size: 1rem; margin-bottom: .2rem; }
.rf-mega-card__content small { display: block; color: var(--rf-muted); font-size: .88rem; line-height: 1.45; }
.rf-mega-card--group .rf-mega-card__icon::before,
.rf-mega-card--history .rf-mega-card__icon::before,
.rf-mega-card--contact .rf-mega-card__icon::before,
.rf-mega-card--rollers .rf-mega-card__icon::before,
.rf-mega-card--drive .rf-mega-card__icon::before,
.rf-mega-card--parts .rf-mega-card__icon::before,
.rf-mega-card--flow .rf-mega-card__icon::before,
.rf-mega-card--rail .rf-mega-card__icon::before,
.rf-mega-card--system .rf-mega-card__icon::before { content: ''; position: absolute; inset: 12px; border-radius: 12px; border: 2px solid rgba(255,255,255,.88); }
.rf-mega-card--group .rf-mega-card__icon::after { content: ''; position: absolute; width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(255,255,255,.88); left: 15px; top: 8px; box-shadow: 12px 10px 0 -6px rgba(255,255,255,.88), -12px 10px 0 -6px rgba(255,255,255,.88); }
.rf-mega-card--history .rf-mega-card__icon::after { content: ''; position: absolute; left: 16px; right: 16px; top: 25px; height: 2px; background: rgba(255,255,255,.88); box-shadow: 0 -10px 0 rgba(255,255,255,.88); }
.rf-mega-card--contact .rf-mega-card__icon::after { content: ''; position: absolute; left: 13px; right: 13px; top: 16px; bottom: 16px; border: 2px solid rgba(255,255,255,.88); clip-path: polygon(0 0,100% 0,50% 55%); }
.rf-mega-card--rollers .rf-mega-card__icon::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 12px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.88); box-shadow: 0 -16px 0 rgba(255,255,255,.35); }
.rf-mega-card--drive .rf-mega-card__icon::after { content: ''; position: absolute; left: 14px; top: 14px; width: 24px; height: 24px; border-radius: 50%; border: 3px solid rgba(255,255,255,.88); border-right-color: transparent; transform: rotate(18deg); }
.rf-mega-card--parts .rf-mega-card__icon::after { content: ''; position: absolute; inset: 18px; border-radius: 50%; border: 6px solid rgba(255,255,255,.88); }
.rf-mega-card--flow .rf-mega-card__icon::after { content: ''; position: absolute; left: 12px; right: 12px; top: 22px; height: 8px; background: rgba(255,255,255,.88); border-radius: 999px; }
.rf-mega-card--rail .rf-mega-card__icon::after { content: ''; position: absolute; left: 16px; right: 16px; top: 18px; bottom: 18px; border-left: 3px solid rgba(255,255,255,.88); border-right: 3px solid rgba(255,255,255,.88); }
.rf-mega-card--system .rf-mega-card__icon::after { content: ''; position: absolute; inset: 14px; border: 2px dashed rgba(255,255,255,.88); border-radius: 14px; }
.rf-mega__link-column { padding: 2rem 1.5rem; }
.rf-mega__group + .rf-mega__group { margin-top: 1.35rem; }
.rf-mega__heading { display: inline-block; margin-bottom: .65rem; font-size: 1.08rem; font-weight: 800; color: #fff; }
.rf-mega__heading.is-active, .rf-mega__link.is-active { color: var(--rf-accent-2); }
.rf-mega__links { display: grid; gap: .5rem; }
.rf-mega__link { color: var(--rf-muted); font-size: .95rem; line-height: 1.45; }
.rf-mega__link:hover { color: #fff; }
.rf-mega__empty { color: var(--rf-muted); padding: 2rem 1.6rem; display: flex; align-items: center; }

.rf-offcanvas { position: fixed; inset: 0; z-index: 260; pointer-events: none; }
.rf-offcanvas__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .22s ease; }
.rf-offcanvas__panel { position: absolute; top: 0; right: 0; width: min(90vw, 420px); background: #0d141d; transform: translateX(100%); transition: transform .25s ease; padding: 1rem 1rem 2rem; overflow: auto; border-left: 1px solid rgba(255,255,255,.08); box-shadow: -16px 0 44px rgba(0,0,0,.25); }
.rf-offcanvas.is-open { pointer-events: auto; }
.rf-offcanvas.is-open .rf-offcanvas__backdrop { opacity: 1; }
.rf-offcanvas.is-open .rf-offcanvas__panel { transform: translateX(0); }
.rf-offcanvas__head { display: flex; justify-content: space-between; align-items: center; padding: .5rem 0 1rem; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 1rem; }
.rf-offcanvas__close { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); color: #fff; font-size: 1.7rem; line-height: 1; }
.rf-mobile-menu__item { border-bottom: 1px solid rgba(255,255,255,.06); }
.rf-mobile-menu__row { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: center; }
.rf-mobile-menu__link { display: block; padding: 1rem 0; font-weight: 700; }
.rf-mobile-menu__toggle { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #fff; }
.rf-mobile-menu__panel { display: none; padding: 0 0 .5rem .85rem; }
.rf-mobile-menu__panel.show { display: block; }
body.rf-offcanvas-open { overflow: hidden; }

.rf-hero { position: relative; min-height: calc(var(--rf-hero-min-desktop, 100svh) - var(--rf-header-stack-height, 126px)); }
.rf-hero__media, .rf-hero__poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.rf-hero__backdrop { position: absolute; inset: -3%; background-size: cover; background-position: center; filter: blur(26px) saturate(1.08) brightness(.78); transform: scale(1.08); opacity: .92; }
.rf-hero__frame { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 0; overflow: hidden; }
.rf-hero__video, .rf-story__video { width: 100%; height: 100%; object-fit: cover; }
.rf-hero__video { object-position: var(--rf-hero-video-pos-x, 50%) var(--rf-hero-video-pos-y, 50%); filter: brightness(var(--rf-hero-video-brightness, 1.08)); }
.rf-hero--contain .rf-hero__video { object-fit: contain; max-width: 100%; max-height: 100%; object-position: center bottom; }
.rf-hero--contain .rf-hero__poster { background-size: contain; background-repeat: no-repeat; background-position: center bottom; }
.rf-hero__poster, .rf-story__image { background-size: cover; background-position: center; background-repeat: no-repeat; }
.rf-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,12,18,var(--rf-hero-overlay-top, .16)) 0%, rgba(8,12,18,var(--rf-hero-overlay-mid, .26)) 42%, rgba(8,12,18,var(--rf-hero-overlay-bottom, .44)) 100%); }
.rf-hero__content { position: relative; z-index: 2; min-height: calc(var(--rf-hero-min-desktop, 100svh) - var(--rf-header-stack-height, 126px)); padding-top: max(2rem, var(--rf-hero-y)); padding-bottom: clamp(1rem, 3vh, 2rem); display: grid; align-items: end; }
.rf-hero--reveal-scroll .rf-hero__text { opacity: 0; transform: translateY(28px); transition: opacity .45s ease, transform .55s ease; }
body.rf-has-scrolled .rf-hero--reveal-scroll .rf-hero__text, body:not([data-hero-reveal="1"]) .rf-hero__text { opacity: 1; transform: translateY(0); }
.rf-hero__text { width: min(var(--rf-hero-max), calc(100vw - 4rem)); margin-top: auto; margin-bottom: clamp(.5rem, 3vh, 2rem); color: #fff; text-align: var(--rf-hero-align); justify-self: start; margin-left: var(--rf-hero-x); margin-right: var(--rf-hero-x); padding: clamp(1rem, 2vw, 1.8rem); background: rgba(8,12,18,var(--rf-hero-box-opacity, .72)); border: 1px solid rgba(255,255,255,.12); border-radius: 28px; backdrop-filter: blur(12px); box-shadow: 0 24px 44px rgba(0,0,0,.20); }
body.hero-align-center .rf-hero__text { margin-left: auto; margin-right: auto; }
body.hero-align-right .rf-hero__text { margin-left: auto; margin-right: var(--rf-hero-x); }
body { --rf-hero-x: 8%; --rf-hero-y: 22%; }
body[style] { }
.rf-eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; color: var(--rf-accent-2); font-size: .82rem; text-transform: uppercase; letter-spacing: .22em; font-weight: 800; }
.rf-eyebrow::before { content: ''; width: 42px; height: 2px; background: currentColor; }
.rf-hero__text h1 { font-size: clamp(3rem, 6vw, 6rem); line-height: .95; margin: 0 0 1.2rem; max-width: 12ch; }
.rf-hero__subtitle { color: rgba(255,255,255,.86); font-size: clamp(1.02rem, 1.45vw, 1.2rem); line-height: 1.8; max-width: 62ch; }
.rf-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.rf-btn-primary { background: linear-gradient(135deg, var(--rf-accent), var(--rf-accent-2)); color: #fff; border-radius: 999px; padding: .95rem 1.35rem; font-weight: 800; border: 0; box-shadow: 0 12px 24px rgba(0,103,41,.28); }


.rf-conveyor-nav { position: relative; padding: var(--rf-conveyor-pad-top, 44px) 0 var(--rf-conveyor-pad-bottom, 56px); background: linear-gradient(180deg, rgba(10,16,23,.96), rgba(10,16,23,.72)); border-top: 1px solid rgba(255,255,255,.05); }
.theme-light .rf-conveyor-nav { background: linear-gradient(180deg, rgba(244,247,250,.98), rgba(251,252,253,.96)); border-top-color: rgba(15,24,34,.08); }
.rf-conveyor-nav__intro { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom: 1.4rem; }
.rf-conveyor-nav__intro h2 { margin:0; font-size: clamp(1.6rem, 2.5vw, 2.5rem); }
.rf-conveyor-nav__grid { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1rem; }
.rf-conveyor-card { position:relative; display:block; padding: 1rem 1rem 1.2rem; border-radius: 22px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); overflow:hidden; min-height: 180px; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.rf-conveyor-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.055); }
.rf-conveyor-card__stage { position:relative; display:block; height: 104px; margin-bottom: .9rem; }
.rf-conveyor-card__track { position:absolute; left:0; right:0; bottom: 18px; height: 22px; border-radius: 999px; background: linear-gradient(180deg, #596675 0%, #2c333c 100%); box-shadow: inset 0 2px 4px rgba(255,255,255,.08), inset 0 -4px 9px rgba(0,0,0,.28); }
.rf-conveyor-card__track::before { content:''; position:absolute; inset: 2px 8px; background-image: radial-gradient(circle, rgba(255,255,255,.28) 0 22%, transparent 26%); background-size: 20px 20px; }
.rf-conveyor-card__icon { position:absolute; left: 18px; top: 18px; width: 74px; height: 74px; border-radius: 20px; transition: transform var(--rf-conveyor-speed, 560ms) ease, opacity calc(var(--rf-conveyor-speed, 560ms) * .8) ease, filter calc(var(--rf-conveyor-speed, 560ms) * .8) ease; }
.rf-conveyor-card__icon::before, .rf-conveyor-card__icon::after { content:''; position:absolute; }
.rf-conveyor-card__icon--mono { background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.rf-conveyor-card__icon--color { background: linear-gradient(135deg, color-mix(in srgb, var(--rf-accent) 32%, white), color-mix(in srgb, var(--rf-accent-2) 20%, white)); border:1px solid color-mix(in srgb, var(--rf-accent-2) 50%, transparent); transform: translateX(140%); opacity: 0; }
.rf-conveyor-card:hover .rf-conveyor-card__icon--mono { transform: translateX(-140%); opacity:0; }
.rf-conveyor-card:hover .rf-conveyor-card__icon--color { transform: translateX(0); opacity:1; }
.rf-conveyor-card__label { display:block; font-size: 1rem; font-weight: 800; }
.theme-light .rf-conveyor-card { color:#16202a; background: rgba(255,255,255,.82); border-color: rgba(15,24,34,.08); }
.theme-light .rf-conveyor-card__stage { background: rgba(15,24,34,.04); }
.rf-conveyor-card--rollers .rf-conveyor-card__icon::before { inset: 18px 14px auto 14px; height: 12px; border-radius: 999px; background: currentColor; box-shadow: 0 18px 0 rgba(255,255,255,.45); }
.rf-conveyor-card--drive .rf-conveyor-card__icon::before { left: 20px; top: 20px; width: 34px; height: 34px; border-radius:50%; border:4px solid currentColor; border-right-color: transparent; transform: rotate(16deg); }
.rf-conveyor-card--flow .rf-conveyor-card__icon::before { left: 16px; right: 16px; top: 31px; height: 10px; border-radius:999px; background: currentColor; }
.rf-conveyor-card--system .rf-conveyor-card__icon::before { inset: 17px; border: 3px dashed currentColor; border-radius: 16px; }
.rf-conveyor-card--contact .rf-conveyor-card__icon::before { left: 14px; right: 14px; top: 18px; bottom: 22px; border: 3px solid currentColor; clip-path: polygon(0 0,100% 0,50% 55%); }
.rf-conveyor-card__icon--mono { color: rgba(255,255,255,.88); }
.rf-conveyor-card__icon--color { color: var(--rf-accent-strong); }

.rf-story { position: relative; height: 650svh; }
.rf-story__pin { position: relative; min-height: calc(100svh - var(--rf-header-stack-height, var(--rf-header-height))); overflow: clip; }
.rf-story.is-pinned .rf-story__pin { position: fixed; left: 0; right: 0; top: var(--rf-header-stack-height, var(--rf-header-height)); z-index: 18; }
.rf-story.is-ended .rf-story__pin { position: absolute; left: 0; right: 0; bottom: 0; top: auto; }
.rf-story__media, .rf-story__shade { position: absolute; inset: 0; }
.rf-story__shade { background: linear-gradient(180deg, rgba(7,10,15,var(--rf-story-overlay-top, .10)), rgba(7,10,15,var(--rf-story-overlay-mid, .24)) 35%, rgba(7,10,15,var(--rf-story-overlay-bottom, .42))); }
.rf-story__video { filter: brightness(var(--rf-story-video-brightness, 1.04)); }
.rf-story__overlay { position: relative; min-height: calc(100svh - var(--rf-header-stack-height, var(--rf-header-height))); display: grid; }
.rf-story__intro { position: absolute; top: var(--rf-story-intro-y); left: var(--rf-story-intro-x); right: auto; width: min(var(--rf-story-intro-max), calc(100vw - 4rem)); z-index: 3; font-weight: 700; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.8; color: rgba(255,255,255,.88); text-align: var(--rf-story-intro-align); }
.rf-story__package-stage { position: absolute; left: 6%; right: 6%; bottom: 8%; height: 170px; z-index: 1; }
.rf-story__track { position: absolute; left: 0; right: 0; top: 50%; height: 86px; transform: translateY(-50%); border-radius: 999px; background: linear-gradient(180deg, #556272 0%, #2b313b 100%); box-shadow: inset 0 3px 8px rgba(255,255,255,.08), inset 0 -8px 14px rgba(0,0,0,.26); }
.rf-story__rollers { position: absolute; left: 2%; right: 2%; top: 50%; height: 106px; transform: translateY(-50%); background-image: radial-gradient(circle, rgba(255,255,255,.24) 0 28%, transparent 31%); background-size: 56px 56px; opacity: .88; }
.rf-story__package { position: absolute; left: 0; top: 50%; width: 132px; height: 88px; transform: translate(0, -72%); border-radius: 12px; background: linear-gradient(180deg, #dca066 0%, #b6763a 100%); box-shadow: 0 18px 28px rgba(0,0,0,.25); display: flex; align-items: center; justify-content: center; color: #2f1b0c; font-weight: 900; letter-spacing: .08em; }
.rf-story__package::before, .rf-story__package::after { content: ''; position: absolute; background: rgba(255,255,255,.18); }
.rf-story__package::before { left: 50%; top: 0; bottom: 0; width: 3px; transform: translateX(-50%); }
.rf-story__package::after { left: 0; right: 0; top: 50%; height: 3px; transform: translateY(-50%); }
.rf-story__copy { position: absolute; top: var(--rf-story-panel-y); width: min(var(--rf-story-panel-max), calc(100vw - 4rem)); z-index: 3; min-height: 430px; }
body { --rf-story-panel-y: 15%; --rf-story-panel-x: 6%; --rf-story-intro-y: 10%; --rf-story-intro-x: 6%; }
body[style] { }
body .rf-story__copy { right: var(--rf-story-panel-x); left: auto; text-align: var(--rf-story-panel-align); }
body.story-panel-align-left .rf-story__copy { left: var(--rf-story-panel-x); right: auto; }
body.story-panel-align-center .rf-story__copy { left: 50%; right: auto; transform: translateX(-50%); }
body.story-intro-align-right .rf-story__intro { right: var(--rf-story-intro-x); left: auto; }
body.story-intro-align-center .rf-story__intro { left: 50%; transform: translateX(-50%); right: auto; }
.rf-story-step { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: stretch; opacity: 0; transform: translateY(34px); transition: opacity .32s ease, transform .32s ease; }
.rf-story-step.is-active { opacity: 1; transform: translateY(0); }
.rf-story-step__inner { background: rgba(9,14,21,.78); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.10); border-radius: 24px; padding: clamp(1.2rem, 2vw, 2rem); box-shadow: var(--rf-shadow); width: 100%; }
.theme-light .rf-story-step__inner { background: rgba(255,255,255,.82); border-color: rgba(15,24,34,.08); }
.theme-light .rf-story-step h2, .theme-light .rf-story-step__body { color:#16202a; }
.rf-story-step__count { margin: 0 0 .75rem; color: var(--rf-accent-2); font-size: .82rem; font-weight: 800; letter-spacing: .18em; }
.rf-story-step h2 { font-size: clamp(1.8rem, 2.9vw, 3rem); line-height: 1.04; margin: 0 0 .85rem; }
.rf-story-step__body { color: var(--rf-muted); font-size: 1.02rem; line-height: 1.75; }

.rf-content-top-block { padding: 1.25rem 0 0; }
.rf-content-top-block > * + * { margin-top: 1rem; }
.rf-main { padding: 2rem 0 5rem; }
.rf-layout { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr) minmax(0, 280px); gap: 1.5rem; align-items: start; }
.rf-sidebar:empty { display: none; }
.rf-component, .module-card { background: rgba(255,255,255,.03); border: 1px solid var(--rf-line); border-radius: var(--rf-radius); padding: 1.25rem; }
.theme-light .rf-component, .theme-light .module-card { background: rgba(255,255,255,.88); }
.module-card + .module-card { margin-top: 1rem; }
.module-title { margin-top: 0; font-size: 1.2rem; }
.rf-fullwidth, .rf-bottom-grid { margin-top: 2rem; }
.rf-bottom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rf-footer { border-top: 1px solid var(--rf-line); padding: 2rem 0 3rem; color: var(--rf-muted); }
.rf-footer__copy { margin-top: 1rem; }

@media (max-width: 1199px) {
  .rf-header__inner { grid-template-columns: auto auto; }
  .rf-topbar { display: none; }
  .rf-layout { grid-template-columns: 1fr; }
  .rf-bottom-grid { grid-template-columns: 1fr; }
  .rf-mega-panel__grid { grid-template-columns: 1fr 1fr; }
  .rf-mega-editorial { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
}
@media (max-width: 960px) {
  .rf-header__inner { width: calc(100vw - 1.5rem); padding: .7rem 0; }
  .rf-nav { justify-self: end; width: auto; }
  .rf-brand__text { font-size: .96rem; }
  .rf-mobile-trigger { display: inline-flex; }
  .rf-desktop-nav { display: none; }
  .rf-animated-menu__fallback { gap: 1.4rem; font-size: .72rem; letter-spacing: .14em; }
  .rf-conveyor-nav__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rf-hero { min-height: calc(var(--rf-hero-min-mobile, 74svh) - var(--rf-header-stack-height, 118px)); }
  .rf-hero__content { min-height: calc(var(--rf-hero-min-mobile, 74svh) - var(--rf-header-stack-height, 118px)); padding-top: max(1rem, var(--rf-hero-y-mobile)); padding-bottom: .8rem; }
  .rf-hero__video { object-position: var(--rf-hero-video-pos-x-mobile, 56%) var(--rf-hero-video-pos-y-mobile, 50%); }
  .rf-hero__text { margin-top: auto; margin-bottom: .75rem; width: min(var(--rf-hero-max-mobile), calc(100vw - 2rem)); margin-left: var(--rf-hero-x-mobile); margin-right: var(--rf-hero-x-mobile); text-align: var(--rf-hero-align-mobile); }
  body.hero-align-mobile-center .rf-hero__text { margin-left: auto; margin-right: auto; }
  body.hero-align-mobile-right .rf-hero__text { margin-left: auto; margin-right: var(--rf-hero-x-mobile); }
  .rf-hero__text h1 { font-size: clamp(2.3rem, 10vw, 4rem); }
  .rf-story { height: auto; }
  .rf-story__pin { position: relative !important; top: 0; min-height: auto; }
  .rf-story__overlay { min-height: 100svh; padding: 6rem 0 2rem; }
  .rf-story__intro { position: relative; top: auto; left: auto; right: auto; transform: none !important; width: min(100%, calc(100vw - 2rem)); margin: 0 auto 1rem; text-align: left; }
  .rf-story__package-stage { position: relative; left: auto; right: auto; bottom: auto; margin: 1rem auto 1.5rem; width: min(100%, calc(100vw - 2rem)); height: 150px; }
  .rf-story__copy { position: relative; top: auto; left: auto !important; right: auto !important; transform: none !important; width: min(var(--rf-story-panel-max-mobile), calc(100vw - 2rem)); margin: 0 auto; min-height: 0; text-align: var(--rf-story-panel-align-mobile); }
  .rf-story-step { position: relative; inset: auto; opacity: 1; transform: none; display: none; }
  .rf-story-step.is-active { display: block; }
}

.level-1-menu:first-child .rf-mega-panel { left: 0; transform: translate(0, 12px); }
.level-1-menu:first-child .rf-mega-panel.is-open { transform: translate(0, 0); }
.level-1-menu:last-child .rf-mega-panel { left: auto; right: 0; transform: translate(0, 12px); }
.level-1-menu:last-child .rf-mega-panel.is-open { transform: translate(0, 0); }

@media (max-width: 960px) {
  .rf-hero__backdrop { inset: -6%; filter: blur(18px) saturate(1.04) brightness(.82); }
  .rf-hero--contain .rf-hero__frame { padding: .5rem 0; }
  .rf-mega-panel { display: none !important; }
}

.rf-hero, .rf-conveyor-nav { overflow-x: clip; }
.rf-header, .rf-header__sticky { overflow: visible; }

.theme-light .rf-hero__text { background: rgba(255,255,255,var(--rf-hero-box-opacity, .78)); border-color: rgba(0,103,41,.12); }
.theme-light .rf-hero__subtitle { color: rgba(23,36,26,.86); }
.theme-light .rf-conveyor-nav__intro h2 { color: var(--rf-text); }

.rf-pos-label { display:inline-flex; align-items:center; gap:.45rem; margin:.25rem 0 .5rem; padding:.32rem .6rem; border-radius:999px; background: color-mix(in srgb, var(--rf-accent) 16%, white 84%); color:#11311d; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border:1px dashed color-mix(in srgb, var(--rf-accent) 46%, transparent); }
.theme-dark .rf-pos-label { background: color-mix(in srgb, var(--rf-accent) 24%, rgba(255,255,255,.06)); color:#e9f6ee; }
.rf-pos-label::before { content:"Position"; opacity:.72; font-weight:700; }


/* v3.1 mobile + variant styles */
.rf-animated-menu__flow,.rf-animated-menu__pulse{display:none;}
.topband-style-flow .rf-animated-menu__fallback,.topband-style-flow .rf-animated-menu__track-shell{display:none;}
.topband-style-flow .rf-animated-menu__flow{display:flex;gap:.8rem;white-space:nowrap;animation:rf-marquee 26s linear infinite;width:max-content;padding:.65rem 1rem .7rem;align-items:center;}
.rf-flow-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .95rem;border-radius:999px;background:color-mix(in srgb,var(--rf-accent) 16%, transparent);border:1px solid color-mix(in srgb,var(--rf-accent) 36%, transparent);font-weight:700;font-size:.86rem;letter-spacing:.04em;}
.rf-flow-pill::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--rf-accent-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--rf-accent) 18%, transparent);}
.topband-style-pulse .rf-animated-menu__fallback,.topband-style-pulse .rf-animated-menu__track-shell{display:none;}
.topband-style-pulse .rf-animated-menu__pulse{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;align-items:center;padding:.8rem 1rem 1rem;position:relative;}
.rf-pulse-line{position:absolute;left:1rem;right:1rem;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--rf-accent),transparent);opacity:.35;}
.rf-pulse-node{position:relative;display:flex;justify-content:center;}
.rf-pulse-node::before{content:'';width:16px;height:16px;border-radius:50%;background:var(--rf-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--rf-accent) 18%, transparent);animation:rfPulse 2.8s ease-in-out infinite;}
.rf-pulse-node span{position:absolute;top:1.2rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--rf-muted);}
.rf-pulse-node:nth-child(3)::before{animation-delay:.35s}.rf-pulse-node:nth-child(4)::before{animation-delay:.7s}.rf-pulse-node:nth-child(5)::before{animation-delay:1.05s}.rf-pulse-node:nth-child(6)::before{animation-delay:1.4s}.rf-pulse-node:nth-child(7)::before{animation-delay:1.75s}
@keyframes rfPulse{0%,100%{transform:scale(.82);opacity:.66}50%{transform:scale(1.08);opacity:1}}

.quicknav-style-cards .rf-conveyor-nav__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem;}
.quicknav-style-cards .rf-conveyor-card{min-height:208px;background:linear-gradient(180deg,color-mix(in srgb,var(--rf-accent) 10%, transparent),rgba(255,255,255,.04));}
.quicknav-style-cards .rf-conveyor-card__stage{height:124px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));border-radius:18px;padding:.6rem;}
.quicknav-style-cards .rf-conveyor-card__track{bottom:22px;height:18px;}
.quicknav-style-cards .rf-conveyor-card__icon{top:10px;left:18px;width:82px;height:82px;border-radius:24px;}
.quicknav-style-cards .rf-conveyor-card__label{font-size:1.04rem;}
.quicknav-style-rail .rf-conveyor-nav__grid{display:flex;gap:0;align-items:flex-start;position:relative;padding-top:2rem;overflow-x:auto;scroll-snap-type:x proximity;}
.quicknav-style-rail .rf-conveyor-nav__grid::before{content:'';position:absolute;left:0;right:0;top:4.1rem;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--rf-accent-soft),color-mix(in srgb,var(--rf-accent) 45%, transparent),var(--rf-accent-soft));}
.quicknav-style-rail .rf-conveyor-card{flex:1 0 210px;min-height:156px;background:transparent;border:none;padding:0 .85rem 0 0;scroll-snap-align:start;overflow:visible;}
.quicknav-style-rail .rf-conveyor-card__stage{height:92px;margin-bottom:.45rem;}
.quicknav-style-rail .rf-conveyor-card__track{left:18px;right:18px;bottom:26px;height:10px;background:linear-gradient(180deg,#6b7788,#39424d);}
.quicknav-style-rail .rf-conveyor-card__track::before{inset:1px 12px;background-image:none;}
.quicknav-style-rail .rf-conveyor-card__icon{left:50%;top:0;transform:translateX(-50%);width:68px;height:68px;border-radius:50%;}
.quicknav-style-rail .rf-conveyor-card__icon--color{transform:translate(-50%,0) scale(.82);}
.quicknav-style-rail .rf-conveyor-card:hover .rf-conveyor-card__icon--mono{transform:translate(-140%,-2px);}
.quicknav-style-rail .rf-conveyor-card:hover .rf-conveyor-card__icon--color{transform:translate(-50%,0) scale(1);}
.quicknav-style-rail .rf-conveyor-card__label{text-align:center;display:block;margin-top:.35rem;}

/* greener rollers for poster/system look */
.rf-story__rollers,.rf-animated-menu__rollers,.rf-conveyor-card__track::before{background-image:radial-gradient(circle,color-mix(in srgb,var(--rf-accent-2) 88%, white) 0 22%, transparent 26%);}
.rf-story__track,.rf-animated-menu__track,.rf-conveyor-card__track{background:linear-gradient(180deg,#5a6472 0%,#28303b 100%);}

@media (max-width: 960px){
  .rf-header__inner{grid-template-columns:1fr auto;gap:.8rem;width:calc(100vw - 1rem);padding:.55rem 0;}
  .rf-brand__link{gap:.65rem;max-width:calc(100vw - 6.5rem);}
  .rf-brand__logo{height:min(var(--rf-logo-size),54px);max-width:min(var(--rf-logo-width),150px);}
  .rf-brand__text{font-size:.88rem;line-height:1.15;white-space:normal;}
  .rf-animated-menu{padding-top:0;}
  .topband-style-pulse .rf-animated-menu__pulse{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.7rem;padding:.7rem .75rem 1rem;}
  .rf-hero{min-height:auto;}
  .rf-hero__content{min-height:auto;padding:1rem 0 1.25rem;align-items:end;}
  .rf-hero__frame{min-height:46svh;}
  .rf-hero--contain .rf-hero__frame{padding-top:0;}
  .rf-hero__text{width:min(var(--rf-hero-max-mobile),calc(100vw - 1rem));margin:0 auto .5rem !important;padding:1rem 1rem 1.1rem;border-radius:22px;text-align:left;}
  body.hero-align-mobile-center .rf-hero__text{margin-left:auto !important;margin-right:auto !important;text-align:center;}
  .rf-hero__text h1{font-size:clamp(2rem,11vw,3.3rem);max-width:12ch;}
  .rf-hero__subtitle{font-size:.99rem;line-height:1.65;}
  .rf-conveyor-nav{padding:calc(var(--rf-conveyor-pad-top,44px) * .78) 0 calc(var(--rf-conveyor-pad-bottom,56px) * .78);}
  .rf-conveyor-nav__intro{display:block;margin-bottom:1rem;}
  .rf-conveyor-nav__intro h2{margin-top:.4rem;font-size:clamp(1.35rem,7vw,2rem);}
  .quicknav-style-conveyor .rf-conveyor-nav__grid,.quicknav-style-cards .rf-conveyor-nav__grid{display:flex;overflow-x:auto;gap:.85rem;padding-bottom:.25rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .quicknav-style-conveyor .rf-conveyor-card,.quicknav-style-cards .rf-conveyor-card{flex:0 0 78vw;max-width:320px;scroll-snap-align:start;min-height:156px;}
  .quicknav-style-cards .rf-conveyor-card{min-height:176px;}
  .quicknav-style-rail .rf-conveyor-card{flex-basis:170px;}
  .rf-story__overlay{padding:2rem 0 2rem;}
  .rf-story__intro{font-size:.96rem;line-height:1.6;margin-bottom:.75rem;}
  .rf-story__package-stage{height:116px;margin:.5rem auto 1rem;}
  .rf-story__track{height:54px;}
  .rf-story__rollers{height:70px;background-size:34px 34px;}
  .rf-story__package{width:90px;height:62px;font-size:.86rem;}
  .rf-story-step__inner{padding:1rem 1rem 1.15rem;border-radius:18px;}
  .rf-story-step h2{font-size:clamp(1.45rem,7vw,2.2rem);}
}


/* v3.1.2 mobile refinement + greener conveyor accents */
:root{
  --rf-mobile-safe: max(12px, env(safe-area-inset-left));
  --rf-accent-roller: color-mix(in srgb, var(--rf-accent-2) 70%, white);
}
.rf-animated-menu__rollers,
.rf-story__rollers,
.rf-conveyor-card__track::before{
  background-image: radial-gradient(circle, var(--rf-accent-roller) 0 18%, rgba(255,255,255,.18) 19% 28%, transparent 30%);
}
.rf-animated-menu__track,
.rf-story__track,
.rf-conveyor-card__track{
  background: linear-gradient(180deg, #62707f 0%, #27303a 100%);
}
.rf-conveyor-card__track{
  box-shadow: inset 0 1px 3px rgba(255,255,255,.10), inset 0 -4px 9px rgba(0,0,0,.28), 0 8px 18px rgba(4,16,9,.10);
}

@media (max-width: 960px){
  .uk-container-expand,
  body.width-standard .uk-container-expand,
  body.width-wide .uk-container-expand,
  body.width-full .uk-container-expand{max-width:calc(100vw - 1rem);}
  .rf-header{backdrop-filter:blur(12px);}
  .rf-header__inner{min-height:72px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;width:calc(100vw - 1rem);padding:.5rem 0;}
  .rf-brand__link{min-width:0;max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;}
  .rf-brand__logo{height:48px;max-width:144px;}
  .rf-brand__text{display:block;font-size:.86rem;line-height:1.05;white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  .rf-mobile-trigger{padding:.72rem .82rem;min-height:44px;gap:.55rem;}
  .rf-mobile-trigger__text{display:none;}
  .rf-offcanvas__panel{width:min(100vw, 390px);padding:1rem 1rem 2rem;border-left:none;border-top-left-radius:24px;border-bottom-left-radius:24px;}
  .rf-mobile-menu__link{padding:1.05rem 0;font-size:1.04rem;line-height:1.3;}
  .rf-mobile-menu__toggle{width:42px;height:42px;}

  .rf-animated-menu{padding:.1rem 0 .15rem;}
  .topband-style-conveyor .rf-animated-menu__fallback{gap:.8rem;padding:.45rem .75rem .1rem;font-size:.64rem;letter-spacing:.08em;animation-duration:34s;}
  .rf-animated-menu__item{gap:.45rem;padding-right:0;}
  .rf-animated-menu__item > span{min-height:28px;padding:.32rem .66rem .28rem;border-radius:10px 10px 8px 8px;font-size:.66rem;}
  .rf-animated-menu__track-shell{height:12px;margin:0 .45rem .18rem;}
  .rf-animated-menu__track{inset:2px 0;}
  .rf-animated-menu__rollers{background-size:12px 12px;}
  .topband-style-flow .rf-animated-menu__flow{padding:.45rem .5rem .5rem;gap:.55rem;animation-duration:28s;}
  .rf-flow-pill{padding:.46rem .72rem;font-size:.72rem;}
  .topband-style-pulse .rf-animated-menu__pulse{grid-template-columns:repeat(3,minmax(0,1fr));padding:.55rem .55rem .9rem;row-gap:1.25rem;}
  .rf-pulse-node span{font-size:.61rem;letter-spacing:.05em;}

  .rf-hero__media{position:relative;min-height:44svh;}
  .rf-hero__frame{min-height:44svh;border-radius:18px;overflow:hidden;}
  .rf-hero__backdrop{inset:-4%;filter:blur(22px) saturate(1.04) brightness(.84);}
  .rf-hero__content{padding:0 0 1rem;align-items:end;}
  .rf-hero__text{width:calc(100vw - 1rem);max-width:560px;padding:1rem 1rem 1.05rem !important;border-radius:20px;box-shadow:0 18px 34px rgba(0,0,0,.14);margin:.35rem auto 0 !important;}
  .rf-eyebrow{font-size:.68rem;letter-spacing:.14em;margin:0 0 .65rem;}
  .rf-eyebrow::before{width:26px;}
  .rf-hero__text h1{font-size:clamp(1.9rem, 10.2vw, 3rem);line-height:.95;margin:0 0 .7rem;max-width:11ch;}
  .rf-hero__subtitle{font-size:.96rem;line-height:1.58;max-width:none;}
  .rf-hero__actions{gap:.7rem;margin-top:1rem;}
  .rf-btn-primary{width:100%;justify-content:center;padding:.92rem 1.2rem;}

  .rf-conveyor-nav{padding:calc(var(--rf-conveyor-pad-top,44px) * .92) 0 calc(var(--rf-conveyor-pad-bottom,56px) * .92);}
  .rf-conveyor-nav__intro{display:grid;gap:.35rem;margin-bottom:1rem;}
  .rf-conveyor-nav__intro h2{font-size:clamp(1.25rem, 8vw, 2rem);line-height:1.05;max-width:14ch;}
  .quicknav-style-conveyor .rf-conveyor-nav__grid,
  .quicknav-style-cards .rf-conveyor-nav__grid,
  .quicknav-style-rail .rf-conveyor-nav__grid{display:flex;overflow-x:auto;gap:.8rem;padding:.1rem .02rem .35rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .quicknav-style-conveyor .rf-conveyor-card,
  .quicknav-style-cards .rf-conveyor-card,
  .quicknav-style-rail .rf-conveyor-card{flex:0 0 80vw;max-width:300px;scroll-snap-align:start;min-height:148px;padding:.85rem .85rem 1rem;}
  .quicknav-style-conveyor .rf-conveyor-card__stage,
  .quicknav-style-cards .rf-conveyor-card__stage,
  .quicknav-style-rail .rf-conveyor-card__stage{height:92px;margin-bottom:.65rem;}
  .quicknav-style-conveyor .rf-conveyor-card__icon,
  .quicknav-style-cards .rf-conveyor-card__icon{width:64px;height:64px;left:14px;top:12px;border-radius:18px;}
  .quicknav-style-rail .rf-conveyor-card{padding-top:1.4rem;}
  .quicknav-style-rail .rf-conveyor-nav__grid::before{top:4.45rem;}
  .quicknav-style-rail .rf-conveyor-card__icon{width:62px;height:62px;}
  .rf-conveyor-card__label{font-size:.98rem;line-height:1.25;}

  .rf-story__overlay{min-height:auto;padding:1.35rem 0 1.5rem;}
  .rf-story__intro{width:calc(100vw - 1rem);font-size:.94rem;line-height:1.55;margin:0 auto .6rem;}
  .rf-story__package-stage{width:calc(100vw - 1rem);height:104px;margin:.35rem auto .9rem;}
  .rf-story__track{height:44px;}
  .rf-story__rollers{height:58px;background-size:28px 28px;}
  .rf-story__package{width:76px;height:52px;font-size:.78rem;border-radius:10px;}
  .rf-story__copy{width:calc(100vw - 1rem);}
  .rf-story-step__inner{padding:.95rem .95rem 1rem;border-radius:16px;}
  .rf-story-step__count{font-size:.72rem;margin:0 0 .55rem;}
  .rf-story-step h2{font-size:clamp(1.35rem, 7vw, 2rem);margin:0 0 .55rem;}
  .rf-story-step__body{font-size:.95rem;line-height:1.58;}

  .rf-content-top-block{padding:1rem 0 0;}
  .rf-main{padding:1.25rem 0 3rem;}
  .rf-component,.module-card{padding:1rem;border-radius:18px;}
  .rf-fullwidth,.rf-bottom-grid{margin-top:1.15rem;}
}

@media (max-width: 640px){
  .rf-brand__text{display:none;}
  .rf-header__inner{min-height:64px;}
  .rf-brand__logo{height:44px;max-width:124px;}
  .topband-style-conveyor .rf-animated-menu__fallback{font-size:.6rem;}
  .rf-hero__media,.rf-hero__frame{min-height:40svh;}
  .rf-hero__text{width:calc(100vw - .75rem);padding:.9rem .85rem .95rem !important;}
  .rf-hero__text h1{font-size:clamp(1.75rem, 11vw, 2.5rem);}
  .rf-hero__subtitle{font-size:.92rem;line-height:1.5;}
  .quicknav-style-conveyor .rf-conveyor-card,
  .quicknav-style-cards .rf-conveyor-card,
  .quicknav-style-rail .rf-conveyor-card{flex-basis:84vw;}
}


/* v3.1.3 mobile navigation hard fix */
@media (max-width: 1100px){
  .rf-topbar{display:none !important;}
  .rf-nav{width:auto !important;justify-self:end !important;}
  .rf-menu-shell{display:flex;align-items:center;justify-content:flex-end;}
  .rf-desktop-nav{display:none !important;}
  .rf-mobile-trigger{display:inline-flex !important;align-items:center;justify-content:center;}
}
@media (max-width: 820px){
  .rf-header{position:sticky;top:0;}
  .rf-header__inner{min-height:62px !important;grid-template-columns:minmax(0,1fr) auto !important;gap:.55rem !important;width:calc(100vw - .75rem) !important;padding:.35rem 0 !important;}
  .rf-brand__link{grid-template-columns:auto minmax(0,1fr) !important;gap:.45rem !important;}
  .rf-brand__logo{height:40px !important;max-width:118px !important;width:auto !important;border-radius:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important;}
  .rf-brand__text{display:block !important;font-size:.76rem !important;line-height:1.05 !important;max-width:120px !important;}
  .rf-mobile-trigger{min-width:44px !important;min-height:44px !important;padding:.7rem !important;border-radius:14px !important;background:rgba(0,0,0,.06) !important;}
  .rf-mobile-trigger span:not(.rf-mobile-trigger__text){width:16px !important;}
  .rf-offcanvas__panel{width:min(92vw,360px) !important;padding:.85rem .9rem 1.4rem !important;}
  .rf-mobile-menu__link{font-size:1rem !important;padding:.9rem 0 !important;}
  .rf-mobile-menu__toggle{width:38px !important;height:38px !important;}

  .rf-animated-menu{padding:0 !important;border-top-width:0 !important;}
  .rf-animated-menu__fallback,
  .rf-animated-menu__flow{padding:.3rem .4rem .28rem !important;gap:.45rem !important;}
  .rf-animated-menu__item > span,
  .rf-flow-pill{min-height:24px !important;padding:.22rem .5rem !important;font-size:.58rem !important;letter-spacing:.04em !important;border-radius:8px !important;}
  .rf-animated-menu__track-shell{height:8px !important;margin:0 .35rem .12rem !important;}
  .rf-animated-menu__rollers{background-size:10px 10px !important;}

  .rf-hero{min-height:auto !important;}
  .rf-hero__media,.rf-hero__frame{min-height:34svh !important;}
  .rf-hero__frame{border-radius:14px !important;}
  .rf-hero__content{padding:0 0 .65rem !important;}
  .rf-hero__text{width:calc(100vw - .75rem) !important;max-width:none !important;padding:.82rem .8rem .9rem !important;border-radius:16px !important;margin:.2rem auto 0 !important;}
  .rf-eyebrow{font-size:.62rem !important;margin:0 0 .45rem !important;}
  .rf-hero__text h1{font-size:clamp(1.45rem,9vw,2.1rem) !important;line-height:.98 !important;margin:0 0 .5rem !important;max-width:none !important;}
  .rf-hero__subtitle{font-size:.86rem !important;line-height:1.42 !important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
  .rf-hero__actions{margin-top:.75rem !important;gap:.55rem !important;}
  .rf-btn-primary{padding:.8rem 1rem !important;font-size:.92rem !important;}

  .rf-conveyor-nav{padding:1rem 0 1.2rem !important;}
  .rf-conveyor-nav__intro{margin-bottom:.75rem !important;}
  .rf-conveyor-nav__intro h2{font-size:clamp(1.15rem,7vw,1.6rem) !important;max-width:12ch !important;}
  .quicknav-style-conveyor .rf-conveyor-card,
  .quicknav-style-cards .rf-conveyor-card,
  .quicknav-style-rail .rf-conveyor-card{flex-basis:78vw !important;max-width:280px !important;min-height:132px !important;padding:.75rem .75rem .85rem !important;}
  .rf-conveyor-card__stage{height:76px !important;margin-bottom:.55rem !important;}
  .rf-conveyor-card__label{font-size:.92rem !important;}

  .rf-story__overlay{padding:1rem 0 1.1rem !important;}
  .rf-story__intro{width:calc(100vw - .75rem) !important;font-size:.88rem !important;}
  .rf-story__copy{width:calc(100vw - .75rem) !important;}
  .rf-story-step h2{font-size:clamp(1.2rem,6.6vw,1.7rem) !important;}
  .rf-story-step__body{font-size:.9rem !important;line-height:1.5 !important;}
}
@media (max-width: 480px){
  .rf-header__inner{min-height:58px !important;}
  .rf-brand__text{display:none !important;}
  .rf-brand__logo{height:36px !important;max-width:104px !important;}
  .rf-hero__media,.rf-hero__frame{min-height:31svh !important;}
  .rf-hero__text h1{font-size:clamp(1.35rem,8.6vw,1.9rem) !important;}
  .rf-hero__subtitle{-webkit-line-clamp:3;}
}


/* v3.1.4 mobile/social polish */
.rf-header__inner{grid-template-columns:auto 1fr auto auto;}
.rf-header__social{justify-self:end;}
.rf-social-links{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;}
.rf-social-link{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.56rem .86rem;border-radius:999px;border:1px solid var(--rf-line);background:rgba(255,255,255,.06);font-weight:700;font-size:.88rem;color:inherit;}
.rf-social-link__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.76rem;font-weight:800;}
.theme-light .rf-social-link{background:rgba(255,255,255,.88);border-color:rgba(17,25,35,.12);color:#173123;box-shadow:0 8px 18px rgba(0,0,0,.06);} 
.rf-hero__social{margin-top:1rem;}

.theme-light .rf-mobile-trigger{color:#123825 !important;border-color:rgba(0,103,41,.22) !important;background:rgba(255,255,255,.92) !important;box-shadow:0 8px 18px rgba(0,0,0,.08);} 
.theme-light .rf-mobile-trigger span:not(.rf-mobile-trigger__text){background:#123825 !important;}
.theme-light .rf-offcanvas__panel{background:#f7faf7 !important;color:#173123 !important;}
.theme-light .rf-offcanvas__head{border-bottom-color:rgba(17,25,35,.10) !important;}
.theme-light .rf-offcanvas__close{background:#ffffff !important;color:#173123 !important;border-color:rgba(17,25,35,.12) !important;}
.theme-light .rf-mobile-menu__item{border-bottom-color:rgba(17,25,35,.08) !important;}
.theme-light .rf-mobile-menu__link{color:#173123 !important;}
.theme-light .rf-mobile-menu__toggle{background:#fff !important;color:#173123 !important;border-color:rgba(17,25,35,.12) !important;}

@media (max-width: 1100px){
  .rf-header__inner{grid-template-columns:minmax(0,1fr) auto auto !important;}
  .rf-header__social{display:none;}
}
@media (max-width: 820px){
  .rf-header__inner{min-height:58px !important;padding:.28rem 0 !important;}
  .rf-mobile-trigger{display:inline-flex !important;align-items:center;justify-content:center;min-width:46px !important;min-height:46px !important;padding:.72rem !important;border-radius:16px !important;}
  .rf-offcanvas{z-index:400 !important;}
  .rf-offcanvas__panel{width:100vw !important;max-width:100vw !important;height:100dvh !important;padding:1.1rem 1rem 2rem !important;border-radius:0 !important;transform:translateX(100%) !important;}
  .rf-offcanvas.is-open .rf-offcanvas__panel{transform:translateX(0) !important;}
  .rf-offcanvas__head{padding:.1rem 0 .85rem !important;margin-bottom:.7rem !important;position:sticky;top:0;background:inherit;z-index:2;}
  .rf-mobile-menu{padding-bottom:1rem;}
  .rf-mobile-menu__link{font-size:1.1rem !important;line-height:1.2 !important;padding:1rem 0 !important;}
  .rf-mobile-menu__panel{padding:0 0 .45rem .65rem !important;}
  .rf-mobile-menu .level-2 .rf-mobile-menu__link{font-size:1rem !important;}
  .rf-mobile-menu .level-3 .rf-mobile-menu__link{font-size:.96rem !important;opacity:.9;}
  .rf-animated-menu{padding:0 !important;}
  .topband-style-conveyor .rf-animated-menu__fallback,.rf-animated-menu__flow{padding:.18rem .35rem .12rem !important;}
  .rf-animated-menu__track-shell{margin:0 .35rem .08rem !important;}
  .rf-hero__media,.rf-hero__frame{min-height:28svh !important;}
  .rf-hero__content{padding:0 0 .35rem !important;}
  .rf-hero__text{margin:.05rem auto 0 !important;padding:.72rem .76rem .8rem !important;}
  .rf-hero__subtitle{-webkit-line-clamp:5;}
}
@media (max-width: 560px){
  .rf-brand__text{display:none !important;}
  .rf-brand__logo{height:38px !important;max-width:112px !important;}
  .rf-hero__media,.rf-hero__frame{min-height:24svh !important;}
  .rf-hero__text{border-radius:14px !important;}
}


/* v3.1.5 mobile/offcanvas/logo/social/sticky-band fixes */
.rf-header__sticky{position:static;background:inherit;}
.sticky-band-header-only .rf-header{position:relative;top:auto;z-index:auto;}
.sticky-band-header-only .rf-header__sticky{position:sticky;top:0;z-index:220;backdrop-filter:blur(16px);background:linear-gradient(180deg, rgba(10,16,23,.95), rgba(10,16,23,.82));border-bottom:1px solid var(--rf-line);}
.sticky-band-header-only .rf-animated-menu{position:relative;z-index:180;}
.rf-brand__logo{width:min(var(--rf-logo-width), 340px);max-width:min(var(--rf-logo-width), 340px);height:auto;max-height:var(--rf-logo-size);object-fit:contain;border-radius:0;background:transparent;padding:0;box-shadow:none;}
.rf-social-link--facebook .rf-social-link__icon{font-weight:900;font-family:Arial,Helvetica,sans-serif;}

@media (max-width: 960px){
  .rf-header{position:sticky;top:0;z-index:220;}
  .sticky-band-header-only .rf-header{position:relative;}
  .sticky-band-header-only .rf-header__sticky{position:sticky;top:0;z-index:221;}
  .rf-header__inner{min-height:78px !important;padding:.55rem 0 !important;grid-template-columns:minmax(0,1fr) auto !important;gap:.7rem !important;width:calc(100vw - 1rem) !important;}
  .rf-brand__link{grid-template-columns:auto minmax(0,1fr) !important;gap:.7rem !important;}
  .rf-brand__logo{width:min(var(--rf-logo-width), 180px) !important;max-width:min(var(--rf-logo-width), 180px) !important;max-height:58px !important;height:auto !important;}
  .rf-brand__text{font-size:.94rem !important;line-height:1.05 !important;display:block !important;}
  .rf-mobile-trigger{display:inline-flex !important;align-items:center;justify-content:center;min-width:48px !important;min-height:48px !important;padding:.8rem !important;border-radius:16px !important;background:color-mix(in srgb,var(--rf-accent) 12%, rgba(255,255,255,.92)) !important;color:var(--rf-fg,#132018) !important;border:1px solid color-mix(in srgb,var(--rf-accent) 28%, rgba(17,25,35,.12)) !important;box-shadow:0 10px 24px rgba(0,0,0,.08);}
  .theme-light .rf-mobile-trigger{background:#ffffff !important;color:#173123 !important;border-color:rgba(0,103,41,.18) !important;}
  .rf-mobile-trigger span:not(.rf-mobile-trigger__text){width:18px !important;height:2px !important;background:currentColor !important;}
  .rf-desktop-nav{display:none !important;}
  .rf-nav-menu{display:none !important;}
  .rf-offcanvas{z-index:450 !important;}
  .rf-offcanvas__panel{width:100vw !important;max-width:100vw !important;height:100dvh !important;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom)) !important;border-radius:0 !important;overflow:hidden !important;display:flex;flex-direction:column;background:linear-gradient(180deg, rgba(10,16,23,.99), rgba(12,18,26,.98)) !important;}
  .theme-light .rf-offcanvas__panel{background:linear-gradient(180deg,#fbfdfb,#f1f7f2) !important;}
  .rf-offcanvas__head{padding:.25rem 0 1rem !important;margin-bottom:.6rem !important;position:relative !important;top:auto !important;flex:0 0 auto;}
  .rf-offcanvas__head strong{font-size:1.02rem;letter-spacing:.04em;}
  .rf-offcanvas__close{width:46px !important;height:46px !important;border-radius:14px !important;font-size:1.45rem !important;}
  .rf-mobile-menu{flex:1 1 auto;overflow:auto;padding:0 .1rem 0 0;-webkit-overflow-scrolling:touch;}
  .rf-mobile-menu__item{border-bottom:1px solid rgba(255,255,255,.08);}
  .theme-light .rf-mobile-menu__item{border-bottom-color:rgba(17,25,35,.08);}
  .rf-mobile-menu__link{padding:1rem 0 !important;font-size:1.08rem !important;font-weight:800 !important;line-height:1.25 !important;}
  .rf-mobile-menu__toggle{width:44px !important;height:44px !important;border-radius:14px !important;font-size:1.1rem !important;}
  .rf-mobile-menu__panel{padding:0 0 .7rem .85rem !important;}
  .rf-mobile-menu__panel .rf-mobile-menu__link{font-size:.98rem !important;font-weight:700 !important;padding:.8rem 0 !important;}
  .rf-animated-menu{padding:.05rem 0 .05rem !important;}
  .rf-animated-menu__fallback{padding:.3rem .6rem 0 !important;}
  .rf-animated-menu__track-shell{margin:0 .35rem .05rem !important;height:10px !important;}
  .rf-hero{min-height:auto !important;}
  .rf-hero__media,.rf-hero__frame{min-height:30svh !important;}
  .rf-hero__content{padding:0 0 .5rem !important;}
  .rf-hero__text{margin:.1rem auto 0 !important;}
}

@media (max-width: 640px){
  .rf-header__inner{min-height:74px !important;padding:.45rem 0 !important;}
  .rf-brand__logo{width:min(var(--rf-logo-width), 156px) !important;max-height:52px !important;}
  .rf-brand__text{font-size:.9rem !important;}
  .rf-topbar,.rf-header__social{display:none !important;}
  .rf-hero__media,.rf-hero__frame{min-height:27svh !important;}
  .rf-hero__text h1{font-size:clamp(1.55rem,8.6vw,2.2rem) !important;}
  .rf-hero__subtitle{font-size:.9rem !important;line-height:1.48 !important;-webkit-line-clamp:5 !important;}
}


/* v3.2.0 structural cleanup */
.sticky-band-none .rf-header,
.sticky-band-none .rf-header__sticky,
.sticky-band-none .rf-animated-menu {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}

.sticky-band-header-only .rf-header {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
}

.sticky-band-header-only .rf-header__sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 230 !important;
  background: var(--rf-header-bg) !important;
  border-bottom: 1px solid var(--rf-header-border) !important;
  backdrop-filter: blur(16px);
}

.sticky-band-header-only .rf-animated-menu {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}

.sticky-band-all .rf-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 220 !important;
}

.sticky-band-all .rf-header__sticky {
  position: static !important;
}

@media (max-width: 960px){
  .rf-header__inner{grid-template-columns:minmax(0,1fr) auto !important;align-items:center !important;min-height:72px !important;width:calc(100vw - 1rem) !important;padding:.72rem 0 !important;gap:.75rem !important;}
  .rf-brand{min-width:0;}
  .rf-brand__link{display:grid !important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem !important;max-width:none !important;}
  .rf-brand__logo{height:min(var(--rf-logo-size,74px),52px) !important;max-width:min(var(--rf-logo-width,220px),170px) !important;}
  .rf-brand__text{font-size:.88rem !important;line-height:1.08 !important;white-space:normal !important;max-width:14ch;}
  .rf-nav{width:auto !important;justify-self:end !important;}
  .rf-mobile-trigger{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:50px !important;min-height:50px !important;padding:.82rem !important;border-radius:16px !important;}
  .rf-desktop-nav{display:none !important;}
  .rf-offcanvas{position:fixed !important;inset:0 !important;z-index:500 !important;}
  .rf-offcanvas__backdrop{position:fixed !important;inset:0 !important;}
  .rf-offcanvas__panel{position:fixed !important;inset:0 0 0 auto !important;width:100vw !important;max-width:100vw !important;height:100dvh !important;min-height:100dvh !important;border-radius:0 !important;display:block !important;overflow-y:auto !important;padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 1.5rem) !important;}
  .rf-offcanvas__head{position:sticky !important;top:0 !important;padding:.15rem 0 .9rem !important;margin-bottom:.75rem !important;background:inherit !important;z-index:5;}
  .rf-mobile-menu{overflow:visible !important;padding-bottom:.5rem !important;}
  .rf-mobile-menu__link{font-size:1.14rem !important;line-height:1.25 !important;padding:1rem 0 !important;}
  .rf-mobile-menu__panel .rf-mobile-menu__link{font-size:1rem !important;}
  .rf-mobile-menu__toggle{width:46px !important;height:46px !important;}
  .rf-animated-menu{min-height:34px;}
  .rf-animated-menu__fallback,.rf-animated-menu__flow{padding:.42rem .7rem .5rem !important;}
  .rf-animated-menu__item span,.rf-flow-pill{font-size:.68rem !important;}
  .rf-hero{min-height:auto !important;}
  .rf-hero__content{min-height:min(72svh, 620px) !important;padding-top:.35rem !important;padding-bottom:1rem !important;align-items:end !important;}
  .rf-hero__text{width:min(var(--rf-hero-max-mobile,520px), calc(100vw - 1rem)) !important;margin:.35rem auto 0 !important;padding:1rem !important;}
  .rf-eyebrow{margin:0 0 .5rem !important;font-size:.7rem !important;letter-spacing:.14em !important;}
  .rf-hero__text h1{font-size:clamp(1.8rem, 9vw, 2.8rem) !important;line-height:.96 !important;margin:0 0 .6rem !important;max-width:none !important;}
  .rf-hero__subtitle{font-size:.98rem !important;line-height:1.55 !important;}
  .rf-hero__actions{margin-top:.9rem !important;}
  .rf-btn-primary{padding:.8rem 1rem !important;}
}

.rf-demo-mega {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .35rem;
  position: relative;
}

.rf-demo-link {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: .75rem 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rf-text);
  font-weight: 800;
  font-size: .84rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}

.rf-demo-link:hover,
.rf-demo-item:hover > .rf-demo-link {
  background: color-mix(in srgb, var(--rf-accent) 18%, transparent);
}

.rf-demo-item {
  position: relative;
}

.rf-demo-panel {
  position: absolute;
  top: calc(100% + .6rem);
  right: 0;
  width: min(980px, calc(100vw - 2rem));
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 1.25rem;
  padding: 1.4rem;
  border-radius: 28px;
  background: var(--rf-surface-2);
  border: 1px solid var(--rf-line);
  box-shadow: var(--rf-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
  transition: .22s ease;
  z-index: 500;
}

.rf-demo-panel--wide {
  width: min(1260px, calc(100vw - 2rem));
  grid-template-columns: 1.1fr 1.5fr .8fr .8fr;
}

.rf-demo-item:hover .rf-demo-panel,
.rf-demo-item:focus-within .rf-demo-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.rf-demo-intro {
  padding: 1.2rem;
  border-radius: 22px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--rf-accent) 20%, transparent), rgba(255,255,255,.04));
}

.rf-demo-kicker {
  color: var(--rf-accent-2);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .16em;
  font-size: .72rem;
}

.rf-demo-intro h3 {
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  margin: .3rem 0 .75rem;
}

.rf-demo-intro p,
.rf-demo-col a,
.rf-product-tile small {
  color: var(--rf-muted);
}

.rf-demo-cta {
  display: inline-flex;
  margin-top: 1rem;
  padding: .8rem 1rem;
  border-radius: 999px;
  background: var(--rf-accent);
  color: #fff;
  font-weight: 800;
}

.rf-demo-col {
  display: grid;
  align-content: start;
  gap: .55rem;
}

.rf-demo-col h4 {
  margin: 0 0 .5rem;
  color: var(--rf-text);
}

.rf-demo-col a {
  padding: .45rem 0;
  border-bottom: 1px solid var(--rf-line);
}

.rf-demo-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.rf-product-tile {
  position: relative;
  display: grid;
  gap: .55rem;
  min-height: 150px;
  padding: 1rem;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  border: 1px solid var(--rf-line);
  overflow: hidden;
}

.theme-light .rf-product-tile {
  background: rgba(255,255,255,.8);
}

.rf-product-tile:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--rf-accent) 45%, transparent);
}

.rf-product-icon {
  width: 76px;
  height: 42px;
  border-radius: 999px;
  background: linear-gradient(180deg, #687482, #2b333d);
  position: relative;
}

.rf-product-icon::before {
  content: "";
  position: absolute;
  inset: 6px;
  background-image: radial-gradient(circle, var(--rf-accent-2) 0 22%, transparent 26%);
  background-size: 16px 16px;
}

.rf-product-icon--motor::after,
.rf-product-icon--flow::after,
.rf-product-icon--parts::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 4px solid var(--rf-accent-2);
}

.rf-mini-conveyor {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.rf-mini-conveyor span {
  padding: .5rem .75rem;
  border-radius: 12px;
  background: #c08a4a;
  color: #2b1a0c;
  font-weight: 800;
  font-size: .78rem;
}

@media (max-width: 960px) {
  .rf-demo-mega {
    display: none;
  }
}

/* ===== Produkt-Cards unter Hero ===== */

.rf-product-showcase {
  position: relative;
  padding: clamp(3rem, 7vw, 6rem) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--rf-accent) 18%, transparent), transparent 34%),
    radial-gradient(circle at 88% 70%, color-mix(in srgb, var(--rf-accent-2) 12%, transparent), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}

.theme-light .rf-product-showcase {
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--rf-accent) 10%, transparent), transparent 34%),
    radial-gradient(circle at 88% 70%, color-mix(in srgb, var(--rf-accent-2) 10%, transparent), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.26));
}

.rf-product-showcase__head {
  max-width: 760px;
  margin-bottom: 2rem;
}

.rf-product-showcase__kicker {
  margin: 0 0 .65rem;
  color: var(--rf-accent-2);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 900;
  font-size: .78rem;
}

.rf-product-showcase__head h2 {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .96;
}

.rf-product-showcase__head p {
  margin: 0;
  max-width: 68ch;
  color: var(--rf-muted);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.7;
}

.rf-product-showcase__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
}

.rf-product-wow-card {
  position: relative;
  display: grid;
  min-height: 420px;
  padding: 1rem;
  border-radius: 30px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.026)),
    color-mix(in srgb, var(--rf-bg-soft) 88%, transparent);
  border: 1px solid color-mix(in srgb, var(--rf-accent) 20%, var(--rf-line));
  box-shadow: 0 22px 55px rgba(0,0,0,.20);
  transform: translateY(0);
  transition:
    transform .36s cubic-bezier(.2,.9,.2,1),
    border-color .36s ease,
    box-shadow .36s ease,
    background .36s ease;
  isolation: isolate;
}

.theme-light .rf-product-wow-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,250,247,.86));
  box-shadow: 0 18px 45px rgba(10,30,17,.10);
}

.rf-product-wow-card::before {
  content: "";
  position: absolute;
  inset: -40%;
  background:
    conic-gradient(
      from 160deg,
      transparent,
      color-mix(in srgb, var(--rf-accent) 36%, transparent),
      transparent 34%
    );
  opacity: 0;
  transform: rotate(0deg);
  transition: opacity .36s ease;
  z-index: -2;
}

.rf-product-wow-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 29px;
  background:
    linear-gradient(180deg, rgba(8,16,11,.72), rgba(8,16,11,.92));
  z-index: -1;
}

.theme-light .rf-product-wow-card::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(244,249,246,.96));
}

.rf-product-wow-card:hover {
  transform: translateY(-10px) scale(1.015);
  border-color: color-mix(in srgb, var(--rf-accent-2) 68%, transparent);
  box-shadow: 0 34px 78px rgba(0,0,0,.30);
}

.theme-light .rf-product-wow-card:hover {
  box-shadow: 0 28px 65px rgba(0,103,41,.18);
}

.rf-product-wow-card:hover::before {
  opacity: 1;
  animation: rf-card-spin 2.8s linear infinite;
}

@keyframes rf-card-spin {
  to { transform: rotate(360deg); }
}

.rf-product-wow-card__glow {
  position: absolute;
  left: 18%;
  top: 8%;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--rf-accent) 26%, transparent);
  filter: blur(45px);
  opacity: .55;
  transform: scale(.9);
  transition: transform .4s ease, opacity .4s ease;
}

.rf-product-wow-card:hover .rf-product-wow-card__glow {
  transform: scale(1.25);
  opacity: .9;
}

.rf-product-wow-card__visual {
  position: relative;
  display: block;
  height: 210px;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 18%, color-mix(in srgb, var(--rf-accent-2) 18%, transparent), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012));
}

.theme-light .rf-product-wow-card__visual {
  background:
    radial-gradient(circle at 30% 18%, color-mix(in srgb, var(--rf-accent-2) 18%, transparent), transparent 28%),
    linear-gradient(180deg, rgba(0,103,41,.055), rgba(255,255,255,.42));
}

.rf-product-wow-card__track {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: 42px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, #677481, #28313b);
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.12),
    inset 0 -7px 13px rgba(0,0,0,.32),
    0 16px 22px rgba(0,0,0,.16);
}

.rf-product-wow-card__rollers {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: 30px;
  height: 58px;
  background-image:
    radial-gradient(circle, var(--rf-accent-2) 0 18%, rgba(255,255,255,.25) 19% 29%, transparent 31%);
  background-size: 32px 32px;
  background-position: center;
  opacity: .95;
  transition: transform .55s ease;
}

.rf-product-wow-card:hover .rf-product-wow-card__rollers {
  transform: translateX(-32px);
}

.rf-product-wow-card__object {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 126px;
  height: 82px;
  transform: translate(-50%, -50%);
  transition:
    transform .42s cubic-bezier(.2,.9,.2,1),
    filter .42s ease;
}

.rf-product-wow-card:hover .rf-product-wow-card__object {
  transform: translate(-50%, -56%) rotate(-3deg) scale(1.08);
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.26));
}

/* Tragrolle */
.rf-product-wow-card__object--roller {
  height: 46px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, #9aa6b2, #e8eef2 18%, #65717e 42%, #f4f7f8 62%, #566270);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.18),
    0 14px 26px rgba(0,0,0,.25);
}

.rf-product-wow-card__object--roller::before,
.rf-product-wow-card__object--roller::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--rf-accent-2);
  transform: translateY(-50%);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.32);
}

.rf-product-wow-card__object--roller::before { left: -8px; }
.rf-product-wow-card__object--roller::after { right: -8px; }

/* Motorrolle */
.rf-product-wow-card__object--motor {
  width: 132px;
  height: 54px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, #1f2933, #8995a1 18%, #26313d 48%, #dfe7eb 72%, #28323d);
  box-shadow: 0 16px 28px rgba(0,0,0,.28);
}

.rf-product-wow-card__object--motor::before {
  content: "";
  position: absolute;
  right: -20px;
  top: 50%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 7px solid var(--rf-accent-2);
  border-right-color: color-mix(in srgb, var(--rf-accent) 60%, #fff);
  transform: translateY(-50%);
}

/* Bremsrolle */
.rf-product-wow-card__object--brake {
  width: 120px;
  height: 54px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, #47525e, #f2f5f6 25%, #586470 48%, #f2f5f6 72%, #3f4a55);
  box-shadow: 0 16px 28px rgba(0,0,0,.28);
}

.rf-product-wow-card__object--brake::before {
  content: "";
  position: absolute;
  inset: -10px 22px;
  border-radius: 999px;
  border: 4px dashed var(--rf-accent-2);
  animation: rf-brake-pulse 1.6s ease-in-out infinite;
}

@keyframes rf-brake-pulse {
  50% { transform: scale(1.08); opacity: .55; }
}

/* System */
.rf-product-wow-card__object--system {
  width: 128px;
  height: 76px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, #c28a4e, #966431);
  box-shadow: 0 16px 28px rgba(0,0,0,.28);
}

.rf-product-wow-card__object--system::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: rgba(255,255,255,.22);
  transform: translateX(-50%);
}

.rf-product-wow-card__object--system::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 50%;
  height: 3px;
  background: rgba(255,255,255,.22);
  transform: translateY(-50%);
}

.rf-product-wow-card__body {
  position: relative;
  z-index: 2;
  display: grid;
  gap: .75rem;
  padding: 1rem .35rem .2rem;
}

.rf-product-wow-card__number {
  color: var(--rf-accent-2);
  font-weight: 900;
  letter-spacing: .18em;
  font-size: .74rem;
}

.rf-product-wow-card__body strong {
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
  line-height: 1.05;
}

.rf-product-wow-card__body small {
  color: var(--rf-muted);
  font-size: .96rem;
  line-height: 1.55;
}

.rf-product-wow-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  margin-top: .35rem;
  color: var(--rf-accent-2);
  font-weight: 900;
}

.rf-product-wow-card__cta::after {
  content: "?";
  transition: transform .2s ease;
}

.rf-product-wow-card:hover .rf-product-wow-card__cta::after {
  transform: translateX(6px);
}

@media (max-width: 1180px) {
  .rf-product-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .rf-product-showcase {
    padding: 2.5rem 0;
  }

  .rf-product-showcase__grid {
    display: flex;
    overflow-x: auto;
    gap: .9rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .5rem;
  }

  .rf-product-wow-card {
    flex: 0 0 82vw;
    min-height: 380px;
    scroll-snap-align: start;
    border-radius: 24px;
  }

  .rf-product-wow-card__visual {
    height: 190px;
  }
}
