/* ========================================================================== */
/* GLOBAL / UTILITIES */
/* ========================================================================== */

@media (max-width: 768px) {
  .widget .hide-on-mobile,
  .widget.hide-on-mobile,
  .widget:has(.hide-on-mobile) {
    display: none !important;
  }
}

/* ========================================================================== */
/* ESTIMATOR PAGE */
/* ========================================================================== */

#ssc-estimator {
  --ssc-accent: #69a304;
  --ssc-accent-dark: #4f7c03;
  --ssc-bg: #f3f5f2;
  --ssc-card: #ffffff;
  --ssc-line: #dfe4da;
  --ssc-text: #1e2220;
  --ssc-muted: #667267;
  font-family: "Roboto", sans-serif;
  color: var(--ssc-text);
  font-size: 16px;
  line-height: 1.4;
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}
#ssc-estimator * { box-sizing: border-box; }

.ssc-estimator__title {
  margin: 0 0 8px;
  font-size: 23px;
  font-weight: 700;
}
.ssc-estimator__intro {
  margin: 0 0 24px;
  color: var(--ssc-muted);
}

.ssc-estimator__layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr) 330px;
  gap: 20px;
  align-items: start;
}

/* Coupons */
.ssc-coupons {
  background: #f7f8f6;
  border: 1px solid var(--ssc-line);
  border-radius: 12px;
  padding: 14px;
}
.ssc-coupons__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
}
.ssc-coupon-card {
  background: #fff;
  border: 1px solid var(--ssc-line);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 10px;
}
.ssc-coupon-card p {
  margin: 0 0 10px;
  font-weight: 500;
}
.ssc-coupon-btn {
  background: var(--ssc-accent);
  color: #fff;
  border: 0;
  border-radius: 8px;
  height: 36px;
  padding: 0 14px;
  font-weight: 700;
  cursor: pointer;
}
.ssc-coupon-btn:hover { background: var(--ssc-accent-dark); }
.ssc-coupon-btn.is-active { background: #0f2f55; }
.ssc-coupons--mobile { display: none; }

/* Accordion */
.ssc-accordion {
  background: var(--ssc-card);
  border: 1px solid var(--ssc-line);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}
.ssc-accordion__heading { margin: 0; }

.ssc-accordion__toggle {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 52px;
  align-items: center;
  border: 0;
  padding: 0;
  background: #eef1ec;
  text-align: left;
  cursor: pointer;
  font: 700 20px/1.2 "Roboto", sans-serif;
  color: var(--ssc-text);
}
.ssc-accordion__toggle > span:first-child { padding: 18px 20px; }

.ssc-accordion__icon {
  height: 100%;
  display: grid;
  place-items: center;
  background: var(--ssc-accent);
  color: #fff;
  font-size: 20px;
  transition: transform 0.22s ease, background-color 0.22s ease;
}
.ssc-accordion.is-open .ssc-accordion__icon {
  transform: rotate(180deg);
  background: var(--ssc-accent-dark);
}
.ssc-accordion__toggle:hover .ssc-accordion__icon {
  background: var(--ssc-accent-dark);
}

.ssc-accordion__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: #fff;
}
.ssc-accordion.is-open .ssc-accordion__panel { max-height: 2200px; }

