/* REEVE & FIFE PLUMBING CO. - scoped project styles (mirrors client css/styles.css) */
.rf-project{--rf-primary:var(--gcid-b67a93a4-89db-4dec-8700-4d4e77cf3cef);--rf-primary-dark:#051620;--rf-primary-light:#3E75AC;--rf-accent:var(--gcid-1e818a87-5258-40c8-85f9-f44c9b6dada2);--rf-accent-dark:#26B0A5;--rf-accent-text:#051620;--rf-bg:var(--gcid-2cbb5f86-68dd-4fd9-96a5-278706de12a6);--rf-surface:#17395A;--rf-surface-alt:#1E4468;--rf-heading:var(--gcid-9d34c0da-76bd-497c-b5e2-9497a650b105);--rf-body:#C7DCEA;--rf-muted:#8AA8BC;--rf-border:#2C4C6B;--rf-pad:1.5rem}
body.rf-project{background:var(--rf-bg)}

/* shared container */
.rf-project .et_pb_section > .et_pb_row,
.rf-header .et_pb_row,
.rf-footer .et_pb_row{
  width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:var(--rf-pad)!important;padding-right:var(--rf-pad)!important;box-sizing:border-box}
/* Vertically center header row content (logo + nav + mobile toggle) - scoped to header only */
.rf-header .et_pb_row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;}
.rf-project .rf-w900 > .et_pb_column{max-width:900px;margin-left:auto;margin-right:auto}
.rf-project .rf-w780 > .et_pb_column{max-width:780px;margin-left:auto;margin-right:auto}
.rf-project .rf-w700 > .et_pb_column{max-width:700px;margin-left:auto;margin-right:auto}
.rf-project .rf-w680 > .et_pb_column{max-width:680px;margin-left:auto;margin-right:auto}

/* asymmetric split (0.9fr/1.1fr in source) */
.rf-project .rf-asym-9-11{display:flex!important;align-items:flex-start;gap:2.5rem}
.rf-project .rf-asym-9-11 > .et_pb_column:first-child{flex:0 0 45%!important;width:45%!important}
.rf-project .rf-asym-9-11 > .et_pb_column:last-child{flex:1 1 auto!important;width:auto!important}

/* TYPE */
.rf-project h1,.rf-project h2,.rf-project h3,.rf-project h4{font-family:'Space Grotesk',sans-serif;letter-spacing:0.01em;line-height:1.05}
.rf-project h1{font-size:clamp(2.5rem,2rem + 2.3vw,4.25rem)!important;font-weight:700!important}
.rf-project h2{font-size:clamp(1.9rem,1.6rem + 1.4vw,2.85rem)!important;font-weight:600!important}
.rf-project h3{font-size:clamp(1.35rem,1.2rem + 0.7vw,1.75rem)!important;font-weight:600!important}

/* BUTTONS */
.rf-project .et_pb_button{display:inline-flex!important;align-items:center;justify-content:center;gap:0.5rem;min-height:44px;padding:0.9rem 1.6rem!important;font-family:'Space Grotesk',sans-serif!important;font-size:1rem!important;font-weight:600!important;transition:background 150ms ease,color 150ms ease,border-color 150ms ease,transform 150ms ease}
.rf-project .et_pb_button:after,.rf-project .et_pb_button:before{display:none!important}
.rf-project .et_pb_button:active{transform:translateY(1px)}

