/* ==========================================================================
   Notes theme — design system 2.1
   One system for every page: tokens below are the single source of truth for
   type, colour, spacing and radius. Owner-controlled values arrive as --nfi-*
   variables printed inline by inc/assets.php (allow-listed, never HTML-escaped).
   Logical properties throughout so Arabic (dir="rtl") mirrors without overrides.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root{
  /* Colour: brand values come from settings; derived values guarantee contrast. */
  --n-bg:var(--nfi-bg,#000);
  --n-surface:var(--nfi-surface2,#0b0b0e);
  --n-text:var(--nfi-text,#e8e1d5);
  /* Muted text is mixed from the text colour so it keeps ≥7:1 on the page background
     in both themes (audit 2.3) instead of an ad-hoc grey. */
  --n-muted:color-mix(in srgb,var(--n-text) 80%,var(--n-bg));
  /* Alternate section band: one step off the page so long pages get rhythm. */
  --n-band:color-mix(in srgb,var(--n-text) 4%,var(--n-bg));
  --n-line:color-mix(in srgb,var(--n-text) 16%,transparent);
  --n-line-strong:color-mix(in srgb,var(--n-text) 30%,transparent);
  --n-gold:var(--nfi-gold,#eabf4b);
  --n-indigo:var(--nfi-indigo,#797ef6);
  --n-teal:var(--nfi-teal,#2dd4bf);
  --n-link:var(--n-gold);            /* in-content CTAs and labels */
  --n-cta:var(--n-gold);
  --n-cta-ink:#111;
  --n-focus:var(--n-gold);
  --nfi-indigo-text:var(--n-indigo);

  /* Type */
  --n-display:var(--nfi-font-display,"Playfair Display",Georgia,"Times New Roman",serif);
  --n-font:var(--nfi-font-ui,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  --nfi-fs-display:clamp(44px,5.6vw,92px);
  --nfi-fs-h2:clamp(34px,4vw,60px);
  --nfi-fs-h3:clamp(24px,2.2vw,34px);
  --nfi-fs-body:var(--nfi-body-size,17px);
  --nfi-fs-lead:clamp(19px,1.1rem + .25vw,20px);
  --nfi-fs-small:15px;
  --nfi-fs-label:12px;
  --nfi-label-tracking:.14em;

  /* Space and shape */
  --n-gutter:clamp(16px,4vw,40px);
  --n-wrap:min(1240px,100% - 2 * var(--n-gutter));
  --n-space:var(--nfi-section-space,96px);
  --n-gap:clamp(24px,3vw,40px);
  --n-radius:var(--nfi-card-radius,8px);
  --n-header:var(--nfi-header-height,72px);
  --n-measure:64ch;
  --n-dock-space:96px;
}
html[data-nfi-theme="light"]{
  --n-bg:var(--nfi-paper,#f3efe6);
  --n-surface:color-mix(in srgb,var(--nfi-paper,#f3efe6) 90%,#000);
  --n-text:var(--nfi-ink,#111);
  --n-muted:color-mix(in srgb,var(--n-text) 80%,var(--n-bg));
  --n-band:color-mix(in srgb,var(--n-text) 4%,var(--n-bg));
  /* Gold text fails on paper (1.6:1); a deepened gold keeps the brand at ~6:1. */
  --n-link:color-mix(in srgb,var(--n-gold) 42%,#000);
  --n-focus:color-mix(in srgb,var(--n-gold) 42%,#000);
  --nfi-indigo-text:#4c50c9; /* #797EF6 is 3.6:1 on paper; this keeps the hue at ~6:1 */
  /* Plugin components read the legacy names. */
  --nfi-bg:var(--n-bg);--nfi-surface:var(--n-surface);--nfi-surface2:var(--n-surface);--nfi-text:var(--n-text);--nfi-muted:var(--n-muted);
}
/* Arabic: both families remap to the Arabic tokens; UI text ~18% larger (audit 5.2). */
html[lang^="ar"]{
  /* Latin names inside Arabic text (Notes Intelligence, Grant OS) fall through to the brand Latin fonts. */
  --n-display:var(--nfi-font-arabic-display,"Noto Naskh Arabic","Playfair Display","IBM Plex Sans Arabic",serif);
  --n-font:var(--nfi-font-arabic-ui,"IBM Plex Sans Arabic",Inter,"Segoe UI",Tahoma,sans-serif);
  --nfi-fs-display:clamp(40px,5vw,80px);
  --nfi-fs-small:17px;
  --nfi-fs-label:14px;
  --nfi-label-tracking:0;
}
@supports not (color:color-mix(in srgb,red 50%,blue)){
  :root{--n-muted:#bdb6aa;--n-line:rgba(232,225,213,.16);--n-line-strong:rgba(232,225,213,.3)}
  html[data-nfi-theme="light"]{--n-muted:#4a4844;--n-line:rgba(17,17,17,.16);--n-line-strong:rgba(17,17,17,.3);--n-link:#6a5418;--n-focus:#6a5418}
}

/* 2. Base ------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--n-header) + 16px);background:var(--n-bg)}
body{margin:0;background:var(--n-bg);color:var(--n-text);font-family:var(--n-font);font-size:var(--nfi-fs-body);font-weight:var(--nfi-body-weight,400);line-height:var(--nfi-body-leading,1.65);-webkit-font-smoothing:antialiased;overflow-x:clip}
html[lang^="ar"] body{line-height:1.8}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
/* Button reset: no browser-default grey behind ivory text (audit 1.7). */
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:0;padding:0;cursor:pointer}
button:disabled,[aria-disabled="true"]{cursor:not-allowed}
:focus-visible{outline:2px solid var(--n-focus);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--n-gold) 35%,transparent)}
h1,h2,h3,h4{margin:0;font-family:var(--n-display);font-weight:400;text-wrap:balance}
h1{font-size:var(--nfi-fs-display);line-height:.95;letter-spacing:-.04em}
h2{font-size:var(--nfi-fs-h2);line-height:1;letter-spacing:-.03em}
h3{font-size:var(--nfi-fs-h3);line-height:1.15;letter-spacing:-.015em}
html[lang^="ar"] :is(h1,h2,h3){letter-spacing:0;line-height:1.35;font-weight:500}
p{margin:0}
p,li,dd{text-wrap:pretty}
strong,b{font-weight:600}
small{font-size:var(--nfi-fs-small)}
.nfi-orbit-nodes,.nfi-footer-social,.nfi-footer-legal,.nfi-home-team-disciplines{list-style:none;margin:0;padding:0}
.nfi-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nfi-skip{position:absolute;inset-inline-start:16px;top:-80px;z-index:200;padding:12px 18px;background:var(--n-gold);color:var(--n-cta-ink);font-weight:600;text-decoration:none}
.nfi-skip:focus{top:12px}
.nfi-ui-icon{display:inline-block;flex:none;vertical-align:-.15em}
[hidden]{display:none!important}
[data-reveal]{opacity:1!important;transform:none!important}
bdi,.nfi-bidi{unicode-bidi:isolate}
html[dir="rtl"] :is(.nfi-arrow,.nfi-btn>span:last-child:not(:has(svg)),.nfi-text-link>span:last-child){display:inline-block;transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* 3. Labels, eyebrows, links ------------------------------------------------ */
.nfi-eyebrow,.nfi-section-kicker,.nfi-label,.nfi-home-system-card>p,.nfi-system-card>p:first-of-type,.nfi-about-value>p:first-of-type,.nfi-work-choice>p:first-of-type,.nfi-home-try-card small{display:block;margin:0 0 20px;font-family:var(--n-font);font-size:var(--nfi-fs-label);font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;line-height:1.5;color:var(--n-link)}
/* Gold marks one thing per section (the kicker and the primary action); labels inside cards are quiet. */
:is(.nfi-home-system-card>p,.nfi-system-card>p:first-of-type,.nfi-about-value>p:first-of-type,.nfi-work-choice>p:first-of-type,.nfi-home-try-card small){color:var(--n-muted)}
html[lang^="ar"] :is(.nfi-eyebrow,.nfi-section-kicker,.nfi-label,.nfi-home-system-card>p,.nfi-system-card>p:first-of-type,.nfi-about-value>p:first-of-type,.nfi-work-choice>p:first-of-type,.nfi-home-try-card small){text-transform:none;letter-spacing:0}
.nfi-product-kicker{display:block;margin:20px 0 0;font-family:var(--n-font);font-size:var(--nfi-fs-lead);font-weight:500;color:var(--n-text)}

.nfi-text-link,.nfi-center-link a,.nfi-article-related-head>a,.nfi-path-grid a,.nfi-founder-action,.nfi-insights-stream-head>a,.nfi-home-system-card b,.nfi-home-work-grid b,.nfi-system-card strong,.nfi-home-insight-card b em{display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-family:var(--n-font);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--n-text);text-decoration:underline;text-decoration-color:var(--n-link);text-decoration-thickness:1px;text-underline-offset:.55em}
html[lang^="ar"] :is(.nfi-text-link,.nfi-center-link a,.nfi-article-related-head>a,.nfi-path-grid a,.nfi-founder-action,.nfi-insights-stream-head>a,.nfi-home-system-card b,.nfi-home-work-grid b,.nfi-system-card strong,.nfi-home-insight-card b em){font-size:15px;letter-spacing:0;text-transform:none}
:is(.nfi-text-link,.nfi-center-link a,.nfi-path-grid a,.nfi-founder-action,.nfi-article-related-head>a,.nfi-insights-stream-head>a,.nfi-home-system-card b,.nfi-home-work-grid b,.nfi-system-card strong):hover,:is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover :is(b,strong){color:var(--n-link);text-decoration-thickness:2px}
.nfi-article-back{display:inline-flex;align-items:center;min-height:44px;font-size:var(--nfi-fs-small);color:var(--n-muted);text-decoration:none}
.nfi-article-back:hover{color:var(--n-text)}

/* 4. Buttons: primary = filled gold, secondary/ghost = ivory outline -------- */
.nfi-btn,.nfi-home-action,.nfi-work-choice button,.nfi-insights-search button,.nnos-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 26px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);background:transparent;color:var(--n-text);font-family:var(--n-font);font-size:15px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none;text-align:center;transition:background-color .15s,border-color .15s,color .15s}
:is(.nfi-btn,.nfi-home-action,.nfi-work-choice button):hover{border-color:var(--n-text);background-color:color-mix(in srgb,var(--n-text) 6%,transparent)}
:is(.nfi-btn,.nfi-home-action):active{transform:translateY(1px)}
.nfi-btn-primary,.nfi-home-action-primary,.nfi-insights-search button,.nnos-submit,.nfi-work-choice.is-selected button{background:var(--n-cta);border-color:var(--n-cta);color:var(--n-cta-ink)}
:is(.nfi-btn-primary,.nfi-home-action-primary,.nfi-insights-search button,.nnos-submit):hover{background:color-mix(in srgb,var(--n-cta) 85%,#fff);border-color:transparent;color:var(--n-cta-ink)}
.nfi-btn-ghost,.nfi-btn-secondary{background:transparent;border-color:var(--n-line-strong);color:var(--n-text)}
.nfi-btn span,.nfi-btn b{font-weight:inherit}

/* 5. Header ----------------------------------------------------------------- */
.nfi-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:20px;height:var(--n-header);padding:0 var(--n-gutter);background:var(--n-bg);border-bottom:1px solid var(--n-line)}
.admin-bar .nfi-header{top:32px}
@media (max-width:782px){.admin-bar .nfi-header{top:46px}}
.nfi-brand{position:relative;display:inline-flex;align-items:center;flex:none;min-height:44px;text-decoration:none}
.nfi-brand.is-active::after{content:"";position:absolute;inset-inline:0;bottom:2px;height:2px;background:var(--n-gold)}
.nfi-footer .nfi-brand::after{display:none}
.nfi-brand-art,.nfi-brand-art-full{display:inline-flex;align-items:center}
.nfi-brand-logo{width:auto;height:30px}
.nfi-brand-logo-light,html[data-nfi-theme="light"] .nfi-brand-logo-dark{display:none}
html[data-nfi-theme="light"] .nfi-brand-logo-light{display:block}
.nfi-brand-art-compact{display:none}
.nfi-nav{display:flex;align-items:center;gap:2px;margin-inline-start:auto;background:none}
.nfi-nav>a,.nfi-nav-briefing{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;background:none;font-size:14px;font-weight:500;color:var(--n-muted);text-decoration:none;white-space:nowrap;transition:color .15s}
:is(.nfi-nav>a,.nfi-nav-briefing):is(:hover,.is-active){color:var(--n-text)}
:is(.nfi-nav>a,.nfi-nav-briefing).is-active::after{content:"";position:absolute;inset-inline:12px;bottom:6px;height:2px;background:var(--n-gold)}
.nfi-nav-icon{display:none}
.nfi-nav>a.nfi-nav-cta{margin-inline-start:12px;padding:0 18px;border:1px solid var(--n-cta);border-radius:var(--n-radius);background:var(--n-cta);color:var(--n-cta-ink);font-weight:600}
.nfi-nav>a.nfi-nav-cta:is(:hover,.is-active){background:color-mix(in srgb,var(--n-cta) 85%,#fff);color:var(--n-cta-ink)}
.nfi-nav>a.nfi-nav-cta.is-active::after{display:none}
.nfi-app-actions{display:flex;align-items:center}
.nfi-header-tools{display:flex;align-items:center;gap:6px;flex:none}
.nfi-language-control{position:relative}
.nfi-language-toggle,.nfi-menu{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 10px;border:1px solid transparent;border-radius:var(--n-radius);color:var(--n-muted);font-size:13px;font-weight:600;transition:color .15s,border-color .15s}
:is(.nfi-language-toggle,.nfi-menu):hover,.nfi-language-control.is-open .nfi-language-toggle{color:var(--n-text);border-color:var(--n-line)}
.nfi-theme-switch{display:inline-flex;padding:2px;border:1px solid var(--n-line);border-radius:999px}
.nfi-theme-switch button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;border-radius:999px;color:var(--n-muted)}
.nfi-theme-switch button:hover{color:var(--n-text)}
.nfi-theme-switch button[aria-pressed="true"]{background:var(--n-text);color:var(--n-bg)}
.nfi-language-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:70;min-width:220px;padding:6px;background:var(--n-bg);border:1px solid var(--n-line-strong);border-radius:var(--n-radius)}
.nfi-language-menu a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:15px;text-decoration:none;color:var(--n-text);border-radius:calc(var(--n-radius) - 2px)}
.nfi-language-menu a:hover{background:var(--n-surface)}
.nfi-language-menu a b{min-width:26px;color:var(--n-muted);font-weight:600}
.nfi-language-menu a i{margin-inline-start:auto;font-style:normal;color:var(--n-link)}
.nfi-menu{display:none;flex-direction:column;gap:5px}
.nfi-menu span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform .2s}
.menu-open .nfi-menu span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-open .nfi-menu span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.nfi-mobile-scrim{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.55)}
body.nfi-menu-locked{overflow:hidden}
@media (max-width:1080px){
  .nfi-menu{display:inline-flex}
  .nfi-header-tools{margin-inline-start:auto}
  /* Opaque full-height sheet (audit 4.1). */
  .nfi-nav{position:fixed;inset-inline:0;top:var(--n-header);bottom:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px var(--n-gutter) calc(24px + env(safe-area-inset-bottom));background:var(--n-bg);overflow-y:auto;overscroll-behavior:contain;z-index:58}
  .admin-bar .nfi-nav{top:calc(var(--n-header) + 46px)}
  .menu-open .nfi-nav{display:flex}
  .nfi-nav>a,.nfi-nav-briefing{min-height:56px;padding:0;font-size:20px;color:var(--n-text);border-bottom:1px solid var(--n-line)}
  html[lang^="ar"] .nfi-nav>a{font-size:22px}
  .nfi-nav>a.is-active{color:var(--n-link)}
  :is(.nfi-nav>a,.nfi-nav-briefing).is-active::after{display:none}
  .nfi-nav>a.nfi-nav-cta{margin:20px 0 0;justify-content:center;border-bottom:1px solid var(--n-gold)}
  .nfi-app-actions{padding-top:12px}
}
@media (max-width:640px){.nfi-header{gap:8px}.nfi-theme-switch button{width:44px}.nfi-language-toggle strong{display:none}}

/* 6. Page sections ----------------------------------------------------------- */
main{display:block;padding-bottom:var(--n-dock-space)}
main>section,.nfi-article,.nfi-footer-briefing{width:var(--n-wrap);margin-inline:auto}
.nfi-section,main>section{padding-block:var(--n-space)}
main>section+section,main>section+.nfi-owner-content+section{border-top:1px solid var(--n-line)}
main>.nfi-marquee{width:100%}
@media (max-width:760px){:root{--n-space:60px}}

/* Heroes */
.nfi-home-hero,.nfi-page-hero,.nfi-depth-hero,.nfi-about-hero,.nfi-product-hero,.nfi-insights-hero,.nfi-newsletter-page-hero,.nfi-article-hero{position:relative;padding-block:clamp(64px,10vw,140px) clamp(48px,6vw,88px)}
.nfi-home-hero,.nfi-about-hero,.nfi-product-hero,.nfi-newsletter-page-hero{overflow:clip}
:is(.nfi-page-hero,.nfi-depth-hero,.nfi-about-hero,.nfi-product-hero,.nfi-insights-hero,.nfi-newsletter-page-hero) h1{max-width:16ch}
.nfi-home-hero h1{max-width:17ch}
.nfi-home-hero{padding-block:clamp(48px,7vw,104px) clamp(48px,6vw,88px)}
.nfi-home-hero-lede,.nfi-page-hero>p:not(.nfi-eyebrow),.nfi-depth-hero>p:not(.nfi-eyebrow),.nfi-about-lead,.nfi-product-lede,.nfi-insights-hero-copy>p,.nfi-newsletter-page-copy>p:not(.nfi-eyebrow),.nfi-article-deck{max-width:var(--n-measure);margin-top:28px;font-size:var(--nfi-fs-lead);line-height:1.6;color:var(--n-muted)}
@media (min-width:1000px){
  .nfi-home-hero,.nfi-about-hero,.nfi-product-hero,.nfi-newsletter-page-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);align-items:center;gap:clamp(32px,4vw,64px)}
}
.nfi-home-hero-glow{position:absolute;inset-block-start:-20%;inset-inline-end:-10%;width:min(70vw,900px);aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--n-indigo) 22%,transparent),transparent 62%);pointer-events:none;z-index:0}
.nfi-nebula-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.7}
.nfi-home-hero>*:not(.nfi-home-hero-glow):not(.nfi-nebula-canvas):not(.nfi-convergence-canvas){position:relative;z-index:1}
html[data-nfi-theme="light"] .nfi-home-hero-glow{opacity:.5}

/* Hero actions */
.nfi-home-primary-actions,.nfi-home-final-actions,.nfi-confirm-actions,.nfi-not-found-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px}
.nfi-home-action{gap:12px;padding-block:8px}
.nfi-home-action>span:not(.nfi-home-action-orb):not(.nfi-home-action-icon){display:flex;flex-direction:column;align-items:flex-start;text-align:start}
.nfi-home-action small{font-size:12px;font-weight:500}
.nfi-home-action-icon{font-size:16px;line-height:1}
.nfi-home-action-orb{position:relative;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;flex:none}
.nfi-home-action-orb i{position:absolute;inset:4px;border-radius:50%;background:currentColor}
@media (prefers-reduced-motion:no-preference){.nfi-home-action-orb i{animation:nfi-orb 2.4s ease-in-out infinite}}
@keyframes nfi-orb{50%{transform:scale(.6);opacity:.6}}
.nfi-home-signal-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:32px;font-size:var(--nfi-fs-label);font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-muted)}
html[lang^="ar"] .nfi-home-signal-row{text-transform:none}
:is(.nfi-home-signal-row,.nfi-work-hero-meta,.nfi-diagnostic-meta,.nfi-newsletter-page-signals) i{width:4px;height:4px;border-radius:50%;background:var(--n-gold);flex:none}

