@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Instrument+Serif:ital@0;1&display=swap");

/* Approved Harbor-inspired presentation. No routing, content or form contracts. */
html:root {
  --harbor-paper: #f1f0e6;
  --harbor-card: #faf9f2;
  --harbor-forest: #173c2e;
  --harbor-deep: #112c22;
  --harbor-sage: #d8dfbe;
  --harbor-muted: #586c5d;
  --harbor-rule: #173c2e30;
  --harbor-serif: "Instrument Serif", Georgia, serif;
  --harbor-sans: "DM Sans", Helvetica, Arial, sans-serif;
  --ink: #173c2e;
  --char: #213d31;
  --cream: #f1f0e6;
  --paper: #f1f0e6;
  --sand: #e5e7da;
  --rust: #496a51;
  --rust-lt: #e1e6d7;
  --muted: #586c5d;
  --rule: #173c2e30;
  --body: "DM Sans", Helvetica, Arial, sans-serif;
  background: var(--harbor-paper);
}
html body { margin: 0; background: var(--harbor-paper); }
html body :is(.rebar-marketing, .rebar-legacy, .rp-site) {
  --rm-ink: #173c2e;
  --rm-ink-2: #112c22;
  --rm-ink-soft: #244634;
  --rm-paper: #f1f0e6;
  --rm-card: #faf9f2;
  --rm-blue: #52775c;
  --rm-blue-deep: #315b40;
  --rm-signal: #d8dfbe;
  --rm-teal: #52775c;
  --rm-teal-deep: #315b40;
  --rm-border: #173c2e30;
  --rm-muted: #586c5d;
  --rm-dark-border: #f1f0e635;
  --rm-on-dark: #f1f0e6;
  --rm-on-dark-muted: #d4dccb;
  --rm-display: var(--harbor-serif);
  --rm-sans: var(--harbor-sans);
  --rm-mono: var(--harbor-sans);
  --ins-gtm: #d8dfbe;
  --ins-gtm-ink: #315b40;
  --ins-pay: #52775c;
  --ins-pay-ink: #315b40;
  color: var(--harbor-forest);
  background: var(--harbor-paper);
  font-family: var(--harbor-sans) !important;
  -webkit-font-smoothing: antialiased;
}
html body :is(.rebar-marketing, .rebar-legacy, .rp-site) :is(h1,h2,h3,h4) {
  font-family: var(--harbor-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -.025em;
}
html body .rebar-marketing .rm-container { width: min(1160px,calc(100% - 80px)); max-width: none; padding-left: 0; padding-right: 0; }
html body .rebar-marketing :is(.rm-h2,.ins-h2) { font-size: clamp(36px,4vw,56px); line-height: 1.12; }
html body .rebar-marketing :is(.rm-h3,.rm-h4) { font-size: clamp(26px,2.7vw,34px); line-height: 1.18; }
html body .rebar-marketing .rm-body { font-size: 16px; line-height: 1.8; }
html body .rebar-marketing .rm-section { padding-block: 92px; }
html body .rebar-marketing :is(.rm-section-white,.rm-section-paper) { background: var(--harbor-paper); }
html body .rebar-marketing :is(.rm-eyebrow,.rm-num,.ins-kicker,.ins-label,.ins-meta) {
  font-family: var(--harbor-sans); font-weight: 500; letter-spacing: .13em; font-size: 10px;
}
html body .rebar-marketing .rm-eyebrow:not(.rm-eyebrow-signal) { color: var(--harbor-muted); }
html body .rebar-marketing :is(.rm-head,.rm-split) { margin-bottom: 38px; }
html body .rebar-marketing :is(.rm-card,.rg-tile,.rg-invite-light,.rm-form-shell) { border-radius: 3px; box-shadow: none; }
html body .rebar-marketing :is(.rg-tile,.rm-card) { border-color: var(--harbor-rule); background: transparent; }
html body .rebar-marketing .rm-hero-grid-bg { display: none; }

/* Consistent, quiet navigation; keep every existing label, destination and menu. */
html body .rebar-marketing .rm-header {
  background: var(--harbor-paper) !important; color: var(--harbor-forest); border-bottom: 1px solid var(--harbor-rule);
  backdrop-filter: none; box-shadow: none;
}
html body .rebar-marketing .rm-header-row { height: 80px; }
html body .rebar-marketing .rm-skip:not(:focus) { transform: translateY(-200%); }
html body .rebar-marketing .rm-wordmark,
html body .rebar-marketing .rm-wordmark span {
  color: var(--harbor-forest) !important; font: 900 28.8px/1 Arial, Helvetica, sans-serif !important;
  letter-spacing: .02em !important; text-transform: uppercase;
}
html body .rebar-marketing .rm-wordmark span { color: #68815d !important; }
html body .rebar-marketing .rm-header :is(a:not(.rm-btn),.rg-nav-toggle,.rm-nav a,.rm-menu-toggle,.about-menu > summary) {
  color: var(--harbor-forest) !important; font-size: 12px; font-family: var(--harbor-sans);
}
html body .rebar-marketing .rg-nav :is(a,.rg-nav-toggle) { border-radius: 0; }
html body .rebar-marketing .rg-nav a:hover { color: #52775c !important; }
html body .rebar-marketing .rg-menu,
html body .rebar-marketing .rm-nav-dd-menu { background: var(--harbor-card); border: 1px solid var(--harbor-rule); border-radius: 3px; box-shadow: 0 20px 45px #173c2e15; }
html body .rebar-marketing .rm-header summary { color: var(--harbor-forest) !important; font-size: 12px; }
html body .rebar-marketing .rg-menu li a:hover { background: #e5e8da; }
html body .rebar-marketing .rg-menu li a small { color: var(--harbor-muted); }
html body .rebar-marketing.rg-site .rg-menu a { color: var(--harbor-forest) !important; }
html body .rebar-marketing.rg-site .rg-menu { background: var(--harbor-card) !important; border-color: var(--harbor-rule); }
html body .rebar-marketing.rg-site .rg-menu li a:hover { background: #e5e8da !important; }
html body .rebar-marketing.rg-site .rg-menu :is(a small,.rg-menu-k) { color: var(--harbor-muted) !important; }
html body .rebar-marketing .rm-mobile-nav { background: var(--harbor-paper); color: var(--harbor-forest); }
html body .rebar-marketing .rm-mobile-nav a:not(.rm-btn) { color: var(--harbor-forest) !important; }
html body .rebar-marketing .rm-menu-toggle { border-color: var(--harbor-rule); }
html body .rebar-marketing .rm-menu-toggle .rm-burger > span { background: var(--harbor-forest); }
html body .rebar-marketing :is(.rm-btn,.ins-btn) {
  border-radius: 2px; font-family: var(--harbor-sans); font-size: 12px; font-weight: 500; padding: 15px 22px; box-shadow: none;
}
html body .rebar-marketing :is(.rm-btn-primary,.rm-btn-signal,.rm-btn-teal) {
  background: var(--harbor-forest); color: var(--harbor-paper) !important; border: 1px solid var(--harbor-forest);
}
html body .rebar-marketing :is(.rm-btn-primary,.rm-btn-signal,.rm-btn-teal):hover { background: #315541; transform: translateY(-2px); }
html body .rebar-marketing .rm-btn-ghost-dark { background: transparent; border-color: #f1f0e65c; color: var(--harbor-paper); }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.rm-hero) .rm-btn-signal {
  background: var(--harbor-paper); border-color: var(--harbor-paper); color: var(--harbor-forest) !important;
}
html body .rebar-marketing .rm-link { font-size: 13px; }
html body .rebar-marketing :is(.rm-footer,.ins-final) { background: var(--harbor-deep); color: var(--harbor-paper); }
html body .rebar-marketing .rm-footer { padding-top: 80px; }
html body .rebar-marketing .rm-footer .rm-wordmark,
html body .rebar-marketing .rm-footer .rm-wordmark span { color: var(--harbor-paper) !important; }
html body .rebar-marketing .rm-footer :is(p,li,a) { border-color: #f1f0e635; }
html body .rebar-marketing .rm-footer :is(.rm-footer-title,.rm-footer-cro) { color: #d8dfbe; }
html body .rebar-marketing .rm-footer .rm-btn-signal { background: var(--harbor-paper); color: var(--harbor-forest) !important; }

/* All GTM / service / international / booking / resource pages. */
html body .rebar-marketing .rm-hero:not(.rg-hero) { background: var(--harbor-forest); color: var(--harbor-paper); }
html body .rebar-marketing .rm-hero :is(.rm-h1,.rm-h2) { color: var(--harbor-paper); font-size: clamp(42px,5.2vw,64px); line-height: 1.1; }
html body .rebar-marketing .rm-hero :is(.rm-lede,.rm-body) { color: #dde2d3; }
html body .rebar-marketing .rm-hero .rm-h1 em { color: var(--harbor-sage); }
html body .rebar-marketing .rg-subhero { margin: 0 18px; border-radius: 4px; padding-block: 64px 90px; }
html body .rebar-marketing :is(.rg-tile,.rg-outcome) { padding-block: 30px; }
html body .rebar-marketing .rg-outcome { border-color: var(--harbor-rule); }
html body .rebar-marketing .rg-outcome-k { font-size: 10px; letter-spacing: .12em; color: var(--harbor-muted); }
html body .rebar-marketing .rg-tile h3 { font-size: 32px; }
html body .rebar-marketing .rg-tile p { font-size: 14px; line-height: 1.75; }
html body .rebar-marketing .rg-control { border-color: var(--harbor-rule); }
html body .rebar-marketing :is(input,select,textarea) { border-radius: 3px; border-color: #173c2e50; font-family: var(--harbor-sans); }
html body .rebar-marketing :is(.rm-form,.rg-form,.rg-form-card,.rgx-book-card) { border-radius: 4px; }
html body .rebar-marketing :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--harbor-forest); }
html body .rebar-marketing :is(.rm-faq,.rg-faq) details { border-color: var(--harbor-rule); }

/* Approved cinematic home, not a screenshot or disconnected prototype. */
html body .rh-live-topline { background: var(--harbor-forest); color: #dce1cb; text-align: center; padding: 9px 20px; font-size: 10px; letter-spacing: .08em; }
html body .rh-live-hero { position: relative; min-height: 730px; height: calc(100svh - 137px); max-height: 1020px; margin: 0 18px; overflow: hidden; border-radius: 5px; background: #284539; color: #f4f2e6; display: flex; align-items: center; }
html body .rh-live-atmosphere { position: absolute; inset: -3%; background: linear-gradient(180deg,#102b2522,#071f1880),url("/rebar/harbor-atmosphere.webp") center/cover; }
html body .rh-live-moving .rh-live-atmosphere { animation: rebar-harbor-drift 24s ease-in-out infinite alternate; }
html body .rh-live-hero-inner { position: relative; z-index: 1; padding-block: 90px 120px; }
html body .rh-live-hero .rh-live-kicker { font: 500 10px/1.5 var(--harbor-sans); letter-spacing: .15em; color: #d0d8bc; margin: 0 0 33px; }
html body .rh-live-hero h1 { font: 400 clamp(68px,7.8vw,115px)/.98 var(--harbor-serif); max-width: 1000px; letter-spacing: -.035em; margin: 0; color: #f4f2e6; }
html body .rh-live-hero h1 em { color: #d8dfbe; font-weight: 400; }
html body .rh-live-hero-bottom { border-top: 1px solid #e0e5cf66; margin-top: 38px; padding-top: 26px; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: start; }
html body .rh-live-hero-bottom > p { font-size: 14px; line-height: 1.75; max-width: 520px; color: #e1e6d9; margin: 0; }
html body .rh-live-hero-actions { display: flex; flex-direction: column; align-items: stretch; gap: 13px; max-width: 270px; }
html body .rh-live-hero .rm-btn-signal { background: var(--harbor-paper); color: var(--harbor-forest) !important; border-color: var(--harbor-paper); }
html body .rh-live-hero .rm-btn-ghost-dark { border: 0; border-bottom: 1px solid #d9e0cb80; border-radius: 0; padding-inline: 0; color: var(--harbor-paper); }
html body .rh-live-hero .rg-micro { font-size: 10px; line-height: 1.6; max-width: 240px; }
html body .rh-live-hero-foot { position: absolute; z-index: 2; bottom: 27px; left: 0; right: 0; display: flex; justify-content: space-between; align-items: end; gap: 20px; font-size: 10px; color: #dbe0d0; }
html body .rh-live-hero-foot p { margin: 0; line-height: 1.6; }
html body .rh-live-motion { padding: 9px 12px; border: 1px solid #dbe0d055; background: #173c2e30; border-radius: 2px; color: #e4e9dc; font-size: 10px; white-space: nowrap; cursor: pointer; }
html body .rh-home .rg-split { gap: 70px; }
html body .rh-home .rm-section { border-bottom: 1px solid var(--harbor-rule); }
html body .rh-live-process { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; padding-block: 15px 40px; }
html body .rh-live-study { min-width: 0; padding: 25px 0; color: var(--harbor-sage); }
html body .rh-live-study .rg-motion-fig { margin: 0; }
html body .rh-live-study-label { display: flex; justify-content: space-between; gap: 20px; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; border-top: 1px solid #f1f0e640; padding-top: 15px; }
html body .rh-live-study[data-stage="1"] .rg-motion-fig { transform: translateY(-8px); }
html body .rh-live-study[data-stage="2"] .rg-motion-fig { transform: scale(1.04); }
html body .rh-live-study[data-stage="3"] .rg-motion-fig { filter: brightness(1.35); }
html body .rh-live-study .rg-motion-fig { transition: transform .7s ease,filter .7s ease; }
html body .rh-live-tabs { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #f1f0e640; margin-bottom: 35px; }
html body .rh-live-tabs button { color: #c0cdb8; background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 18px 5px; text-align: left; cursor: pointer; font-size: 11px; }
html body .rh-live-tabs button span { display: block; font-size: 9px; margin-bottom: 10px; }
html body .rh-live-tabs button[aria-selected="true"] { color: var(--harbor-paper); border-color: var(--harbor-sage); }
html body .rh-live-stage-content { min-width: 0; }
html body .rh-live-stage-content article { min-height: 200px; }
html body .rh-live-stage-content article[hidden] { display: none; }
html body .rh-live-stage-content h3 { font-size: 48px; margin: 0 0 23px; line-height: 1.05; color: var(--harbor-paper); }
html body .rh-live-stage-content p { color: #d1dcca; font-size: 15px; line-height: 1.8; }

/* Payments retains every step, resource dialog, sticky action and validation. */
html body .rp-site {
  --ink: #173c2e; --navy: #173c2e; --dark: #112c22; --paper: #f1f0e6; --white: #faf9f2;
  --mint: #d8dfbe; --teal: #52775c; --muted: #586c5d; --line: #173c2e30; --primary: #173c2e;
  --rp-display: var(--harbor-serif); --rp-mono: var(--harbor-sans); --radius: 3px;
}
html body .rp-site .rp-header { background: var(--harbor-paper); border-color: var(--harbor-rule); min-height: 88px; }
html body .rp-site .rp-wordmark { font: 900 28.8px/1 Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .02em; }
html body .rp-site .rp-wordmark :is(span,strong) { font: inherit; color: inherit; }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero) { margin-inline: 18px; border-radius: 4px; background: var(--harbor-forest); }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero) h1 { font-size: clamp(42px,5.2vw,64px); font-weight: 400; line-height: 1.1; }
html body .rp-site .rp-hero-decoration { opacity: .16; }
html body .rp-site :is(.rp-button,.rp-header-cta,.rp-mobile-sticky .rp-button) { border-radius: 2px; font-weight: 500; font-family: var(--harbor-sans); }
html body .rp-site :is(.rp-review-card,.rp-capability-card,.rp-resource-card,.rp-outcome-card,.rp-subhero-card,.rp-dialog) { border-radius: 3px; box-shadow: none; border-color: var(--harbor-rule); }
html body .rp-site :is(.rp-section,.rp-soft) { background: var(--harbor-paper); }
html body .rp-site .rp-section { padding-block: 90px; }
html body .rp-site :is(.rp-section h2,.rp-final h2) { font-size: clamp(38px,4.4vw,62px); line-height: 1.05; }
html body .rp-site .rp-capability-card h3 { font-size: 31px; }
html body .rp-site .rp-footer { background: var(--harbor-deep); }
html body .rp-site .rp-footer :is(a,h3,.rp-wordmark) { color: var(--harbor-paper); }
html body .rp-site .rp-footer p { color: #d1dcca; }
html body .rp-site :is(input,select,textarea) { font-family: var(--harbor-sans); }

/* Insights, all articles and hubs: readable editorial design, unchanged content. */
html body .rebar-insights :is(.ins-hero,.ins-article-hero,.ins-article-head) { background: var(--harbor-paper); color: var(--harbor-forest); }
html body .rebar-insights .ins-hero::before { display: none; }
html body .rebar-insights .ins-hero h1 { color: var(--harbor-forest); font-size: clamp(50px,6.3vw,90px); }
html body .rebar-insights :is(.ins-article-head h1,.ins-article-hero h1) { color: var(--harbor-forest); font-size: clamp(44px,5vw,74px); line-height: 1.05; }
html body .rebar-insights :is(.ins-hero-sub,.ins-dek,.ins-byline,.ins-crumbs,.ins-kicker) { color: var(--harbor-muted); }
html body .rebar-insights .ins-catnav a { color: var(--harbor-forest) !important; border-color: var(--harbor-rule); border-radius: 2px; }
html body .rebar-insights .ins-catnav .ins-n { color: var(--harbor-muted); }
html body .rebar-insights .ins-crumbs :is(a,li,span) { color: var(--harbor-muted) !important; }
html body .rebar-insights :is(.ins-card,.ins-feature,.ins-box,.ins-offer,.ins-filter-panel,.ins-callout) { background: var(--harbor-card); border-color: var(--harbor-rule); border-radius: 3px; box-shadow: none; }
html body .rebar-insights :is(.ins-card h2,.ins-card h3,.ins-feature h2) { color: var(--harbor-forest); font-size: 34px; }
html body .rebar-insights :is(.ins-chip,.ins-cat,.ins-active-chip) { border-radius: 2px; }
html body .rebar-insights .ins-copy { font-family: var(--harbor-sans); font-size: 18px; line-height: 1.75; max-width: 72ch; }
html body .rebar-insights .ins-copy :is(h2,h3) { color: var(--harbor-forest); }
html body .rebar-insights .ins-copy h2 { font-size: 40px; line-height: 1.12; }
html body .rebar-insights .ins-copy h3 { font-size: 31px; line-height: 1.15; }
html body .rebar-insights :is(.ins-body,.ins-archive,.ins-browse) { background: var(--harbor-paper); }
html body .rebar-insights :is(.ins-feature-art,.ins-avatar) { filter: saturate(.3); }

/* Native case studies, learn guides and legacy documents never become SPA shells. */
html body:has(> .nav) { background: var(--harbor-paper) !important; color: var(--harbor-forest) !important; font-family: var(--harbor-sans) !important; }
html body:has(> .nav) :is(h1,h2,h3,h4,.rep-title,.logo) { font-family: var(--harbor-serif) !important; font-weight: 400 !important; letter-spacing: -.025em; }
html body:has(> .nav) .nav { background: var(--harbor-paper) !important; border-color: var(--harbor-rule) !important; }
html body:has(> .nav) .nav :is(a,summary) { color: var(--harbor-forest) !important; }
html body:has(> .nav) :is(.nav-logo,.logo) { font: 900 28.8px/1 Arial, Helvetica, sans-serif !important; text-transform: uppercase; letter-spacing: .02em !important; }
html body:has(> .nav) :is(.hero,.page-hero) { background: var(--harbor-forest) !important; color: var(--harbor-paper) !important; border-radius: 4px; }
html body:has(> .nav) :is(.hero,.page-hero) :is(h1,p,.eyebrow,.crumbs) { color: var(--harbor-paper) !important; }
html body:has(> .nav) h1 { font-size: clamp(42px,5.2vw,64px) !important; line-height: 1.1 !important; }
html body:has(> .nav) :is(.section h2,.h) { font-size: clamp(34px,4.1vw,56px) !important; line-height: 1.1; }
html body:has(> .nav) :is(.btn-primary,.nav-cta) { background: var(--harbor-forest) !important; color: var(--harbor-paper) !important; border: 1px solid var(--harbor-forest) !important; border-radius: 2px !important; font-family: var(--harbor-sans) !important; box-shadow: none !important; }
html body:has(> .nav) .hero .btn-primary { background: var(--harbor-paper) !important; color: var(--harbor-forest) !important; }
html body:has(> .nav) :is(.case-card,.rep-card,.offer-card,.card,.offer,.panel) { background: var(--harbor-card) !important; color: var(--harbor-forest); border-color: var(--harbor-rule) !important; border-radius: 3px !important; box-shadow: none !important; }
html body:has(> .nav) :is(input,select,textarea,button) { font-family: var(--harbor-sans) !important; }
html body:has(> .nav) footer { background: var(--harbor-deep) !important; color: var(--harbor-paper) !important; }
html body:has(> .nav) footer :is(p,a,span) { color: var(--harbor-paper) !important; }
html body .rebar-legacy :is(.rl-nav,.rl-mobile-nav) { background: var(--harbor-paper) !important; border-color: var(--harbor-rule) !important; }
html body .rebar-legacy .rl-nav :is(.rl-logo,a) { color: var(--harbor-forest) !important; }
html body .rebar-legacy .rl-nav .rl-logo { font: 900 28.8px/1 Arial, Helvetica, sans-serif !important; text-transform: uppercase; letter-spacing: .02em !important; }
html body .rebar-legacy :is(.rl-btn-primary,.btn-primary) { background: var(--harbor-forest) !important; color: var(--harbor-paper) !important; border-radius: 2px !important; }
html body .rebar-legacy :is(.rl-card,.rl-feature-card) { border-radius: 3px !important; background: var(--harbor-card) !important; border-color: var(--harbor-rule) !important; box-shadow: none !important; }
html body .rebar-legacy :is(h1,h2) { font-weight: 400 !important; }

/* Older generated guides also contain literal inline navy colors and no classes. */
html body[data-rebar-harbor="native"] {
  background: var(--harbor-paper) !important; color: var(--harbor-forest) !important;
  font-family: var(--harbor-sans) !important;
}
html body[data-rebar-harbor="native"] :is(h1,h2,h3,h4) {
  font-family: var(--harbor-serif) !important; font-weight: 400 !important; letter-spacing: -.025em;
}
html body[data-rebar-harbor="native"] :is(p,label,button,input,select,textarea,li) { font-family: var(--harbor-sans) !important; }
html body[data-rebar-harbor="native"] > nav,
html body[data-rebar-harbor="native"] > header.nav { background: var(--harbor-paper) !important; color: var(--harbor-forest) !important; }
html body[data-rebar-harbor="native"] .nav .nav-logo,
html body[data-rebar-harbor="native"] .nav .logo {
  font: 900 28.8px/1 Arial, Helvetica, sans-serif !important; letter-spacing: .02em !important; text-transform: uppercase;
}
html body[data-rebar-harbor="native"] .nav .nav-cta { color: var(--harbor-paper) !important; }
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#101c2c"],
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background: #101c2c"],
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#172537"] {
  background: var(--harbor-forest) !important;
}
html body[data-rebar-harbor="native"] :is(.card,.case-card,.offer-card,.rep-card,.offer,.panel) :is(h2,h3,h4),
html body[data-rebar-harbor="native"] .rep-card :is(.rep-title,.rep-summary,.rep-bullets,.rep-meta) { color: var(--harbor-forest) !important; }
html body[data-rebar-harbor="native"] .rep-eyebrow { color: #52775c !important; }
html body[data-rebar-harbor="native"] main > :is(h1,h2) { color: var(--harbor-forest); }
html body[data-rebar-harbor="native"] [style*="border-left:4px solid #1e5fb8"] { border-left-color: #52775c !important; background: var(--harbor-paper) !important; }

/* Never override hidden controls, disabled states, dialogs, validation or consent. */
html body :is(.rebar-marketing,.rp-site) :focus-visible,
html body:has(> .nav) :focus-visible { outline: 2px solid #6e8e54; outline-offset: 5px; }
html body .rh-live-hero :focus-visible { outline-color: var(--harbor-paper); }
/* REBAR is the wordmark; the former decorative period is not part of it. */
html body :is(.rm-wordmark-dot,.rp-wordmark > span,.rl-logo > span,.nav-logo > span,.nav .logo > span) { display: none !important; }

/* Company logo strip: static wrapped grid by default (no-JS, reduced motion); marquee once live. */
html body .rh-logos { padding-block: 60px 56px; border-bottom: 1px solid var(--harbor-rule); }
html body .rh-logos-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 22px 64px; margin-bottom: 52px; }
html body .rebar-marketing .rh-logos h2 { grid-column: 1; font-size: clamp(30px,3vw,36px); line-height: 1.12; max-width: 740px; margin: 0; color: var(--harbor-forest); text-wrap: balance; scroll-margin-top: 128px; }
html body .rh-logos-note { grid-column: 1; grid-row: 2; margin: 0; max-width: 660px; font: 400 14px/1.65 var(--harbor-sans); color: var(--harbor-muted); }
html body .rh-logos-toggle { grid-column: 2; grid-row: 1; align-self: center; min-height: 44px; padding: 12px 18px; border: 1px solid var(--harbor-rule); background: transparent; border-radius: 2px; color: var(--harbor-forest); font: 500 13px/1.3 var(--harbor-sans); letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
html body .rh-logos-toggle:hover { background: #e5e8da; }
html body .rh-logos-only { padding-block: 48px; }
html body .rh-logos-viewport { width: min(1160px,calc(100% - 192px)); margin-inline: auto; }
html body .rh-logos-row { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 26px 20px; }
html body .rh-logos-row[data-copy] { display: none; }
html body .rh-logo { box-sizing: border-box; flex: none; display: flex; align-items: center; justify-content: center; width: 208px; height: 72px; padding-inline: 16px; }
html body .rh-logo img { display: block; width: 176px; height: 44px; max-width: 100%; object-fit: contain; filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; opacity: .75; transition: opacity .3s ease; }
html body .rh-logo img[src$="/eight-sleep.svg"] { filter: grayscale(1) brightness(0); }
html body .rh-logo:hover img { opacity: .9; }
html body .rh-logos-live .rh-logos-viewport { overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); mask-image: linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
html body .rh-logos-live .rh-logos-track { display: flex; width: max-content; animation: rebar-logo-marquee 46s linear infinite; }
html body .rh-logos-live .rh-logos-row { flex-wrap: nowrap; gap: 0; min-width: 100vw; justify-content: space-around; }
html body .rh-logos-live .rh-logos-row[data-copy] { display: flex; }
@media (prefers-reduced-motion:no-preference) {
  html body .rh-logos-live .rh-logo { width: 304px; padding-inline: 64px; }
}
@media (prefers-reduced-motion:no-preference) and (max-width:767px) {
  html body .rh-logos-live .rh-logo { width: 232px; padding-inline: 40px; }
}
html body .rh-logos-live.rh-logos-paused .rh-logos-track,
html body .rh-logos-live .rh-logos-viewport:hover .rh-logos-track,
html body .rh-logos-live .rh-logos-viewport:focus-within .rh-logos-track { animation-play-state: paused; }
html body .rh-logos-viewport:focus-visible { outline: 2px solid var(--harbor-forest); outline-offset: -2px; }
@keyframes rebar-logo-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width:1023px) { html body .rh-logos-viewport { width: calc(100% - 80px); } }
@media (max-width:1000px) { html body .rh-logos-head { column-gap: 32px; } html body .rh-logos-note { grid-column: 1 / -1; } }
@media (max-width:767px) {
  html body .rh-logos { padding-block: 44px; }
  html body .rh-logos-head { grid-template-columns: minmax(0,1fr); gap: 20px; margin-bottom: 36px; }
  html body .rh-logos-note { font-size: 14px; }
  html body .rh-logos-toggle { grid-column: 1; grid-row: 3; justify-self: start; margin-top: 4px; }
  html body .rh-logos-viewport { width: calc(100% - 40px); }
  html body .rh-logos-row { gap: 18px 10px; }
  html body .rh-logo { width: 184px; height: 64px; padding-inline: 16px; }
  html body .rh-logo img { width: 152px; height: 38px; }
  html body .rh-logos-live .rh-logos-track { animation-duration: 36s; }
}
@media (prefers-reduced-motion:reduce), print {
  html body .rh-logos-live .rh-logos-viewport { width: calc(100% - 40px); overflow: visible; mask-image: none; -webkit-mask-image: none; }
  html body .rh-logos-live .rh-logos-track { display: block; width: auto; animation: none !important; transform: none; }
  html body .rh-logos-live .rh-logos-row { flex-wrap: wrap; min-width: 0; justify-content: center; gap: 18px 10px; }
  html body .rh-logos-live .rh-logos-row[data-copy], html body .rh-logos-toggle { display: none; }
}
@keyframes rebar-harbor-drift { from { transform: scale(1.01) translate(-.5%,0); } to { transform: scale(1.07) translate(1%,1%); } }
@media (min-width:1600px) { html body .rh-live-hero h1 { font-size: 126px; } }
@media (max-width:1000px) {
  html body .rebar-marketing .rm-container { width: calc(100% - 64px); }
  html body .rh-live-process { gap: 35px; }
  html body .rh-home .rg-split { gap: 35px; }
}
@media (max-width:767px) {
  html body .rebar-marketing .rm-container { width: calc(100% - 40px); }
  html body .rebar-marketing .rm-header-row { height: 72px; }
  html body .rebar-marketing .rm-section { padding-block: 56px; }
  html body .rebar-marketing :is(.rm-h2,.ins-h2) { font-size: 44px; }
  html body .rebar-marketing .rm-hero :is(.rm-h1,.rm-h2) { font-size: 42px; }
  html body .rebar-marketing .rg-subhero { margin-inline: 8px; padding-block: 35px 55px; }
  html body .rh-live-topline { font-size: 8px; padding: 8px 12px; }
  html body .rh-live-hero { margin: 0 8px; min-height: 800px; height: auto; max-height: none; align-items: start; }
  html body .rh-live-hero-inner { padding-block: 65px 150px; width: calc(100% - 40px) !important; }
  html body .rh-live-hero .rh-live-kicker { font-size: 8px; max-width: 270px; margin-bottom: 33px; }
  html body .rh-live-hero h1 { font-size: clamp(53px,12vw,80px); line-height: 1.01; letter-spacing: -.025em; }
  html body .rh-live-hero-bottom { grid-template-columns: 1fr; gap: 24px; margin-top: 29px; padding-top: 23px; }
  html body .rh-live-hero-bottom > p { font-size: 12px; line-height: 1.7; }
  html body .rh-live-hero-actions { align-items: start; gap: 9px; }
  html body .rh-live-hero-actions .rm-btn { min-width: 210px; }
  html body .rh-live-hero .rg-micro { font-size: 9px; max-width: 250px; }
  html body .rh-live-hero-foot { bottom: 20px; gap: 15px; font-size: 8px; width: calc(100% - 40px) !important; }
  html body .rh-live-hero-foot > p { max-width: 180px; }
  html body .rh-live-motion { font-size: 8px; padding: 8px; }
  html body .rh-live-process { grid-template-columns: 1fr; gap: 24px; }
  html body .rh-live-stage-content article { min-height: 225px; }
  html body .rh-live-stage-content h3 { font-size: 40px; }
  html body .rh-live-tabs button { font-size: 10px; }
  html body .rh-home .rg-split { gap: 30px; }
  html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero) { margin-inline: 8px; }
  html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero) h1 { font-size: 42px; }
  html body .rp-site .rp-section { padding-block: 64px; }
  html body .rp-site :is(.rp-section h2,.rp-final h2) { font-size: 38px; }
  html body .rebar-insights .ins-copy { font-size: 17px; }
  html body .rebar-insights .ins-copy h2 { font-size: 34px; }
  html body .rebar-insights :is(.ins-article-head h1,.ins-article-hero h1) { font-size: 44px; }
  html body:has(> .nav) h1 { font-size: 42px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html body .rh-live-atmosphere { animation: none !important; transform: none !important; }
  html body :is(.rh-live-study .rg-motion-fig,.rh-live-tabs button,.rm-btn,.rp-button) { transition: none !important; }
  html body .rebar-marketing [data-reveal] { opacity: 1 !important; transform: none !important; }
}
@media print {
  html body .rh-live-hero { height: auto; min-height: 0; background: white; color: black; }
  html body .rh-live-atmosphere,html body .rh-live-motion { display: none; }
  html body .rh-live-hero h1,html body .rh-live-hero-bottom > p { color: black; }
}

/* Density + readability refinement: tighter rhythm, larger small type, balanced splits. */
html body .rebar-marketing .rm-section { padding-block: 84px; }
html body .rebar-marketing :is(.rm-head,.rm-split) { margin-bottom: 30px; }
html body .rebar-marketing .rm-head .rm-h2 { max-width: 900px; }
html body .rebar-marketing .rm-body { font-size: 17px; line-height: 1.72; }
html body .rebar-marketing :is(.rm-eyebrow,.rm-num,.ins-kicker,.ins-label,.ins-meta,.rg-outcome-k) { font-size: 12px; }
html body .rebar-marketing :is(.rm-btn,.ins-btn) { font-size: 14px; }
html body .rebar-marketing .rm-textlink { font-size: 15px; }
html body .rebar-marketing .rm-header :is(a:not(.rm-btn),.rg-nav-toggle,.rm-nav a,.rm-menu-toggle,.about-menu > summary),
html body .rebar-marketing .rm-header summary { font-size: 14px; }
html body .rebar-marketing .rg-tile p { font-size: 16px; line-height: 1.7; }
html body .rebar-marketing :is(.rg-micro,.rg-micro-light,.rg-method) { font-size: 14px; line-height: 1.6; }
html body .rebar-marketing :is(.rg-fit,.rg-scale-mini li,.rg-checks li) { font-size: 16px; line-height: 1.65; }
html body .rebar-marketing .rg-support { font-size: 18px; margin-block: 28px 14px; }
html body .rh-home .rh-rec-h { max-width: 980px; margin: 0 0 40px; }
html body .rh-home .rh-balance { align-items: center; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
html body .rh-home .rh-balance .rm-body:first-of-type { margin-top: 0; }
html body .rh-live-process { gap: 56px; align-items: start; padding-block: 0 24px; }
html body .rh-live-study { max-width: 460px; justify-self: center; width: 100%; padding: 0; }
html body .rh-live-study-label { font-size: 12px; }
html body .rh-live-tabs { margin-bottom: 26px; }
html body .rh-live-tabs button { font-size: 14px; padding: 14px 5px; min-height: 48px; }
html body .rh-live-tabs button span { font-size: 12px; margin-bottom: 6px; }
html body .rh-live-stage-content article { min-height: 170px; }
html body .rh-live-stage-content h3 { font-size: 36px; margin-bottom: 18px; }
html body .rh-live-stage-content p { font-size: 17px; line-height: 1.7; }
html body .rh-live-stage-content .rm-textlink { color: var(--harbor-paper) !important; }
@media (max-width:767px) {
  html body .rebar-marketing .rm-section { padding-block: 56px; }
  html body .rebar-marketing :is(.rm-h2,.ins-h2) { font-size: 40px; }
  html body .rh-home .rh-balance { grid-template-columns: 1fr; }
  html body .rh-home .rh-rec-h { margin-bottom: 28px; }
  html body .rh-live-tabs button { font-size: 13px; }
  html body .rh-live-study { max-width: 340px; }
}

/* Final light-background update.
   White canvas, ivory for occasional cards/figures, forest for text/rules/buttons.
   Each formerly dark surface is repaired at its owning selector. The homepage
   banner (.rh-live-hero, .rh-live-topline excluded) keeps its own literal colors. */
html:root { --harbor-paper: #ffffff; --harbor-card: #faf9f2; --harbor-tint: #f3f2e8; --paper: #ffffff; --cream: #ffffff; background: #ffffff; }
html body { background: #ffffff; }
html body :is(.rebar-marketing, .rebar-legacy, .rp-site) {
  --rm-paper: #ffffff; --rm-dark-border: #173c2e30; --rm-on-dark: #173c2e; --rm-on-dark-muted: #586c5d;
  background: #ffffff;
}
html body .rp-site { --paper: #ffffff; --white: #ffffff; }
/* Keep banner literal: it does not read shared paper tokens for its own surface. */
html body .rh-live-hero { --harbor-paper: #f1f0e6; --rm-on-dark: #f1f0e6; --rm-on-dark-muted: #d4dccb; --rm-dark-border: #f1f0e635; }
html body .rh-live-topline { background: #ffffff; color: var(--harbor-forest); border-bottom: 1px solid var(--harbor-rule); }

/* Chrome: white nav, white footer, restrained iridescent hairline */
html body .rebar-marketing .rm-header,
html body .rp-site .rp-header,
html body:has(> .nav) .nav,
html body[data-rebar-harbor="native"] > nav,
html body[data-rebar-harbor="native"] > header.nav,
html body .rebar-legacy :is(.rl-nav,.rl-mobile-nav),
html body .rebar-marketing .rm-mobile-nav { background: #ffffff !important; }
html body .rebar-marketing .rm-footer,
html body .rp-site .rp-footer,
html body:has(> .nav) footer {
  background: #ffffff !important; color: var(--harbor-forest) !important;
  border-top: 1px solid var(--harbor-rule);
  background-image: linear-gradient(90deg,#d8dfbe00,#c9d4cf 30%,#e2dcc8 55%,#cfd8d4 75%,#d8dfbe00) !important;
  background-size: 100% 1px !important; background-repeat: no-repeat !important;
}
html body .rebar-marketing .rm-footer :is(p,li,a:not(.rm-btn),span:not(.rm-btn *),h3,h4),
html body .rp-site .rp-footer :is(a,h3,p,span,li),
html body:has(> .nav) footer :is(p,a,span,li,h3,h4) { color: var(--harbor-forest) !important; border-color: var(--harbor-rule) !important; }
html body .rebar-marketing .rm-footer :is(.rm-footer-title,.rm-footer-cro),
html body .rp-site .rp-footer p { color: var(--harbor-muted) !important; }
html body .rebar-marketing .rm-footer .rm-wordmark,
html body .rp-site .rp-footer .rp-wordmark { color: var(--harbor-forest) !important; }
html body .rebar-marketing .rm-footer .rm-wordmark span { color: #68815d !important; }
html body .rebar-marketing .rm-footer a:not(.rm-btn):hover,
html body .rp-site .rp-footer a:hover { color: #52775c !important; }
html body .rebar-marketing .rm-footer a.rm-btn,
html body .rebar-marketing .rm-footer a.rm-btn :is(span,svg) { background-color: var(--harbor-forest) !important; color: #ffffff !important; border-color: var(--harbor-forest) !important; }
html body .rebar-marketing .rm-footer a.rm-btn :is(span,svg) { background-color: transparent !important; }
html body .rebar-marketing .rm-footer a.rm-btn:hover { background-color: #315541 !important; }
html body .rebar-marketing .rm-footer a.rm-btn:focus-visible { outline: 2px solid #52775c; outline-offset: 4px; }

/* Sections and subpage heroes */
html body .rebar-marketing :is(.rm-section-white,.rm-section-paper) { background: #ffffff; }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final),
html body .rebar-marketing .rm-hero:not(.rg-hero) {
  background: var(--harbor-card) !important; color: var(--harbor-forest) !important;
  border-block: 1px solid var(--harbor-rule);
}
html body .rebar-marketing .rg-subhero { border: 1px solid var(--harbor-rule); }
html body .rebar-marketing :is(.rg-subhero,.rm-close,.rm-section-ink) .rm-btn > span { color: inherit !important; }
html body .rebar-marketing.rg-site .rg-subhero .rg-crumbs [aria-current] { color: var(--harbor-muted); }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) :is(h1,h2,h3,h4,.rm-h1,.rm-h2,.rm-h3,p,li,.rm-lede,.rm-body,.rm-eyebrow,.rg-micro,.rg-micro-light,span:not(.rm-wordmark span)) { color: var(--harbor-forest); }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) :is(.rm-lede,.rm-body,.rm-eyebrow,.rg-micro,.rg-micro-light,small) { color: var(--harbor-muted) !important; }
html body .rebar-marketing .rm-hero .rm-h1 em { color: #52775c; }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) .rm-btn-signal,
html body .rebar-marketing .ins-final .ins-btn { background: var(--harbor-forest) !important; border-color: var(--harbor-forest) !important; color: #ffffff !important; }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) .rm-btn-ghost-dark,
html body .rebar-marketing .rm-btn-ghost-dark:not(.rh-live-hero .rm-btn-ghost-dark) { background: transparent; border-color: #173c2e66; color: var(--harbor-forest) !important; }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) .rm-btn-ghost-dark:hover { background: var(--harbor-tint); }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) :is(a:not(.rm-btn),.rm-textlink) { color: var(--harbor-forest) !important; }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.ins-final,.rm-hero) * { border-color: var(--harbor-rule); }
html body .rebar-marketing :is(.rm-section-ink,.rm-close,.rm-hero) :focus-visible { outline-color: #52775c; }
html body .rebar-marketing :is(.rg-invite,.rg-invite-light) { background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule); }
html body .rebar-marketing .rg-invite :is(h2,h3,p,li) { color: var(--harbor-forest) !important; }

/* Homepage operating model: process study on a light canvas */
html body .rh-live-study { color: var(--harbor-forest); }
html body .rh-live-study-label { border-top-color: var(--harbor-rule); color: var(--harbor-muted); }
html body .rh-live-study[data-stage="3"] .rg-motion-fig { filter: none; transform: scale(1.02); }
html body .rh-live-tabs { border-bottom-color: var(--harbor-rule); }
html body .rh-live-tabs button { color: var(--harbor-muted); }
html body .rh-live-tabs button:hover { color: var(--harbor-forest); }
html body .rh-live-tabs button[aria-selected="true"] { color: var(--harbor-forest); border-color: var(--harbor-forest); }
html body .rh-live-stage-content h3 { color: var(--harbor-forest); }
html body .rh-live-stage-content p { color: #2d4a3c; }
html body .rh-live-stage-content .rm-textlink { color: var(--harbor-forest) !important; }

/* Payments */
html body .rp-site :is(.rp-section,.rp-soft) { background: #ffffff; }
html body .rp-site .rp-soft { background: var(--harbor-card); }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero,.rp-final) {
  background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule);
}
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero,.rp-final) :is(h1,h2,h3,p,li,span,a:not(.rp-button),dt,dd,small) { color: var(--harbor-forest) !important; }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero,.rp-final) :is(p,small,dd) { color: #3a5546 !important; }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero,.rp-final) .rp-button { background: var(--harbor-forest) !important; color: #ffffff !important; border-color: var(--harbor-forest) !important; }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero,.rp-final) :is(.rp-button-secondary,.rp-button-ghost,.rp-button-outline) { background: transparent !important; color: var(--harbor-forest) !important; }
html body .rp-site .rp-hero-decoration { opacity: .1; filter: none; }
html body .rp-site :is(.rp-subhero-card,.rp-review-card,.rp-capability-card,.rp-resource-card,.rp-outcome-card) { background: #ffffff; color: var(--harbor-forest); }

/* Insights: blog index, articles, hubs */
html body .rebar-insights :is(.ins-hero,.ins-article-hero,.ins-article-head,.ins-body,.ins-archive,.ins-browse) { background: #ffffff; }
html body .rebar-insights .ins-catnav a:hover { background: var(--harbor-card); }
html body .rebar-insights .ins-catnav a:is([aria-current],.on,.active) { background: var(--harbor-forest); color: #ffffff !important; }

/* Explorer diagrams that ran on dark stages */
html body .rebar-marketing :is(.hx-dark .hx-stage,.hx-dark-shift .hx-shift-fig) { background: var(--harbor-card); border-color: var(--harbor-rule); color: var(--harbor-forest); }
html body .rebar-marketing .hx-stage, html body .rebar-marketing :is(.hx-shift-fig,.hx-lanes) { background: var(--harbor-card); }
html body .rebar-marketing .hx-dark .hx-fig { color: var(--harbor-forest); }
html body .rebar-marketing .hx-dark .hx-core rect { fill: var(--harbor-forest); }
html body .rebar-marketing .hx-dark .hx-core text { fill: #ffffff; }
html body .rebar-marketing .hx-dark :is(.hx-tabs,.hx-open .hx-panel) { border-color: var(--harbor-rule); }
html body .rebar-marketing .hx-dark .hx-tabs button { color: var(--harbor-muted); }
html body .rebar-marketing .hx-dark .hx-tabs button:hover { color: var(--harbor-forest); }
html body .rebar-marketing .hx-dark .hx-tabs button[aria-selected="true"] { color: var(--harbor-forest); border-color: var(--harbor-forest); }
html body .rebar-marketing .hx-dark :is(.hx-kicker,.hx-all,.hx-for) { color: #52775c !important; }
html body .rebar-marketing .hx-dark .hx-title { color: var(--harbor-forest); }
html body .rebar-marketing .hx-dark .hx-body p { color: #2d4a3c; }
html body .rebar-marketing .hx-dark .hx-body .hx-leave,
html body .rebar-marketing .hx-body .hx-leave { background: var(--harbor-card); border-color: var(--harbor-forest); }
html body .rebar-marketing .hx-lit li { border-top-color: var(--harbor-rule); color: #7d8f80; }
html body .rebar-marketing .hx-lit li.on { color: var(--harbor-forest); }
html body .rebar-marketing .hx-seg button[aria-pressed="true"],
html body .rebar-marketing .hx-chips button[aria-pressed="true"] { color: #ffffff; }

/* Native templates: case studies, Learn, legacy, legal, locales */
html body:has(> .nav),
html body[data-rebar-harbor="native"] { background: #ffffff !important; }
html body:has(> .nav) :is(.hero,.page-hero) {
  background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule);
}
html body:has(> .nav) :is(.hero,.page-hero) :is(h1,h2,h3,p,li,.eyebrow,.crumbs,a:not(.btn-primary)) { color: var(--harbor-forest) !important; }
html body:has(> .nav) :is(.hero,.page-hero) :is(p,.crumbs) { color: #3a5546 !important; }
html body:has(> .nav) .hero h1 em { color: #496a51; }
html body:has(> .nav) .hero .meta-row { color: #586c5d; }
html body:has(> .nav) .hero .meta-row b { color: #173c2e; }
html body:has(> .nav) .hero .btn-primary { background: var(--harbor-forest) !important; color: #ffffff !important; }
html body:has(> .nav) :is(.btn-primary,.nav-cta) { color: #ffffff !important; }
html body:has(> .nav) :is(.btn-primary,.nav-cta):hover { background: #315541 !important; }
html body[data-rebar-harbor="native"] .nav .nav-cta { color: #ffffff !important; }
html body > nav.nav { background: #ffffff !important; border-color: var(--harbor-rule) !important; }
html body > nav.nav :is(a,.nav-logo,.nav-logo span) { color: var(--harbor-forest) !important; }
html body > nav.nav a.nav-cta { background: var(--harbor-forest) !important; color: #ffffff !important; }
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#101c2c"],
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background: #101c2c"],
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#172537"] {
  background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule);
}
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#101c2c"] *,
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background: #101c2c"] *,
html body[data-rebar-harbor="native"] :is(div,section,main)[style*="background:#172537"] * { color: var(--harbor-forest) !important; }
html body[data-rebar-harbor="native"] [style*="border-left:4px solid #1e5fb8"] { background: var(--harbor-card) !important; }
html body .rebar-legacy { background: #ffffff; }
html body:has(> .nav) :focus-visible { outline-color: #52775c; }
@media print { html body .rebar-marketing .rm-footer { background: #ffffff !important; } }

/* Remaining owning surfaces that painted var(--rm-ink) backgrounds */
html body .rebar-marketing :is(.rm-tone-ink,.rm-close-panel,.rm-contact-card,.rm-card-gtm,.rm-editorial-arc li:nth-child(2),.rm-gtm-concept-grid > div),
html body .rebar-marketing.rg-site :is(.rg-fit,.rg-invite,.rg-life li,.rg-result,.rg-prio li,.rg-progress) {
  background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule) !important;
}
html body .rebar-marketing .rm-tone-ink { background: #ffffff !important; border-inline: 0 !important; }
html body .rebar-marketing :is(.rm-tone-ink,.rm-close-panel,.rm-contact-card,.rm-card-gtm) :is(h2,h3,h4,.rm-h2,.rm-h3,.rm-h4) { color: var(--harbor-forest) !important; }
html body .rebar-marketing .rm-tone-ink .rm-eyebrow { color: var(--harbor-muted) !important; }
html body .rebar-marketing .rm-tone-ink .rm-btn-signal { background: var(--harbor-forest) !important; color: #ffffff !important; border-color: var(--harbor-forest) !important; }
html body .rebar-marketing .rm-tone-ink .rm-btn-ghost-dark { color: var(--harbor-forest) !important; border-color: #173c2e66 !important; }
html body .rebar-marketing .rm-rail-node { background: var(--harbor-card); color: var(--harbor-forest); border: 1px solid var(--harbor-rule); }
html body .rebar-insights :is(.ins-feature,.ins-offer) { background: var(--harbor-card) !important; color: var(--harbor-forest); }
html body .rebar-insights :is(.ins-feature,.ins-offer) :is(h2,h3,.ins-read) { color: var(--harbor-forest) !important; }
html body .rebar-insights :is(.ins-feature,.ins-offer) :is(p,.ins-meta) { color: #3a5546 !important; }
html body .rebar-insights .ins-feature .ins-label { color: #52775c !important; }
html body .rebar-insights .ins-offer :is(.ins-btn,.rm-btn) { background: var(--harbor-forest) !important; color: #ffffff !important; }
html body .rebar-insights .ins-hero h1 em { color: #52775c; }
html body .rebar-insights .ins-hero .ins-crumbs [aria-current] { color: var(--harbor-forest) !important; }
html body .rebar-insights .ins-numbered.is-dark li { background: var(--harbor-card); color: var(--harbor-forest); border-color: var(--harbor-rule); }
html body .rebar-insights .ins-numbered.is-dark li::before { color: #52775c; }
html body .rp-site :is(.rp-global-feature,.rp-free) { background: var(--harbor-card) !important; color: var(--harbor-forest) !important; border: 1px solid var(--harbor-rule); }
html body .rp-site :is(.rp-global-feature,.rp-free) :is(h2,h3,p,li,span,a:not(.rp-button)) { color: var(--harbor-forest) !important; }
html body .rp-site :is(.rp-global-feature,.rp-free) .rp-button { background: var(--harbor-forest) !important; color: #ffffff !important; }

/* UI-01 / UI-02: explorer intrinsic sizing. Children may not force the grid wider than its container. */
html body .rebar-marketing .hx { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); max-width: 100%; }
html body .rebar-marketing .hx > *, html body .rebar-marketing :is(.hx-side,.hx-stage,.hx-panel,.hx-fig,.hx-shift,.hx-lanes,.hx-scope) { min-width: 0; max-width: 100%; }
html body .rebar-marketing .hx-tabs { max-width: 100%; }
@media (max-width: 900px) {
  html body .rebar-marketing .hx { grid-template-columns: minmax(0,1fr); }
  html body .rebar-marketing .hx-tabs { overflow-x: auto; overscroll-behavior-x: contain; }
}
/* UI-04: featured card titles were near-white */
html body .rebar-insights .ins-feature h3 { color: var(--harbor-forest) !important; }

/* Payments resource dialog: centered, light, scoped to its own class wherever it mounts. */
html body dialog.rp-dialog {
  --ink: #173c2e; --primary: #173c2e; --mint: #d8dfbe; --muted: #586c5d; --line: #173c2e30;
  position: fixed; inset: 0; margin: auto; width: min(560px, calc(100vw - 32px)); max-height: min(90dvh, 900px);
  overflow: auto; overscroll-behavior: contain; background: #ffffff; color: #173c2e;
  border: 1px solid #173c2e30; border-radius: 3px; box-shadow: 0 30px 70px -30px #173c2e55;
}
html body dialog.rp-dialog::backdrop { background: #173c2e66; backdrop-filter: blur(3px); }
html body dialog.rp-dialog :is(h1,h2,h3) { color: #173c2e; font-family: var(--harbor-serif); font-weight: 400; }
html body dialog.rp-dialog .rp-button--primary,
html body dialog.rp-dialog button[type="submit"]:not(:disabled) { background: #173c2e !important; color: #ffffff !important; border-color: #173c2e; border-radius: 2px; }
html body dialog.rp-dialog .rp-button--primary:hover { background: #315541 !important; }
html body dialog.rp-dialog :focus-visible { outline: 2px solid #52775c; outline-offset: 3px; }

/* Copy remains readable when the owner-requested photography is absent. */
html body .rebar-marketing .rx-copy-block { width: 100%; max-width: 820px; margin-inline: auto; }
html body .rebar-marketing .rx-copy-block .rm-h2 { margin-bottom: 22px; }

/* Editorial composition variety (presentation only). */
html body .rebar-marketing .rx-photo { margin: 0; position: relative; min-width: 0; }
html body .rebar-marketing .rx-photo-frame { position: relative; overflow: hidden; border-radius: 4px; background: #dfe3cf; aspect-ratio: 4 / 3; }
html body .rebar-marketing .rx-photo-frame img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.02); transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s ease; }
html body .rebar-marketing .rx-photo-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,#173c2e00 55%,#173c2e30); mix-blend-mode: multiply; pointer-events: none; }
html body .rebar-marketing .rx-photo:hover .rx-photo-frame img { transform: scale(1.03); filter: saturate(.9) contrast(1.02); }
html body .rebar-marketing .rx-photo-band .rx-photo-frame { aspect-ratio: 21 / 8; }
html body .rebar-marketing .rx-photo-portrait .rx-photo-frame { aspect-ratio: 4 / 5; }
html body .rebar-marketing .rx-photo-square .rx-photo-frame { aspect-ratio: 1 / 1; }
html body .rebar-marketing .rx-photo-cap { margin-top: 10px; font: 500 10px/1.4 var(--harbor-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--harbor-muted); }
html body .rebar-marketing .rm-section-ink .rx-photo-cap { color: #c6d0bd; }
/* Offset sage plate behind a photo for a layered, authored feel. */
html body .rebar-marketing .rx-photo-plate { padding: 0 0 22px 22px; }
html body .rebar-marketing .rx-photo-plate::before { content: ""; position: absolute; left: 0; bottom: 34px; width: 62%; height: 70%; background: var(--harbor-sage); border-radius: 3px; }
html body .rebar-marketing .rx-photo-plate.rx-plate-right { padding: 0 22px 22px 0; }
html body .rebar-marketing .rx-photo-plate.rx-plate-right::before { left: auto; right: 0; }
html body .rebar-marketing .rx-photo-band { margin-block: 0 56px; }
html body .rebar-marketing .rx-photo-band.rx-after { margin-block: 56px 0; }

/* Copy beside photo, with mirrored option. */
html body .rebar-marketing .rx-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.92fr); gap: 72px; align-items: center; }
html body .rebar-marketing .rx-pair-flip > :first-child { order: 2; }
html body .rebar-marketing .rx-pair-wide { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); }
html body .rebar-marketing .rx-pair .rm-h2 { margin-bottom: 22px; }
/* Centered editorial statement. */
html body .rebar-marketing .rx-center { max-width: 820px; margin-inline: auto; text-align: center; }
html body .rebar-marketing .rx-center .rm-body { max-width: 680px; margin-inline: auto; }
html body .rebar-marketing .rx-center .rg-pull { border-left: 0; padding-left: 0; border-top: 1px solid var(--harbor-rule); padding-top: 22px; margin-inline: auto; max-width: 640px; }
html body .rebar-marketing .rx-center .rm-btn-row, html body .rebar-marketing .rx-center .rm-textlink { justify-content: center; }
html body .rebar-marketing .rx-center .rm-eyebrow { justify-content: center; }

/* Explorer composition variants: diagram on the right, or centered above its tabs. */
html body .rebar-marketing .hx.hx-flip { grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); }
html body .rebar-marketing .hx.hx-flip > .hx-stage { order: 2; }
html body .rebar-marketing .hx.hx-center { grid-template-columns: minmax(0,1fr); gap: 36px; max-width: 900px; margin-inline: auto; }
html body .rebar-marketing .hx.hx-center > .hx-stage { position: relative; top: 0; width: min(100%,640px); margin-inline: auto; }
html body .rebar-marketing .hx.hx-center .hx-tabs { justify-content: center; }
html body .rebar-marketing .hx.hx-center .hx-panels { max-width: 720px; margin-inline: auto; }
html body .rebar-marketing .hx.hx-center .hx-all { display: block; margin-inline: auto; }

@media (max-width:900px) {
  html body .rebar-marketing .rx-pair, html body .rebar-marketing .rx-pair-wide { grid-template-columns: minmax(0,1fr); gap: 32px; }
  html body .rebar-marketing .rx-pair-flip > :first-child { order: 0; }
  html body .rebar-marketing .hx.hx-flip { grid-template-columns: minmax(0,1fr); }
  html body .rebar-marketing .hx.hx-flip > .hx-stage { order: 0; }
  html body .rebar-marketing .rx-photo-band .rx-photo-frame { aspect-ratio: 16 / 9; }
  html body .rebar-marketing .rx-photo-portrait .rx-photo-frame { aspect-ratio: 4 / 4.2; }
  html body .rebar-marketing .rx-photo-band { margin-bottom: 36px; }
  html body .rebar-marketing .rx-photo-band.rx-after { margin-top: 36px; }
}
@media (max-width:767px) {
  html body .rebar-marketing .rx-photo-plate { padding: 0 0 14px 14px; }
  html body .rebar-marketing .rx-photo-plate.rx-plate-right { padding: 0 14px 14px 0; }
}
@media (prefers-reduced-motion:reduce) {
  html body .rebar-marketing .rx-photo-frame img { transition: none !important; transform: none !important; }
}
html body .rebar-marketing .rx-ai-photo { margin-bottom: 34px; }
html body .rebar-marketing .rx-ai-photo .rx-photo-frame { aspect-ratio: 16 / 9; }
html body .rebar-marketing .rx-bp-head { margin-bottom: 48px; }
html body .rebar-marketing .rx-bp-head .rm-head { margin-bottom: 0; }
html body .rebar-marketing .rx-center > [data-reveal] + [data-reveal] { margin-top: 6px; }

/* Photo-led sub-heroes (service + Foundations only). Copy stays first in DOM and on mobile. */
html body .rebar-marketing .rx-hero-grid { width: min(1240px,calc(100% - 80px)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 64px; align-items: center; }
html body .rebar-marketing .rx-hero-grid > .rg-subhero-inner { width: auto; margin: 0; max-width: 700px; }
html body .rebar-marketing .rx-hero-left .rx-hero-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
html body .rebar-marketing .rx-hero-left .rx-hero-photo { order: -1; }
html body .rebar-marketing .rx-hero .rm-h1 { font-size: clamp(46px,4.9vw,76px); }
html body .rebar-marketing .rx-hero-photo .rx-photo-frame { aspect-ratio: 4 / 5; max-height: 640px; border: 1px solid #f1f0e630; }
html body .rebar-marketing .rx-hero-photo .rx-photo-frame::after { background: linear-gradient(180deg,#173c2e00 50%,#173c2e55); }
@media (max-width:1000px) {
  html body .rebar-marketing .rx-hero-grid, html body .rebar-marketing .rx-hero-left .rx-hero-grid { grid-template-columns: minmax(0,1fr); gap: 36px; width: calc(100% - 64px); }
  html body .rebar-marketing .rx-hero-left .rx-hero-photo { order: 0; }
  html body .rebar-marketing .rx-hero-photo .rx-photo-frame { aspect-ratio: 16 / 10; }
}
@media (max-width:767px) { html body .rebar-marketing .rx-hero-grid, html body .rebar-marketing .rx-hero-left .rx-hero-grid { width: calc(100% - 40px); } html body .rebar-marketing .rx-hero .rm-h1 { font-size: 46px; } }
@media (max-width: 740px) { html body dialog.rp-dialog { width: calc(100vw - 32px); max-height: calc(100dvh - 32px); } }

/* Final role alignment, scoped away from the locked banner and wordmark. */
/* Initial HTML must fit before any deferred component stylesheet loads. */
html body .rebar-marketing .hs-art-matrix { min-width: 0; max-width: 100%; }
html body .rebar-marketing .hs-art-matrix table { width: 100%; table-layout: fixed; overflow-wrap: anywhere; border-collapse: collapse; }
html body .rebar-marketing .hs-art-matrix :is(th,td) { min-width: 0; padding: 8px; overflow-wrap: anywhere; }
html body .rebar-marketing .hs-decide span { display: block; white-space: normal; }
html body .rebar-marketing .rh-live-stage-content h3 { font-size: clamp(28px,3vw,36px); }
html body .rebar-marketing :is(.rg-invite,.rg-invite-light) { border-radius: 4px; }
html body .rebar-insights :is(.ins-card h3,.ins-feature h3) { font-size: clamp(26px,2.4vw,30px); line-height: 1.2; }
html body .rebar-insights :is(.ins-article-head h1,.ins-article-hero h1) { font-size: clamp(42px,5.2vw,64px); line-height: 1.1; }
html body .rebar-marketing [data-testid="page-growth-book"] .rgx-hero h1 { max-width: 22ch; font-size: clamp(42px,5.2vw,64px); }
html body .rebar-marketing :is(.rm-hero,.rg-subhero) :is(h1,h2),
html body[data-rebar-harbor="native"] :is(h1,h2,h3)[id] { scroll-margin-top: 100px; }
html body .rebar-marketing .rm-header .rg-nav a { font-size: 14px; }
@media (min-width: 768px) and (max-width: 1023px) {
  html body .rebar-marketing .rm-section { padding-block: 64px; }
}
@media (max-width: 767px) {
  html body .rebar-marketing .rm-body { font-size: 16px; }
  html body .rebar-marketing .rh-live-stage-content h3 { font-size: 28px; }
  html body .rebar-insights .ins-crumbs [aria-current="page"] { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
}
@media (max-width: 359px) {
  html body .rebar-marketing .rm-container { width: calc(100% - 32px); }
}

/* ==========================================================================
   Owner landscape atmosphere: one LIGHT photographic treatment per public
   non-home page. Ivory/white veils sit strongest under copy; the photograph
   shows at the edges. Text/button colours are untouched. Pure :has() scoping,
   so React navigation re-evaluates naturally. Homepage (.rh-live-hero) never
   matches; admin/error screens carry none of these hero/footer families.
   ========================================================================== */
html:root {
  --rb-veil-x: linear-gradient(90deg,#faf9f2 0%,#faf9f2f5 34%,#faf9f2c7 58%,#faf9f259 82%,#faf9f226 100%);
  --rb-veil-y: linear-gradient(180deg,#faf9f2f7 0%,#faf9f2ee 55%,#faf9f2b3 82%,#faf9f259 100%);
  --rb-veil-band: radial-gradient(ellipse 62% 78% at 50% 50%,#faf9f2f7 0%,#faf9f2e8 48%,#faf9f299 78%,#faf9f240 100%);
  --rb-fade-white: linear-gradient(180deg,#ffffff 0%,#ffffff00 30%,#ffffff00 70%,#ffffff 100%);
}
/* Family 1 — GTM subheroes, image chosen per service via stable H1 ids. */
html body:not(:has(.rh-live-hero)) .rebar-marketing .rm-hero.rg-subhero {
  --rb-photo: url("/rebar/nature/highlands.webp");
  background-color: var(--harbor-card) !important;
  background-image: var(--rb-veil-x), var(--rb-photo) !important;
  background-size: cover !important; background-position: right 40% !important; background-repeat: no-repeat !important;
}
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-about-h) { --rb-photo: url("/rebar/nature/canopy.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-how-h) { --rb-photo: url("/rebar/nature/bamboo.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-founder-led-sales-h) { --rb-photo: url("/rebar/nature/canopy.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-channel-development-h) { --rb-photo: url("/rebar/nature/palms.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-build-to-hire-h) { --rb-photo: url("/rebar/nature/mountain.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-sc-h) { --rb-photo: url("/rebar/nature/geometry.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-bp-h) { --rb-photo: url("/rebar/nature/reflection.webp"); }
html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-contact-h) { --rb-photo: url("/rebar/nature/mountain.webp"); }
/* Family 2 — Payments heroes; form cards remain opaque. */
html body .rp-site .rp-hero { --rb-photo: url("/rebar/nature/mountain.webp"); }
html body .rp-site .rp-subhero { --rb-photo: url("/rebar/nature/bamboo.webp"); }
html body .rp-site .rp-resource-hero { --rb-photo: url("/rebar/nature/geometry.webp"); }
html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero) {
  background-color: var(--harbor-card) !important;
  background-image: var(--rb-veil-x), var(--rb-photo) !important;
  background-size: cover !important; background-position: right center !important; background-repeat: no-repeat !important;
}
html body .rp-site :is(.rp-subhero-card,.rp-kit-preview,.rp-subhero form,.rp-resource-hero form,.rp-hero form) { background-color: var(--harbor-card) !important; }
/* Family 3 — Insights closing band (bottom of hubs/articles). */
html body:not(:has(.rh-live-hero, .rg-subhero)) .rebar-insights .ins-final:not(.ins-body .ins-final) {
  --rb-photo: url("/rebar/nature/reflection.webp");
  background-color: var(--harbor-card) !important;
  background-image: var(--rb-veil-band), var(--rb-photo) !important;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
html body:not(:has(.rh-live-hero, .rg-subhero)):has(.ins-article-hero) .rebar-insights .ins-final:not(.ins-body .ins-final) { --rb-photo: url("/rebar/nature/canopy.webp"); }
/* Family 4 — native case studies / learn / legacy heroes (any non-SPA document). */
html body:not(:has(.rh-live-hero, .rebar-marketing, .rp-site)) :is(.hero,.page-hero):not(:is(dialog,form,footer,[role="dialog"]) *) {
  --rb-photo: url("/rebar/nature/canopy.webp");
  background-color: var(--harbor-card) !important;
  background-image: var(--rb-veil-x), var(--rb-photo) !important;
  background-size: cover !important; background-position: right 35% !important; background-repeat: no-repeat !important;
}
/* Family 5 — fallback: white-faded photographic band atop the (white) footer. */
html body:not(:has(.rpol,.rpol-results,.rq-resource,.rq-tools,[data-testid="page-growth-book"])):not(:has(.rh-live-hero, .rg-subhero, .rp-hero, .rp-subhero, .rp-resource-hero, .ins-final)):not(:has(:is(.hero,.page-hero):not(:is(dialog,form,footer,[role="dialog"]) *))) footer:not(.rm-gtm-panel-foot):not(:is(dialog,form,[role="dialog"]) *) {
  position: relative; padding-top: 236px !important;
}
html body:not(:has(.rh-live-hero, .rg-subhero, .rp-hero, .rp-subhero, .rp-resource-hero, .ins-final)):not(:has(:is(.hero,.page-hero):not(:is(dialog,form,footer,[role="dialog"]) *))) footer:not(.rm-gtm-panel-foot):not(:is(dialog,form,[role="dialog"]) *)::before {
  content: ""; position: absolute; top: 0; left: 18px; right: 18px; height: 200px; pointer-events: none; border-radius: 4px;
  --rb-photo: url("/rebar/nature/bamboo.webp");
  background: var(--rb-fade-white), linear-gradient(90deg,#ffffffb3,#ffffff00 22%,#ffffff00 78%,#ffffffb3), var(--rb-photo) center 40%/cover no-repeat;
}
html body:has(.rebar-legacy, .rp-site) footer::before { --rb-photo: url("/rebar/nature/geometry.webp"); }
@media (max-width:767px) {
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rm-hero.rg-subhero { --rb-photo: url("/rebar/nature/highlands-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-about-h) { --rb-photo: url("/rebar/nature/canopy-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-how-h) { --rb-photo: url("/rebar/nature/bamboo-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-founder-led-sales-h) { --rb-photo: url("/rebar/nature/canopy-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-channel-development-h) { --rb-photo: url("/rebar/nature/palms-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-svc-build-to-hire-h) { --rb-photo: url("/rebar/nature/mountain-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-sc-h) { --rb-photo: url("/rebar/nature/geometry-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-bp-h) { --rb-photo: url("/rebar/nature/reflection-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rg-subhero:has(#rg-contact-h) { --rb-photo: url("/rebar/nature/mountain-mobile.webp"); }
  html body .rp-site .rp-hero { --rb-photo: url("/rebar/nature/mountain-mobile.webp"); }
  html body .rp-site .rp-subhero { --rb-photo: url("/rebar/nature/bamboo-mobile.webp"); }
  html body .rp-site .rp-resource-hero { --rb-photo: url("/rebar/nature/geometry-mobile.webp"); }
  html body:not(:has(.rh-live-hero, .rg-subhero)) .rebar-insights .ins-final:not(.ins-body .ins-final) { --rb-photo: url("/rebar/nature/reflection-mobile.webp"); }
  html body:not(:has(.rh-live-hero, .rg-subhero)):has(.ins-article-hero) .rebar-insights .ins-final:not(.ins-body .ins-final) { --rb-photo: url("/rebar/nature/canopy-mobile.webp"); }
  html body:not(:has(.rh-live-hero, .rebar-marketing, .rp-site)) :is(.hero,.page-hero) { --rb-photo: url("/rebar/nature/canopy-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing .rm-hero.rg-subhero,
  html body .rp-site :is(.rp-hero,.rp-subhero,.rp-resource-hero),
  html body:not(:has(.rh-live-hero, .rebar-marketing, .rp-site)) :is(.hero,.page-hero) {
    background-image: var(--rb-veil-y), var(--rb-photo) !important; background-position: center bottom !important;
  }
  html body footer::before { --rb-photo: url("/rebar/nature/bamboo-mobile.webp"); left: 8px; right: 8px; height: 148px; }
  html body:has(.rebar-legacy, .rp-site) footer::before { --rb-photo: url("/rebar/nature/geometry-mobile.webp"); }
  html body:not(:has(.rpol,.rpol-results,.rq-resource,.rq-tools,[data-testid="page-growth-book"])):not(:has(.rh-live-hero, .rg-subhero, .rp-hero, .rp-subhero, .rp-resource-hero, .ins-final)):not(:has(:is(.hero,.page-hero):not(:is(dialog,form,footer,[role="dialog"]) *))) footer:not(.rm-gtm-panel-foot):not(:is(dialog,form,[role="dialog"]) *) { padding-top: 176px !important; }
}
@media print {
  html body :is(.rg-subhero,.rp-hero,.rp-subhero,.rp-resource-hero,.ins-final,.hero,.page-hero) { background-image: none !important; }
  html body footer::before { display: none !important; }
}

/* ==========================================================================
   GTM placement variety (overrides Family 1 for five routes). Exactly one
   photo per route: /gtm + /how-it-works keep their header; the other five
   lose the header image and gain one in-flow decorative pseudo-element in a
   copy-only section (never beneath forms/controls). .rg-subhero stays in the
   DOM, so the global footer fallback (Family 5) remains inactive.
   ========================================================================== */
html body:not(:has(.rh-live-hero)) .rebar-marketing .rm-hero.rg-subhero:is(:has(#rg-svc-founder-led-sales-h),:has(#rg-svc-channel-development-h),:has(#rg-svc-build-to-hire-h),:has(#rg-sc-h),:has(#rg-bp-h)) {
  background-image: linear-gradient(120deg,#faf9f2 0%,#eef0e3 100%) !important;
}
html body:not(:has(.rh-live-hero)) .rebar-marketing :is(
  section[aria-labelledby="rg-svc-founder-led-sales-prob-h"],
  section[aria-labelledby="rg-svc-channel-development-b0-h"],
  section[aria-labelledby="rg-sc-get-h"],
  section[aria-labelledby="rg-bp-prev-h"]
)::after,
html body:not(:has(.rh-live-hero)):has(#rg-svc-build-to-hire-h) .rebar-marketing section.rm-close::before {
  content: ""; display: block; pointer-events: none; border-radius: 3px;
  width: min(1160px,calc(100% - 80px)); height: 240px; margin: 56px auto 0;
  background: var(--rb-fade-side, linear-gradient(90deg,#faf9f200,#faf9f200)), var(--rb-photo) center/cover no-repeat;
}
/* Founder-led sales — canopy: middle, right-indented portrait strip after the problem copy. */
html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-svc-founder-led-sales-prob-h"]::after {
  --rb-photo: url("/rebar/nature/canopy.webp");
  --rb-fade-side: linear-gradient(90deg,#f1f0e6 0%,#f1f0e600 35%);
  width: min(620px,calc(100% - 80px)); height: 300px;
  margin-right: max(40px,calc((100% - 1160px) / 2)); margin-left: auto;
}
/* Channel development — palms: middle, left-indented wide strip under the first split block. */
html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-svc-channel-development-b0-h"]::after {
  --rb-photo: url("/rebar/nature/palms.webp");
  --rb-fade-side: linear-gradient(270deg,#f1f0e6 0%,#f1f0e600 40%);
  width: min(820px,calc(100% - 80px)); height: 220px;
  margin-left: max(40px,calc((100% - 1160px) / 2)); margin-right: auto;
}
/* Build-to-hire — mountain: bottom, centered panorama leading into the closing panel. */
html body:not(:has(.rh-live-hero)):has(#rg-svc-build-to-hire-h) .rebar-marketing section.rm-close::before {
  --rb-photo: url("/rebar/nature/mountain.webp");
  --rb-fade-side: linear-gradient(180deg,#f1f0e600 55%,#f1f0e6 100%);
  height: 260px; margin: 0 auto 40px; background-position: center 45%;
}
/* Readiness — geometry: middle, centered narrow band after "What you will get" (before scorecard). */
html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-sc-get-h"]::after {
  --rb-photo: url("/rebar/nature/geometry.webp");
  --rb-fade-side: linear-gradient(90deg,#f1f0e6 0%,#f1f0e600 18%,#f1f0e600 82%,#f1f0e6 100%);
  width: min(760px,calc(100% - 80px)); height: 180px;
}
/* Blueprint — reflection: lower-middle, right-aligned strip beneath workbook sheets (form section untouched). */
html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-bp-prev-h"]::after {
  --rb-photo: url("/rebar/nature/reflection.webp");
  --rb-fade-side: linear-gradient(90deg,#f1f0e6 0%,#f1f0e600 45%);
  width: min(940px,calc(100% - 80px)); height: 200px;
  margin-right: max(40px,calc((100% - 1160px) / 2)); margin-left: auto;
}
@media (max-width:767px) {
  html body:not(:has(.rh-live-hero)) .rebar-marketing :is(
    section[aria-labelledby="rg-svc-founder-led-sales-prob-h"],
    section[aria-labelledby="rg-svc-channel-development-b0-h"],
    section[aria-labelledby="rg-sc-get-h"],
    section[aria-labelledby="rg-bp-prev-h"]
  )::after,
  html body:not(:has(.rh-live-hero)):has(#rg-svc-build-to-hire-h) .rebar-marketing section.rm-close::before {
    width: calc(100% - 40px); height: 170px; margin-inline: auto; margin-top: 36px;
  }
  html body:not(:has(.rh-live-hero)):has(#rg-svc-build-to-hire-h) .rebar-marketing section.rm-close::before { margin: 0 auto 28px; }
  html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-svc-founder-led-sales-prob-h"]::after { --rb-photo: url("/rebar/nature/canopy-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-svc-channel-development-b0-h"]::after { --rb-photo: url("/rebar/nature/palms-mobile.webp"); }
  html body:not(:has(.rh-live-hero)):has(#rg-svc-build-to-hire-h) .rebar-marketing section.rm-close::before { --rb-photo: url("/rebar/nature/mountain-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-sc-get-h"]::after { --rb-photo: url("/rebar/nature/geometry-mobile.webp"); }
  html body:not(:has(.rh-live-hero)) .rebar-marketing section[aria-labelledby="rg-bp-prev-h"]::after { --rb-photo: url("/rebar/nature/reflection-mobile.webp"); }
}
@media print {
  html body .rebar-marketing section::after, html body .rebar-marketing section.rm-close::before { display: none !important; }
}

/* Final polish removes decorative photo panels only on the revised pages. */
html body:has(.rpol, .rpol-results, .rq-resource, .rq-tools, [data-testid="page-growth-book"]) footer::before { content: none !important; display: none !important; }
html body .rp-site:has(.rpol-pay) .rp-hero { background-image: none !important; }
html body .rebar-marketing .rq-resource .rm-hero.rg-subhero { background-image: none !important; padding-block: 48px; }
html body .rebar-marketing .rq-resource .rm-section { padding-block: 36px; }
html body .rebar-marketing .rq-resource .rm-section::after { content: none !important; }
html body .rebar-marketing .rm-header :is(.rm-nav-desktop a,.rm-header-cta,.rm-mobile-nav a) { font-size: 16px; }
html body .rebar-marketing .rm-footer { padding-top: 48px; }
html body .rebar-marketing .rm-footer-col a { font-size: 14px; line-height: 1.55; padding-block: 0; }
html body .rebar-marketing .rm-footer-col li + li { margin-top: 7px; }
html body .rebar-marketing :is(.rq-resource,.rq-tools) :is(p,label,summary) { font-size: 18px; line-height: 1.6; }
html body .rebar-marketing :is(.rq-resource,.rq-tools) :is(.rg-fine,.rq-instruction,.rgx-note) { font-size: 14px; }
html body:has(.rpol,.rpol-results,.rq-resource,.rq-tools,[data-testid="page-growth-book"]) footer { padding-top: 48px !important; }
html body .rp-site .rpol-pay-disclosure { padding-block: 24px; }
html body .rp-site .rpol-pay-disclosure p { font-size: 14px; line-height: 1.6; color: #46574c; }
html body .rp-site:has(.rpol-pay) :is(.rp-intent span,.rp-field label,.rp-check,.rp-lead-form button) { font-size: 16px; line-height: 1.5; }
html body .rp-site:has(.rpol-pay) :is(.rp-small,.rp-form-note,.rp-privacy,.rp-hero-note) { font-size: 14px; line-height: 1.6; }
html body .rebar-marketing [data-testid="page-growth-book"] label { font-size: 16px; }

/* Hero proof metrics: two wide principal-history cards beside the CTA column. */
html body .rh-live-hero:has(.rh-proof) { height: auto; max-height: none; }
html body .rh-live-hero .rh-proof { min-width: 0; max-width: 780px; }
html body .rh-live-hero .rh-proof-h { margin: 0 0 14px; font: 500 14px/1.5 var(--harbor-sans); color: #e6eadc; text-shadow: 0 1px 12px #0c241c80; }
html body .rh-live-hero .rh-proof-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #e0e5cf40; border-left: 1px solid #e0e5cf40; }
html body .rh-live-hero .rh-proof-grid li { border-right: 1px solid #e0e5cf40; border-bottom: 1px solid #e0e5cf40; min-width: 0; }
html body .rh-live-hero .rh-proof-tile { display: flex; flex-direction: column; gap: 7px; height: 100%; box-sizing: border-box; padding: 20px 22px 18px; color: #f4f2e6; text-decoration: none; background: #0c241c59; transition: background .3s ease; }
html body .rh-live-hero .rh-proof-tile:hover { background: #0c241c80; }
html body .rh-live-hero .rh-proof-tile strong { font: 400 clamp(36px,3.3vw,48px)/1.08 var(--harbor-serif); letter-spacing: -.02em; color: #f4f2e6; overflow-wrap: normal; }
html body .rh-live-hero .rh-proof-tile strong > span { white-space: nowrap; }
html body .rh-live-hero .rh-proof-label { font: 600 11px/1.4 var(--harbor-sans); letter-spacing: .1em; text-transform: uppercase; color: #eef0e4; margin-top: 4px; }
html body .rh-live-hero .rh-proof-ctx { font: 400 13px/1.45 var(--harbor-sans); color: #dbe2d0; }
html body .rh-live-hero .rh-proof-note { margin: 14px 0 0; max-width: 680px; font: 400 12px/1.6 var(--harbor-sans); color: #e1e6d9; text-shadow: 0 1px 10px #0c241c99; }
/* Tablet: CTA column drops below the proof. The hero grows with its content. */
@media (max-width:1099px) {
  html body .rh-live-hero-bottom { grid-template-columns: minmax(0,1fr); gap: 30px; }
}
@media (max-width:767px) {
  html body .rh-live-hero .rh-proof-h { font-size: 13px; }
  html body .rh-live-hero .rh-proof-grid { grid-template-columns: minmax(0,1fr); }
  html body .rh-live-hero .rh-proof-tile { padding: 16px 16px 15px; gap: 6px; }
  html body .rh-live-hero .rh-proof-tile strong { font-size: clamp(32px,9vw,40px); }
  html body .rh-live-hero .rh-proof-label { font-size: 10.5px; letter-spacing: .08em; }
  html body .rh-live-hero .rh-proof-ctx { font-size: 12px; }
  html body .rh-live-hero .rh-proof-note { font-size: 12px; }
  html body .rh-live-hero-inner { padding-bottom: 90px; }
}
@media print { html body .rh-live-hero .rh-proof-tile, html body .rh-live-hero .rh-proof-tile strong, html body .rh-live-hero :is(.rh-proof-h,.rh-proof-label,.rh-proof-ctx,.rh-proof-note) { color: black; background: none; text-shadow: none; } }
