/* NTIS navigation — Tabs, Breadcrumbs, Link, Pagination, SiteHeader, Sidebar,
   SiteFooter. Logical properties throughout, so RTL needs no overrides.
   Responsive rules are gated by :root:not([data-ntis-static]) so fixed-size
   specimens can show desktop and mobile side by side; the --compact classes
   force the small-screen layout. */

/* Tabs */
.ntis-tabs{display:flex;align-items:center;gap:var(--space-2);border-block-end:var(--border-hairline) solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}
.ntis-tabs::-webkit-scrollbar{display:none}
.ntis-tabs__tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);flex:none;height:44px;padding-inline:var(--space-4);border:0;background:none;font-family:var(--font-core);font-size:var(--fs-body);font-weight:var(--w-medium);color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:var(--t-color)}
.ntis-tabs__tab::after{content:"";position:absolute;inset-block-end:-1px;inset-inline:var(--space-3);height:var(--border-heavy);background:transparent;border-radius:var(--radius-pill) var(--radius-pill) 0 0;transition:background-color var(--dur-fast) var(--ease-standard)}
.ntis-tabs__tab:hover:not(:disabled),.ntis-tabs__tab.is-hover{color:var(--text-strong)}
.ntis-tabs__tab:hover:not(:disabled)::after,.ntis-tabs__tab.is-hover::after{background:var(--border-default)}
.ntis-tabs__tab[aria-selected="true"]{color:var(--brand-primary-ink)}
.ntis-tabs__tab[aria-selected="true"]::after{background:var(--border-selected)}
.ntis-tabs__tab:focus-visible,.ntis-tabs__tab.is-focus{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
.ntis-tabs__tab:disabled{color:var(--text-disabled);cursor:not-allowed}
.ntis-tabs--pills{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:0;background:var(--fill-subtle);border-radius:var(--radius-md)}
.ntis-tabs--pills .ntis-tabs__tab{height:34px;font-size:var(--fs-body-sm);border-radius:var(--radius-sm)}
.ntis-tabs--pills .ntis-tabs__tab::after{display:none}
.ntis-tabs--pills .ntis-tabs__tab:hover:not(:disabled),.ntis-tabs--pills .ntis-tabs__tab.is-hover{background:var(--fill-hover)}
.ntis-tabs--pills .ntis-tabs__tab[aria-selected="true"]{background:var(--surface-raised);color:var(--text-strong);box-shadow:var(--elev-1),0 0 0 1px var(--border-subtle)}
.ntis-tabs__count{min-width:22px;padding:0 7px;border-radius:var(--radius-pill);background:var(--fill-hover);color:var(--text-body);font-size:var(--fs-caption);font-weight:var(--w-medium);line-height:20px;text-align:center;font-variant-numeric:tabular-nums}
.ntis-tabs__tab[aria-selected="true"] .ntis-tabs__count{background:var(--brand-primary-soft);color:var(--brand-primary-ink)}

/* Breadcrumbs */
.ntis-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-core);font-size:var(--fs-body-sm);color:var(--text-muted)}
.ntis-crumbs a{color:var(--text-muted);text-decoration:none;border-radius:var(--radius-xs)}
.ntis-crumbs a:hover{color:var(--text-link);text-decoration:underline;text-underline-offset:3px}
.ntis-crumbs__sep{display:inline-flex;color:var(--text-subtle)}
.ntis-crumbs__current{color:var(--text-strong);font-weight:var(--w-medium)}

/* Link — inline in prose (underlined) or standalone (with an optional icon) */
.ntis-link{color:var(--text-link);font-weight:var(--w-medium);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px;border-radius:var(--radius-xs);cursor:pointer;transition:var(--t-color)}
.ntis-link:hover,.ntis-link.is-hover{color:var(--text-link-hover);text-decoration-color:currentColor}
.ntis-link:active,.ntis-link.is-active{color:var(--text-strong)}
.ntis-link:focus-visible,.ntis-link.is-focus{outline:none;box-shadow:var(--focus-ring)}
.ntis-link--standalone{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none}
.ntis-link--standalone:hover,.ntis-link--standalone.is-hover{text-decoration:underline}
.ntis-link--muted{color:var(--text-muted)}
.ntis-link--muted:hover,.ntis-link--muted.is-hover{color:var(--text-strong)}
.ntis-link[aria-disabled="true"],.ntis-link.is-disabled{color:var(--text-disabled);text-decoration:none;pointer-events:none;cursor:not-allowed}