/* Options + grid */
.ssc-grid {
  display: grid;
  gap: 10px;
  padding: 16px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ssc-option {
  display: grid;
  grid-template-columns: 22px 1fr auto 70px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--ssc-line);
  border-radius: 10px;
  background: #fff;
  padding: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.ssc-option:hover { border-color: var(--ssc-accent); }

.ssc-option input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #9dac99;
  border-radius: 5px;
  margin: 0;
  display: grid;
  place-items: center;
}
.ssc-option input[type="checkbox"]:checked {
  border-color: var(--ssc-accent);
  background: var(--ssc-accent);
}
.ssc-option input[type="checkbox"]:checked::after {
  content: "✓";
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
.ssc-option:has(input[type="checkbox"]:checked) {
  border-color: var(--ssc-accent);
  background: #f5faee;
  box-shadow: 0 0 0 2px rgba(105, 163, 4, 0.15);
}
.ssc-option__name { font-weight: 500; }
.ssc-option__price { color: var(--ssc-accent-dark); font-weight: 700; }

.ssc-option__qty,
.ssc-measure input,
.ssc-measure select {
  width: 100%;
  height: 40px;
  border: 1px solid #c7d0c3;
  border-radius: 8px;
  padding: 0 10px;
  font: 500 16px "Roboto", sans-serif;
  outline: none;
}
.ssc-option__qty:focus,
.ssc-measure input:focus,
.ssc-measure select:focus {
  border-color: var(--ssc-accent);
  box-shadow: 0 0 0 3px rgba(105, 163, 4, 0.15);
}

.ssc-measure {
  border: 1px solid var(--ssc-line);
  margin: 16px;
  margin-top: 0;
  border-radius: 10px;
  padding: 14px;
  background: #fbfcfa;
}
.ssc-measure h3 {
  margin: 0 0 12px;
  font-size: 20px;
}
.ssc-measure__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ssc-rug-types {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px 16px 8px;
}
.ssc-rug-types label {
  border: 1px solid var(--ssc-line);
  border-radius: 999px;
  padding: 8px 14px;
  background: #fff;
  cursor: pointer;
}
.ssc-rug-types input {
  margin-right: 8px;
  accent-color: var(--ssc-accent);
}

/* Summary */
.ssc-summary {
  position: sticky;
  top: 16px;
  background: var(--ssc-card);
  border: 1px solid var(--ssc-line);
  border-radius: 12px;
  padding: 18px;
}
.ssc-summary__title {
  margin: 0 0 10px;
  font-size: 20px;
}
.ssc-summary__items {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 280px;
  overflow: auto;
}
.ssc-summary__items li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px dashed #e6ebe3;
}
.ssc-summary__coupon {
  margin-top: 10px;
  background: #f5faee;
  border: 1px solid #cde2b0;
  border-radius: 8px;
  padding: 8px 10px;
  color: #2e5e06;
  font-size: 14px;
  font-weight: 700;
}
.ssc-summary__total {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 2px solid var(--ssc-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ssc-summary__total strong {
  font-size: 30px;
  color: var(--ssc-accent-dark);
}

.ssc-btn {
  width: 100%;
  margin-top: 14px;
  height: 46px;
  border: 0;
  border-radius: 10px;
  background: var(--ssc-accent);
  color: #fff;
  font: 700 16px "Roboto", sans-serif;
  cursor: pointer;
}
.ssc-btn:hover { background: var(--ssc-accent-dark); }

@media (max-width: 1180px) {
  .ssc-estimator__layout { grid-template-columns: minmax(0, 1fr) 330px; }
  .ssc-coupons--desktop { display: none; }
  .ssc-coupons--mobile { display: block; }
}

@media (max-width: 1024px) {
  .ssc-estimator__layout { grid-template-columns: 1fr; }
  .ssc-summary { position: static; order: -1; }
}

@media (max-width: 768px) {
  #ssc-estimator .ssc-estimator__form { padding-bottom: 140px; }

  #ssc-estimator .ssc-summary {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 9999;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    padding: 10px 14px;
    background: #f3eedc;
    box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.12);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
  }

  #ssc-estimator .ssc-summary__title,
  #ssc-estimator .ssc-summary__items,
  #ssc-estimator .ssc-summary__coupon {
    display: none !important;
  }

  #ssc-estimator .ssc-summary__total {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
  }

  #ssc-estimator .ssc-summary__total span {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #444;
  }

  #ssc-estimator .ssc-summary__total strong {
    font-size: 48px;
    line-height: 1;
    color: #3f4a3f;
    font-weight: 700;
  }

  #ssc-estimator .ssc-summary .ssc-btn {
    width: auto;
    margin: 0;
    height: 42px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 14px;
    white-space: nowrap;
  }

  .ssc-grid { grid-template-columns: 1fr; }
  .ssc-option { grid-template-columns: 22px 1fr auto; }
  .ssc-option__qty { grid-column: 2 / -1; }
  .ssc-measure__row { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  #ssc-estimator { padding: 18px 12px 30px; }
  .ssc-accordion__toggle { font-size: 18px; }
}

