/* Approved Soft Sage: open imagery, layered section dots, no corner stamps. */
.complete-site.soft-sage{--paper:#edf0e8;--ink:#243d2e;--muted:#526451;--rule:#b8c4b3;--accent:#426d4a;--sage:#dce5d5;background:var(--paper);color:var(--ink);caret-color:var(--accent);scrollbar-color:#91a48c var(--paper);overflow-x:clip}
.soft-sage ::selection{background:#cedbbd;color:#24382a}
.soft-sage :is(.site-header,.product-menu>div,.complete-footer){background:var(--paper);color:var(--ink)}
.soft-sage .edition-rail,.soft-sage .stage-footer-links{background:var(--sage);color:var(--ink)}
.soft-sage .logo-lockup img{mix-blend-mode:multiply}
.soft-sage :is(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.soft-sage :is(.services-intro,.page-contact,.brochure-index,.brochure-summary h2){background:var(--sage);color:var(--ink)}
.soft-sage .page-contact a:focus-visible{outline-color:var(--ink)}
.soft-sage .dot-section{position:relative;isolation:isolate}
.soft-sage .section-dots{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.soft-sage .product-directory{overflow:clip}
.soft-sage .product-directory article{padding-block:105px;gap:9vw;border-top:0}
.soft-sage .product-directory article+article{border-top:1px solid var(--rule)}
.soft-sage .product-directory h3{font-size:clamp(2.25rem,3.7vw,3.6rem)}
.soft-sage .product-directory article>div{position:relative;z-index:2}
.soft-sage .dot-image{position:relative;isolation:isolate;z-index:1;background:transparent;padding:0;overflow:visible;align-self:center;margin-block:18px 28px}
.soft-sage .product-image{padding:0;background:transparent;overflow:visible}
.soft-sage .dot-image img{position:relative;z-index:1;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0;filter:none;box-shadow:0 18px 38px -28px #18322465;transition:none}
.soft-sage .product-image:hover img{transform:none}
.soft-sage .image-dots{position:absolute;inset:-70px -85px;width:calc(100% + 170px);height:calc(100% + 140px);z-index:0;pointer-events:none}
.soft-sage .dot-image figcaption{position:relative;z-index:1;background:var(--paper);color:var(--muted);width:fit-content;padding:3px 12px 3px 0;margin-top:17px;max-width:100%;font-size:.75rem}
.soft-sage .product-hero{padding-block:55px 105px;gap:8vw}
.soft-sage .product-hero figure{padding:0;background:transparent}
.soft-sage .product-hero figure img{max-height:none}
.soft-sage .product-directory .product-image:has(img[src$="emp_map.png"]){width:88%;justify-self:center}
.soft-sage .product-hero figure:has(img[src$="emp_map.png"]){width:88%;justify-self:center}
.soft-sage .object-figure{padding:60px 15vw!important;background:var(--paper);text-align:center;overflow:hidden}
.soft-sage .object-figure img{max-height:460px;object-fit:contain;box-shadow:none}
.soft-sage .object-figure figcaption{margin:20px auto 0}
.soft-sage .video-placeholder{border:0;background:transparent;padding:0}
.soft-sage .video-placeholder figcaption{display:flex;width:100%;padding:20px 0;background:var(--paper);font-size:.9375rem}
.soft-sage .video-placeholder img{max-height:none}
.soft-sage .blog-teaser .dot-image{margin:18px 0}
.soft-sage .brochure-product .dot-image{margin-top:40px;margin-bottom:35px}
.soft-sage .brochure-product img{padding:0}
.soft-sage .contact-form{position:relative;z-index:1}
.soft-sage .contact-form :is(input:not([type=hidden]),textarea,select){background:#f5f7ef;border-color:var(--rule);color:var(--ink)}
.soft-sage .contact-form :is(input,textarea)::placeholder{color:#586951;opacity:1}
.soft-sage .feature-list details{background:transparent;padding-inline:0}
.soft-sage .feature-list summary{cursor:pointer}
.soft-sage .feature-list summary b{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;transition:background-color .25s}
.soft-sage .feature-list summary:hover b,.soft-sage .feature-list details[open] summary b{background:var(--sage)}
.soft-sage .product-next nav a{padding-block:10px;border-bottom:1px solid var(--rule)}
.soft-sage .complete-footer{border-top:1px solid var(--rule)}
@media(max-width:1000px){.soft-sage .product-directory article{padding-block:75px;gap:6vw}.soft-sage .image-dots{inset:-60px -45px;width:calc(100% + 90px);height:calc(100% + 120px)}}
@media(max-width:700px){.soft-sage .product-directory article{padding-block:55px;gap:30px}.soft-sage .product-hero{padding:30px 20px 65px;gap:35px}.soft-sage .dot-image{margin:28px 0}.soft-sage .image-dots{inset:-48px -28px;width:calc(100% + 56px);height:calc(100% + 96px)}.soft-sage .section-dots{opacity:.85}.soft-sage .product-directory .product-image:has(img[src$="emp_map.png"]),.soft-sage .product-hero figure:has(img[src$="emp_map.png"]){width:100%}.soft-sage .video-placeholder figcaption{display:block;padding-block:16px}.soft-sage .object-figure{padding:35px 20px!important}.soft-sage .product-directory h3{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){.soft-sage .feature-list summary b{transition:none}}

/* Image-box dot frames retired (Sept 26); the density field in density-dots.js replaces them. */
.image-dots{display:none!important}