/* Meta rows */
.nfi-work-hero-meta,.nfi-diagnostic-meta,.nfi-newsletter-page-signals,.nfi-insight-meta,.nfi-article-meta,.nfi-about-team-tags,.nfi-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:28px;font-size:var(--nfi-fs-small);color:var(--n-muted)}
:is(.nfi-insight-meta,.nfi-article-meta,.nfi-about-team-tags,.nfi-tags)>span+span::before{content:"·";margin-inline-end:12px;color:var(--n-gold)}
.nfi-insight-meta,.nfi-article-meta{margin-top:0;font-size:13px}
html[lang^="ar"] :is(.nfi-insight-meta,.nfi-article-meta){font-size:15px}

/* Section heads */
.nfi-section-head,.nfi-home-section-intro,.nfi-home-method-head,.nfi-about-purpose-head,.nfi-insights-stream-head,.nfi-article-related-head,.nfi-booking-heading,.nfi-diagnostic-result-head{display:grid;gap:20px;margin-bottom:clamp(40px,5vw,64px)}
:is(.nfi-section-head,.nfi-home-section-intro,.nfi-home-section-intro>div,.nfi-home-method-head,.nfi-about-purpose-head)>p:not(.nfi-section-kicker),.nfi-booking-heading p,.nfi-diagnostic-result-head p:not(.nfi-section-kicker){max-width:var(--n-measure);color:var(--n-muted)}
.nfi-home-section-intro>div>p+a,.nfi-section-head a{margin-top:12px}
:is(.nfi-home-section-intro,.nfi-section-head,.nfi-home-method-head,.nfi-about-purpose-head) h2{max-width:20ch}
@media (min-width:900px){
  .nfi-section-head.split,.nfi-home-section-intro.split,.nfi-home-method-head,.nfi-insights-stream-head,.nfi-article-related-head,.nfi-booking-heading,.nfi-diagnostic-result-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:var(--n-gap) clamp(40px,6vw,96px)}
}