/* Pagination */
.ntis-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--pad-cell-x);font-family:var(--font-core);font-size:var(--fs-body-sm);color:var(--text-muted)}
.ntis-pagination__info{margin-inline-end:auto;font-variant-numeric:tabular-nums}
.ntis-pagination__page{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding-inline:var(--space-2);border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:var(--t-color)}
.ntis-pagination__page:hover:not(:disabled){background:var(--fill-hover);color:var(--text-strong)}
.ntis-pagination__page:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-pagination__page[aria-current="page"]{background:var(--brand-secondary);border-color:var(--brand-secondary);color:var(--text-on-brand);font-weight:var(--w-medium)}
.ntis-pagination__page:disabled{background:transparent;color:var(--text-disabled);cursor:not-allowed}
.ntis-pagination__ellipsis{padding-inline:var(--space-2);color:var(--text-subtle)}
.ntis-pagination--compact .ntis-pagination__num:not([aria-current]),.ntis-pagination--compact .ntis-pagination__ellipsis{display:none}
@media (max-width:767px){:root:not([data-ntis-static]) .ntis-pagination__num:not([aria-current]),:root:not([data-ntis-static]) .ntis-pagination__ellipsis{display:none}}

/* Site header — the bar spans the viewport, its content does not: logo, links
   and actions sit in a centred 1024 row (--container-nav), as on apple.com.
   --fluid keeps the full width for app chrome whose content is full width too. */
.ntis-header{position:relative;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-7);height:var(--header-h);padding-left:max(var(--gutter-left), calc((100% - var(--container-nav)) / 2));padding-right:max(var(--gutter-right), calc((100% - var(--container-nav)) / 2));background:var(--surface-card);border-block-end:var(--border-hairline) solid var(--border-subtle);color:var(--text-body)}
.ntis-header--glass{background:var(--surface-glass);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px)}
.ntis-header--transparent{background:transparent;border-block-end-color:transparent}
.ntis-header--sticky{position:sticky;inset-block-start:0}
.ntis-header--fluid,.ntis-header--fluid .ntis-header__drawer{padding-left:var(--gutter-left);padding-right:var(--gutter-right)}
.ntis-header__logo{display:flex;align-items:center;flex:none;height:32px;border-radius:var(--radius-sm);text-decoration:none}
.ntis-header__logo img{height:100%;width:auto}
.ntis-header__logo:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-header__nav{display:flex;align-items:center;gap:var(--space-2);margin-inline-end:auto;min-width:0}
.ntis-header__link{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding-inline:var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-body-sm);font-weight:var(--w-medium);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:var(--t-color)}
.ntis-header__link:hover,.ntis-header__link.is-hover{background:var(--fill-hover);color:var(--text-strong);text-decoration:none}
.ntis-header__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-header__link--active{color:var(--brand-primary-ink)}
.ntis-header__actions{display:flex;align-items:center;gap:var(--space-3);flex:none;margin-inline-start:auto}
.ntis-header__nav+.ntis-header__actions{margin-inline-start:0}
.ntis-header__lang{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding-inline:var(--space-3);border:var(--border-hairline) solid var(--border-default);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-core);font-size:var(--fs-body-sm);color:var(--text-body);cursor:pointer;transition:var(--t-color)}
.ntis-header__lang:hover{border-color:var(--border-strong);background:var(--fill-hover);color:var(--text-strong)}
.ntis-header__lang:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-header__menu{display:none}
.ntis-header__drawer{position:absolute;inset-block-start:100%;inset-inline:0;display:none;flex-direction:column;gap:var(--space-1);padding-block:var(--space-3) var(--space-5);padding-left:max(var(--gutter-left), calc((100% - var(--container-nav)) / 2));padding-right:max(var(--gutter-right), calc((100% - var(--container-nav)) / 2));background:var(--surface-raised);border-block-end:var(--border-hairline) solid var(--border-subtle);box-shadow:var(--elev-3)}
.ntis-header__drawer .ntis-header__link{height:44px;font-size:var(--fs-body)}
.ntis-header--compact{gap:var(--space-4)}
.ntis-header--compact .ntis-header__nav,.ntis-header--compact .ntis-header__cta{display:none}
.ntis-header--compact .ntis-header__menu{display:inline-flex}
.ntis-header--compact.ntis-header--open .ntis-header__drawer{display:flex}
@media (max-width:1023px){
  :root:not([data-ntis-static]) .ntis-header{gap:var(--space-4)}
  :root:not([data-ntis-static]) .ntis-header__nav,:root:not([data-ntis-static]) .ntis-header__cta{display:none}
  :root:not([data-ntis-static]) .ntis-header__menu{display:inline-flex}
  :root:not([data-ntis-static]) .ntis-header--open .ntis-header__drawer{display:flex}
}