/* ========================================================================== */
/* FORMIDABLE FORM THEME */
/* ========================================================================== */

.ssc-form-theme {
  --ssc-accent: #69a304;
  --ssc-accent-dark: #4f7c03;
  --ssc-border: #dfe4da;
  --ssc-text: #1e2220;
  --ssc-muted: #667267;
  font-family: "Roboto", sans-serif;
  color: var(--ssc-text);
}

.ssc-form-theme .ssc-row {
  width: 100% !important;
  clear: both;
}

.ssc-form-theme .ssc-city,
.ssc-form-theme .ssc-state,
.ssc-form-theme .ssc-zip {
  float: left;
  width: 32% !important;
  margin-right: 2%;
  clear: none;
}
.ssc-form-theme .ssc-zip { margin-right: 0; }

.ssc-form-theme .frm_form_field { margin-bottom: 18px; }
.ssc-form-theme .frm_primary_label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--ssc-text);
  margin-bottom: 8px;
}

.ssc-form-theme input[type="text"],
.ssc-form-theme input[type="email"],
.ssc-form-theme input[type="tel"],
.ssc-form-theme input[type="number"],
.ssc-form-theme textarea,
.ssc-form-theme select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--ssc-border);
  border-radius: 10px;
  padding: 10px 12px;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: var(--ssc-text);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ssc-form-theme textarea {
  min-height: 130px;
  resize: vertical;
}

.ssc-form-theme input:focus,
.ssc-form-theme textarea:focus,
.ssc-form-theme select:focus {
  outline: none;
  border-color: var(--ssc-accent);
  box-shadow: 0 0 0 3px rgba(105, 163, 4, 0.15);
}

.ssc-form-theme .frm_required { color: var(--ssc-accent); }
.ssc-form-theme .frm_description {
  font-size: 14px;
  color: var(--ssc-muted);
}

.ssc-form-theme .frm_error {
  font-size: 14px;
  color: #b3261e;
  margin-top: 6px;
}
.ssc-form-theme .frm_blank_field input,
.ssc-form-theme .frm_blank_field textarea,
.ssc-form-theme .frm_blank_field select {
  border-color: #b3261e;
}

.ssc-form-theme .frm_submit button,
.ssc-form-theme .frm_submit input[type="submit"] {
  height: 46px;
  min-width: 220px;
  border: 0;
  border-radius: 10px;
  background: var(--ssc-accent);
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.05s ease;
}
.ssc-form-theme .frm_submit button:hover,
.ssc-form-theme .frm_submit input[type="submit"]:hover {
  background: var(--ssc-accent-dark);
}
.ssc-form-theme .frm_submit button:active,
.ssc-form-theme .frm_submit input[type="submit"]:active {
  transform: translateY(1px);
}

.ssc-estimate-items textarea,
textarea.ssc-estimate-items,
.ssc-estimate-items-wrap textarea {
  white-space: pre-line;
  min-height: 160px;
  line-height: 1.45;
  font-family: "Roboto", sans-serif;
}
.ssc-estimate-total input,
input.ssc-estimate-total {
  font-weight: 700;
}

.ssc-form-theme .frm_dropzone,
.ssc-form-theme .frm_upload_box {
  border: 1px dashed #b8c8aa;
  border-radius: 12px;
  background: #fbfcfa;
}

.pum-content .ssc-form-theme { padding-top: 4px; }