/* HEADER / NAV */
.rf-header{position:sticky;top:0;z-index:100;background:var(--rf-bg);border-bottom:1px solid var(--rf-border)}
.rf-logo{text-decoration:none;color:#F5FBFD!important}
.rf-logo:visited,.rf-logo:hover{color:#F5FBFD!important}
.rf-nav{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
.rf-nav a{font-family:'Space Grotesk';font-weight:600;font-size:1rem;color:var(--rf-body);position:relative;padding-block:0.2rem;text-decoration:none}
.rf-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--rf-accent);transform:scaleX(0);transform-origin:left;transition:transform 150ms ease}
.rf-nav a:hover::after{transform:scaleX(1)}
.rf-nav-mobile-cta{display:none}

.rf-nav-toggle{display:none;background:none;border:1px solid var(--rf-border);border-radius:2px;padding:0.5rem;min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer;position:relative}
.rf-nav-toggle span{display:block;width:20px;height:2px;background:var(--rf-heading);position:relative}
.rf-nav-toggle span::before,.rf-nav-toggle span::after{content:'';position:absolute;left:0;width:20px;height:2px;background:var(--rf-heading);transition:transform 150ms ease}
.rf-nav-toggle span::before{top:-6px}
.rf-nav-toggle span::after{top:6px}
.rf-nav-toggle[aria-expanded=true] span{background:transparent}
.rf-nav-toggle[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.rf-nav-toggle[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:899px){
  .rf-nav-toggle{display:inline-flex}
  .rf-header .et_pb_row{flex-wrap:wrap}
  .rf-hdr-phone{display:none}
  .rf-nav{display:none!important;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--rf-bg);padding:0;gap:0;border-top:1px solid var(--rf-border);max-height:75vh;overflow-y:auto}
  .rf-nav.is-open{display:flex!important}
  .rf-nav a{width:100%;padding:1rem 1.5rem;font-size:1.15rem;border-bottom:1px solid var(--rf-border)}
  .rf-nav-mobile-cta{display:block!important;margin:1rem 1.5rem;background:var(--rf-accent);color:var(--rf-accent-text)!important;padding:0.9rem;text-align:center;font-weight:600;text-decoration:none;border-radius:2px;font-family:'Space Grotesk';font-size:1rem;}
}

/* sticky mobile call bar */
.rf-project .rf-call-bar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;background:var(--rf-primary-dark);box-shadow:0 -4px 16px rgba(0,0,0,0.2)}
.rf-project .rf-call-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:0.5rem;font-family:'Space Grotesk';font-weight:700;font-size:1rem;padding:1rem;color:#F5FBFD;text-decoration:none}
.rf-project .rf-call-bar a:first-child{background:var(--rf-accent);color:var(--rf-accent-text)}
@media (min-width:900px){ .rf-project .rf-call-bar{display:none} }
@media (max-width:899px){ .rf-project{padding-bottom:64px} }

