:root{
  --kb-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  --kb-type-body:16px;
  --kb-type-lead:18px;
  --kb-type-small:14px;
  --kb-leading-body:1.6;
  --kb-leading-compact:1.45;
}
body.rg-page{font-family:var(--kb-font-sans)}
.rg-page :where(h1,h2,h3){font-family:var(--kb-font-sans);font-weight:600;text-wrap:balance}
.rg-page :where(p,li){text-wrap:pretty}
.rg-hero-lead,.rg-section-head>p{font-size:var(--kb-type-lead);line-height:var(--kb-leading-body)}
.rg-team-copy>p:not(.rg-eyebrow),.rg-contact-copy>p{line-height:var(--kb-leading-body)}

/* Header hierarchy: navigation and phone stay readable but quieter than the primary CTA. */
.rg-nav>a,.rg-nav-item>summary{font-size:16px;font-weight:500}
.rg-header>.rg-brand svg{fill:var(--rg-accent)}
.rg-header-phone{font-size:16px;font-weight:500;color:#7f7a86}
.rg-header-cta{font-weight:600;background:#19181d;border-color:#19181d;color:#fff!important}
@media(hover:hover){
  .rg-header-phone:hover{color:var(--rg-accent)}
  .rg-header-cta:hover{background:#27252c;border-color:#27252c;color:#fff!important;box-shadow:0 8px 20px rgba(25,24,29,.16)}
}

/* Dropdown navigation follows the service groups from the footer. */
.rg-nav-item{position:relative;margin:0}
.rg-nav-item>summary{display:flex;align-items:center;gap:6px;min-height:44px;list-style:none;white-space:nowrap;cursor:pointer;transition:color .2s}
.rg-nav-item>summary::-webkit-details-marker{display:none}
.rg-nav-item>summary::marker{display:none;content:""}
.rg-nav-item>summary:hover,.rg-nav-item[open]>summary{color:var(--rg-accent)}
.rg-nav-chevron{display:block;width:7px;height:7px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.rg-nav-item[open] .rg-nav-chevron{margin-top:3px;transform:rotate(225deg)}
.rg-nav-dropdown{display:grid;gap:2px}
.rg-nav-dropdown a{display:block;border-radius:10px;color:var(--rg-text);font-size:15px;font-weight:500;line-height:1.35;white-space:nowrap;transition:background-color .2s,color .2s}
.rg-nav-dropdown a:hover{background:var(--rg-bg);color:var(--rg-accent)}

/* Keep the original flex layout so the phone and CTA retain their natural width. */
@media(min-width:1151px) and (max-width:1239px){
  .rg-header>.rg-nav{transform:translateX(-56px)}
}
@media(min-width:1151px){
  .rg-nav-dropdown{position:absolute;z-index:120;top:60px;left:-12px;width:max-content;min-width:238px;max-width:320px;padding:8px 0;border:1px solid var(--rg-line);border-radius:0 0 16px 16px;background:var(--rg-surface);box-shadow:0 18px 42px rgba(24,24,40,.12);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .16s,visibility .16s,transform .16s}
  .rg-nav-dropdown a{padding:11px 12px}
  .rg-nav-item[open]>.rg-nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
}
@media(min-width:1240px){
  .rg-header>.rg-nav{position:absolute;left:calc(50% - 72px);margin-left:0;transform:translateX(-50%)}
}

@media(max-width:1150px){
  .rg-nav-item{border-bottom:1px solid var(--rg-line)}
  .rg-nav-item>summary{min-height:0;padding:13px 12px;font-size:16px}
  .rg-nav-item>summary .rg-nav-chevron{margin-left:auto}
  .rg-nav-dropdown{display:none;padding:0 0 10px}
  .rg-nav-item[open]>.rg-nav-dropdown{display:grid}
  .rg-nav-dropdown a{padding:10px 12px 10px 24px;color:var(--rg-muted);font-size:15px;white-space:normal}
  .rg-nav .rg-nav-cta{margin-top:8px}
}

@media(max-width:767px){
  .rg-hero-lead,.rg-section-head>p{font-size:16px}
}
@media(max-width:640px){
  .rg-header-phone{font-size:14px;font-weight:500}
  .rg-header .rg-brand>span{display:inline}
}
@media(max-width:420px){
  .rg-header{gap:8px;padding:9px 10px 9px 12px}
  .rg-brand{gap:6px;font-size:16px}
  .rg-brand svg{width:28px;height:22px}
  .rg-header-actions{gap:5px}
  .rg-header-phone{font-size:13px;letter-spacing:-.035em}
  .rg-menu-toggle{width:36px;height:36px}
}


/* Split the shared header into two independent capsule groups. */
.rg-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.rg-header-primary{
  display:flex;
  align-items:center;
  gap:clamp(18px,2vw,30px);
  flex:1 1 auto;
  min-width:0;
  min-height:76px;
  padding:13px 22px;
  border:1px solid var(--rg-line);
  border-radius:20px;
  background:var(--rg-surface);
  box-shadow:0 6px 28px rgba(24,24,40,.035);
}
.rg-header-primary>.rg-nav{
  position:static;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(14px,1.8vw,23px);
  flex:1 1 auto;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.rg-header-actions{
  flex:none;
  min-height:76px;
  margin-left:0;
  padding:10px 12px;
  border:1px solid var(--rg-line);
  border-radius:20px;
  background:var(--rg-surface);
  box-shadow:0 6px 28px rgba(24,24,40,.035);
}
@media(max-width:1150px){
  .rg-header{gap:12px}
  .rg-header-primary{flex:0 1 auto;min-height:66px;padding:10px 16px}
  .rg-header-primary>.rg-nav{position:absolute;top:calc(100% + 8px);left:0;right:0;display:none;margin:0;padding:12px;border:1px solid var(--rg-line);border-radius:16px;background:var(--rg-surface);box-shadow:0 15px 35px rgba(24,24,40,.08)}
  .rg-header-primary>.rg-nav.is-open{display:grid;gap:0}
  .rg-header-actions{min-height:66px;margin-left:0}
}
@media(max-width:640px){
  .rg-header{top:10px;min-height:0;margin-top:12px;padding:0;gap:10px}
  .rg-header-primary{min-height:58px;padding:8px 12px;border-radius:17px}
  .rg-header-actions{min-height:58px;padding:8px 10px;border-radius:17px}
}

@media(max-width:1150px){
  .rg-header-primary>.rg-nav{right:0;width:auto}
}
.rg-header-actions .rg-header-phone{color:var(--rg-text)}
