/* Onest (variable 100 to 900) and Geist Mono, both SIL OFL 1.1 via Google Fonts, self-hosted here. */
@font-face{font-family:'Onest';font-style:normal;font-weight:100 900;font-display:swap;src:url("../assets/fonts/Onest-Variable.woff2") format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url("../assets/fonts/GeistMono-Variable.woff2") format('woff2')}

:root{
/* Base palette: six colors, from the brand sheet */
--field:#043726;--moss:#32604D;--ink:#0B1410;--ochre:#CD9130;--grid:#CCDCD4;--paper:#F4F6F1;--white:#FFFFFF;
/* Derived tints (Paper/white mixed with palette; never used as text) */
--ochre-tint:#F8F2E6;--moss-tint:#E7EEEA;--field-tint:#DCE6E0;
/* Survey grid lines: always under 25% ink */
--grid-line:#DCE5DF;--grid-line-major:#B7CBC0;--grid-line-on-field:rgba(244,246,241,.07);--grid-line-major-on-field:rgba(244,246,241,.15);--grid-line-on-white:#E3EAE5;--grid-line-major-on-white:#C3D3CA;
/* Intentional addition: a muted brick for form errors (the sheet defines no red) */
--error:#9A3A24;--error-tint:#F6E9E4;
/* Semantic: backgrounds */
--bg-page:var(--paper);--bg-surface:var(--white);--bg-inverse:var(--field);--bg-inverse-deep:var(--ink);--bg-placeholder:var(--ochre-tint);--bg-hover-row:var(--moss-tint);
/* Semantic: text */
--text-primary:var(--ink);--text-heading:var(--field);--text-secondary:var(--moss);--text-on-inverse:var(--paper);--text-on-inverse-muted:rgba(244,246,241,.72);--text-on-ochre:var(--ink);--text-link:var(--field);
/* Semantic: borders */
--border-default:var(--grid);--border-strong:var(--field);--border-on-inverse:rgba(244,246,241,.24);--border-on-inverse-strong:var(--paper);
/* Semantic: actions */
--action-primary:var(--field);--action-primary-hover:var(--moss);--action-primary-active:var(--ink);--action-primary-text:var(--paper);--action-accent:var(--ochre);--action-accent-hover:#B87F27;--action-accent-text:var(--ink);--action-secondary-hover:var(--moss-tint);
/* Semantic: status and marks */
--marker:var(--ochre);--status-complete:var(--field);--status-current:var(--ochre);--status-upcoming:var(--moss);--status-error:var(--error);
--focus-ring:var(--ochre);--overlay:rgba(11,20,16,.48);
}

:root{
/* Families: one sans for everything readable, one mono for data only */
--font-sans:'Onest',system-ui,Helvetica,Arial,sans-serif;
--font-mono:'Geist Mono',ui-monospace,Menlo,Consolas,monospace;
/* Web scale (px) */
--text-display:60px;--text-h1:40px;--text-h2:28px;--text-h3:20px;--text-body:17px;--text-small:14px;--text-label:12px;
/* Document scale (pt): same steps for Word/Docs/PDF */
--doc-display:26pt;/* @kind font */
--doc-h1:18pt;/* @kind font */
--doc-h2:14pt;/* @kind font */
--doc-h3:12pt;/* @kind font */
--doc-body:10.5pt;/* @kind font */
--doc-small:9pt;/* @kind font */
--doc-label:8pt;/* @kind font */
/* Line heights */
--leading-display:1;--leading-h1:1.05;--leading-h2:1.15;--leading-h3:1.25;--leading-body:1.55;--leading-small:1.45;--leading-label:1.3;--leading-wordmark:1.3;
/* Weights: headlines 500 above 32px, 600 below; wordmark 500; body 400/500 */
--weight-regular:400;--weight-medium:500;--weight-semibold:600;
/* Tracking */
--tracking-display:-0.03em;--tracking-heading:-0.02em;--tracking-body:0;--tracking-mono:0.08em;--tracking-wordmark:0.18em;--tracking-wordmark-md:0.15em;--tracking-wordmark-sm:0.12em;
/* Measure */
--measure-body:64ch;/* @kind spacing */
--measure-hero:22ch;/* @kind spacing */
}

