/* Pages — layouts specific to individual templates */

/* ---------- Home hero ---------- */
.nfi-hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,1.2rem + 4vw,5rem) var(--s-6);background:radial-gradient(60% 70% at 85% 10%,var(--nfi-pale-blue) 0%,transparent 70%),#fff;isolation:isolate}
.nfi-hero__grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--nfi-line) 1px,transparent 1px),linear-gradient(90deg,var(--nfi-line) 1px,transparent 1px);background-size:72px 72px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 78% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 78% 30%,#000,transparent 75%);opacity:.8}
.nfi-hero .nfi-ambient{z-index:-1}
.nfi-hero__inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.nfi-hero__copy h1{margin-bottom:var(--s-5)}
.nfi-hero__copy .t-lead{max-width:54ch}
.nfi-hero__copy .eyebrow{text-transform:none}
.nfi-hero__pillars{list-style:none;margin:var(--s-7) 0 0;padding:var(--s-5) 0 0;border-top:var(--bw) solid var(--nfi-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-5);font-size:var(--fs-small);font-weight:500;color:var(--nfi-text-2)}
.nfi-hero__pillars li{display:flex;align-items:center;gap:var(--s-3)}
.nfi-hero__pillars .i{color:var(--nfi-blue);width:20px;height:20px}
.nfi-hero__visual{min-width:0}
.nfi-hero__visual .nfi-stage{max-width:640px;margin-inline:auto}
.nfi-hero__principle{margin-top:var(--s-7)}
@media (max-width:980px){
  .nfi-hero__inner{grid-template-columns:1fr}
  .nfi-hero__visual .nfi-stage{max-width:560px}
}
@media (max-width:520px){.nfi-hero__pillars{grid-template-columns:1fr}}

/* ---------- Home sections ---------- */
.nfi-pillars .nfi-card{height:100%}
.nfi-feature{align-items:start}
.nfi-feature__panel h3{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem);font-weight:600;margin-bottom:var(--s-5)}
.nfi-feature__fine{margin:var(--s-4) 0 0;font-size:var(--fs-label);color:var(--nfi-muted);max-width:52ch}
.nfi-contrast{overflow:hidden}
.nfi-contrast__bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(132,184,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(132,184,255,.08) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 80% at 20% 30%,#000,transparent);mask-image:radial-gradient(ellipse 60% 80% at 20% 30%,#000,transparent)}
.nfi-contrast__mol{position:absolute;right:-80px;top:-20px;width:min(560px,70vw);color:var(--nfi-light-blue);opacity:.14}
.nfi-contrast .t-lead{color:var(--on-navy)}
.nfi-contrast .wrap{position:relative}
.nfi-compare{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--s-4)}
.nfi-compare__col{padding:var(--s-6);border-radius:var(--r-3);border:var(--bw) solid var(--line-on-navy);background:rgba(255,255,255,.04)}
.nfi-compare__col--strong{background:#fff;color:var(--nfi-text);border-color:#fff}
.nfi-compare__tag{display:inline-block;font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-4);color:var(--nfi-light-blue)}
.nfi-compare__col--strong .nfi-compare__tag{color:var(--nfi-blue-ink)}
.nfi-compare__quote{font:italic 400 1.4rem/1.25 var(--font-display);color:#fff;margin:0 0 var(--s-4)}
.nfi-compare ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2);font-size:var(--fs-small)}
.nfi-compare__col--weak li{color:var(--on-navy-2);display:flex;gap:var(--s-2)}
.nfi-compare__col--weak li::before{content:"–";color:var(--on-navy-2)}
.nfi-compare__list li{display:flex;align-items:center;gap:var(--s-3);font-weight:500;color:var(--nfi-ink)}
.nfi-compare__list .i{color:var(--nfi-success);width:18px;height:18px}
@media (max-width:640px){.nfi-compare{grid-template-columns:1fr}}

.nfi-quickverify{display:flex;gap:var(--s-3);padding:var(--s-3);background:#fff;border:var(--bw) solid var(--nfi-line-2);border-radius:var(--r-3);box-shadow:var(--sh-2);transition:border-color var(--dur-1),box-shadow var(--dur-2)}
.nfi-quickverify:focus-within{border-color:var(--nfi-blue);box-shadow:var(--ring),var(--sh-2)}
.nfi-quickverify .nfi-input{border:0;min-height:52px;font-family:var(--font-mono);font-size:1rem;letter-spacing:.02em;box-shadow:none;flex:1;min-width:0}
.nfi-quickverify .nfi-input:focus{box-shadow:none}
.nfi-quickverify--inline{max-width:640px;margin-top:var(--s-6)}
@media (max-width:520px){.nfi-quickverify{flex-direction:column}.nfi-quickverify .nfi-btn{width:100%}}
.nfi-rolestrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-5)}
.nfi-rolestrip--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.nfi-rolestrip__item{padding-top:var(--s-4);border-top:var(--bw) solid var(--nfi-line-2)}
.nfi-rolestrip__item p{margin:var(--s-3) 0 0;font-size:var(--fs-small);color:var(--nfi-text-2)}
@media (max-width:1000px){.nfi-rolestrip--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.nfi-rolestrip--5{grid-template-columns:1fr}}
.nfi-linkkey{display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-7);align-items:center;margin-top:var(--s-7);font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-linkkey span{display:inline-flex;align-items:center;gap:var(--s-3)}
.nfi-linkkey svg{width:44px;height:8px;color:var(--nfi-blue-2);overflow:visible}
.nfi-responsible{padding-block:var(--s-7)}

