/* ── Northmark shared shell — nav, dropdown, hero, footer, form controls ── */
:root{
  --nm-green:#0e9f6e; --nm-green-d:#087a5a; --nm-green-l:#ecfdf5; --nm-green-b:#cdeee0;
  --nm-ink:#0b1220; --nm-body:#48586a; --nm-muted:#5b6b7b; --nm-faint:#8a97a5;
  --nm-blue:#0b6bd6; --nm-blue-l:#eff6ff; --nm-gold:#b8860b; --nm-gold-l:#fef6e7;
  --nm-red:#c0392b; --nm-red-l:#fdecea; --nm-purple:#7c3aed; --nm-purple-l:#f3f0ff;
  --nm-bg:#f7f9fb; --nm-card:#fff; --nm-line:#eaeef2; --nm-line-2:#eef1f4;
  --nm-r:18px; --nm-r-s:12px;
  --nm-shadow:0 24px 46px -30px rgba(11,18,32,.28);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Satoshi','General Sans',system-ui,-apple-system,sans-serif;background:var(--nm-bg);color:var(--nm-ink);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
::selection{background:var(--nm-green);color:#fff}

/* NAV */
.nm-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--nm-line-2)}
.nm-nav-in{max-width:1240px;margin:0 auto;padding:15px 28px;display:flex;align-items:center;gap:30px}
.nm-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:-.02em}
.nm-logo span{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#0e9f6e,#0b1220);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px}
.nm-links{display:flex;gap:24px;font-size:15px;font-weight:500;color:#3a4a5a;align-items:center}
.nm-links>a{transition:color .2s}
.nm-links>a:hover{color:var(--nm-green)}
.nm-drop{position:relative}
.nm-drop>button{font:inherit;font-weight:500;color:#3a4a5a;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:6px;padding:0}
.nm-drop:hover>button,.nm-drop>button[aria-expanded="true"]{color:var(--nm-green)}
.nm-drop>button svg{transition:transform .2s}
.nm-drop:hover>button svg{transform:rotate(180deg)}
.nm-menu{position:absolute;top:100%;left:-14px;padding-top:14px;min-width:318px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease}
.nm-drop:hover .nm-menu,.nm-menu:hover{opacity:1;visibility:visible;transform:translateY(0)}
.nm-menu-in{background:#fff;border:1px solid var(--nm-line);border-radius:16px;box-shadow:0 26px 54px -26px rgba(11,18,32,.36);padding:8px}
.nm-menu a{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:11px;transition:background .16s}
.nm-menu a:hover{background:#f4f7f9}
.nm-menu .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;font-size:15px}
.nm-menu .tt{font-weight:700;font-size:14px;letter-spacing:-.01em}
.nm-menu .ds{font-size:12.5px;color:var(--nm-faint);margin-top:2px;line-height:1.4}
.nm-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.nm-btn{font-weight:700;font-size:15px;color:#fff;background:var(--nm-ink);padding:11px 20px;border-radius:11px;transition:transform .18s}
.nm-btn:hover{transform:translateY(-2px)}
.nm-btn.g{background:var(--nm-green);box-shadow:0 10px 26px -12px rgba(14,159,110,.6)}
@media(max-width:980px){.nm-links{display:none}}

/* PAGE HEAD */
.nm-wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.nm-head{padding:44px 0 26px}
.nm-eyebrow{display:flex;align-items:center;gap:10px;color:var(--nm-green);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.nm-eyebrow i{width:22px;height:2px;background:var(--nm-green);border-radius:2px;display:block}
.nm-h1{font-size:40px;line-height:1.07;letter-spacing:-.032em;font-weight:900;margin:14px 0 0}
.nm-lede{font-size:18px;color:var(--nm-body);line-height:1.55;margin:14px 0 0;max-width:680px}
.nm-crumb{font-size:13.5px;color:var(--nm-faint);font-weight:600;padding-top:22px}
.nm-crumb a:hover{color:var(--nm-green)}

/* CARDS + CONTROLS */
.nm-card{background:var(--nm-card);border:1px solid var(--nm-line);border-radius:var(--nm-r);box-shadow:var(--nm-shadow);padding:26px}
.nm-sec-t{font-weight:800;font-size:20px;letter-spacing:-.02em;margin:0 0 4px}
.nm-sec-s{font-size:14px;color:var(--nm-muted);margin:0 0 18px}
.nm-label{display:block;font-size:13px;font-weight:600;color:var(--nm-muted);margin-bottom:7px}
.nm-input,.nm-select{width:100%;padding:11px 13px;font:inherit;font-size:14.5px;font-weight:600;border:1.5px solid #e2e8ee;border-radius:var(--nm-r-s);background:#fff;color:var(--nm-ink)}
.nm-input:focus,.nm-select:focus{outline:none;border-color:var(--nm-green);box-shadow:0 0 0 3px rgba(14,159,110,.13)}
.nm-seg{display:flex;gap:8px;flex-wrap:wrap}
.nm-seg button{flex:1;min-width:110px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;padding:10px 8px;border:1.5px solid #e2e8ee;border-radius:var(--nm-r-s);background:#fff;color:var(--nm-muted);transition:all .18s}
.nm-seg button:hover{border-color:#c9d5de}
.nm-seg button.on{background:var(--nm-green-l);border-color:var(--nm-green);color:var(--nm-green-d)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:100px;background:#e4e9ee;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--nm-green);cursor:pointer;box-shadow:0 3px 8px -2px rgba(11,18,32,.3)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--nm-green);cursor:pointer}
.nm-note{font-size:13.5px;line-height:1.6;padding:13px 16px;border-radius:var(--nm-r-s);background:#f4f7f9;color:var(--nm-muted)}
.nm-note.g{background:var(--nm-green-l);color:var(--nm-green-d)}
.nm-note.b{background:var(--nm-blue-l);color:#0b5bb5}
.nm-note.w{background:var(--nm-gold-l);color:#8a6508}
.nm-note.r{background:var(--nm-red-l);color:var(--nm-red)}
.nm-pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:100px}
.nm-fine{font-size:12px;color:var(--nm-faint);line-height:1.6}

/* FOOTER */
.nm-foot{background:var(--nm-ink);color:#fff;margin-top:70px;padding:44px 0 34px}
.nm-foot-in{max-width:1160px;margin:0 auto;padding:0 28px;display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between}
.nm-foot a{color:#a8b6c4;font-size:14px;display:block;margin-top:9px}
.nm-foot a:hover{color:#5eead4}
.nm-foot h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#5f7386;margin:0}
.nm-foot .dis{max-width:1160px;margin:30px auto 0;padding:20px 28px 0;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;color:#7b8b9c;line-height:1.65}
@media(max-width:760px){.nm-h1{font-size:31px}.nm-wrap{padding:0 18px}}