/* App sidebar */
.ntis-sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);flex:none;min-height:0;background:var(--surface-chrome);color:var(--text-body);border-inline-end:var(--border-hairline) solid var(--border-subtle);transition:width var(--dur-base) var(--ease-standard)}
.ntis-sidebar__brand{display:flex;align-items:center;gap:var(--space-3);flex:none;height:var(--header-h);padding-inline:var(--space-5);border-block-end:var(--border-hairline) solid var(--border-subtle)}
.ntis-sidebar__brand img{height:26px;width:auto}
.ntis-sidebar__brand-name{font:var(--type-h4);color:var(--text-strong)}
.ntis-sidebar__scroll{flex:1;min-height:0;overflow-y:auto;padding-block-end:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}
.ntis-sidebar__group{padding:var(--space-5) var(--space-3) var(--space-2)}
.ntis-sidebar__grouplabel{display:block;padding-inline:var(--space-3);font:var(--type-eyebrow);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-subtle)}
.ntis-sidebar__grouplabel:dir(rtl){letter-spacing:var(--ls-none);text-transform:none}
.ntis-sidebar__nav{display:flex;flex-direction:column;gap:2px;padding-inline:var(--space-3)}
.ntis-sidebar__item{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;height:38px;padding-inline:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-core);font-size:var(--fs-body-sm);color:var(--text-muted);text-align:start;text-decoration:none;cursor:pointer;transition:var(--t-color)}
.ntis-sidebar__item:hover,.ntis-sidebar__item.is-hover{background:var(--fill-hover);color:var(--text-strong)}
.ntis-sidebar__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-sidebar__item--active,.ntis-sidebar__item--active:hover{background:var(--fill-selected);color:var(--text-strong);font-weight:var(--w-medium)}
.ntis-sidebar__item--active::before{content:"";position:absolute;inset-block:7px;inset-inline-start:0;width:var(--border-heavy);background:var(--border-selected);border-start-end-radius:var(--radius-pill);border-end-end-radius:var(--radius-pill)}
.ntis-sidebar__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ntis-sidebar__item-count{flex:none;font-size:var(--fs-micro);font-variant-numeric:tabular-nums;color:var(--text-subtle)}
.ntis-sidebar__foot{flex:none;padding:var(--space-5);border-block-start:var(--border-hairline) solid var(--border-subtle);font:var(--type-caption);color:var(--text-muted)}
.ntis-sidebar--collapsed{width:var(--sidebar-w-collapsed)}
.ntis-sidebar--collapsed .ntis-sidebar__brand{justify-content:center;padding-inline:0}
.ntis-sidebar--collapsed .ntis-sidebar__label,.ntis-sidebar--collapsed .ntis-sidebar__item-count,.ntis-sidebar--collapsed .ntis-sidebar__grouplabel,.ntis-sidebar--collapsed .ntis-sidebar__foot{display:none}
.ntis-sidebar--collapsed .ntis-sidebar__group{padding:var(--space-3) var(--space-4) var(--space-2)}
.ntis-sidebar--collapsed .ntis-sidebar__group::after{content:"";display:block;height:var(--border-hairline);background:var(--border-subtle)}
.ntis-sidebar--collapsed .ntis-sidebar__item{justify-content:center;padding-inline:0}