/* Two-column text sections */
.nfi-two-paths,.nfi-boundaries,.nfi-humanity-practical,.nfi-ai-control,.nfi-systems-brain,.nfi-product-problem,.nfi-product-outcomes,.nfi-product-network,.nfi-about-world,.nfi-work-context,.nfi-work-after,.nfi-founder,.nfi-home-try,.nfi-newsletter-home{display:grid;gap:var(--n-gap)}
@media (min-width:900px){
  .nfi-two-paths,.nfi-boundaries,.nfi-humanity-practical,.nfi-ai-control,.nfi-systems-brain,.nfi-product-problem,.nfi-product-outcomes,.nfi-product-network,.nfi-about-world,.nfi-work-context,.nfi-work-after,.nfi-founder,.nfi-home-try,.nfi-newsletter-home{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
}
:is(.nfi-two-paths-copy,.nfi-ai-control,.nfi-systems-brain,.nfi-product-network,.nfi-about-world-copy,.nfi-work-context,.nfi-work-after,.nfi-home-try-copy,.nfi-newsletter-home-intro) p:not(.nfi-section-kicker),.nfi-founder-bio{margin-top:20px;max-width:var(--n-measure);color:var(--n-muted)}
.nfi-product-problem>p{font-size:var(--nfi-fs-lead);color:var(--n-text)}
:is(.nfi-ai-control .nfi-text-link,.nfi-systems-brain .nfi-btn,.nfi-founder-action){margin-top:24px}

/* 7. Cards: one ruled pattern ------------------------------------------------ */
.nfi-home-problem-grid,.nfi-home-system-grid,.nfi-home-work-grid,.nfi-system-grid,.nfi-capability-grid,.nfi-principle-grid,.nfi-process-grid,.nfi-path-grid,.nfi-control-grid,.nfi-method-grid,.nfi-about-values,.nfi-work-choice-grid,.nfi-diagnostic-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 var(--n-gap)}
.nfi-home-try-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
:is(.nfi-home-problem-grid,.nfi-home-system-grid,.nfi-home-work-grid,.nfi-system-grid,.nfi-capability-grid,.nfi-principle-grid,.nfi-process-grid,.nfi-path-grid,.nfi-control-grid,.nfi-method-grid,.nfi-about-values,.nfi-work-choice-grid,.nfi-diagnostic-insight-grid)>*{display:flex;flex-direction:column;gap:12px;padding:24px 0 40px;border-top:1px solid var(--n-line-strong);color:inherit;text-decoration:none}
:is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card){transition:border-color .15s}
:is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover{border-top-color:var(--n-gold)}
:is(.nfi-home-problem-grid,.nfi-home-work-grid,.nfi-capability-grid,.nfi-principle-grid,.nfi-method-grid)>*>span:first-child,.nfi-process-card>span:first-child,.nfi-path-grid small,.nfi-about-value>span:first-child,.nfi-work-choice>span:first-child,.nfi-boundary-list>div>span,.nfi-country-row>span,.nfi-control-grid>*>span{font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.08em;color:var(--n-muted)}
.nfi-home-system-card>div:first-of-type,.nfi-system-card>div:first-of-type{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--n-muted)}
:is(.nfi-home-system-card,.nfi-system-card,.nfi-about-value,.nfi-work-choice)>p:first-of-type{margin:0}
:is(.nfi-home-problem-grid,.nfi-home-work-grid,.nfi-capability-grid,.nfi-principle-grid,.nfi-method-grid,.nfi-control-grid) p,.nfi-process-card p,.nfi-path-grid p,.nfi-about-value>p:last-child,.nfi-work-choice>p:last-of-type,.nfi-home-system-copy,.nfi-system-card>p:last-of-type{color:var(--n-muted);font-size:16px;line-height:1.6}
html[lang^="ar"] :is(.nfi-home-problem-grid,.nfi-home-work-grid,.nfi-capability-grid,.nfi-principle-grid,.nfi-method-grid,.nfi-control-grid) p{font-size:18px}
.nfi-capability-grid p{color:var(--n-text)}
.nfi-home-system-card h3,.nfi-system-card h2{font-size:var(--nfi-fs-h3)}
.nfi-home-system-card b,.nfi-home-work-grid b,.nfi-system-card strong{margin-top:auto;padding-top:8px}
.nfi-home-system-card.is-core{grid-column:1/-1}
.nfi-home-system-card.is-core h3{font-size:var(--nfi-fs-h2)}
.nfi-home-system-card.is-core .nfi-home-system-copy{max-width:var(--n-measure);font-size:var(--nfi-fs-body)}
.nfi-work-choice button{align-self:flex-start;margin-top:auto}
.nfi-work-choice.is-selected{border-top-color:var(--n-gold)}
.nfi-path-grid a{margin-top:auto}
.nfi-home-try-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:0;padding:24px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);color:var(--n-text);text-align:start;text-decoration:none}
.nfi-home-try-card:hover{border-color:var(--n-gold)}
.nfi-home-try-card small{margin:0}
.nfi-home-try-card strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;line-height:1.15}
.nfi-home-try-card span{font-size:15px;color:var(--n-muted)}

/* Ordered flows: steps joined by arrows */
.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;border-top:1px solid var(--n-line-strong)}
:is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow)>:is(article,span){flex:1 1 140px;display:flex;flex-direction:column;gap:6px;padding:20px 8px 24px 0}
:is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow)>:is(i,b){flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:28px;color:var(--n-gold);font-weight:400;font-style:normal}
.nfi-home-method-flow>i::before{content:"→"}
html[dir="rtl"] :is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow)>:is(i,b){transform:scaleX(-1)}
:is(.nfi-home-method-flow span,.nfi-thinking-flow small,.nfi-progression-line small){font-size:13px;color:var(--n-muted);font-variant-numeric:tabular-nums}
:is(.nfi-home-method-flow strong,.nfi-thinking-flow strong,.nfi-progression-line strong){font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;line-height:1.15}
.nfi-family-flow>span{font-family:var(--n-display);font-size:clamp(20px,1.6vw,26px)}
:is(.nfi-home-method-flow small,.nfi-progression-line em,.nfi-family-flow small){display:block;font-family:var(--n-font);font-size:15px;font-style:normal;color:var(--n-muted)}
@media (max-width:640px){
  :is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow){flex-direction:column}
  :is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow)>:is(i,b){transform:rotate(90deg);align-self:flex-start;height:24px}
  html[dir="rtl"] :is(.nfi-home-method-flow,.nfi-thinking-flow,.nfi-progression-line,.nfi-family-flow)>:is(i,b){transform:rotate(90deg)}
}

/* Lists */
.nfi-boundary-list,.nfi-outcome-list,.nfi-country-list,.nfi-service-list{display:grid;border-top:1px solid var(--n-line-strong)}
.nfi-boundary-list>div{display:grid;grid-template-columns:48px 1fr;gap:6px 16px;padding:20px 0;border-bottom:1px solid var(--n-line)}
.nfi-boundary-list strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;line-height:1.2}
.nfi-boundary-list p{grid-column:2;color:var(--n-muted)}
.nfi-outcome-list>div{display:flex;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--n-line);font-size:var(--nfi-fs-lead)}
.nfi-outcome-list i{width:6px;height:6px;border-radius:50%;background:var(--n-gold);flex:none;transform:translateY(-3px)}
.nfi-country-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--n-line)}
.nfi-country-row strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400}
.nfi-country-row i{width:40px;height:1px;background:var(--n-line-strong)}
.nfi-mini-network{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:24px;border-top:1px solid var(--n-line-strong)}
.nfi-mini-network strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400}
.nfi-mini-network span{color:var(--n-gold)}
.nfi-mini-network a{display:inline-flex;align-items:center;min-height:44px;color:var(--n-link)}

/* Advisory */
.nfi-service-detail{display:grid;gap:16px var(--n-gap);padding:32px 0;border-bottom:1px solid var(--n-line)}
@media (min-width:900px){.nfi-service-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
.nfi-service-title{display:grid;gap:8px}
.nfi-service-title span,.nfi-service-title small{font-size:13px;color:var(--n-muted)}
.nfi-service-title h2{font-size:var(--nfi-fs-h3)}
.nfi-service-detail p{color:var(--n-muted)}
.nfi-service-detail .nfi-tags{margin-top:16px}

/* Closings and CTAs */
.nfi-cta,.nfi-home-final,.nfi-about-closing{padding-block:clamp(80px,10vw,136px)}
.nfi-cta>div,.nfi-home-final>div{max-width:900px}
:is(.nfi-cta,.nfi-home-final) p:not(.nfi-section-kicker){max-width:var(--n-measure);margin-top:24px;color:var(--n-muted);font-size:var(--nfi-fs-lead)}
.nfi-cta .nfi-btn{margin-top:36px}
.nfi-about-closing{text-align:center}
.nfi-about-closing p,.nfi-about-closing span{font-size:var(--nfi-fs-label);font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-muted)}
html[lang^="ar"] :is(.nfi-about-closing p,.nfi-about-closing span){text-transform:none}
.nfi-about-closing h2{margin:16px auto;max-width:18ch}

/* 8. Orbit diagram: nodes at computed, equal angles (audit 3.4) --------------- */
.nfi-orbit{--n:5;--r:39cqi;position:relative;container-type:inline-size;width:min(100%,560px);aspect-ratio:1;margin-inline:auto}
.nfi-orbit-ring{position:absolute;inset:11%;border:1px solid var(--n-line-strong);border-radius:50%}
.nfi-orbit-ring.is-inner{inset:29%;border-style:dashed;border-color:var(--n-line)}
.nfi-orbit-ring:not(.is-inner)::before{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--n-gold)}
@media (prefers-reduced-motion:no-preference){.nfi-orbit-ring:not(.is-inner){animation:nfi-spin 60s linear infinite}}
@keyframes nfi-spin{to{transform:rotate(360deg)}}
.nfi-orbit-core{position:absolute;inset:33%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5%;border:1px solid var(--n-line-strong);border-radius:50%;background:var(--n-bg);text-align:center}
.nfi-orbit-core small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--n-link)}
html[lang^="ar"] .nfi-orbit-core small{letter-spacing:0;font-size:13px}
.nfi-orbit-core strong{font-family:var(--n-display);font-size:clamp(18px,5.4cqi,30px);font-weight:400;line-height:1.05}
.nfi-orbit-core span{font-size:12px;color:var(--n-muted)}
.nfi-orbit-nodes{position:absolute;inset:0}
.nfi-orbit-node{--a:calc(360deg / var(--n) * var(--i) - 90deg);position:absolute;top:50%;left:50%;width:0;height:0;transform:rotate(var(--a)) translate(var(--r)) rotate(calc(var(--a) * -1))}
.nfi-orbit-node span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:inline-block;width:max-content;max-width:30cqi;padding:6px 12px;border:1px solid var(--n-line-strong);border-radius:999px;background:var(--n-bg);font-size:12px;font-weight:600;line-height:1.25;text-align:center;color:var(--n-text)}
html[lang^="ar"] .nfi-orbit-node span{font-size:14px}
@container (max-width:380px){.nfi-orbit-node span{max-width:26cqi;padding:5px 8px}}
.nfi-home-coherence{margin-top:40px}
@media (min-width:1000px){.nfi-home-coherence{margin-top:0}}

