/* FINAL BANNER + READABILITY FIX — 2026-07-31 */
:root{
  --rm-fix-bg:#dff1e8;
  --rm-fix-bg-2:#d4ebdf;
  --rm-fix-ink:#123d31;
  --rm-fix-muted:#2f5b4d;
  --rm-fix-gold:#8b6318;
  --rm-fix-line:rgba(18,61,49,.18);
}

/* One compact, consistent banner on every page */
.rm-site-header{
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  background:linear-gradient(135deg,var(--rm-fix-bg-2),var(--rm-fix-bg))!important;
  border-bottom:1px solid var(--rm-fix-line)!important;
  box-shadow:0 6px 18px rgba(18,61,49,.08)!important;
}
.rm-header-shell{
  width:min(1840px,calc(100% - 32px))!important;
  min-height:72px!important;
  padding:7px 0!important;
  margin:auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:clamp(10px,1vw,18px)!important;
}
.rm-brand{
  min-width:205px!important;
  max-width:235px!important;
  flex:0 0 auto!important;
  gap:9px!important;
}
.rm-brand-mark{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:14px!important}
.rm-brand-name{font-size:22px!important;line-height:1!important}
.rm-brand-tag{font-size:8px!important;line-height:1.15!important;letter-spacing:.1em!important;margin-top:4px!important}
.rm-desktop-nav{
  order:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  flex:1 1 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(7px,.75vw,14px)!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.rm-desktop-nav a{
  padding:10px 0!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  font-size:clamp(10px,.68vw,12.5px)!important;
  line-height:1.12!important;
  font-weight:800!important;
  color:var(--rm-fix-ink)!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.rm-header-actions{
  flex:0 0 auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
}
.rm-language,.rm-header-btn{height:36px!important;font-size:11px!important}
.rm-language{min-width:96px!important;padding-left:10px!important;padding-right:25px!important}
.rm-header-btn{padding:0 11px!important;border-radius:10px!important}

/* Compact breadcrumb: inner pages should not look like a second giant banner */
.page-breadcrumb{
  margin:0!important;
  padding:0!important;
  min-height:44px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  background:#d2eadd!important;
  border-bottom:1px solid var(--rm-fix-line)!important;
  color:var(--rm-fix-ink)!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.page-breadcrumb .container{
  padding:12px 0!important;
  width:min(1180px,calc(100% - 40px))!important;
}
.page-breadcrumb a,.page-breadcrumb span{color:var(--rm-fix-ink)!important;opacity:1!important;font-weight:750!important}
.page-breadcrumb a{color:var(--rm-fix-gold)!important}

/* Clear typography across the entire site */
body{color:var(--rm-fix-ink)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main h1,main h2,main h3,main h4,
section h1,section h2,section h3,section h4,
.section-head h1,.section-head h2,.section-head h3{
  color:var(--rm-fix-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
  font-weight:700!important;
}
main p,main li,main label,main small,
section p,section li,section label,section small,
.card p,.visage-item p,.corps-item p,.static-result-card p{
  color:var(--rm-fix-muted)!important;
  opacity:1!important;
  font-weight:500!important;
  line-height:1.7!important;
}
.eyebrow,.section-kicker,.blog-teaser-cat{color:var(--rm-fix-gold)!important;opacity:1!important;font-weight:800!important}
a.visage-link,.learn-more,.blog-teaser-link{color:#754f0d!important;font-weight:800!important;text-decoration-thickness:1.5px!important}

/* Inner-page opening section should begin promptly after breadcrumb */
body:not(.home) main>section:first-of-type,
body:not(.home) .corps:first-of-type,
body:not(.home) .visage:first-of-type{
  padding-top:clamp(52px,5vw,78px)!important;
}
.corps .section-head,.visage .section-head{margin-bottom:clamp(28px,4vw,48px)!important}

/* Keep all links visible, but avoid a huge header on smaller screens */
@media(max-width:1180px){
  .rm-header-shell{flex-wrap:wrap!important;justify-content:space-between!important;gap:6px 12px!important;padding:7px 0 9px!important}
  .rm-brand{min-width:0!important;max-width:none!important}
  .rm-header-actions{margin-left:auto!important}
  .rm-desktop-nav{
    order:3!important;
    flex:0 0 100%!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:4px!important;
    border-top:1px solid var(--rm-fix-line)!important;
    padding-top:5px!important;
  }
  .rm-desktop-nav a{white-space:normal!important;font-size:10.5px!important;padding:6px 2px!important;min-height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important}
}
@media(max-width:760px){
  .rm-header-shell{width:calc(100% - 18px)!important}
  .rm-brand{width:100%!important;justify-content:center!important}
  .rm-header-actions{width:100%!important;justify-content:center!important;margin-left:0!important}
  .rm-desktop-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .rm-desktop-nav a{font-size:11px!important;min-height:38px!important;background:rgba(255,255,255,.26)!important;border-radius:8px!important;padding:7px 3px!important}
  .page-breadcrumb .container{width:calc(100% - 24px)!important;padding:10px 0!important}
  .page-breadcrumb{min-height:40px!important;font-size:12px!important}
}
@media(max-width:420px){
  .rm-desktop-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rm-brand-name{font-size:20px!important}
  .rm-brand-tag{font-size:7.5px!important}
  .rm-language,.rm-header-btn{height:34px!important;font-size:10.5px!important;padding-inline:9px!important}
}
