/* ============================================================
   RSS Homepage V1.1 — Customize CSS payload
   Paste into: Appearance → Settings → Meiplay → Customize CSS
   Last updated: 2026-05-26 (post-lockdown)

   What changed from V1:
   - Color refresh: ember #E8542C → Cinnabar #EF3E36 throughout
   - Color refresh: deep navy #0A1F33 → charcoal #2F3640 throughout
   - Hero height: 100vh → 80vh (min 600px, max 820px)
   - Header: overlays hero, anchors on scroll, nav right-aligned,
             Sign In is ghost text + arrow (kills the blue)
   - Header overlay scoped to .path-homepage-v1 + .has-hero-overlay
     so it works on the v1 preview URL, not just /front
   - Dropped dead CSS: .hero-eyebrow .dot, .scroll-indicator .line,
                       .s-features / .s-feat, the pulse + drop keyframes
   - Token rename: --ember → --cinnabar; --navy collapsed into --ink
   - 2026-05-26 lockdown: new logo RS_logo_0.png at 48px, wordmark 20px,
                          SCROLL hidden, trusted-by row hidden pending legal
   ============================================================ */

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

.header-title { display: none !important; }
html { scroll-behavior: smooth; }
#calendar { scroll-margin-top: 15px; }

/* ---------- GAVIAS CONTAINER FIX (must be first) ---------- */
.column-content,
.column-content-inner,
.column-inner {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* ---------- DESIGN TOKENS ---------- */
.rss-v1 {
  --ink: #2F3640;
  --ink-2: #3D4654;
  --cinnabar: #EF3E36;
  --cinnabar-2: #D62E27;
  --bone: #F4EFE6;
  --paper: #FBF8F2;
  --line: #3D4654;
  --rule: rgba(47,54,64,.12);
  --muted: #5C6470;
  --slate: #3A4250;

  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: "ss01","cv11";
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  width: 100%;
}

.rss-v1, .rss-v1 * { box-sizing: border-box; }

.rss-v1 h1,
.rss-v1 h2,
.rss-v1 h3,
.rss-v1 h4 {
  font-family: "Inter Tight","Inter",sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
  text-transform: none !important;       /* override rss theme's global heading uppercase rule */
}
.rss-v1 h1 { letter-spacing: -0.035em; }
.rss-v1 h2 { letter-spacing: -0.028em; }

.rss-v1 .wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
}

/* ---------- BUTTONS ----------
   !important on the basics here because Drupal core (and several
   contrib modules) ship .button rules with high specificity that
   would otherwise win — turning our buttons solid blue, capitalized,
   or padded wrong. Limit !important to color/bg/border/text-transform
   so they're hard to accidentally override by spec, but local-content
   styles can still re-style if needed. */