/* Marquee: contained, still under reduced motion (audit 4.4 / 6.3) */
.nfi-marquee{overflow:clip;width:100%;padding-block:18px;border-block:1px solid var(--n-line)}
.nfi-marquee-track{display:flex;width:max-content;gap:28px;font-size:13px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-muted)}
.nfi-marquee-track span{display:inline-flex;align-items:center;gap:28px;white-space:nowrap}
.nfi-marquee-track b{color:var(--n-gold);font-weight:400}
@media (prefers-reduced-motion:no-preference){.nfi-marquee-track{animation:nfi-marquee 60s linear infinite}}
@keyframes nfi-marquee{to{transform:translateX(-50%)}}
html[dir="rtl"] .nfi-marquee-track{animation-direction:reverse}

/* Decorative panels */
.nfi-product-signal,.nfi-newsletter-page-mark{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:12px;min-height:280px;padding:32px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);background:linear-gradient(160deg,color-mix(in srgb,var(--n-indigo) 14%,transparent),transparent 60%)}
:is(.nfi-product-signal,.nfi-newsletter-page-mark) span{font-size:13px;font-weight:600;letter-spacing:var(--nfi-label-tracking);color:var(--n-link)}
.nfi-product-signal b,.nfi-newsletter-page-mark strong{font-family:var(--n-display);font-size:var(--nfi-fs-h2);font-weight:400;line-height:1}
.nfi-product-signal small{color:var(--n-muted)}
:is(.nfi-product-signal,.nfi-newsletter-page-mark) i{display:block;width:48px;height:2px;background:var(--n-gold)}

/* 9. Home -------------------------------------------------------------------- */
.nfi-home-team{display:grid;gap:var(--n-gap);padding-top:32px;border-top:1px solid var(--n-line-strong)}
@media (min-width:900px){.nfi-home-team{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}
.nfi-home-founder-card{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}
.nfi-home-founder-card h3{margin-bottom:6px}
.nfi-home-founder-card small{display:block;margin-bottom:14px;font-size:15px;color:var(--n-muted)}
.nfi-home-founder-card p:not(.nfi-section-kicker){color:var(--n-muted)}
.nfi-home-founder-card .nfi-section-kicker{margin-bottom:12px}
.nfi-home-founder-avatar{width:120px;aspect-ratio:1;overflow:hidden;border-radius:var(--n-radius);background:var(--n-surface);display:grid;place-items:center;font-family:var(--n-display);font-size:40px;color:var(--n-muted)}
.nfi-home-founder-avatar img{width:100%;height:100%;object-fit:cover}
:is(.nfi-home-founder-avatar:not(:has(img)),.nfi-founder-monogram){font-size:0;background:url("../brand/notes-mark.svg") center/58% no-repeat,var(--n-surface)}
.nfi-home-team-card{display:flex;flex-direction:column;gap:16px}
.nfi-home-team-card h3{font-size:var(--nfi-fs-label);font-family:var(--n-font);font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-link)}
html[lang^="ar"] .nfi-home-team-card h3{text-transform:none}
.nfi-home-team-disciplines{display:flex;flex-wrap:wrap;gap:8px}
.nfi-home-team-disciplines li{padding:6px 12px;border:1px solid var(--n-line-strong);border-radius:999px;font-size:14px}
.nfi-home-human-principle{max-width:900px;margin-top:clamp(56px,7vw,96px)}
.nfi-home-human-principle blockquote{margin:0 0 16px;font-family:var(--n-display);font-size:var(--nfi-fs-h3);line-height:1.25;font-style:italic}
html[lang^="ar"] .nfi-home-human-principle blockquote{font-style:normal}
.nfi-home-human-principle p:not(.nfi-section-kicker){color:var(--n-muted);max-width:var(--n-measure)}
@media (max-width:640px){.nfi-home-founder-card{grid-template-columns:88px 1fr}.nfi-home-founder-avatar{width:88px}}

/* Insight cards: fixed proportions (audit 3.1) */
.nfi-home-insight-grid,.nfi-insights-grid,.nfi-article-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:48px var(--n-gap)}
@media (min-width:900px){.nfi-home-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nfi-home-insight-card,.nfi-insight-card,.nfi-article-related-grid>article{display:flex;flex-direction:column;gap:16px;color:inherit;text-decoration:none}
:is(.nfi-home-insight-image,.nfi-insight-card-media,.nfi-article-related-media,.nfi-insights-lead-media){position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--n-surface);border-radius:var(--n-radius)}
:is(.nfi-home-insight-image,.nfi-insight-card-media,.nfi-article-related-media,.nfi-insights-lead-media) img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:opacity .2s}
@media (max-width:640px){:is(.nfi-home-insight-image,.nfi-insight-card-media,.nfi-article-related-media,.nfi-insights-lead-media){aspect-ratio:4/3}}
:is(.nfi-home-insight-card,.nfi-insight-card-media,.nfi-article-related-media,.nfi-insights-lead-media):hover img{opacity:.88}
.is-placeholder span{position:absolute;inset-inline-start:16px;bottom:14px;font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);color:var(--n-muted)}
:is(.nfi-home-insight-card,.nfi-article-related-grid) small{font-size:13px;color:var(--n-muted)}
.nfi-home-insight-card>div,.nfi-insight-card-body,.nfi-article-related-grid>article>div{display:flex;flex-direction:column;gap:10px}
:is(.nfi-home-insight-card,.nfi-insight-card,.nfi-article-related-grid) h3{font-size:clamp(22px,1.8vw,28px)}
.nfi-home-insight-card.is-featured h3{font-size:var(--nfi-fs-h3)}
.nfi-home-insight-card:hover h3,:is(.nfi-insight-card,.nfi-article-related-grid) h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
:is(.nfi-insight-card,.nfi-article-related-grid) h3 a,.nfi-insights-lead h2 a{text-decoration:none}
.nfi-home-insight-card p,.nfi-insight-card-body>p,.nfi-article-related-grid p{color:var(--n-muted);font-size:16px}
.nfi-home-insight-card b{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;font-size:13px;font-weight:500;color:var(--n-muted)}
@media (max-width:640px){
  .nfi-home-insight-grid>.nfi-home-insight-card:not(.is-featured){display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
  .nfi-home-insight-grid>.nfi-home-insight-card:not(.is-featured) .nfi-home-insight-image{aspect-ratio:1}
  .nfi-home-insight-grid>.nfi-home-insight-card:not(.is-featured) p{display:none}
}

/* 10. Insights hub ------------------------------------------------------------- */
.nfi-insights-hero{display:grid;gap:40px}
@media (min-width:980px){.nfi-insights-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}}
.nfi-insights-search{display:grid;gap:10px}
.nfi-insights-search label{font-size:13px;font-weight:600;color:var(--n-muted)}
.nfi-insights-search>div{display:flex;gap:8px}
.nfi-insights-search input{flex:1;min-width:0}
.nfi-insights-lead{display:grid;gap:var(--n-gap)}
@media (min-width:900px){.nfi-insights-lead{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}}
.nfi-insights-lead article{display:flex;flex-direction:column;gap:20px}
.nfi-insights-lead article>p{color:var(--n-muted)}
.nfi-insights-empty{padding:48px 0;border-top:1px solid var(--n-line-strong)}
.nfi-insights-empty p{margin-top:8px;color:var(--n-muted)}
.nfi-insights-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--n-line);font-size:15px;color:var(--n-muted)}
.nfi-insights-pagination a{display:inline-flex;align-items:center;min-height:44px;color:var(--n-link);text-decoration:none}
.nfi-insights-briefing,.nfi-article-briefing,.nfi-footer-briefing{display:grid;gap:24px;align-items:center}
@media (min-width:900px){.nfi-insights-briefing,.nfi-article-briefing,.nfi-footer-briefing{grid-template-columns:minmax(0,1fr) auto}}
:is(.nfi-insights-briefing,.nfi-article-briefing,.nfi-footer-briefing) h2{font-size:var(--nfi-fs-h3)}
:is(.nfi-insights-briefing,.nfi-article-briefing,.nfi-footer-briefing) p:not(.nfi-section-kicker){margin-top:12px;max-width:var(--n-measure);color:var(--n-muted)}
.nfi-footer-briefing{padding-block:clamp(56px,7vw,88px);border-top:1px solid var(--n-line)}

/* 11. Article and legal pages ----------------------------------------------------- */
.nfi-article-shell>.nfi-article{width:auto}
.nfi-article-hero{width:var(--n-wrap);margin-inline:auto;max-width:960px;padding-bottom:48px}
.nfi-article-back{margin-bottom:32px}
.nfi-article-hero .nfi-article-meta{margin-bottom:20px}
.nfi-article-hero h1{font-size:clamp(40px,5vw,76px);line-height:1;max-width:20ch}
.nfi-article-origin{margin-top:16px;font-size:14px;color:var(--n-muted)}
.nfi-article-feature{width:var(--n-wrap);max-width:1240px;margin:0 auto 64px}
.nfi-article-feature img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 30%;border-radius:var(--n-radius)}
@media (max-width:640px){.nfi-article-feature img{aspect-ratio:4/3}}
.nfi-article-layout{width:var(--n-wrap);margin-inline:auto;display:grid;gap:40px;padding-bottom:var(--n-space)}
@media (min-width:1080px){.nfi-article-layout{grid-template-columns:220px minmax(0,720px);justify-content:center;gap:80px}.nfi-article-layout.nfi-legal-layout{grid-template-columns:minmax(0,720px)}}
.nfi-article-rail{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--n-muted)}
@media (min-width:1080px){.nfi-article-rail{position:sticky;top:calc(var(--n-header) + 32px);align-self:start;padding-top:16px;border-top:1px solid var(--n-line-strong)}}
@media (max-width:1079px){.nfi-article-rail{order:2;padding-top:24px;border-top:1px solid var(--n-line)}}
.nfi-article-rail span{font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-link)}
.nfi-article-rail a{display:inline-flex;align-items:center;min-height:44px;color:var(--n-link)}
.nfi-article-content,.nfi-owner-content-inner{font-size:clamp(18px,1.05rem + .2vw,19px);line-height:1.75;max-width:720px}
html[lang^="ar"] .nfi-article-content{font-size:20px;line-height:1.9}
:is(.nfi-article-content,.nfi-owner-content-inner)>*+*{margin-top:1.2em}
:is(.nfi-article-content,.nfi-owner-content-inner) h2{margin-top:2em;font-size:clamp(28px,2.4vw,38px);line-height:1.15}
:is(.nfi-article-content,.nfi-owner-content-inner) h3{margin-top:1.6em;font-size:clamp(22px,1.8vw,28px)}
:is(.nfi-article-content,.nfi-owner-content-inner) a{color:var(--n-link);text-decoration:underline;text-underline-offset:.2em}
.nfi-article-content :is(ul,ol){padding-inline-start:1.3em}
.nfi-article-content li+li{margin-top:.5em}
.nfi-article-content blockquote{margin-inline:0;padding-inline-start:24px;border-inline-start:2px solid var(--n-gold);font-family:var(--n-display);font-size:1.3em;line-height:1.45}
.nfi-article-content :is(img,figure){margin-inline:0;border-radius:var(--n-radius)}
.nfi-article-content figcaption{margin-top:8px;font-size:15px;color:var(--n-muted)}
.nfi-article-content hr{border:0;border-top:1px solid var(--n-line);margin:2.5em 0}
.nfi-article-content table{width:100%;border-collapse:collapse;font-size:16px}
.nfi-article-content :is(th,td){padding:10px 12px;border-bottom:1px solid var(--n-line);text-align:start}
.nfi-article-content pre{padding:16px;overflow:auto;background:var(--n-surface);font-size:15px}
.nfi-legal-notice{padding:16px 20px;border:1px solid var(--n-gold);border-radius:var(--n-radius);font-size:16px}
.nfi-article-related{border-top:1px solid var(--n-line)}
.nfi-article-empty{padding-block:clamp(96px,12vw,160px)}
.nfi-article-empty h1{font-size:var(--nfi-fs-h2);max-width:20ch}
.nfi-article-empty>p:not(.nfi-eyebrow):not(.nfi-section-kicker){margin-top:20px;color:var(--n-muted);font-size:var(--nfi-fs-lead)}
.nfi-article-empty>.nfi-btn{margin-top:32px}
.nfi-owner-content{width:var(--n-wrap);margin-inline:auto;padding-block:var(--n-space);border-top:1px solid var(--n-line)}

