/* camove theme styles */
:root{
  --cm-primary:#1f3a4d; --cm-primary-dark:#152a38; --cm-accent:#1f9e8f;
  --cm-ink:#16303d; --cm-paper:#eef1f4;
  --cm-line:#dce2e8; --cm-field:#f4f6f8;
}
body,.et_pb_text,p,li,input,textarea,select,button{
  font-family:'Manrope','Segoe UI',Arial,sans-serif;
}
h1,h2,h3,h4,h5,h6,.et_pb_module_header,.et_pb_promo_title,.et_pb_blurb_title{
  font-family:'Sora','Segoe UI',Arial,sans-serif !important;
  letter-spacing:.005em;
}
h1,h2,.et_pb_promo_title{ letter-spacing:-.012em; }

/* --- square, structural look — zero rounded corners anywhere --- */
#page-container *, #page-container *::before, #page-container *::after,
.et-l--header *, .et-l--footer *, .cm-footer *, #cm-quote-hero, #cm-quote-hero *{
  border-radius:0 !important;
}

/* --- buttons: compact solid pill, colour-only hover (no motion) --- */
body #page-container .et_pb_section .et_pb_button,
body #page-container .et_pb_button,
body #page-container a.et_pb_button{
  display:inline-block !important;
  text-transform:none !important; letter-spacing:.01em !important;
  font-weight:700 !important; font-size:14px !important; line-height:1.2 !important;
  font-family:'Sora','Segoe UI',sans-serif !important;
  padding:12px 24px !important; border:0 !important; border-radius:0 !important;
  background:var(--cm-primary) !important; color:#fff !important;
  text-decoration:none !important; white-space:nowrap !important; min-width:0 !important;
  transition:background .2s ease, color .2s ease;
}
body #page-container .et_pb_section .et_pb_button:hover,
body #page-container .et_pb_button:hover,
body #page-container a.et_pb_button:hover{
  background:var(--cm-ink) !important; color:#fff !important;
  padding:12px 24px !important; transform:none !important; text-decoration:none !important;
}
body #page-container .et_pb_button:after,
body #page-container .et_pb_button:before{ display:none !important; content:none !important; }

/* --- nothing moves on hover, anywhere (colour / shadow changes only) --- */
#page-container *:hover,
#page-container *:hover *,
.et-l--header *:hover, .et-l--footer *:hover{ transform:none !important; scale:none !important; }
#page-container .et_pb_image img,
#page-container .et_pb_blurb .et_pb_main_blurb_image img{
  transform:none !important; transition:box-shadow .2s ease !important;
}
#page-container .et_pb_image .et_overlay,
#page-container .et_pb_image:hover .et_overlay{ opacity:0 !important; }
/* Divi scroll-reveal animations also read as "moving" */
#page-container .et_animated,
#page-container [class*="et-animated"]{ animation:none !important; opacity:1 !important; transform:none !important; }

/* --- sticky header: clean white bar, no divider shadow at rest --- */
#et-boc .et-l--header,
body.camove .et-l--header{
  position:sticky !important; top:0; z-index:99999;
  background:#fff !important; box-shadow:none !important;
  transition:box-shadow .25s ease;
}
.et-l--header .et_pb_section_2_tb_header,
.et-l--header .et_pb_section_2_tb_header .et_pb_row,
.et-l--header .et_pb_section_0_tb_header{ background:transparent !important; }

/* --- HOMEPAGE hero: stock photo background + dark overlay for form/text contrast --- */
body.cm-home #main-content > .et_builder_inner_content > .et_pb_section_0,
body.cm-home #main-content .et_pb_section_0.et_pb_with_background{
  background-color:#16303d !important;
  background-image:linear-gradient(rgba(18,38,49,.55),rgba(18,38,49,.62)),
    url(assets/_assets/wp-content/uploads/2024/07/homebannerfinal.jpg?v=1787909021) !important;
  background-size:cover !important; background-position:center !important;
  padding-top:70px !important; padding-bottom:78px !important;
}
body.cm-home #main-content .et_pb_section_0 .box-shadow-overlay,
body.cm-home #main-content .et_pb_section_0:before,
body.cm-home #main-content .et_pb_section_0:after{ display:none !important; background:none !important; }
body.cm-home #main-content .et_pb_section_0 .et_pb_row{ align-items:center !important; }
/* hero left column text sits on the dark overlay -> make it light */
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0,
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 p,
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 span,
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1,
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner *{
  color:#fff !important;
}
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1,
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1 span{
  font-family:'Sora','Segoe UI',Arial,sans-serif !important; font-weight:800 !important;
  letter-spacing:-.015em !important; line-height:1.08 !important; margin:0 0 6px !important;
}
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1:before{ content:none !important; }
body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 p{
  font-size:17px !important; font-weight:500 !important; margin:0 !important; opacity:.95;
}
/* hero USP bullets */
body.cm-home #main-content .et_pb_section_0 ul.cm-usp{
  list-style:none !important; margin:18px 0 6px !important; padding:0 !important;
  max-width:460px;
}
body.cm-home #main-content .et_pb_section_0 ul.cm-usp li{
  position:relative; color:#fff !important; padding:6px 0 6px 30px !important;
  font-family:'Manrope','Segoe UI',Arial,sans-serif !important;
  font-size:15px !important; line-height:1.45 !important; list-style:none !important;
}
body.cm-home #main-content .et_pb_section_0 ul.cm-usp li:before{
  content:""; position:absolute; left:0; top:9px; width:16px; height:16px;
  background:var(--cm-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") no-repeat center/contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") no-repeat center/contain;
}
/* centre the "Call Today" button in the hero column */
body.cm-home #main-content .et_pb_section_0 .et_pb_button_0_wrapper,
body.cm-home #main-content .et_pb_section_0 .et_pb_button_module_wrapper{
  text-align:center !important; margin-left:0 !important; margin-right:0 !important;
}
/* MOBILE: the quote form sits directly AFTER the company name,
   before the USP bullets and the "Call Today" button */