.rss-v1 .btn {
  display: inline-flex !important;
  align-items: center; gap: 8px;
  font-family: "Inter Tight"; font-weight: 500; letter-spacing: -0.005em;
  padding: 11px 18px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  cursor: pointer;
  border: 1px solid transparent;
  font-size: 14px;
  text-transform: none !important;
  box-shadow: none !important;
  transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.rss-v1 .btn:hover { transform: translateY(-1px); }
.rss-v1 .btn-primary {
  background: var(--cinnabar) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.6) !important;
}
.rss-v1 .btn-primary:hover {
  background: var(--cinnabar-2) !important;
  border-color: #fff !important;
}
.rss-v1 .btn-ghost {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.rss-v1 .btn-ghost:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: #fff !important;
  color: #fff !important;
}
.rss-v1 .btn-dark {
  background: var(--ink) !important;
  color: #fff !important;
  border-color: var(--ink) !important;
}
.rss-v1 .btn-dark:hover { background: #000 !important; border-color: #000 !important; }
.rss-v1 .btn-outline {
  background: transparent !important;
  border-color: var(--rule) !important;
  color: var(--ink) !important;
}
.rss-v1 .btn-outline:hover {
  background: var(--ink) !important;
  color: #fff !important;
}

/* ---------- HERO ---------- */
.rss-v1 .hero {
  position: relative;
  height: 80vh;
  min-height: 600px;
  max-height: 820px;
  overflow: hidden;
  background: #000;
  color: #fff;
}
.rss-v1 .hero video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.rss-v1 .hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(31,38,47,.45) 0%, rgba(31,38,47,0) 30%, rgba(31,38,47,0) 50%, rgba(20,25,35,.85) 100%),
    linear-gradient(90deg, rgba(20,25,35,.65) 0%, rgba(20,25,35,.1) 60%);
  z-index: 1;
}
.rss-v1 .hero-grain {
  position: absolute; inset: 0; z-index: 2;
  opacity: .08; mix-blend-mode: overlay; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.rss-v1 .hero-content {
  position: absolute; left: 0; right: 0; bottom: 0;
  z-index: 3; padding: 0 0 80px; width: 100%;
}
.rss-v1 .hero-content .wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 40px !important;
}
.rss-v1 .hero-content .wrap > div:first-child {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.rss-v1 .hero-eyebrow {
  font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: #fff; opacity: .9; margin-bottom: 20px;
}
.rss-v1 .hero h1 {
  font-size: clamp(32px, 4.4vw, 66px) !important;
  line-height: 1.02; margin: 0; font-weight: 600; color: #fff;
  text-transform: none !important;       /* override rss theme's global h1 uppercase rule */
  white-space: normal; word-break: break-word; overflow-wrap: break-word; width: 100%;
}
.rss-v1 .hero h1 .em {
  font-style: italic; font-family: "Inter Tight"; font-weight: 500; color: var(--cinnabar);
}
.rss-v1 .hero-meta {
  flex: 0 0 38% !important;
  max-width: 38% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding-bottom: 8px;
}
.rss-v1 .hero-sub {
  font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.82);
  max-width: 100%; white-space: normal; overflow-wrap: break-word; word-break: break-word;
}
.rss-v1 .hero-actions {
  display: flex !important; flex-direction: row !important;
  gap: 12px !important; flex-wrap: wrap !important; margin-top: 8px;
}

/* ---------- TRUSTED BAR ---------- */
.rss-v1 .trusted {
  padding: 48px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}
.rss-v1 .trusted-row {
  display: flex; align-items: center; gap: 48px;
  flex-wrap: wrap; justify-content: space-between;
}
.rss-v1 .trusted-row .label {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--muted); font-weight: 500;
}
.rss-v1 .logos { display: flex; align-items: center; gap: 44px; flex-wrap: wrap; opacity: .85; }
.rss-v1 .logo-blob {
  font-family: "Inter Tight"; font-weight: 600; font-size: 15px;
  color: var(--ink); display: inline-flex; align-items: center;
  gap: 8px; letter-spacing: -0.01em; opacity: .7;
}
.rss-v1 .logo-blob .seal {
  width: 22px; height: 22px; border-radius: 50%;
  border: 1.5px solid var(--ink);
  display: grid; place-items: center; font-size: 10px;
}