/* 12. About, product, systems, work ------------------------------------------------ */
.nfi-center-link{margin-top:40px}
.nfi-founder-portrait{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;padding-top:24px;border-top:1px solid var(--n-line-strong)}
.nfi-founder-photo-frame{aspect-ratio:1;overflow:hidden;background:var(--n-surface);border-radius:var(--n-radius)}
.nfi-founder-photo-frame img{width:100%;height:100%;object-fit:cover}
.nfi-founder-monogram{display:grid;place-items:center;height:100%;font-family:var(--n-display);font-size:36px;color:var(--n-muted)}
.nfi-founder-mini-copy{display:flex;flex-direction:column;gap:6px}
.nfi-founder-mini-copy small{font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-link)}
.nfi-founder-mini-copy strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400}
.nfi-founder-mini-copy span{font-size:15px;color:var(--n-muted)}
.nfi-founder-mini-copy p{margin-top:8px;color:var(--n-muted)}
.nfi-about-team-tags{margin-top:24px}
.nfi-room-nav{position:sticky;top:var(--n-header);z-index:20;display:flex;gap:4px;width:100%;padding:0 var(--n-gutter);overflow-x:auto;background:var(--n-bg);border-bottom:1px solid var(--n-line);scrollbar-width:none}
.nfi-room-nav::-webkit-scrollbar{display:none}
.nfi-room-nav a{flex:none;display:inline-flex;align-items:center;min-height:48px;padding:0 12px;font-size:15px;color:var(--n-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.nfi-room-nav a:is(:hover,.is-active){color:var(--n-text);border-bottom-color:var(--n-gold)}
.nfi-work-context{padding:32px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);margin-top:var(--n-space)}
.nfi-work-after h2{font-size:var(--nfi-fs-h3)}
.nfi-contact-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;min-height:44px;padding:20px 0;border-top:1px solid var(--n-line-strong);border-bottom:1px solid var(--n-line);text-decoration:none}
.nfi-contact-line span{font-size:13px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-muted)}
.nfi-contact-line strong{font-family:var(--n-display);font-size:clamp(22px,1.6vw,28px);font-weight:400;overflow-wrap:anywhere}
.nfi-contact-line b{margin-inline-start:auto;color:var(--n-gold)}
.nfi-contact-line:hover strong{color:var(--n-link)}
/* Systems grid becomes a swipe row on phones (audit 4.3). */
@media (max-width:640px){
  .nfi-home-system-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:calc(var(--n-gutter) * -1);padding-inline:var(--n-gutter);scrollbar-width:thin}
  .nfi-home-system-grid>*{flex:0 0 82%;scroll-snap-align:start}
  .nfi-home-system-card.is-core h3{font-size:var(--nfi-fs-h3)}
}

/* 13. Diagnostic (audit 3.6) ------------------------------------------------------- */
html body .nfi-diagnostic-scale{position:sticky;top:var(--n-header);z-index:15;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px 0;margin-bottom:24px;background:var(--n-bg);border-bottom:1px solid var(--n-line);font-size:13px;color:var(--n-muted);text-align:center}
html body .nfi-diagnostic-scale b{display:block;color:var(--n-text);font-weight:600}
.nfi-diagnostic-title{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;line-height:1.2;letter-spacing:-.01em}
.nfi-diagnostic-question small{display:block;margin-top:6px;color:var(--n-muted);font-size:16px}
html body .nfi-diagnostic-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}
html body .nfi-diagnostic-options label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);cursor:pointer;background:transparent;color:var(--n-text)}
html body .nfi-diagnostic-options input{position:absolute;opacity:0;width:1px;height:1px}
html body .nfi-diagnostic-options span{font-size:17px;font-weight:600}
html body .nfi-diagnostic-options small{display:none;font-size:12px;color:var(--n-muted);text-align:center;line-height:1.2}
html body .nfi-diagnostic-options label:hover{border-color:var(--n-text)}
html body .nfi-diagnostic-options label:has(input:focus-visible){outline:2px solid var(--n-focus);outline-offset:2px}
html body .nfi-diagnostic-options label:has(input:checked){background:var(--n-gold);border-color:var(--n-gold);color:var(--n-cta-ink)}
html body .nfi-diagnostic-options label:has(input:checked) small{color:var(--n-cta-ink)}
@media (max-width:760px){html body .nfi-diagnostic-scale{display:none}html body .nfi-diagnostic-options small{display:block}html body .nfi-diagnostic-options label{min-height:64px}}
html body :is(.nfi-diagnostic-result h2,.nfi-diagnostic-next h3,.nfi-diagnostic-hero h1){font-weight:400}

/* 14. Booking calendar (audit 3.7) -------------------------------------------------- */
html body .nfi-booking-grid{gap:24px}
html body .nfi-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
html body .nfi-calendar-row{display:contents}
html body .nfi-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:var(--n-radius);background:transparent;color:var(--n-text);font-size:15px;font-variant-numeric:tabular-nums}
html body .nfi-calendar-day.is-available{border-color:var(--n-line-strong);font-weight:600}
html body .nfi-calendar-day.is-available::after{content:"";position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--n-gold)}
html body .nfi-calendar-day.is-available:hover{border-color:var(--n-gold)}
html body .nfi-calendar-day.is-closed{color:var(--n-muted);text-decoration:line-through;text-decoration-color:var(--n-line-strong);opacity:1}
html body .nfi-calendar-day.is-selected{background:var(--n-gold);border-color:var(--n-gold);color:var(--n-cta-ink)}
html body .nfi-calendar-day.is-selected::after{background:var(--n-cta-ink)}
html body .nfi-calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--n-text)}
html body .nfi-calendar-weekdays span{font-size:12px;color:var(--n-muted)}
html body .nfi-slot{min-height:48px;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);background:transparent;color:var(--n-text)}
html body .nfi-slot.is-selected{background:var(--n-gold);color:var(--n-cta-ink);border-color:var(--n-gold)}
html body :is(.nfi-slot-empty,.nfi-slot-results){padding:24px}
html body .nfi-booking-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px 0;font-size:14px;color:var(--n-muted)}
html body .nfi-booking-progress i{width:24px;height:1px;background:var(--n-line-strong)}
html body .nfi-booking-progress .is-active{color:var(--n-text)}
html body .nfi-booking-progress b{color:var(--n-link)}

/* 15. Forms and the newsletter (nnos-*) -------------------------------------------- */
input[type="text"],input[type="email"],input[type="search"],input[type="url"],input[type="tel"],input:not([type]),textarea,select,.nnos-input{width:100%;min-height:48px;padding:10px 14px;background:transparent;border:1px solid var(--n-line-strong);border-radius:var(--n-radius);color:var(--n-text);font-family:var(--n-font);font-size:16px;transition:border-color .15s}
:is(input,textarea,select):focus-visible{outline:2px solid var(--n-focus);outline-offset:1px}
:is(input,textarea)::placeholder{color:var(--n-muted);opacity:1}
input[type="checkbox"],input[type="radio"]{accent-color:var(--n-gold);width:20px;height:20px}
html body .nnos-form{display:grid;gap:12px;font-family:var(--n-font)}
html body :is(.nnos-heading,.nnos-form h2,.nnos-form h3){font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;line-height:1.15;letter-spacing:-.015em;text-transform:none;color:var(--n-text)}
html body .nnos-input{background:transparent;color:var(--n-text)}
html body .nnos-submit{justify-self:start;border-radius:var(--n-radius);font-family:var(--n-font);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}
html body .nnos-consent{display:flex;gap:10px;align-items:flex-start;min-height:44px;font-size:15px;color:var(--n-muted)}
html body .nnos-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 16. Footer (audit 3.9) ------------------------------------------------------------ */
.nfi-footer{display:grid;gap:32px;width:var(--n-wrap);margin:0 auto;padding:56px 0 calc(40px + var(--n-dock-space));border-top:1px solid var(--n-line);font-size:15px;color:var(--n-muted)}
@media (min-width:900px){.nfi-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;padding-bottom:48px}}
.nfi-footer-main{display:flex;flex-direction:column;gap:16px}
.nfi-footer-main p{max-width:36ch;color:var(--n-muted)}
.nfi-footer-social{display:flex;flex-wrap:wrap;gap:0 20px}
.nfi-footer-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0 24px}
.nfi-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--n-text);text-decoration:none}
.nfi-footer a:hover{color:var(--n-link);text-decoration:underline}
.nfi-footer-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:20px;border-top:1px solid var(--n-line);color:var(--n-muted)}
.nfi-footer-legal{display:flex;flex-wrap:wrap;gap:0 20px}

