@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600&display=swap');

:root {
    --rivimetal-red: #8c0500;
    --base-color: var(--rivimetal-red);
    --red: var(--rivimetal-red);
    --rm-ink: #17202c;
    --rm-steel: #64707d;
    --rm-line: #dfe3e7;
    --rm-offwhite: #f3f4f4;
    --rm-space-section: clamp(80px, 7.2vw, 126px);
    --rm-space-section-compact: clamp(64px, 5.6vw, 98px);
    --rm-space-intro: clamp(48px, 5.2vw, 82px);
}

.rm-home { color: var(--rm-steel); background: #fff; }
.rm-home .bg-base-color { background-color: var(--rivimetal-red) !important; }
.rm-home .text-base-color { color: var(--rivimetal-red) !important; }
.rm-home .bg-dark-gray { background-color: var(--rm-ink) !important; }
.rm-home .text-dark-gray { color: var(--rm-ink) !important; }

.rm-header { min-height: 88px; border-bottom: 1px solid rgba(23, 32, 44, .09); transition: min-height .35s cubic-bezier(.2,.8,.2,1), background-color .35s ease, box-shadow .35s ease; }
.rm-header .navbar-brand img { max-height: 48px; transition: max-height .35s cubic-bezier(.2,.8,.2,1); }
.rm-header .navbar-nav .nav-link { padding: 34px 12px; color: var(--rm-ink); font-size: 12px; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
.rm-header .navbar-nav .dropdown-toggle { right: 0; font-size: 12px; }
.rm-header .dropdown-menu { border: 0; border-top: 3px solid var(--rivimetal-red); border-radius: 0; box-shadow: 0 22px 55px rgba(23, 32, 44, .14); transform: translateY(8px); opacity: 0; transition: opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1); }
.rm-header .dropdown-menu li a { min-width: 270px; padding: 11px 22px; color: var(--rm-ink); font-size: 14px; font-weight: 600; }
.rm-header .dropdown-menu li a:hover { color: var(--rivimetal-red); background: var(--rm-offwhite); }
.rm-header .rm-mega-menu { width: 590px !important; padding: 18px !important; display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; }
.rm-header .rm-mega-menu li a { min-width: 0; height: 100%; }
.rm-header-actions { gap: 15px; }
.rm-euroguss { padding: 12px 16px; background: var(--rivimetal-red); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.rm-euroguss:hover { background: var(--rivimetal-red); color: #fff; }
.rm-language { padding-left: 15px; border-left: 1px solid var(--rm-line); color: var(--rm-ink); font-size: 12px; font-weight: 800; }

@media (min-width: 1300px) {
    .rm-header .navbar-nav > .dropdown:hover > .dropdown-menu,
    .rm-header .navbar-nav > .dropdown:focus-within > .dropdown-menu,
    .rm-header .navbar-nav > .dropdown.open > .dropdown-menu { display: block !important; transform: translateY(0); opacity: 1; }
    .rm-header .navbar-nav > .rm-wide-dropdown:hover > .rm-mega-menu,
    .rm-header .navbar-nav > .rm-wide-dropdown:focus-within > .rm-mega-menu,
    .rm-header .navbar-nav > .rm-wide-dropdown.open > .rm-mega-menu { display: grid !important; }
}

.rm-direction-preview .rm-header .dropdown-menu > li > a.rm-external-link::after {
    content: "↗" !important;
    display: inline-block;
    margin-left: 0.35em;
    color: currentColor;
    font-size: 0.82em;
    line-height: 1;
    opacity: 0.62;
}

.rm-header.is-compact { min-height: 70px; background: rgba(255, 255, 255, .97) !important; box-shadow: 0 10px 35px rgba(23, 32, 44, .08); }
.rm-header.is-compact .navbar-brand img { max-height: 39px; }
.rm-header.is-compact .navbar-nav .nav-link { padding-top: 25px; padding-bottom: 25px; }

.rm-hero { position: relative; min-height: calc(100vh - 88px); overflow: hidden; background: #101721; }
.rm-hero-media { position: absolute; inset: 0; background: url('../images/hero-production.webp') center 45% / cover no-repeat; transform: scale(1.015); will-change: transform; }
.rm-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 15, 22, .9) 0%, rgba(10, 15, 22, .62) 43%, rgba(10, 15, 22, .12) 78%); }
.rm-hero-content { transform: translateZ(0); }
.rm-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; color: var(--rivimetal-red); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rm-kicker::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.rm-hero-title { max-width: 930px; margin-bottom: 25px; font-size: clamp(54px, 6.2vw, 104px); font-weight: 600; letter-spacing: -.055em; line-height: .94; }
.rm-hero-copy { max-width: 720px; margin: 0; color: rgba(255, 255, 255, .76); font-size: 19px; line-height: 1.65; }

.rm-proof { position: relative; z-index: 2; margin-top: -1px; background: var(--rm-ink); }
.rm-proof-item { position: relative; padding: 34px 36px; border-right: 1px solid rgba(255, 255, 255, .12); color: #fff; }
.rm-proof-item:last-child { border-right: 0; }
.rm-proof-item > span { position: absolute; right: 28px; top: 28px; color: rgba(255, 255, 255, .28); font-size: 12px; font-weight: 700; }
.rm-proof-item strong, .rm-proof-item small { display: block; }
.rm-proof-item strong { margin-bottom: 3px; font-size: 20px; }
.rm-proof-item small { color: rgba(255, 255, 255, .55); font-size: 14px; }

.rm-intro, .rm-capabilities, .rm-industries, .rm-why { padding: 125px 0; }
.rm-section-title { color: var(--rm-ink); font-size: clamp(38px, 4.2vw, 68px); font-weight: 600; letter-spacing: -.045em; line-height: 1.02; }
.rm-text-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--rm-ink); font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.rm-text-link:hover { color: var(--rivimetal-red); }

.rm-capability-editorial { display: grid; gap: 110px; }
.rm-capability-feature { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: clamp(45px, 7vw, 110px); align-items: center; }
.rm-capability-feature-reverse { grid-template-columns: minmax(300px, .75fr) minmax(0, 1.45fr); }
.rm-capability-feature-reverse .rm-image-reveal { order: 2; }
.rm-capability-feature-reverse .rm-capability-copy { order: 1; }
.rm-capability-feature .rm-image-reveal { height: clamp(440px, 52vw, 700px); }
.rm-capability-copy > span { color: rgba(255, 255, 255, .42); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rm-capability-copy h3 { max-width: 520px; margin: 18px 0; color: #fff; font-size: clamp(34px, 4vw, 62px); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.rm-capability-copy p { max-width: 470px; margin: 0; color: rgba(255, 255, 255, .62); font-size: 17px; line-height: 1.75; }
.rm-image-reveal { position: relative; overflow: hidden; clip-path: inset(7% 0 7% 0); }
.rm-image-reveal img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.045); transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.rm-image-reveal:hover img { transform: scale(1.02); }
.rm-image-reveal.is-visible { clip-path: inset(0); transition: clip-path 1s cubic-bezier(.22,1,.36,1); }
.rm-image-reveal.is-visible img { transform: scale(1); }

.rm-facilities-image { height: 760px; }
.rm-facilities-copy { max-width: 650px; padding: 90px 80px; }

.rm-industry-list { border-top: 1px solid var(--rm-line); }
.rm-industry-list a { display: grid; grid-template-columns: 80px 1fr auto; align-items: center; padding: 29px 10px; border-bottom: 1px solid var(--rm-line); color: var(--rm-ink); transition: padding .25s ease, color .25s ease; }
.rm-industry-list a:hover { padding-right: 22px; padding-left: 22px; color: var(--rivimetal-red); }
.rm-industry-list span { color: #929aa2; font-size: 12px; }
.rm-industry-list strong { font-size: clamp(22px, 2.5vw, 38px); font-weight: 600; letter-spacing: -.025em; }
.rm-industry-list i { font-size: 24px; }
.rm-industry-list a.is-active { padding-right: 22px; padding-left: 22px; color: var(--rivimetal-red); }
.rm-industry-visual { position: sticky; top: 110px; height: 610px; margin: 0; background: var(--rm-offwhite); }
.rm-industry-visual img { transition: opacity .3s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.rm-industry-visual.is-changing img { opacity: .2; transform: scale(1.015); }

.rm-quality { position: relative; padding: 150px 0; background-position: center; }
.rm-quality-overlay { position: absolute; inset: 0; background: rgba(12, 18, 26, .56); }
.rm-quality-panel { padding: 65px; background: #fff; }

.rm-process { padding: 130px 0; background: var(--rm-offwhite); }
.rm-process-heading { position: sticky; top: 120px; max-width: 570px; }
.rm-process-heading p { max-width: 460px; font-size: 18px; line-height: 1.7; }
.rm-process-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid #cfd4d8; }
.rm-process-list li { display: grid; grid-template-columns: 72px 1fr; align-items: center; min-height: 112px; padding: 20px 12px; border-bottom: 1px solid #cfd4d8; color: #8c959d; transition: color .35s ease, padding .35s ease, background-color .35s ease; }
.rm-process-list li span { font-size: 12px; font-weight: 800; }
.rm-process-list li strong { font-size: clamp(25px, 3vw, 43px); font-weight: 600; letter-spacing: -.03em; }
.rm-process-list li.is-active { padding-left: 28px; color: var(--rm-ink); background: #fff; }
.rm-why-editorial { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rm-line); }
.rm-why-editorial article { min-height: 350px; padding: 38px 38px 48px 0; border-right: 1px solid var(--rm-line); }
.rm-why-editorial article + article { padding-left: 38px; }
.rm-why-editorial article:last-child { border-right: 0; }
.rm-why-editorial span { color: var(--rivimetal-red); font-size: 12px; font-weight: 800; }
.rm-why-editorial h3 { margin: 70px 0 18px; color: var(--rm-ink); font-size: clamp(30px, 3vw, 48px); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.rm-why-editorial p { max-width: 350px; margin: 0; font-size: 16px; line-height: 1.75; }

[data-rm-reveal] { opacity: 1; transform: none; }
.rm-motion-enhanced [data-rm-reveal] { opacity: 0; transform: translate3d(0, 30px, 0); }
.rm-motion-enhanced [data-rm-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); transition-delay: var(--rm-delay, 0ms); }

.rm-cta { padding: 80px 0; }
.rm-cta .rm-kicker, .rm-cta .rm-section-title { color: #fff; }

.rm-footer { padding: 85px 0 28px; }
.rm-footer-logo { width: 210px; }
.rm-footer h3 { color: #fff; font-size: 16px; }
.rm-footer ul { padding: 0; margin: 0; list-style: none; }
.rm-footer li { margin: 8px 0; }
.rm-footer a { color: rgba(255, 255, 255, .6); }
.rm-footer a:hover { color: #fff; }
.rm-footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 70px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .38); font-size: 12px; }

@media (max-width: 1399px) {
    .rm-header .navbar-nav .nav-link { padding-right: 8px; padding-left: 8px; font-size: 12px; }
    .rm-euroguss { padding-right: 11px; padding-left: 11px; font-size: 12px; }
}

@media (max-width: 1199px) {
    .rm-header { min-height: 74px; }
    .rm-header .navbar-brand img { max-height: 43px; }
    .rm-header .navbar-nav .nav-link { padding: 14px 20px; font-size: 13px; }
    .rm-header .rm-mega-menu { width: auto; padding: 0; display: none; grid-template-columns: 1fr; }
    .rm-header .dropdown-menu { transform: none; opacity: 1; transition: none; }
    .rm-header .dropdown.open > .rm-mega-menu, .rm-header .dropdown:hover > .rm-mega-menu { display: block; }
    .rm-hero { min-height: 760px; }
    .rm-facilities-copy { padding: 70px 50px; }
    .rm-capability-feature, .rm-capability-feature-reverse { grid-template-columns: 1fr 1fr; gap: 45px; }
    .rm-process-heading { position: static; }
}

@media (max-width: 767px) {
    .rm-hero { min-height: 680px; background-position: 58% center; }
    .rm-hero-media { background-position: 58% center; transform: none; will-change: auto; }
    .rm-hero-overlay { background: rgba(10, 15, 22, .67); }
    .rm-hero-title { font-size: 49px; }
    .rm-hero-copy { font-size: 17px; }
    .rm-proof-item { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .rm-intro, .rm-capabilities, .rm-industries, .rm-why { padding: 80px 0; }
    .rm-capability-editorial { gap: 70px; }
    .rm-capability-feature, .rm-capability-feature-reverse { grid-template-columns: 1fr; gap: 28px; }
    .rm-capability-feature-reverse .rm-image-reveal, .rm-capability-feature-reverse .rm-capability-copy { order: initial; }
    .rm-capability-feature .rm-image-reveal { height: 470px; }
    .rm-facilities-image { height: 520px; }
    .rm-facilities-copy { padding: 70px 28px; }
    .rm-quality { padding: 70px 0; }
    .rm-quality-panel { padding: 38px 28px; }
    .rm-industry-list a { grid-template-columns: 45px 1fr auto; }
    .rm-process { padding: 80px 0; }
    .rm-process-list { margin-top: 45px; }
    .rm-process-list li { min-height: 82px; }
    .rm-process-list li.is-active { padding-left: 12px; background: transparent; }
    .rm-why-editorial { grid-template-columns: 1fr; }
    .rm-why-editorial article, .rm-why-editorial article + article { min-height: 0; padding: 35px 0; border-right: 0; border-bottom: 1px solid var(--rm-line); }
    .rm-why-editorial h3 { margin-top: 28px; }
    .rm-footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .rm-motion-enhanced [data-rm-reveal] { opacity: 1 !important; transform: none !important; }
    .rm-image-reveal { clip-path: none !important; }
    .rm-image-reveal img, .rm-hero-media { transform: none !important; }
}

/* 2026 industrial direction — first visual-language checkpoint only */
.rm-direction-preview { background: #11171c; }
.rm-direction-preview .scroll-progress { display: none !important; }

.rm-direction-preview > header { position: absolute; z-index: 100; top: 0; left: 0; width: 100%; }
.rm-direction-preview .rm-header {
    min-height: 92px;
    background: rgba(13, 18, 22, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(2px);
}
.rm-direction-preview .rm-header .navbar-brand img { max-height: 46px; }
.rm-direction-preview .rm-header .navbar-nav .nav-link {
    padding: 36px 11px;
    color: rgba(255, 255, 255, .86);
    font-size: 12px;
    letter-spacing: .055em;
}
.rm-direction-preview .rm-header .navbar-nav .nav-link:hover { color: #fff; }
.rm-direction-preview .rm-header .navbar-nav .dropdown-toggle { color: rgba(255, 255, 255, .52); }
.rm-direction-preview .rm-header .rm-language { border-color: rgba(255, 255, 255, .22); color: #fff; }
.rm-direction-preview .rm-header .navbar-toggler-line { background-color: #fff !important; }
.rm-direction-preview .rm-euroguss { padding: 13px 17px; background: var(--rivimetal-red); }
.rm-direction-preview .rm-header.is-compact {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    min-height: 70px;
    transform: translateY(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(245, 243, 238, .97) !important;
    border-color: rgba(17, 23, 28, .12);
    box-shadow: 0 12px 35px rgba(7, 12, 16, .09);
    backdrop-filter: blur(14px);
}
.rm-direction-preview .rm-header.is-compact .navbar-brand { width: 190px; height: 44px; background: url('../images/rivimetal-logo-dark.png') center / contain no-repeat; }
.rm-direction-preview .rm-header.is-compact .navbar-brand img { opacity: 0 !important; visibility: hidden !important; }
.rm-direction-preview .rm-header.is-compact .navbar-nav .nav-link { padding-top: 25px; padding-bottom: 25px; color: #172027; }
.rm-direction-preview .rm-header.is-compact .navbar-nav .dropdown-toggle,
.rm-direction-preview .rm-header.is-compact .rm-language { color: #172027; border-color: rgba(17, 23, 28, .16); }
.rm-direction-preview .rm-header.is-compact .navbar-toggler-line { background-color: #172027 !important; }

.rm-direction-preview .rm-header .dropdown-menu {
    top: calc(100% - 1px);
    min-width: 330px;
    padding: 18px 0;
    background: #11181d;
    border: 0;
    border-top: 2px solid var(--rivimetal-red);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .3);
}
.rm-direction-preview .rm-header .dropdown-menu li a {
    min-width: 0;
    padding: 12px 26px;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    font-weight: 500;
}
.rm-direction-preview .rm-header .dropdown-menu li a:hover { color: #fff; background: rgba(255, 255, 255, .045); }
.rm-direction-preview .rm-header .rm-mega-menu { width: 690px !important; padding: 24px !important; gap: 0; }
.rm-direction-preview .rm-header .rm-mega-menu li a { padding: 16px 18px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.rm-direction-preview .rm-brand-mega {
    right: -180px !important;
    left: auto !important;
    width: 860px !important;
    padding: 0 !important;
    grid-template-columns: 340px 1fr !important;
}
.rm-direction-preview .rm-brand-mega-intro { display: flex; flex-direction: column; min-height: 420px; padding: 34px; background: #1a2228; }
.rm-direction-preview .rm-brand-mega-intro > span { color: var(--rivimetal-red); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.rm-direction-preview .rm-brand-mega-intro > strong { max-width: 250px; margin-top: 18px; color: #fff; font-size: 25px; font-weight: 500; line-height: 1.2; }
.rm-direction-preview .rm-brand-mega-image { min-height: 190px; margin-top: auto; background: linear-gradient(rgba(10,15,19,.12), rgba(10,15,19,.25)), url('../images/mega-menu-process.webp') center 31% / cover no-repeat; }
.rm-direction-preview .rm-brand-mega-links { display: grid; align-content: center; padding: 26px 34px; }
.rm-direction-preview .rm-header .rm-brand-mega-links > a { display: grid; grid-template-columns: 48px 1fr; align-items: center; min-height: 78px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.rm-direction-preview .rm-header .rm-brand-mega-links > a:last-child { border-bottom: 0; }
.rm-direction-preview .rm-brand-mega-links span { color: var(--rivimetal-red); font-size: 12px; font-weight: 800; }
.rm-direction-preview .rm-brand-mega-links strong { color: rgba(255, 255, 255, .78); font-size: 17px; font-weight: 500; transition: color .2s ease, transform .2s ease; }
.rm-direction-preview .rm-brand-mega-links a:hover strong { color: #fff; transform: translateX(5px); }

.rm-direction-preview .rm-hero { min-height: 100svh; padding: 0; background: #11171c; }
.rm-direction-preview .rm-hero-grid { display: grid; grid-template-columns: minmax(460px, 42%) 1fr; min-height: 100svh; }
.rm-direction-preview .rm-hero-copy-panel { position: relative; display: flex; align-items: center; padding: 150px clamp(48px, 6vw, 110px) 80px; overflow: hidden; background: #11171c; }
.rm-direction-preview .rm-hero-copy-panel::after { content: ""; position: absolute; top: 92px; right: 0; bottom: 0; width: 1px; background: rgba(255, 255, 255, .15); }
.rm-direction-preview .rm-hero-index { position: absolute; top: 132px; left: clamp(48px, 6vw, 110px); color: rgba(255, 255, 255, .28); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.rm-direction-preview .rm-hero-content { width: 100%; max-width: 600px; }
.rm-direction-preview .rm-hero-label { display: flex; align-items: center; gap: 15px; margin-bottom: 34px; color: var(--rivimetal-red); font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.rm-direction-preview .rm-hero-label::before { content: ""; width: 42px; height: 1px; background: currentColor; }
.rm-direction-preview .rm-hero-title { max-width: 570px; margin: 0; color: #f4f2ed; font-size: clamp(37px, 3.35vw, 58px); font-weight: 500; letter-spacing: -.038em; line-height: 1.08; }
.rm-direction-preview .rm-hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 50px; }
.rm-direction-preview .rm-primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 38px; min-width: 202px; padding: 17px 20px; background: var(--rivimetal-red); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rm-direction-preview .rm-primary-action:hover { background: var(--rivimetal-red); color: #fff; }
.rm-direction-preview .rm-primary-action i { transition: transform .25s ease; }
.rm-direction-preview .rm-primary-action:hover i { transform: translate(3px, -3px); }
.rm-direction-preview .rm-secondary-action { padding-bottom: 5px; border-bottom: 1px solid rgba(255, 255, 255, .42); color: rgba(255, 255, 255, .7); font-size: 12px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.rm-direction-preview .rm-secondary-action:hover { color: #fff; }
.rm-direction-preview .rm-hero-coordinate { position: absolute; right: clamp(40px, 4vw, 75px); bottom: 44px; left: clamp(48px, 6vw, 110px); display: flex; justify-content: space-between; color: rgba(255, 255, 255, .3); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.rm-direction-preview .rm-hero-visual { position: relative; min-width: 0; overflow: hidden; background: #222a30; }
.rm-direction-preview .rm-hero-media { position: absolute; inset: 0; background: url('../images/hero-candidate-b-molten.webp') center / cover no-repeat; transform: scale(1.015); }
.rm-direction-preview .rm-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,18,22,.24), transparent 28%), linear-gradient(0deg, rgba(7,11,14,.43), transparent 48%); }
.rm-direction-preview .rm-hero-redline { position: absolute; z-index: 2; top: 92px; right: 0; width: 6px; height: 110px; background: var(--rivimetal-red); }

@media (min-width: 1300px) {
    .rm-direction-preview .rm-header .navbar-nav > .dropdown { position: relative; padding-right: 10px; }
    .rm-direction-preview .rm-header .navbar-nav > .dropdown > .dropdown-toggle {
        position: absolute !important;
        top: 50%;
        right: 1px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 15px;
        height: 18px;
        transform: translateY(-50%);
        cursor: pointer;
    }
    .rm-direction-preview .rm-header .rm-why-dropdown:hover > .rm-brand-mega,
    .rm-direction-preview .rm-header .rm-why-dropdown:focus-within > .rm-brand-mega,
    .rm-direction-preview .rm-header .rm-why-dropdown.open > .rm-brand-mega { display: grid !important; }
}

@media (max-width: 1399px) {
    .rm-direction-preview .rm-header .navbar-nav .nav-link { padding-right: 7px; padding-left: 7px; font-size: 12px; }
    .rm-direction-preview .rm-hero-grid { grid-template-columns: minmax(430px, 41%) 1fr; }
    .rm-direction-preview .rm-hero-copy-panel { padding-right: 50px; padding-left: 50px; }
    .rm-direction-preview .rm-hero-index, .rm-direction-preview .rm-hero-coordinate { left: 50px; }
}

@media (max-width: 1199px) {
    body.rm-direction-preview { padding-top: 0 !important; }
    .rm-direction-preview .rm-header.mobile-top-space { height: auto !important; }
    .rm-direction-preview .rm-header { min-height: 76px; background: #11171c !important; }
    .rm-direction-preview .rm-header .navbar-collapse { background: #f2f0ea; }
    .rm-direction-preview .rm-header .navbar-nav .nav-link { padding: 10px 20px; color: #172027; }
    .rm-direction-preview .rm-header .navbar-nav .dropdown-toggle { color: #172027; }
    .rm-direction-preview .rm-header .dropdown-menu { background: #172027; }
    .rm-direction-preview .rm-header .rm-mega-menu, .rm-direction-preview .rm-brand-mega { width: auto !important; padding: 0 !important; display: none !important; }
    .rm-direction-preview .rm-header .dropdown.open > .rm-mega-menu,
    .rm-direction-preview .rm-header .dropdown.open > .rm-brand-mega { display: block !important; }
    .rm-direction-preview .rm-brand-mega-intro { display: none; }
    .rm-direction-preview .rm-brand-mega-links { padding: 10px 20px; }
    .rm-direction-preview .rm-header .rm-brand-mega-links > a { min-height: 58px; }
    .rm-direction-preview .rm-hero-grid { grid-template-columns: 46% 54%; }
    .rm-direction-preview .rm-hero-copy-panel { padding-right: 40px; padding-left: 40px; }
    .rm-direction-preview .rm-hero-index, .rm-direction-preview .rm-hero-coordinate { left: 40px; }
}

@media (max-width: 767px) {
    .rm-direction-preview .rm-hero { min-height: 100svh; }
    .rm-direction-preview .rm-hero-grid { grid-template-columns: 1fr; grid-template-rows: minmax(500px, 59svh) minmax(330px, 41svh); min-height: 100svh; }
    .rm-direction-preview .rm-hero-copy-panel { padding: 125px 22px 60px; }
    .rm-direction-preview .rm-hero-copy-panel::after { display: none; }
    .rm-direction-preview .rm-hero-index { top: 101px; left: 22px; }
    .rm-direction-preview .rm-hero-title { max-width: 350px; font-size: clamp(31px, 9.3vw, 40px); }
    .rm-direction-preview .rm-hero-label { margin-bottom: 25px; font-size: 12px; }
    .rm-direction-preview .rm-hero-actions { gap: 18px; margin-top: 34px; }
    .rm-direction-preview .rm-primary-action { min-width: 170px; gap: 20px; padding: 14px 16px; }
    .rm-direction-preview .rm-secondary-action { font-size: 12px; }
    .rm-direction-preview .rm-hero-coordinate { right: 22px; bottom: 24px; left: 22px; }
    .rm-direction-preview .rm-hero-coordinate { display: none; }
    .rm-direction-preview .rm-hero-media { background-image: url('../images/hero-candidate-b-molten-720.webp'); background-position: 44% center; }
    .rm-direction-preview .rm-hero-redline { top: 0; width: 5px; height: 80px; }
}

/* Selected typography system — A / Swiss Industrial */
.rm-type-a { font-family: "Inter", sans-serif; font-weight: 400; }

.rm-type-a .rm-hero-title { font-family: "Albert Sans", sans-serif; }

.rm-type-a .rm-hero-title {
    max-width: 540px;
    font-size: clamp(34px, 2.85vw, 49px);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.11;
}

.rm-type-a .rm-header .navbar-nav .nav-link,
.rm-type-a .rm-header-actions,
.rm-type-a .rm-header .dropdown-menu { font-family: inherit; }

.rm-type-a .rm-header .navbar-nav .nav-link {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .075em;
}

.rm-type-a .rm-hero-label,
.rm-type-a .rm-hero-index,
.rm-type-a .rm-hero-coordinate {
    font-weight: 500;
    letter-spacing: .16em;
}

@media (max-width: 767px) {
    .rm-type-a .rm-hero-title { font-size: clamp(30px, 8.4vw, 37px); }
}

/* Final first-viewport master system */
@media (min-width: 1300px) {
    .rm-direction-preview .rm-header > .container-fluid {
        display: grid !important;
        grid-template-columns: minmax(185px, 1fr) auto minmax(185px, 1fr);
        align-items: center;
        width: 100%;
    }

    .rm-direction-preview .rm-header-logo-zone { grid-column: 1; justify-self: start; }
    .rm-direction-preview .rm-header-nav-zone { grid-column: 2; justify-self: center; }
    .rm-direction-preview .rm-header-actions { grid-column: 3; justify-self: end; margin-left: 0 !important; }
    .rm-direction-preview .rm-header .navbar-nav { align-items: center; justify-content: center; }
    .rm-direction-preview .rm-header .navbar-nav .nav-link {
        padding-right: clamp(8px, .72vw, 14px);
        padding-left: clamp(8px, .72vw, 14px);
        font-size: clamp(12px, .715vw, 13px);
        font-weight: 500;
        letter-spacing: .072em;
 }
}

.rm-direction-preview .rm-euroguss {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 10px 15px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .075em;
}

.rm-direction-preview .rm-language {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .08em;
}

.rm-direction-preview .rm-header .dropdown-menu {
    padding-top: 20px;
    padding-bottom: 20px;
    background: rgba(16, 23, 28, .985);
    border-top-width: 1px;
    box-shadow: 0 28px 62px rgba(0, 0, 0, .28);
    transform: translateY(7px);
    transition: opacity .2s ease, transform .2s cubic-bezier(.22, 1, .36, 1);
}

.rm-direction-preview .rm-header .dropdown-menu li a {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: .018em;
}

.rm-direction-preview .rm-header .rm-mega-menu {
    width: 720px !important;
    padding: 25px 28px !important;
    counter-reset: rm-mega-item;
    column-gap: 34px;
}

.rm-direction-preview .rm-header .rm-mega-menu li { padding: 0 !important; counter-increment: rm-mega-item; }
.rm-direction-preview .rm-header .rm-mega-menu li a {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px 0;
}

.rm-direction-preview .rm-header .rm-mega-menu li a::before {
    content: counter(rm-mega-item, decimal-leading-zero);
    position: static !important;
    display: block;
    color: var(--rivimetal-red);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .12em;
}

.rm-direction-preview .rm-header .navbar-nav > .dropdown:hover > .dropdown-menu,
.rm-direction-preview .rm-header .navbar-nav > .dropdown:focus-within > .dropdown-menu,
.rm-direction-preview .rm-header .navbar-nav > .dropdown.open > .dropdown-menu {
    transform: translateY(0);
    opacity: 1;
}

.rm-direction-preview .rm-brand-mega-intro > span,
.rm-direction-preview .rm-brand-mega-links span { font-weight: 500; }
.rm-direction-preview .rm-brand-mega-intro > strong { font-family: "Albert Sans", sans-serif; font-weight: 500; }
.rm-direction-preview .rm-brand-mega-links strong { font-size: 16px; font-weight: 400; }

.rm-direction-preview .rm-hero-copy-panel { padding-top: 145px; padding-bottom: 86px; }
.rm-direction-preview .rm-hero-content { max-width: 570px; }
.rm-type-a .rm-hero-title {
    max-width: 540px;
    font-size: clamp(34px, 2.65vw, 46px);
    font-weight: 500;
    letter-spacing: -.022em;
    line-height: 1.105;
}

.rm-direction-preview .rm-hero-label {
    margin-bottom: 31px;
    font-weight: 500;
    letter-spacing: .165em;
}

.rm-direction-preview .rm-hero-actions { gap: 30px; margin-top: 44px; }
.rm-direction-preview .rm-primary-action {
    min-width: 194px;
    min-height: 50px;
    padding: 14px 17px 14px 19px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .075em;
}

.rm-direction-preview .rm-primary-action span {
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    transition: transform .2s ease;
}

.rm-direction-preview .rm-primary-action:hover span { transform: translateX(3px); }
.rm-direction-preview .rm-secondary-action {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .075em;
    white-space: nowrap;
}

.rm-direction-preview .rm-hero-index,
.rm-direction-preview .rm-hero-coordinate { font-weight: 500; opacity: .86; }
.rm-direction-preview .rm-hero-visual::after {
    background: linear-gradient(90deg, rgba(13,18,22,.2), transparent 28%), linear-gradient(0deg, rgba(7,11,14,.14), transparent 44%);
}

.rm-credibility {
    padding: 52px clamp(26px, 4.2vw, 80px) 64px;
    background: #eceae4;
    color: #172027;
}

.rm-credibility-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 28px;
}

.rm-credibility-heading > span {
    color: var(--rivimetal-red);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.rm-credibility-heading h2 {
    max-width: 380px;
    margin: 0;
    color: #59636a;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .025em;
    text-align: right;
}

.rm-spec-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 0;
    margin: 0;
    border-top: 1px solid rgba(17, 23, 28, .22);
    border-bottom: 1px solid rgba(17, 23, 28, .22);
}

.rm-spec-item {
    min-width: 0;
    padding: 25px clamp(16px, 2vw, 34px) 28px;
    border-left: 1px solid rgba(17, 23, 28, .14);
}

.rm-spec-item:first-child { padding-left: 0; border-left: 0; }
.rm-spec-item dt { margin: 0; }
.rm-spec-item dt > span {
    display: block;
    margin-bottom: 20px;
    color: var(--rivimetal-red);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .14em;
}

.rm-spec-item strong {
    display: block;
    color: #172027;
    font-family: "Albert Sans", sans-serif;
    font-size: clamp(18px, 1.55vw, 27px);
    font-weight: 500;
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: -.018em;
    line-height: 1.08;
}

.rm-spec-item dd {
    max-width: 180px;
    margin: 9px 0 0;
    color: #687177;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .09em;
    text-transform: uppercase;
}

@media (max-width: 1399px) and (min-width: 1200px) {
    .rm-direction-preview .rm-header > .container-fluid { grid-template-columns: minmax(165px, 1fr) auto minmax(165px, 1fr); }
    .rm-direction-preview .rm-header .navbar-brand { width: 168px; }
    .rm-direction-preview .rm-header .navbar-nav .nav-link { padding-right: 6px; padding-left: 6px; font-size: 12px; letter-spacing: .055em; }
    .rm-direction-preview .rm-euroguss { padding-right: 11px; padding-left: 11px; font-size: 12px; }
    .rm-direction-preview .rm-header-actions { gap: 10px; }
}

@media (max-width: 1199px) {
    .rm-direction-preview .rm-header > .container-fluid {
        display: flex !important;
        min-height: 76px;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .rm-direction-preview .rm-header-logo-zone { display: flex; align-items: center; }
    .rm-direction-preview .rm-header-nav-zone { margin-left: auto; }
    .rm-direction-preview .rm-header .navbar-brand { width: 180px; margin: 0; }
    .rm-direction-preview .rm-header .navbar-brand .default-logo,
    .rm-direction-preview .rm-header .navbar-brand .alt-logo { display: none !important; }
    .rm-direction-preview .rm-header .navbar-brand .mobile-logo { display: block !important; visibility: visible !important; opacity: 1 !important; }
    .rm-direction-preview .rm-header .navbar-collapse { position: absolute; top: 76px; right: 0; left: 0; max-height: calc(100svh - 76px); overflow-y: auto; }
    .rm-direction-preview .rm-header .navbar-nav .nav-link { color: #172027 !important; font-size: 14px; font-weight: 500; letter-spacing: .07em; }
    .rm-direction-preview .rm-header.is-compact { background: rgba(242, 240, 234, .98) !important; }
    .rm-direction-preview .rm-header.is-compact .navbar-toggler-line { background-color: #172027 !important; }
    .rm-direction-preview.navbar-collapse-show .rm-header { background: #11171c !important; }
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-toggler-line { background-color: #fff !important; }
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand {
        background: url('../images/rivimetal-logo-light.png') center / contain no-repeat !important;
    }
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand img { opacity: 0 !important; visibility: hidden !important; }
    .rm-direction-preview .rm-header .dropdown-menu { background: #e8e5de; }
    .rm-direction-preview .rm-header .dropdown-menu li a { color: #4f5960; font-weight: 400; }
    .rm-direction-preview .rm-header .rm-mega-menu li a { display: grid !important; grid-template-columns: 32px 1fr; padding: 12px 28px; }
    .rm-direction-preview .rm-hero-actions { gap: 18px; }
    .rm-spec-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .rm-direction-preview .rm-header > .container-fluid { padding-right: 20px !important; padding-left: 20px !important; }
    .rm-direction-preview .rm-header .navbar-brand { width: 154px; }
    .rm-direction-preview .rm-hero-grid { grid-template-rows: minmax(470px, 57svh) minmax(320px, 43svh); }
    .rm-direction-preview .rm-hero-copy-panel { padding: 118px 22px 52px; }
    .rm-direction-preview .rm-hero-label { max-width: 285px; margin-bottom: 23px; line-height: 1.45; }
    .rm-type-a .rm-hero-title { max-width: 345px; font-size: clamp(29px, 8.1vw, 36px); line-height: 1.1; }
    .rm-direction-preview .rm-hero-actions { align-items: flex-start; gap: 17px; margin-top: 30px; }
    .rm-direction-preview .rm-primary-action { min-width: 166px; min-height: 46px; padding: 12px 14px; font-size: 12px; }
    .rm-direction-preview .rm-secondary-action { margin-top: 13px; font-size: 12px; }
    .rm-direction-preview .rm-hero-media { background-position: 49% center; }
    .rm-credibility { padding: 38px 22px 46px; }
    .rm-credibility-heading { display: block; margin-bottom: 22px; }
    .rm-credibility-heading h2 { margin-top: 10px; text-align: left; }
    .rm-spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rm-spec-item { padding: 22px 15px 24px; }
    .rm-spec-item:nth-child(odd) { padding-left: 0; border-left: 0; }
    .rm-spec-item:nth-child(even) { border-left: 1px solid rgba(17, 23, 28, .14); }
    .rm-spec-item:nth-child(n+3) { border-top: 1px solid rgba(17, 23, 28, .14); }
    .rm-spec-item strong { font-size: clamp(18px, 5.5vw, 23px); }
}

/* Final mega-menu density refinement */
.rm-direction-preview .rm-header .rm-mega-menu {
    padding: 18px 24px !important;
    column-gap: 30px;
}

.rm-direction-preview .rm-header .rm-mega-menu li a {
    grid-template-columns: 28px 1fr;
    column-gap: 12px;
    min-height: 50px;
    padding: 8px 0;
}

.rm-direction-preview .rm-header .rm-mega-menu li a::before {
    align-self: center;
    min-width: 28px;
    line-height: 1;
    text-align: left;
}

.rm-direction-preview .rm-brand-mega-intro { min-height: 370px; padding: 30px; }
.rm-direction-preview .rm-brand-mega-intro > strong { margin-top: 14px; font-size: 23px; line-height: 1.18; }
.rm-direction-preview .rm-brand-mega-image { min-height: 160px; margin-top: 26px; }
.rm-direction-preview .rm-brand-mega-links { padding: 22px 30px; }
.rm-direction-preview .rm-header .rm-brand-mega-links > a { min-height: 68px; }

@media (max-width: 1199px) {
    .rm-direction-preview .rm-header .rm-mega-menu { padding: 7px 0 12px !important; }
    .rm-direction-preview .rm-header .rm-mega-menu li a { grid-template-columns: 30px 1fr; min-height: 48px; padding: 10px 28px; }
}

/* 2026 homepage master system */
.rm-direction-preview { background: #f1efe9; }
.rm-master-shell { width: min(100% - 64px, 1540px); margin-inline: auto; }
.rm-master-section { padding: var(--rm-space-section) 0; }
.rm-master-index, .rm-master-kicker { display: block; font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.rm-master-index { margin-bottom: 34px; color: #858d91; }
.rm-master-kicker { color: var(--rivimetal-red); }
.rm-section-head { display: grid; grid-template-columns: minmax(170px, .7fr) minmax(420px, 1.5fr) minmax(250px, .75fr); gap: clamp(32px, 5vw, 82px); align-items: end; margin-bottom: var(--rm-space-intro); }
.rm-section-head h2, .rm-process-intro h2, .rm-engineering-copy h2, .rm-quality-content h2, .rm-proven-panel h2, .rm-heritage-copy h2, .rm-rfq-master h2 { margin: 0; font-family: "Albert Sans", sans-serif; font-weight: 500; letter-spacing: -.028em; line-height: 1.06; }
.rm-section-head h2 { color: #f2f0eb; font-size: clamp(36px, 4vw, 66px); }
.rm-section-head > p { max-width: 360px; margin: 0; color: rgba(255,255,255,.52); font-size: 15px; line-height: 1.7; }
.rm-section-head-light h2 { color: #172027; }
.rm-section-head-light > p { color: #667078; }
.rm-arrow-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 7px; border-bottom: 1px solid rgba(23,32,39,.45); color: #172027; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.rm-arrow-link span { font-size: 15px; transition: transform .2s ease; }
.rm-arrow-link:hover { color: var(--rivimetal-red); }
.rm-arrow-link:hover span { transform: translate(3px,-3px); }
.rm-arrow-link-light { border-color: rgba(255,255,255,.35); color: rgba(255,255,255,.82); }

.rm-capabilities-master { background: #11171c; color: #fff; }
.rm-capabilities-master { padding-top: var(--rm-space-section-compact); padding-bottom: var(--rm-space-section-compact); }
.rm-capability-stage { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(430px, .85fr); gap: clamp(48px, 6vw, 96px); align-items: start; }
.rm-capability-visual { position: sticky; top: 96px; height: min(61vw, 640px); margin: 0; }
.rm-capability-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(8,12,15,.72),transparent 42%); pointer-events: none; }
.rm-capability-visual figcaption { position: absolute; z-index: 2; right: 34px; bottom: 30px; left: 34px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; color: #fff; }
.rm-capability-visual figcaption span { color: rgba(255,255,255,.5); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.rm-capability-visual figcaption strong { max-width: 330px; font-family: "Albert Sans",sans-serif; font-size: 21px; font-weight: 500; line-height: 1.15; text-align: right; }
.rm-capability-visual img { transition: opacity .3s ease, transform .75s cubic-bezier(.22,1,.36,1); }
.rm-capability-visual.is-changing img { opacity: .18; transform: scale(1.018); }
.rm-capability-catalogue { counter-reset: capability; border-top: 1px solid rgba(255,255,255,.17); }
.rm-capability-catalogue a { display: grid; grid-template-columns: 48px 1fr 90px; gap: 14px; align-items: center; min-height: 82px; border-bottom: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.48); transition: color .25s ease,padding .25s ease,background-color .25s ease; }
.rm-capability-catalogue a:hover, .rm-capability-catalogue a.is-active { padding-inline: 17px; color: #fff; background: rgba(255,255,255,.035); }
.rm-capability-catalogue a > span { color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .12em; }
.rm-capability-catalogue strong { font-family: "Albert Sans",sans-serif; font-size: clamp(19px,1.55vw,27px); font-weight: 500; letter-spacing: -.018em; line-height: 1.12; }
.rm-capability-catalogue small { color: rgba(255,255,255,.34); font-size: 12px; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.rm-capabilities-master > .rm-master-shell > .rm-arrow-link { margin-top: 48px; border-color: rgba(255,255,255,.35); color: rgba(255,255,255,.78); }

.rm-film-section { padding: clamp(82px,7.5vw,132px) 0 clamp(92px,8.5vw,148px); overflow: hidden; background: #0f1519; color: #fff; }
.rm-film-intro { display: grid; grid-template-columns: minmax(190px,.48fr) minmax(0,1.52fr); gap: clamp(54px,8vw,140px); width: min(100% - 64px,1540px); margin-inline: auto; }
.rm-film-eyebrow { padding-top: 13px; color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.rm-film-intro h2 { margin: 0; color: #f2f0eb; font-family: "Albert Sans",sans-serif; font-size: clamp(46px,5.6vw,90px); font-weight: 500; letter-spacing: -.038em; line-height: .98; text-transform: uppercase; }
.rm-film-intro p { margin: 24px 0 0; color: rgba(255,255,255,.54); font-size: 16px; line-height: 1.65; }
.rm-film-frame { width: min(90vw,1540px); aspect-ratio: 16 / 9; margin: clamp(48px,5vw,76px) auto 0; border: 1px solid rgba(255,255,255,.13); background: #090d10; }
.rm-film-frame::after { content: ""; position: absolute; z-index: 1; inset: 0; background: rgba(5,8,10,.16); pointer-events: none; transition: opacity .5s ease; }
.rm-film-frame.rm-image-reveal .rm-film-poster { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.86) contrast(1.04); transform: scale(1.02); transition: opacity .55s ease,transform .9s cubic-bezier(.22,1,.36,1); }
.rm-film-frame.rm-image-reveal.is-visible .rm-film-poster { transform: scale(1); }
.rm-film-player, .rm-film-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rm-film-player iframe { pointer-events: none; }
.rm-film-frame.is-loaded .rm-film-poster, .rm-film-frame.is-loaded::after { opacity: 0; }
.rm-film-controls { position: absolute; z-index: 3; right: 22px; bottom: 20px; display: flex; align-items: center; gap: 8px; }
.rm-film-control, .rm-film-sound { display: inline-flex; align-items: center; gap: 18px; min-height: 42px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.3); border-radius: 0; background: rgba(9,13,16,.78); color: #fff; font-family: "Inter",sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .1em; line-height: 1; text-transform: uppercase; backdrop-filter: blur(8px); transition: background-color .2s ease,border-color .2s ease; }
.rm-film-control:hover, .rm-film-control:focus-visible, .rm-film-sound:hover, .rm-film-sound:focus-visible, .rm-film-sound[aria-pressed="true"] { border-color: var(--rivimetal-red); background: var(--rivimetal-red); color: #fff; }
.rm-film-control i, .rm-film-sound i { color: var(--rivimetal-red); font-family: Arial,sans-serif; font-size: 14px; font-style: normal; transition: color .2s ease; }
.rm-film-control:hover i, .rm-film-control:focus-visible i, .rm-film-sound:hover i, .rm-film-sound:focus-visible i, .rm-film-sound[aria-pressed="true"] i { color: #fff; }

.rm-why-master { background: #efede7; }
.rm-why-sequence { border-top: 1px solid rgba(23,32,39,.25); }
.rm-why-sequence article { position: relative; display: grid; grid-template-columns: minmax(90px,.4fr) minmax(0,1.6fr); gap: 36px; align-items: center; padding: 30px 0 34px; border-bottom: 1px solid rgba(23,32,39,.18); outline: 0; transition: padding .35s cubic-bezier(.22,1,.36,1),background-color .3s ease; }
.rm-why-sequence article::before { content: ""; position: absolute; top: 28px; bottom: 28px; left: -18px; width: 2px; background: var(--rivimetal-red); opacity: 0; transform: scaleY(.35); transition: opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1); }
.rm-why-sequence article:hover, .rm-why-sequence article:focus, .rm-why-sequence article.is-active { padding-top: 38px; padding-bottom: 42px; }
.rm-why-sequence article:hover::before, .rm-why-sequence article:focus::before, .rm-why-sequence article.is-active::before { opacity: 1; transform: scaleY(1); }
.rm-why-sequence article > span { color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .13em; }
.rm-why-sequence article > div { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(280px,1fr) 150px; gap: clamp(28px,4vw,66px); align-items: center; }
.rm-why-sequence h3 { margin: 0; color: #475158; font-family: "Albert Sans",sans-serif; font-size: clamp(29px,2.6vw,43px); font-weight: 500; letter-spacing: -.03em; line-height: 1; transition: color .3s ease,transform .35s cubic-bezier(.22,1,.36,1); }
.rm-why-sequence p { max-width: 510px; margin: 2px 0 0; color: #778087; font-size: 15px; line-height: 1.7; transition: color .3s ease; }
.rm-why-sequence article:hover h3, .rm-why-sequence article:focus h3, .rm-why-sequence article.is-active h3 { color: #172027; transform: translateX(6px); }
.rm-why-sequence article:hover p, .rm-why-sequence article:focus p, .rm-why-sequence article.is-active p { color: #4f5960; }
.rm-strength-detail { display: block; width: 150px; height: 72px; overflow: hidden; opacity: 0; transform: translateX(8px); filter: saturate(.8) contrast(1.04); transition: opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1); }
.rm-strength-detail img { width: 100%; height: 100%; object-fit: cover; }
.rm-why-sequence article:hover .rm-strength-detail, .rm-why-sequence article:focus .rm-strength-detail, .rm-why-sequence article.is-active .rm-strength-detail { opacity: 1; transform: translateX(0); }

.rm-engineering-master { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(480px,.9fr); min-height: 760px; background: #151d22; color: #fff; }
.rm-engineering-media { min-height: 680px; }
.rm-engineering-media img { object-position: center 47%; }
.rm-engineering-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(66px,6.4vw,108px); }
.rm-engineering-copy h2 { max-width: 650px; margin: 30px 0 28px; color: #f2f0eb; font-size: clamp(38px,4.2vw,68px); }
.rm-engineering-copy > p { max-width: 590px; color: rgba(255,255,255,.6); font-size: 17px; line-height: 1.78; }
.rm-engineering-copy dl { margin: 48px 0; border-top: 1px solid rgba(255,255,255,.14); }
.rm-engineering-copy dl > div { display: grid; grid-template-columns: 110px 1fr; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.rm-engineering-copy dt { color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.rm-engineering-copy dd { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; }
.rm-engineering-copy .rm-arrow-link { align-self: flex-start; }

.rm-process-master { background: #f4f2ed; }
.rm-process-layout { display: grid; grid-template-columns: minmax(330px,.72fr) minmax(550px,1.28fr); gap: clamp(65px,9vw,160px); align-items: start; }
.rm-process-intro { position: sticky; top: 118px; }
.rm-process-intro h2 { margin: 30px 0 24px; color: #172027; font-size: clamp(39px,4.2vw,68px); }
.rm-process-intro p { max-width: 430px; color: #667078; font-size: 16px; line-height: 1.75; }
.rm-process-timeline { padding: 0; margin: 0; list-style: none; border-top: 1px solid rgba(23,32,39,.23); }
.rm-process-timeline li { position: relative; display: grid; grid-template-columns: 62px 1fr 150px; gap: 20px; align-items: center; min-height: 84px; padding: 16px 10px; border-bottom: 1px solid rgba(23,32,39,.19); color: #172027; transition: none; }
.rm-process-timeline li::before { display: none; }
.rm-process-timeline li:hover, .rm-process-timeline li:focus-within, .rm-process-timeline li.is-active { padding: 16px 10px; color: #172027; background: transparent; transform: none; }
.rm-process-timeline span { color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .13em; }
.rm-process-timeline strong { font-family: "Albert Sans",sans-serif; font-size: clamp(21px,2.1vw,34px); font-weight: 500; letter-spacing: -.022em; line-height: 1.12; }
.rm-process-timeline small { font-size: 12px; letter-spacing: .12em; text-align: right; text-transform: uppercase; }

.rm-industries-master { background: #e6e3dc; }
.rm-industries-layout { display: grid; grid-template-columns: minmax(450px,.9fr) minmax(0,1.1fr); gap: clamp(50px,7vw,118px); align-items: start; }
.rm-industries-master .rm-industry-list a { grid-template-columns: 48px 1fr 30px; min-height: 84px; padding: 17px 8px; }
.rm-industries-master .rm-industry-list strong { font-size: clamp(20px,2vw,33px); font-weight: 500; }
.rm-industries-master .rm-industry-list i { font-family: Arial,sans-serif; font-size: 16px; font-style: normal; }
.rm-industries-master .rm-industry-visual { height: min(58vw,650px); }
.rm-industries-master .rm-industry-visual img { width: 100%; height: 100%; object-fit: cover; }

.rm-quality-master { display: grid; grid-template-columns: minmax(410px,.78fr) minmax(0,1.22fr); background: #11171c; color: #fff; }
.rm-quality-image { min-height: 780px; }
.rm-quality-content { padding: clamp(68px,6.8vw,116px); }
.rm-quality-content h2 { margin: 28px 0 25px; color: #f2f0eb; font-size: clamp(40px,4.8vw,76px); }
.rm-quality-content > div:first-child > p { max-width: 620px; color: rgba(255,255,255,.58); font-size: 17px; line-height: 1.75; }
.rm-quality-framework { margin: 56px 0 45px; border-top: 1px solid rgba(255,255,255,.16); }
.rm-quality-framework article { display: grid; grid-template-columns: 115px minmax(230px,.8fr) minmax(250px,1fr); gap: 24px; align-items: start; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.rm-quality-framework span { color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.rm-quality-framework h3 { margin: 0; color: #fff; font-family: "Albert Sans",sans-serif; font-size: 19px; font-weight: 500; line-height: 1.35; }
.rm-quality-framework p { margin: 0; color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.65; }

.rm-proven-master { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(440px,.72fr); min-height: 710px; background: #dcd9d2; }
.rm-proven-image { min-height: 610px; }
.rm-proven-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(64px,6vw,102px); }
.rm-proven-panel h2 { margin: 30px 0 27px; color: #172027; font-size: clamp(37px,4vw,64px); }
.rm-proven-panel > p { color: #626c73; font-size: 16px; line-height: 1.75; }
.rm-proven-panel ul { padding: 0; margin: 42px 0 46px; list-style: none; border-top: 1px solid rgba(23,32,39,.2); }
.rm-proven-panel li { padding: 16px 0; border-bottom: 1px solid rgba(23,32,39,.2); color: #172027; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.rm-proven-panel .rm-arrow-link { align-self: flex-start; }

.rm-heritage-master { background: #f4f2ed; }
.rm-heritage-master { padding-top: var(--rm-space-section-compact); padding-bottom: var(--rm-space-section-compact); }
.rm-heritage-layout { display: grid; grid-template-columns: minmax(360px,.8fr) minmax(0,1.2fr); gap: clamp(70px,10vw,180px); align-items: center; }
.rm-heritage-copy h2 { margin: 30px 0 26px; color: #172027; font-size: clamp(40px,4.8vw,76px); }
.rm-heritage-copy > p { max-width: 550px; color: #667078; font-size: 17px; line-height: 1.75; }
.rm-heritage-line { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin: 52px 0; color: #172027; font-family: "Albert Sans",sans-serif; font-size: 18px; font-weight: 500; }
.rm-heritage-line i { height: 1px; background: linear-gradient(90deg,var(--rivimetal-red) 0 22%,rgba(23,32,39,.22) 22%); }
.rm-heritage-image { height: min(49vw,560px); margin: 0; }
.rm-heritage-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,15,18,.55),transparent 38%); }
.rm-heritage-image figcaption { position: absolute; z-index: 2; right: 28px; bottom: 24px; color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }

.rm-rfq-master { padding: clamp(66px,6.2vw,104px) 0; background: var(--rivimetal-red); color: #fff; }
.rm-rfq-master .rm-master-index { color: rgba(255,255,255,.48); }
.rm-rfq-master .rm-master-kicker { color: #fff; }
.rm-rfq-layout { display: grid; grid-template-columns: minmax(500px,1.45fr) minmax(320px,.55fr); gap: 60px; align-items: end; margin-top: 34px; }
.rm-rfq-master h2 { color: #fff; font-size: clamp(44px,5.7vw,92px); }
.rm-rfq-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.rm-rfq-master .rm-primary-action { width: 100%; max-width: 320px; background: #11171c; }
.rm-rfq-master .rm-primary-action:hover { background: #263037; }
.rm-rfq-master .rm-secondary-action { border-color: rgba(255,255,255,.65); color: #fff; }

.rm-direction-preview .rm-footer-compact { display: block; padding: 0; background: #0e1418 !important; color: #f1efe9; }
.rm-footer-compact-shell { width: min(100% - 64px,1540px); margin-inline: auto; border-top: 3px solid var(--rivimetal-red); }
.rm-footer-topline { display: grid; grid-template-columns: minmax(330px,1.25fr) minmax(260px,.75fr) auto; gap: 46px; align-items: center; min-height: 154px; border-bottom: 1px solid rgba(255,255,255,.14); }
.rm-footer-identity { display: flex; align-items: center; gap: 36px; }
.rm-footer-logo { width: 210px; margin: 0; }
.rm-footer-identity p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 400; line-height: 1.55; }
.rm-footer-identity p span { color: rgba(255,255,255,.38); }
.rm-footer-contact { padding-left: 42px; border-left: 1px solid rgba(255,255,255,.13); }
.rm-footer-contact > span { display: block; margin-bottom: 12px; color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.rm-footer-contact a { color: rgba(255,255,255,.84); font-family: "Albert Sans",sans-serif; font-size: 17px; font-weight: 500; }
.rm-footer-contact a:hover { color: #fff; }
.rm-footer-rfq { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 190px; padding: 15px 17px; background: var(--rivimetal-red); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.rm-footer-rfq:hover { background: var(--rivimetal-red); color: #fff; }
.rm-footer-rfq i { font-family: Arial,sans-serif; font-size: 15px; font-style: normal; transition: transform .2s ease; }
.rm-footer-rfq:hover i { transform: translateX(3px); }

.rm-footer-direct { display: flex; align-items: center; gap: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.rm-footer-direct a { display: inline-flex; align-items: center; gap: 12px; padding: 15px 34px; border-right: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.58); font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.rm-footer-direct a:first-child { padding-left: 0; }
.rm-footer-direct a:hover { color: #fff; }
.rm-footer-direct a span { color: var(--rivimetal-red); font-family: Arial,sans-serif; font-size: 12px; }

.rm-footer-sitemap { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-bottom: 1px solid rgba(255,255,255,.14); }
.rm-footer-group { padding: 35px 24px 32px; border-left: 1px solid rgba(255,255,255,.09); }
.rm-footer-group:first-child { padding-left: 0; border-left: 0; }
.rm-footer-group:last-child { padding-right: 0; }
.rm-footer-group summary { list-style: none; margin-bottom: 22px; color: var(--rivimetal-red); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; cursor: default; }
.rm-footer-group summary::-webkit-details-marker { display: none; }
.rm-footer-group summary span { display: none; }
.rm-footer-group-links a { display: block; margin: 8px 0; color: rgba(255,255,255,.59); font-size: 12px; font-weight: 400; line-height: 1.34; transition: color .2s ease,transform .2s ease; }
.rm-footer-group-links a:hover { color: #fff; transform: translateX(3px); }
.rm-footer-group-links a[data-route-status="planned"] { color: rgba(255,255,255,.43); }

.rm-footer-utility { display: grid; grid-template-columns: auto auto 1fr auto auto auto auto auto; gap: 25px; align-items: center; min-height: 57px; color: rgba(255,255,255,.32); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.rm-footer-utility a { color: rgba(255,255,255,.43); }
.rm-footer-utility a:hover { color: #fff; }
.rm-footer-utility a:nth-of-type(1) { text-transform: lowercase; }
.rm-footer-top { display: inline-flex; align-items: center; gap: 8px; }
.rm-footer-top i { color: var(--rivimetal-red); font-family: Arial,sans-serif; font-size: 12px; font-style: normal; }
.rm-footer-credit { justify-self: end; white-space: nowrap; color: rgba(255,255,255,.5) !important; letter-spacing: .04em; text-transform: none; }
.rm-footer-credit:hover { color: #fff !important; }

@media (max-width: 1199px) {
    .rm-master-shell { width: min(100% - 48px, 1120px); }
    .rm-section-head { grid-template-columns: 150px 1fr; }
    .rm-section-head > p { grid-column: 2; }
    .rm-why-sequence article > div { grid-template-columns: minmax(230px,.75fr) minmax(280px,1fr); }
    .rm-strength-detail { display: none; }
    .rm-capability-stage { grid-template-columns: 1fr 1fr; gap: 42px; }
    .rm-capability-catalogue a { grid-template-columns: 38px 1fr; min-height: 82px; }
    .rm-capability-catalogue small { display: none; }
    .rm-film-intro { width: min(100% - 48px,1120px); }
    .rm-film-frame { width: calc(100% - 48px); }
    .rm-engineering-master, .rm-quality-master, .rm-proven-master { grid-template-columns: 1fr 1fr; }
    .rm-engineering-copy, .rm-quality-content, .rm-proven-panel { padding: 70px 48px; }
    .rm-quality-framework article { grid-template-columns: 100px 1fr; }
    .rm-quality-framework p { grid-column: 2; }
    .rm-process-layout { gap: 65px; }
    .rm-rfq-layout { grid-template-columns: 1fr; align-items: start; }
    .rm-footer-compact-shell { width: min(100% - 48px,1120px); }
    .rm-footer-topline { grid-template-columns: 1fr auto; gap: 30px; min-height: 140px; }
    .rm-footer-contact { grid-column: 1; grid-row: 2; padding: 0 0 25px; border-left: 0; }
    .rm-footer-rfq { grid-column: 2; grid-row: 1 / span 2; }
    .rm-footer-sitemap { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .rm-footer-group:nth-child(4) { border-left: 0; }
    .rm-footer-group:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.09); }
    .rm-footer-utility { grid-template-columns: auto auto 1fr auto auto auto; }
    .rm-footer-utility > :nth-child(3), .rm-footer-utility > :nth-child(4) { display: none; }
}

@media (min-width: 1600px) {
    .rm-direction-preview .rm-hero-media { background-position: 50% 50%; }
}

@media (min-width: 1200px) and (max-width: 1599px) {
    .rm-direction-preview .rm-hero-media { background-position: 52% 50%; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .rm-direction-preview .rm-hero-media { background-position: 55% 50%; }
}

@media (max-width: 767px) {
    .rm-master-shell { width: calc(100% - 44px); }
    .rm-master-section { padding: 76px 0; }
    .rm-master-index { margin-bottom: 24px; }
    .rm-section-head { display: block; margin-bottom: 48px; }
    .rm-section-head h2 { margin: 28px 0 20px; font-size: 36px; }
    .rm-section-head > p { font-size: 14px; }
    .rm-capability-stage { display: block; }
    .rm-capability-visual { position: relative; top: auto; height: 470px; margin-bottom: 34px; }
    .rm-capability-visual figcaption { right: 20px; bottom: 18px; left: 20px; }
    .rm-capability-visual figcaption span { display: none; }
    .rm-capability-visual figcaption strong { max-width: 270px; text-align: left; }
    .rm-capability-catalogue a { min-height: 75px; }
    .rm-capability-catalogue a:hover, .rm-capability-catalogue a.is-active { padding-inline: 8px; }
    .rm-why-sequence article, .rm-why-sequence article > div { display: block; }
    .rm-why-sequence article > span { display: block; margin-bottom: 24px; }
    .rm-why-sequence h3 { margin-bottom: 17px; font-size: 34px; }
    .rm-engineering-master, .rm-quality-master, .rm-proven-master { grid-template-columns: 1fr; }
    .rm-engineering-media, .rm-quality-image, .rm-proven-image { min-height: 480px; }
    .rm-engineering-copy, .rm-quality-content, .rm-proven-panel { padding: 76px 22px; }
    .rm-engineering-copy h2, .rm-quality-content h2, .rm-proven-panel h2 { font-size: 39px; }
    .rm-engineering-copy dl > div { grid-template-columns: 80px 1fr; }
    .rm-process-layout { display: block; }
    .rm-process-intro { position: static; margin-bottom: 46px; }
    .rm-process-intro h2 { font-size: 40px; }
    .rm-process-timeline li { grid-template-columns: 45px 1fr; min-height: 78px; padding: 15px 4px; }
    .rm-process-timeline li:hover, .rm-process-timeline li:focus-within, .rm-process-timeline li.is-active { padding: 15px 4px; background: transparent; }
    .rm-process-timeline small { display: none; }
    .rm-industries-layout { display: block; }
    .rm-industries-master .rm-industry-list { margin-bottom: 38px; }
    .rm-industries-master .rm-industry-list a { grid-template-columns: 38px 1fr 20px; min-height: 82px; }
    .rm-industries-master .rm-industry-visual { position: relative; top: auto; display: block; height: 440px; }
    .rm-quality-framework article { display: block; padding: 25px 0; }
    .rm-quality-framework h3 { margin: 14px 0 12px; }
    .rm-heritage-layout { display: flex; flex-direction: column-reverse; gap: 56px; }
    .rm-heritage-image { width: 100%; height: 450px; }
    .rm-heritage-copy h2 { font-size: 43px; }
    .rm-capabilities-master, .rm-heritage-master { padding-top: 66px; padding-bottom: 66px; }
    .rm-film-section { padding: 72px 0 78px; }
    .rm-film-intro { display: block; width: calc(100% - 44px); }
    .rm-film-eyebrow { display: block; padding: 0; margin-bottom: 28px; }
    .rm-film-intro h2 { font-size: clamp(40px,12vw,54px); }
    .rm-film-intro p { max-width: 310px; margin-top: 18px; font-size: 14px; }
    .rm-film-frame { width: calc(100% - 44px); margin-top: 38px; }
    .rm-film-controls { right: 10px; bottom: 10px; gap: 6px; }
    .rm-film-control, .rm-film-sound { min-height: 38px; padding: 10px 11px; font-size: 12px; }
    .rm-rfq-master { padding: 66px 0; }
    .rm-rfq-layout { display: block; margin-top: 28px; }
    .rm-rfq-master h2 { font-size: 44px; }
    .rm-rfq-actions { margin-top: 42px; }
    .rm-direction-preview .rm-hero-media { background-position: 50% 48%; }
    .rm-footer-compact-shell { width: calc(100% - 44px); }
    .rm-footer-topline { display: block; padding: 40px 0 34px; }
    .rm-footer-identity { display: block; }
    .rm-footer-logo { width: 185px; }
    .rm-footer-identity p { margin-top: 20px; }
    .rm-footer-contact { margin-top: 27px; padding: 25px 0 0; border-top: 1px solid rgba(255,255,255,.11); }
    .rm-footer-rfq { width: 100%; margin-top: 28px; }
    .rm-footer-direct { display: grid; grid-template-columns: repeat(2,1fr); }
    .rm-footer-direct a { justify-content: center; padding: 14px 8px; font-size: 12px; }
    .rm-footer-direct a:first-child { padding-left: 8px; }
    .rm-footer-direct a:last-child { border-right: 0; }
    .rm-footer-direct a span { display: none; }
    .rm-footer-sitemap { display: block; }
    .rm-footer-group, .rm-footer-group:first-child, .rm-footer-group:last-child { padding: 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .rm-footer-group summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0; cursor: pointer; }
    .rm-footer-group summary span { display: block; color: rgba(255,255,255,.42); font-family: Arial,sans-serif; font-size: 14px; font-weight: 400; transition: transform .2s ease; }
    .rm-footer-group[open] summary span { transform: rotate(45deg); }
    .rm-footer-group-links { padding: 0 0 17px; }
    .rm-footer-group-links a { margin: 9px 0; font-size: 12px; }
    .rm-footer-utility { display: flex; flex-wrap: wrap; gap: 10px 18px; min-height: 0; padding: 22px 0 25px; }
    .rm-footer-utility > :nth-child(3), .rm-footer-utility > :nth-child(4) { display: none; }
    .rm-footer-credit { margin-left: auto; }
}

/* Unified white header — initial and sticky states */
.rm-direction-preview .rm-header,
.rm-direction-preview .rm-header.is-compact,
.rm-direction-preview.navbar-collapse-show .rm-header,
.rm-direction-preview header.sticky.sticky-active .rm-header[data-header-hover="dark"] {
    background: rgba(255,255,255,.985) !important;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: none;
    backdrop-filter: blur(10px);
}

.rm-direction-preview .rm-header {
    transition: min-height .22s cubic-bezier(.22,1,.36,1), background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.rm-direction-preview .rm-header.is-compact {
    min-height: 74px;
    box-shadow: 0 7px 22px rgba(16,23,28,.045);
}

.rm-direction-preview .rm-header .navbar-brand,
.rm-direction-preview .rm-header.is-compact .navbar-brand,
.rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand {
    width: 190px;
    height: auto;
    background: none !important;
}

.rm-direction-preview .rm-header .navbar-brand .default-logo,
.rm-direction-preview .rm-header .navbar-brand .mobile-logo,
.rm-direction-preview .rm-header.is-compact .navbar-brand .default-logo,
.rm-direction-preview .rm-header.is-compact .navbar-brand .mobile-logo {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.rm-direction-preview .rm-header .navbar-brand .alt-logo,
.rm-direction-preview .rm-header.is-compact .navbar-brand .alt-logo,
.rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand .alt-logo,
.rm-direction-preview header.sticky.sticky-active .rm-header .navbar-brand .alt-logo {
    display: block !important;
    width: auto !important;
    max-height: 46px;
    opacity: 1 !important;
    visibility: visible !important;
}

.rm-direction-preview .rm-header .navbar-nav .nav-link,
.rm-direction-preview .rm-header.is-compact .navbar-nav .nav-link,
.rm-direction-preview header.sticky.sticky-active .rm-header .navbar-nav .nav-link {
    color: #172027 !important;
}

.rm-direction-preview .rm-header .navbar-nav .nav-link:hover,
.rm-direction-preview .rm-header .navbar-nav .nav-link:focus,
.rm-direction-preview .rm-header .navbar-nav .dropdown-toggle:hover {
    color: var(--rivimetal-red) !important;
}

.rm-direction-preview .rm-header .navbar-nav .dropdown-toggle,
.rm-direction-preview .rm-header .rm-language,
.rm-direction-preview .rm-header.is-compact .navbar-nav .dropdown-toggle,
.rm-direction-preview .rm-header.is-compact .rm-language {
    color: #172027;
    border-color: rgba(0,0,0,.12);
}

.rm-direction-preview .rm-header .navbar-toggler-line,
.rm-direction-preview .rm-header.is-compact .navbar-toggler-line,
.rm-direction-preview.navbar-collapse-show .rm-header .navbar-toggler-line {
    background-color: #172027 !important;
}

.rm-direction-preview .rm-header.is-compact .navbar-brand .alt-logo { max-height: 40px; }
.rm-direction-preview .rm-header.is-compact .navbar-nav .nav-link { padding-top: 27px; padding-bottom: 27px; }
.rm-direction-preview .rm-header .navbar-collapse { background-color: #fff; }

@media (max-width: 1299px) {
    .rm-direction-preview .rm-header,
    .rm-direction-preview .rm-header.is-compact,
    .rm-direction-preview.navbar-collapse-show .rm-header { min-height: 76px; }
    .rm-direction-preview .rm-header .navbar-brand,
    .rm-direction-preview .rm-header.is-compact .navbar-brand { width: 180px; }
    .rm-direction-preview .rm-header .navbar-brand .alt-logo,
    .rm-direction-preview .rm-header.is-compact .navbar-brand .alt-logo { max-height: 43px; }
}

@media (max-width: 767px) {
    .rm-direction-preview .rm-header .navbar-brand,
    .rm-direction-preview .rm-header.is-compact .navbar-brand { width: 154px; }
}

/* Header states: dark glass at rest, white and compact after scroll */
.rm-direction-preview .rm-header:not(.is-compact) {
    background: rgba(14,20,24,.72) !important;
    border-bottom-color: rgba(255,255,255,.11) !important;
    box-shadow: none;
    backdrop-filter: blur(16px) saturate(115%);
}

.rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .default-logo {
    display: block !important;
    width: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .alt-logo,
.rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .mobile-logo {
    display: none !important;
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.rm-direction-preview .rm-header:not(.is-compact) .navbar-nav .nav-link,
.rm-direction-preview .rm-header:not(.is-compact) .navbar-nav .dropdown-toggle,
.rm-direction-preview .rm-header:not(.is-compact) .rm-language {
    color: #fff !important;
}

.rm-direction-preview .rm-header:not(.is-compact) .rm-language {
    border-color: rgba(255,255,255,.2);
}

.rm-direction-preview .rm-header:not(.is-compact) .navbar-toggler-line {
    background-color: #fff !important;
}

.rm-direction-preview .rm-header:not(.is-compact) .navbar-collapse {
    background-color: transparent;
}

.rm-direction-preview .rm-header.is-compact,
.rm-direction-preview header.sticky.sticky-active .rm-header[data-header-hover="dark"] {
    background: rgba(255,255,255,.985) !important;
    border-bottom-color: rgba(0,0,0,.08) !important;
    box-shadow: 0 7px 22px rgba(16,23,28,.045);
    backdrop-filter: blur(10px);
}

.rm-direction-preview .rm-header.is-compact .navbar-brand .default-logo,
.rm-direction-preview .rm-header.is-compact .navbar-brand .mobile-logo,
.rm-direction-preview header.sticky.sticky-active .rm-header .navbar-brand .default-logo,
.rm-direction-preview header.sticky.sticky-active .rm-header .navbar-brand .mobile-logo {
    display: none !important;
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.rm-direction-preview .rm-header.is-compact .navbar-brand .alt-logo,
.rm-direction-preview header.sticky.sticky-active .rm-header .navbar-brand .alt-logo {
    display: block !important;
    width: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 1299px) {
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .default-logo { display: none !important; }
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .mobile-logo {
        display: block !important;
        width: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-collapse { background-color: rgba(14,20,24,.98); }
    .rm-direction-preview .rm-header.is-compact .navbar-collapse,
    .rm-direction-preview header.sticky.sticky-active .rm-header .navbar-collapse { background-color: #fff; }
}

/* Logo scale refinement */
.rm-direction-preview .rm-header .navbar-brand img {
    transform: scale(1.2);
    transform-origin: left center;
}

/* Mobile / tablet header — light architectural glass */
@media (max-width: 1299px) {
    .rm-direction-preview .rm-header,
    .rm-direction-preview .rm-header:not(.is-compact),
    .rm-direction-preview.navbar-collapse-show .rm-header {
        min-height: calc(76px + env(safe-area-inset-top, 0px));
        background: rgba(255,255,255,.78) !important;
        border-bottom: 1px solid rgba(0,0,0,.07) !important;
        box-shadow: none;
        -webkit-backdrop-filter: blur(16px) saturate(120%);
        backdrop-filter: blur(16px) saturate(120%);
    }

    .rm-direction-preview .rm-header.is-compact,
    .rm-direction-preview header.sticky.sticky-active .rm-header[data-header-hover="dark"],
    .rm-direction-preview.navbar-collapse-show .rm-header.is-compact {
        min-height: calc(76px + env(safe-area-inset-top, 0px));
        background: rgba(255,255,255,.9) !important;
        border-bottom: 1px solid rgba(0,0,0,.08) !important;
        box-shadow: none;
        -webkit-backdrop-filter: blur(18px) saturate(120%);
        backdrop-filter: blur(18px) saturate(120%);
    }

    .rm-direction-preview .rm-header > .container-fluid {
        display: flex !important;
        align-items: center;
        min-height: calc(76px + env(safe-area-inset-top, 0px));
        padding: env(safe-area-inset-top, 0px) 22px 0 !important;
    }

    .rm-direction-preview .rm-header-logo-zone,
    .rm-direction-preview .rm-header-nav-zone {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .rm-direction-preview .rm-header-logo-zone { flex: 0 1 auto; }
    .rm-direction-preview .rm-header-nav-zone { margin-left: auto; }

    .rm-direction-preview .rm-header .navbar-brand,
    .rm-direction-preview .rm-header.is-compact .navbar-brand,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand {
        display: flex;
        align-items: center;
        width: 154px;
        height: 44px;
        padding: 0;
        margin: 0;
        background: none !important;
    }

    .rm-direction-preview .rm-header .navbar-brand .default-logo,
    .rm-direction-preview .rm-header .navbar-brand .mobile-logo,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .default-logo,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .mobile-logo,
    .rm-direction-preview .rm-header.is-compact .navbar-brand .default-logo,
    .rm-direction-preview .rm-header.is-compact .navbar-brand .mobile-logo,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand .default-logo,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand .mobile-logo {
        display: none !important;
        width: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .rm-direction-preview .rm-header .navbar-brand .alt-logo,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-brand .alt-logo,
    .rm-direction-preview .rm-header.is-compact .navbar-brand .alt-logo,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-brand .alt-logo {
        display: block !important;
        width: auto !important;
        max-height: 43px;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .rm-direction-preview .rm-header .navbar-toggler {
        position: relative;
        inset: auto;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        margin: 0;
        transform: none;
        border: 0;
        background: transparent;
    }

    .rm-direction-preview .rm-header .navbar-toggler-line,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-toggler-line,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-toggler-line {
        right: 0;
        left: 0;
        width: 20px;
        height: 1.5px;
        margin-inline: auto;
        background: #172027 !important;
    }

    .rm-direction-preview .rm-header .navbar-toggler-line:nth-child(1) { top: 15px; width: 14px; }
    .rm-direction-preview .rm-header .navbar-toggler-line:nth-child(2),
    .rm-direction-preview .rm-header .navbar-toggler-line:nth-child(3) { top: 21px; }
    .rm-direction-preview .rm-header .navbar-toggler-line:nth-child(4) { top: 27px; width: 14px; }
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-toggler-line:nth-child(1),
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-toggler-line:nth-child(4) { top: 21px; width: 0; }

    .rm-direction-preview .rm-header .navbar-collapse,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-collapse,
    .rm-direction-preview .rm-header.is-compact .navbar-collapse,
    .rm-direction-preview header.sticky.sticky-active .rm-header .navbar-collapse {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        width: 100%;
        height: calc(100dvh - 76px - env(safe-area-inset-top, 0px));
        max-height: calc(100dvh - 76px - env(safe-area-inset-top, 0px));
        overflow-y: auto;
        border-top: 1px solid rgba(0,0,0,.06);
        background: rgba(246,244,239,.96) !important;
        box-shadow: none;
        -webkit-backdrop-filter: blur(18px) saturate(115%);
        backdrop-filter: blur(18px) saturate(115%);
    }

    .rm-direction-preview .rm-header .navbar-nav {
        padding: 16px 22px calc(34px + env(safe-area-inset-bottom, 0px));
    }

    .rm-direction-preview .rm-header .navbar-nav > .nav-item {
        position: relative;
        border-bottom: 1px solid rgba(23,32,39,.1);
    }

    .rm-direction-preview .rm-header .navbar-nav .nav-link,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-nav .nav-link,
    .rm-direction-preview header.sticky.sticky-active .rm-header .navbar-nav .nav-link {
        min-height: 51px;
        padding: 17px 50px 16px 0 !important;
        color: #172027 !important;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: .09em;
    }

    .rm-direction-preview .rm-header .navbar-nav .dropdown-toggle {
        position: absolute;
        top: 4px;
        right: 0;
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        color: #172027 !important;
    }

    .rm-direction-preview .rm-header:not(.is-compact) .navbar-nav .dropdown-toggle,
    .rm-direction-preview .rm-header.is-compact .navbar-nav .dropdown-toggle,
    .rm-direction-preview.navbar-collapse-show .rm-header .navbar-nav .dropdown-toggle {
        color: #59636a !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu,
    .rm-direction-preview .rm-header .rm-mega-menu,
    .rm-direction-preview .rm-header .rm-brand-mega {
        position: static !important;
        width: 100% !important;
        padding: 4px 0 13px !important;
        margin: 0;
        border: 0;
        background: transparent !important;
        box-shadow: none;
        transform: none;
    }

    .rm-direction-preview .rm-header .dropdown-menu li a,
    .rm-direction-preview .rm-header .rm-mega-menu li a {
        min-height: 0;
        padding: 10px 12px !important;
        color: #566067;
        background: transparent !important;
        font-size: 12px;
        font-weight: 400;
        letter-spacing: .02em;
    }

    .rm-direction-preview .rm-header .rm-brand-mega-intro { display: none; }
    .rm-direction-preview .rm-header .rm-brand-mega-links { padding: 0; }
    .rm-direction-preview .rm-header .rm-brand-mega-links > a { min-height: 0; }

    .rm-direction-preview .rm-header .navbar-nav .nav-item.d-xl-none .text-base-color {
        min-height: 46px;
        padding: 15px 17px !important;
        margin-top: 20px;
        background: var(--rivimetal-red);
        color: #fff !important;
    }

    .rm-direction-preview .rm-header .navbar-nav .nav-item.d-xl-none:last-child {
        border-bottom: 0;
    }
}

/* Unified accessible navigation triggers */
.rm-direction-preview .rm-header .navbar-nav .rm-nav-trigger {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: inherit;
    line-height: 20px;
    text-align: left;
    cursor: pointer;
}

.rm-direction-preview .rm-header .rm-nav-trigger .fa-angle-down {
    flex: 0 0 auto;
    font-size: 12px;
    transition: transform .2s ease;
}

.rm-direction-preview .rm-header .rm-nav-trigger[aria-expanded="true"] .fa-angle-down {
    transform: rotate(180deg);
}

.rm-direction-preview .rm-header .rm-nav-trigger:focus-visible {
    outline: 2px solid var(--rivimetal-red);
    outline-offset: -2px;
}

/* Homepage desktop header — final optical balance refinement. */
@media (min-width: 1300px) {
    .rm-home.rm-direction-preview .rm-header .navbar-nav {
        gap: clamp(0px, .12vw, 2px);
    }

    .rm-home.rm-direction-preview .rm-header .navbar-nav > .nav-item,
    .rm-home.rm-direction-preview .rm-header .navbar-nav > .dropdown {
        padding-right: 0;
        margin: 0;
    }

    .rm-home.rm-direction-preview .rm-header .navbar-nav .nav-link {
        padding-right: clamp(7px, .58vw, 11px);
        padding-left: clamp(7px, .58vw, 11px);
    }

    .rm-home.rm-direction-preview .rm-header:not(.is-compact) .navbar-nav > .dropdown.open > .rm-nav-trigger,
    .rm-home.rm-direction-preview .rm-header:not(.is-compact) .rm-nav-trigger[aria-expanded="true"] {
        color: rgba(255,255,255,.96) !important;
    }

    .rm-home.rm-direction-preview .rm-header.is-compact .navbar-nav > .dropdown.open > .rm-nav-trigger,
    .rm-home.rm-direction-preview .rm-header.is-compact .rm-nav-trigger[aria-expanded="true"],
    .rm-home.rm-direction-preview header.sticky.sticky-active .rm-header .rm-nav-trigger[aria-expanded="true"] {
        color: #172027 !important;
    }

    .rm-home.rm-direction-preview .rm-header .navbar-nav > .dropdown.open > .rm-nav-trigger .fa-angle-down,
    .rm-home.rm-direction-preview .rm-header .rm-nav-trigger[aria-expanded="true"] .fa-angle-down {
        color: var(--rivimetal-red);
    }
}

@media (min-width: 1400px) {
    .rm-home.rm-direction-preview .rm-header .navbar-brand img {
        transform: scale(1.3);
    }
}

@media (min-width: 1300px) and (max-width: 1399px) {
    .rm-home.rm-direction-preview .rm-header .navbar-brand img {
        transform: scale(1.2);
    }
}

@media (min-width: 1300px) {
    .rm-direction-preview .rm-header .navbar-nav > .dropdown > .dropdown-menu {
        display: none !important;
    }

    .rm-direction-preview .rm-header .navbar-nav > .dropdown.open > .dropdown-menu {
        display: block !important;
        opacity: 1;
        transform: translateY(0);
    }

    .rm-direction-preview .rm-header .navbar-nav > .rm-wide-dropdown.open > .rm-mega-menu,
    .rm-direction-preview .rm-header .navbar-nav > .rm-why-dropdown.open > .rm-brand-mega {
        display: grid !important;
    }
}

@media (max-width: 1299px) {
    .rm-direction-preview .rm-header .navbar-nav .rm-nav-trigger,
    .rm-direction-preview .rm-header:not(.is-compact) .navbar-nav .rm-nav-trigger,
    .rm-direction-preview header.sticky.sticky-active .rm-header .navbar-nav .rm-nav-trigger {
        width: 100%;
        justify-content: space-between;
        padding-right: 4px !important;
    }

    .rm-direction-preview .rm-header .navbar-nav > .dropdown.open > .dropdown-menu {
        display: block !important;
    }
}

/* Mobile submenu rows — number | label | arrow. */
@media (max-width: 1299px) {
    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) {
        counter-reset: rm-mobile-submenu-item;
    }

    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) > li {
        counter-increment: rm-mobile-submenu-item;
    }

    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) > li > a,
    .rm-direction-preview .rm-header .rm-mega-menu > li > a,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a {
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) 18px !important;
        column-gap: 12px !important;
        align-items: center;
    }

    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) > li > a::before {
        content: counter(rm-mobile-submenu-item, decimal-leading-zero);
    }

    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) > li > a::before,
    .rm-direction-preview .rm-header .rm-mega-menu li > a::before,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a > span {
        position: static !important;
        grid-column: 1;
        align-self: center;
        width: auto;
        min-width: 0;
        margin: 0;
        color: var(--rivimetal-red) !important;
        font-size: 12px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: .12em;
        text-align: left;
    }

    .rm-direction-preview .rm-header .rm-brand-mega-links > a > strong {
        grid-column: 2;
        min-width: 0;
    }

    .rm-direction-preview .rm-header .dropdown-menu:not(.rm-mega-menu):not(.rm-brand-mega) > li > a::after,
    .rm-direction-preview .rm-header .rm-mega-menu > li > a::after,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a::after {
        content: "→";
        position: static !important;
        grid-column: 3;
        justify-self: end;
        align-self: center;
        width: auto;
        height: auto;
        border: 0;
        color: #182126;
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        transform: none;
    }

    .rm-direction-preview .rm-header .rm-brand-mega-links > a > .rm-home-brand-arrow {
        display: none !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu li > a,
    .rm-direction-preview .rm-header .rm-mega-menu li > a,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a {
        color: #182126 !important;
        border-bottom-color: rgba(24, 33, 38, .10) !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu li > a strong,
    .rm-direction-preview .rm-header .rm-mega-menu li > a strong,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a strong {
        color: #182126 !important;
    }

    .rm-direction-preview .rm-header .rm-mega-menu li > a::before,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a > span {
        color: var(--rivimetal-red) !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu li > a i,
    .rm-direction-preview .rm-header .rm-mega-menu li > a i,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a i,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a .rm-home-brand-arrow {
        color: #182126 !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu li > a:hover,
    .rm-direction-preview .rm-header .dropdown-menu li > a:focus-visible,
    .rm-direction-preview .rm-header .dropdown-menu li > a:active,
    .rm-direction-preview .rm-header .rm-mega-menu li > a:hover,
    .rm-direction-preview .rm-header .rm-mega-menu li > a:focus-visible,
    .rm-direction-preview .rm-header .rm-mega-menu li > a:active,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:hover,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:focus-visible,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:active {
        color: var(--rivimetal-red) !important;
    }

    .rm-direction-preview .rm-header .dropdown-menu li > a:hover strong,
    .rm-direction-preview .rm-header .dropdown-menu li > a:focus-visible strong,
    .rm-direction-preview .rm-header .dropdown-menu li > a:active strong,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:hover strong,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:focus-visible strong,
    .rm-direction-preview .rm-header .rm-brand-mega-links > a:active strong {
        color: var(--rivimetal-red) !important;
    }
}

/* Global master navigation: homepage WHY RIVIMETAL editorial mega menu. */
.rm-home-brand-mega-visual,
.rm-home-brand-arrow { display: none; }
 @media (min-width: 1300px) {
    .rm-home .rm-header .rm-home-why-dropdown > .rm-home-brand-mega {
        display: grid !important;
        top: calc(100% - 1px);
        right: auto !important;
        left: calc(50% - 35px) !important;
        width: 740px !important;
        min-height: 310px;
        padding: 0 !important;
        grid-template-columns: 225px 285px 230px !important;
        overflow: hidden;
        border: 0;
        border-top: 1px solid var(--rivimetal-red);
        border-radius: 0;
        background: #11181d;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(-50%, 8px) !important;
        transition: opacity 200ms ease, transform 200ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 200ms;
    }
     .rm-home .rm-header .rm-home-why-dropdown.open > .rm-home-brand-mega {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0) !important;
        transition-delay: 0s;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-intro {
        min-height: 310px;
        padding: 27px 20px;
        background: #192127;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-intro > span {
        font-size: 12px;
        letter-spacing: .14em;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-intro > strong {
        max-width: 170px;
        margin-top: 15px;
        font-size: 18px;
        line-height: 1.24;
        word-break: normal;
        overflow-wrap: normal;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-links {
        align-content: center;
        padding: 16px 28px;
        background: #11181d;
    }
     .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a {
        grid-template-columns: 34px minmax(0, 1fr) 16px;
        column-gap: 10px;
        min-height: 69px;
        padding: 10px 0;
        border-bottom: 1px solid rgba(255,255,255,.1);
        background: transparent;
        transition: background-color 200ms ease, padding 200ms ease;
    }
     .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:last-child {
        border-bottom: 0;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-links span {
        color: var(--rivimetal-red);
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
    }
     .rm-home .rm-home-brand-mega .rm-brand-mega-links strong {
        color: rgba(255,255,255,.76);
        font-size: 15px;
        font-weight: 500;
        line-height: 1.3;
        transition: color 200ms ease, transform 200ms ease;
    }
     .rm-home .rm-home-brand-arrow {
        display: block;
        color: rgba(255,255,255,.34);
        font-size: 14px;
        font-style: normal;
        line-height: 1;
        transition: color 200ms ease, transform 200ms ease;
    }
     .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:hover,
    .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:focus-visible {
        padding-right: 5px;
        padding-left: 5px;
        background: rgba(255,255,255,.025);
    }
     .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:hover strong,
    .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:focus-visible strong {
        color: #fff;
        transform: translateX(2px);
    }
     .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:hover .rm-home-brand-arrow,
    .rm-home .rm-header .rm-home-brand-mega .rm-brand-mega-links > a:focus-visible .rm-home-brand-arrow {
        color: var(--rivimetal-red);
        transform: translateX(2px);
    }
     .rm-home .rm-home-brand-mega-visual {
        display: block;
        min-height: 310px;
        border-left: 1px solid rgba(255,255,255,.09);
        background: linear-gradient(rgba(10,15,19,.08), rgba(10,15,19,.18)), url('../images/mega-menu-process.webp') center 33% / cover no-repeat;
    }
}

/* Desktop header fit guard.
   The logo is optically enlarged with a transform, so its grid track must
   reserve the transformed width at intermediate desktop resolutions. */
@media (min-width: 1300px) and (max-width: 1599px) {
    .rm-direction-preview .rm-header > .container-fluid {
        grid-template-columns: 215px minmax(0, 1fr) max-content !important;
        column-gap: clamp(12px, 1vw, 18px);
    }

    .rm-direction-preview .rm-header-logo-zone {
        min-width: 0;
        overflow: visible;
    }

    .rm-direction-preview .rm-header-nav-zone {
        min-width: 0;
        justify-self: center;
    }

    .rm-direction-preview .rm-header .navbar-nav {
        flex-wrap: nowrap;
        gap: 0;
    }

    .rm-direction-preview .rm-header .navbar-nav .nav-link {
        padding-right: clamp(5px, .45vw, 7px) !important;
        padding-left: clamp(5px, .45vw, 7px) !important;
        white-space: nowrap;
    }

    .rm-direction-preview .rm-header-actions {
        min-width: max-content;
    }

    .rm-direction-preview .rm-header .navbar-brand,
    .rm-direction-preview .rm-header.is-compact .navbar-brand {
        width: 180px;
        max-width: 100%;
    }

    .rm-direction-preview .rm-header .navbar-brand img,
    .rm-home.rm-direction-preview .rm-header .navbar-brand img {
        transform: scale(1.15);
    }
}

@media (min-width: 1300px) and (max-width: 1399px) {
    .rm-direction-preview .rm-header > .container-fluid {
        grid-template-columns: 180px minmax(0, 1fr) max-content !important;
        column-gap: 10px;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .rm-direction-preview .rm-header .navbar-brand,
    .rm-direction-preview .rm-header.is-compact .navbar-brand {
        width: 158px;
    }

    .rm-direction-preview .rm-header .navbar-brand img,
    .rm-home.rm-direction-preview .rm-header .navbar-brand img {
        transform: scale(1.08);
    }

    .rm-direction-preview .rm-header .navbar-nav .nav-link {
        padding-right: 4px !important;
        padding-left: 4px !important;
        letter-spacing: .035em;
    }

    .rm-direction-preview .rm-header-actions {
        gap: 8px;
    }
}

/* Bootstrap expands .navbar-expand-xl from 1200px. Keep the approved compact
   navigation until the complete desktop menu has enough physical width. */
@media (min-width: 1200px) and (max-width: 1299px) {
    .rm-direction-preview .rm-header .navbar-toggler {
        display: flex !important;
    }

    .rm-direction-preview .rm-header-actions {
        display: none !important;
    }

    .rm-direction-preview .rm-header .navbar-collapse.collapse:not(.show) {
        display: none !important;
    }

    .rm-direction-preview .rm-header .navbar-collapse.collapse.show,
    .rm-direction-preview .rm-header .navbar-collapse.collapsing {
        display: block !important;
    }

    .rm-direction-preview .rm-header .navbar-collapse .navbar-nav {
        flex-direction: column !important;
        align-items: stretch;
        width: 100%;
    }

    .rm-direction-preview .rm-header .navbar-collapse .navbar-nav > .nav-item {
        width: 100%;
    }

    .rm-direction-preview .rm-header .navbar-collapse .navbar-nav > .d-xl-none {
        display: block !important;
    }
}