/* ---------- Catalogue ---------- */
.nfi-toolbar{grid-template-columns:repeat(5,minmax(0,1fr))}
.nfi-toolbar .nfi-search{grid-column:1/-1}
@media (max-width:1100px){.nfi-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.nfi-toolbar{grid-template-columns:1fr}}
.nfi-mgrid{align-items:stretch}
.nfi-catalogue__note{margin-top:var(--s-7)}
.nfi-key{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.nfi-key li{display:flex;gap:var(--s-4);align-items:center;padding:var(--s-3) 0;border-bottom:var(--bw) solid var(--nfi-line);font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-key li>:first-child{flex:none;min-width:116px}
.nfi-statelegend{display:flex;flex-wrap:wrap;gap:var(--s-3)}
@media (max-width:1000px){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.split,.split--wide-left,.split--wide-right{grid-template-columns:1fr;gap:var(--s-6)}.section-head{flex-direction:column;align-items:flex-start;gap:var(--s-3)}}
@media (max-width:900px){.split,.split--wide-left,.split--wide-right{grid-template-columns:1fr;gap:var(--s-6)}.section-head{flex-direction:column;align-items:flex-start;gap:var(--s-3)}}

/* ---------- Material record ---------- */
.nfi-mhero .nfi-pagehero__inner{align-items:center}
.nfi-mhero .nfi-ambient{opacity:.6}
.nfi-mhero__title{font-size:clamp(2.6rem,1.5rem + 5vw,5.25rem);letter-spacing:.015em;max-width:none;overflow-wrap:anywhere;margin-bottom:var(--s-4)}
.nfi-crumbs{display:flex;gap:var(--s-2);align-items:center;font:500 var(--fs-micro)/1 var(--font-mono);letter-spacing:.04em;color:var(--nfi-muted);margin-bottom:var(--s-5);flex-wrap:wrap}
.nfi-crumbs a:hover{color:var(--nfi-blue-ink)}
.nfi-meta-item{display:inline-flex;flex-direction:column;gap:6px;padding-right:var(--s-5);margin-right:var(--s-2);border-right:var(--bw) solid var(--nfi-line)}
.nfi-meta-item:last-child{border-right:0}
.nfi-meta-item__k{font:500 var(--fs-micro)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nfi-muted)}
.nfi-pagehero__aside .nfi-stage{max-width:620px;margin-inline:auto}
.nfi-subnav{position:sticky;top:var(--header-h);z-index:var(--z-sticky);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--bw) solid var(--nfi-line)}
.nfi-subnav ul{display:flex;gap:var(--s-1);list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.nfi-subnav ul::-webkit-scrollbar{display:none}
.nfi-subnav a{display:block;padding:14px 14px;font-size:var(--fs-label);font-weight:600;color:var(--nfi-text-2);white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--dur-1),border-color var(--dur-2) var(--ease)}
.nfi-subnav a:hover{color:var(--nfi-ink)}
.nfi-subnav a.is-current{color:var(--nfi-blue-ink);border-bottom-color:var(--nfi-blue)}
@media (max-width:1140px){.nfi-subnav{top:var(--header-h)}}
.nfi-top{align-items:start}
.nfi-summary{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);background:var(--nfi-ice);border-left:2px solid var(--nfi-blue);border-radius:var(--r-2);font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-summary b{display:block;font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nfi-blue-ink);margin-bottom:6px}
.nfi-idcard{gap:var(--s-4)}
.nfi-idcard__top{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}
.nfi-idcard h3{font:400 1.9rem/1.1 var(--font-display);letter-spacing:-.01em}
.nfi-idcard__basis{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}
.nfi-twocol{display:grid;gap:var(--s-4)}
.nfi-twocol__item{padding:var(--s-5);border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);background:#fff}
.nfi-twocol__item--off{background:transparent;border-style:dashed}
.nfi-twocol__k{display:block;font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nfi-blue-ink);margin-bottom:var(--s-2)}
.nfi-twocol__item p{margin:0;font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-batchmodel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);overflow:hidden;background:#fff}
.nfi-batchmodel__cell{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);border-right:var(--bw) solid var(--nfi-line);position:relative;transition:background var(--dur-2) var(--ease)}
.nfi-batchmodel__cell:last-child{border-right:0}
.nfi-batchmodel__cell:hover{background:var(--nfi-ice)}
.nfi-batchmodel__cell:not(:last-child)::after{content:"";position:absolute;right:-5px;top:36px;width:9px;height:9px;border-top:1px solid var(--nfi-blue-2);border-right:1px solid var(--nfi-blue-2);transform:rotate(45deg);background:#fff;z-index:1}
.nfi-batchmodel__ico{color:var(--nfi-blue);width:28px;height:28px}
.nfi-batchmodel__ico .i{width:28px;height:28px}
.nfi-batchmodel__k{font-weight:600;color:var(--nfi-ink);line-height:1.2}
.nfi-batchmodel__d{font-size:var(--fs-label);color:var(--nfi-text-2);margin-bottom:var(--s-2)}
.nfi-batchmodel .nfi-chip{margin-top:auto;align-self:flex-start}
@media (max-width:1100px){.nfi-batchmodel{grid-template-columns:repeat(3,minmax(0,1fr))}.nfi-batchmodel__cell{border-bottom:var(--bw) solid var(--nfi-line)}.nfi-batchmodel__cell::after{display:none}}
@media (max-width:560px){.nfi-batchmodel{grid-template-columns:1fr 1fr}}
.nfi-basislist{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:var(--s-3)}
.nfi-basislist li{display:flex;gap:var(--s-4);align-items:flex-start;font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-basislist li>:first-child{flex:none}
.nfi-chain--supply{margin-top:var(--s-4)}
.nfi-chain--supply .nfi-chain__body .nfi-state{margin-top:var(--s-3)}
.nfi-card__row{display:flex;justify-content:space-between;gap:var(--s-3);align-items:flex-start;flex-wrap:wrap}
.nfi-regcards .nfi-card{height:100%}
.nfi-docs{display:grid;gap:var(--s-3)}
.nfi-docrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--s-5);align-items:center;padding:var(--s-5);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}
.nfi-docrow:hover{border-color:var(--nfi-blue-2);box-shadow:var(--sh-2)}
.nfi-docrow.is-hidden{display:none}
.nfi-docrow__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-2);background:var(--nfi-pale-blue);color:var(--nfi-blue);transition:transform var(--dur-2) var(--ease),background var(--dur-2)}
.nfi-docrow:hover .nfi-docrow__ico{transform:translateY(-2px) rotate(-4deg);background:var(--nfi-blue);color:#fff}
.nfi-docrow h3{margin:0 0 4px;font-size:1.0625rem}
.nfi-docrow__meta,.nfi-docrow__src{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin:0;font-size:var(--fs-label);color:var(--nfi-text-2);align-items:center}
.nfi-docrow__src{color:var(--nfi-muted);margin-top:4px}
.nfi-docrow__state{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
@media (max-width:900px){.nfi-docrow{grid-template-columns:auto 1fr;}.nfi-docrow__state,.nfi-docrow__act{grid-column:2}.nfi-docrow__state{flex-direction:row;flex-wrap:wrap;gap:var(--s-3)}}
.nfi-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-6)}
.nfi-pillbtn{display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;padding:8px 14px;border:var(--bw) solid var(--nfi-line-2);border-radius:var(--r-2);background:#fff;font-size:var(--fs-label);font-weight:600;color:var(--nfi-text-2);transition:all var(--dur-1) var(--ease)}
.nfi-pillbtn:hover{border-color:var(--nfi-blue);color:var(--nfi-blue-ink)}
.nfi-pillbtn.is-active{background:var(--nfi-navy);border-color:var(--nfi-navy);color:#fff}
.nfi-pillbtn__n{font:500 var(--fs-micro) var(--font-mono);opacity:.7}
.nfi-accessgrid .nfi-card p{margin:var(--s-2) 0 0}
.nfi-catgrid .nfi-card{height:100%}
.nfi-vaultart{position:relative;width:min(300px,70%);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.nfi-vaultart i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--nfi-line-2)}
.nfi-vaultart i:nth-of-type(2){inset:14%;border-style:dashed;animation:nfi-spin 60s linear infinite}
.nfi-vaultart i:nth-of-type(3){inset:28%;border-color:var(--nfi-light-blue)}
.nfi-vaultart__core{position:relative;z-index:1;width:84px;height:84px;display:grid;place-items:center;border-radius:var(--r-3);background:var(--nfi-navy);color:#fff;box-shadow:var(--sh-3)}
.nfi-vaultart__core .i{width:32px;height:32px}
@keyframes nfi-spin{to{transform:rotate(360deg)}}

/* ---------- Batch verification ---------- */
.nfi-verify{position:relative;overflow:hidden;padding-block:clamp(3rem,2rem + 6vw,7rem) clamp(2rem,1rem + 3vw,4rem);text-align:center;background:linear-gradient(180deg,#fff,var(--nfi-ice));border-bottom:var(--bw) solid var(--nfi-line)}
.nfi-verify__bg{position:absolute;inset:0;pointer-events:none;color:var(--nfi-blue-2)}
.nfi-verify__mol{position:absolute;left:50%;top:-40px;width:min(900px,120%);translate:-50% 0;opacity:.16}
.nfi-verify__inner{position:relative}
.nfi-verify .eyebrow{justify-content:center}
.nfi-verify h1{font-size:var(--fs-display);margin-bottom:var(--s-4)}
.nfi-verify .t-lead{margin-inline:auto}
.nfi-verifybox{display:flex;gap:var(--s-3);max-width:720px;margin:var(--s-7) auto 0;padding:var(--s-3);background:#fff;border:var(--bw) solid var(--nfi-line-2);border-radius:var(--r-3);box-shadow:var(--sh-3);transition:border-color var(--dur-1),box-shadow var(--dur-2)}
.nfi-verifybox:focus-within{border-color:var(--nfi-blue);box-shadow:var(--ring),var(--sh-3)}
.nfi-verifybox input{flex:1;min-width:0;border:0;background:none;padding:14px 16px;font:500 clamp(1.1rem,1rem + .6vw,1.35rem) var(--font-mono);letter-spacing:.03em;color:var(--nfi-ink)}
.nfi-verifybox input::placeholder{color:var(--nfi-muted);font-family:var(--font-ui);letter-spacing:0}
.nfi-verifybox input:focus{outline:0}
.nfi-verifybox .nfi-btn{min-height:56px}
.nfi-verify__msg{margin:var(--s-4) 0 0;color:var(--nfi-danger);font-weight:500;font-size:var(--fs-small)}
@media (max-width:560px){.nfi-verifybox{flex-direction:column}.nfi-verifybox .nfi-btn{width:100%}}
.nfi-resultzone{padding-block:var(--s-8)}
.nfi-resultzone:empty{display:none}
.nfi-result{padding:clamp(1.25rem,.8rem + 2vw,2.5rem);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-4);box-shadow:var(--sh-2);animation:nfi-result-in var(--dur-3) var(--ease) both}
@keyframes nfi-result-in{from{opacity:0;translate:0 14px}}
.nfi-result--found{border-top:3px solid var(--nfi-blue)}
.nfi-result__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-5);flex-wrap:wrap;margin-bottom:var(--s-6)}
.nfi-result__head .meta{margin:0 0 4px}
.nfi-result__id{font:500 clamp(1.5rem,1.2rem + 1.4vw,2.25rem)/1.1 var(--font-mono);letter-spacing:.01em;margin:0;overflow-wrap:anywhere}
.nfi-result__status{display:flex;align-items:center;gap:var(--s-4)}
.nfi-seal{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1.5px solid var(--nfi-blue);color:var(--nfi-blue-ink);font:600 .9375rem/1 var(--font-mono);text-align:center}
.nfi-seal small{display:block;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;opacity:.8}
.nfi-dl--cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.nfi-dl--cols>div{grid-template-columns:1fr;gap:var(--s-1)}
.nfi-dl--cols>div:nth-child(odd){border-right:var(--bw) solid var(--nfi-line)}
.nfi-dl--cols>div:nth-last-child(-n+2){border-bottom:0}
@media (max-width:560px){.nfi-dl--cols{grid-template-columns:1fr}.nfi-dl--cols>div:nth-child(odd){border-right:0}.nfi-dl--cols>div:nth-last-child(2){border-bottom:var(--bw) solid var(--nfi-line)}}
.nfi-result__h{margin:var(--s-7) 0 var(--s-4);font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nfi-blue-ink)}
.nfi-timeline{list-style:none;margin:0;padding:0;position:relative}
.nfi-timeline__step{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-4);align-items:start;padding:0 0 var(--s-5) 0}
.nfi-timeline__step:last-child{padding-bottom:0}
.nfi-timeline__step::before{content:"";position:absolute;left:8px;top:20px;bottom:-2px;width:1px;background:var(--nfi-line-2)}
.nfi-timeline__step:last-child::before{display:none}
.nfi-timeline__dot{width:17px;height:17px;border-radius:50%;background:#fff;border:2px solid var(--nfi-line-2);margin-top:3px;position:relative;z-index:1}
.nfi-timeline__step.is-ok .nfi-timeline__dot{border-color:var(--nfi-success);background:var(--nfi-success)}
.nfi-timeline__step.is-info .nfi-timeline__dot{border-color:var(--nfi-blue);background:var(--nfi-blue)}
.nfi-timeline__step.is-warn .nfi-timeline__dot{border-color:var(--nfi-warning);background:#fff}
.nfi-timeline__step.is-bad .nfi-timeline__dot{border-color:var(--nfi-danger);background:#fff}
.nfi-timeline__step h4{margin:0 0 2px}
.nfi-timeline__step p{margin:0;font-size:var(--fs-label);color:var(--nfi-text-2)}
html.js .nfi-timeline__step{opacity:0;translate:0 10px;animation:nfi-tl .7s var(--ease) forwards;animation-delay:calc(var(--i)*.14s + .25s)}
@keyframes nfi-tl{to{opacity:1;translate:0 0}}
@media (max-width:560px){.nfi-timeline__step{grid-template-columns:auto 1fr}.nfi-timeline__step>.nfi-state{grid-column:2;justify-self:start}}
.nfi-result__note{margin-top:var(--s-6);padding:var(--s-4) var(--s-5);background:var(--nfi-ice);border-radius:var(--r-2)}
.nfi-result__note .meta{margin:0 0 4px}
.nfi-result__note p:last-child{margin:0}
.nfi-result__fine{margin:var(--s-6) 0 0;font-size:var(--fs-label);color:var(--nfi-muted)}
.nfi-result--none{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);border-style:dashed}
.nfi-result--none>.i{width:40px;height:40px;color:var(--nfi-blue-2);stroke-width:1.2}
.nfi-result--none h2{margin:0;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.4rem)}
.nfi-result--none p{margin:0;max-width:56ch;color:var(--nfi-text-2)}
.nfi-result--none .nfi-actions{justify-content:center}
.nfi-idle{text-align:center;color:var(--nfi-text-2)}
.nfi-idle h2{font-size:1.5rem;margin:var(--s-5) 0 var(--s-2)}
.nfi-idle p{margin:0}
.nfi-radar{position:relative;width:132px;height:132px;margin-inline:auto}
.nfi-radar i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--nfi-line-2)}
.nfi-radar i:nth-child(2){inset:22%}.nfi-radar i:nth-child(3){inset:44%}
.nfi-radar span{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(11,99,246,0) 0 300deg,rgba(11,99,246,.22) 360deg);animation:nfi-spin 5s linear infinite}