/* ---------- INDUSTRY SECTIONS ---------- */
.rss-v1 .section { padding: 140px 0 110px; }
.rss-v1 .section.alt { background: var(--bone); }
.rss-v1 .s-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
  width: 100% !important;
}
.rss-v1 .s-grid.flip .s-media { order: 2; }
.rss-v1 .s-grid.flip .s-text  { order: 1; }
.rss-v1 .s-num {
  font-family: "Inter Tight"; font-size: 13px; font-weight: 500;
  color: var(--cinnabar); letter-spacing: .18em; text-transform: uppercase;
  display: flex; align-items: center; gap: 12px; margin-bottom: 22px;
}
.rss-v1 .s-num .bar { width: 40px; height: 1px; background: var(--cinnabar); }
.rss-v1 .s-text { min-width: 0 !important; width: 100% !important; overflow: visible !important; }
.rss-v1 .s-text h2 {
  font-size: clamp(34px, 3.8vw, 54px); line-height: 1.04; margin: 0 0 22px; font-weight: 600;
}
.rss-v1 .s-text h2 em { font-style: italic; color: var(--cinnabar); font-weight: 500; }
.rss-v1 .s-text p.lead {
  font-size: 17px; line-height: 1.6; color: var(--slate); margin: 0 0 28px; max-width: 48ch;
}
.rss-v1 .s-cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.rss-v1 .link-arrow {
  font-family: "Inter Tight"; font-weight: 500; font-size: 14px;
  color: var(--ink); text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
  border-bottom: 1px solid var(--ink); padding-bottom: 3px;
}
.rss-v1 .link-arrow:hover { color: var(--cinnabar); border-color: var(--cinnabar); }

