/* Base — reset, typography, layout primitives, accessibility */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s-5))}
body{margin:0;background:var(--nfi-white);color:var(--nfi-text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
p{margin:0 0 var(--s-4)}
ul,ol{margin:0 0 var(--s-4);padding-left:1.25rem}
hr{border:0;border-top:var(--bw) solid var(--nfi-line);margin:var(--s-6) 0}
::selection{background:var(--nfi-pale-blue);color:var(--nfi-navy)}

h1,h2,h3,h4{margin:0 0 var(--s-3);color:var(--nfi-ink);text-wrap:balance}
h1,h2{font-family:var(--font-display);font-weight:400;line-height:var(--lh-head);letter-spacing:var(--track-head)}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--track-display)}
h2{font-size:var(--fs-h2)}
h3,h4{font-family:var(--font-ui);font-weight:600;letter-spacing:-.01em;line-height:1.25}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
h1 em,h2 em{font-style:italic;color:var(--nfi-blue)}
.t-display{font-family:var(--font-display);font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--track-display);font-weight:400}
.t-lead{font-size:var(--fs-lead);line-height:1.55;color:var(--nfi-text-2);max-width:60ch}
.t-mono{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.02em}
.t-muted{color:var(--nfi-muted)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track-label);color:var(--nfi-blue-ink);margin-bottom:var(--s-4)}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.meta{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--nfi-muted)}

.wrap{width:100%;max-width:var(--w-site);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:calc(var(--w-narrow) + var(--gutter)*2)}
.section{padding-block:var(--section-y);position:relative}
.section--ice{background:var(--nfi-ice)}
.section--line{border-top:var(--bw) solid var(--nfi-line)}
.section--navy{background:var(--nfi-navy);color:var(--on-navy)}
.section--navy h1,.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}
.section--navy .eyebrow{color:var(--nfi-light-blue)}
.section--tight{padding-block:calc(var(--section-y)*.6)}
.stack>*+*{margin-top:var(--s-4)}
.grid{display:grid;gap:var(--s-5)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-7);align-items:center}
.split--wide-left{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.split--wide-right{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.prose{max-width:var(--w-prose)}
.prose h2{margin-top:var(--s-8)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:var(--s-6)}
.prose ul li{margin-bottom:var(--s-2)}
.prose a{color:var(--nfi-blue-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-bottom:var(--s-7)}
.section-head h2{margin:0;max-width:20ch}
.section-head p{margin:0;max-width:46ch;color:var(--nfi-text-2)}
.section-head--stack{display:block}
.section-head--stack p{margin-top:var(--s-3)}

/* Accessibility */
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:var(--z-toast);background:var(--nfi-navy);color:#fff;padding:var(--s-3) var(--s-4);border-radius:var(--r-2);transition:top var(--dur-1) var(--ease)}
.skip-link:focus{top:var(--s-4)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--nfi-blue);outline-offset:3px;border-radius:var(--r-1)}
.section--navy :focus-visible,.nfi-footer :focus-visible{outline-color:var(--nfi-light-blue)}
[hidden]{display:none!important}

/* Language gating: until i18n runs, content is English */
html[data-lang="ka"] body{font-family:var(--font-ui)}

[tabindex="-1"]:focus{outline:none}