.pum-close,
.pum-theme-default-theme .pum-close,
.pum-theme-enterprise-blue .pum-close,
.popmake-close,
button.pum-close {
  background: #69a304 !important;
  color: #ffffff !important;
  border-color: #69a304 !important;
  border-radius: 8px !important;
}
.pum-close:hover,
.pum-theme-default-theme .pum-close:hover,
.pum-theme-enterprise-blue .pum-close:hover,
.popmake-close:hover,
button.pum-close:hover {
  background: #4f7c03 !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .ssc-form-theme .frm_submit button,
  .ssc-form-theme .frm_submit input[type="submit"] {
    width: 100%;
    min-width: 0;
  }

  .ssc-form-theme .ssc-address,
  .ssc-form-theme .ssc-state,
  .ssc-form-theme .ssc-zip {
    width: 100% !important;
    margin-right: 0;
    float: none;
  }
}

/* ========================================================================== */
/* ABOUT PAGE HERO */
/* ========================================================================== */

.ssc-about-hero {
  --ssc-accent: #69a304;
  --ssc-accent-dark: #4f7c03;
  --ssc-text: #102a43;
  --ssc-bg: #f7f9f6;
  font-family: "Roboto", sans-serif;
  background: var(--ssc-bg);
  position: relative;
  overflow: hidden;
}

.ssc-about-hero__image-wrap {
  position: relative;
  height: clamp(180px, 24vw, 300px);
}

.ssc-about-hero__image {
  position: absolute;
  inset: 0;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
}

.ssc-about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.08) 45%, rgba(0, 0, 0, 0.16) 100%);
}

.ssc-about-hero__image-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(220px, 28vw);
  height: min(120px, 14vw);
  background: var(--ssc-bg);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  z-index: 2;
}

.ssc-about-hero__left-rail {
  position: absolute;
  left: 22px;
  bottom: -82px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 3;
}
.ssc-about-hero__rail-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ssc-accent);
}
.ssc-about-hero__rail-line {
  width: 2px;
  height: 150px;
  background: var(--ssc-accent);
  margin-top: 6px;
}
.ssc-about-hero__rail-text {
  margin-top: 10px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 22px;
  font-weight: 700;
  color: var(--ssc-accent-dark);
  letter-spacing: 0.02em;
}

.ssc-about-hero__content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 22px 34px 90px;
}
.ssc-about-hero__content h1 {
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 700;
  color: #0f2f55;
}
.ssc-about-hero__content p {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #334e68;
  max-width: 760px;
}

@media (max-width: 768px) {
  .ssc-about-hero__image-wrap { height: 190px; }
  .ssc-about-hero__image-wrap::after {
    width: 110px;
    height: 68px;
  }

  .ssc-about-hero__left-rail { display: none !important; }

  .ssc-about-hero__content {
    padding: 20px 16px 28px 44px;
  }
  .ssc-about-hero__content h1 { font-size: 27px; }
  .ssc-about-hero__content p { font-size: 15px; }
}

/* ========================================================================== */
/* ESTIMATE PAGE HERO */
/* ========================================================================== */

.ssc-hero-estimate {
  --ssc-green: #69a304;
  --ssc-bg: #f4f6f3;
  position: relative;
  background: var(--ssc-bg);
  font-family: "Roboto", sans-serif;
  overflow: visible;
}

.ssc-hero-estimate__image-wrap {
  position: relative;
  height: clamp(190px, 24vw, 300px);
  z-index: 1;
}
.ssc-hero-estimate__image {
  position: absolute;
  inset: 0;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
}
.ssc-hero-estimate__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.08) 40%, rgba(0, 0, 0, 0.15));
}
.ssc-hero-estimate__image-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(180px, 22vw);
  height: min(90px, 11vw);
  background: var(--ssc-bg);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  z-index: 2;
}

.ssc-hero-estimate__content {
  position: relative;
  z-index: 20;
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 20px 30px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 22px;
  align-items: end;
}

.ssc-hero-estimate__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f2937;
  padding-left: 44px;
  position: relative;
}
.ssc-hero-estimate__eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 32px;
  height: 2px;
  background: #1f2937;
  transform: translateY(-50%);
}
.ssc-hero-estimate__heading {
  margin: 0;
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.06;
  font-weight: 800;
  color: #0d2249;
}