/* Section image card */
.rss-v1 .s-media { position: relative; }
.rss-v1 .s-card {
  position: relative; border-radius: 18px; overflow: hidden;
  aspect-ratio: 5/4; background: #2F3640;
  box-shadow: 0 30px 60px -25px rgba(31,38,47,.4);
}
.rss-v1 .s-card img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1.02); transition: transform .8s ease;
}
.rss-v1 .s-media:hover .s-card img { transform: scale(1.06); }
.rss-v1 .s-tag {
  position: absolute; left: 24px; top: 24px; z-index: 2;
  background: rgba(47,54,64,.7); backdrop-filter: blur(14px);
  color: #fff; font-size: 12px; font-weight: 500;
  padding: 8px 12px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2);
  display: inline-flex; align-items: center; gap: 8px;
}
.rss-v1 .s-tag .pip { width: 6px; height: 6px; border-radius: 50%; background: var(--cinnabar); }
.rss-v1 .s-mini {
  position: absolute; right: -24px; bottom: -30px; width: 240px;
  background: #fff; border-radius: 14px; padding: 18px;
  box-shadow: 0 20px 40px -10px rgba(31,38,47,.25), 0 0 0 1px rgba(31,38,47,.06);
}
.rss-v1 .s-mini .smt { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.rss-v1 .s-mini .smv { font-family: "Inter Tight"; font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin-top: 6px; }
.rss-v1 .s-mini .smd { font-size: 12.5px; color: var(--muted); margin-top: 6px; line-height: 1.4; }
.rss-v1 .s-mini .bar { height: 6px; border-radius: 3px; background: var(--bone); margin-top: 12px; overflow: hidden; }
.rss-v1 .s-mini .bar i { display: block; height: 100%; background: var(--cinnabar); }
.rss-v1 .s-grid.flip .s-mini { right: auto; left: -24px; bottom: -30px; }

/* ---------- CTA BANNER ---------- */
.rss-v1 .cta-banner { position: relative; background: var(--ink); color: #fff; overflow: hidden; }
.rss-v1 .cta-banner::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(700px 400px at 90% 0%, rgba(239,62,54,.35), transparent 60%),
    radial-gradient(500px 300px at 10% 100%, rgba(239,62,54,.18), transparent 60%);
}
.rss-v1 .cta-inner {
  position: relative; padding: 96px 0;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: 48px;
}
.rss-v1 .cta-text { max-width: 640px; }
.rss-v1 .cta-inner h2 {
  font-size: clamp(34px, 3.6vw, 52px); line-height: 1.05;
  margin: 0 0 16px; font-weight: 600; max-width: 22ch;
  color: #fff !important;
}
.rss-v1 .cta-inner h2 em { color: var(--cinnabar); font-style: italic; font-weight: 500; }
.rss-v1 .cta-inner p {
  font-size: 16px; line-height: 1.6;
  color: rgba(255,255,255,.78) !important; max-width: 46ch; margin: 0 auto;
}
.rss-v1 .cta-calendar {
  width: 100%; max-width: 880px; border-radius: 14px; overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
}
.rss-v1 .cta-calendar iframe { display: block; border: none; width: 100%; }

/* ---------- GAVIAS FOOTER ROW ---------- */
.rss-footer-block {
  background: #2F3640 !important;
  color: rgba(255,255,255,.78) !important;
  padding: 80px 0 0 !important;
  font-family: "Inter",-apple-system,BlinkMacSystemFont,sans-serif !important;
}
.rss-footer-inner {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr !important;
  gap: 40px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 32px 64px !important;
}
.rss-foot-logo {
  display: flex; align-items: center; gap: 10px;
  color: #fff !important; text-decoration: none;
  font-family: "Inter Tight"; font-weight: 600; font-size: 18px;
  letter-spacing: -0.02em; margin-bottom: 16px;
}
.rss-foot-logo img { height: 48px; width: auto; }
.rss-foot-brand p {
  color: rgba(255,255,255,.6) !important; font-size: 13.5px; line-height: 1.55;
  margin: 0 0 22px;
}
.rss-foot-social { display: flex; gap: 10px; }
.rss-foot-social a {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.2);
  display: grid; place-items: center;
  color: rgba(255,255,255,.7) !important; text-decoration: none; font-size: 13px;
}
.rss-foot-social a:hover { border-color: #EF3E36 !important; color: #EF3E36 !important; }
.rss-foot-heading {
  font-family: "Inter Tight" !important;
  font-size: 12px !important; letter-spacing: .16em !important;
  text-transform: uppercase !important; color: #fff !important;
  font-weight: 600 !important; margin: 0 0 18px !important;
  display: block;
}
.rss-foot-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.rss-foot-col ul li a {
  color: rgba(255,255,255,.7) !important; text-decoration: none !important;
  padding: 5px 0 !important; display: block !important; font-size: 13.5px !important;
}
.rss-foot-col ul li a:hover { color: #EF3E36 !important; }
.rss-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1) !important;
  padding: 24px 32px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  font-size: 12.5px !important;
  color: rgba(255,255,255,.55) !important;
}
.rss-footer-bottom a {
  color: rgba(255,255,255,.55) !important; text-decoration: none !important;
}
.rss-footer-bottom a:hover { color: #EF3E36 !important; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 960px) {
  .rss-v1 .hero-content .wrap { flex-direction: column !important; gap: 24px !important; }
  .rss-v1 .hero-content .wrap > div:first-child,
  .rss-v1 .hero-meta { flex: 0 0 100% !important; max-width: 100% !important; }
  .rss-v1 .s-grid,
  .rss-v1 .s-grid.flip { grid-template-columns: 1fr !important; gap: 48px !important; }
  .rss-v1 .s-grid.flip .s-media,
  .rss-v1 .s-grid.flip .s-text { order: 0; }
  .rss-v1 .cta-inner { gap: 32px; padding: 72px 0; }
  .rss-v1 .section { padding: 80px 0; }
  .rss-v1 .s-mini { display: none; }
  .rss-footer-inner { grid-template-columns: 1fr 1fr !important; }
}

/* ============================================================
   RSS Homepage V1.1 — Header overlay (page-scoped)
   ============================================================ */

:root {
  --rss-h-ink:       #2F3640;
  --rss-h-cinnabar:  #EF3E36;
  --rss-h-line-dark: rgba(255,255,255,.12);
  --rss-h-blur-bg:   rgba(31, 38, 47, .60);
}

body:has(.rss-v1) .header-default {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 50 !important;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, backdrop-filter .25s ease, border-color .25s ease;
}