/* Site footer */
.ntis-footer{padding-block:var(--space-11) max(var(--space-7), var(--gutter-bottom));padding-left:var(--gutter-left);padding-right:var(--gutter-right);background:var(--surface-sunken);border-block-start:var(--border-hairline) solid var(--border-subtle);color:var(--text-muted)}
.ntis-footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:var(--space-9);max-width:var(--container-max);margin-inline:auto}
.ntis-footer__col h4{margin:0 0 var(--space-4);font:var(--type-label);color:var(--text-strong)}
.ntis-footer__col ul{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}
.ntis-footer__col a{font-size:var(--fs-body-sm);color:var(--text-muted);text-decoration:none}
.ntis-footer__col a:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:3px}
.ntis-footer__logo .ntis-logo,.ntis-footer__logo img{height:34px}
.ntis-footer__blurb{margin:var(--space-4) 0 0;max-width:34ch;font:var(--type-body-sm);color:var(--text-muted)}
.ntis-footer__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);max-width:var(--container-max);margin:var(--space-9) auto 0;padding-block-start:var(--space-5);border-block-start:var(--border-hairline) solid var(--border-subtle);font:var(--type-caption)}
.ntis-footer__bar>span:first-child{margin-inline-end:auto}
.ntis-footer__bar a{color:inherit;text-decoration:none}
.ntis-footer__bar a:hover{color:var(--text-strong)}
.ntis-footer__social{display:flex;gap:var(--space-2)}
.ntis-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm)}
.ntis-footer__social a:hover{background:var(--fill-hover)}
.ntis-footer--compact .ntis-footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-7)}
.ntis-footer--compact .ntis-footer__col:first-child{grid-column:1/-1}
@media (max-width:1023px){:root:not([data-ntis-static]) .ntis-footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-7)}:root:not([data-ntis-static]) .ntis-footer__col:first-child{grid-column:1/-1}}
@media (max-width:479px){:root:not([data-ntis-static]) .ntis-footer__grid{grid-template-columns:1fr}}

/* Sub-nav — the sticky second bar of a long page (a service, a report): the
   page title, in-page section links with scroll-spy, and a primary action that
   never scrolls away. Sits under the site header (pass its height as offset).
   Below 768px the links drop and only title + action remain. */
.ntis-subnav{position:sticky;inset-block-start:0;z-index:var(--z-sticky);background:var(--surface-glass);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-block-end:var(--border-hairline) solid var(--border-subtle)}
.ntis-subnav__inner{display:flex;align-items:center;gap:var(--space-5);min-height:52px;max-width:calc(var(--container-nav) + 2 * var(--grid-margin));margin-inline:auto;padding-left:var(--gutter-left);padding-right:var(--gutter-right)}
.ntis-subnav__title{flex:none;font:var(--w-bold) var(--fs-h4)/1.2 var(--font-core);color:var(--text-strong);white-space:nowrap}
.ntis-subnav__links{display:flex;align-items:center;gap:var(--space-1);min-width:0;margin-inline-start:auto;overflow-x:auto;scrollbar-width:none}
.ntis-subnav__links::-webkit-scrollbar{display:none}
.ntis-subnav__link{display:inline-flex;align-items:center;height:32px;padding-inline:var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-core);font-size:var(--fs-body-sm);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:var(--t-color)}
.ntis-subnav__link:hover,.ntis-subnav__link.is-hover{background:var(--fill-hover);color:var(--text-strong);text-decoration:none}
.ntis-subnav__link[aria-current]{color:var(--brand-primary-ink);font-weight:var(--w-medium)}
.ntis-subnav__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-subnav__cta{flex:none;display:flex}
.ntis-subnav__links+.ntis-subnav__cta{margin-inline-start:var(--space-3)}
.ntis-subnav__title+.ntis-subnav__cta{margin-inline-start:auto}
.ntis-subnav--compact .ntis-subnav__links{display:none}
.ntis-subnav--compact .ntis-subnav__cta{margin-inline-start:auto}
@media (max-width:767px){:root:not([data-ntis-static]) .ntis-subnav__links{display:none}:root:not([data-ntis-static]) .ntis-subnav__cta{margin-inline-start:auto}}

/* Action bar — a floating glass bar that keeps a long flow's one action within
   thumb reach on phones (request form, multi-step setup). Sticky to the bottom
   of its section; shown below 768px by default (show="always" to keep it). */
.ntis-actionbar{position:sticky;inset-block-end:max(var(--space-4), var(--gutter-bottom));z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-4);margin-block-start:var(--space-5);padding-block:var(--space-3);padding-inline:var(--space-5) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-glass);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border:var(--border-hairline) solid var(--border-subtle);box-shadow:var(--elev-3)}
.ntis-actionbar__summary{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ntis-actionbar__label{font:var(--type-caption);color:var(--text-muted)}
.ntis-actionbar__value{font:var(--w-bold) var(--fs-body)/1.3 var(--font-core);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ntis-actionbar--fixed{position:fixed;left:max(var(--space-4), env(safe-area-inset-left, 0px));right:max(var(--space-4), env(safe-area-inset-right, 0px));margin:0}
.ntis-actionbar--mobile{display:none}
@media (max-width:767px){:root:not([data-ntis-static]) .ntis-actionbar--mobile{display:flex}}