@media (max-width:980px){
  body.cm-home #main-content .et_pb_section_0 .et_pb_row{
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
  }
  /* dissolve the two hero columns so the headline, form, USP list and button
     become siblings on one axis that we can reorder */
  body.cm-home #main-content .et_pb_section_0 .et_pb_column_0,
  body.cm-home #main-content .et_pb_section_0 .et_pb_column_1{
    display:contents !important;
  }
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0{ order:1 !important; width:100% !important; margin:0 !important; }
  /* the form module was hidden by the reference on <=980px — force it visible */
  body.cm-home #main-content .et_pb_section_0 .et_pb_image_0{
    order:2 !important; display:block !important; width:100% !important; margin:0 !important;
  }
  body.cm-home #main-content .et_pb_section_0 #cm-quote-hero{ display:block !important; }
  body.cm-home #main-content .et_pb_section_0 ul.cm-usp{ order:3 !important; max-width:none !important; }
  body.cm-home #main-content .et_pb_section_0 .et_pb_button_0_wrapper{ order:4 !important; }
  #cm-quote-hero{ max-width:none !important; width:100% !important; margin:6px 0 18px !important; }
  body.cm-home #main-content .et_pb_section_0.et_pb_with_background{
    padding-top:6px !important; padding-bottom:38px !important;
  }
}
/* subtle shadow appears only once the page is scrolled */
body.cm-header-shrink #et-boc .et-l--header,
body.cm-header-shrink.camove .et-l--header{
  box-shadow:0 4px 22px rgba(18,38,49,.16) !important;
}
#et-boc,#page-container,#et-main-area{ overflow:visible !important; }

/* kill the flash of the wrong (mobile/desktop) header variant */
@media (min-width:981px){
  .et-l--header .et_pb_section_0_tb_header,
  .et-l--header .et_pb_section_3_tb_header{ display:none !important; }
}
@media (max-width:980px){
  .et-l--header .et_pb_section_1_tb_header,
  .et-l--header .et_pb_section_2_tb_header{ display:none !important; }
}

/* trim the vertical padding the reference header carries */
.et-l--header .et_pb_section{ padding-top:0 !important; padding-bottom:0 !important; }
.et-l--header .et_pb_row{ padding-top:8px !important; padding-bottom:8px !important; }

