/* Small additions to the existing HYVE palette and type system. */
.nh-resources { position:relative; z-index:1; padding: clamp(40px, 6vw, 80px) 0; border-top: 1px solid #e5d5bd; background: #efebe3; }
.nh-resources h2 { color:#17150f; font-family:var(--font-display); font-size:clamp(1.7rem,4vw,2.6rem); line-height:1.15; max-width:26ch; margin:16px 0 28px; }
.nh-resources__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.nh-resource { display:flex; flex-direction:column; gap:16px; min-width:0; padding:28px; border:1px solid #d6cbbb; border-top:3px solid #de8e28; background:#faf8f3; }
.nh-resource h3 { margin:0; color:#17150f; font-family:var(--font-display); font-size:1.3rem; line-height:1.25; }
.nh-resource p { margin:0; color:#57534a; line-height:1.65; }
.nh-resource__link { margin-top:auto; color:#9a5908; font-weight:700; line-height:1.5; }
.nh-resource:hover { border-color:#9a5908; }
.nh-resource:focus-visible, .nh-tool :focus-visible { outline:3px solid #9a5908; outline-offset:4px; }
.nh-article__content .nh-tool { margin:32px 0; padding:clamp(20px,3vw,32px); border:1px solid #d6cbbb; border-top:4px solid #de8e28; background:#faf8f3; scroll-margin-top:100px; }
.nh-article__content .nh-tool h2 { font-size:clamp(1.65rem,4vw,2.25rem); margin:12px 0 18px; }
.nh-tool__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.nh-tool__fields label { display:flex; flex-direction:column; gap:8px; min-width:0; color:#17150f; font-size:.9rem; font-weight:700; line-height:1.5; }
.nh-tool__fields label span { min-height:2.7em; }
.nh-tool__fields input { box-sizing:border-box; width:100%; min-width:0; min-height:48px; border:1px solid #a39887; border-radius:4px; padding:10px 12px; background:#fff; color:#17150f; font:500 16px var(--font-sans); }
.nh-tool__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.nh-tool__actions button { min-height:48px; padding:12px 20px; border:1px solid #17150f; border-radius:4px; background:#17150f; color:#fff; font:700 15px var(--font-sans); cursor:pointer; }
.nh-tool__actions button[type="button"] { background:transparent; color:#17150f; }
.nh-tool__actions button:disabled { opacity:.55; cursor:not-allowed; }
.nh-article__content .nh-tool__hint { font-size:.88rem; line-height:1.65; margin:20px 0 0; }
.nh-tool__results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#d6cbbb; border:1px solid #d6cbbb; margin:20px 0; }
.nh-tool__results[hidden] { display:none; }
.nh-tool__results div { background:#f1ece2; padding:18px; min-width:0; }
.nh-tool__results dt { font-size:.82rem; font-weight:700; color:#57534a; line-height:1.5; }
.nh-tool__results dd { margin:8px 0 0; color:#17150f; font-size:clamp(1.12rem,3vw,1.6rem); font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.nh-article__content .nh-tool__status { margin:20px 0 0; font-size:.9rem; line-height:1.6; }
.nh-article__content .nh-tool__error { color:#a12424; font-weight:700; margin:16px 0 0; }
.nh-tool__error:empty { display:none; }
.nh-article__content .nh-tool__note { font-size:.9rem; line-height:1.7; }
@media(max-width:600px) {
  html:has([data-roi-calculator]:focus-within) .nh-contact-widget { visibility:hidden; pointer-events:none; }
  .nh-resources__grid { grid-template-columns:1fr; }
  .nh-resource { padding:24px; }
  .nh-tool__fields { gap:16px 12px; }
  .nh-tool__fields label { font-size:.82rem; }
  .nh-tool__actions button { width:100%; }
  .nh-tool__results div { padding:14px; }
}
@media(max-width:359px) { .nh-tool__fields, .nh-tool__results { grid-template-columns:1fr; } .nh-tool__fields label span { min-height:0; } }

.nh-lead-demo { scroll-margin-top:100px; margin:0 0 48px; padding:clamp(20px,4vw,36px); border:1px solid #cabeab; border-top:4px solid #de8e28; background:#faf8f3; }
.nh-lead-demo h2 { scroll-margin-top:100px; }
.nh-lead-demo__choices { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.nh-lead-demo__choices button { min-height:48px; padding:12px 16px; border:1px solid #918573; border-radius:4px; background:transparent; color:#17150f; font:700 15px var(--font-sans); cursor:pointer; }
.nh-lead-demo__choices button[aria-pressed="true"] { background:#17150f; color:#fff; border-color:#17150f; }
.nh-lead-demo__choices button:disabled { cursor:default; }
.nh-lead-demo :focus-visible { outline:3px solid #9a5908; outline-offset:4px; }
.nh-lead-demo__inquiry { padding:20px; background:#efe9df; border-left:3px solid #9a5908; }
.nh-lead-demo__inquiry p { margin:0 0 8px; }
.nh-lead-demo__status { padding:16px 0; font-weight:700; color:#755009; }
.nh-route__content .nh-lead-demo__steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; counter-reset:lead-step; }
.nh-lead-demo__steps li { counter-increment:lead-step; border:1px solid #d6cbbb; padding:20px; min-width:0; background:#fffdfa; }
.nh-lead-demo__steps h3::before { content:counter(lead-step, decimal-leading-zero) " / "; color:#9a5908; }
.nh-lead-demo__steps h3 { margin:0 0 12px; font-size:1.05rem; }
.nh-lead-demo__steps p { margin:0; }
@media(max-width:600px) {
  .nh-lead-demo__choices { flex-direction:column; }
  .nh-route__content .nh-lead-demo__steps { grid-template-columns:1fr; }
  html:has([data-lead-demo]:focus-within) .nh-contact-widget { visibility:hidden; pointer-events:none; }
}