@supports (animation-timeline: scroll()) {
  body:has(.rss-v1) .header-default {
    animation: rss-header-fill linear both;
    animation-timeline: scroll(root);
    animation-range: 80px 250px;
  }
  @keyframes rss-header-fill {
    0% {
      background: transparent;
      backdrop-filter: blur(0) saturate(1);
      -webkit-backdrop-filter: blur(0) saturate(1);
      border-bottom-color: transparent;
    }
    100% {
      background: rgba(31, 38, 47, .65);
      backdrop-filter: blur(16px) saturate(1.1);
      -webkit-backdrop-filter: blur(16px) saturate(1.1);
      border-bottom-color: rgba(255, 255, 255, .14);
    }
  }
}

body:has(.rss-v1) .header-default,
body:has(.rss-v1) .header-default a,
body:has(.rss-v1) .header-default li,
body:has(.rss-v1) .header-default li a,
body:has(.rss-v1) .header-default .branding,
body:has(.rss-v1) .header-default .header-inner,
body:has(.rss-v1) .header-default .gva-search-region .icon i,
body:has(.rss-v1) .header-default #menu-bar {
  color: #fff !important;
}

/* ---- LOGO SWAP: hide global logo, replace with RS_logo_0.png + wordmark.
   Updated 2026-05-26: new logo file, larger size (48px to match footer). ---- */
