/* FAQ section on the service pages (native <details>, no JS). Fonts and colors match the page sections. */
.raco-faq{padding:80px 20px;background:#fff}
.raco-faq__inner{max-width:900px;margin:0 auto}
.raco-faq__title{font-family:"Poppins",Sans-serif;font-size:42px;font-weight:600;line-height:1.2;color:#000;text-align:center;margin:0 0 30px}
.raco-faq__list{border-top:1px solid #e2e2e2}
.raco-faq__item{border-bottom:1px solid #e2e2e2}
.raco-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;cursor:pointer;list-style:none}
.raco-faq__item summary::-webkit-details-marker{display:none}
.raco-faq__item summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:6px;background:#046c34;color:#fff;font:500 22px/32px "Roboto",Sans-serif;text-align:center}
.raco-faq__item[open] summary::after{content:"\2212"}
.raco-faq__item summary:hover h3,.raco-faq__item summary:focus-visible h3{color:#046c34}
.raco-faq__item summary h3{margin:0;font-family:"Poppins",Sans-serif;font-size:18px;font-weight:600;line-height:1.4;color:#000}
.raco-faq__answer p{margin:0;padding:0 4px 20px;font-family:"Poppins",Sans-serif;font-size:15px;line-height:1.7;color:#000}
.raco-faq a{color:#046c34}
.raco-faq__more{margin:30px 0 0;text-align:center;font-family:"Poppins",Sans-serif;font-size:15px;color:#000}
@media(max-width:767px){
.raco-faq{padding:48px 20px}
.raco-faq__title{font-size:32px}
.raco-faq__item summary h3{font-size:16px}
}

/* Polish for the image/text sections on the service pages. Same Elementor layout, tidier rhythm:
   matched column edges, text centred on its photo, photos one shape, headings sized to the text,
   and every other section on a light green tint so the rows read as separate blocks. */
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae){
  --padding-top:80px;--padding-bottom:80px;--align-items:center;--gap:56px 56px;--row-gap:28px;--column-gap:56px}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae){background-color:#046c34}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) > .e-con-inner > .e-con{
  --width:calc(50% - 28px);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--justify-content:center}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-image img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--raco-radius,8px)}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-heading .elementor-heading-title{
  font-size:40px;line-height:1.15;letter-spacing:-.01em}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-element.elementor-widget-text-editor{
  font-size:16px;line-height:1.75;color:#222}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-text-editor p:first-child > strong:only-child{
  color:#046c34;font-size:18px}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-text-editor ul{
  margin:0 0 1em;padding-left:1.2em}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-text-editor li{margin-bottom:.45em}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-text-editor li::marker{color:#046c34}
@media(max-width:1024px){
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae){--padding-left:24px;--padding-right:24px;--gap:40px 40px;--column-gap:40px}
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) > .e-con-inner > .e-con{--width:calc(50% - 20px)}
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-heading .elementor-heading-title{font-size:34px}
}
@media(max-width:767px){
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae){--padding-top:48px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;--gap:24px 24px;--row-gap:24px}
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) > .e-con-inner > .e-con{--width:100%}
  .elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-heading .elementor-heading-title{font-size:28px}
}

/* Fallback fonts sized to match Poppins and Roboto, so text doesn't re-wrap (layout shift) when the web fonts arrive. */
@font-face{font-family:"Poppins Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans"),local("Roboto");size-adjust:112.16%;ascent-override:92.33%;descent-override:30.78%;line-gap-override:8.79%}
@font-face{font-family:"Roboto Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:100.3%;ascent-override:92.77%;descent-override:24.41%;line-gap-override:0%}
.elementor.elementor[data-elementor-type="wp-page"] :is(.elementor-widget-text-editor,.elementor-widget-heading .elementor-heading-title,.elementor-button,.raco-faq,.raco-faq h2,.raco-faq h3){font-family:"Poppins","Poppins Fallback",sans-serif}
.elementor.elementor[data-elementor-type="wp-page"] .elementor-widget-heading h1.elementor-heading-title{font-family:"Roboto","Roboto Fallback",sans-serif}
/* Columns must never shrink below their content (the photo), or the text under it jumps when the page settles. */
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) > .e-con-inner > .e-con{flex-shrink:0}
.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-image{aspect-ratio:4/3;width:100%}

/* Homepage style: white sections and dark green (#046c34) sections, like "Satisfaction Guarantee".
   Green sections: white text, white button with green text, straight top edge like every section. */
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-heading-title{color:#fff!important}
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-widget-text-editor,.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-widget-text-editor :is(p,li,strong){color:#fff!important}
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-widget-text-editor a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-widget-text-editor li::marker{color:#61ce70}
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-button{background-color:#fff!important;color:#046c34!important;border-color:#fff!important}
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-e87e107,.elementor-element-3b935db,.elementor-element-89486ae) .elementor-button:hover{background-color:#f2f7f1!important;color:#035428!important}
/* Photos: the homepage's soft shadow */
.elementor.elementor[data-elementor-type="wp-page"] > .e-parent:is(.elementor-element-96c5d59,.elementor-element-e87e107,.elementor-element-ca6933f,.elementor-element-3b935db,.elementor-element-0326663,.elementor-element-89486ae) .elementor-widget-image img{box-shadow:0 0 37px -11px rgba(0,0,0,.5)}