:root{
/* 4px base scale */
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
/* Survey grid: quarter-mile cell, mile section (always 4:1) */
--grid-cell:32px;--grid-section:128px;--grid-cell-dense:24px;--grid-section-dense:96px;--grid-cell-slide:40px;--grid-section-slide:160px;
/* Layout */
--gutter:32px;--page-margin:32px;--page-margin-wide:64px;--container:1200px;--container-narrow:720px;--container-text:640px;
/* Controls */
--control-sm:32px;--control-md:40px;--control-lg:48px;--control-pad-x:22px;--control-pad-x-sm:14px;--control-pad-x-lg:28px;
/* Marker cells (the ochre flag) */
--marker-sm:12px;--marker-md:24px;--marker-lg:48px;
/* Component padding */
--card-pad:24px;--card-pad-lg:32px;--table-cell-pad:16px 20px;--field-pad:0 12px;
}

:root{
/* Corners: none, anywhere */
--radius:0px;--radius-none:0px;
/* Borders: hairlines in Grid; strong lines in Field */
--hairline:1px solid var(--grid);/* @kind other */
--hairline-strong:1px solid var(--field);/* @kind other */
--hairline-on-inverse:1px solid rgba(244,246,241,.24);/* @kind other */
--hairline-on-inverse-strong:1px solid var(--paper);/* @kind other */
/* Shadows: cards and tables carry none; only floating layers (dialog, toast, tooltip, menus) lift */
--shadow-none:none;--shadow-float:0 1px 0 rgba(11,20,16,.06),0 12px 32px -12px rgba(11,20,16,.28);--shadow-window:0 1px 0 rgba(11,20,16,.04),0 8px 24px -16px rgba(11,20,16,.18);
/* Focus: 2px Ochre outline, 2px offset */
--focus-outline:2px solid var(--ochre);/* @kind other */
--focus-offset:2px;/* @kind spacing */
/* Motion: short, ease-out, no bounce */
--duration-fast:120ms;/* @kind other */
--duration-base:180ms;/* @kind other */
--duration-slow:280ms;/* @kind other */
--ease:cubic-bezier(.2,0,0,1);/* @kind other */
/* Survey grid backgrounds (pair with background-size: section, section, cell, cell) */
--grid-image-paper:linear-gradient(var(--grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);/* @kind other */

--grid-image-white:linear-gradient(var(--grid-line-major-on-white) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major-on-white) 1px,transparent 1px),linear-gradient(var(--grid-line-on-white) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-on-white) 1px,transparent 1px);/* @kind other */

--grid-image-field:linear-gradient(var(--grid-line-major-on-field) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major-on-field) 1px,transparent 1px),linear-gradient(var(--grid-line-on-field) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-on-field) 1px,transparent 1px);/* @kind other */

--grid-size:var(--grid-section) var(--grid-section),var(--grid-section) var(--grid-section),var(--grid-cell) var(--grid-cell),var(--grid-cell) var(--grid-cell);/* @kind other */

/* Photo treatment: natural color pulled 10 to 15% toward neutral */
--photo-filter:saturate(.87);/* @kind other */

/* Partner-logo placeholder hatch */
--hatch-paper:repeating-linear-gradient(135deg,var(--grid) 0 10px,transparent 10px 20px);/* @kind other */
--hatch-field:repeating-linear-gradient(135deg,rgba(244,246,241,.18) 0 10px,transparent 10px 20px);/* @kind other */

}