body:has(.rss-v1) .header-default .site-branding-logo {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
}
body:has(.rss-v1) .header-default .site-branding-logo img,
body:has(.rss-v1) .header-default .logo-site {
  display: none !important;
}
body:has(.rss-v1) .header-default .site-name,
body:has(.rss-v1) .header-default .site-slogan,
body:has(.rss-v1) .header-default .site-branding-text,
body:has(.rss-v1) .header-default .site-branding__name,
body:has(.rss-v1) .header-default .site-branding__slogan,
body:has(.rss-v1) .header-default .branding .site-title,
body:has(.rss-v1) .header-default .branding > div > div:not(:has(.site-branding-logo)) {
  display: none !important;
}
body:has(.rss-v1) .header-default .site-branding-logo::before {
  content: "";
  display: inline-block;
  width: 48px;
  height: 48px;
  background-image: url('/sites/default/files/RS_logo_0.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  flex: 0 0 48px;
}
body:has(.rss-v1) .header-default .site-branding-logo::after {
  content: "Risk & Safety";
  font-family: "Inter Tight", "Inter", -apple-system, sans-serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  top: 1px;
}

/* ---- Inner layout ---- */
body:has(.rss-v1) .header-default .header-main {
  padding: 0;
  background: none;
}
body:has(.rss-v1) .header-default .container.header-content-layout {
  max-width: 1320px;
  padding: 0 32px;
}
body:has(.rss-v1) .header-default .content-inner {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 0;
}
body:has(.rss-v1) .header-default .branding {
  display: flex;
  align-items: center;
  margin: 0;
  flex: 0 0 auto;
}
body:has(.rss-v1) .header-default .header-inner.clearfix {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 16px;
}

/* ---- Top-level menu (Gavias real DOM: ul.gva_menu.gva_menu_main) ---- */
body:has(.rss-v1) .header-default .gva_menu,
body:has(.rss-v1) .header-default ul.gva_menu_main {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
body:has(.rss-v1) .header-default .gva_menu > li.menu-item {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: relative;
}

/* Top-level links: dimmed white default, full white on hover */
html body:has(.rss-v1) .header-default .gva_menu > li.menu-item > a,
html body:has(.rss-v1) .header-default .gva_menu_main > li.menu-item > a {
  display: inline-flex !important;
  align-items: center !important;
  font-family: "Inter Tight", "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: rgba(255, 255, 255, .78) !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: color .18s ease !important;
}
html body:has(.rss-v1) .header-default .gva_menu > li.menu-item > a:hover,
html body:has(.rss-v1) .header-default .gva_menu > li.menu-item:hover > a,
html body:has(.rss-v1) .header-default .gva_menu_main > li.menu-item > a:hover,
html body:has(.rss-v1) .header-default .gva_menu_main > li.menu-item:hover > a,
html body:has(.rss-v1) .header-default .gva_menu > li.menu-item.menu-item--active-trail > a {
  color: #fff !important;
  background: transparent !important;
}

/* ---- Dropdown card ---- */
body:has(.rss-v1) .header-default .gva_menu .sub-menu,
body:has(.rss-v1) .header-default ul.menu.sub-menu,
body:has(.rss-v1) .header-default .menu-item--expanded > ul.sub-menu,
body:has(.rss-v1) .header-default .menu-item--expanded > .menu.sub-menu {
  background: #fff !important;
  color: var(--rss-h-ink) !important;
  border-radius: 12px !important;
  box-shadow: 0 30px 60px -20px rgba(31,38,47,.28),
              0 0 0 1px rgba(31,38,47,.06) !important;
  padding: 14px !important;
  margin-top: 12px !important;
  min-width: 240px !important;
  border: 0 !important;
  list-style: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 100 !important;
}
body:has(.rss-v1) .header-default .sub-menu li,
body:has(.rss-v1) .header-default .menu.sub-menu li.menu-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100%;
}
body:has(.rss-v1) .header-default .sub-menu a,
body:has(.rss-v1) .header-default .menu.sub-menu a,
body:has(.rss-v1) .header-default ul.menu.sub-menu a,
body:has(.rss-v1) .header-default .menu-item--expanded > .sub-menu a {
  color: var(--rss-h-ink) !important;
  background: transparent !important;
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-family: "Inter Tight", "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  border: 0 !important;
}
body:has(.rss-v1) .header-default .sub-menu a:hover,
body:has(.rss-v1) .header-default .menu.sub-menu a:hover,
body:has(.rss-v1) .header-default .menu-item--expanded > .sub-menu a:hover {
  background: #F4EFE6 !important;
  color: var(--rss-h-cinnabar) !important;
}

/* ---- Sign In arrow ---- */
html body:has(.rss-v1) .header-default .gva_menu_main > li > a[href*="app.riskandsafety"]::after,
html body:has(.rss-v1) .header-default .gva_menu > li > a[href*="app.riskandsafety"]::after,
body:has(.rss-v1) .header-default li.menu-item > a[href*="app.riskandsafety"]::after {
  content: "\2192" !important;
  display: inline-block !important;
  margin-left: 8px !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  transition: opacity .2s ease, transform .2s ease !important;
  position: static !important;
  background: none !important;
  background-color: transparent !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: currentColor !important;
  pointer-events: none;
}
html body:has(.rss-v1) .header-default .gva_menu_main > li > a[href*="app.riskandsafety"]:hover::after,
html body:has(.rss-v1) .header-default .gva_menu > li > a[href*="app.riskandsafety"]:hover::after,
body:has(.rss-v1) .header-default li.menu-item > a[href*="app.riskandsafety"]:hover::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* ---- KILL the blue ---- */
body:has(.rss-v1) .header-default a,
body:has(.rss-v1) .header-default button,
body:has(.rss-v1) .header-default input[type="submit"] {
  background: transparent !important;
  background-color: transparent !important;
  border-color: rgba(255,255,255,.35) !important;
  box-shadow: none !important;
}
body:has(.rss-v1) .header-default nav a,
body:has(.rss-v1) .header-default .menu a,
body:has(.rss-v1) .header-default .menu li a {
  border: 0 !important;
}

/* ---- Mobile ---- */
@media (max-width: 991px) {
  body:has(.rss-v1) .header-default #menu-bar { color: #fff; }
}

/* ============================================================
   2026-05-26 LOCKDOWN HIDES
   - SCROLL indicator: removed per design lockdown
   - Trusted-by row: hidden pending legal approval of partner names.
     TO RESTORE: delete the .rss-v1 .trusted rule below. Markup
     remains in the homepage node, so partners can be edited in
     Gavias Block Builder while legal reviews.
   ============================================================ */
body:has(.rss-v1) .rss-v1 .scroll-indicator {
  display: none !important;
}
body:has(.rss-v1) .rss-v1 .trusted {
  display: none !important;
}


/* ============================================================
   SITE-WIDE BASELINE — applies to every page rendered by
   rs_clean_custom (which is dev's default theme).
   The .rss-v1 design rules have higher specificity, so the
   homepage V1 design is unaffected by these baselines.

   Purpose: kill the uppercase-heading default from Gavias's
   parent CSS, and set Roboto as the site-wide body font so
   interior pages match production's look more closely.
   ============================================================ */

body,
.region,
.main-content,
.layout-content,
article,
.node {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  text-transform: none !important;
  font-family: 'Roboto', sans-serif;
}


/* ============================================================
   INTERIOR PAGE BANNER — override the inline background-image
   set by Gavias Meipaly's "header default" preset.

   Gavias renders an inline style="background-image: url(...)"
   on the breadcrumb hero element pointing to the orange refinery
   photo inside gavias_meipaly/images/breadcrumb.jpg.
   We override it with !important to point to the blue diamonds
   image that already lives at /sites/default/files/.
   ============================================================ */
/* Attribute selector: targets ANY element whose inline style attribute
   contains "gavias_meipaly/images/breadcrumb.jpg" — the original orange
   refinery URL. Bypasses class-name guessing entirely. */
[style*="gavias_meipaly/images/breadcrumb.jpg"],
[style*="gavias_meipaly/images/breadcrumb"],
.gva-parallax-background,
.gva-parallax-background[style],
.gva-block-breadcrumb .gva-parallax-background,
#breadcrumb [style] {
  background-image: url('/sites/default/files/breadcrumb-RSS_24.jpg') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}