/* FOOTER */
.rf-footer a{color:#9FC2D8;text-decoration:none}
.rf-footer a:hover{color:#F5FBFD}
.rf-fmenu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.6rem}

/* FAQ (native <details>/<summary>) */
.rf-faq-item summary{outline:none}
.rf-faq-item summary:focus-visible{outline:2px solid #3FD2C7;outline-offset:2px}

/* quote form focus state */
.rf-project input:focus,.rf-project select:focus,.rf-project textarea:focus{outline:none;border-color:#3FD2C7!important}

/* photography already grayscale via inline filter on every img - no additional CSS needed */
/* button hover states, matching source exactly per variant */
.rf-project a.rf-btn-primary:hover{background:#26B0A5!important;border-color:#26B0A5!important}
.rf-project a.rf-btn-secondary:hover{background:#1E4468!important;color:#F5FBFD!important;border-color:#3FD2C7!important}
.rf-project a.rf-btn-ondark:hover{background:rgba(245,251,253,0.08)!important;color:#F5FBFD!important;border-color:#3FD2C7!important}

/* service card hover (background lift, matches source's .service-card:hover) */
.rf-project .rf-service-card{transition:background 150ms ease}
.rf-project .rf-service-card:hover{background:#1E4468!important}

/* hero asymmetric split: source uses 1.05fr/0.95fr */
.rf-project .rf-hero-split{display:flex!important;align-items:center;gap:2.5rem}
.rf-project .rf-hero-split > .et_pb_column:first-child{flex:0 0 52.5%!important;width:52.5%!important}
.rf-project .rf-hero-split > .et_pb_column:last-child{flex:1 1 auto!important;width:auto!important}
@media (max-width:949px){
  .rf-project .rf-hero-split{flex-direction:column}
  .rf-project .rf-hero-split > .et_pb_column:first-child,
  .rf-project .rf-hero-split > .et_pb_column:last-child{flex:1 1 100%!important;width:100%!important}
}

/* service-section media-wide/media-narrow ratios, matching source's two-col variants */
.rf-project .rf-media-wide{display:flex!important;align-items:center;gap:2.5rem}
.rf-project .rf-media-wide > .et_pb_column:first-child{flex:0 0 45%!important;width:45%!important}
.rf-project .rf-media-wide > .et_pb_column:last-child{flex:1 1 auto!important;width:auto!important}
.rf-project .rf-media-narrow{display:flex!important;align-items:center;gap:2.5rem}
.rf-project .rf-media-narrow > .et_pb_column:first-child{flex:1 1 auto!important;width:auto!important}
.rf-project .rf-media-narrow > .et_pb_column:last-child{flex:0 0 40%!important;width:40%!important}
@media (max-width:949px){
  .rf-project .rf-media-wide,.rf-project .rf-media-narrow{flex-direction:column}
  .rf-project .rf-media-wide > .et_pb_column,.rf-project .rf-media-narrow > .et_pb_column{flex:1 1 100%!important;width:100%!important}
}
/* SECTION BACKGROUNDS: forced via CSS. Native divi/section background decoration was
   confirmed (via generated-CSS inspection) to only apply in theme-builder header/footer
   context, never on regular page-body sections - so it's applied here directly instead. */
.rf-project .rf-secbg-102C46{background:#102C46!important}
.rf-project .rf-secbg-1E4468{background:#1E4468!important}
.rf-project .rf-secbg-0B2740{background:#0B2740!important}
.rf-project .rf-secbg-051620{background:#051620!important}

/* HEADINGS: same root cause as sections - divi/heading font/color decoration wasn't
   generating CSS for page-body content. Forced globally here; on-brand/on-dark exceptions
   are handled by the color already being correct via each heading's own inline data where
   present, this covers the default (light-on-dark) case that applies almost everywhere. */
.rf-project .et_pb_heading_container h1,
.rf-project .et_pb_heading_container h2,
.rf-project .et_pb_heading_container h3,
.rf-project .et_pb_heading_container h4{
  font-family:'Space Grotesk',sans-serif!important;
  color:#F5FBFD!important;
  letter-spacing:0.01em;
  line-height:1.05;
}

/* BODY TEXT: same root cause as headings/sections - divi/text decoration wasn't generating CSS for page-body content. Forced globally. */
.rf-project .et_pb_text_inner p,
.rf-project .et_pb_text_inner{font-family:'Inter',sans-serif!important;color:#C7DCEA!important}
.rf-project .et_pb_text_inner strong{color:#F5FBFD!important}

/* BUTTON BASE STATE: decoration wasn't generating a base (non-hover) style either - only hover rules had effect. */
.rf-project a.rf-btn-primary{background:#3FD2C7!important;color:#051620!important;border:2px solid #3FD2C7!important}
.rf-project a.rf-btn-secondary{background:rgba(0,0,0,0)!important;color:#F5FBFD!important;border:2px solid #3E75AC!important}
.rf-project a.rf-btn-ondark{background:rgba(0,0,0,0)!important;color:#F5FBFD!important;border:2px solid #9FC2D8!important}

/* Back-to-portfolio link in header, next to logo */
.rf-back-link{display:block;margin-top:8px;font-size:0.72rem;font-weight:600;letter-spacing:0.02em;color:var(--rf-muted);text-decoration:none;transition:color 150ms ease;}
.rf-back-link:hover{color:var(--rf-accent);}