/* Element defaults and the few brand utilities every surface shares. Prefix: nhcf- */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p{margin:0}
a{color:var(--text-link);text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration:underline}
:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}
button,input,select,textarea{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--ochre);color:var(--ink)}
/* Type roles */
.nhcf-display{font-family:var(--font-sans);font-size:var(--text-display);line-height:var(--leading-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-display);color:var(--text-heading);text-wrap:pretty}
.nhcf-h1{font-size:var(--text-h1);line-height:var(--leading-h1);font-weight:var(--weight-medium);letter-spacing:var(--tracking-display);color:var(--text-heading);text-wrap:pretty}
.nhcf-h2{font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);color:var(--text-heading);text-wrap:pretty}
.nhcf-h3{font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);color:var(--text-heading)}
.nhcf-body{font-size:var(--text-body);line-height:var(--leading-body)}
.nhcf-lead{font-size:var(--text-h3);line-height:1.45;color:var(--text-secondary)}
.nhcf-small{font-size:var(--text-small);line-height:var(--leading-small)}
.nhcf-secondary{color:var(--text-secondary)}
/* Mono: numbers, dates, coordinates, labels. Never sentences. */
.nhcf-mono{font-family:var(--font-mono);font-weight:var(--weight-regular);letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums}
.nhcf-label{font-family:var(--font-mono);font-size:var(--text-label);line-height:var(--leading-label);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-secondary)}
.nhcf-data{font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums}
/* Wordmark: source text stays mixed case; capitals come from CSS */
.nhcf-wordmark{font-family:var(--font-sans);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wordmark);line-height:var(--leading-wordmark);color:var(--text-heading);text-decoration:none;white-space:nowrap}
.nhcf-wordmark--sm{letter-spacing:var(--tracking-wordmark-sm)}
.nhcf-wordmark--md{letter-spacing:var(--tracking-wordmark-md)}
.nhcf-wordmark--inverse{color:var(--text-on-inverse)}
.nhcf-wordmark--ink{color:var(--ink)}
/* Survey grid backgrounds */
.nhcf-grid{background-color:var(--paper);background-image:var(--grid-image-paper);background-size:var(--grid-size);background-position:0 0}
.nhcf-grid--white{background-color:var(--white);background-image:var(--grid-image-white)}
.nhcf-grid--field{background-color:var(--field);background-image:var(--grid-image-field);color:var(--text-on-inverse)}
.nhcf-grid--dense{background-size:var(--grid-section-dense) var(--grid-section-dense),var(--grid-section-dense) var(--grid-section-dense),var(--grid-cell-dense) var(--grid-cell-dense),var(--grid-cell-dense) var(--grid-cell-dense)}
.nhcf-grid--slide{background-size:var(--grid-section-slide) var(--grid-section-slide),var(--grid-section-slide) var(--grid-section-slide),var(--grid-cell-slide) var(--grid-cell-slide),var(--grid-cell-slide) var(--grid-cell-slide)}
/* The ochre marker cell */
.nhcf-marker{display:inline-block;width:var(--marker-md);height:var(--marker-md);background:var(--marker);flex:none}
.nhcf-marker--sm{width:var(--marker-sm);height:var(--marker-sm)}
.nhcf-marker--lg{width:var(--marker-lg);height:var(--marker-lg)}
.nhcf-marker--complete{background:var(--status-complete)}
/* Hairline rules */
.nhcf-rule{border:0;border-top:var(--hairline);margin:0}
.nhcf-rule--inverse{border-top:var(--hairline-on-inverse)}
/* Photo treatment */
.nhcf-photo{filter:var(--photo-filter);object-fit:cover}