/* ---------- Manufacturer network & records ---------- */
.nfi-xgrid .nfi-card{height:100%}
.nfi-xcard__top{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}
.nfi-xcard h3{font:400 1.6rem/1.15 var(--font-display);letter-spacing:-.01em}
.nfi-xcard h3 a:hover{color:var(--nfi-blue-ink)}
.nfi-xcard__country{margin:0}
.nfi-xcard__facts{display:grid;margin:var(--s-2) 0 0;border-top:var(--bw) solid var(--nfi-line)}
.nfi-xcard__facts>div{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;padding:var(--s-3) 0;border-bottom:var(--bw) solid var(--nfi-line);font-size:var(--fs-small)}
.nfi-xcard__facts dt{color:var(--nfi-muted);font-size:var(--fs-label)}
.nfi-xcard__facts dd{margin:0}
.nfi-tablewrap{overflow-x:auto;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);background:#fff}
.nfi-reltable{margin-top:var(--s-7)}
.nfi-netmap__none{margin-top:var(--s-5)}
.nfi-sidelayout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.nfi-side{position:sticky;top:calc(var(--header-h) + var(--s-5));display:flex;flex-direction:column;border-left:var(--bw) solid var(--nfi-line)}
.nfi-side__k{margin:0 0 var(--s-3) var(--s-4);font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nfi-muted)}
.nfi-side a{padding:9px var(--s-4);margin-left:-1px;border-left:2px solid transparent;font-size:var(--fs-small);font-weight:500;color:var(--nfi-text-2);transition:color var(--dur-1),border-color var(--dur-2) var(--ease)}
.nfi-side a:hover{color:var(--nfi-ink)}
.nfi-side a.is-current{color:var(--nfi-blue-ink);border-left-color:var(--nfi-blue)}
.nfi-sidelayout__main>*+*{margin-top:var(--s-5)}
.nfi-sidelayout__main{min-width:0}
.nfi-h2s{font:600 var(--fs-micro)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nfi-blue-ink);margin:var(--s-8) 0 var(--s-4);padding-top:var(--s-5);border-top:var(--bw) solid var(--nfi-line)}
.nfi-sidelayout__main>.nfi-h2s:first-of-type{margin-top:var(--s-6)}
.nfi-h3s{font-size:1.0625rem;margin:var(--s-6) 0 var(--s-3)}
.nfi-taglist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.nfi-linklist{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;gap:var(--s-3)}
.nfi-linklist li{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;font-size:var(--fs-small)}
.nfi-linkline{display:inline-block;width:44px;height:0;border-top:2px solid var(--nfi-blue-2)}
.nfi-linkline--dashed{border-top-style:dashed}
.nfi-linkline--dotted{border-top-style:dotted;border-top-width:3px}
.nfi-qlist{padding-left:1.1rem;color:var(--nfi-text-2);max-width:64ch}
.nfi-qlist li{margin-bottom:var(--s-2)}
@media (max-width:900px){
  .nfi-sidelayout{grid-template-columns:1fr}
  .nfi-side{position:static;flex-direction:row;overflow-x:auto;border-left:0;border-bottom:var(--bw) solid var(--nfi-line);gap:var(--s-1);scrollbar-width:none}
  .nfi-side__k{display:none}
  .nfi-side a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;margin:0}
  .nfi-side a.is-current{border-bottom-color:var(--nfi-blue)}
}

