/* Headings: Barlow Condensed — industrial condensed grotesque, engineering-drawing feel.
   Body: IBM Plex Sans — highly legible, technical, has tabular figures for the data tables.
   Both from Google Fonts; no proprietary NR Majubina typeface was supplied. */

:root{
--font-display:"Barlow Condensed","Arial Narrow",Helvetica,sans-serif;
--font-body:"IBM Plex Sans",Helvetica,Arial,sans-serif;
--font-ui:"IBM Plex Sans",Helvetica,Arial,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}

:root{
/* Brand — pulled from the company logo */
--orange-700:#A8410A;--orange-600:#C65310;--orange-500:#E2600D;--orange-300:#F0A166;--orange-100:#FCE6D5;--orange-050:#FDF3EC;
--gold-700:#8A6408;--gold-600:#A2760D;--gold-500:#C89211;--gold-300:#E3B84E;--gold-100:#F6EBD2;
/* Structure */
--ink-900:#14181A;--ink-800:#1F2528;--ink-700:#3D4448;--ink-500:#6B7378;--ink-400:#8E9599;--ink-300:#B6BBBE;
--rule-strong:#C9C4BA;--rule:#DDD8CE;--rule-soft:#E9E5DC;
--paper:#F7F5F1;--paper-alt:#F1EEE7;--white:#FFFFFF;--black:#000000;
/* Overlays for full-bleed imagery */
--overlay-hero:rgba(20,24,26,.72);--overlay-70:rgba(20,24,26,.7);--overlay-40:rgba(20,24,26,.4);
/* Semantic aliases */
--surface-page:var(--paper);--surface-card:var(--white);--surface-alt:var(--paper-alt);--surface-dark:var(--ink-900);--surface-orange:var(--orange-500);
--text-heading:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);
--text-on-dark:#FFFFFF;--text-on-dark-muted:#C9CDCF;
--text-accent:var(--gold-600);--text-link:var(--orange-700);--text-link-hover:var(--ink-900);
--action-primary-bg:var(--orange-500);--action-primary-fg:#FFFFFF;--action-primary-bg-hover:var(--orange-700);
--action-secondary-fg:var(--ink-900);--action-secondary-border:var(--ink-900);--action-secondary-bg-hover:var(--ink-900);
--action-ghost-fg:#FFFFFF;--action-ghost-border:rgba(255,255,255,.6);--action-ghost-bg-hover:rgba(255,255,255,.14);
--border-input:var(--rule-strong);--border-card:var(--rule);--focus-ring:var(--orange-500);
--stat-figure:var(--gold-500);
--badge-bg:var(--orange-050);--badge-fg:var(--orange-700);--badge-border:var(--orange-100);
}

:root{
/* Display — Barlow Condensed, uppercase, tight */
--fs-display-1:88px;--fs-display-2:64px;--fs-title:44px;--fs-subsection:32px;--fs-feature:24px;--fs-card-title:20px;
/* Body — IBM Plex Sans */
--fs-body-lg:19px;--fs-body:17px;--fs-body-sm:15px;--fs-caption:13px;--fs-label:12px;--fs-micro:11px;
--fs-btn:15px;--fs-btn-sm:13px;
--lh-display:0.98;/* @kind other */
--lh-title:1.05;/* @kind other */
--lh-heading:1.15;/* @kind other */
--lh-body:1.65;/* @kind other */
--lh-tight:1.35;/* @kind other */
--ls-display:0.5px;/* @kind spacing */
--ls-label:1.2px;/* @kind spacing */
--ls-btn:0.6px;/* @kind spacing */
--ls-body:0px;/* @kind spacing */
--fw-regular:400;/* @kind other */
--fw-medium:500;/* @kind other */
--fw-semibold:600;/* @kind other */
--fw-bold:700;/* @kind other */
--fs-display-1-fluid:clamp(40px,7vw,88px);/* @kind font */
--fs-display-2-fluid:clamp(34px,5vw,64px);/* @kind font */
--fs-title-fluid:clamp(28px,3.4vw,44px);/* @kind font */
--fs-subsection-fluid:clamp(24px,2.4vw,32px);/* @kind font */
}

:root{
--sp-2:2px;--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--sp-64:64px;--sp-80:80px;--sp-96:96px;--sp-120:120px;
--section-y:96px;--section-y-md:64px;--section-y-sm:40px;--section-x:40px;--section-x-sm:20px;
--container-max:1440px;/* @kind spacing */
--content-max:1240px;/* @kind spacing */
--measure:68ch;/* @kind other */
--touch-min:48px;
}

:root{
--radius-0:0px;--radius-2:2px;--radius-4:4px;--radius-pill:999px;
--bw-hairline:1px;/* @kind spacing */
--bw-rule:2px;/* @kind spacing */
--bw-accent:3px;/* @kind spacing */
--divider:1px solid var(--rule);/* @kind other */
--card-border:1px solid var(--border-card);/* @kind other */
}

:root{
/* Flat, drawing-like. Depth comes from rules and surface tint, with one soft lift for cards on hover. */
--shadow-none:none;/* @kind shadow */
--shadow-card:0 1px 2px rgba(20,24,26,.06);
--shadow-lift:0 8px 24px rgba(20,24,26,.10);
--shadow-overlay:0 24px 64px rgba(20,24,26,.24);
--scrim-hero:var(--overlay-hero);--scrim-modal:var(--overlay-70);
}

:root{
--dur-fast:120ms;/* @kind other */
--dur-base:240ms;/* @kind other */
--dur-reveal:600ms;/* @kind other */
--ease-standard:cubic-bezier(.2,0,0,1);/* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1);/* @kind other */
--transition-interactive:background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard);/* @kind other */
--reveal-shift:16px;/* @kind spacing */
}

html{-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-600,600);color:var(--text-heading);text-transform:uppercase;letter-spacing:var(--ls-display);line-height:var(--lh-heading);margin:0}
a{color:var(--text-link);text-decoration:none;transition:var(--transition-interactive)}
a:hover{color:var(--text-link-hover)}
table{border-collapse:collapse;font-variant-numeric:tabular-nums}
::selection{background:var(--orange-100);color:var(--ink-900)}
[data-reveal]{opacity:0;transform:translateY(var(--reveal-shift));transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}


html,body{margin:0;background:var(--surface-page)}*{box-sizing:border-box}
@media (max-width:900px){.nrm-md-stack{grid-template-columns:1fr!important}.nrm-service-row{grid-template-columns:1fr!important}}
@media (max-width:1100px){.nrm-cert-stack{display:none}}
@media (max-width:640px){:root{--section-y:56px;--section-x:20px}}