.ssc-hero-estimate__cta {
  position: relative;
  z-index: 30;
  margin-top: -110px;
  background: var(--ssc-green);
  color: #fff;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  overflow: hidden;
}
.ssc-hero-estimate__cta h3 {
  margin: 0;
  padding: 25px 25px 18px;
  font-size: 23px;
  line-height: 1.15;
  font-weight: 700;
  color: #fff;
}
.ssc-hero-estimate__cta p {
  margin: 0;
  padding: 0 25px 25px;
  font-size: 14px;
  line-height: 1.4;
  color: #fff;
}
.ssc-hero-estimate__cta-bar {
  background: #fff;
  padding: 10px 12px;
  display: flex;
  justify-content: center;
}
.ssc-hero-estimate__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #69a304;
  color: #fff;
  text-decoration: none;
  text-transform: lowercase;
  font-weight: 700;
  font-size: 15px;
  transition: background-color 0.2s ease, transform 0.05s ease;
}
.ssc-hero-estimate__btn:hover {
  background: #4f7c03;
  color: #fff;
}
.ssc-hero-estimate__btn:active { transform: translateY(1px); }

@media (max-width: 768px) {
  .ssc-hero-estimate { display: block !important; }

  .ssc-hero-estimate__image-wrap,
  .ssc-hero-estimate__left-rail,
  .ssc-hero-estimate__cta {
    display: none !important;
  }

  .ssc-hero-estimate__content {
    display: block;
    padding: 20px 16px 24px;
  }

  .ssc-hero-estimate__left { display: block; }

  .ssc-hero-estimate__eyebrow {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .ssc-hero-estimate__heading {
    font-size: 38px;
    line-height: 1.08;
  }
}

/* ========================================================================== */
/* HOMEPAGE SERVICES SECTION */
/* ========================================================================== */

.ssc-services-page-section {
  --ssc-green: #69a304;
  --ssc-green-dark: #4f7c03;
  --ssc-border: #d9ddd4;
  --ssc-navy: #000000;
  --ssc-text: #000000;

  max-width: 1250px;
  margin: 0 auto;
  padding: 20px 16px 40px;
  background: #ffffff;
  color: var(--ssc-text);
  font-family: "Roboto", sans-serif;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.ssc-services-page-section,
.ssc-services-page-section * {
  box-sizing: border-box;
}

.ssc-services-page-section__main {
  min-width: 0;
  grid-column: 1;
}

/* Header */
.ssc-services-page-section__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 12px;
}

.ssc-services-page-section__header h2 {
  margin: 0;
  font-size: clamp(45px, 5vw, 48px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--ssc-navy);
}

.ssc-services-page-section__all {
  color: var(--ssc-navy);
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}
.ssc-services-page-section__all:hover { text-decoration: underline; }

/* Cards */
.ssc-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ssc-service-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--ssc-border);
  border-radius: 10px;
  overflow: hidden;
}

.ssc-service-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e7ece6;
}
.ssc-service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.ssc-service-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
}
.ssc-service-card__meta h3 {
  margin: 0;
  max-width: calc(100% - 38px);
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 500;
  color: #1f252c;
}

.ssc-service-card__icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ssc-green);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  transition: transform 0.28s ease, background-color 0.28s ease;
}
.ssc-service-card:hover .ssc-service-card__media img { transform: scale(1.03); }
.ssc-service-card:hover .ssc-service-card__icon {
  transform: rotate(180deg);
  background: var(--ssc-green-dark);
}

/* Coupons disabled for this layout */
.ssc-services-coupons { display: none !important; }

@media (max-width: 1199px) {
  .ssc-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .ssc-service-card__meta h3 { font-size: 17px; }
}