/* thin utility bar = section_1 (desktop); its mobile twin section_3 stays hidden */
.et-l--header .et_pb_section_3_tb_header{ display:none !important; }
.et-l--header .et_pb_section_1_tb_header{ background:var(--cm-primary) !important; border-bottom:1px solid rgba(255,255,255,.12) !important; }
.et-l--header .et_pb_section_1_tb_header .et_pb_row{ padding-top:5px !important; padding-bottom:5px !important; max-width:1340px !important; width:94% !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu,
.et-l--header .et_pb_menu_1_tb_header .et_pb_menu__menu > ul{ justify-content:flex-end !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu li a,
.et-l--header .et_pb_menu_1_tb_header a{ color:#fff !important; font-size:12.5px !important; font-weight:600 !important; letter-spacing:.01em !important; padding:4px 0 !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu > li{ padding:0 !important; margin:0 0 0 22px !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu > li > a:hover{ color:var(--cm-accent) !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu > li > a:before{ display:none !important; }
.et-l--header .et_pb_menu_1_tb_header .et-menu > li > a:after{ display:none !important; }

/* click-to-call button, placed at the far right of the nav after "Contact" */
.et-l--header a.cm-nav-phone{
  display:inline-flex !important; align-items:center; gap:7px; margin-left:14px !important;
  background:var(--cm-primary) !important; color:#fff !important;
  padding:9px 16px !important; border-radius:0 !important;
  font-family:'Sora','Segoe UI',Arial,sans-serif !important;
  font-weight:700 !important; font-size:14px !important; letter-spacing:.01em !important;
  line-height:1 !important; white-space:nowrap !important; transition:background .2s ease;
}
.et-l--header a.cm-nav-phone:hover{ background:var(--cm-ink) !important; color:#fff !important; }
.et-l--header a.cm-nav-phone .cm-nav-phone-ic{ font-size:15px; }
@media (max-width:1340px){
  .et-l--header a.cm-nav-phone{ padding:8px 12px !important; font-size:13px !important; }
}

/* ---- nav row: one line, logo + phone + roomy right-aligned menu ---- */
.et-l--header .et_pb_row_3_tb_header{
  display:flex !important; align-items:center !important; flex-wrap:nowrap !important;
  width:96% !important; max-width:1340px !important; min-height:142px !important;
}
.et-l--header .et_pb_row_3_tb_header > .et_pb_column{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important;
}
/* Atlas badge gone; its column now holds the phone button, placed AFTER the menu */
.et-l--header .et_pb_image_3_tb_header,
.et-l--header .et_pb_image_1_tb_header{ display:none !important; }
.et-l--header .et_pb_row_3_tb_header > .et_pb_column_4_tb_header{ order:1 !important; flex:0 0 auto !important; margin-right:auto !important; }
.et-l--header .et_pb_row_3_tb_header > .et_pb_column_6_tb_header{ order:2 !important; flex:0 1 auto !important; min-width:0 !important; }
.et-l--header .et_pb_row_3_tb_header > .et_pb_column_5_tb_header{ order:3 !important; flex:0 0 auto !important; margin-left:26px !important; }
/* keep one compact logo */
.et-l--header .et_pb_image_2_tb_header,
.et-l--header .et_pb_image_2_tb_header .et_pb_image_wrap{ margin:0 !important; }
.et-l--header .et_pb_image img{ max-height:130px !important; width:auto !important; transition:max-height .25s ease; }
.et-l--header .et_pb_menu_2_tb_header,
.et-l--header .et_pb_menu_2_tb_header .et_pb_menu_inner_container,
.et-l--header .et_pb_menu_2_tb_header .et_pb_menu__menu{ float:none !important; width:100% !important; }
.et-l--header .et-menu{
  display:flex !important; flex-wrap:nowrap !important; align-items:center !important;
  justify-content:flex-end !important;
}
.et-l--header .et-menu{ overflow:visible; }
.et-l--header .et-menu > li{ margin:0 !important; flex:0 0 auto !important; }
.et-l--header .et-menu > li > a{ line-height:1.2 !important; white-space:nowrap !important; }
@media (max-width:1240px) and (min-width:981px){
  .et-l--header a.cm-nav-phone .cm-nav-phone-num{ display:none; }   /* icon-only when tight */
  .et-l--header a.cm-nav-phone{ padding:8px 10px !important; }
  .et-l--header .et_pb_column_4_tb_header{ margin-right:10px !important; }
  .et-l--header .et_pb_image img{ max-height:104px !important; }
}
/* mobile: phone sits opposite the logo in the top row, always visible */
@media (max-width:980px){
  .et-l--header .et_pb_row_0_tb_header .et_pb_column_1_tb_header{
    display:flex !important; align-items:center; justify-content:flex-end;
    width:auto !important;
  }
  .et-l--header a.cm-nav-phone{ padding:8px 12px !important; font-size:13px !important; }
}

/* hover underline that fades in (no motion) via :before so Divi's :after caret survives */
.et-l--header .et-menu > li > a{ position:relative; }
.et-l--header .et-menu > li > a:after{ display:none !important; }   /* kill the stray colour bar */
.et-l--header .et-menu > li > a:before{
  content:""; position:absolute; left:13px; right:13px; bottom:5px; height:2px;
  background:var(--cm-primary); opacity:0; transition:opacity .18s ease; pointer-events:none;
}
.et-l--header .et-menu > li:hover > a:before,
.et-l--header .et-menu > li.current-menu-item > a:before{ opacity:1; }

/* shrink-on-scroll: hide the promo strip, tighten the nav row, smaller logo */
/* utility bar stays visible on scroll */
body.cm-header-shrink .et-l--header .et_pb_row_3_tb_header{
  padding-top:8px !important; padding-bottom:8px !important;
}
/* logo size stays constant on scroll (no shrink) */

/* --- dropdowns: solid square card, hairline frame (no colour bar) --- */
.et-l--header .et-menu ul.sub-menu{
  width:320px !important; padding:6px 0 !important;
  background:#fff !important; border:1px solid var(--cm-line) !important;
  box-shadow:0 16px 40px rgba(18,38,49,.16) !important; border-radius:0 !important;
}
.et-l--header .et-menu ul.sub-menu li{ border:0 !important; }
.et-l--header .et-menu ul.sub-menu li a{
  padding:9px 18px !important; font-size:13.5px !important; line-height:1.3 !important;
  color:var(--cm-ink) !important; white-space:nowrap !important; font-weight:500 !important;
}
.et-l--header .et-menu ul.sub-menu li a:hover{ background:var(--cm-paper) !important; color:var(--cm-primary-dark) !important; }
.et-l--header .et-menu ul.sub-menu li a:before{ content:none !important; }

/* --- service cards: any homepage column holding a blurb becomes ONE card --- */
#main-content .et_pb_column:has(.et_pb_blurb){
  background:#fff !important; border:1px solid var(--cm-line) !important;
  box-shadow:0 8px 24px rgba(18,38,49,.07) !important;
  padding:0 0 22px !important;
  display:flex !important; flex-direction:column !important;
  transition:box-shadow .2s ease, border-color .2s ease !important;
}
#main-content .et_pb_column:has(.et_pb_blurb):hover{
  box-shadow:0 12px 32px rgba(18,38,49,.12) !important; border-color:var(--cm-primary) !important;
}
/* blurb itself is transparent, fills the top, no forced height */
#main-content .et_pb_column:has(.et_pb_blurb) .et_pb_blurb{
  background:none !important; border:0 !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important; flex:1 1 auto !important;
}
.et_pb_blurb .et_pb_main_blurb_image{ margin:0 0 16px !important; max-width:100% !important; }
.et_pb_blurb .et_pb_main_blurb_image img,
.et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap{ width:100% !important; display:block !important; height:auto !important; }
.et_pb_blurb .et_pb_blurb_container{ padding:0 22px !important; }
.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_blurb_title{
  font-size:19px !important; line-height:1.25 !important; margin:0 0 10px !important;
  color:var(--cm-ink) !important;
}
.et_pb_blurb .et_pb_blurb_description,
.et_pb_blurb .et_pb_blurb_description *{ font-size:14.5px !important; line-height:1.6 !important; color:#48535e !important; }
/* the "Learn More" button is a sibling module below the blurb -> pin to card bottom */
#main-content .et_pb_column:has(.et_pb_blurb) .et_pb_button_module_wrapper{
  margin:16px 22px 0 !important; padding:0 !important; text-align:center !important;
}
#main-content .et_pb_column:has(.et_pb_blurb) .et_pb_divider{ display:none !important; }

/* --- roomier vertical rhythm + wider container than the reference --- */
#page-container .et_pb_section{ padding-top:82px; padding-bottom:82px; }
#page-container .et_pb_row{ max-width:1240px; }

/* --- dark sections take the deep-slate brand tone --- */
.et_pb_section.et_pb_with_background[style*="background-color"]{ background-blend-mode:multiply; }

@media (max-width:980px){
  .et_pb_section{ padding-top:54px; padding-bottom:54px; }
}

/* --- slim replacement footer (the big empty TB footer was removed) --- */
.cm-footer{
  background:var(--cm-primary); color:rgba(255,255,255,.74);
  border-top:1px solid rgba(255,255,255,.10);
  font-family:'Manrope','Segoe UI',Arial,sans-serif; font-size:13px;
}
.cm-footer .cm-footer-in{
  max-width:1240px; margin:0 auto; padding:20px 24px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:6px 18px;
}
.cm-footer a{ color:#fff; text-decoration:none; }
.cm-footer a:hover{ color:var(--cm-accent); }
@media (max-width:700px){
  .cm-footer .cm-footer-in{ flex-direction:column; text-align:center; }
}

/* ===================== hero quote form (replaces Yembo widget) ============ */
.et_pb_image.et_pb_image_0{ overflow:visible !important; box-shadow:none !important; background:none !important; }
.et_pb_image.et_pb_image_0:before,.et_pb_image.et_pb_image_0:after{ content:none !important; }
#cm-quote-hero{
  background:#fff; color:var(--cm-ink); border:1px solid var(--cm-line);
  box-shadow:0 10px 30px rgba(18,38,49,.14);
  padding:24px 26px 28px; max-width:430px; margin-left:auto;
  font-family:'Manrope','Segoe UI',Arial,sans-serif;
}
#cm-quote-hero .cm-qh-kicker{
  display:inline-block; font-family:'Sora','Segoe UI',Arial,sans-serif;
  font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:var(--cm-primary); margin-bottom:6px;
}
#cm-quote-hero .cm-qh-title{
  font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:800;
  font-size:26px; line-height:1.15; margin:0 0 16px; color:var(--cm-ink);
}
#cm-quote-hero .cm-qh-title:before{ content:none !important; }
#cm-quote-hero .cm-qh-form{ display:flex; flex-direction:column; gap:10px; }
#cm-quote-hero .cm-qh-row{ display:flex; gap:10px; }
#cm-quote-hero .cm-qh-row input{ flex:1 1 50%; min-width:0; }
#cm-quote-hero input{
  height:44px; border:1px solid var(--cm-line); background:var(--cm-field); color:var(--cm-ink);
  padding:0 13px; font-size:15px; border-radius:0; width:100%;
}
#cm-quote-hero input::placeholder{ color:#8a94a0; }
#cm-quote-hero input:focus{ outline:2px solid var(--cm-primary); background:#fff; }
#cm-quote-hero .cm-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#cm-quote-hero .cm-qh-consent{
  display:flex; align-items:flex-start; gap:8px;
  font-size:12px; line-height:1.4; color:#586573; margin:2px 0 2px;
}
#cm-quote-hero .cm-qh-consent input{
  width:16px; height:16px; min-width:16px; margin:1px 0 0; padding:0; flex:0 0 auto;
  accent-color:var(--cm-primary);
}
#cm-quote-hero .cm-qh-consent a{ color:var(--cm-primary-dark); text-decoration:underline; }
#cm-quote-hero button{
  margin-top:2px; height:48px; border:0; border-radius:0; cursor:pointer; width:100%;
  background:var(--cm-primary); color:#fff;
  font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; font-size:14px;
  transition:background .2s ease;
}
#cm-quote-hero button:hover{ background:var(--cm-ink); }
#cm-quote-hero .cm-qh-fine{ font-size:12px; color:#697682; text-align:center; margin-top:2px; }
#cm-quote-hero .cm-qh-msg{ font-size:14px; margin:0 0 12px; }
#cm-quote-hero .cm-qh-msg.ok{ color:var(--cm-primary-dark); font-weight:600; }
#cm-quote-hero .cm-qh-msg.err{ color:#b23b16; }
@media (max-width:980px){
  #cm-quote-hero{ margin:16px 0 22px; max-width:none; }
}

