#dss-service-navigation { --green:#a9cf45; display:flex; align-items:center; justify-content:space-between; padding:0 max(20px,calc((100vw - 1180px)/2)); position:relative; background:#fff; color:#151515; font-size:16px; line-height:1.5; }
#dss-service-navigation * { box-sizing:border-box; }
#dss-service-navigation .brand { display:flex; flex-shrink:0; }
#dss-service-navigation .brand img { width:145px; height:80px; object-fit:contain; }
#dss-service-navigation .primary-nav { display:flex; align-items:center; gap:1.5rem; font-size:1rem; font-weight:700; }
#dss-service-navigation a { color:inherit; text-decoration:none; }
#dss-service-navigation .quote { background:var(--green); padding:1rem 1.35rem; white-space:nowrap; }
#dss-service-navigation a:focus-visible { outline:3px solid #698d24; outline-offset:4px; }
#dss-new-service-bar { --green:#a9cf45; position:relative; z-index:4; }
#dss-new-service-bar a { color:#151515; text-decoration:none; }
#dss-service-navigation { z-index: 5; height: auto; min-height: 94px; gap: 2rem; }
#dss-service-navigation .primary-nav { align-self: stretch; }
#dss-service-navigation .primary-nav a:not(.quote) { display: flex; }
#dss-service-navigation .primary-nav > a { align-items: center; min-height: 44px; }
#dss-service-navigation .primary-nav > .quote { align-self: center; }
#dss-service-navigation .services-dropdown { display: block; align-self: stretch; }
#dss-service-navigation .services-dropdown summary { display: flex; align-items: center; gap: .6rem; height: 100%; min-height: 44px; padding: .75rem 0; cursor: pointer; list-style: none; }
#dss-service-navigation .services-dropdown summary::-webkit-details-marker { display: none; }
#dss-service-navigation .nav-chevron { width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
#dss-service-navigation .services-dropdown[open] .nav-chevron { transform: rotate(225deg) translate(-2px, -2px); }
#dss-service-navigation .services-panel { position: absolute; top: 100%; right: 4vw; width: min(46rem, 92vw); max-height: min(36rem, 75dvh); overflow-y: auto; overscroll-behavior: contain; padding: 1.5rem; background: #fff; color: #151515; border-top: 4px solid var(--green); box-shadow: 0 16px 35px #0003; }
#dss-service-navigation .services-dropdown:not([open]) .services-panel { display: none; }
#dss-service-navigation .service-new-link { flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: 1rem; margin-bottom: 1rem; background: #eef6da; }
#dss-service-navigation .new-service-label { font: 700 .875rem Manrope, Arial, sans-serif; line-height: 1.4; }
#dss-service-navigation .service-new-link .new-service-label { background: #151515; color: #fff; padding: .3rem .5rem; }
#dss-service-navigation .services-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem 1.25rem; list-style: none; padding: 0; margin: 0; }
#dss-service-navigation .services-list a { min-height: 44px; align-items: center; padding: .6rem .75rem; white-space: normal; line-height: 1.5; font-size: .9375rem; font-weight: 600; }
#dss-service-navigation .services-list .all-services { grid-column: 1 / -1; border-top: 1px solid #ddd; margin-top: .65rem; padding-top: .5rem; }
#dss-service-navigation .services-panel a:hover, #dss-service-navigation .services-panel a:focus-visible { background: #eef6da; }
#dss-service-navigation .services-dropdown summary:focus-visible, #dss-service-navigation .mobile-nav-toggle:focus-visible { outline: 3px solid #698d24; outline-offset: 4px; }
#dss-new-service-bar { background: var(--green); color: #151515; }
#dss-new-service-bar > a { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .4rem 1rem; min-height: 50px; padding: .75rem 5vw; line-height: 1.5; font-size: 1rem; }
#dss-new-service-bar .new-service-label { border-right: 1px solid #15151566; padding-right: 1rem; }
#dss-new-service-bar a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
#dss-new-service-bar a:focus-visible { outline-offset: -5px; outline-color: #151515; }
#dss-service-navigation .mobile-nav-toggle { display: none; background: #fff; color: #151515; border: 1px solid #bbb; padding: .65rem .9rem; min-height: 44px; font: 700 1rem Manrope, Arial, sans-serif; cursor: pointer; }
#dss-service-navigation .mobile-nav-toggle[hidden] { display: none; }
@media (max-width: 1000px) {
  #dss-service-navigation { min-height: 74px; padding: .5rem 5vw; flex-wrap: wrap; gap: .5rem 1rem; }
  #dss-service-navigation .brand img { width: 115px; height: 60px; }
  .dss-3dp-nav-ready #dss-service-navigation .mobile-nav-toggle { display: flex; align-items: center; gap: .75rem; }
  #dss-service-navigation .primary-nav { flex: 0 0 100%; display: flex; flex-wrap: wrap; align-items: stretch; gap: .25rem 1rem; padding: .5rem 0 1rem; }
  .dss-3dp-nav-ready #dss-service-navigation .primary-nav { display: none; }
  .dss-3dp-nav-ready #dss-service-navigation[data-nav-open] .primary-nav { display: flex; flex-direction: column; }
  #dss-service-navigation .primary-nav > a, #dss-service-navigation .services-dropdown summary { padding: .75rem .5rem; }
  #dss-service-navigation .primary-nav > .quote { align-self: flex-start; padding: .85rem 1rem; }
  #dss-service-navigation .services-dropdown { align-self: auto; }
  #dss-service-navigation .services-dropdown summary { height: auto; }
  #dss-service-navigation .services-panel { position: static; width: 100%; max-height: 55dvh; padding: 1rem; box-shadow: none; border: 1px solid #ddd; border-top: 3px solid var(--green); }
  #dss-service-navigation .service-new-link { white-space: normal; }
}
@media (max-width: 600px) {
  #dss-service-navigation .services-list { grid-template-columns: 1fr; }
  #dss-new-service-bar > a { gap: .4rem .75rem; font-size: .9375rem; }
  #dss-new-service-bar .new-service-label { padding-right: .75rem; }
}

.dss-3dp-service-entry { padding:2rem; margin:2rem auto; width:min(1140px,calc(100% - 40px)); border-left:5px solid #a9cf45; background:#f3f7eb; color:#151515; }
.dss-3dp-service-entry h2 { font-size:clamp(1.6rem,3vw,2.5rem); margin:.5rem 0; }
.dss-3dp-service-entry a { color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.dss-3dp-service-entry p { font-size:1rem; line-height:1.6; margin:0; }