@media (max-width: 767px) {
  .ssc-services-page-section {
    padding: 14px 12px 28px;
  }

  .ssc-services-page-section__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .ssc-services-page-section__header h2 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .ssc-services-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ========================================================================== */
/* SERVICES V2 (ISOLATED TEMPLATE) */
/* ========================================================================== */

.ssc-services-v2 {
  --ssc-green: #69a304;
  --ssc-green-dark: #4f7c03;
  --ssc-border: #d9ddd4;
  --ssc-text: #000000;

  max-width: 1250px;
  margin: 0 auto;
  padding: 18px 16px 36px;
  background: #ffffff;
  color: var(--ssc-text);
  font-family: "Roboto", sans-serif;
}

.ssc-services-v2,
.ssc-services-v2 * {
  box-sizing: border-box;
}

.ssc-services-v2__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 12px;
}

.ssc-services-v2__header h2 {
  margin: 0;
  font-size: clamp(24px, 4vw, 32px);
  line-height: 1.05;
  font-weight: 900;
}

.ssc-services-v2__all {
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}
.ssc-services-v2__all:hover { text-decoration: underline; }

.ssc-services-v2__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ssc-services-v2__card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--ssc-border);
  border-radius: 10px;
  overflow: hidden;
}

.ssc-services-v2__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e7ece6;
}
.ssc-services-v2__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.ssc-services-v2__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
}
.ssc-services-v2__meta h3 {
  margin: 0;
  max-width: calc(100% - 38px);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  color: #1f252c;
}

.ssc-services-v2__icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ssc-green);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  transition: transform 0.28s ease, background-color 0.28s ease;
}
.ssc-services-v2__card:hover .ssc-services-v2__media img { transform: scale(1.03); }
.ssc-services-v2__card:hover .ssc-services-v2__icon {
  transform: rotate(180deg);
  background: var(--ssc-green-dark);
}

@media (max-width: 1199px) {
  .ssc-services-v2__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ssc-services-v2 {
    padding: 14px 12px 28px;
  }

  .ssc-services-v2__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .ssc-services-v2__grid {
    grid-template-columns: 1fr;
  }
}
/* Space between "Our Services" title row and first card image */
.ssc-services-page-section__header {
  margin: 0 0 52px;
}

@media (max-width: 767px) {
  .ssc-services-page-section__header {
    margin: 0 0 36px;
  }
}
/* ========================================================================== */
/* Scrolling Services Home Page */
/* ========================================================================== */
.ssc-slider {
--ssc-green: #69a304;
--ssc-green-dark: #4f7c03;
--ssc-border: #d9ddd4;
--ssc-navy: #000000;
--ssc-text: #000000;

background: #ffffff;
padding: 36px 16px 48px;
font-family: "Roboto", sans-serif;
overflow: hidden;
}

.ssc-slider,
.ssc-slider * {
box-sizing: border-box;
}

.ssc-slider__container {
max-width: 1250px;
margin: 0 auto;
}

.ssc-slider__header {
text-align: center;
max-width: 980px;
margin: 0 auto 24px;
}

.ssc-slider__header h2 {
margin: 0;
font-size: 40pt;
line-height: 1.06;
font-weight: 700;
color: var(--ssc-navy);
}

.ssc-slider__divider {
width: 76px;
height: 4px;
border-radius: 999px;
background: var(--ssc-green);
margin: 16px auto 18px;
}

.ssc-slider__header p {
margin: 0 auto;
max-width: 980px;
font-size: 18pt;
line-height: 1.45;
font-weight: 400;
color: var(--ssc-text);
}

.ssc-slider__carousel {
display: flex;
align-items: center;
gap: 14px;
margin-top: 26px;
}

.ssc-viewport {
overflow: hidden;
flex: 1 1 auto;
min-width: 0;
}

.ssc-track {
display: flex;
gap: 12px;
transition: transform 0.4s ease;
will-change: transform;
}

.ssc-card {
flex: 0 0 calc((100% - 36px) / 4);
max-width: calc((100% - 36px) / 4);
display: block;
text-decoration: none;
color: inherit;
background: #fff;
border: 1px solid var(--ssc-border);
border-radius: 10px;
overflow: hidden;
}

