/* Reviewed North/NW service modules. All component rules stay locally scoped. */
.nhs-module{--nhs-ink:#142217;--nhs-muted:#535c52;--nhs-gold:#8a6b39;color:var(--nhs-ink);font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.75}
.nhs-module *{box-sizing:border-box}
.nhs-module .nhs-inner{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.nhs-hub{padding:76px 0;background:#f5f2eb;border-block:1px solid #e5dfd2}
.nhs-module h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:1.12;letter-spacing:-.02em;margin:0 0 22px;color:var(--nhs-ink);max-width:920px}
.nhs-module h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;font-weight:600;line-height:1.25;margin:0 0 16px;color:var(--nhs-ink)}
.nhs-module h4{font:600 1rem/1.5 'DM Sans',sans-serif;margin:0 0 8px;color:var(--nhs-ink)}
.nhs-module p{margin:0 0 18px;color:var(--nhs-muted);font-size:1rem;line-height:1.75}
.nhs-module .nhs-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#765a2e;margin-bottom:16px}
.nhs-module .nhs-lead{font-size:1.12rem;max-width:900px;margin-bottom:32px}
.nhs-module .nhs-grid{display:grid;gap:24px}
.nhs-module .nhs-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.nhs-module .nhs-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.nhs-module .nhs-card{min-width:0;background:#fff;padding:28px;border:1px solid #e4ddcf;display:flex;flex-direction:column;scroll-margin-top:110px}
.nhs-module .nhs-number{font-size:.8rem;color:#765a2e;font-weight:700;letter-spacing:.12em;margin-bottom:18px}
.nhs-module .nhs-card>.nhs-link{margin-top:auto;padding-top:22px}
.nhs-module .nhs-check{border-top:1px solid #dfdfd4;padding-top:20px;margin-top:8px;min-width:0}
.nhs-module .nhs-check p{font-size:.94rem;margin-bottom:10px}
.nhs-module a{color:#53683e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.nhs-module a:hover{color:#1b331e}
.nhs-module a:focus-visible,.nhs-module summary:focus-visible{outline:3px solid #9b7638;outline-offset:5px;border-radius:2px}
.nhs-module .nhs-link{font-weight:700;font-size:.93rem}
.nhs-module .nhs-sources{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:4px 14px}
.nhs-module .nhs-sources li{font-size:.8rem;line-height:1.55;margin:0;padding:0}
.nhs-module .nhs-next{margin-top:32px;padding:30px;background:#e9e9df;border-left:3px solid #987745;display:flex;align-items:center;gap:32px;justify-content:space-between}
.nhs-module .nhs-next>div{max-width:780px}
.nhs-module .nhs-next p:last-child{margin:0}
.nhs-module .nhs-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;background:#182d1c;color:#fff;text-decoration:none;font-weight:700;font-size:.92rem;flex-shrink:0;text-align:center}
.nhs-module .nhs-button:hover{background:#304b30;color:#fff}
.nhs-module .nhs-section{padding:64px 0;scroll-margin-top:100px}
.nhs-module .nhs-tint{background:#f5f2eb}
.nhs-module .nhs-guide-nav{background:#182d1c;padding:17px 0}
.nhs-module .nhs-guide-nav .nhs-inner{display:flex;flex-wrap:wrap;gap:10px 24px}
.nhs-module .nhs-guide-nav a{color:#fff;font-size:.87rem;min-height:30px;display:flex;align-items:center}
.nhs-module .nhs-detail{padding:24px;border:1px solid #dddccf}
.nhs-module .nhs-detail p:last-child{margin:0}
.nhs-module .nhs-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;list-style:decimal-leading-zero;padding-left:32px;margin:0}
.nhs-module .nhs-stages li{padding-left:12px}
.nhs-module .nhs-stages li::marker{color:#765a2e;font-weight:700}
.nhs-module .nhs-brief-list{padding-left:24px;max-width:960px}
.nhs-module .nhs-brief-list li{margin-bottom:12px;padding-left:8px}
.nhs-module .nhs-faq{max-width:960px}
.nhs-module .nhs-faq details{border-bottom:1px solid #d4d6c9;padding:20px 0}
.nhs-module .nhs-faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;line-height:1.5;padding-right:20px;color:#142217}
.nhs-module .nhs-faq details>div{padding:18px 18px 0 0}
.nhs-module .nhs-portfolio{padding-block:28px}
@media(max-width:1000px){.nhs-module .nhs-three{grid-template-columns:1fr}.nhs-module .nhs-card{padding:28px}.nhs-module .nhs-next{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:640px){.nhs-module .nhs-inner{width:calc(100% - 40px)}.nhs-hub{padding:48px 0}.nhs-module .nhs-section{padding:44px 0}.nhs-module .nhs-two,.nhs-module .nhs-stages{grid-template-columns:1fr}.nhs-module .nhs-card,.nhs-module .nhs-detail{padding:22px}.nhs-module .nhs-next{padding:24px}.nhs-module .nhs-button{width:100%}.nhs-module .nhs-guide-nav .nhs-inner{gap:10px 18px}.nhs-module .nhs-lead{font-size:1.04rem}}