/* generic page.php (Privacy Policy etc.) — readable body */
.cm-page-body{ max-width:820px; margin:0 auto; padding:8px 0 24px; }
.cm-page-body h1{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-size:34px; line-height:1.15; margin:0 0 22px; color:var(--cm-ink); }
.cm-page-body h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-size:21px; margin:28px 0 10px; color:var(--cm-ink); }
.cm-page-body h2:before{ content:none !important; }
.cm-page-body p,.cm-page-body li{ font-size:15.5px; line-height:1.7; color:#3f3f3a; }
.cm-page-body ul{ margin:0 0 16px 20px; }
.cm-page-body a{ color:var(--cm-primary-dark); text-decoration:underline; }

/* mobile header: logo + click-to-call share one row, no overlap ----------
   the two TB columns are et_pb_column_1_2 (Divi forces width:50%); the
   enlarged logo overran its half and the phone button sat on top of it. */
@media (max-width:980px){
  .et-l--header .et_pb_row_0_tb_header{ display:flex !important; align-items:center !important; flex-wrap:nowrap !important; gap:10px !important; min-height:0 !important; }
  .et-l--header .et_pb_row_0_tb_header > .et_pb_column{ width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; display:flex !important; align-items:center !important; }
  .et-l--header .et_pb_row_0_tb_header > .et_pb_column_0_tb_header{ flex:1 1 auto !important; min-width:0 !important; }
  .et-l--header .et_pb_row_0_tb_header > .et_pb_column_1_tb_header{ flex:0 0 auto !important; justify-content:flex-end !important; }
  .et-l--header .et_pb_row_0_tb_header .et_pb_module.et_pb_image,
  .et-l--header .et_pb_row_0_tb_header .et_pb_image_wrap{ margin:0 !important; line-height:0 !important; max-width:100% !important; }
  .et-l--header .et_pb_row_0_tb_header .et_pb_image img{ max-width:100% !important; }
  .et-l--header .et_pb_row_0_tb_header a.cm-nav-phone{ margin:0 !important; }
}
@media (max-width:820px){ .et-l--header .et_pb_image img{ max-height:74px !important; } }
@media (max-width:600px){
  .et-l--header .et_pb_image img{ max-height:58px !important; }
  .et-l--header a.cm-nav-phone{ padding:7px 9px !important; font-size:12px !important; }
}
@media (max-width:380px){
  .et-l--header .et_pb_image img{ max-height:50px !important; }
  .et-l--header a.cm-nav-phone{ padding:6px 8px !important; font-size:11px !important; }
}

/* mobile hero: smaller brand headline, company name higher, form pulled up */
@media (max-width:980px){
  body.cm-home #main-content .et_pb_section_0.et_pb_with_background{ padding-top:2px !important; }
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1,
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1 span{
    font-size:32px !important; line-height:1.1 !important; margin:0 0 3px !important; }
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 p{
    font-size:14px !important; margin:0 !important; }
  #cm-quote-hero{ margin:8px 0 16px !important; }
}
@media (max-width:600px){
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1,
  body.cm-home #main-content .et_pb_section_0 .et_pb_text_0 h1 span{ font-size:27px !important; }
}

/* address + contact block flows into the footer */
.cm-contact-block{ background:var(--cm-primary) !important; border-top:1px solid rgba(255,255,255,.10) !important; }
.cm-contact-block .et_pb_row, .cm-contact-block .et_pb_column,
.cm-contact-block .et_pb_text, .cm-contact-block .et_pb_text_inner{ background:transparent !important; }
.cm-contact-block, .cm-contact-block .et_pb_text_inner,
.cm-contact-block p, .cm-contact-block span, .cm-contact-block li,
.cm-contact-block h1, .cm-contact-block h2, .cm-contact-block h3, .cm-contact-block h4{
  color:rgba(255,255,255,.85) !important; }
.cm-contact-block h1, .cm-contact-block h2, .cm-contact-block h3, .cm-contact-block h4{ color:#fff !important; }
.cm-contact-block h2:before, .cm-contact-block h3:before{ background:var(--cm-accent) !important; }
.cm-contact-block a{ color:#fff !important; }
.cm-contact-block a:hover{ color:var(--cm-accent) !important; }
.cm-contact-block .et_pb_text_5, .cm-contact-block .et_clickable{ color:#fff !important; }
.cm-contact-block{ background:linear-gradient(180deg,#264759 0%,var(--cm-primary) 62%) !important; border-top:2px solid var(--cm-accent) !important; }

/* Why Work With Us — no frames, just a clean tab strip */
.cm-why-work .difl_advancedtab,
.cm-why-work .difl_advancedtab .et_pb_module_inner,
.cm-why-work .df_at_container,
.cm-why-work .df_at_nav_wrap,
.cm-why-work .df_at_nav_container,
.cm-why-work .df_at_all_tabs_wrap,
.cm-why-work .df_at_all_tabs,
.cm-why-work .difl_advancedtabitem{ border:0 !important; box-shadow:none !important; background:transparent !important; }
.cm-why-work .df_at_nav_container{ display:flex !important; flex-wrap:wrap; gap:0 !important; }
.cm-why-work .df_at_nav{ flex:1 1 0; min-width:150px; text-align:center; padding:12px 18px !important; margin:0 !important; cursor:pointer; border:0 !important; background:var(--cm-field,#f4f6f8) !important; transition:background .15s ease; }
.cm-why-work .df_at_nav .df_at_title{ color:var(--cm-primary) !important; margin:0 !important; font-size:16px !important; }
.cm-why-work .df_at_nav:hover{ background:#e9eef2 !important; }
.cm-why-work .df_at_nav.df_at_active_nav,
.cm-why-work .df_at_nav.active{ background:var(--cm-primary) !important; }
.cm-why-work .df_at_nav.df_at_active_nav .df_at_title,
.cm-why-work .df_at_nav.active .df_at_title{ color:#fff !important; }
.cm-why-work .df_at_all_tabs_wrap{ padding:20px 2px 0 !important; }
.cm-why-work .df_ati_container p{ color:#3f3f3a !important; line-height:1.7 !important; margin:0 !important; }
.cm-why-work .et_pb_column_28 .et_pb_image{ margin-bottom:14px !important; }
.cm-why-work .et_pb_column_28 .et_pb_image:last-child{ margin-bottom:0 !important; }
.cm-why-work .et_pb_column_28 img{ border:0 !important; display:block; }

/* Areas We Serve - force a 3-up row, beat Divi's 2-id row-width rule */
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid{ width:88% !important; max-width:1000px !important; margin:0 auto !important; display:flex !important; flex-flow:row nowrap !important; justify-content:space-between !important; align-items:flex-start !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid:before, body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid:after{ content:none !important; display:none !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div{ flex:0 0 30% !important; width:30% !important; max-width:30% !important; min-width:0 !important; margin:0 !important; padding:0 !important; float:none !important; display:block !important; box-sizing:border-box !important; text-align:center !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text{ display:block !important; margin:0 !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid p, body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text_inner, body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text{ color:#3f3f3a !important; line-height:2 !important; font-weight:500 !important; }
.cm-areas .et_pb_text_10, .cm-areas .et_pb_text_10 .et_pb_text_inner, .cm-areas .et_pb_text_10 p{ color:#3f3f3a !important; }
.cm-areas > .et_pb_row:not(.cm-areas-grid):not(:first-child){ display:none !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div:before{ display:block !important; content:''; font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--cm-primary); margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid var(--cm-accent); }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div:nth-child(1):before{ content:'Cities & Towns' !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div:nth-child(2):before{ content:'Counties' !important; }
body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div:nth-child(3):before{ content:'What We Move' !important; }
.cm-areas-dots{ display:none; }
@media (max-width:640px){
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid{ flex-wrap:nowrap !important; justify-content:flex-start !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; scroll-snap-type:x mandatory !important; scroll-padding:0 8% !important; gap:0 !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; scrollbar-width:none !important; }
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid::-webkit-scrollbar{ display:none !important; height:0 !important; }
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div{ flex:0 0 84% !important; width:84% !important; max-width:84% !important; margin:0 8% !important; padding:18px 20px 20px !important; scroll-snap-align:center !important; background:var(--cm-field,#f4f6f8) !important; text-align:left !important; }
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid > div:before{ text-align:left !important; }
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid p, body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text_inner, body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text{ line-height:1.95 !important; text-align:left !important; }
  body.cm-home #page-container #et-boc .et-l .cm-areas .et_pb_row.cm-areas-grid .et_pb_text_inner br{ display:block; }
  .cm-areas-dots{ display:flex !important; justify-content:center; gap:10px; margin:16px 0 0; padding:0; }
  .cm-areas-dots button{ width:9px; height:9px; padding:0; border:0; border-radius:0; background:var(--cm-line,#dce2e8); cursor:pointer; transition:background .2s ease, transform .2s ease; }
  .cm-areas-dots button.is-active{ background:var(--cm-primary); transform:scale(1.35); }
}
.cm-about-close{ padding:0 !important; background:transparent !important; }
.cm-about-close .et_pb_row{ display:none !important; }
.cm-about-close-in{ display:flex; flex-wrap:wrap; align-items:center; gap:30px; width:92%; max-width:1000px; margin:30px auto 6px; }
.cm-about-close-photo{ flex:1.35 1 320px; min-width:0; }
.cm-about-close-photo img{ display:block; width:100%; height:auto; max-height:300px; object-fit:cover; object-position:center 25%; }
.cm-about-cta{ flex:1 1 280px; background:var(--cm-accent,#1f9e8f); color:#fff; padding:24px 24px 26px; }
.cm-about-cta-inner{ width:100%; }
.cm-about-cta h2{ color:#fff; font-size:18px; line-height:1.28; margin:0 0 8px; padding:0; }
.cm-about-cta p{ color:#eefaf7; font-size:12.5px; line-height:1.55; margin:0 0 15px; padding:0; }
.cm-about-cta-actions{ display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:0 !important; }
.cm-about-cta-phone{ display:inline-block; background:#fff; color:var(--cm-primary,#1f3a4d) !important; font-weight:700; font-size:13.5px; padding:9px 18px; white-space:nowrap; }
.cm-about-cta-phone:hover{ background:var(--cm-primary,#1f3a4d); color:#fff !important; }
.cm-about-cta-link{ display:inline-block; color:#fff !important; font-weight:600; font-size:12px; padding:8px 2px; border-bottom:1px solid rgba(255,255,255,.55); }
.cm-about-cta-link:hover{ border-bottom-color:#fff; }
@media (max-width:780px){ .cm-about-close-in{ margin:20px auto 0; gap:18px; } .cm-about-cta{ padding:20px 18px 22px; } .cm-about-close-photo img{ max-height:250px; } }
@media (max-width:560px){ .cm-about-cta-actions{ flex-direction:column; align-items:stretch; } .cm-about-cta-phone,.cm-about-cta-link{ width:100%; text-align:center; } }
.cm-svc-lede{ padding:0 !important; background:transparent !important; }
.cm-svc-lede-in{ display:flex; flex-wrap:wrap; gap:34px; align-items:flex-start; width:92%; max-width:1100px; margin:46px auto; }
.cm-svc-lede-media{ flex:0 1 330px; display:flex; flex-direction:column; gap:16px; min-width:0; }
.cm-svc-lede-media img{ display:block; width:100%; height:auto; }
.cm-svc-lede-text{ flex:1 1 420px; min-width:0; }
.cm-svc-lede-text h1{ margin:0 0 16px; padding:0; }
.cm-svc-lede-text p{ margin:0; padding:0; }
.cm-svc-cta{ display:block; background:var(--cm-accent,#1f9e8f); color:#fff !important; padding:22px 22px 24px; text-decoration:none; }
.cm-svc-cta strong{ display:block; font:700 18px/1.3 'Sora','Segoe UI',Arial,sans-serif; margin-bottom:7px; }
.cm-svc-cta span{ display:block; font-size:13.5px; line-height:1.6; color:#eafcf8; }
.cm-svc-cta-btn{ margin-top:13px; font-weight:700; font-size:13.5px; color:#fff !important; }
.cm-svc-cta:hover .cm-svc-cta-btn{ text-decoration:underline; }
@media (max-width:820px){ .cm-svc-lede-in{ margin:26px auto; gap:22px; }
  .cm-svc-lede-media{ flex:1 1 100%; flex-direction:row; }
  .cm-svc-lede-media img{ flex:1 1 50%; min-width:0; }
  .cm-svc-cta{ flex:1 1 50%; } }
@media (max-width:520px){ .cm-svc-lede-media{ flex-direction:column; } }
.cm-cta-row{ width:92% !important; max-width:1040px !important; margin:6px auto 30px !important; padding:0 !important; }
.cm-cta-col{ width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; float:none !important; }
.cm-cta{ background:var(--cm-accent,#1f9e8f) !important; color:#fff !important; padding:36px 30px !important; text-align:center !important; }
.cm-cta .et_pb_promo_description{ max-width:640px; margin:0 auto; }
.cm-cta .et_pb_promo_description > div{ margin:0; }
.cm-cta p{ color:#fff !important; font-size:17px; line-height:1.65; margin:0 !important; padding:0 !important; font-weight:600; }
.cm-cta a{ color:#fff !important; text-decoration:underline; text-underline-offset:3px; }
.cm-cta a:hover{ opacity:.82; }
.cm-cta .et_pb_button_wrapper{ margin-top:20px; text-align:center; }
.cm-cta .et_pb_button.et_pb_promo_button{ background:#fff !important; color:var(--cm-primary,#1f3a4d) !important; border:0 !important; padding:13px 28px !important; font-weight:700 !important; font-size:15px !important; letter-spacing:0 !important; }
.cm-cta .et_pb_button.et_pb_promo_button:before,.cm-cta .et_pb_button.et_pb_promo_button:after{ display:none !important; }
.cm-cta .et_pb_button.et_pb_promo_button:hover{ background:var(--cm-primary,#1f3a4d) !important; color:#fff !important; }
@media (max-width:600px){ .cm-cta{ padding:28px 20px !important; } .cm-cta p{ font-size:15.5px; } }
.cm-cta.cm-cta-inline{ padding:20px 20px !important; margin-top:16px !important; }
.cm-cta-inline .et_pb_promo_description{ max-width:none; }
.cm-cta-inline p{ font-size:14.5px !important; line-height:1.6 !important; font-weight:600; }
.cm-cta-inline a[href^="tel:"]{ white-space:nowrap; }
#page-container .cm-cta-section.et_pb_section{ background:none !important; background-color:transparent !important; background-image:none !important; padding-top:24px !important; padding-bottom:24px !important; }
.cm-lede-imgs .et_pb_image{ margin-bottom:0 !important; }
.cm-lede-imgs .et_pb_image .et_pb_image_wrap{ display:block; }
.cm-lede-imgs .et_pb_image img{ width:100% !important; height:clamp(190px,20vw,260px) !important; object-fit:cover; object-position:center; display:block; }

.et_mobile_menu{ max-height:calc(100vh - 90px) !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; }

.cm-reviews{ background:#fff; padding:64px 0; }
.cm-reviews-in{ width:92%; max-width:1140px; margin:0 auto; }
.cm-reviews-head{ text-align:center; max-width:620px; margin:0 auto 40px; }
.cm-reviews-eyebrow{ display:block; font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--cm-accent); margin-bottom:10px; }
.cm-reviews-head h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:clamp(24px,3vw,32px); color:var(--cm-ink); margin:0 0 12px; }
.cm-reviews-head p{ font-size:15.5px; line-height:1.65; color:#55606a; margin:0; }
.cm-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cm-review-card{ background:var(--cm-field); border:1px solid var(--cm-line); padding:26px 24px; }
.cm-review-top{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.cm-review-avatar{ width:44px; height:44px; flex:0 0 auto; object-fit:cover; display:block; }
.cm-review-stars{ color:var(--cm-accent); font-size:16px; letter-spacing:2px; margin-bottom:12px; }
.cm-review-card p{ font-size:15px; line-height:1.65; color:#3f3f3a; margin:0; }
.cm-review-who{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:14px; color:var(--cm-primary); }
.cm-review-who span{ display:block; font-weight:500; font-size:13px; color:#7c8590; margin-top:2px; }
@media (max-width:900px){ .cm-reviews-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .cm-reviews{ padding:48px 0; } .cm-reviews-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   Landing pages (service + city)  —  .cm-lp-*
   ========================================================================== */
body.cm-lp #main-content .et_builder_inner_content{ padding:0 !important; }
.cm-lp-section-w{ width:92%; max-width:1180px; margin:0 auto; }

/* ---- hero (single column over a contextual stock photo) ---- */
.cm-lp-hero{ position:relative; background:var(--cm-ink) center top/cover no-repeat; color:#fff; }
.cm-lp-hero:before{ content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(18,38,49,.82) 12%, rgba(18,38,49,.5) 62%, rgba(18,38,49,.28) 100%); }
.cm-lp-hero-in{ position:relative; width:92%; max-width:1180px; margin:0 auto;
  padding:66px 0 70px; }
.cm-lp-hero-copy{ max-width:640px; }
.cm-lp-hero h1{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:800;
  font-size:42px; line-height:1.08; letter-spacing:-.015em; margin:0 0 14px; color:#fff; }
.cm-lp-hero-sub{ font-size:18px; line-height:1.55; color:rgba(255,255,255,.92); margin:0 0 22px; }
.cm-lp-hero .cm-usp{ margin:0 0 26px; max-width:none; }
.cm-lp-hero .cm-usp li{ color:#fff; }
.cm-lp-hero-cta{ display:flex; flex-wrap:wrap; gap:12px; }
.cm-lp-hero-btn{ display:inline-block; background:var(--cm-accent); color:#fff !important;
  font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:15px;
  letter-spacing:.01em; padding:14px 26px; text-decoration:none; transition:background .2s ease, color .2s ease; }
.cm-lp-hero-btn:hover{ background:#fff; color:var(--cm-primary) !important; }
.cm-lp-hero-btn-ghost{ background:transparent; border:2px solid rgba(255,255,255,.55);
  padding:12px 24px; }
.cm-lp-hero-btn-ghost:hover{ background:#fff; border-color:#fff; }

/* ---- full-width contextual photo band ---- */
.cm-lp-band{ background:#fff; }
.cm-lp-band figure{ margin:0; }
.cm-lp-band img{ display:block; width:100%; height:clamp(220px,32vw,420px); object-fit:cover; }
.cm-lp-band figcaption{ width:92%; max-width:1180px; margin:0 auto; padding:12px 0 2px;
  font-size:13.5px; color:#697682; font-style:italic; }

/* ---- rich prose body  .cm-lp-body ---- */
.cm-lp-body{ background:#fff; }
.cm-lp-body-in{ width:92%; max-width:900px; margin:0 auto; padding:52px 0 44px; }
.cm-lp-body-in > *:first-child{ margin-top:0; }
.cm-lp-body h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:26px; line-height:1.2; color:var(--cm-ink); margin:38px 0 14px; }
.cm-lp-body h2:before{ content:none !important; }
.cm-lp-body h3{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:19px; color:var(--cm-ink); margin:26px 0 10px; }
.cm-lp-body p{ font-size:16px; line-height:1.75; color:#3f3f3a; margin:0 0 16px; }
.cm-lp-body a{ color:var(--cm-primary); text-decoration:underline; text-underline-offset:2px; }
.cm-lp-body a:hover{ color:var(--cm-accent); }
.cm-lp-body strong{ color:var(--cm-ink); font-weight:700; }
.cm-lp-body em{ color:#55606a; }

/* unordered list — turquoise check bullets */
.cm-lp-body ul{ list-style:none; margin:0 0 20px; padding:0; }
.cm-lp-body ul li{ position:relative; padding:0 0 0 30px; margin:0 0 10px;
  font-size:16px; line-height:1.7; color:#3f3f3a; }
.cm-lp-body ul li:before{ content:""; position:absolute; left:0; top:.42em;
  width:16px; height:16px; background:var(--cm-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") no-repeat center/contain;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") no-repeat center/contain; }

/* ordered list — brand number badges */
.cm-lp-body ol{ list-style:none; counter-reset:cmol; margin:0 0 22px; padding:0; }
.cm-lp-body ol li{ position:relative; counter-increment:cmol; padding:2px 0 0 46px;
  margin:0 0 16px; font-size:16px; line-height:1.7; color:#3f3f3a; min-height:30px; }
.cm-lp-body ol li:before{ content:counter(cmol); position:absolute; left:0; top:0;
  width:30px; height:30px; background:var(--cm-primary); color:#fff;
  font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; }

/* table */
.cm-table-wrap{ overflow-x:auto; margin:0 0 22px; }
.cm-lp-body table, table.cm-table{ width:100%; border-collapse:collapse;
  border:1px solid var(--cm-line); font-size:15px; }
.cm-lp-body table thead th, table.cm-table thead th{ background:var(--cm-primary); color:#fff;
  font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:600; text-align:left;
  padding:11px 14px; font-size:13.5px; letter-spacing:.02em; }
.cm-lp-body table td, table.cm-table td{ padding:10px 14px; border-top:1px solid var(--cm-line);
  color:#3f3f3a; line-height:1.5; }
.cm-lp-body table tbody tr:nth-child(even), table.cm-table tbody tr:nth-child(even){ background:var(--cm-field); }
.cm-lp-body table td:last-child, table.cm-table td:last-child{ font-weight:700; color:var(--cm-ink); }

/* callout */
.cm-callout{ background:var(--cm-field); border-left:4px solid var(--cm-accent);
  padding:16px 20px; margin:0 0 22px; }
.cm-callout p{ margin:0; font-size:15.5px; line-height:1.7; color:var(--cm-ink); }
.cm-callout strong{ color:var(--cm-primary); }

/* blockquote */
.cm-lp-body blockquote{ margin:0 0 22px; padding:6px 0 6px 22px;
  border-left:3px solid var(--cm-primary); color:#55606a; font-style:italic; font-size:16px; }

/* ==========================================================================
   Reused homepage-style blocks
   ========================================================================== */
.cm-help{ background:var(--cm-field); }
.cm-help-in{ width:92%; max-width:1180px; margin:0 auto; padding:50px 0; text-align:center; }
.cm-help-in > h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:27px; color:var(--cm-ink); margin:0 0 30px; }
.cm-help-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cm-help-card{ background:#fff; border:1px solid var(--cm-line); text-decoration:none;
  display:flex; flex-direction:column; text-align:left; transition:border-color .2s ease, transform .2s ease; }
.cm-help-card:hover{ border-color:var(--cm-primary); }
.cm-help-card img{ width:100%; height:170px; object-fit:cover; display:block; }
.cm-help-card h3{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:18px;
  color:var(--cm-ink); margin:16px 18px 6px; }
.cm-help-card p{ font-size:14.5px; line-height:1.6; color:#55606a; margin:0 18px 14px; flex:1 1 auto; }
.cm-help-card .cm-help-more{ margin:0 18px 18px; color:var(--cm-primary); font-weight:700;
  font-size:14px; font-family:'Sora','Segoe UI',Arial,sans-serif; }
.cm-help-card:hover .cm-help-more{ color:var(--cm-accent); }

/* compact static "Areas We Serve" for landing pages */
.cm-lp-areas{ background:#fff; }
.cm-lp-areas-in{ width:92%; max-width:1080px; margin:0 auto; padding:48px 0; text-align:center; }
.cm-lp-areas-in > h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:26px; color:var(--cm-ink); margin:0 0 10px; }
.cm-lp-areas-in > p{ font-size:15.5px; line-height:1.65; color:#55606a; max-width:44em; margin:0 auto 26px; }
.cm-lp-areas-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px 34px; text-align:left; }
.cm-lp-areas-grid h3{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--cm-primary);
  margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid var(--cm-accent); }
.cm-lp-areas-grid ul{ list-style:none; margin:0; padding:0; }
.cm-lp-areas-grid li{ margin:0 0 7px; line-height:1.6; }
.cm-lp-areas-grid a{ color:#3f3f3a; text-decoration:none; font-size:15px; }
.cm-lp-areas-grid a:hover{ color:var(--cm-primary); text-decoration:underline; }
.cm-lp-areas-grid li.cm-plain{ color:#3f3f3a; font-size:15px; }

/* ==========================================================================
   FAQ accordion  (native <details>)
   ========================================================================== */
.cm-faq{ background:var(--cm-field); }
.cm-faq-in{ width:92%; max-width:860px; margin:0 auto; padding:50px 0; }
.cm-faq-in > h2{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:27px; color:var(--cm-ink); margin:0 0 22px; text-align:center; }
.cm-faq-item{ background:#fff; border:1px solid var(--cm-line); margin:0 0 10px; }
.cm-faq-item summary{ list-style:none; cursor:pointer; padding:16px 46px 16px 18px;
  position:relative; font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:600;
  font-size:16px; color:var(--cm-ink); }
.cm-faq-item summary::-webkit-details-marker{ display:none; }
.cm-faq-item summary:after{ content:""; position:absolute; right:18px; top:50%;
  width:11px; height:11px; margin-top:-6px; border-right:2px solid var(--cm-primary);
  border-bottom:2px solid var(--cm-primary); transform:rotate(45deg);
  transition:transform .2s ease; }
.cm-faq-item[open] summary:after{ transform:rotate(-135deg); }
.cm-faq-item[open] summary{ color:var(--cm-primary); }
.cm-faq-a{ padding:0 18px 18px; }
.cm-faq-a p{ margin:0; font-size:15.5px; line-height:1.7; color:#3f3f3a; }
.cm-faq-a p + p{ margin-top:10px; }

/* ==========================================================================
   Multi-column footer  (.cm-footer rebuilt)
   ========================================================================== */
.cm-footer{ background:var(--cm-primary); color:rgba(255,255,255,.78);
  font-family:'Manrope','Segoe UI',Arial,sans-serif; }
.cm-footer-cols{ width:92%; max-width:1180px; margin:0 auto; padding:44px 0 30px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px 34px; }
.cm-footer-cols .cm-fcol h3{ font-family:'Sora','Segoe UI',Arial,sans-serif; font-weight:700;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#fff;
  margin:0 0 14px; padding-bottom:8px; border-bottom:2px solid var(--cm-accent); }
.cm-footer-cols .cm-fcol-brand strong{ font-family:'Sora','Segoe UI',Arial,sans-serif;
  font-size:17px; color:#fff; display:block; margin:0 0 10px; }
.cm-footer-cols .cm-fcol-brand p{ font-size:13.5px; line-height:1.7; margin:0 0 10px; }
.cm-footer-cols ul{ list-style:none; margin:0; padding:0; }
.cm-footer-cols li{ margin:0 0 8px; }
.cm-footer a{ color:rgba(255,255,255,.82); text-decoration:none; font-size:13.5px; }
.cm-footer a:hover{ color:var(--cm-accent); }
.cm-footer-bar{ border-top:1px solid rgba(255,255,255,.14); }
.cm-footer-bar{ width:92%; max-width:1180px; margin:0 auto; padding:16px 0;
  display:flex; justify-content:space-between; gap:8px 20px; flex-wrap:wrap; font-size:12.5px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:980px){
  .cm-lp-hero-in{ padding:40px 0 44px; }
  .cm-lp-hero h1{ font-size:31px; }
  .cm-lp-hero-sub{ font-size:16px; }
  .cm-help-grid{ grid-template-columns:1fr 1fr; }
  .cm-footer-cols{ grid-template-columns:1fr 1fr; }
}
@media (max-width:680px){
  .cm-lp-body-in{ padding:36px 0 30px; }
  .cm-lp-body h2{ font-size:22px; }
  .cm-help-grid{ grid-template-columns:1fr; }
  .cm-lp-areas-grid{ grid-template-columns:1fr; gap:20px; }
  .cm-footer-cols{ grid-template-columns:1fr; gap:24px; }
  .cm-footer-bar{ flex-direction:column; }
}

/* ==========================================================================
   Accessibility + hygiene (site-wide — appended to camove-skin.css)
   ========================================================================== */
/* visible keyboard focus everywhere (Divi resets outlines to 0) */
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible,
.et_pb_button:focus-visible, [tabindex]:focus-visible{
  outline:3px solid var(--cm-accent,#1f9e8f) !important;
  outline-offset:2px !important; border-radius:2px; }

/* the green CTA band: #1f9e8f + white text is only 3.3:1 — darken it to pass AA */
.cm-cta, .cm-cta.cm-cta-inline{ background:#146a60 !important; }
.cm-svc-cta, .cm-about-cta{ background:#146a60 !important; }
.cm-svc-cta span, .cm-about-cta p{ color:#f2fbf9 !important; }
/* small turquoise-on-white labels ~3.3:1 -> navy */
.cm-reviews-eyebrow, .cm-lp-areas-grid h3, .cm-lp-areas-in h3{ color:var(--cm-primary,#1f3a4d) !important; }

/* mobile: the pricing table must scroll inside its wrapper, never widen the page */
.cm-lp-body .cm-table-wrap{ overflow-x:auto !important; -webkit-overflow-scrolling:touch; max-width:100%; }
@media (max-width:640px){
  .cm-lp-body table.cm-table{ display:block; width:100%; overflow-x:auto; white-space:nowrap; }
}

/* de-fanged homepage review cards (no stock avatars / fake stars) */
.cm-review-card{ background:var(--cm-field,#f4f6f8); border:1px solid var(--cm-line,#dce2e8);
  padding:22px 22px 18px; }
.cm-review-card blockquote{ margin:0 0 12px; border:0; padding:0; }
.cm-review-card blockquote p{ font-size:15px; line-height:1.6; color:#3f3f3a; }
.cm-review-who{ font-weight:700; color:var(--cm-primary,#1f3a4d); font-size:14px; }
.cm-review-who span{ display:block; font-weight:500; color:#6b7680; font-size:12.5px; }
