/* ECOSM homepage v1 — scoped to the new SP Page Builder sections. */
.ecosm-home { color:#192638; font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
.ecosm-home *, .ecosm-home *::before, .ecosm-home *::after { box-sizing:border-box; }
.ecosm-home h1, .ecosm-home h2, .ecosm-home h3 { color:inherit; font-family:inherit; font-weight:700; letter-spacing:-.035em; margin:0 0 20px; line-height:1.12; }
.ecosm-home h1 { font-size:clamp(42px,6vw,78px); max-width:900px; }
.ecosm-home h2 { font-size:clamp(30px,4vw,48px); }
.ecosm-home h3 { font-size:25px; }
.ecosm-home p { margin:0 0 22px; }
.ecosm-home .ecosm-eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; line-height:1.6; color:#167279; margin:0 0 18px; }
.ecosm-hero, .ecosm-screen, .ecosm-close { color:#f6f9fd; }
.ecosm-hero .ecosm-eyebrow,.ecosm-screen .ecosm-eyebrow,.ecosm-close .ecosm-eyebrow { color:#81e1db; }
.ecosm-hero h1 span { color:#81e1db; }
.ecosm-home .ecosm-lead { max-width:740px; color:#cbd5e2; font-size:20px; }
.ecosm-actions { display:flex; gap:14px; flex-wrap:wrap; margin:28px 0; }
.ecosm-home a.ecosm-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:14px 22px; border:1px solid #81e1db; border-radius:6px; color:#101824; background:#81e1db; font-size:15px; font-weight:700; text-decoration:none; transition:background .15s ease; }
.ecosm-home a.ecosm-button:hover { background:#b8f0eb; color:#101824; }
.ecosm-home a.ecosm-button-quiet { color:#f6f9fd; border-color:#65758b; background:transparent; }
.ecosm-home a:focus-visible { outline:3px solid #d18a00; outline-offset:5px; }
.ecosm-tags { display:flex; flex-wrap:wrap; gap:10px; }
.ecosm-tags span { padding:5px 12px; color:#cad7e6; border:1px solid #354355; border-radius:4px; font-size:12px; font-weight:700; }
.ecosm-screen { padding-top:0!important; }
.ecosm-shot-heading { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; color:#cbd5e2; font-size:14px; }
.ecosm-product-shot img { width:100%!important; height:auto!important; max-width:100%; border:1px solid #405069; border-radius:8px; box-shadow:0 24px 64px #0005; }
.ecosm-section-heading { max-width:790px; margin-bottom:34px; }
.ecosm-section-heading > p:last-child { color:#52657b; font-size:18px; }
.ecosm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ecosm-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ecosm-card { border:1px solid #d7e0e9; border-radius:10px; padding:30px; background:#fff; }
.ecosm-card p { color:#52657b; }
.ecosm-number { color:#167279; display:block; font-size:15px; font-weight:700; margin-bottom:32px; }
.ecosm-solution { display:flex; flex-direction:column; }
.ecosm-home a.ecosm-text-link { margin-top:auto; color:#12616b; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.ecosm-home a.ecosm-text-link:hover { color:#0a3d43; }
.ecosm-offer-primary { border:2px solid #16818a; }
.ecosm-home .ecosm-price { font-size:48px; line-height:1.2; letter-spacing:-.04em; font-weight:700; color:#192638; }
.ecosm-price small { display:block; font-size:14px; letter-spacing:0; font-weight:400; margin-top:8px; color:#52657b; }
.ecosm-offer ul { padding-left:22px; margin:24px 0 0; }
.ecosm-offer li { margin:10px 0; }
.ecosm-support-note { margin-top:24px!important; max-width:870px; color:#52657b; font-size:14px; }
.ecosm-closing { max-width:850px; }
.ecosm-closing > p:not(.ecosm-eyebrow) { color:#cbd5e2; font-size:18px; }
@media(max-width:767px) { .ecosm-grid,.ecosm-grid-two { grid-template-columns:1fr; } .ecosm-card { padding:24px; } .ecosm-home h1 { font-size:42px; } .ecosm-home .ecosm-lead { font-size:18px; } .ecosm-shot-heading { gap:0; } .ecosm-home .ecosm-price { font-size:40px; } }
@media(prefers-reduced-motion:reduce) { .ecosm-home a { transition:none!important; } }

/* ECOSM navigation — 14 October 2026. */
#sp-header { background:#fff; box-shadow:0 1px 0 #e5ebef; }
#sp-header .sp-megamenu-parent { margin:0; }
#sp-header .sp-megamenu-parent > li.sp-menu-item {
  background:transparent !important; margin:5px 3px; border-radius:7px;
}
#sp-header .sp-megamenu-parent > li.sp-menu-item > a,
#sp-header .sp-megamenu-parent > li.sp-menu-item > span {
  padding:0 18px; color:#25364a; font-family:Arial,Helvetica,sans-serif;
  font-size:13px; font-weight:700; letter-spacing:.015em;
  line-height:44px; border-radius:7px; transition:background .15s,color .15s;
}
#sp-header .sp-megamenu-parent > li.sp-menu-item > a:hover,
#sp-header .sp-megamenu-parent > li.sp-menu-item > a:focus-visible {
  background:#e3f7f5 !important; color:#105c61 !important;
}
/* One consistent indicator of the current page, including Play-Out. */
#sp-header .sp-megamenu-parent > li.sp-menu-item.active > a,
#sp-header .sp-megamenu-parent > li.sp-menu-item > a[aria-current="page"] {
  background:#12616b !important; color:#fff !important;
}
#sp-header .sp-megamenu-parent a:focus-visible,
#offcanvas-toggler:focus-visible {
  outline:2px solid #12616b; outline-offset:3px;
}
#sp-header .sp-dropdown .sp-dropdown-inner {
  border:1px solid #e2e9ef; border-radius:8px; background:#fff;
  box-shadow:0 12px 30px rgba(16,24,36,.1); padding:14px;
}
#sp-header .sp-dropdown .sp-dropdown-items > li.sp-menu-item > a {
  color:#25364a; border-radius:5px; padding:10px 12px;
}
#sp-header .sp-dropdown .sp-dropdown-items > li.sp-menu-item > a:hover {
  color:#105c61 !important; background:#e3f7f5 !important;
}
#sp-header .sp-dropdown .sp-dropdown-items > li.sp-menu-item.active > a {
  color:#fff !important; background:#12616b !important;
}
@media (min-width:992px) and (max-width:1199px) {
  #sp-header .sp-megamenu-parent > li.sp-menu-item { margin:4px 1px; }
  #sp-header .sp-megamenu-parent > li.sp-menu-item > a,
  #sp-header .sp-megamenu-parent > li.sp-menu-item > span {
    padding:0 10px; font-size:12px;
  }
}
@media (max-width:991px) {
  #offcanvas-toggler .burger-icon > span { background:#25364a !important; }
  .offcanvas-menu .offcanvas-inner .sp-module ul.menu > li > a {
    color:#25364a; padding-top:12px; padding-bottom:12px;
  }
  .offcanvas-menu .offcanvas-inner .sp-module ul.menu > li.active > a {
    color:#fff !important; background:#12616b !important; border-radius:5px;
  }
}
@media (prefers-reduced-motion:reduce) {
  #sp-header .sp-megamenu-parent a { transition:none !important; }
}

/* ECOSM footer — 15 October 2026. */
#sp-bottom, #sp-footer {
  background:#101824 !important; color:#cbd5e2 !important;
  font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.7;
}
#sp-bottom { padding:56px 0 28px !important; border-top:1px solid #29384a; }
#sp-bottom .sp-module { margin-bottom:28px; }
#sp-bottom .sp-module .sp-module-title {
  color:#81e1db !important; font-size:15px; font-weight:700;
  letter-spacing:.06em; line-height:1.4; margin:0 0 22px;
}
#sp-bottom p, #sp-bottom .custom { color:#cbd5e2; }
#sp-bottom p { margin:0 0 14px; }
#sp-bottom strong, #sp-bottom b { color:#f6f9fd; }
#sp-bottom a, #sp-footer a { color:#dbe6ef !important; }
#sp-bottom a:hover, #sp-footer a:hover { color:#81e1db !important; }
#sp-bottom a:focus-visible, #sp-footer a:focus-visible {
  outline:2px solid #81e1db; outline-offset:4px;
}
#sp-bottom .sp-module ul.menu > li { margin:0 0 10px; }
#sp-bottom .sp-module ul.menu > li > a {
  padding:0; background:transparent !important; font-size:14px; line-height:1.7;
}
#sp-bottom .social-icons { margin-top:12px; }
#sp-bottom .social-icons > li { display:inline-block; margin:0 8px 0 0; }
#sp-bottom .social-icons a {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; min-height:36px; border:1px solid #405069;
  border-radius:6px; background:transparent !important;
}
#sp-bottom .social-icons a i { color:#81e1db !important; }
#sp-bottom form input[type="text"],
#sp-bottom form input[type="email"] {
  display:block; width:100% !important; max-width:360px;
  min-height:44px; margin:0 0 10px; padding:10px 12px;
  border:1px solid #52657b; border-radius:6px;
  background:#fff; color:#192638; box-sizing:border-box; font-size:15px;
}
#sp-bottom form input::placeholder { color:#52657b; opacity:1; }
#sp-bottom form input:focus-visible {
  outline:2px solid #81e1db; outline-offset:3px;
}
#sp-bottom form button, #sp-bottom form input[type="submit"],
#sp-bottom form input[type="button"] {
  min-height:42px; padding:9px 16px; margin:0 8px 8px 0;
  border:1px solid #81e1db !important; border-radius:6px;
  background:#81e1db !important; color:#101824 !important;
  font-size:14px; font-weight:700; cursor:pointer;
}
#sp-bottom form button:hover, #sp-bottom form input[type="submit"]:hover {
  background:#62d3cc !important;
}
#sp-bottom form button:focus-visible, #sp-bottom form input[type="submit"]:focus-visible {
  outline:2px solid #fff; outline-offset:3px;
}
#sp-bottom form label { color:#cbd5e2; }
#sp-footer .container-inner {
  border-top:1px solid #29384a; padding:20px 0;
}
@media (max-width:767px) {
  #sp-bottom { padding-top:36px !important; }
  #sp-bottom .sp-module { margin-bottom:32px; }
  #sp-bottom form input[type="text"], #sp-bottom form input[type="email"] { max-width:none; }
}