/* ============================================================
   NON-V1 PAGES — dropdown + button polish to match production
   (lower specificity than body:has(.rss-v1) rules, so V1 wins
   on /homepage-v1 automatically; these apply everywhere else).
   ============================================================ */

/* ---- Dropdown card: white bg, dark text, blue hover ---- */
.gva_menu .sub-menu,
.gva_menu_main .sub-menu,
ul.menu.sub-menu {
  background: #fff !important;
  color: #16181C !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 20px 40px -10px rgba(0,0,0,.18) !important;
  border-radius: 6px !important;
  padding: 6px !important;
  min-width: 220px !important;
}
.gva_menu .sub-menu a,
.gva_menu_main .sub-menu a,
ul.menu.sub-menu a {
  background: transparent !important;
  color: #16181C !important;
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}
.navigation .gva_menu .sub-menu > li > a:hover,
.navigation .gva_menu .sub-menu > li > a:focus,
.navigation .gva_menu .sub-menu > li > a:active,
.navigation .gva_menu_main .sub-menu > li > a:hover,
.navigation .gva_menu_main .sub-menu > li > a:focus,
.navigation .gva_menu_main .sub-menu > li > a:active,
.gva_menu .sub-menu a:hover,
.gva_menu_main .sub-menu a:hover,
ul.menu.sub-menu a:hover,
.gva_menu .sub-menu li:hover > a {
  background: #003eaa !important;   /* RSS blue */
  color: #fff !important;
}

/* ---- Buttons: blue with white outline (matches production CTA) ---- */
/* Targets common button classes Gavias + Drupal use. .rss-v1 buttons
   are protected by their higher-specificity rules. */
a.btn-primary,
a.button--primary,
.btn-primary,
.button--primary,
input.button--primary,
.gva-btn,
button.btn-primary {
  background-color: #003eaa !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  outline: 1px solid #003eaa !important;
  border-radius: 4px !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.2) inset !important;
}
a.btn-primary:hover,
a.button--primary:hover,
.btn-primary:hover,
.button--primary:hover,
input.button--primary:hover,
.gva-btn:hover,
button.btn-primary:hover {
  background-color: #002a85 !important;
  color: #fff !important;
}