/* 17. Floating Notes widget (audit 3.5) --------------------------------------------- */
html body .nfi-presence-dock{transition:opacity .2s,transform .2s}
html[dir="rtl"] body .nfi-presence-dock{right:auto;left:20px;align-items:flex-start}
html.nfi-footer-visible body :is(.nfi-presence-dock,.nfi-floating-chat){opacity:0;pointer-events:none;transform:translateY(16px)}
html body .nfi-presence-dock :is(button,a){min-height:44px;min-width:44px}
@media (max-width:640px){
  :root{--n-dock-space:84px}
  html body .nfi-presence-dock{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  html[dir="rtl"] body .nfi-presence-dock{right:auto;left:12px}
  html body .nfi-presence-dock small{display:none}
}
body.nfi-menu-locked :is(.nfi-presence-dock,.nfi-floating-chat){display:none}

/* 18. Installed-app shell ------------------------------------------------------------ */
.nfi-mobile-tabbar{display:none}
@media (max-width:980px){
  html[data-nfi-app-shell] .nfi-mobile-tabbar{position:fixed;inset-inline:0;bottom:0;z-index:45;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--n-bg);border-top:1px solid var(--n-line)}
  html[data-nfi-app-shell] body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  html[data-nfi-app-shell].nfi-keyboard-open .nfi-mobile-tabbar{display:none}
  .nfi-mobile-tabbar :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--n-muted);font-size:12px;text-decoration:none}
  .nfi-mobile-tabbar .is-active{color:var(--n-text)}
}
body.nfi-mobile-ui-open{overflow:hidden}
.nfi-status-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* 19. Plugin components: same surface and tokens --------------------------------------- */
html body :is(.nfi-chat-shell,.nfi-voice-room,.nfi-director,.nfi-booking-shell,.nfi-diagnostic-card,.nfi-diagnostic-result,.nfi-calendar-panel,.nfi-slot-panel,.nfi-booking-form,.nfi-booking-confirmation){box-shadow:none;border-radius:var(--n-radius)}
html body :is(.nfi-diagnostic-card,.nfi-calendar-panel,.nfi-slot-panel,.nfi-booking-form,.nfi-booking-confirmation,.nfi-diagnostic-result){background-color:transparent;border:1px solid var(--n-line)}
html body .nfi-diagnostic-card{padding:24px}
html body .nfi-context-bridge{width:var(--n-wrap);margin-inline:auto;padding:clamp(56px,7vw,88px) 0;border-top:0;background:var(--n-band);box-shadow:0 0 0 100vmax var(--n-band);clip-path:inset(0 -100vmax)}
html body .nfi-context-bridge>*{margin-inline:0;padding-inline:0}
html body .nfi-context-bridge-head{display:grid;gap:16px;margin-bottom:32px}
html body .nfi-context-bridge-head>p{color:var(--n-muted);max-width:var(--n-measure)}
html body .nfi-context-bridge-head h2{font-size:var(--nfi-fs-h3)}
html body .nfi-context-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 var(--n-gap)}
html body .nfi-context-links a{display:flex;flex-direction:column;gap:8px;padding:20px 0 28px!important;border:0!important;border-top:1px solid var(--n-line-strong)!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--n-text);text-decoration:none}
html body .nfi-context-links a:hover{border-top-color:var(--n-gold)!important;transform:none}
html body .nfi-context-links small{font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-link)}
html body .nfi-context-links strong{font-family:var(--n-display);font-size:var(--nfi-fs-h3);font-weight:400;text-decoration:none}
html body .nfi-context-links span{color:var(--n-muted);font-size:16px;text-decoration:none}
html body .nfi-context-links b{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--n-link)}
html[lang^="ar"] body :is(.nfi-context-links small,.nfi-context-links b){letter-spacing:0;text-transform:none;font-size:15px}
html body .nfi-install-app{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;background:none;box-shadow:none;color:var(--n-muted);font-size:14px;font-weight:500}
html body .nfi-install-app[hidden]{display:none}
html body .nfi-install-app:hover{color:var(--n-text)}
html body .nfi-install-app small{display:none}
html body .nfi-install-app strong{font-weight:500}
html body .nfi-btn{border-radius:var(--n-radius);box-shadow:none;background-image:none}
html body .nfi-btn-primary{background-color:var(--n-cta);color:var(--n-cta-ink)}
html body .nfi-btn-ghost{background-color:transparent;color:var(--n-text);border-color:var(--n-line-strong)}

/* 20. Small screens -------------------------------------------------------------------- */
@media (max-width:640px){
  .nfi-brand-logo{height:26px}
  .nfi-home-primary-actions>*,.nfi-home-final-actions>.nfi-btn{flex:1 1 100%;justify-content:flex-start}
  .nfi-founder-portrait{grid-template-columns:88px 1fr}
  .nfi-insights-search>div{flex-direction:column}
  .nfi-boundary-list>div,.nfi-country-row{grid-template-columns:36px 1fr}
  .nfi-country-row i{display:none}
  .nfi-product-signal,.nfi-newsletter-page-mark{min-height:200px}
}

/* 21. Notes dock: tokens, readable sizes, contrast in both themes (audit 2.1 / 2.3 / 3.5) */
html body .nfi-presence-toggle{min-height:52px;border:1px solid var(--n-line-strong);background:var(--n-bg);color:var(--n-text);box-shadow:0 8px 28px rgba(0,0,0,.28)}
html body .nfi-presence-toggle:hover{border-color:var(--n-gold);background:var(--n-bg);transform:none}
html body .nfi-presence-toggle strong{font-size:13px;letter-spacing:.04em;color:var(--n-text)}
html body .nfi-presence-toggle small{display:none}
html[lang^="ar"] body .nfi-presence-toggle :is(strong,small){letter-spacing:0;font-size:14px}
html body .nfi-presence-voice-launch{min-width:48px;min-height:48px}
html[data-nfi-theme="light"] body .nfi-presence-toggle{box-shadow:0 8px 28px rgba(35,40,65,.14)}
html body .nfi-context-bridge-head strong{color:var(--n-text)}
.nfi-theme-switch button{height:44px}
html body .nfi-presence-voice-launch{width:48px!important;height:48px!important;min-width:48px}
html body .nfi-diagnostic-question small,html body .nfi-booking-facts small,html body .nfi-diagnostic-card small{color:var(--n-muted)}
html body .nfi-diagnostic-card{min-width:0}
html body .nfi-diagnostic-options{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:760px){
  html body .nfi-diagnostic-options{grid-template-columns:1fr;gap:6px}
  html body .nfi-diagnostic-options label{flex-direction:row;justify-content:flex-start;gap:14px;min-height:48px;padding:0 14px}
  html body .nfi-diagnostic-options small{font-size:15px;text-align:start}
}
html body .nfi-presence-launchers .nfi-presence-voice-launch{flex:0 0 48px!important;min-width:48px!important;min-height:48px!important}
:is(.nfi-insight-card,.nfi-article-related-grid) h3 a,.nfi-insights-lead h2 a{display:inline-block;padding-block:.35em}
html body .nfi-diagnostic-actions p{color:var(--n-muted);font-size:15px}
html body .nfi-booking-progress span{font-size:13px;letter-spacing:.06em;color:var(--n-muted)}
html body .nfi-booking-progress span.is-active{color:var(--n-text)}
html body .nfi-booking-progress b{color:var(--n-text);background:transparent;box-shadow:none}
html body .nfi-presence-toggle strong{color:var(--n-text)!important}
html body .nfi-presence-toggle small{color:var(--n-muted)!important}
html body .nfi-booking-progress b{color:var(--n-text)!important;background:transparent!important;border-color:var(--n-line-strong)!important}
html body .nfi-calendar-day:not(.is-selected){color:var(--n-text)!important;background-color:transparent!important}
html body .nfi-calendar-day.is-closed{color:var(--n-muted)!important}
:is(.nfi-insight-card,.nfi-article-related-grid) h3 a,.nfi-insights-lead h2 a{min-height:44px}
html body .nfi-calendar-day.is-selected,html body .nfi-slot.is-selected{color:var(--n-cta-ink)!important;background-color:var(--n-gold)!important}
/* Honeypots positioned with left:-9999px become scrollable in RTL; clip in place instead. */
html body .nnos-hp{left:auto!important;right:auto!important;inset-inline-start:0!important;top:0}
.nfi-footer-legal a{min-width:44px;justify-content:center}
.nfi-article-back{text-decoration:underline;text-decoration-color:var(--n-line-strong);text-underline-offset:.3em}

/* Convergence opening scene (assets/js/convergence.js). The canvas covers the hero and
   draws the NOTES mark over the orbit, which stays in the markup as the no-WebGL fallback. */
.nfi-home-hero.has-convergence{min-height:min(100svh,1100px)}
@media (max-width:999px){.nfi-home-hero.has-convergence{display:flex;flex-direction:column}.nfi-home-hero.has-convergence .nfi-home-coherence{order:-1;width:min(72vw,340px);margin:0 auto 8px}}
.nfi-convergence-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none;opacity:0;transition:opacity .8s ease}
.nfi-home-hero.is-cv-live .nfi-convergence-canvas,.nfi-home-hero.is-converging .nfi-convergence-canvas{opacity:1}
.nfi-home-hero.is-cv-live .nfi-home-hero-glow,.nfi-home-hero.is-converging .nfi-home-hero-glow{display:none}
.nfi-home-hero.is-cv-live .nfi-home-coherence>*,.nfi-home-hero.is-converging .nfi-home-coherence>*{opacity:0;transition:opacity .6s ease}
/* Intro: copy waits for the mark to lock. A CSS failsafe shows it after 6 s if the script never runs. */
.nfi-home-hero.is-converging .nfi-home-hero-copy>*{opacity:0;transform:translateY(16px);animation:nfi-cv-failsafe .01s 6s forwards}
.nfi-home-hero.is-converging .nfi-home-hero-copy>h1.nfi-cv-split{opacity:1;transform:none}
.nfi-home-hero.is-cv-live.is-converging .nfi-home-hero-copy>*{animation:none}
@keyframes nfi-cv-failsafe{to{opacity:1;transform:none}}
.nfi-cv-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .08em .14em;margin:0 -.08em -.14em}
.nfi-cv-w>span{display:inline-block}
.nfi-home-hero.is-converging .nfi-cv-w>span{transform:translateY(112%)}
.nfi-home-hero.is-cv-reveal .nfi-cv-w>span{transition:transform 1.25s cubic-bezier(.16,1,.3,1)}
.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>*{transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}
.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>:nth-child(1){transition-delay:0s}
.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>:nth-child(3){transition-delay:.55s}
.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>:nth-child(4){transition-delay:.75s}
.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>:nth-child(n+5){transition-delay:.95s}
@media (prefers-reduced-motion:reduce){.nfi-convergence-canvas,.nfi-home-hero.is-cv-reveal .nfi-home-hero-copy>*,.nfi-home-hero.is-cv-reveal .nfi-cv-w>span{transition:none}}

/* 23. Rhythm (design 2.2) --------------------------------------------------------------
   Long pages alternate a quiet band so sections read as chapters, closing sections are
   centred instead of leaving an empty right half, and the systems page hero shows the mark
   instead of repeating its own title. */