/* Component classes for the React primitives in components/. Loaded through styles.css. Prefix: nhcf- */
/* Buttons */
.nhcf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--control-md);padding:0 var(--control-pad-x);border:1px solid transparent;border-radius:0;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);line-height:1;letter-spacing:0;text-decoration:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;-webkit-appearance:none;appearance:none;transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}
.nhcf-btn:hover{text-decoration:none}
.nhcf-btn--sm{height:var(--control-sm);padding:0 var(--control-pad-x-sm);font-size:var(--text-small)}
.nhcf-btn--lg{height:var(--control-lg);padding:0 var(--control-pad-x-lg);font-size:var(--text-h3)}
.nhcf-btn--primary{background:var(--action-primary);color:var(--action-primary-text);border-color:var(--action-primary)}
.nhcf-btn--primary:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover)}
.nhcf-btn--primary:active{background:var(--action-primary-active);border-color:var(--action-primary-active)}
.nhcf-btn--secondary{background:transparent;color:var(--field);border-color:var(--field)}
.nhcf-btn--secondary:hover{background:var(--action-secondary-hover)}
.nhcf-btn--secondary:active{background:var(--field-tint)}
.nhcf-btn--ghost{background:transparent;color:var(--field);border-color:transparent;padding-left:12px;padding-right:12px}
.nhcf-btn--ghost:hover{background:var(--action-secondary-hover)}
.nhcf-btn--accent{background:var(--action-accent);color:var(--action-accent-text);border-color:var(--action-accent)}
.nhcf-btn--accent:hover{background:var(--action-accent-hover);border-color:var(--action-accent-hover)}
.nhcf-btn--inverse{background:var(--paper);color:var(--field);border-color:var(--paper)}
.nhcf-btn--inverse:hover{background:var(--white);border-color:var(--white)}
.nhcf-btn--inverse-outline{background:transparent;color:var(--paper);border-color:var(--paper)}
.nhcf-btn--inverse-outline:hover{background:rgba(244,246,241,.12)}
.nhcf-btn[disabled],.nhcf-btn--disabled{opacity:.4;pointer-events:none}
.nhcf-btn--full{width:100%}
/* Icon button */
.nhcf-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:1px solid transparent;background:transparent;color:var(--field);cursor:pointer;box-sizing:border-box;-webkit-appearance:none;appearance:none;transition:background-color var(--duration-fast) var(--ease)}
.nhcf-iconbtn:hover{background:var(--moss-tint)}
.nhcf-iconbtn--sm{width:var(--control-sm);height:var(--control-sm)}
.nhcf-iconbtn--outline{border-color:var(--field)}
.nhcf-iconbtn--primary{background:var(--field);color:var(--paper);border-color:var(--field)}
.nhcf-iconbtn--primary:hover{background:var(--moss);border-color:var(--moss)}
.nhcf-iconbtn--inverse{color:var(--paper)}
.nhcf-iconbtn--inverse:hover{background:rgba(244,246,241,.12)}
.nhcf-iconbtn[disabled]{opacity:.4;pointer-events:none}
/* Inputs */
.nhcf-input{display:block;width:100%;height:var(--control-md);padding:var(--field-pad);border:1px solid var(--grid);border-radius:0;background:var(--white);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.3;box-sizing:border-box;-webkit-appearance:none;appearance:none;transition:border-color var(--duration-fast) var(--ease)}
.nhcf-input::placeholder{color:var(--moss)}
.nhcf-input:hover{border-color:var(--moss)}
.nhcf-input:focus{border-color:var(--field);outline:var(--focus-outline);outline-offset:var(--focus-offset)}
.nhcf-input--mono{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums}
.nhcf-input--invalid,.nhcf-input--invalid:hover{border-color:var(--error);background:var(--error-tint)}
.nhcf-input[disabled]{opacity:.4}
.nhcf-input--sm{height:var(--control-sm);font-size:var(--text-small)}
.nhcf-input--lg{height:var(--control-lg)}
.nhcf-textarea{height:auto;min-height:120px;padding:10px 12px;resize:vertical;line-height:var(--leading-body)}
.nhcf-select{padding-right:40px;cursor:pointer}
.nhcf-affix{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--moss);pointer-events:none}
/* Checkbox, radio, switch */
.nhcf-check{position:relative;display:inline-flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:var(--text-body);color:var(--ink);line-height:1.35;font-family:var(--font-sans)}
.nhcf-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.nhcf-check__box{width:20px;height:20px;flex:none;border:1px solid var(--field);background:var(--white);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin-top:2px;transition:background-color var(--duration-fast) var(--ease)}
.nhcf-check__box svg{opacity:0;transition:opacity var(--duration-fast) var(--ease)}
.nhcf-check input:checked+.nhcf-check__box{background:var(--field);color:var(--paper)}
.nhcf-check input:checked+.nhcf-check__box svg{opacity:1}
.nhcf-check input:focus-visible+.nhcf-check__box{outline:var(--focus-outline);outline-offset:var(--focus-offset)}
.nhcf-check--radio .nhcf-check__box{border-radius:50%}
.nhcf-check--radio input:checked+.nhcf-check__box{background:var(--white)}
.nhcf-check--radio input:checked+.nhcf-check__box::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--field)}
.nhcf-check--disabled{opacity:.4;pointer-events:none}
.nhcf-check__text small{display:block;color:var(--moss);font-size:var(--text-small);margin-top:2px}
.nhcf-switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:var(--text-body);color:var(--ink);font-family:var(--font-sans)}
.nhcf-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.nhcf-switch__track{width:40px;height:22px;flex:none;border:1px solid var(--field);background:var(--white);position:relative;box-sizing:border-box;transition:background-color var(--duration-fast) var(--ease)}
.nhcf-switch__track::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--field);transition:transform var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}
.nhcf-switch input:checked+.nhcf-switch__track{background:var(--field)}
.nhcf-switch input:checked+.nhcf-switch__track::after{transform:translateX(18px);background:var(--paper)}
.nhcf-switch input:focus-visible+.nhcf-switch__track{outline:var(--focus-outline);outline-offset:var(--focus-offset)}
.nhcf-switch--disabled{opacity:.4;pointer-events:none}
/* Tabs */
.nhcf-tabs{display:flex;gap:32px;border-bottom:1px solid var(--grid)}
.nhcf-tab{-webkit-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0 12px;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--moss);cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:color var(--duration-fast) var(--ease)}
.nhcf-tab:hover{color:var(--field)}
.nhcf-tab--active{color:var(--field);border-bottom-color:var(--field)}
.nhcf-tab__n{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--tracking-mono)}
.nhcf-tabs--inverse{border-bottom-color:rgba(244,246,241,.24)}
.nhcf-tabs--inverse .nhcf-tab{color:rgba(244,246,241,.72)}
.nhcf-tabs--inverse .nhcf-tab:hover,.nhcf-tabs--inverse .nhcf-tab--active{color:var(--paper);border-bottom-color:var(--paper)}
/* Table */
.nhcf-table{width:100%;border-collapse:collapse;background:var(--white);font-size:var(--text-body);color:var(--ink)}
.nhcf-table th,.nhcf-table td{border:1px solid var(--grid);padding:var(--table-cell-pad);text-align:left;vertical-align:top}
.nhcf-table th{font-family:var(--font-mono);font-weight:var(--weight-regular);font-size:var(--text-label);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--moss);white-space:nowrap}
.nhcf-table .nhcf-table__mono{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums}
.nhcf-table .nhcf-table__num{text-align:right}
.nhcf-table tr.nhcf-table__placeholder td{background:var(--ochre-tint);color:var(--moss)}
.nhcf-table--hover tbody tr:hover td{background:var(--moss-tint)}
.nhcf-table--compact th,.nhcf-table--compact td{padding:10px 14px;font-size:var(--text-small)}
/* Nav links */
.nhcf-navlink{display:inline-block;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:border-color var(--duration-fast) var(--ease);background:none;cursor:pointer}
.nhcf-navlink:hover{text-decoration:none;border-bottom-color:var(--field)}
.nhcf-navlink--active{border-bottom-color:var(--ochre)}
.nhcf-navlink--inverse{color:var(--paper)}
.nhcf-navlink--inverse:hover{border-bottom-color:var(--paper)}
.nhcf-footlink{display:block;font-size:var(--text-body);color:var(--ink);text-decoration:none;padding:4px 0}
.nhcf-footlink:hover{text-decoration:underline}
.nhcf-footlink--inverse{color:var(--paper)}
/* Step nav */
.nhcf-step{display:flex;align-items:center;gap:16px;padding:14px 0;border:0;border-bottom:1px solid var(--grid);font-family:var(--font-sans);font-size:var(--text-body);color:var(--moss);cursor:pointer;background:none;width:100%;text-align:left;-webkit-appearance:none;appearance:none}
.nhcf-step:hover{color:var(--field)}
.nhcf-step__n{font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:var(--tracking-mono)}
.nhcf-step--done{color:var(--ink)}
.nhcf-step--current{color:var(--ink);font-weight:var(--weight-semibold)}
.nhcf-step__mark{margin-left:auto;width:12px;height:12px;flex:none}
/* Card link hover */
.nhcf-card--link{cursor:pointer;transition:border-color var(--duration-fast) var(--ease)}
.nhcf-card--link:hover{border-color:var(--moss)}
/* Tag */
.nhcf-tag{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 10px;border:1px solid var(--grid);background:var(--white);color:var(--field);font-family:var(--font-sans);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:1;cursor:default;box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}
.nhcf-tag--interactive{cursor:pointer}
.nhcf-tag--interactive:hover{border-color:var(--field)}
.nhcf-tag--selected{background:var(--field);color:var(--paper);border-color:var(--field)}
.nhcf-tag__x{display:inline-flex;margin-right:-4px;background:none;border:0;padding:0;color:inherit;cursor:pointer}
/* Header nav collapses under 1000px */
.nhcf-header__nav{display:flex;gap:32px;align-items:center}
.nhcf-header__menu{display:none}
@media (max-width:999px){.nhcf-header__nav{display:none}.nhcf-header__menu{display:inline-flex}}