/* ---------- Jurisdiction ---------- */
.nfi-jsec{padding:var(--s-6);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);scroll-margin-top:calc(var(--header-h) + var(--s-5))}
.nfi-jsec__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4);margin-bottom:var(--s-4)}
.nfi-jsec__head h2{font:600 1.375rem/1.2 var(--font-ui);letter-spacing:-.01em;margin:0;flex:1 1 220px}
.nfi-jsec p{color:var(--nfi-text-2)}
.nfi-jsec .nfi-qlist{margin-bottom:0}

/* ---------- Quality & evidence ---------- */
.nfi-eqbox{margin-top:var(--s-6);padding:var(--s-5) var(--s-6);border:var(--bw) solid var(--nfi-line-2);border-left:3px solid var(--nfi-blue);border-radius:var(--r-2);background:var(--nfi-ice)}
.nfi-eqbox p{margin:0 0 var(--s-2);font:400 clamp(1.15rem,1rem + .6vw,1.5rem)/1.25 var(--font-display);color:var(--nfi-ink)}
.nfi-eqbox p:last-child{margin:0}
.nfi-chain--arch .nfi-chain__body h3{font-size:1.25rem}
.nfi-chain--arch .nfi-chain__step:last-child .nfi-chain__node{background:var(--nfi-blue);color:#fff}
.nfi-versus{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s-5)}
.nfi-versus__col{padding:var(--s-6);border-radius:var(--r-3);border:var(--bw) dashed var(--nfi-line-2);background:#fff;display:flex;flex-direction:column;gap:var(--s-4);align-items:flex-start}
.nfi-versus__col--strong{border-style:solid;border-color:var(--nfi-blue-2);box-shadow:var(--sh-2)}
.nfi-versus blockquote{margin:0;font:italic 400 clamp(1.4rem,1.2rem + .8vw,1.9rem)/1.2 var(--font-display);color:var(--nfi-ink)}
.nfi-ticklist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);width:100%}
.nfi-ticklist li{display:flex;align-items:center;gap:var(--s-3);font-weight:500;font-size:var(--fs-small)}
.nfi-ticklist li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--nfi-success-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23198754' stroke-width='2'%3E%3Cpath d='M4.5 9.5l3 3 6-7'/%3E%3C/svg%3E") center/100% no-repeat}
.nfi-ticklist--no li{color:var(--nfi-text-2);font-weight:400}
.nfi-ticklist--no li::before{background:var(--nfi-danger-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23B3362F' stroke-width='2'%3E%3Cpath d='M5.5 5.5l7 7M12.5 5.5l-7 7'/%3E%3C/svg%3E") center/100% no-repeat}
@media (max-width:800px){.nfi-versus{grid-template-columns:1fr}}
.nfi-basisgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5)}
.nfi-basisgrid__item{padding:var(--s-5);border:var(--bw) solid var(--line-on-navy);border-radius:var(--r-3);background:rgba(255,255,255,.04)}
.nfi-basisgrid__item p{margin:var(--s-4) 0 0;color:var(--on-navy);font-size:var(--fs-small)}
.nfi-section--navy .nfi-basis,.section--navy .nfi-basis{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.section--navy .nfi-basis--fact{background:#fff;color:var(--nfi-navy);border-color:#fff}
.section--navy .section-head p{color:var(--on-navy)}
@media (max-width:1000px){.nfi-basisgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.nfi-basisgrid{grid-template-columns:1fr}}

/* ---------- Supplier verification ---------- */
.nfi-pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4);counter-reset:none}
.nfi-pipeline__step{position:relative;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);transition:border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}
.nfi-pipeline__step:hover{border-color:var(--nfi-blue-2);box-shadow:var(--sh-2);transform:translateY(-3px)}
.nfi-pipeline__step:not(:nth-child(4n))::after{content:"";position:absolute;right:calc(var(--s-4)*-1);top:34px;width:var(--s-4);height:1px;background:var(--nfi-blue-2)}
.nfi-pipeline__n{font:500 var(--fs-label)/1 var(--font-mono);color:var(--nfi-blue-ink);margin-bottom:var(--s-2)}
.nfi-pipeline__step h3{font-size:1.0625rem;margin:0}
.nfi-pipeline__step p{margin:0;font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-pipeline__out{margin-top:auto!important;padding-top:var(--s-3);border-top:1px dashed var(--nfi-line-2);display:flex;flex-direction:column;gap:4px;color:var(--nfi-text)!important}
.nfi-pipeline__out .meta{color:var(--nfi-blue-ink)}
@media (max-width:1100px){.nfi-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.nfi-pipeline__step::after{display:none}}
@media (max-width:600px){.nfi-pipeline{grid-template-columns:1fr}}
.nfi-rolecard{gap:var(--s-4)}
.nfi-rolecard__row{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:center;padding:var(--s-3) 0;border-bottom:var(--bw) solid var(--nfi-line);font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-rolecard__row:last-child{border-bottom:0}
.nfi-rolecard__row .nfi-role{min-width:116px;text-align:center}
@media (max-width:520px){.nfi-rolecard__row{grid-template-columns:1fr}}

/* ---------- Responsible use ---------- */
.nfi-nots{gap:var(--s-3)}
.nfi-not{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5);border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);font-weight:600;color:var(--nfi-ink);background:#fff}
.nfi-not__x{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nfi-danger-bg);color:var(--nfi-danger);flex:none}
.nfi-not__x .i{width:16px;height:16px}
.nfi-checklist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.nfi-checklist li{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4) var(--s-5);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-2);font-weight:500}
.nfi-checklist .i{color:var(--nfi-success);margin-top:3px;flex:none}