:is(.nfi-home-method,.nfi-home-try,.nfi-home-insights,.nfi-home-human){background:var(--n-band);box-shadow:0 0 0 100vmax var(--n-band);clip-path:inset(0 -100vmax);border-top-color:transparent!important}
:is(.nfi-home-method,.nfi-home-try,.nfi-home-insights,.nfi-home-human)+section{border-top-color:transparent!important}
.nfi-home-human-principle{margin-inline:auto;text-align:center;max-width:820px}
.nfi-home-human-principle blockquote{font-size:var(--nfi-fs-h2);line-height:1.08}
.nfi-home-human-principle p:not(.nfi-section-kicker){margin-inline:auto}
.nfi-home-human-principle .nfi-text-link{justify-content:center}
:is(.nfi-home-final,.nfi-cta){position:relative;isolation:isolate;text-align:center}
:is(.nfi-home-final,.nfi-cta)>div{margin-inline:auto}
:is(.nfi-home-final,.nfi-cta) :is(h2,p){margin-inline:auto}
:is(.nfi-home-final,.nfi-cta) .nfi-home-final-actions{justify-content:center}
.nfi-home-final::before{content:"";position:absolute;inset:10% 20%;background:radial-gradient(closest-side,color-mix(in srgb,var(--n-indigo) 16%,transparent),transparent);pointer-events:none;z-index:-1}
.nfi-product-signal{align-items:center;justify-content:center;text-align:center}
.nfi-product-signal .nfi-glyph{width:min(62%,190px)}
/* The primary action closes the navigation; Briefing (owner-placed) sits with the other links. */
@media (min-width:1081px){.nfi-nav>a.nfi-nav-cta{order:1}}

/* 24. Motion (assets/js/motion.js, design 2.2) -----------------------------------------
   Only content below the first screen is ever hidden, and only once the script has run
   (html.nfi-motion). Everything here is skipped with prefers-reduced-motion. */
@media (prefers-reduced-motion:no-preference){
  html.nfi-motion .nfi-rv{transition:opacity .9s cubic-bezier(.16,1,.3,1) var(--nfi-rv-delay,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--nfi-rv-delay,0ms)}
  html.nfi-motion .nfi-rv:not(.is-in){opacity:0!important;transform:translateY(28px)!important}
  html[data-nfi-motion="expressive"].nfi-motion .nfi-rv:not(.is-in){transform:translateY(48px) scale(.985)!important}

  /* Header: glass over the page, steps aside while reading down. */
  .nfi-header{transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .3s,border-color .3s}
  html.nfi-motion .nfi-header.is-scrolled{background:color-mix(in srgb,var(--n-bg) 74%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
  html.nfi-header-hidden .nfi-header:not(.menu-open){transform:translateY(-100%)}
  .nfi-room-nav{transition:top .4s cubic-bezier(.16,1,.3,1)}
  html.nfi-header-hidden .nfi-room-nav{top:0}

  /* Ruled cards: the top rule draws in gold, the title and the arrow move toward the reader. */
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card,.nfi-home-insight-card){position:relative}
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card)::before{content:"";position:absolute;inset-inline:0;top:-1px;height:1px;background:var(--n-gold);transform:scaleX(0);transform-origin:var(--nfi-start,left);transition:transform .6s cubic-bezier(.16,1,.3,1)}
  html[dir="rtl"]{--nfi-start:right}
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover::before{transform:scaleX(1)}
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card) :is(h3,h2){transition:transform .45s cubic-bezier(.16,1,.3,1)}
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover :is(h3,h2){transform:translateX(6px)}
  html[dir="rtl"] :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover :is(h3,h2){transform:translateX(-6px)}
  :is(.nfi-home-system-card b,.nfi-home-work-grid b,.nfi-system-card strong,.nfi-text-link){transition:transform .35s cubic-bezier(.16,1,.3,1),color .2s}
  :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover :is(b,strong),.nfi-text-link:hover{transform:translateX(4px)}
  html[dir="rtl"] :is(a.nfi-home-system-card,.nfi-home-work-grid>a,a.nfi-system-card):hover :is(b,strong),html[dir="rtl"] .nfi-text-link:hover{transform:translateX(-4px)}
  :is(.nfi-home-insight-image,.nfi-insight-card-media,.nfi-article-related-media,.nfi-insights-lead-media) img{transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .2s}
  :is(.nfi-home-insight-card,.nfi-insight-card,.nfi-article-related-grid>article,.nfi-insights-lead):hover img{transform:scale(1.04)}

  /* Boxed cards and buttons: lift, and a soft light that follows the cursor. */
  :is(.nfi-home-try-card,.nfi-work-choice,.nfi-product-signal,.nfi-diagnostic-card){position:relative;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .45s}
  :is(.nfi-home-try-card,.nfi-work-choice):hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--n-gold) 55%,transparent);box-shadow:0 24px 60px -30px color-mix(in srgb,var(--n-indigo) 60%,transparent)}
  :is(.nfi-home-try-card,.nfi-work-choice,.nfi-product-signal,.nfi-diagnostic-card,.nfi-home-action,.nfi-btn){background-image:radial-gradient(240px circle at var(--nfi-mx,50%) var(--nfi-my,50%),color-mix(in srgb,var(--n-text) 0%,transparent),transparent 70%)}
  :is(.nfi-home-try-card,.nfi-work-choice,.nfi-product-signal,.nfi-diagnostic-card,.nfi-home-action:not(.nfi-home-action-primary),.nfi-btn:not(.nfi-btn-primary)):hover{background-image:radial-gradient(240px circle at var(--nfi-mx,50%) var(--nfi-my,50%),color-mix(in srgb,var(--n-text) 9%,transparent),transparent 70%)}
  :is(.nfi-btn-primary,.nfi-home-action-primary,.nfi-nav>a.nfi-nav-cta):hover{box-shadow:0 10px 36px -12px var(--n-cta)}

  /* Page transitions: the header stays, the page underneath crossfades and settles. */
  .nfi-header{view-transition-name:nfi-header}
  ::view-transition-old(root){animation:.25s ease both nfi-vt-out}
  ::view-transition-new(root){animation:.45s cubic-bezier(.16,1,.3,1) both nfi-vt-in}
  @keyframes nfi-vt-out{to{opacity:0}}
  @keyframes nfi-vt-in{from{opacity:0;transform:translateY(10px)}}
}
@media print{.nfi-rv{opacity:1!important;transform:none!important}}

/* 25. System glyphs and the systems Bento (design 2.2) ----------------------------------
   Each system has a live glyph built on the rings of the mark (notes_theme_system_glyph()).
   On the homepage the systems sit in a Bento grid: Notes Intelligence 2×2, the two core
   systems wide, the rest single. */
.nfi-glyph{display:block;width:100%;height:auto;overflow:visible;color:var(--nfi-indigo-text)}
.nfi-glyph *{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke;transform-box:view-box;transform-origin:60px 60px}
.nfi-glyph .g-ring{opacity:.6}
.nfi-glyph .is-faint{opacity:.28}
.nfi-glyph :is(.g-core,.g-dot.is-violet){fill:currentColor;stroke:none}
.nfi-glyph :is(.g-dot,.g-in){fill:var(--n-link);stroke:none}
.nfi-glyph :is(.g-draw,.g-acc,.g-wave){stroke:var(--n-link);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nfi-glyph .g-arc{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nfi-glyph .g-in{transform:translate(var(--x),var(--y))}
.nfi-glyph .g-ripple{opacity:.35}
.nfi-glyph .g-halo{stroke:var(--n-link);transform-origin:80px 42px;opacity:.5}
@media (prefers-reduced-motion:no-preference){
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-spin{animation:nfi-g-spin 16s linear infinite}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-spin.is-slow{animation-duration:28s}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-spin.is-rev{animation-direction:reverse}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-draw{stroke-dasharray:96;animation:nfi-g-draw 3.6s cubic-bezier(.65,0,.35,1) infinite}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-in{animation:nfi-g-in 3s cubic-bezier(.55,0,.45,1) var(--d) infinite both}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-wave{animation:nfi-g-wave 2.4s ease-in-out var(--d) infinite}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-ripple{animation:nfi-g-ripple 3.6s cubic-bezier(.2,.6,.3,1) var(--d) infinite both}
  html:not([data-nfi-motion="off"]) .nfi-glyph .g-halo{animation:nfi-g-halo 2.4s ease-out infinite}
}
@keyframes nfi-g-spin{to{transform:rotate(360deg)}}
@keyframes nfi-g-draw{0%{stroke-dashoffset:96}45%,75%{stroke-dashoffset:0}100%{stroke-dashoffset:-96}}
@keyframes nfi-g-in{0%{transform:translate(var(--x),var(--y));opacity:0}20%,80%{opacity:1}100%{transform:translate(0,0);opacity:0}}
@keyframes nfi-g-wave{0%,100%{opacity:.22}50%{opacity:1}}
@keyframes nfi-g-ripple{from{transform:scale(.14);opacity:.9}to{transform:scale(1);opacity:0}}
@keyframes nfi-g-halo{from{transform:scale(.4);opacity:.9}to{transform:scale(1.6);opacity:0}}

/* Home systems: boxed Bento cards. */
.nfi-home-system-grid{gap:16px}
.nfi-home-system-grid>*{position:relative;padding:28px;border:1px solid var(--n-line);border-radius:calc(var(--n-radius) * 2);background:linear-gradient(180deg,color-mix(in srgb,var(--n-text) 3.5%,transparent),transparent 70%);transition:border-color .3s,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.nfi-home-system-grid>*:hover{border-color:color-mix(in srgb,var(--n-gold) 45%,transparent)}
.nfi-home-system-grid>*::before{display:none}
.nfi-home-system-glyph{display:block;width:72px;margin-bottom:12px;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s}
.nfi-home-system-card:hover .nfi-home-system-glyph{transform:scale(1.06);filter:drop-shadow(0 0 14px color-mix(in srgb,var(--n-indigo) 55%,transparent))}
.nfi-home-system-card.is-core{background:radial-gradient(120% 90% at 70% 20%,color-mix(in srgb,var(--n-indigo) 16%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--n-text) 3.5%,transparent),transparent 70%)}
.nfi-home-system-card.is-core .nfi-home-system-glyph{width:min(220px,56%);margin:8px auto 28px}
@media (min-width:1000px){
  .nfi-home-system-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nfi-home-system-grid>*{min-height:300px}
  .nfi-home-system-card.is-core{grid-column:span 2;grid-row:span 2}
  .nfi-home-system-card.is-wide{grid-column:span 2}
  .nfi-home-system-card.is-wide .nfi-home-system-glyph{position:absolute;inset-inline-end:28px;bottom:28px;width:112px;margin:0}
  .nfi-home-system-card.is-wide :is(h3,.nfi-home-system-copy,p){max-width:62%}
  .nfi-home-system-card.is-core h3{font-size:var(--nfi-fs-h2)}
}
@media (min-width:1000px) and (prefers-reduced-motion:no-preference){
  html.nfi-motion .nfi-home-system-grid>*:hover{transform:translateY(-4px);box-shadow:0 30px 70px -40px color-mix(in srgb,var(--n-indigo) 70%,transparent)}
}

/* Systems page and system heroes. */
.nfi-system-glyph{display:block;width:64px;margin-bottom:8px}

/* 26. Article reading experience (design 2.2) --------------------------------------------
   Centred editorial hero with a byline, a 700px reading column, an outline that follows the
   reader, share tools, a drop cap, pull quotes and a closing author block. The reading tools
   (assets/js/article.js) only enhance: anchors and share links work without it. */
.nfi-read-progress{position:fixed;inset-inline:0;top:0;z-index:70;height:2px;pointer-events:none}
.admin-bar .nfi-read-progress{top:32px}
.nfi-read-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--n-gold),var(--n-indigo));transform:scaleX(0);transform-origin:left;will-change:transform}
html[dir="rtl"] .nfi-read-progress i{transform-origin:right;background:linear-gradient(270deg,var(--n-gold),var(--n-indigo))}