/* Phones (Blake, September 23, 2026: fix the sideways scroll). The prototype header is a no-wrap row about 600px wide and its buttons never wrap, so below 640px the Apply and Menu buttons sat past the right edge and the apply page's download buttons pushed their column to 406px. Let both wrap; nothing changes at 640px and up. */
@media (max-width:639px){
header > div{flex-wrap:wrap;height:auto !important;min-height:72px;padding-top:12px !important;padding-bottom:12px !important;row-gap:12px;column-gap:16px}
header > div > .nhcf-btn{padding-left:16px;padding-right:16px}
.nhcf-btn{white-space:normal;height:auto;min-height:var(--control-md);padding-top:9px;padding-bottom:9px;line-height:1.25;text-align:center;max-width:100%}
.nhcf-btn--lg{min-height:var(--control-lg)}
.nhcf-btn--sm{min-height:var(--control-sm);padding-top:5px;padding-bottom:5px}
}
/* A link whose text is a bare address (the accessibility page's direct form link, the no-JavaScript fallbacks) may break inside the address rather than push the column past a 320px screen. */
main a{overflow-wrap:anywhere}
/* Screen-reader-only text (the Ask dialog's accessible name). */
.nhcf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* NETECH under the header wordmark (Blake, September 28, 2026): the program's short name, in the label style, below the logo. */
header .nhcf-wordmark--sm{top:-7px}  /* the logo and NETECH sit centered in the header together */
.nhcf-wordmark-sub{position:absolute;left:10px;top:37px;font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:1;letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}
/* A highlighted word in running text (the Milestones criterion's "realistic"): a marker stroke under the lower half, ink text. */
mark.nhcf-highlight{background:linear-gradient(transparent 52%,rgba(205,145,48,.45) 52%);color:var(--ink);font-weight:600;padding:0 2px}