/* ============================================================
   BUTTON OVERRIDES — high-specificity versions to win over
   any theme defaults that use !important on red/orange.
   ============================================================ */
body a.btn-primary,
body a.button--primary,
body .btn-primary,
body .button--primary,
body input.button--primary,
body a.gva-btn,
body button.btn-primary,
html body .btn-primary,
html body a.btn-primary {
  background-color: #003eaa !important;
  background-image: none !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  outline: 1px solid #003eaa !important;
  border-radius: 4px !important;
  text-shadow: none !important;
}
body a.btn-primary:hover,
body .btn-primary:hover,
html body .btn-primary:hover {
  background-color: #002a85 !important;
  color: #fff !important;
}


/* ============================================================
   DROPDOWN SPACING TIGHTEN — kill Gavias's wide vertical gaps
   between sub-menu items, keep them compact.
   ============================================================ */
.gva_menu .sub-menu li,
.gva_menu_main .sub-menu li,
.navigation .gva_menu .sub-menu li,
.navigation .gva_menu .sub-menu li.menu-item {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
}
.gva_menu .sub-menu li > a,
.gva_menu_main .sub-menu li > a,
.navigation .gva_menu .sub-menu > li > a,
.navigation .gva_menu_main .sub-menu > li > a {
  padding: 8px 16px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  font-size: 13px !important;
  letter-spacing: .06em !important;
  min-height: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}
.gva_menu .sub-menu li:last-child > a,
.navigation .gva_menu .sub-menu > li:last-child > a {
  border-bottom: 0 !important;
}

/* ============================================================
   AGGRESSIVE BUTTON OVERRIDE — match any button-like anchor with
   "Request" text or .btn-primary class. Excludes .rss-v1 (those
   buttons have their own !important rules that win by source order).
   ============================================================ */
html body a.btn,
html body a.btn-primary,
html body a.button,
html body a.button--primary,
html body .field a.button,
html body .field--name-field-button a,
html body .gva-btn,
html body button.button--primary {
  background-color: #003eaa !important;
  background-image: none !important;
  background: #003eaa !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  outline: 1px solid #003eaa !important;
  border-radius: 4px !important;
  text-shadow: none !important;
  text-decoration: none !important;
}
html body a.btn:hover,
html body a.btn-primary:hover,
html body a.button--primary:hover,
html body .gva-btn:hover {
  background-color: #002a85 !important;
  background: #002a85 !important;
  color: #fff !important;
}


/* ============================================================
   REVOLUTION SLIDER BUTTONS (dev homepage REQUEST A DEMO)
   The button is a .btn-slide div inside .gavias_sliderlayer or
   #gavias_slider_single — NOT a standard .btn-primary. Targeting
   the slider's specific classes.
   ============================================================ */
/* Wrapper div carries the visible button shape */
html body .gavias_sliderlayer .btn-slide,
html body .gavias_sliderlayer .btn-slide.inner,
html body #gavias_slider_single .btn-slide,
html body .btn-slide,
html body .tp-caption.btn-slide {
  background: #003eaa !important;
  background-color: #003eaa !important;
  background-image: none !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  outline: 1px solid #003eaa !important;
  border-radius: 4px !important;
  text-shadow: none !important;
}
/* Inner link inherits colors only — no second border/background */
html body .gavias_sliderlayer .btn-slide a,
html body #gavias_slider_single .btn-slide a,
html body .btn-slide a,
html body .tp-caption.btn-slide a {
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}
html body .gavias_sliderlayer .btn-slide:hover,
html body .gavias_sliderlayer .btn-slide a:hover,
html body #gavias_slider_single .btn-slide:hover,
html body .btn-slide:hover,
html body .btn-slide a:hover {
  background: #002a85 !important;
  background-color: #002a85 !important;
  color: #fff !important;
}