.nfi-article-hero{max-width:920px;padding-block:clamp(40px,6vw,88px) clamp(40px,5vw,64px);text-align:center}
.nfi-article-hero .nfi-article-meta{justify-content:center}
.nfi-article-hero h1{margin-inline:auto;max-width:18ch;font-size:clamp(40px,5.4vw,84px);line-height:1.02}
.nfi-article-hero .nfi-article-deck{margin:28px auto 0;max-width:42ch;font-family:var(--n-display);font-style:italic;font-size:clamp(20px,1.5vw,25px);line-height:1.45;color:var(--n-muted)}
html[lang^="ar"] .nfi-article-hero .nfi-article-deck{font-style:normal}
.nfi-article-byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 14px;margin-top:36px}
.nfi-article-byline>span:nth-child(2),.nfi-article-author>div{display:flex;flex-direction:column;text-align:start;line-height:1.3}
:is(.nfi-article-byline,.nfi-article-author) small{font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-muted)}
html[lang^="ar"] :is(.nfi-article-byline,.nfi-article-author) small{text-transform:none;font-size:14px}
:is(.nfi-article-byline,.nfi-article-author) strong{font-size:16px;font-weight:600}
.nfi-article-byline-mark{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--n-line-strong);background:url("../brand/notes-mark.svg") center/62% no-repeat,var(--n-surface)}
.nfi-article-byline .nfi-article-origin{margin:0;padding-inline-start:14px;border-inline-start:1px solid var(--n-line-strong);font-size:14px;color:var(--n-muted)}
.nfi-article-feature{margin-bottom:clamp(48px,6vw,88px)}
.nfi-article-feature img{border-radius:calc(var(--n-radius) * 2);box-shadow:0 50px 120px -70px color-mix(in srgb,var(--n-indigo) 70%,transparent)}

.nfi-article-layout{padding-bottom:56px}
@media (min-width:1080px){.nfi-article-layout{grid-template-columns:240px minmax(0,700px);gap:clamp(56px,6vw,96px)}}
.nfi-article-rail{gap:40px;border-top:0!important;padding-top:0!important}
.nfi-article-rail>*>span{display:block;margin-bottom:14px;font-size:12px;font-weight:600;letter-spacing:var(--nfi-label-tracking);text-transform:uppercase;color:var(--n-link)}
html[lang^="ar"] .nfi-article-rail>*>span{text-transform:none;font-size:14px;letter-spacing:0}
.nfi-article-toc ol{list-style:none;margin:0;padding:0;border-inline-start:1px solid var(--n-line)}
.nfi-article-toc a{display:block;min-height:0;padding:7px 0 7px 16px;margin-inline-start:-1px;border-inline-start:1px solid transparent;font-size:14px;line-height:1.4;color:var(--n-muted);text-decoration:none;transition:color .2s,border-color .2s}
html[dir="rtl"] .nfi-article-toc a{padding:7px 16px 7px 0}
.nfi-article-toc a:hover{color:var(--n-text)}
.nfi-article-toc a.is-current{color:var(--n-text);border-inline-start-color:var(--n-gold)}
.nfi-article-share>div{display:flex;flex-wrap:wrap;gap:8px}
.nfi-article-share :is(a,button){display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--n-line-strong);border-radius:999px;font-size:13px;font-weight:600;color:var(--n-text);text-decoration:none;transition:border-color .2s,color .2s}
.nfi-article-share :is(a,button):hover{border-color:var(--n-gold);color:var(--n-link)}
.nfi-article-share button.is-done{border-color:var(--n-gold);color:var(--n-link)}
@media (max-width:1079px){.nfi-article-toc{display:none}}

.nfi-article-content :is(h2,h3,[id]){scroll-margin-top:calc(var(--n-header) + 32px)}
html:not([lang^="ar"]) .nfi-article-content>p:first-child::first-letter{float:inline-start;margin:.08em .12em 0 0;font-family:var(--n-display);font-size:4.4em;line-height:.82;color:var(--n-text)}
.nfi-article-content h2{position:relative;margin-top:2.4em;padding-top:28px}
.nfi-article-content h2::before{content:"";position:absolute;inset-inline-start:0;top:0;width:40px;height:2px;background:var(--n-gold)}
.nfi-article-content li::marker{color:var(--n-gold)}
.nfi-article-content strong{color:var(--n-text)}
.nfi-article-content blockquote{position:relative;margin:2.2em 0;padding:44px 0 0;border:0;font-family:var(--n-display);font-size:clamp(24px,2.1vw,32px);font-style:italic;line-height:1.3;color:var(--n-text)}
.nfi-article-content blockquote::before{content:"\201C";position:absolute;inset-inline-start:0;top:-.1em;font-size:2.6em;line-height:1;color:var(--n-gold);font-style:normal}
html[lang^="ar"] .nfi-article-content blockquote{font-style:normal}
.nfi-article-content blockquote p+p{margin-top:.6em}
.nfi-article-content blockquote cite{display:block;margin-top:14px;font-family:var(--n-font);font-size:14px;font-style:normal;color:var(--n-muted)}
@media (min-width:1200px){.nfi-article-content>:is(figure,.wp-block-image){margin-inline:-56px;max-width:none}}

.nfi-article-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;width:var(--n-wrap);max-width:1036px;margin:0 auto;padding:40px 0 var(--n-space);border-top:1px solid var(--n-line)}
.nfi-article-author{display:flex;align-items:center;gap:16px}
.nfi-article-author p{margin-top:4px;font-size:15px;color:var(--n-muted)}
.nfi-article-end-actions{display:flex;flex-wrap:wrap;gap:12px}

/* 27. Inter and the light theme (design 2.2) ---------------------------------------------
   Inter is the interface face: slightly tight tracking for body text, tabular figures where
   numbers line up. The light theme stops being an inversion of the dark one: raised paper
   cards with soft warm shadows, a deeper paper band and a warm glass header. */
:root{--n-raise:color-mix(in srgb,var(--n-text) 3.5%,transparent);--n-shadow:none}
html[data-nfi-theme="light"]{
  --n-band:color-mix(in srgb,#7a6435 8%,var(--n-bg));
  --n-raise:#fbf9f4;
  --n-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 1px 2px rgba(60,48,20,.06),0 22px 50px -32px rgba(60,48,20,.32);
  --n-line:color-mix(in srgb,var(--n-text) 12%,transparent);
}
body{letter-spacing:-.006em;font-optical-sizing:auto}
html[lang^="ar"] body{letter-spacing:0}
:is(.nfi-insight-meta,.nfi-article-meta,.nfi-home-system-card>div:first-of-type,.nfi-system-card>div:first-of-type,.nfi-booking-calendar,.nfi-article-toc){font-variant-numeric:tabular-nums}

/* Raised surfaces in both themes, shadows only on paper. */
:is(.nfi-home-system-grid>*,.nfi-home-try-card,.nfi-work-choice,.nfi-product-signal,.nfi-diagnostic-card,.nfi-work-context){background-color:transparent;box-shadow:var(--n-shadow)}
html[data-nfi-theme="light"] :is(.nfi-home-system-grid>*,.nfi-home-try-card,.nfi-work-choice,.nfi-product-signal,.nfi-diagnostic-card,.nfi-work-context){background:var(--n-raise);border-color:color-mix(in srgb,var(--n-text) 9%,transparent)}
html[data-nfi-theme="light"] .nfi-home-system-card.is-core{background:radial-gradient(120% 90% at 70% 20%,color-mix(in srgb,var(--n-indigo) 12%,transparent),transparent 60%),var(--n-raise)}
html[data-nfi-theme="light"] :is(.nfi-home-system-grid>*,.nfi-home-try-card,.nfi-work-choice):hover{border-color:color-mix(in srgb,var(--n-gold) 60%,transparent);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 30px 60px -30px rgba(60,48,20,.38)}
html[data-nfi-theme="light"] .nfi-article-feature img{box-shadow:0 40px 90px -60px rgba(60,48,20,.55)}
html[data-nfi-theme="light"] .nfi-article-byline-mark{background-color:var(--n-raise)}
html[data-nfi-theme="light"] :is(.nfi-btn-ghost,.nfi-btn-secondary,.nfi-home-action:not(.nfi-home-action-primary)){border-color:color-mix(in srgb,var(--n-text) 22%,transparent);background-color:color-mix(in srgb,#fff 45%,transparent)}
html[data-nfi-theme="light"].nfi-motion .nfi-header.is-scrolled{background:color-mix(in srgb,var(--n-bg) 80%,transparent)}
html[data-nfi-theme="light"] .nfi-footer{border-top-color:transparent;background:var(--n-band);box-shadow:0 0 0 100vmax var(--n-band);clip-path:inset(0 -100vmax)}
html[data-nfi-theme="light"] .nfi-presence-toggle{background:var(--n-raise)!important}

/* 28. System status (design 2.2) ---------------------------------------------------------
   One chip per system: core and coordinating systems in gold, specialist in violet, and
   "In development" as an open ring with a note on the system page. */
.nfi-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--n-muted);white-space:nowrap}
.nfi-status::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.nfi-status.is-core::before{background:var(--n-gold)}
.nfi-status.is-specialist::before{background:var(--n-indigo)}
.nfi-status.is-developing{color:var(--n-text)}
.nfi-status.is-developing::before{background:transparent;border:1.5px solid var(--n-gold);width:8px;height:8px}
.nfi-status-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;max-width:var(--n-measure);margin-top:24px;padding:14px 18px;border:1px dashed color-mix(in srgb,var(--n-gold) 60%,transparent);border-radius:var(--n-radius);font-size:15px;line-height:1.55;color:var(--n-muted)}
.nfi-status-note span{flex:1 1 280px}

/* 29. Imported article markup (design 2.2) ----------------------------------------------
   LinkedIn exports wrap the text in <div class="article-body"> (and repeat the deck), so the
   rhythm rules must reach nested blocks, and the deck already shown in the hero is hidden. */
.nfi-article-content :where(p,ul,ol,blockquote,figure,h2,h3,h4,table,pre,hr,div)+:where(p,ul,ol,blockquote,figure,h2,h3,h4,table,pre,hr,div){margin-top:1.2em}
.nfi-article-content :where(.article-body,.article-content)>:first-child{margin-top:0}
.nfi-article-hero:has(.nfi-article-deck) ~ .nfi-article-layout .nfi-article-content .article-deck{display:none}
html:not([lang^="ar"]) .nfi-article-content .article-body>p:first-child::first-letter{float:inline-start;margin:.08em .12em 0 0;font-family:var(--n-display);font-size:4.4em;line-height:.82;color:var(--n-text)}