/* ---------- Forms layout ---------- */
.nfi-applayout{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.nfi-appside{position:sticky;top:calc(var(--header-h) + var(--s-5));display:grid;gap:var(--s-5)}
.nfi-appside__list{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:var(--s-5)}
.nfi-appside__list li{counter-increment:s;position:relative;padding-left:var(--s-7);display:grid;gap:2px}
.nfi-appside__list li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font:500 var(--fs-label)/1.5 var(--font-mono);color:var(--nfi-blue-ink)}
.nfi-appside__list b{font-weight:600;color:var(--nfi-ink)}
.nfi-appside__list span{font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-appmain{padding:clamp(1.25rem,.6rem + 2.4vw,2.75rem);background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-4);box-shadow:var(--sh-2)}
.nfi-routes{display:grid;gap:var(--s-4)}
@media (max-width:980px){.nfi-applayout{grid-template-columns:1fr}.nfi-appside{position:static}}
.nfi-step{border:0;padding:0;margin:0 0 var(--s-6);min-width:0}
.nfi-step legend{display:flex;flex-direction:column;gap:var(--s-1);padding:0;margin-bottom:var(--s-5);font:400 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--font-display);color:var(--nfi-ink);letter-spacing:-.01em}
.nfi-step legend .meta{letter-spacing:.06em}
.nfi-progress{display:none;list-style:none;margin:0 0 var(--s-7);padding:0;gap:var(--s-2)}
html.js .nfi-form--stepper .nfi-progress{display:flex}
.nfi-progress li{flex:1;display:flex;flex-direction:column;gap:var(--s-2);min-width:0}
.nfi-progress li::before{content:"";height:3px;border-radius:2px;background:var(--nfi-line);transition:background var(--dur-2) var(--ease)}
.nfi-progress li.is-done::before{background:var(--nfi-blue)}
.nfi-progress li[aria-current="step"]::before{background:linear-gradient(90deg,var(--nfi-blue),var(--nfi-light-blue))}
.nfi-progress__n{font:500 var(--fs-micro)/1 var(--font-mono);color:var(--nfi-muted)}
.nfi-progress__t{font-size:var(--fs-label);font-weight:600;color:var(--nfi-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfi-progress li[aria-current="step"] .nfi-progress__t,.nfi-progress li.is-done .nfi-progress__t{color:var(--nfi-ink)}
@media (max-width:700px){.nfi-progress__t{display:none}.nfi-progress li[aria-current="step"] .nfi-progress__t{display:block;position:absolute;left:var(--gutter);margin-top:20px;white-space:normal}.nfi-progress{margin-bottom:var(--s-8);position:relative}}
html.js .nfi-form--stepper .nfi-step{display:none}
html.js .nfi-form--stepper .nfi-step.is-active{display:block;animation:nfi-step-in var(--dur-3) var(--ease)}
@keyframes nfi-step-in{from{opacity:0;translate:14px 0}}
html.js .nfi-form--stepper [data-nojs-fine]{display:none}
.nfi-summary-list{margin:0 0 var(--s-5)}
.nfi-summary-list dd{white-space:pre-line}

/* ---------- Misc content ---------- */
.nfi-hier{padding:var(--s-6);border:var(--bw) solid var(--nfi-line);border-radius:var(--r-4);background:linear-gradient(180deg,#fff,var(--nfi-ice));box-shadow:var(--sh-2)}
.nfi-hier .meta{margin:0 0 var(--s-5)}
.nfi-hier ol{list-style:none;margin:0;padding:0;display:grid}
.nfi-hier li{position:relative;display:grid;gap:2px;padding:0 0 var(--s-5) var(--s-7)}
.nfi-hier li::before{content:"";position:absolute;left:7px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--nfi-blue);box-shadow:0 0 0 4px var(--nfi-pale-blue)}
.nfi-hier li::after{content:"";position:absolute;left:11px;top:20px;bottom:0;width:1px;background:var(--nfi-line-2)}
.nfi-hier li:last-child{padding-bottom:0}.nfi-hier li:last-child::after{display:none}
.nfi-hier li:nth-child(n+3)::before{background:#fff;border:1.5px solid var(--nfi-blue);width:9px;height:9px}
.nfi-hier b{font-weight:600;color:var(--nfi-ink)}
.nfi-hier span{font-size:var(--fs-small);color:var(--nfi-text-2)}
.nfi-commit .nfi-card{height:100%}
.nfi-faq{display:grid;gap:var(--s-3)}
.nfi-faq__item{background:#fff;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-3);transition:border-color var(--dur-2) var(--ease)}
.nfi-faq__item:hover,.nfi-faq__item[open]{border-color:var(--nfi-blue-2)}
.nfi-faq__item summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-6);cursor:pointer;list-style:none;font-weight:600;color:var(--nfi-ink)}
.nfi-faq__item summary::-webkit-details-marker{display:none}
.nfi-faq__item summary .i{color:var(--nfi-blue);transition:transform var(--dur-2) var(--ease)}
.nfi-faq__item[open] summary .i{transform:rotate(180deg)}
.nfi-faq__item div{padding:0 var(--s-6) var(--s-5);color:var(--nfi-text-2)}
.nfi-faq__item div p{margin:0;max-width:60ch}
.nfi-searchform{display:flex;gap:var(--s-3);max-width:640px;margin-bottom:var(--s-7)}
.nfi-searchform .nfi-input{flex:1}
.nfi-results .nfi-card h3{font-size:1.125rem}
.nav-links{display:flex;gap:var(--s-3);justify-content:center;margin-top:var(--s-7)}
.nav-links a,.nav-links span{padding:8px 14px;border:var(--bw) solid var(--nfi-line);border-radius:var(--r-2)}
.nav-links .current{background:var(--nfi-navy);color:#fff;border-color:var(--nfi-navy)}
.nfi-legal h2{font-family:var(--font-ui);font-weight:600;font-size:1.25rem;letter-spacing:-.01em;margin-top:var(--s-7)}
.nfi-legal h2:first-child{margin-top:0}
/* Notes: pages whose copy is only English while another language is active */
.nfi-langnote{display:none;padding:var(--s-3) var(--s-4);background:var(--nfi-warning-bg);font-size:var(--fs-label);text-align:center;color:var(--nfi-warning-ink)}
html:not([data-lang="en"]) .nfi-langnote.is-visible{display:block}

/* print */
@media print{.nfi-header,.nfi-topbar,.nfi-footer,.nfi-ambient,.nfi-subnav,.nfi-sheet,.nfi-ctaband{display:none!important}body{overflow:visible}}

/* overflow guards */
.grid>*,.split>*,.nfi-mcard,.nfi-feature>*{min-width:0}
.nfi-mcard__data dd{min-width:0}
.nfi-segbar__count{white-space:normal}
@media (max-width:480px){.nfi-mcard__data>div{grid-template-columns:1fr;gap:4px}.nfi-mcard{padding:var(--s-5)}}
.nfi-card>.nfi-chip,.nfi-card>.nfi-state,.nfi-card>.nfi-access{align-self:flex-start}
.nfi-applayout>*,.nfi-sidelayout>*{min-width:0}
.nfi-progress{max-width:100%}
