:root {
  --canvas: #fbfbfd;
  --white: #ffffff;
  --mist: #f5f5f7;
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --soft: #626267;
  --line: rgba(0, 0, 0, 0.08);
  --blue: #0071e3;
  --blue-deep: #0077ed;
  --shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.47;
  letter-spacing: -0.022em;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(0, 113, 227, .42); outline-offset: 3px; }
::selection { background: #0071e3; color: white; }
img { max-width: 100%; }
.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  transform: translateY(-160%);
  border-radius: 8px;
  background: var(--ink);
  color: white;
}
.skip-link:focus { transform: translateY(0); }

.nav {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 28px;
  height: 52px;
  padding: 0 max(22px, calc((100% - 1120px) / 2));
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--line);
}
.brand {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.022em;
  text-decoration: none;
  color: var(--ink);
  flex: none;
}
.links {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: auto;
}
.links a {
  font-size: 14px;
  text-decoration: none;
  color: var(--ink);
  opacity: 0.88;
}
.links a:hover,
.links a[aria-current="page"] { opacity: 1; }
.nav .btn { margin-left: 4px; flex: none; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 980px;
  background: var(--blue);
  color: white;
  font-size: 15px;
  letter-spacing: -0.015em;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover { background: var(--blue-deep); }
.btn.dark { background: var(--ink); }
.btn.dark:hover { background: #333336; }
.btn.quiet {
  background: transparent;
  color: var(--blue);
  padding: 0 8px;
}
.btn.quiet:hover { background: transparent; text-decoration: underline; }
.btn:disabled { opacity: 0.45; cursor: default; }

.hero {
  display: flex;
  align-items: center;
  min-height: calc(100svh - 52px);
  padding: 48px 24px 72px;
  text-align: center;
}
.hero-inner { width: min(860px, 100%); margin: 0 auto; }
.eyebrow { margin: 0 0 20px; color: var(--blue); font-size: 14px; font-weight: 600; letter-spacing: .01em; }
h1, h2, h3 { font-weight: 600; letter-spacing: -0.03em; }
h1 {
  margin: 0 auto;
  max-width: 11em;
  font-size: clamp(48px, 6.4vw, 80px);
  line-height: 1.05;
  text-wrap: balance;
}
.sub {
  max-width: 40rem;
  margin: 20px auto 0;
  color: var(--muted);
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: -0.016em;
  text-wrap: balance;
}
.actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.link {
  color: var(--blue);
  font-size: 17px;
  text-decoration: none;
}
.link:hover { text-decoration: underline; }
.hero-note { max-width: 36rem; margin: 26px auto 0; color: var(--soft); font-size: 14px; }
.hero-note span { margin-right: 5px; color: #31a36b; font-size: 10px; vertical-align: 2px; }

.section { padding: 108px 0; }
.section.mist { background: var(--mist); }
.wrap { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.wrap.narrow { width: min(760px, calc(100% - 48px)); }
.center { text-align: center; }
h2 {
  margin: 0 auto 14px;
  max-width: 16em;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  text-wrap: balance;
}
.lede {
  max-width: 36rem;
  margin: 0 auto;
  color: var(--muted);
  font-size: 19px;
  line-height: 1.45;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 28px 26px 30px;
}
.card h3 { margin: 8px 0 10px; font-size: 22px; letter-spacing: -0.022em; line-height: 1.2; }
.card p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.45; }
.kicker {
  margin: 0;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 56px;
  text-align: left;
}
.steps span {
  display: block;
  margin-bottom: 12px;
  color: var(--blue);
  font-size: 21px;
  font-weight: 600;
}
.steps h3 { margin: 0 0 8px; font-size: 22px; }
.steps p { margin: 0; color: var(--muted); font-size: 16px; }

.demo-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}
.demo-card {
  min-width: 0;
  padding: 22px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
}
.demo-card h3 { margin: 12px 0 8px; font-size: 20px; line-height: 1.2; }
.demo-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.demo-step { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.demo-gate { border-color: rgba(0, 113, 227, .3); background: #f2f8ff; }
.exception-note {
  max-width: 58rem;
  margin: 20px auto 0;
  padding: 14px 18px;
  border-left: 3px solid var(--blue);
  background: var(--mist);
  color: var(--soft);
  font-size: 14px;
}
.scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.scope-card { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.scope-card h3 { margin: 8px 0; font-size: 20px; }
.scope-card p:last-child { margin: 0; color: var(--muted); font-size: 15px; }
.scope-note { margin: 18px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--mist); color: var(--soft); font-size: 14px; }

.band {
  padding: 96px 24px;
  background: var(--white);
  text-align: center;
  border-top: 1px solid var(--line);
}
.band h2 { max-width: 14em; }

footer.site {
  padding: 28px 0 36px;
  background: var(--mist);
  color: var(--soft);
  font-size: 12px;
}
.foot {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.foot a { color: inherit; }

.page {
  width: min(680px, calc(100% - 40px));
  margin: 0 auto;
  padding: 56px 0 96px;
}
.page h1 { max-width: none; font-size: clamp(40px, 5vw, 56px); text-align: left; }
.meter {
  height: 4px;
  margin: 22px 0 8px;
  background: #e8e8ed;
  border-radius: 999px;
  overflow: hidden;
}
.meter span {
  display: block;
  height: 100%;
  background: var(--blue);
  border-radius: inherit;
}
.step-label { margin: 0 0 28px; color: var(--soft); font-size: 13px; font-weight: 600; }
.privacy-note { margin: 28px 0 0; color: var(--soft); font-size: 13px; }
.form-error { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: #fff1f0; color: #9b1c14; font-size: 14px; }
.step { display: none; }
.step.on { display: block; }
.step h2 { margin: 0 0 8px; max-width: none; text-align: left; font-size: 32px; }
.step .hint { margin: 0 0 22px; color: var(--muted); font-size: 16px; }

.fields { display: grid; gap: 14px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label.field { display: flex; flex-direction: column; gap: 6px; }
label.field span { font-size: 14px; font-weight: 500; }
input, select {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: var(--mist);
  outline: none;
}
input:focus, select:focus { background: white; box-shadow: 0 0 0 2px var(--blue); }
.choices { display: grid; gap: 10px; }
.check {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  cursor: pointer;
}
.check input { width: 18px; height: 18px; accent-color: var(--blue); }
.check:has(input:checked) {
  border-color: var(--blue);
  box-shadow: 0 0 0 1px var(--blue);
}
.figure {
  margin: 8px 0 4px;
  font-size: 64px;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}
.figure small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.016em;
}
.slider { margin: 18px 0 28px; }
input[type="range"] {
  height: 4px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  accent-color: var(--blue);
}
.step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}
.thanks h2 { font-size: clamp(40px, 5vw, 56px); }
.summary {
  margin-top: 18px;
  padding: 18px 18px 8px;
  border-radius: 16px;
  background: var(--mist);
}
.summary p { margin: 0 0 10px; }

.desk { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 40px 0 80px; }
.desk-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 18px; }
.desk-head h1 { font-size: 40px; max-width: none; }
.note { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.draft-note { margin: 18px 0; padding: 12px 14px; border-radius: 12px; background: #fff8e7; color: #5e4b19; font-size: 14px; }
table { width: 100%; border-collapse: collapse; background: white; border-radius: 16px; overflow: hidden; }
.table-scroll { overflow-x: auto; border-radius: 16px; -webkit-overflow-scrolling: touch; }
th, td { text-align: left; padding: 16px 14px; border-bottom: 1px solid var(--line); font-weight: 400; }
th { color: var(--soft); font-size: 12px; font-weight: 600; background: var(--mist); }
.lead-open { border: 0; padding: 0; background: transparent; color: var(--blue); text-align: left; font-weight: 600; cursor: pointer; }
.lead-open:hover { text-decoration: underline; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
.empty {
  padding: 48px 20px;
  text-align: center;
  color: var(--muted);
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
}

.back { color: var(--blue); text-decoration: none; font-size: 14px; }
.meta { margin: 8px 0 0; color: var(--muted); }
.stats {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 20px;
  margin: 28px 0;
}
.stat {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  box-shadow: var(--shadow);
}
.stat .figure { font-size: 52px; }
.auto { margin: 0; padding: 0; list-style: none; }
.auto li { padding: 14px 0; border-top: 1px solid var(--line); }
.auto strong { display: block; font-weight: 600; }
.auto span { color: var(--muted); font-size: 15px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media (max-width: 860px) {
  .nav { height: auto; flex-wrap: wrap; padding: 12px 16px 14px; gap: 10px 16px; }
  .links { order: 3; width: 100%; margin-left: 0; gap: 16px; overflow-x: auto; }
  .cards, .steps, .demo-flow, .scope-grid, .stats, .two { grid-template-columns: 1fr; }
  .hero { min-height: auto; padding: 64px 20px 48px; }
  h1 { font-size: 44px; }
  .section { padding: 72px 0; }
  .wrap, .desk, .foot { width: min(1120px, calc(100% - 32px)); }
  .desk-head { display: block; }
  .table-scroll table { min-width: 720px; }
}

@media print {
  .nav, .noprint, footer.site, .step-nav { display: none !important; }
  body { background: white; }
  .desk { width: auto; padding: 0; }
  .card, .stat { box-shadow: none; }
  .scope-grid, .stats { break-inside: avoid; }
  .draft-note { border: 1px solid #b99d4e; background: white; }
}
@page { size: letter; margin: 16mm; }


/* North & Measure editorial direction */
:root{--canvas:#f7f3e9;--white:#fffdf8;--mist:#eee9de;--ink:#11221f;--muted:#59635e;--soft:#46524d;--line:rgba(30,44,38,.15);--blue:#264f43;--blue-deep:#183a32;--oxblood:#812c39;--gold:#a38345;--shadow:0 8px 32px rgba(31,37,31,.07);--font:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;color-scheme:light}
body{background:var(--canvas);color:var(--ink);font-family:var(--font);letter-spacing:0;line-height:1.55;font-size:17px}
button,input,select,textarea{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
:focus-visible{outline:3px solid #9f654e!important;outline-offset:3px}
::selection{background:#b49258;color:#10211d}
.home .nav{height:76px;padding-inline:max(28px,calc((100% - 1280px)/2));background:rgba(248,245,237,.96);border-color:rgba(20,40,34,.13);backdrop-filter:blur(12px)}
.brand{display:flex;flex-direction:column;color:var(--ink);font-family:var(--font);font-size:24px;font-weight:600;letter-spacing:-.045em;line-height:1.03}.brand small{margin-top:6px;color:#766c53;font-family:Arial,sans-serif;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.home-nav .links{gap:30px}.home-nav .links a{font-size:13px;font-family:Arial,sans-serif;letter-spacing:.01em}.home-nav .btn,.btn{min-height:46px;padding:0 21px;border-radius:4px;background:var(--blue);font-family:Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.01em}.home-nav .btn{gap:12px}.btn:hover{background:var(--blue-deep)}.btn-oxblood{background:var(--oxblood)}.btn-oxblood:hover{background:#65212c}
.nm-hero{position:relative;display:flex;min-height:min(690px,calc(100svh - 76px));align-items:center;isolation:isolate;overflow:hidden;background:#12231f url('/images/hero-mainstreet.jpg') center 52%/cover no-repeat;color:#fffdf7}.nm-hero:before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(9,23,21,.91) 0%,rgba(11,25,22,.78) 38%,rgba(12,26,23,.16) 80%),linear-gradient(0deg,rgba(7,18,16,.24),transparent 36%)}.nm-hero-content{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:80px 0 110px}.nm-eyebrow{margin:0 0 20px;color:#d3bd88;font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.nm-eyebrow-dark{color:#74603a}.nm-hero h1{max-width:940px;margin:0;font-size:clamp(44px,5.8vw,74px);font-weight:400;letter-spacing:-.055em;line-height:1.02;text-wrap:balance}.nm-intro{max-width:600px;margin:26px 0 0;color:rgba(255,253,247,.9);font-size:20px;line-height:1.48;text-wrap:pretty}.nm-benefits{display:flex;gap:26px;flex-wrap:wrap;margin:36px 0 0}.nm-benefits span{display:flex;align-items:center;gap:10px;color:#f0ebdc;font-family:Arial,sans-serif;font-size:12px}.nm-benefits b{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid rgba(226,211,170,.72);border-radius:50%;color:#e7d59f;font-size:9px}.nm-actions{justify-content:flex-start;gap:26px;margin-top:34px}.nm-text-link{color:#f0e8d4;font-family:Arial,sans-serif;font-size:13px;text-decoration:underline;text-underline-offset:5px}.nm-control-note{max-width:470px;margin:22px 0 0;color:rgba(245,241,229,.73);font-family:Arial,sans-serif;font-size:11px;line-height:1.6}.nm-hero-caption{position:absolute;right:32px;bottom:22px;left:32px;display:flex;justify-content:space-between;color:rgba(250,246,234,.72);font-family:Arial,sans-serif;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.nm-principles{display:grid;grid-template-columns:repeat(3,1fr);width:min(1280px,calc(100% - 64px));margin:auto;padding:42px 0 48px}.nm-principles article{position:relative;padding:0 34px;border-right:1px solid var(--line)}.nm-principles article:first-child{padding-left:0}.nm-principles article:last-child{border:0}.nm-mark{display:block;margin-bottom:13px;color:var(--gold);font-family:Arial,sans-serif;font-size:10px;letter-spacing:.12em}.nm-principles h2{margin:0 0 8px;font-size:20px;font-weight:400;letter-spacing:-.02em}.nm-principles p{max-width:340px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.nm-walkthrough{display:grid;grid-template-columns:.85fr 1.55fr;gap:44px;align-items:center;width:min(1280px,calc(100% - 64px));margin:16px auto 74px;padding:46px;background:#fbf9f2;border:1px solid rgba(32,44,37,.13);border-radius:8px}.nm-walk-intro h2,.nm-section-head h2,.nm-measure h2,.nm-approach h2,.nm-local h2,.nm-final-cta h2{margin:0;font-size:clamp(34px,4vw,51px);font-weight:400;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}.nm-walk-intro>p:not(.nm-eyebrow):not(.nm-fine){margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.65}.nm-fine{margin:18px 0 0;color:#7b776c;font-family:Arial,sans-serif;font-size:10px;line-height:1.6}.nm-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.nm-flow-card{min-height:228px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:5px}.nm-step{color:#77643e;font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nm-flow-card h3{margin:17px 0 9px;font-size:19px;font-weight:400;line-height:1.2}.nm-flow-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.nm-paper-line,.nm-flag,.nm-approval{margin-top:20px;padding:9px 10px;border-radius:3px;background:#f2efe7;color:#59625a;font-family:Arial,sans-serif;font-size:9px;line-height:1.45}.nm-flag{background:#f6eadf;color:#8a4a22}.nm-approval{background:#eaf0e8;color:#345142}.nm-exception{grid-column:2;margin:0;color:var(--muted);font-family:Arial,sans-serif;font-size:11px;line-height:1.55}.nm-exception strong{color:var(--ink)}
.nm-examples{width:min(1280px,calc(100% - 64px));margin:0 auto 86px}.nm-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:26px}.nm-section-head h2{font-size:clamp(36px,4vw,52px)}.nm-section-head>p{max-width:390px;margin:0 0 3px;color:var(--muted);font-size:14px;line-height:1.6}.nm-business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.nm-business-card{overflow:hidden;background:#fcfaf5;border:1px solid var(--line);border-radius:5px}.nm-business-card img{display:block;width:100%;height:190px;object-fit:cover}.nm-card-body{padding:18px 18px 20px}.nm-card-kicker{margin:0;color:#806943;font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nm-card-body h3{min-height:2.5em;margin:10px 0 9px;font-size:20px;font-weight:400;letter-spacing:-.02em;line-height:1.19}.nm-card-body>p:not(.nm-card-kicker){min-height:6.4em;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.nm-card-tag{display:inline-block;margin-top:16px;padding-top:10px;border-top:1px solid var(--line);color:#354d41;font-family:Arial,sans-serif;font-size:9px;font-weight:600;letter-spacing:.02em}.nm-bia-note{display:flex;gap:26px;align-items:baseline;margin-top:16px;padding:18px 20px;border-left:2px solid var(--gold);background:#eeeadf}.nm-bia-note .nm-card-kicker{min-width:200px}.nm-bia-note p{margin:0;color:var(--muted);font-size:13px}
.nm-measure{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:65px max(32px,calc((100% - 1120px)/2));background:#15342d;color:#f8f4e9}.nm-measure h2{font-size:clamp(37px,4vw,52px)}.nm-measure>div:first-child>p:not(.nm-eyebrow):not(.nm-fine){max-width:650px;margin:18px 0 0;color:rgba(248,244,233,.85);font-size:14px;line-height:1.6}.nm-fine-light{max-width:680px;color:rgba(248,244,233,.68)}.nm-measure-box{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px;padding:26px 21px;border:1px solid rgba(231,220,187,.38);border-radius:5px;text-align:center;font-family:Arial,sans-serif;font-size:12px}.nm-measure-box>b{color:#cfba83;font-size:18px;font-weight:400}.nm-measure-box strong{font-family:var(--font);font-size:29px;font-weight:400;line-height:1}.nm-measure-box small{font-family:Arial,sans-serif;font-size:9px;font-weight:400}.nm-measure-box a{grid-column:1/-1;margin-top:14px;color:#ead9a9;font-size:10px;text-underline-offset:3px}
.nm-approach{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:#10251f;color:#faf7ec}.nm-approach-photo{background:linear-gradient(0deg,rgba(12,27,23,.15),rgba(12,27,23,.05)),url('/images/hero-mainstreet.jpg') center 56%/cover no-repeat}.nm-approach-copy{align-self:center;max-width:590px;padding:70px clamp(32px,6vw,96px)}.nm-approach-copy h2{font-size:clamp(42px,5vw,60px)}.nm-approach-copy>p:not(.nm-eyebrow){max-width:490px;margin:20px 0 25px;color:rgba(250,247,236,.81);font-size:14px;line-height:1.65}
.nm-local{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;width:min(1120px,calc(100% - 64px));margin:auto;padding:76px 0}.nm-local h2{font-size:clamp(36px,4vw,50px)}.nm-local>div:first-child>p:last-child{max-width:580px;margin:15px 0 0;color:var(--muted);font-size:14px}.nm-local-note{display:flex;min-height:190px;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#eae4d6;color:#384d43;transform:rotate(1deg)}.nm-local-note>span{font-size:23px;font-style:italic}.nm-local-wordmark{color:#89764c;font-family:var(--font);font-size:22px;font-weight:600;letter-spacing:-.045em;line-height:1.1;text-align:center}
.nm-final-cta{padding:74px 24px 82px;border-top:1px solid var(--line);text-align:center}.nm-final-cta h2{font-size:clamp(38px,4.5vw,56px)}.nm-final-cta>p:not(.nm-eyebrow){margin:18px auto 24px;color:var(--muted);font-size:14px}.nm-final-cta .btn{gap:13px;margin:auto}.nm-approach-copy .btn{gap:13px}.nm-footer{background:#eee9dd;padding-bottom:env(safe-area-inset-bottom,0px)}.nm-footer .foot{align-items:center}.nm-footer .brand{font-size:19px}.nm-footer .brand small{font-size:7px}.nm-footer .foot>p{margin:0;font-family:Arial,sans-serif;font-size:10px}
/* Warm editorial styling continues across the call request and local desk. */
.page,.desk{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}.page h1,.desk h1,.page h2,.desk h2,.desk h3,.thanks h2{font-family:Georgia,"Iowan Old Style",serif;font-weight:400;letter-spacing:-.035em}.page h1,.desk h1{color:var(--ink)}.kicker,.demo-step{color:#806943}.btn.quiet,.link,.back,.lead-open{color:var(--blue)}.input:focus,input:focus,select:focus{box-shadow:0 0 0 2px #806943}.meter span{background:#244f43}.check:has(input:checked){border-color:#244f43;box-shadow:0 0 0 1px #244f43}.check input{accent-color:#244f43}.nav .brand{font-size:21px}.nav .brand small{font-size:7px}.desk-head h1{font-size:42px}.empty,.stat,.scope-card,.card{border-radius:5px}.draft-note{border:1px solid #ddc58f;border-radius:4px;background:#f5eedc;color:#51462e}
@media(max-width:1120px){.nm-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-walkthrough{grid-template-columns:1fr;gap:26px}.nm-exception{grid-column:1}.nm-measure{grid-template-columns:1fr;gap:28px}}
@media(max-width:700px){.brand{font-size:21px}.nm-hero{min-height:650px;background-position:58% center}.nm-hero:before{background:linear-gradient(90deg,rgba(9,23,21,.91),rgba(11,25,22,.67) 74%,rgba(12,26,23,.36)),linear-gradient(0deg,rgba(7,18,16,.4),transparent 45%)}.nm-hero-content{width:calc(100% - 38px);padding:64px 0 90px}.nm-hero h1{font-size:clamp(32px,8.5vw,52px);line-height:1.04}.nm-intro{font-size:17px}.nm-benefits{gap:12px 18px}.nm-benefits span{font-size:10px}.nm-hero-caption{right:18px;left:18px;font-size:8px}.nm-principles{grid-template-columns:1fr;width:calc(100% - 38px);padding:28px 0}.nm-principles article,.nm-principles article:first-child{padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.nm-principles article:last-child{border:0}.nm-mark{margin-bottom:7px}.nm-walkthrough,.nm-examples{width:calc(100% - 32px)}.nm-walkthrough{margin:8px auto 55px;padding:24px 18px}.nm-flow{grid-template-columns:1fr}.nm-flow-card{min-height:0}.nm-examples{margin-bottom:55px}.nm-section-head{display:block}.nm-section-head>p{margin-top:18px}.nm-business-grid{grid-template-columns:1fr}.nm-business-card img{height:220px}.nm-card-body h3,.nm-card-body>p:not(.nm-card-kicker){min-height:0}.nm-bia-note{display:block}.nm-bia-note p{margin-top:8px}.nm-measure{padding:48px 20px}.nm-measure-box{gap:5px;padding:20px 10px;font-size:10px}.nm-measure-box strong{font-size:24px}.nm-measure-box small{font-size:8px}.nm-approach{grid-template-columns:1fr}.nm-approach-photo{min-height:260px}.nm-approach-copy{padding:42px 24px 50px}.nm-local{grid-template-columns:1fr;width:calc(100% - 40px);padding:54px 0}.nm-local-note{min-height:140px}.nm-final-cta{padding:56px 20px}.nm-footer .foot{align-items:flex-start;flex-direction:column}}

/* North & Measure Canadian maple wordmark */
.brand{display:flex;flex-direction:row;align-items:center;gap:10px}.brand-copy{display:flex;flex-direction:column;order:1}.brand-name{display:inline-flex;align-items:center;gap:8px;font:inherit}.brand-leaf{display:block;width:25px;height:25px;flex:none;object-fit:contain}.brand small{white-space:nowrap}.nm-footer .brand-leaf{width:21px;height:21px}

/* Compact, two-row navigation at tablet widths; restore comfortable gutters on phones. */
@media(max-width:860px){.home .nav{position:sticky;top:0;z-index:20;height:auto;align-items:center;padding:12px 20px 14px;gap:10px 16px}.home .nav .links{order:3;width:100%;margin-left:0;gap:clamp(14px,3vw,24px);padding-top:4px;overflow:visible}.home-nav .links a{white-space:nowrap}.home-nav>.btn{display:inline-flex;margin-left:auto}}
@media(max-width:700px){.home .nav{padding:12px 17px}.home-nav .links{gap:14px}.brand{font-size:21px}.brand-leaf{width:22px;height:22px}.nm-section-head h2{font-size:38px}.nm-measure-box{grid-template-columns:1fr;gap:11px}.nm-measure-box>b{transform:rotate(90deg)}.nm-measure-box strong{font-size:25px}.nm-measure-box small{font-size:11px}}

/* The hero promise returns as a quiet, persistent signpost after the original heading leaves view. */
.nm-scroll-banner{position:fixed;z-index:19;top:var(--nm-nav-height,76px);right:0;left:0;display:flex;min-height:48px;align-items:center;justify-content:center;padding:9px 18px;background:#15342d;color:#f8f4e9;box-shadow:0 5px 18px rgba(14,31,26,.12);opacity:0;visibility:hidden;transform:translateY(-110%);transition:transform .34s cubic-bezier(.2,.75,.25,1),opacity .24s ease,visibility .34s;font-size:17px;letter-spacing:-.015em;line-height:1.25;text-align:center}.nm-scroll-banner:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:rgba(211,189,136,.62);content:""}.nm-scroll-banner.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.nm-scroll-banner span{max-width:100%;text-wrap:balance}
@media(max-width:700px){.nm-scroll-banner{min-height:34px;padding:6px 12px;font-size:15px;letter-spacing:-.02em}}
@media(prefers-reduced-motion:reduce){.nm-scroll-banner{transition:none}}

/* Clear, low-friction intake fields and CSP-safe dynamic UI states. */
textarea{display:block;width:100%;min-height:132px;padding:12px 14px;border:0;border-radius:12px;background:var(--mist);resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{background:white;box-shadow:0 0 0 3px #806943}
.field small,.field-help{color:var(--muted);font-size:13px;line-height:1.5}
.field-help{margin:0}
.form-intro{margin-left:0;text-align:left}
.thanks-copy{margin-left:0;text-align:left}
.thanks-actions{justify-content:flex-start}
.meter-progress{width:25%;transition:width .22s ease}
.meter-progress.progress-50{width:50%}.meter-progress.progress-75{width:75%}.meter-progress.progress-100{width:100%}
@media(prefers-reduced-motion:reduce){.meter-progress{transition:none}}

/* Readability, reflow, and touch targets across the public site and local desk. */
body { font-size: 18px; line-height: 1.6; }
:focus-visible { outline: 3px solid #6b392e !important; outline-offset: 3px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #6b392e !important; outline-offset: 3px; }
button, .btn { min-height: 48px; font-size: 16px; }
.nav .links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; }
.nav .brand small { color: #6d6249; font-size: 12px; letter-spacing: .1em; }
.field label, label.field span { font-size: 16px; }
input, select { min-height: 48px; font-size: 16px; }
textarea { min-height: 150px; font-size: 16px; }
.step-label, .privacy-note, .field small, .field-help, .form-error, .note, .draft-note, th, td, .auto span { font-size: 16px; }
.nm-mobile-cta { display: none; }
.nm-eyebrow { font-size: 13px; letter-spacing: .12em; line-height: 1.5; }
.nm-benefits span { font-size: 15px; }
.nm-benefits b { width: 32px; height: 32px; font-size: 12px; }
.nm-text-link { font-size: 16px; }
.nm-control-note { color: #f5f1e5; font-size: 16px; }
.nm-hero-caption { right: 32px; bottom: 22px; left: 32px; padding: 7px 10px; border-radius: 3px; background: rgba(12, 27, 23, .78); color: #fffdf7; font-size: 12px; letter-spacing: .08em; }
.nm-mark { font-size: 12px; }
.nm-principles p { font-size: 17px; line-height: 1.6; }
.nm-walkthrough { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 28px; }
.nm-walk-intro { max-width: 72rem; }
.nm-walk-intro h2 { max-width: none; font-size: clamp(32px, 3.8vw, 48px); }
.nm-walk-intro > p:not(.nm-eyebrow):not(.nm-fine) { max-width: 68ch; }
.nm-walk-intro h2, .nm-section-head h2, .nm-measure h2, .nm-approach h2, .nm-local h2, .nm-final-cta h2 { line-height: 1.12; }
.nm-walk-intro > p:not(.nm-eyebrow):not(.nm-fine), .nm-section-head > p,
.nm-measure > div:first-child > p:not(.nm-eyebrow):not(.nm-fine),
.nm-approach-copy > p:not(.nm-eyebrow), .nm-local > div:first-child > p:last-child,
.nm-final-cta > p:not(.nm-eyebrow) { font-size: 17px; line-height: 1.65; }
.nm-fine { color: #625e54; font-size: 14px; line-height: 1.55; }
.nm-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.nm-flow-card { display: flex; flex-direction: column; min-height: 260px; padding: 22px; }
.nm-step, .nm-card-kicker { font-size: 12px; letter-spacing: .08em; line-height: 1.5; }
.nm-flow-card h3 { min-height: 2.6em; font-size: 21px; line-height: 1.3; }
.nm-flow-card p { flex: 1; font-size: 17px; line-height: 1.55; }
.nm-paper-line, .nm-flag, .nm-approval { box-sizing: border-box; display: flex; align-items: center; justify-content: center; height: 72px; min-height: 72px; flex: 0 0 72px; margin-top: auto; padding: 12px; color: #46524d; font-size: 14px; line-height: 1.5; text-align: center; }
.nm-flag, .nm-approval { flex-direction: column; }
.nm-flag { color: #713b19; }
.nm-approval { color: #294739; }
.nm-exception { grid-column: 1; display: grid; grid-template-columns: minmax(11rem, .55fr) minmax(0, 1fr); align-items: start; gap: 20px; width: min(100%, 72rem); justify-self: center; margin: 0; padding: 18px 20px; border-left: 3px solid #806943; background: #eeeadf; color: #46524d; font-size: 16px; line-height: 1.6; }
.nm-exception strong { font-family: Georgia, "Iowan Old Style", serif; font-size: 20px; font-weight: 400; line-height: 1.25; }
.nm-exception p { margin: 0; }
.nm-business-card { display: flex; flex-direction: column; }
.nm-card-body { display: flex; flex: 1; flex-direction: column; }
.nm-card-body h3 { min-height: 2.6em; font-size: 21px; line-height: 1.3; }
.nm-card-body > p:not(.nm-card-kicker) { min-height: 0; flex: 1; font-size: 16px; line-height: 1.6; }
.nm-card-tag { display: flex; align-items: flex-start; min-height: 3em; margin-top: auto; font-size: 14px; line-height: 1.5; }
.nm-bia-note p { font-size: 16px; line-height: 1.6; }
.nm-measure-box { font-size: 16px; }
.nm-measure-box small { font-size: 14px; line-height: 1.5; }
.nm-measure-box a { font-size: 16px; }
.nm-local-note > span { font-size: 22px; }
.nm-footer .brand small { font-size: 12px; }
.nm-footer .foot > p { font-size: 14px; }
.page .sub { font-size: 19px; line-height: 1.55; }
.step-label { line-height: 1.5; }
label.field span { font-size: 16px; }
.step .hint, .privacy-note { font-size: 16px; line-height: 1.6; }
.check { min-height: 56px; font-size: 17px; }
.check input { width: 22px; height: 22px; flex: none; }
.table-scroll { max-width: 100%; }
th { font-weight: 700; }
.lead-open, .back, .link { min-height: 44px; }
.nm-scroll-banner { top: var(--nm-nav-height, 76px); }

@media (max-width: 1120px) {
  .nm-walkthrough { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .nm-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-exception { grid-column: 1; }
}
@media (max-width: 860px) {
  .two { grid-template-columns: 1fr; }
  .home .nav { min-height: 0; }
  .home-nav .links { flex-wrap: wrap; overflow: visible; }
  .nm-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desk { width: calc(100% - 32px); }
}
/* Home header, every format: the name, the section links, and "Tell us what's taking time"
   stay on screen. Portrait phones stack those three. The tagline banner is fixed under the
   measured bar (--nm-nav-height) and does not replace the name or the links. */
@media (max-width: 700px) {
  .nav {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    min-height: 52px;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
    padding-bottom: 10px;
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    background: #f8f5ed;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .home .nav {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 20;
    flex-wrap: wrap;
    align-items: center;
    height: auto;
    gap: 8px 12px;
    padding: calc(8px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px));
    background: #f8f5ed;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .home-nav .brand { flex: 1 1 auto; min-width: 0; }
  .home-nav .brand small { white-space: normal; }
  .home-nav > .btn {
    display: inline-flex;
    flex: 1 1 100%;
    order: 4;
    margin: 0;
    min-height: 44px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }
  .home .nav .links { order: 3; display: flex; justify-content: space-between; width: 100%; margin: 0; padding: 0; gap: 8px; overflow: visible; }
  .home-nav .links a { min-height: 44px; font-size: 14px; white-space: normal; }
  .nm-mobile-cta { display: none; }
  .nm-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .nm-hero { min-height: 620px; }
  .nm-hero-content { width: calc(100% - 40px); padding: 52px 0 100px; }
  .nm-hero h1 { font-size: clamp(36px, 9vw, 52px); }
  .nm-intro { font-size: 19px; }
  .nm-benefits { align-items: flex-start; flex-direction: column; gap: 12px; }
  .nm-benefits span { font-size: 16px; }
  .nm-control-note { font-size: 16px; }
  .nm-hero-caption { right: 16px; left: 16px; gap: 8px; font-size: 12px; }
  .nm-principles { width: calc(100% - 40px); }
  .nm-walkthrough, .nm-examples { width: calc(100% - 32px); }
  .nm-walkthrough { padding: 24px 20px; }
  .nm-flow { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .nm-flow-card { min-height: 0; padding: 20px; }
  .nm-flow-card h3 { min-height: 0; }
  .nm-flow-card p { flex: initial; }
  .nm-paper-line, .nm-flag, .nm-approval { margin-top: 18px; }
  .nm-exception { padding: 15px; }
  .nm-exception { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .nm-card-body h3, .nm-card-body > p:not(.nm-card-kicker) { min-height: 0; }
  .nm-card-body > p:not(.nm-card-kicker) { flex: initial; }
  .nm-card-tag { margin-top: 16px; }
  .nm-measure { padding: 48px 20px; }
  .nm-measure-box { grid-template-columns: 1fr; gap: 12px; font-size: 16px; }
  .nm-measure-box strong { font-size: 28px; }
  .nm-measure-box small { font-size: 15px; }
  .nm-measure-box > b { transform: rotate(90deg); }
  .nm-final-cta { padding: 56px 20px; }
  .nm-footer .foot { gap: 18px; }
  .nm-scroll-banner { top: var(--nm-nav-height, 148px); }
  .page { width: calc(100% - 36px); padding-top: 36px; }
  .page h1 { font-size: clamp(36px, 10vw, 48px); }
  .step h2 { font-size: 30px; }
  .two { gap: 14px; }
  .step-nav { flex-wrap: wrap; }
  .step-nav .btn { flex: 1 1 140px; }
  .desk { width: calc(100% - 32px); padding-top: 28px; }
  .desk-head h1 { font-size: 36px; }
  .table-scroll { overflow-x: auto; }
}
@media (min-width: 861px) {
  .nm-walk-intro h2 { white-space: nowrap; }
}
@media (max-width: 430px) {
  .nm-walkthrough { width: calc(100% - 24px); padding: 22px 16px; }
  .nm-walk-intro h2 { font-size: clamp(30px, 8vw, 34px); line-height: 1.12; white-space: normal; }
  .nm-walk-intro > p:not(.nm-eyebrow):not(.nm-fine) { margin-top: 14px; font-size: 16px; }
  .nm-flow-card { min-width: 0; padding: 17px; }
  .nm-exception { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
  .home-nav .brand { font-size: 20px; }
  .home-nav .brand small { font-size: 12px; letter-spacing: .08em; }
  .nm-hero-caption { right: 12px; left: 12px; align-items: flex-start; flex-direction: column; font-size: 12px; }
  .nm-flow-card { padding: 17px; }
  .nm-bia-note { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nm-scroll-banner, .meter-progress, .home-nav, .home-nav .brand small, .home-nav .links a, .home-nav > .btn { transition: none; }
}
.nm-bia-section { margin: 0 0 74px; padding: 76px 0; background: #eeeadf; }
.nm-bia-inner { width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
.nm-bia-intro { max-width: 850px; }
.nm-bia-intro h2 { max-width: 780px; margin: 0; font-size: clamp(36px, 4.2vw, 54px); font-weight: 400; letter-spacing: -.045em; line-height: 1.1; text-wrap: balance; }
.nm-bia-intro > p:last-child { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.nm-bia-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 34px; }
.nm-bia-grid article { padding: 25px; border: 1px solid var(--line); background: #fbf9f2; }
.nm-bia-step { color: #74603a; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.nm-bia-grid h3 { min-height: 2.6em; margin: 18px 0 10px; font-size: 24px; font-weight: 400; letter-spacing: -.025em; line-height: 1.25; }
.nm-bia-grid article p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.nm-bia-control { margin: 20px 0 0; padding: 17px 20px; border-left: 3px solid #806943; background: rgba(251, 249, 242, .7); color: #46524d; font-size: 16px; line-height: 1.6; }
.nm-bia-control strong { color: var(--ink); }
@media (max-width: 860px) {
  .nm-bia-section { padding: 58px 0; }
  .nm-bia-inner { width: calc(100% - 40px); }
  .nm-bia-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nm-bia-section { margin-bottom: 55px; padding: 50px 0; }
  .nm-bia-inner { width: calc(100% - 32px); }
  .nm-bia-intro h2 { font-size: clamp(34px, 8vw, 44px); }
  .nm-bia-intro > p:last-child { font-size: 16px; }
  .nm-bia-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 25px; }
  .nm-bia-grid article { padding: 21px; }
  .nm-bia-grid h3 { min-height: 0; font-size: 23px; }
  .nm-bia-control { padding: 15px; }
}
.nm-final-cta h2 { max-width: 960px; margin-inline: auto; }
.nm-final-cta > p:not(.nm-eyebrow) { max-width: 72ch; margin: 18px auto 24px; }
body.home { scroll-padding-top: calc(var(--nm-nav-height, 76px) + 56px); }
.home main section[id] { scroll-margin-top: calc(var(--nm-nav-height, 76px) + 56px); }
/* Short landscape (phones turned sideways): keep one compact sticky row when it fits,
   and two rows on narrower phones, so the name, links, and intake button stay visible. */
@media (orientation: landscape) and (max-height: 520px) {
  .home .nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: auto;
    gap: 4px 12px;
    padding: calc(6px + env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) 6px max(12px, env(safe-area-inset-left, 0px));
    background: #f8f5ed;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .home-nav .brand { flex: 1 1 auto; min-width: 0; }
  .home-nav .brand small { white-space: nowrap; }
  .home-nav > .btn {
    display: inline-flex;
    flex: 0 0 auto;
    order: 2;
    width: auto;
    margin: 0 0 0 auto;
    min-height: 40px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .home .nav .links {
    order: 3;
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    margin: 0;
    justify-content: flex-start;
    gap: 14px;
    overflow: visible;
  }
  .home-nav .links a { min-height: 40px; font-size: 14px; white-space: nowrap; }
  .nm-mobile-cta { display: none; }
  .nm-scroll-banner { top: var(--nm-nav-height, 96px); }
}
@media (orientation: landscape) and (max-height: 520px) and (min-width: 820px) {
  .home .nav { flex-wrap: nowrap; }
  .home .nav .links { order: 0; flex: 0 1 auto; width: auto; }
  .home-nav > .btn { order: 0; }
}
/* After the first scroll, portrait keeps the same bar but drops the tagline line and tightens the rows. */
@media (max-width: 700px) and (orientation: portrait) {
  .home-nav .brand small {
    max-height: 24px;
    overflow: hidden;
    transition: max-height .22s ease, opacity .18s ease, margin-top .22s ease;
  }
  .home .home-nav.is-compact {
    gap: 2px 10px;
    padding-top: calc(4px + env(safe-area-inset-top, 0px));
    padding-bottom: 6px;
  }
  .home-nav.is-compact .brand { font-size: 18px; }
  .home-nav.is-compact .brand-leaf { width: 18px; height: 18px; }
  .home-nav.is-compact .brand small { max-height: 0; margin-top: 0; opacity: 0; }
  .home-nav.is-compact .links a { min-height: 36px; font-size: 13px; }
  .home-nav.is-compact > .btn { min-height: 36px; padding: 4px 12px; font-size: 14px; }
}
.nm-offer-section { padding: 24px 0 76px; background: #eeeadf; }
.nm-offer-inner { width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
.nm-offer-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 28px; }
.nm-offer-head h2 { max-width: 700px; margin: 0; font-size: clamp(36px, 4vw, 52px); font-weight: 400; letter-spacing: -.045em; line-height: 1.08; text-wrap: balance; }
.nm-offer-head > p { max-width: 410px; margin: 0 0 4px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.nm-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nm-offer-card { display: flex; min-width: 0; flex-direction: column; padding: 26px 25px 23px; background: #fcfaf5; border: 1px solid var(--line); border-radius: 5px; }
.nm-offer-number { color: #806943; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nm-offer-card h3 { margin: 24px 0 12px; font-size: 25px; font-weight: 400; letter-spacing: -.025em; line-height: 1.2; text-wrap: balance; }
.nm-offer-card p { flex: 1; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.nm-offer-detail { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line); color: #354d41; font-family: Arial, sans-serif; font-size: 13px; font-weight: 600; line-height: 1.5; }
.nm-offer-pricing { margin: 22px 0 0; padding: 18px 22px; border-left: 2px solid var(--gold); background: rgba(255,253,248,.68); color: var(--muted); font-size: 16px; line-height: 1.6; }
.nm-offer-pricing strong { color: var(--ink); }
.nm-control-note { display: block; width: max-content; max-width: 100%; margin: 22px 0 0; padding: 11px 15px; border-left: 2px solid #d3bd88; border-radius: 2px; background: rgba(12, 27, 23, .66); color: #fffdf7; font-size: 14px; line-height: 1.5; }
.nm-example-link { display: inline-block; margin-top: 16px; }
@media (max-width: 860px) {
  .nm-offer-inner { width: calc(100% - 40px); }
  .nm-offer-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .nm-offer-head > p { max-width: 620px; }
  .nm-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-offer-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .nm-control-note { margin-top: 20px; padding: 12px 14px; font-size: 16px; line-height: 1.5; }
  .nm-offer-section { padding: 24px 0 52px; }
  .nm-offer-inner { width: calc(100% - 32px); }
  .nm-offer-head h2 { font-size: clamp(34px, 8vw, 44px); }
  .nm-offer-head > p { font-size: 16px; }
  .nm-offer-grid { grid-template-columns: 1fr; gap: 12px; }
  .nm-offer-card:last-child { grid-column: auto; }
  .nm-offer-card { padding: 22px 20px; }
  .nm-offer-card h3 { margin-top: 18px; font-size: 24px; }
  .nm-offer-pricing { padding: 16px; }
}