.ssc-card__media {
aspect-ratio: 16 / 9;
overflow: hidden;
background: #e7ece6;
}

.ssc-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.28s ease;
}

.ssc-card__meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 10px 12px;
}

.ssc-card__meta h3 {
margin: 0;
max-width: calc(100% - 38px);
font-size: 18px;
line-height: 1.15;
font-weight: 500;
color: #1f252c;
}

.ssc-card__icon {
flex: 0 0 30px;
width: 30px;
height: 30px;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--ssc-green);
color: #fff;
font-size: 22px;
line-height: 1;
font-weight: 700;
transition: transform 0.28s ease, background-color 0.28s ease;
}

.ssc-card:hover .ssc-card__media img {
transform: scale(1.03);
}

.ssc-card:hover .ssc-card__icon {
transform: rotate(180deg);
background: var(--ssc-green-dark);
}

.ssc-arrow {
flex: 0 0 46px;
width: 46px;
height: 46px;
border: none;
border-radius: 10px;
background: var(--ssc-green);
color: #fff;
font-size: 24px;
line-height: 1;
font-weight: 700;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.ssc-arrow:hover {
transform: scale(1.04);
background: var(--ssc-green-dark);
}

.ssc-arrow:disabled {
opacity: 0.45;
cursor: default;
}

/* MOBILE HEADER BREAK */

.ssc-mobile-break {
display: inline;
}

@media (max-width: 767px) {
.ssc-mobile-break {
display: block;
}
}

/* TABLET */

@media (max-width: 1199px) {

.ssc-slider__header h2 {
font-size: 34pt;
}

.ssc-slider__header p {
font-size: 15pt;
}

.ssc-card {
flex: 0 0 calc((100% - 12px) / 2);
max-width: calc((100% - 12px) / 2);
}

}

/* MOBILE */

@media (max-width: 767px) {

.ssc-slider {
padding: 24px 12px 34px;
}

.ssc-slider__header {
margin-bottom: 18px;
}

.ssc-slider__header h2 {
font-size: 28pt;
}

.ssc-slider__header p {
font-size: 12.5pt;
line-height: 1.5;
}

.ssc-slider__carousel {
gap: 10px;
}

.ssc-card {
flex: 0 0 100%;
max-width: 100%;
}

.ssc-arrow {
flex-basis: 40px;
width: 40px;
height: 40px;
font-size: 20px;
}

.ssc-card__meta {
justify-content: center;
padding: 12px 14px;
position: relative;
}

.ssc-card__meta h3 {
max-width: 100%;
width: 100%;
text-align: center;
font-size: 16px;
line-height: 1.2;
padding: 0 52px;
}

.ssc-card__icon {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
}

.ssc-card:hover .ssc-card__icon {
transform: translateY(-50%) rotate(180deg);
}

}

/* CTA BUTTON */

.ssc-slider__cta {
display: flex;
justify-content: center;
align-items: center;
margin-top: 48px;
}

.ssc-slider__button {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 220px;
padding: 14px 26px;
background: #69a304;
color: #ffffff;
text-decoration: none;
font-family: "Roboto", sans-serif;
font-size: 18px;
font-weight: 700;
line-height: 1.1;
border-radius: 10px;
transition: background-color 0.28s ease, transform 0.2s ease;
box-shadow: none;
}

.ssc-slider__button:hover,
.ssc-slider__button:focus,
.ssc-slider__button:active {
background: #4f7c03;
color: #ffffff;
transform: translateY(-1px);
box-shadow: none;
text-decoration: none;
}

.ssc-slider__button:focus-visible {
outline: 3px solid rgba(105, 163, 4, 0.22);
outline-offset: 3px;
}

@media (max-width: 767px) {

.ssc-slider__cta {
margin-top: 52px;
}

.ssc-slider__button {
width: 100%;
max-width: 280px;
font-size: 17px;
padding: 13px 20px;
}

}
}