/* ============================================================================
   JM Service Areas — front-end styles (design pass)
   Enqueued on single service_area pages. Rides on top of BeTheme's own CSS.
   Brand: navy #10293d / blue #0089f7 / Oswald (display) + Open Sans (body).
   Scoped to .sections_group (class-level) to avoid the #Content ID trap.
   ============================================================================ */
.sections_group{
  --navy:#10293d; --blue:#0089f7; --gray:#f7f7f7;
  --ink:#3a3f46; --ink-soft:#5c636c;
  --fs-body:17px; --fs-lead:19px; --fs-small:15px; --lh:1.72; --measure:66ch;
}

/* Hide BeTheme's #Subheader (page-title band) on service-area pages. The hero
   is the page header. This stylesheet only loads on these pages, so it's scoped.
   !important so it wins regardless of stylesheet load order. */
#Subheader{ display:none !important; }

/* families + base type (one source of truth) */
.sections_group h1,.sections_group h2,.sections_group h3,.sections_group h4,.sections_group h5,.sections_group h6{
  font-family:'Oswald',Arial,sans-serif; color:var(--navy); }
.sections_group .column_attr{ font-size:var(--fs-body); line-height:var(--lh); color:var(--ink); }
.sections_group .column_attr p{ font-size:var(--fs-body); line-height:var(--lh); color:var(--ink); margin:0 0 18px; }
.sections_group .column_attr p:last-child{ margin-bottom:0; }

/* heading scale */
.sections_group h2{ font-size:30px; line-height:1.22; letter-spacing:.3px; margin:0 0 18px; }
.sections_group h3{ font-size:25px; line-height:1.25; margin:0 0 14px; }
.sections_group h4{ font-size:14px; letter-spacing:2px; line-height:1.4; }

/* measure control */
.sa-measure .column_attr{ max-width:var(--measure); }
.sa-center .column_attr{ margin-left:auto; margin-right:auto; }

/* hero: featured-image bg (parallax via .mfn-parallax on the live site) +
   LIGHT overlay + dark (inverted) text. */
.sa-hero{ position:relative; background-size:cover; background-position:center center; background-attachment:fixed; }
.sa-hero .mcb-background-overlay{ position:absolute; inset:0; background:rgba(255,255,255,.82); z-index:1; }
.sa-hero .section_wrapper{ position:relative; z-index:2; }
.sa-hero h4{ font-size:14px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin:0 0 8px; color:var(--blue) !important; }
.sa-hero h1{ font-size:48px; line-height:1.08; font-weight:600; letter-spacing:.5px; margin:0 0 14px; color:var(--navy) !important; }
.sa-hero .column_attr{ color:var(--ink) !important; }
.sa-hero p{ color:var(--ink) !important; max-width:44ch; margin-bottom:24px; }

/* photo band (service detail) */
.sa-photoband{ position:relative; background-size:cover; background-position:center center; background-attachment:fixed; }
.sa-photoband .mcb-background-overlay{ position:absolute; inset:0; background:rgba(10,22,35,.76); z-index:1; }
.sa-photoband .section_wrapper{ position:relative; z-index:2; }
.sa-photoband h2{ color:#fff !important; }
.sa-photoband .column_attr, .sa-photoband .column_attr p{ color:rgba(255,255,255,.9) !important; }

/* why-choose (reasons) */
.sa-benefits h3{ text-align:center; margin-bottom:32px; }
.sa-benefits .column_attr .sa-num{ font-family:'Oswald'; font-size:38px; line-height:1; color:var(--blue); display:block; margin:0 0 10px; font-weight:600; }
.sa-benefits .sa-reason .column_attr{ font-size:var(--fs-small); line-height:1.6; color:var(--ink-soft); }

/* projects grid */
.sa-projects .sa-grid-head{ text-align:center; }
.sa-projects .sa-grid-head .column_attr{ max-width:56ch; margin:0 auto; }
.sa-projects .image_frame img{ width:100%; display:block; border-radius:2px; }
.sa-projects .proj-title{ font-family:'Oswald'; font-size:14px; text-transform:uppercase; letter-spacing:1.5px; text-align:center; margin:12px 0 26px; color:var(--navy); }

/* gray estimate band */
.sa-band-gray{ background:var(--gray); }
.sa-band-gray .column_attr p.big{ font-size:var(--fs-lead); line-height:1.55; color:var(--navy); }
.sa-band-gray input:not([type=submit]){ width:100%; padding:12px 14px; margin-bottom:10px; border:1px solid #c2c6cb; border-radius:4px; font-family:'Open Sans'; font-size:15px; background:#fff; }
.sa-band-gray input[type=submit], .sa-band-gray .wpcf7-submit{ background:var(--blue) !important; color:#fff !important; border:0 !important; }

/* testimonials */
.sa-testimonials{ text-align:center; }
.sa-testimonials h4{ margin-bottom:30px; }
.sa-testimonials blockquote{ border:0; padding:0; font-style:italic; font-size:18px; line-height:1.62; color:var(--ink); margin:0 auto 12px; max-width:42ch; }
.sa-testimonials .t-author{ font-family:'Oswald'; text-transform:uppercase; letter-spacing:1.5px; font-size:13px; color:var(--navy); }

/* parent service-page link (in the intro) */
.sa-parent-link{ margin-top:6px; }
.sa-parent-link a{ font-family:'Oswald'; font-size:14px; letter-spacing:1px; text-transform:uppercase; color:var(--blue); text-decoration:none; }
.sa-parent-link a:hover{ text-decoration:underline; }

/* FAQ tinted band + SEO content */
.sa-tint{ background:var(--gray); }
.sa-faq h4.q{ font-size:19px; color:var(--navy); margin:24px 0 6px; letter-spacing:0; }
.sa-faq .column_attr p.a{ margin:0 0 4px; }
