/* ==========================================================================
   KIRUR NISIM THEME - css/nisim/base.css                  (owner: foundation)
   Fonts, icon font, tokens, reset, utilities and every SHARED component.
   Loaded first on every page, un-bundled (rel="Stylesheet"); after it come
   shell.css, dblocks.css and pages/<template>.css.

   WHEN YOU EDIT THIS FILE keep it minifier-safe (platform spec, chapter 5):
   one declaration per line, single spaces only, never a line break inside a
   selector or a value (break lists only after a comma), never a space before a
   pseudo (write ".a *:hover" or ".a > :first-child"), slash-star comments only,
   asset urls relative to this file (../../images/nisim/x.webp), no data URIs
   and no double curly braces. Check with css-lint.php.

   ============================ API REFERENCE ==============================

   BREAKPOINTS (desktop first, max-width)
     1249.98px | 1099.98px (mobile bar; side menu collapses; --nis-hdr-h = 72px)
     899.98px (two-column blocks stack) | 599.98px (phone type scale)
     Hover looks live in @media (hover: hover); :active repeats the hover look.

   TOKENS  every --nis-* custom property is declared on :root in section 2:
     colours, gradients, type scale, spacing, radii, shadows, motion, layers.
     Use them instead of literals. Layers, low to high: --nis-z-raise 6,
     --nis-z-sticky 20, --nis-z-totop 840, --nis-z-lead 850, --nis-z-header 900
     (--nis-z-pop 910 lives inside the header), --nis-z-overlay 1000,
     --nis-z-drawer 1001, --nis-z-lightbox 1020, then Magnific Popup (1042+).

   BASE  no Foundation any more: lists have no bullets and no padding; h1-h6
     have NO look of their own (size and weight come from the class you put on
     them; never style a heading by tag name, heading levels belong to the CMS);
     a = navy, bronze on hover; b / strong = 600; :focus-visible = 2px ring in
     var(--nis-focus) (bronze; gold-sand inside navy components); body is RTL,
     16px, line-height 1.55, ground cream.
     prefers-reduced-motion: section 7 cuts EVERY animation and transition to
     about zero, so the un-animated state of an element must be its final,
     visible state (think of frame based or looping animations).

   ICONS  <span class="ph-light ph-NAME" aria-hidden="true"></span>
     81 names (section 1). Size = font-size, colour = currentColor.

   UTILITIES
     .dn  .mfp-hide      display: none !important (legacy JS contracts)
     html.nis-js         set by the inline head script of main.tpl; everything
                         that hides or collapses content depends on it
     .nis-vh             visually hidden, kept for crawlers and screen readers
                         (give its parent position: relative)
     .nis-b              bold part of a title; weight = --nis-b-weight (600;
                         700 inside .nis-pagehero__title and .nis-hero__title)
     .nis-ltr            left-to-right island (e-mail, fax, numerals)
     .nis-on-navy        any navy section: cream text + gold-sand focus ring
     [data-nis-reveal]       scroll reveal: hidden ONLY under html.nis-js, shown
                         when shell.js adds .is-in (fade + 26px rise, .9s).
                         Stagger: style="--nis-reveal-delay: 130ms".
     html.nis-lock       scroll lock (drawer or sheet open)
     [data-nis-href] [data-nis-tel]   buttons that navigate through JS: hidden
                         when html has no class nis-js (no dead buttons)
     @keyframes          nisUp (fade + 20px rise), nisFade, nisLine (scaleX from
                         .2 + fade; set transform-origin). Use with "both".

   BUTTONS  .nis-btn + --navy | --outline | --outline-soft | --gold | --ghost |
     --quote | --block, plus --phone (together with --navy: header phone pill).
     --gold and --ghost are made for navy grounds. Works on a, button, span.
     Disabled: :disabled, [aria-disabled="true"] or .is-disabled.
       <a class="nis-btn nis-btn--navy" href=""><span>label</span>
         <span class="ph-light ph-arrow-left" aria-hidden="true"></span></a>
       <a class="nis-btn nis-btn--ghost" href="tel:"><span class="ph-light
         ph-phone" aria-hidden="true"></span><span>03-0000000</span></a>
       <a class="nis-btn nis-btn--quote" href=""><span class="nis-btn__label">
         text</span><span class="nis-btn__disc"><span class="ph-light
         ph-arrow-left" aria-hidden="true"></span></span></a>
       <button type="button" class="nis-btn nis-btn--block">label <span
         class="ph-light ph-arrow-left" aria-hidden="true"></span></button>
     --outline-soft is a span inside a linked card: it takes its hover look
     when an ancestor a is hovered.

   ICON BUTTONS  .nis-iconbtn (52px circle) + --float (white, shadow; carousel
     arrows, position them in page css) | --social (46px, on navy)
       <button type="button" class="nis-iconbtn" aria-label="..."><span
         class="ph-light ph-magnifying-glass" aria-hidden="true"></span></button>

   LINKS  .nis-link--line (animated underline) | .nis-link--arrow
       <a class="nis-link--line" href=""><span>text</span><span class="ph-light
         ph-arrow-left" aria-hidden="true"></span></a>

   KICKER  .nis-kicker + --sm | --on-navy | --shine (light gradient on navy)
       <span class="nis-kicker">OUR CATALOG</span>      (type the caps)

   SECTION HEAD  .nis-sechead (centred column) + --start (start aligned)
     .nis-title + --xl | --sm | --on-navy,  .nis-sub + --on-navy
       <div class="nis-sechead"><span class="nis-kicker">OUR CATALOG</span>
         <div class="nis-title">light <span class="nis-b">bold</span></div>
         <p class="nis-sub">sub title</p></div>
     .nis-title may sit on an existing heading tag; .nis-snow may replace the
     kicker.

   DECOR
     .nis-rule + --wide | --center | --on-navy | --hero   (76px gold hairline,
       margin-top 22px; width via --nis-rule-w)   <div class="nis-rule"></div>
     .nis-diamond   <div class="nis-diamond"></div>   (no children needed)
     .nis-snow      <div class="nis-snow"><span class="ph-light ph-snowflake"
                    aria-hidden="true"></span></div>   (rails are automatic)
     .nis-snow--mark  watermark, put it on the icon itself inside a container
                    with position: relative and overflow: hidden:
                    <span class="ph-light ph-snowflake nis-snow--mark"
                    aria-hidden="true"></span>
     .nis-stat + --sm   <div class="nis-stat"><span class="nis-stat__num">50+
                    </span><span class="nis-stat__cap">line 1<br>line 2</span></div>

   PAGE HERO  .nis-pagehero (tall band) | .nis-pagehero--compact (centred h1)
       <div class="nis-pagehero">
         <div class="nis-pagehero__bg">(output of Func::pageTopImage, or empty)</div>
         <div class="nis-pagehero__in"><span class="nis-kicker">ABOUT US</span>
           <h1 class="nis-pagehero__title" itemprop="name">...</h1>
           <p class="nis-pagehero__lead">...</p>
           (breadcrumbs component: may come last in the DOM, shown first)
         </div></div>
     __bg is required: it paints the mountains. The default CMS banner
     (top22222222222.jpg) is kept in the DOM at opacity 0; any other uploaded
     banner is shown as a cover image under a cream wash. The glow is a
     pseudo-element. Inside __in the children are placed by ROLE, whatever
     their DOM order: breadcrumbs (.Breadcrumbs, or a wrapper
     .nis-pagehero__crumbs), .nis-kicker, __title, __lead; an empty __lead is
     not rendered.
     Compact: no glow, no kicker or lead expected; put the breadcrumbs after
     the band inside <div class="nis-crumbs-bar">.

   BREADCRUMBS  the markup of components/breadcrumbs.tpl is styled as it is
     (div.Breadcrumbs ... ul > li > a.tablevel_2[.active] > span, li > span.sep);
     the class nis-crumbs on its root is optional. Wrapper on cream:
       <div class="nis-crumbs-bar">(breadcrumbs)</div>

   CTA BAND  .nis-cta (navy-deep, gold glow)
       <div class="nis-cta"><div class="nis-cta__in"><div class="nis-cta__body">
         <div class="nis-kicker nis-kicker--on-navy">GET IN TOUCH</div>
         <div class="nis-cta__title">line 1<br><span class="nis-b">line 2</span></div>
         <p class="nis-cta__text">optional</p></div>
         <div class="nis-cta__actions">(.nis-btn--gold, .nis-btn--ghost)</div></div></div>
     The glow is a pseudo-element. __text is a paragraph (p); a div with that
     class is treated like __body.

   CARDS  the root may be the link itself (a) or li / div with an empty
     stretched link as its first child (class __link; a legacy a.linkTo that
     is a direct child of the card is stretched as well). Hover lifts the card.
       <li class="nis-tile"><a class="nis-tile__link" href="" title=""></a>
         <div class="nis-tile__well"><img src="" alt=""></div>
         <div class="nis-tile__foot"><div class="nis-tile__title">name</div>
           <span class="ph-light ph-arrow-left nis-tile__arrow"
           aria-hidden="true"></span></div></li>
       <li class="nis-prodcard"><a class="nis-prodcard__link" href=""></a>
         <div class="nis-prodcard__well"><img src="" alt="">
           <span class="nis-badge">text</span></div>
         <div class="nis-prodcard__title">name</div></li>
     .nis-prodcard--related = smaller. Instead of __title a wrapper
     .nis-prodcard__body may hold __title plus extra rows; a small extra row
     (price, stock) = .nis-prodcard__meta. Image height: --nis-prodcard-img-h
     (290px; 250px <= 1249.98px; 240px on phones). .nis-badge must sit inside
     __well; it shows on card hover / keyboard focus only, so use it for
     decorative text only. The grids themselves are page css.

   SIDE MENU  .nis-side (white card, sticky under the header, scrolls inside
     itself when taller than the window; <= 1099.98px it collapses behind the
     toggle, but only under html.nis-js: your JS toggles the class is-open on
     .nis-side and aria-expanded on the button)
       <div class="nis-side">
         <button type="button" class="nis-side__toggle" aria-expanded="false">
           label <span class="ph-light ph-caret-down" aria-hidden="true"></span>
         </button>
         <div class="nis-side__title">label</div>
         <aside class="sideMenu"><ul> (sideMenuLink.tpl items) </ul></aside></div>
     Styled by structure: li > a (level 1), li li > a (level 2, indented),
     a.on = current path. Nested lists are always open. The collapse rules
     need the toggle as a DIRECT child of .nis-side, before the title and
     the menu (.sideMenu or .nis-side__body); with other internals only the
     card and the link looks apply and the collapse is yours.

   CHECK LISTS  .nis-checks (2-column product list) + --plain | --rich
       <ul class="nis-checks"><li>text</li><li>text</li></ul>
     or a wrapper around CMS html: <div class="nis-checks">(p + ul)</div>
     or div.nis-checks > div.nis-checks__item. The check is drawn by css: do
     NOT add an icon span. --plain = no dividers, lighter text. --rich = one
     column, long items, strong = label; ol.nis-checks--rich is numbered 01,
     02. For a CMS field that is already inside .nis-rich use the modifier
     .nis-rich--checks instead of this component.

   FORM PANEL  .nis-formpanel (cream card)
       <div class="nis-formpanel"><span class="nis-kicker">CONTACT US</span>
         <div class="nis-formpanel__title">light <span class="nis-b">bold</span></div>
         <p class="nis-formpanel__text">...</p>
         (lead form; a wrapper div.nis-formpanel__form is optional)
         <div class="nis-formpanel__note"><span class="ph-light ph-lock-simple"
           aria-hidden="true"></span><span>note</span></div></div>

   LEAD FORMS  every form printed by Func::form (form[method="post"] without
     .noEmail) is styled automatically, whatever its slug: rows stack with a
     22px gap, two small fields share a row when there is room, .oneRowForm
     is one line that wraps, fields 52px, submit = navy block 58px (arrow at
     its end edge), invalid fields carry .error. Never add a class to these
     forms. The rules use zero-specificity scopes (:where), so a selector
     such as "form.pop input" in your css wins over them.
     .nis-form (wrapper div) gives the same field and submit look to any other
     form; .nis-form--on-navy = gold submit for navy grounds.
     Optional labels: <label class="nis-field__label" for="id">name <span
     class="nis-field__hint">(hint)</span></label> right before the field
     (the placeholder then turns into a lighter hint).

   CONTACT PANEL  .nis-contact (navy) + --deep (navy-deep) | --flush (no
     padding, no ground: use inside an already padded navy section)
       <div class="nis-contact"><span class="nis-kicker nis-kicker--shine">..</span>
         <div class="nis-contact__title">light <span class="nis-b">bold</span></div>
         <p class="nis-contact__text">...</p>
         <div class="nis-contact__head">optional small heading</div>
         <div class="nis-contact__branches"><div class="nis-contact__branch">
           <div class="nis-contact__label">branch name</div>
           <div class="nis-contact__row"><span class="ph-light ph-map-pin"
             aria-hidden="true"></span><div>address</div></div>
           <div class="nis-contact__row nis-contact__row--soft">(fax)</div>
           <div class="nis-map">(iframe)</div></div></div>
         <div class="nis-contact__line"><span class="ph-light ph-envelope-simple"
           aria-hidden="true"></span><span class="nis-ltr">mail</span></div>
         <div class="nis-contact__social">(.nis-iconbtn--social)</div>
         <span class="ph-light ph-snowflake nis-snow--mark" aria-hidden="true"></span></div>
     __row--soft and __line--soft = dimmed text (fax, opening hours).
     .nis-contact__cms = raw CMS html on navy (strong becomes a gold label).
     .nis-map = rounded 170px map frame; usable outside the panel as well.

   RICH TEXT  .nis-rich = wrapper for a CMS html field (content, description,
     category texts ...): paragraphs, h1-h6, lists (gold diamond / 01 02),
     links, blockquote, hr, images, iframes, tables (rounded, first cell =
     label, scrolls sideways when too wide, empty tables are hidden). Inline
     font-family, font-size, line-height and fixed widths of the editor are
     neutralised; floated images are un-floated on phones. Only class-less
     ul / ol / a get the list and link look, so template markup with classes
     is left alone. Wrap the CMS field itself, not whole page regions.
     + --checks (ul with check marks, feature list look) | --measure (900px)
       <div class="nis-rich">(cms html)</div>

   PAGER  .nis-pager (previous / next pills)
       <div class="nis-pager">
         <div class="nis-pager__item nis-pager__item--prev"><span class="ph-light
           ph-caret-right" aria-hidden="true"></span><span class="nis-pager__text">
           <span class="nis-pager__label">label</span>
           <a class="nis-pager__link" href="">name</a></span></div>
         <span class="nis-pager__mid">optional middle text</span>
         <div class="nis-pager__item nis-pager__item--next">(text, then
           ph-caret-left)</div></div>
     The whole pill is clickable through the link; an a.nis-pager__item works
     as well (then use span.nis-pager__name instead of the inner link).
     Also understood: a plain div.nis-pager__item around a.nis-pager__pill
     whose text sits in span.nis-pager__txt[data-nis-label="label"].
   ========================================================================== */


/* ==========================================================================
   1. FONTS
   ========================================================================== */

/* Noto Sans Hebrew, variable (wght 100-900), self-hosted copies of the Google subsets */
@font-face {
	font-family: 'Noto Sans Hebrew';
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 100%;
	font-display: swap;
	src: url(../../fonts/nisim/NotoSansHebrew-hebrew.woff2) format('woff2');
	unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
	font-family: 'Noto Sans Hebrew';
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 100%;
	font-display: swap;
	src: url(../../fonts/nisim/NotoSansHebrew-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Noto Sans Hebrew';
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 100%;
	font-display: swap;
	src: url(../../fonts/nisim/NotoSansHebrew-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Phosphor Light 2.1.1, subset of 81 icons */
@font-face {
	font-family: 'Phosphor-Light';
	font-style: normal;
	font-weight: normal;
	font-display: block;
	src: url(../../fonts/nisim/Phosphor-Light-nisim.woff2) format('woff2');
}
.ph-light {
	display: inline-block;
	flex-shrink: 0;
	font-family: 'Phosphor-Light' !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.ph-light.ph-arrow-left:before{content:"\e058"}
.ph-light.ph-arrow-right:before{content:"\e06c"}
.ph-light.ph-arrow-up:before{content:"\e08e"}
.ph-light.ph-arrow-down:before{content:"\e03e"}
.ph-light.ph-check:before{content:"\e182"}
.ph-light.ph-phone:before{content:"\e3b8"}
.ph-light.ph-map-pin:before{content:"\e316"}
.ph-light.ph-x:before{content:"\e4f6"}
.ph-light.ph-whatsapp-logo:before{content:"\e5d0"}
.ph-light.ph-snowflake:before{content:"\e5aa"}
.ph-light.ph-printer:before{content:"\e3dc"}
.ph-light.ph-magnifying-glass:before{content:"\e30c"}
.ph-light.ph-lock-simple:before{content:"\e308"}
.ph-light.ph-instagram-logo:before{content:"\e2d0"}
.ph-light.ph-facebook-logo:before{content:"\e226"}
.ph-light.ph-envelope-simple:before{content:"\e218"}
.ph-light.ph-caret-right:before{content:"\e13a"}
.ph-light.ph-caret-left:before{content:"\e138"}
.ph-light.ph-caret-down:before{content:"\e136"}
.ph-light.ph-caret-up:before{content:"\e13c"}
.ph-light.ph-truck:before{content:"\e4b4"}
.ph-light.ph-medal:before{content:"\e320"}
.ph-light.ph-magnifying-glass-plus:before{content:"\e310"}
.ph-light.ph-handshake:before{content:"\e582"}
.ph-light.ph-crown-simple:before{content:"\e616"}
.ph-light.ph-clock:before{content:"\e19a"}
.ph-light.ph-list:before{content:"\e2f0"}
.ph-light.ph-plus:before{content:"\e3d4"}
.ph-light.ph-minus:before{content:"\e32a"}
.ph-light.ph-user:before{content:"\e4c2"}
.ph-light.ph-sign-in:before{content:"\e428"}
.ph-light.ph-sign-out:before{content:"\e42a"}
.ph-light.ph-squares-four:before{content:"\e464"}
.ph-light.ph-funnel:before{content:"\e266"}
.ph-light.ph-image:before{content:"\e2ca"}
.ph-light.ph-images:before{content:"\e836"}
.ph-light.ph-play:before{content:"\e3d0"}
.ph-light.ph-download-simple:before{content:"\e20c"}
.ph-light.ph-file-pdf:before{content:"\e702"}
.ph-light.ph-check-circle:before{content:"\e184"}
.ph-light.ph-warning-circle:before{content:"\e4e2"}
.ph-light.ph-info:before{content:"\e2ce"}
.ph-light.ph-house:before{content:"\e2c2"}
.ph-light.ph-envelope:before{content:"\e214"}
.ph-light.ph-paper-plane-tilt:before{content:"\e398"}
.ph-light.ph-chat-circle-text:before{content:"\e16e"}
.ph-light.ph-device-mobile:before{content:"\e1e0"}
.ph-light.ph-calendar-blank:before{content:"\e10a"}
.ph-light.ph-star:before{content:"\e46a"}
.ph-light.ph-shield-check:before{content:"\e40c"}
.ph-light.ph-wrench:before{content:"\e5d4"}
.ph-light.ph-thermometer-cold:before{content:"\e5c8"}
.ph-light.ph-cube:before{content:"\e1da"}
.ph-light.ph-package:before{content:"\e390"}
.ph-light.ph-list-bullets:before{content:"\e2f2"}
.ph-light.ph-x-circle:before{content:"\e4f8"}
.ph-light.ph-phone-call:before{content:"\e3ba"}
.ph-light.ph-arrow-up-right:before{content:"\e092"}
.ph-light.ph-caret-double-left:before{content:"\e128"}
.ph-light.ph-caret-double-right:before{content:"\e12a"}
.ph-light.ph-youtube-logo:before{content:"\e4fc"}
.ph-light.ph-linkedin-logo:before{content:"\e2ee"}
.ph-light.ph-tiktok-logo:before{content:"\eaf2"}
.ph-light.ph-globe:before{content:"\e288"}
.ph-light.ph-ruler:before{content:"\e6b8"}
.ph-light.ph-factory:before{content:"\e760"}
.ph-light.ph-storefront:before{content:"\e470"}
.ph-light.ph-certificate:before{content:"\e766"}
.ph-light.ph-lightning:before{content:"\e2de"}
.ph-light.ph-leaf:before{content:"\e2da"}
.ph-light.ph-gear:before{content:"\e270"}
.ph-light.ph-headset:before{content:"\e584"}
.ph-light.ph-clock-countdown:before{content:"\ed2c"}
.ph-light.ph-arrows-out:before{content:"\e0a2"}
.ph-light.ph-share-network:before{content:"\e408"}
.ph-light.ph-copy:before{content:"\e1ca"}
.ph-light.ph-link:before{content:"\e2e2"}
.ph-light.ph-circle:before{content:"\e18a"}
.ph-light.ph-dots-three:before{content:"\e1fe"}
.ph-light.ph-magnifying-glass-minus:before{content:"\e30e"}
.ph-light.ph-eye:before{content:"\e220"}


/* ==========================================================================
   2. TOKENS
   Near-duplicates of the design are folded into these tokens:
   #0F1D33 and the lightbox ink -> navy-ink | #F2EDE4 -> cream-warm |
   #EFF1F4, #F3F4F7 -> mist | #E7E9ED -> band-to | #B49061 -> gold-bronze |
   #9A7638 -> gold-deep | #3D4658 -> text-strong | #67718A -> text-muted |
   #5A6376, #5A6478 -> text-soft | #7A8397, #8B94A5, #8A92A4 -> text-faint |
   cream text .72-.74 -> on-navy-soft | navy lines .09 -> line-1, .11 -> line-2,
   .14 -> line-3, .16 -> line-4 | gold lines .2, .24 -> line-gold, .5 ->
   line-gold-strong.
   ========================================================================== */
:root {
	/* colour: brand and grounds */
	--nis-navy: #1A3052;
	--nis-navy-deep: #12233B;
	--nis-navy-ink: #0E1B2E;
	--nis-cream: #FCFAF6;
	--nis-cream-warm: #F7F2EA;
	--nis-sand: #F3F1EB;
	--nis-white: #FFFFFF;
	--nis-mist: #EDEFF3;
	--nis-mist-light: #F4F6F9;
	--nis-ice: #F4F7FC;
	/* owner decision 2026-10-20: no gold / beige - accents are the header navy on light grounds, white on navy grounds */
	--nis-blue: #3B6299;
	--nis-beige: var(--nis-navy);
	--nis-beige-light: #FFFFFF;
	--nis-band-from: #F2F3F5;
	--nis-band-to: #E9EBEF;
	/* the former gold tokens (names kept): gold / gold-deep = navy, gold-bronze (hover) = a lighter navy blue, gold-sand (on navy) = white */
	--nis-gold: #1A3052;
	--nis-gold-sand: #FFFFFF;
	--nis-gold-bronze: #3B6299;
	--nis-gold-deep: #1A3052;
	--nis-gold-hi: #3B6299;
	/* colour: text */
	--nis-ink: #22293A;
	--nis-text-strong: #3D4657;
	--nis-text: #4A5468;
	--nis-text-soft: #5F697C;
	--nis-text-muted: #6C7689;
	--nis-text-faint: #8A93A4;
	--nis-on-navy: #F7F2EA;
	--nis-on-navy-soft: rgba(247, 242, 234, .78);
	--nis-on-navy-faint: rgba(247, 242, 234, .6);
	/* colour: lines */
	--nis-line-1: rgba(26, 48, 82, .08);
	--nis-line-2: rgba(26, 48, 82, .1);
	--nis-line-3: rgba(26, 48, 82, .12);
	--nis-line-4: rgba(26, 48, 82, .18);
	--nis-line-gold: rgba(255, 255, 255, .22);
	--nis-line-gold-strong: rgba(255, 255, 255, .4);
	/* colour: states (not in the design) */
	--nis-danger: #B3372C;
	--nis-danger-soft: #FCF1EF;
	--nis-focus: var(--nis-gold-bronze);
	/* gradients */
	--nis-grad-gold: linear-gradient(100deg, #1A3052 0%, #1A3052 100%);
	--nis-grad-gold-light: linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 100%);
	--nis-grad-gold-rule: linear-gradient(90deg, rgba(26, 48, 82, 0) 0%, #1A3052 45%, #1A3052 100%);
	--nis-grad-band: linear-gradient(180deg, #F2F3F5 0%, #E9EBEF 100%);
	/* type */
	--nis-font: 'Noto Sans Hebrew', 'Heebo', Arial, sans-serif;
	--nis-lh: 1.55;
	--nis-ls-title: -.015em;
	--nis-b-weight: 600;
	--nis-fs-hero: clamp(34px, 4.2vw, 64px);
	--nis-fs-h1: clamp(30px, 3.4vw, 50px);
	--nis-fs-h1-compact: clamp(21px, 2.1vw, 30px);
	--nis-fs-title-xl: clamp(34px, 4vw, 58px);
	--nis-fs-title: clamp(30px, 3.2vw, 46px);
	--nis-fs-title-sm: clamp(26px, 2.8vw, 40px);
	--nis-fs-title-panel: clamp(28px, 2.8vw, 44px);
	--nis-fs-cta: clamp(30px, 3.4vw, 48px);
	--nis-fs-lead: clamp(17px, 1.4vw, 20px);
	--nis-fs-sub: 18px;
	--nis-fs-body-lg: 17px;
	--nis-fs-body: 16px;
	--nis-fs-sm: 15px;
	--nis-fs-xs: 13.5px;
	--nis-fs-kicker: 16.5px;
	--nis-ls-kicker: .4em;
	--nis-ls-label: .24em;
	/* spacing and layout */
	--nis-gutter: clamp(24px, 5vw, 110px);
	--nis-gutter-narrow: clamp(20px, 3vw, 40px);
	--nis-gutter-hdr: clamp(16px, 3vw, 56px);
	--nis-sec-y-lg: clamp(60px, 7vw, 104px);
	--nis-sec-y: clamp(52px, 6vw, 92px);
	--nis-sec-y-sm: clamp(44px, 5vw, 78px);
	--nis-gap-cards: clamp(18px, 2vw, 32px);
	--nis-gap-cols: clamp(30px, 4vw, 72px);
	--nis-gap-tiles: clamp(12px, 1.4vw, 20px);
	--nis-gap-sechead: clamp(36px, 4vw, 56px);
	--nis-hdr-h: 132px;
	/* radii */
	--nis-r-pill: 999px;
	--nis-r-card: 20px;
	--nis-r-card-sm: 18px;
	--nis-r-box: 16px;
	--nis-r-thumb: 14px;
	--nis-r-field: 12px;
	--nis-r-item: 10px;
	/* shadows */
	--nis-sh-header: 0 1px 0 rgba(26, 48, 82, .04);
	--nis-sh-rest: 0 10px 30px rgba(26, 48, 82, .05);
	--nis-sh-thumb: 0 4px 14px rgba(26, 48, 82, .06);
	--nis-sh-float: 0 8px 24px rgba(26, 48, 82, .14);
	--nis-sh-pop: 0 18px 44px rgba(26, 48, 82, .13);
	--nis-sh-menu: 0 24px 54px rgba(26, 48, 82, .16);
	--nis-sh-hover: 0 24px 50px rgba(26, 48, 82, .13);
	/* motion */
	--nis-ease: cubic-bezier(.22, .9, .3, 1);
	--nis-t-color: .25s ease;
	--nis-t-btn: .3s ease;
	--nis-t-card: .4s;
	--nis-t-img: .5s;
	/* layers */
	--nis-z-raise: 6;
	--nis-z-sticky: 20;
	--nis-z-totop: 840;
	--nis-z-lead: 850;
	--nis-z-header: 900;
	--nis-z-pop: 910;
	--nis-z-overlay: 1000;
	--nis-z-drawer: 1001;
	--nis-z-lightbox: 1020;
}
@media (max-width: 1099.98px) {
	:root {
		--nis-hdr-h: 72px;
	}
}
@media (max-width: 599.98px) {
	:root {
		--nis-fs-kicker: 13px;
		--nis-ls-kicker: .34em;
		--nis-fs-sub: 16px;
		--nis-fs-body-lg: 16px;
	}
}


/* ==========================================================================
   3. RESET + BASE
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--nis-hdr-h) + 16px);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}
body {
	margin: 0;
	overflow-x: hidden;
	overflow-x: clip;
	background: var(--nis-cream);
	color: var(--nis-ink);
	font-family: var(--nis-font);
	font-size: var(--nis-fs-body);
	font-weight: 400;
	line-height: var(--nis-lh);
	direction: rtl;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
img,
svg,
video,
iframe {
	max-width: 100%;
}
img {
	height: auto;
	border: 0;
	vertical-align: middle;
}
iframe {
	border: 0;
}
button,
input,
select,
textarea {
	margin: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}
button {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}
textarea {
	resize: vertical;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
b,
strong {
	font-weight: 600;
}
address {
	font-style: normal;
}
[hidden] {
	display: none !important;
}
a {
	color: var(--nis-navy);
	text-decoration: none;
	transition: color var(--nis-t-color);
}
@media (hover: hover) {
	a:hover {
		color: var(--nis-gold-bronze);
	}
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 2px solid var(--nis-focus);
	outline-offset: 3px;
}
::selection {
	background: rgba(26, 48, 82, .18);
}


/* ==========================================================================
   4. UTILITIES
   ========================================================================== */
.dn,
.mfp-hide {
	display: none !important;
}
.nis-vh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}
.nis-b {
	font-weight: var(--nis-b-weight);
}
.nis-ltr {
	display: inline-block;
	direction: ltr;
	unicode-bidi: isolate;
}
.nis-on-navy {
	--nis-focus: var(--nis-gold-sand);
	color: var(--nis-on-navy);
}
html.nis-lock {
	overflow: hidden;
}
/* buttons that navigate through JS (they stand in for links that may not be added as anchors) are useless without it */
html:not(.nis-js) [data-nis-href],
html:not(.nis-js) [data-nis-tel] {
	display: none !important;
}
html.nis-js [data-nis-reveal] {
	opacity: 0;
}
html.nis-js [data-nis-reveal].is-in {
	opacity: 1;
	animation: nisReveal .9s var(--nis-ease) backwards;
	animation-delay: var(--nis-reveal-delay, 0s);
}
@keyframes nisReveal {
	from {
		opacity: 0;
		transform: translateY(26px);
	}
}
@keyframes nisUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
@keyframes nisFade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes nisLine {
	from {
		opacity: 0;
		transform: scaleX(.2);
	}
	to {
		opacity: 1;
		transform: none;
	}
}


/* ==========================================================================
   5. SHARED COMPONENTS
   ========================================================================== */

/* ---------- 5.1 Buttons ---------- */
.nis-btn {
	--nis-btn-bg: transparent;
	--nis-btn-bd: transparent;
	--nis-btn-fg: var(--nis-navy);
	--nis-btn-bg-h: var(--nis-btn-bg);
	--nis-btn-bd-h: var(--nis-btn-bd);
	--nis-btn-fg-h: var(--nis-btn-fg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 16px 32px;
	border: 1px solid var(--nis-btn-bd);
	border-radius: var(--nis-r-pill);
	background-color: var(--nis-btn-bg);
	color: var(--nis-btn-fg);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: var(--nis-lh);
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color var(--nis-t-btn), border-color var(--nis-t-btn), color var(--nis-t-btn), box-shadow var(--nis-t-btn), opacity var(--nis-t-btn);
}
.nis-btn .ph-light {
	font-size: 19px;
}
.nis-btn--navy {
	--nis-btn-bg: var(--nis-navy);
	--nis-btn-bd: var(--nis-navy);
	--nis-btn-fg: var(--nis-on-navy);
	--nis-btn-bg-h: var(--nis-blue);
	--nis-btn-bd-h: var(--nis-blue);
	--nis-btn-fg-h: var(--nis-white);
	gap: 14px;
	padding: 19px 38px;
	font-size: 17px;
}
.nis-btn--phone {
	position: relative;
	gap: 10px;
	padding: 15px clamp(18px, 2vw, 32px);
	font-size: clamp(15px, 1.2vw, 17px);
	letter-spacing: .01em;
}
.nis-btn--phone .ph-light {
	font-size: 18px;
}
.nis-btn--outline {
	--nis-btn-bd: var(--nis-navy);
	--nis-btn-bg-h: var(--nis-navy);
	--nis-btn-fg-h: var(--nis-on-navy);
	padding: 16px 38px;
	font-size: 15px;
	font-weight: 600;
}
.nis-btn--outline .ph-light {
	font-size: 16px;
}
.nis-btn--outline-soft {
	--nis-btn-bd: rgba(26, 48, 82, .75);
	--nis-btn-bg-h: var(--nis-navy);
	--nis-btn-bd-h: var(--nis-navy);
	--nis-btn-fg-h: var(--nis-on-navy);
	padding: 15px clamp(24px, 2.4vw, 44px);
	font-weight: 400;
}
.nis-btn--gold {
	--nis-focus: var(--nis-gold-sand);
	--nis-btn-bg: var(--nis-gold-sand);
	--nis-btn-bd: var(--nis-gold-sand);
	--nis-btn-fg: var(--nis-navy-deep);
	--nis-btn-bg-h: transparent;
	--nis-btn-fg-h: var(--nis-gold-sand);
	gap: 11px;
	font-size: 16.5px;
}
.nis-btn--ghost {
	--nis-focus: var(--nis-gold-sand);
	--nis-btn-bd: rgba(255, 255, 255, .5);
	--nis-btn-fg: var(--nis-on-navy);
	--nis-btn-bd-h: var(--nis-gold-sand);
	--nis-btn-fg-h: var(--nis-gold-sand);
	gap: 11px;
	font-size: 16.5px;
	font-weight: 400;
}
.nis-btn--ghost .ph-light {
	font-size: 18px;
}
.nis-btn--quote {
	--nis-btn-bg: var(--nis-navy);
	--nis-btn-bd: var(--nis-navy);
	--nis-btn-fg: var(--nis-on-navy);
	--nis-btn-bg-h: var(--nis-navy-ink);
	--nis-btn-bd-h: var(--nis-navy-ink);
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding-block: 12px;
	padding-inline: 18px 14px;
	white-space: normal;
}
.nis-btn__label {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}
.nis-btn__disc {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--nis-r-pill);
	background: rgba(247, 242, 234, .1);
}
.nis-btn__disc .ph-light {
	font-size: 20px;
}
.nis-btn--block {
	--nis-btn-bg: var(--nis-navy);
	--nis-btn-fg: var(--nis-on-navy);
	--nis-btn-bg-h: var(--nis-gold-bronze);
	--nis-btn-fg-h: var(--nis-white);
	display: flex;
	gap: 12px;
	width: 100%;
	height: 58px;
	padding: 0 24px;
	border-width: 0;
	border-radius: var(--nis-r-field);
	font-size: 17px;
	font-weight: 600;
}
@media (hover: hover) {
	.nis-btn:hover,
	a:hover .nis-btn--outline-soft {
		border-color: var(--nis-btn-bd-h);
		background-color: var(--nis-btn-bg-h);
		color: var(--nis-btn-fg-h);
	}
}
.nis-btn:active {
	border-color: var(--nis-btn-bd-h);
	background-color: var(--nis-btn-bg-h);
	color: var(--nis-btn-fg-h);
}
.nis-btn:disabled,
.nis-btn[aria-disabled="true"],
.nis-btn.is-disabled {
	opacity: .45;
	cursor: not-allowed;
	pointer-events: none;
}

/* ---------- 5.2 Icon buttons ---------- */
.nis-iconbtn {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(26, 48, 82, .14);
	border-radius: 50%;
	background-color: transparent;
	color: var(--nis-navy);
	cursor: pointer;
	transition: background-color var(--nis-t-color), border-color var(--nis-t-color), color var(--nis-t-color), box-shadow var(--nis-t-color), opacity var(--nis-t-color);
}
.nis-iconbtn .ph-light {
	font-size: 20px;
}
.nis-iconbtn--float {
	border-color: var(--nis-line-4);
	background-color: var(--nis-white);
	box-shadow: var(--nis-sh-float);
}
.nis-iconbtn--float .ph-light {
	font-size: 22px;
}
.nis-iconbtn--social {
	--nis-focus: var(--nis-gold-sand);
	width: 46px;
	height: 46px;
	border-color: var(--nis-line-gold-strong);
	color: var(--nis-gold-sand);
}
.nis-iconbtn--social .ph-light {
	font-size: 19px;
}
@media (hover: hover) {
	.nis-iconbtn:hover {
		border-color: var(--nis-gold);
		color: var(--nis-gold);
	}
	.nis-iconbtn--float:hover {
		border-color: var(--nis-navy);
		background-color: var(--nis-navy);
		color: var(--nis-on-navy);
	}
	.nis-iconbtn--social:hover {
		border-color: var(--nis-gold-sand);
		background-color: var(--nis-gold-sand);
		color: var(--nis-navy-deep);
	}
}
.nis-iconbtn:active {
	border-color: var(--nis-gold);
	color: var(--nis-gold);
}
.nis-iconbtn--float:active {
	border-color: var(--nis-navy);
	background-color: var(--nis-navy);
	color: var(--nis-on-navy);
}
.nis-iconbtn--social:active {
	border-color: var(--nis-gold-sand);
	background-color: var(--nis-gold-sand);
	color: var(--nis-navy-deep);
}
.nis-iconbtn:disabled,
.nis-iconbtn[aria-disabled="true"],
.nis-iconbtn.is-disabled {
	opacity: .4;
	cursor: not-allowed;
	pointer-events: none;
}

/* ---------- 5.3 Text links ---------- */
.nis-link--line {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 11px;
	color: var(--nis-navy);
	font-size: 16.5px;
	font-weight: 500;
	transition: color .35s var(--nis-ease);
}
.nis-link--line::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 1px;
	background: var(--nis-line-4);
}
.nis-link--line::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 34%;
	height: 1px;
	background: var(--nis-gold-bronze);
	transition: width .35s var(--nis-ease);
}
.nis-link--line .ph-light {
	font-size: 19px;
	transition: transform .35s var(--nis-ease);
}
.nis-link--arrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--nis-navy);
	font-size: 16px;
	font-weight: 500;
	transition: color var(--nis-t-color);
}
.nis-link--arrow .ph-light {
	font-size: 18px;
}
@media (hover: hover) {
	.nis-link--line:hover,
	.nis-link--arrow:hover {
		color: var(--nis-gold-bronze);
	}
	.nis-link--line:hover::after {
		width: 100%;
	}
	.nis-link--line:hover .ph-light {
		transform: translateX(-7px);
	}
}
.nis-link--line:active,
.nis-link--arrow:active {
	color: var(--nis-gold-bronze);
}
.nis-link--line:active::after {
	width: 100%;
}

/* ---------- 5.4 Kicker, titles, section head ---------- */
.nis-kicker {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	color: var(--nis-beige);
	font-size: var(--nis-fs-kicker);
	font-weight: 500;
	line-height: var(--nis-lh);
	letter-spacing: var(--nis-ls-kicker);
}
.nis-kicker--sm {
	font-size: 15px;
	letter-spacing: .34em;
}
.nis-kicker--on-navy,
.nis-kicker--shine {
	color: var(--nis-beige-light);
}
.nis-title {
	margin: 0;
	color: var(--nis-navy);
	font-size: var(--nis-fs-title);
	font-weight: 300;
	line-height: 1.16;
	letter-spacing: var(--nis-ls-title);
	text-wrap: balance;
}
.nis-title--xl {
	font-size: var(--nis-fs-title-xl);
}
.nis-title--sm {
	font-size: var(--nis-fs-title-sm);
	line-height: 1.22;
}
.nis-title--on-navy {
	color: var(--nis-on-navy);
}
.nis-sub {
	margin: 0;
	color: var(--nis-text-muted);
	font-size: var(--nis-fs-sub);
	font-weight: 300;
}
.nis-sub--on-navy {
	color: var(--nis-on-navy-soft);
}
.nis-sechead {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto var(--nis-gap-sechead);
	text-align: center;
}
.nis-sechead > .nis-title {
	margin: 16px 0 14px;
}
.nis-sechead > .nis-title:first-child {
	margin-top: 0;
}
.nis-sechead > .nis-title:last-child {
	margin-bottom: 0;
}
.nis-sechead > .nis-snow + .nis-title {
	margin-top: 20px;
}
.nis-sechead--start {
	align-items: flex-start;
	margin-inline: 0;
	text-align: start;
}

/* ---------- 5.5 Rule, diamond, snowflake, stat ---------- */
.nis-rule {
	display: block;
	width: var(--nis-rule-w, 76px);
	height: 1px;
	margin: 22px 0 0;
	border: 0;
	background: var(--nis-gold);
}
.nis-rule--wide {
	width: 100%;
}
.nis-rule--center {
	margin-inline: auto;
}
.nis-rule--on-navy {
	background: var(--nis-gold-sand);
}
.nis-rule--hero {
	width: clamp(120px, 26%, 220px);
	height: 1.5px;
	background: var(--nis-grad-gold-rule);
}
.nis-diamond {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 560px;
	height: 9px;
	margin: 38px 0 30px;
	background: linear-gradient(90deg, rgba(26, 48, 82, .22) 0%, rgba(26, 48, 82, 0) calc(50% - 18px), rgba(26, 48, 82, 0) calc(50% + 18px), rgba(26, 48, 82, .22) 100%) center / 100% 1px no-repeat;
}
.nis-diamond::before {
	content: "";
	width: 8px;
	height: 8px;
	border: 1px solid rgba(26, 48, 82, .35);
	transform: rotate(45deg);
}
.nis-snow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	color: var(--nis-gold);
}
.nis-snow::before,
.nis-snow::after {
	content: "";
	width: clamp(60px, 10vw, 150px);
	height: 1px;
}
.nis-snow::before {
	background: linear-gradient(270deg, rgba(26, 48, 82, .9), rgba(26, 48, 82, 0));
}
.nis-snow::after {
	background: linear-gradient(90deg, rgba(26, 48, 82, .9), rgba(26, 48, 82, 0));
}
.nis-snow .ph-light {
	font-size: 28px;
}
.nis-snow--mark {
	position: absolute;
	inset-inline-end: -40px;
	bottom: -60px;
	z-index: 0;
	color: rgba(255, 255, 255, .07);
	font-size: 280px;
	pointer-events: none;
	user-select: none;
}
.nis-stat {
	display: flex;
	align-items: flex-end;
	gap: 18px;
}
.nis-stat__num {
	background-image: var(--nis-grad-gold);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 300;
	line-height: .9;
}
.nis-stat__cap {
	padding-bottom: 5px;
	color: var(--nis-text-soft);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.6;
}
.nis-stat--sm {
	gap: 16px;
}
.nis-stat--sm .nis-stat__num {
	font-size: clamp(40px, 3.6vw, 54px);
}
.nis-stat--sm .nis-stat__cap {
	padding-bottom: 4px;
	font-size: 14.5px;
}

/* ---------- 5.6 Page hero band ---------- */
.nis-pagehero {
	position: relative;
	overflow: hidden;
	padding: clamp(32px, 3.6vw, 54px) var(--nis-gutter) clamp(36px, 4vw, 62px);
	background: var(--nis-grad-band);
}
.nis-pagehero::after {
	content: "";
	position: absolute;
	top: -6%;
	inset-inline-end: -4%;
	width: min(46%, 620px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%, rgba(214, 230, 247, .85) 0%, rgba(237, 243, 250, .35) 52%, rgba(255, 255, 255, 0) 74%);
	pointer-events: none;
}
.nis-pagehero__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: url(../../images/nisim/mountains.webp) center 60% / cover no-repeat;
	opacity: .35;
	pointer-events: none;
}
.nis-pagehero__bg > div,
.nis-pagehero > .headerIMG {
	position: absolute;
	inset: 0;
}
.nis-pagehero__bg img,
.nis-pagehero > .headerIMG img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.nis-pagehero__bg img[src$="top22222222222.jpg"],
.nis-pagehero > .headerIMG img[src$="top22222222222.jpg"] {
	opacity: 0;
}
/* tolerated: banner printed next to __bg instead of inside it = pale backdrop; an explicit glow element is not needed */
.nis-pagehero > .headerIMG {
	opacity: .35;
	pointer-events: none;
}
.nis-pagehero__glow {
	display: none;
}
/* the children are ordered by role, whatever their DOM order: breadcrumbs, kicker, title, lead */
.nis-pagehero__in {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}
.nis-pagehero__in > .Breadcrumbs,
.nis-pagehero__in > .nis-crumbs,
.nis-pagehero__crumbs {
	order: -3;
	margin-bottom: 22px;
}
.nis-pagehero__in > .nis-kicker {
	order: -2;
	margin-bottom: 14px;
}
.nis-pagehero__title {
	--nis-b-weight: 700;
	order: -1;
	margin: 0;
	color: var(--nis-navy);
	font-size: var(--nis-fs-h1);
	font-weight: 300;
	line-height: 1.14;
	letter-spacing: var(--nis-ls-title);
	text-wrap: balance;
}
.nis-hero__title {
	--nis-b-weight: 700;
}
.nis-pagehero__lead {
	margin: 16px 0 0;
	color: var(--nis-navy);
	font-size: var(--nis-fs-lead);
	font-weight: 500;
	line-height: 1.6;
	text-wrap: pretty;
}
.nis-pagehero__lead:empty {
	display: none;
}
.nis-pagehero--compact {
	padding: clamp(22px, 2.4vw, 34px) var(--nis-gutter);
}
.nis-pagehero--compact::after {
	display: none;
}
.nis-pagehero--compact .nis-pagehero__in {
	align-items: center;
	text-align: center;
}
.nis-pagehero--compact .nis-pagehero__title {
	--nis-b-weight: 600;
	font-size: var(--nis-fs-h1-compact);
	font-weight: 600;
	line-height: 1.3;
}
@supports selector(:has(*)) {
	.nis-pagehero__bg:has(img:not([src$="top22222222222.jpg"])) {
		background-image: none;
		opacity: 1;
	}
	.nis-pagehero__bg:has(img:not([src$="top22222222222.jpg"]))::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(270deg, rgba(247, 244, 238, .94) 0%, rgba(247, 244, 238, .88) 36%, rgba(247, 244, 238, .72) 64%, rgba(247, 244, 238, .55) 100%);
	}
	.nis-pagehero:has(.nis-pagehero__bg img:not([src$="top22222222222.jpg"]))::after {
		display: none;
	}
	.nis-pagehero--compact .nis-pagehero__bg:has(img:not([src$="top22222222222.jpg"]))::after {
		background: rgba(247, 244, 238, .8);
	}
}

/* ---------- 5.7 Breadcrumbs (components/breadcrumbs.tpl) ---------- */
.Breadcrumbs,
.nis-crumbs {
	color: var(--nis-text-soft);
	font-size: var(--nis-fs-xs);
	font-weight: 300;
	line-height: var(--nis-lh);
}
.Breadcrumbs ul,
.nis-crumbs ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 10px;
}
.Breadcrumbs li,
.nis-crumbs li {
	display: flex;
	align-items: center;
}
.Breadcrumbs a,
.nis-crumbs a {
	display: inline-block;
	margin-block: -8px;
	padding-block: 8px;
	color: inherit;
}
/* touch layouts: 44px tall hit areas (the negative margin keeps the line box). The items get 11px above and below
   (taken back by the list), so wrapped rows are 45px apart and a second row never covers the first; one row keeps
   its height. */
@media (max-width: 1099.98px) {
	.Breadcrumbs ul,
	.nis-crumbs ul {
		margin-block: -11px;
	}
	.Breadcrumbs li,
	.nis-crumbs li {
		margin-block: 11px;
	}
	.Breadcrumbs a,
	.nis-crumbs a {
		min-height: 44px;
		margin-block: -12px;
		padding-block: 12px;
	}
}
.Breadcrumbs a.active,
.nis-crumbs a.active {
	color: var(--nis-navy);
}
.Breadcrumbs .sep,
.nis-crumbs .sep {
	color: rgba(26, 48, 82, .3);
}
@media (hover: hover) {
	.Breadcrumbs a:hover,
	.nis-crumbs a:hover {
		color: var(--nis-gold-bronze);
	}
}
.nis-crumbs-bar {
	padding: 20px var(--nis-gutter) 0;
}

/* ---------- 5.8 CTA band ---------- */
.nis-cta {
	--nis-focus: var(--nis-gold-sand);
	position: relative;
	overflow: hidden;
	padding: var(--nis-sec-y-lg) var(--nis-gutter);
	background: var(--nis-navy-deep);
	color: var(--nis-on-navy);
}
.nis-cta::before {
	content: "";
	position: absolute;
	top: -30%;
	inset-inline-start: -8%;
	width: min(52%, 700px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .16) 0%, rgba(26, 48, 82, 0) 68%);
	pointer-events: none;
}
.nis-cta__in {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(28px, 4vw, 60px);
	width: 100%;
}
.nis-cta__body,
div.nis-cta__text {
	min-width: 0;
}
.nis-cta__glow {
	display: none;
}
.nis-cta__title {
	margin: 0;
	color: var(--nis-on-navy);
	font-size: var(--nis-fs-cta);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: var(--nis-ls-title);
}
.nis-kicker + .nis-cta__title {
	margin-top: 22px;
}
p.nis-cta__text {
	max-width: 56ch;
	margin: 16px 0 0;
	color: var(--nis-on-navy-soft);
	font-size: 17px;
	font-weight: 300;
	line-height: 1.85;
}
.nis-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

/* ---------- 5.9 Catalog tile, product card, badge ---------- */
.nis-tile,
.nis-prodcard {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--nis-line-2);
	border-radius: var(--nis-r-card);
	background: var(--nis-white);
	color: var(--nis-navy);
	transition: transform var(--nis-t-card) var(--nis-ease), box-shadow var(--nis-t-card) ease, border-color .3s ease;
}
/* the stretched link: class __link, or the legacy empty a.linkTo that is a direct child of the card */
.nis-tile__link,
.nis-prodcard__link,
.nis-tile > .linkTo,
.nis-prodcard > .linkTo {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}
.nis-tile__link:focus-visible,
.nis-prodcard__link:focus-visible,
.nis-tile > .linkTo:focus-visible,
.nis-prodcard > .linkTo:focus-visible {
	outline-offset: -4px;
}
.nis-tile__well {
	display: block;
	overflow: hidden;
	background: var(--nis-mist);
}
.nis-tile__well img {
	display: block;
	width: 100%;
	height: clamp(230px, 20vw, 300px);
	padding: 24px;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform var(--nis-t-img) var(--nis-ease);
}
.nis-tile__foot {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 24px clamp(20px, 2vw, 30px);
}
.nis-tile__title {
	min-width: 0;
	color: var(--nis-navy);
	font-size: 19px;
	font-weight: 600;
}
.nis-tile__arrow {
	color: var(--nis-navy);
	font-size: 22px;
	transition: transform .35s var(--nis-ease), color .3s ease;
}
.nis-prodcard {
	--nis-prodcard-img-h: 290px;
	border-radius: var(--nis-r-card-sm);
}
.nis-prodcard__well {
	position: relative;
	display: block;
	overflow: hidden;
	border-bottom: 1px solid var(--nis-line-1);
	background: var(--nis-mist-light);
}
.nis-prodcard__well img {
	display: block;
	width: 100%;
	height: var(--nis-prodcard-img-h);
	padding: 10px;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform var(--nis-t-img) var(--nis-ease);
}
.nis-prodcard__title {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	min-height: 78px;
	padding: 18px clamp(16px, 1.6vw, 24px);
	color: var(--nis-navy);
	font-size: 16.5px;
	font-weight: 500;
	line-height: 1.5;
}
.nis-prodcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	min-height: 78px;
	padding: 18px clamp(16px, 1.6vw, 24px);
}
.nis-prodcard__body > .nis-prodcard__title {
	display: block;
	flex: 0 0 auto;
	min-height: 0;
	padding: 0;
}
.nis-prodcard__meta {
	margin-top: 6px;
	color: var(--nis-text-soft);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.5;
}
.nis-prodcard--related {
	--nis-prodcard-img-h: 190px;
}
.nis-prodcard--related .nis-prodcard__well img {
	padding: 12px;
}
.nis-prodcard--related .nis-prodcard__title,
.nis-prodcard--related .nis-prodcard__body {
	min-height: 72px;
	padding: 16px 20px;
	font-size: 16px;
}
.nis-prodcard--related .nis-prodcard__body > .nis-prodcard__title {
	min-height: 0;
	padding: 0;
}
.nis-badge {
	position: absolute;
	inset-inline-start: 14px;
	bottom: 14px;
	z-index: 2;
	padding: 8px 18px;
	border-radius: var(--nis-r-pill);
	background: rgba(18, 35, 59, .85);
	color: var(--nis-on-navy);
	font-size: 13.5px;
	font-weight: 500;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .3s ease, transform .35s var(--nis-ease);
	pointer-events: none;
}
@media (hover: hover) {
	.nis-tile:hover,
	.nis-prodcard:hover {
		border-color: rgba(26, 48, 82, .5);
		box-shadow: var(--nis-sh-hover);
		transform: translateY(-6px);
	}
	.nis-tile:hover .nis-tile__well img,
	.nis-prodcard:hover .nis-prodcard__well img {
		transform: scale(1.06);
	}
	.nis-tile:hover .nis-tile__arrow {
		color: var(--nis-gold-bronze);
		transform: translateX(-7px);
	}
	.nis-tile:hover .nis-badge,
	.nis-prodcard:hover .nis-badge {
		opacity: 1;
		transform: none;
	}
}
.nis-tile:active,
.nis-prodcard:active,
.nis-tile:focus-within,
.nis-prodcard:focus-within {
	border-color: rgba(26, 48, 82, .5);
}
.nis-tile:focus-within .nis-badge,
.nis-prodcard:focus-within .nis-badge {
	opacity: 1;
	transform: none;
}

/* ---------- 5.10 Side menu (components/sideMenuLink.tpl inside aside.sideMenu) ---------- */
.nis-side {
	position: sticky;
	top: calc(var(--nis-hdr-h) + 20px);
	max-height: calc(100vh - var(--nis-hdr-h) - 40px);
	padding: 22px 14px;
	overflow-y: auto;
	border: 1px solid var(--nis-line-2);
	border-radius: var(--nis-r-card-sm);
	background: var(--nis-white);
	scrollbar-width: thin;
	scrollbar-color: var(--nis-line-4) transparent;
}
.nis-side__toggle {
	display: none;
}
.nis-side__title {
	padding: 0 14px 16px;
	border-bottom: 1px solid var(--nis-line-2);
	color: var(--nis-gold);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: var(--nis-ls-label);
}
.nis-side__title + * {
	margin-top: 12px;
}
.nis-side ul {
	display: flex;
	flex-direction: column;
}
.nis-side li {
	display: block;
}
.nis-side a {
	display: block;
	padding: 12px 14px;
	border-radius: var(--nis-r-item);
	color: var(--nis-text-strong);
	font-size: 15.5px;
	font-weight: 400;
	transition: background-color var(--nis-t-color), color var(--nis-t-color);
}
.nis-side li li > a {
	padding: 9px 14px;
	padding-inline-start: 28px;
	color: var(--nis-text-soft);
	font-size: 14.5px;
	font-weight: 300;
}
.nis-side li li li > a {
	padding-inline-start: 42px;
}
.nis-side a.on,
.nis-side li li > a.on {
	background-color: var(--nis-mist);
	color: var(--nis-navy);
	font-weight: 600;
}
@supports selector(:has(*)) {
	.nis-side li:has(li > a.on) > a.on {
		background-color: transparent;
	}
}
@media (hover: hover) {
	.nis-side a:hover,
	.nis-side li li > a:hover {
		background-color: var(--nis-sand);
		color: var(--nis-gold-bronze);
	}
}
.nis-side a:active {
	background-color: var(--nis-sand);
}

/* ---------- 5.11 Check lists ---------- */
.nis-checks,
.nis-checks > ul,
.nis-checks > ol {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
	gap: 8px 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nis-checks {
	max-width: 580px;
}
.nis-checks > :not(li):not(.nis-checks__item) {
	grid-column: 1 / -1;
}
.nis-checks li,
.nis-checks__item {
	position: relative;
	min-width: 0;
	margin: 0;
	padding-inline-start: 39px;
	border-inline-start: 1px solid var(--nis-line-2);
	color: var(--nis-text-strong);
	font-size: 16.5px;
	font-weight: 400;
	line-height: 1.6;
}
.nis-checks li::before,
.nis-checks__item::before {
	content: "";
	position: absolute;
	inset-inline-start: 14px;
	top: calc(.8em - 3.5px);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--nis-beige);
}
.nis-checks--plain,
.nis-checks--plain > ul {
	grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
	gap: 14px 34px;
}
.nis-checks--plain {
	max-width: 600px;
}
.nis-checks--plain li,
.nis-checks--plain .nis-checks__item {
	padding-inline-start: 28px;
	border-inline-start: 0;
	font-size: 15.5px;
	font-weight: 300;
}
.nis-checks--plain li::before,
.nis-checks--plain .nis-checks__item::before {
	inset-inline-start: 4px;
}
.nis-checks--rich,
.nis-checks--rich > ul,
.nis-checks--rich > ol {
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
}
.nis-checks--rich {
	max-width: none;
}
.nis-checks--rich li,
.nis-checks--rich .nis-checks__item {
	padding-inline-start: 32px;
	border-inline-start: 0;
	color: var(--nis-text);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.nis-checks--rich li::before,
.nis-checks--rich .nis-checks__item::before {
	inset-inline-start: 6px;
	top: calc(.9em - 3.5px);
}
.nis-checks--rich strong,
.nis-checks--rich b {
	color: var(--nis-navy);
	font-weight: 600;
}
ol.nis-checks--rich,
.nis-checks--rich > ol {
	counter-reset: nis-ol;
}
ol.nis-checks--rich > li,
.nis-checks--rich > ol > li {
	padding-inline-start: 36px;
	counter-increment: nis-ol;
}
ol.nis-checks--rich > li::before,
.nis-checks--rich > ol > li::before {
	content: counter(nis-ol, decimal-leading-zero);
	inset-inline-start: 0;
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	color: var(--nis-beige);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.92;
}

/* ---------- 5.12 Form panel and lead forms (components/form.tpl) ---------- */
.nis-formpanel {
	--nis-focus: var(--nis-gold-bronze);
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(28px, 3.2vw, 48px);
	border: 1px solid var(--nis-line-2);
	border-radius: var(--nis-r-card);
	background: var(--nis-cream);
	color: var(--nis-ink);
}
.nis-formpanel__title {
	margin: 0;
	color: var(--nis-navy);
	font-size: var(--nis-fs-title-panel);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: var(--nis-ls-title);
}
.nis-kicker + .nis-formpanel__title {
	margin-top: 18px;
}
.nis-formpanel__text,
.nis-formpanel__lead {
	margin: 28px 0 44px;
	color: var(--nis-text-soft);
	font-size: 17px;
	font-weight: 300;
	line-height: 1.85;
}
.nis-formpanel__form {
	min-width: 0;
}
.nis-formpanel__note {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 18px;
	color: var(--nis-text-faint);
	font-size: 13.5px;
	font-weight: 300;
}
.nis-formpanel__note .ph-light {
	font-size: 15px;
}
:where(form[method="post"]:not(.noEmail)) {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
}
:where(form[method="post"]:not(.noEmail)) > div {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
	gap: 22px;
	min-width: 0;
}
:where(form[method="post"]:not(.noEmail)) > div > div {
	min-width: 0;
}
:where(form[method="post"]:not(.noEmail)) > .oneRowForm {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px;
}
:where(form[method="post"]:not(.noEmail)) > .oneRowForm > div {
	flex: 1 1 180px;
}
:where(form[method="post"]:not(.noEmail), .nis-form) input:where([type="text"], [type="email"], [type="tel"], [type="password"], [type="number"], [type="url"], [type="search"], :not([type])),
:where(form[method="post"]:not(.noEmail), .nis-form) select,
:where(form[method="post"]:not(.noEmail), .nis-form) textarea {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--nis-line-4);
	border-radius: var(--nis-r-field);
	background-color: var(--nis-white);
	color: var(--nis-ink);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	transition: border-color var(--nis-t-color), background-color var(--nis-t-color);
}
:where(form[method="post"]:not(.noEmail), .nis-form) input:where([type="text"], [type="email"], [type="tel"], [type="password"], [type="number"], [type="url"], [type="search"], :not([type])),
:where(form[method="post"]:not(.noEmail), .nis-form) textarea {
	-webkit-appearance: none;
	appearance: none;
}
:where(form[method="post"]:not(.noEmail), .nis-form) textarea {
	height: auto;
	min-height: 118px;
	padding: 14px 16px;
	resize: vertical;
}
:where(form[method="post"]:not(.noEmail), .nis-form) input::placeholder,
:where(form[method="post"]:not(.noEmail), .nis-form) textarea::placeholder {
	color: var(--nis-text-muted);
	opacity: 1;
}
:where(form[method="post"]:not(.noEmail), .nis-form) label + input::placeholder,
:where(form[method="post"]:not(.noEmail), .nis-form) label + textarea::placeholder {
	color: var(--nis-text-faint);
}
:where(form[method="post"]:not(.noEmail), .nis-form) input:focus,
:where(form[method="post"]:not(.noEmail), .nis-form) select:focus,
:where(form[method="post"]:not(.noEmail), .nis-form) textarea:focus {
	border-color: var(--nis-gold-bronze);
}
:where(form[method="post"]:not(.noEmail), .nis-form) .error,
:where(form[method="post"]:not(.noEmail), .nis-form) .error:focus {
	border-color: var(--nis-danger);
	background-color: var(--nis-danger-soft);
}
:where(form[method="post"]:not(.noEmail), .nis-form) input:where([type="checkbox"], [type="radio"]) {
	width: 18px;
	height: 18px;
	margin-inline-end: 8px;
	vertical-align: -3px;
	accent-color: var(--nis-navy);
}
:where(form[method="post"]:not(.noEmail), .nis-form) input[type="submit"] {
	display: block;
	width: 100%;
	height: 58px;
	margin-top: 8px;
	padding: 0 48px;
	border: 0;
	border-radius: var(--nis-r-field);
	background-color: var(--nis-navy);
	color: var(--nis-on-navy);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color var(--nis-t-btn), color var(--nis-t-btn), opacity var(--nis-t-btn);
}
:where(form[method="post"]:not(.noEmail)) > .oneRowForm input[type="submit"] {
	height: 52px;
	margin-top: 0;
	padding: 0 40px;
}
@media (hover: hover) {
	:where(form[method="post"]:not(.noEmail), .nis-form) input[type="submit"]:hover {
		background-color: var(--nis-gold-bronze);
		color: var(--nis-white);
	}
}
:where(form[method="post"]:not(.noEmail), .nis-form) input[type="submit"]:active {
	background-color: var(--nis-gold-bronze);
	color: var(--nis-white);
}
:where(form[method="post"]:not(.noEmail), .nis-form) input[type="submit"]:disabled {
	opacity: .45;
	cursor: not-allowed;
}
@supports selector(:has(*)) {
	:where(form[method="post"]:not(.noEmail), .nis-form) div:has(> input[type="submit"]) {
		position: relative;
	}
	:where(form[method="post"]:not(.noEmail), .nis-form) div:has(> input[type="submit"])::after {
		content: "\e058";
		position: absolute;
		inset-inline-end: 22px;
		bottom: 0;
		display: flex;
		align-items: center;
		height: 58px;
		color: var(--nis-on-navy);
		font-family: 'Phosphor-Light';
		font-size: 19px;
		line-height: 1;
		pointer-events: none;
	}
	:where(form[method="post"]:not(.noEmail)) > .oneRowForm div:has(> input[type="submit"])::after {
		inset-inline-end: 16px;
		height: 52px;
	}
}
.nis-field__label,
:where(form[method="post"]:not(.noEmail)) > div > div > label {
	display: block;
	margin-bottom: 9px;
	color: var(--nis-navy);
	font-size: 14px;
	font-weight: 600;
	line-height: var(--nis-lh);
}
.nis-field__hint {
	color: var(--nis-text-faint);
	font-weight: 300;
}
.nis-form--on-navy {
	--nis-focus: var(--nis-gold-sand);
}
.nis-form--on-navy .nis-field__label,
.nis-form--on-navy label {
	color: var(--nis-on-navy);
}
.nis-form--on-navy input[type="submit"] {
	background-color: var(--nis-gold-sand);
	color: var(--nis-navy-deep);
}
.nis-form--on-navy div:has(> input[type="submit"])::after {
	color: var(--nis-navy-deep);
}
@media (hover: hover) {
	.nis-form--on-navy input[type="submit"]:hover {
		background-color: var(--nis-on-navy);
		color: var(--nis-navy-deep);
	}
}
.nis-form--on-navy input[type="submit"]:active {
	background-color: var(--nis-on-navy);
	color: var(--nis-navy-deep);
}

/* ---------- 5.13 Contact panel (navy) and map ---------- */
.nis-contact {
	--nis-focus: var(--nis-gold-sand);
	position: relative;
	min-width: 0;
	padding: var(--nis-sec-y-lg) clamp(24px, 5vw, 72px);
	overflow: hidden;
	background: var(--nis-navy);
	color: var(--nis-on-navy);
}
.nis-contact--deep {
	background: var(--nis-navy-deep);
}
.nis-contact--flush {
	padding: 0;
	overflow: visible;
	background: none;
}
.nis-contact > * {
	position: relative;
	z-index: 1;
}
.nis-contact > .nis-snow--mark {
	position: absolute;
	z-index: 0;
}
.nis-contact a:not(.nis-btn):not(.nis-iconbtn) {
	color: inherit;
}
.nis-contact__title {
	margin: 0;
	color: var(--nis-on-navy);
	font-size: var(--nis-fs-title-panel);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: var(--nis-ls-title);
}
.nis-kicker + .nis-contact__title {
	margin-top: 18px;
}
.nis-contact__text {
	max-width: 400px;
	margin: 28px 0 44px;
	color: var(--nis-on-navy-soft);
	font-size: 17px;
	font-weight: 300;
	line-height: 1.85;
}
.nis-contact__head {
	margin: 0 0 26px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--nis-line-gold);
	color: var(--nis-on-navy);
	font-size: 15px;
	font-weight: 600;
}
.nis-contact__branches {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
	gap: clamp(22px, 3vw, 44px);
	padding-bottom: 26px;
	border-bottom: 1px solid var(--nis-line-gold);
}
.nis-contact__branch {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.nis-contact__label {
	margin: 0 0 16px;
	color: var(--nis-gold-sand);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: var(--nis-ls-label);
}
.nis-contact__row {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin: 0 0 13px;
	color: var(--nis-on-navy);
	font-size: 15.5px;
	font-weight: 300;
	line-height: 1.6;
}
.nis-contact__row > .ph-light {
	margin-top: 3px;
	color: var(--nis-gold-sand);
	font-size: 19px;
}
.nis-contact__row--soft {
	color: var(--nis-on-navy-soft);
}
.nis-contact__line {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--nis-line-gold);
	color: var(--nis-on-navy);
	font-size: 16px;
	font-weight: 300;
}
.nis-contact__line > .ph-light {
	color: var(--nis-gold-sand);
	font-size: 20px;
}
.nis-contact__line--soft {
	color: var(--nis-on-navy-soft);
	font-size: 15.5px;
}
.nis-contact__social {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 38px;
}
.nis-contact__cms {
	color: var(--nis-on-navy);
	font-size: 15.5px;
	font-weight: 300;
	line-height: 1.9;
}
.nis-contact__cms p {
	margin: 0;
}
.nis-contact__cms strong,
.nis-contact__cms b {
	color: var(--nis-gold-sand);
	font-weight: 500;
}
@media (hover: hover) {
	.nis-contact a:not(.nis-btn):not(.nis-iconbtn):hover {
		color: var(--nis-gold-sand);
	}
}
.nis-map {
	display: block;
	margin-top: auto;
	padding-top: 20px;
}
.nis-map iframe {
	display: block;
	width: 100%;
	height: 170px;
	border: 1px solid var(--nis-line-gold) !important;
	border-radius: var(--nis-r-thumb);
	filter: grayscale(.15);
}

/* ---------- 5.14 Rich text (CMS html) ---------- */
.nis-rich {
	color: var(--nis-text);
	font-size: var(--nis-fs-body-lg);
	font-weight: 300;
	line-height: 1.95;
	overflow-wrap: break-word;
}
.nis-rich--measure {
	max-width: 900px;
}
.nis-rich::after {
	content: "";
	display: block;
	clear: both;
}
.nis-rich > :first-child,
.nis-rich > div:only-child > :first-child {
	margin-top: 0;
}
.nis-rich > :last-child,
.nis-rich > div:only-child > :last-child {
	margin-bottom: 0;
}
.nis-rich p {
	margin: 0 0 1.1em;
}
.nis-rich h1,
.nis-rich h2 {
	margin: 1.4em 0 .65em;
	color: var(--nis-navy);
	font-size: var(--nis-fs-title-sm);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: var(--nis-ls-title);
}
.nis-rich h3 {
	margin: 1.5em 0 .5em;
	color: var(--nis-navy);
	font-size: clamp(19px, 1.6vw, 23px);
	font-weight: 600;
	line-height: 1.4;
}
.nis-rich h4,
.nis-rich h5,
.nis-rich h6 {
	margin: 1.5em 0 .4em;
	color: var(--nis-navy);
	font-size: 17.5px;
	font-weight: 600;
	line-height: 1.5;
}
.nis-rich strong,
.nis-rich b {
	color: var(--nis-navy);
	font-weight: 600;
}
.nis-rich a:not([class]) {
	color: var(--nis-navy);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: rgba(26, 48, 82, .3);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color var(--nis-t-color), text-decoration-color var(--nis-t-color);
}
@media (hover: hover) {
	.nis-rich a:not([class]):hover {
		color: var(--nis-gold-bronze);
		text-decoration-color: currentColor;
	}
}
/* lists: only the class-less lists of the editor, never template lists placed inside the wrapper */
.nis-rich ul:not([class]),
.nis-rich ol:not([class]) {
	margin: 0 0 1.3em;
	padding: 0;
	list-style: none;
}
.nis-rich ul:not([class]) > li,
.nis-rich ol:not([class]) > li {
	position: relative;
	margin: 0;
	padding-inline-start: 26px;
}
.nis-rich ul:not([class]) > li + li,
.nis-rich ol:not([class]) > li + li {
	margin-top: .45em;
}
.nis-rich li > ul:not([class]),
.nis-rich li > ol:not([class]) {
	margin: .45em 0 0;
}
.nis-rich ul:not([class]) > li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-inline: -22px 16px;
	background: var(--nis-gold);
	vertical-align: .16em;
	transform: rotate(45deg);
}
.nis-rich ol:not([class]) {
	counter-reset: nis-ol;
}
.nis-rich ol:not([class]) > li {
	padding-inline-start: 38px;
	counter-increment: nis-ol;
}
.nis-rich ol:not([class]) > li::before {
	content: counter(nis-ol, decimal-leading-zero);
	display: inline-block;
	width: 38px;
	margin-inline-start: -38px;
	color: var(--nis-gold);
	font-size: 15px;
	font-weight: 500;
}
.nis-rich--checks ul:not([class]) > li {
	padding-inline-start: 32px;
	font-size: 16px;
	line-height: 1.8;
}
.nis-rich--checks ul:not([class]) > li + li,
.nis-rich--checks ol:not([class]) > li + li {
	margin-top: 18px;
}
.nis-rich--checks ol:not([class]) > li {
	font-size: 16px;
	line-height: 1.8;
}
.nis-rich--checks ul:not([class]) > li::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-inline: -24px 17px;
	border-radius: 50%;
	background: var(--nis-beige);
	vertical-align: .16em;
	transform: none;
}
.nis-rich blockquote {
	margin: 1.6em 0;
	padding-block: 4px;
	padding-inline: 24px 0;
	border-inline-start: 2px solid var(--nis-gold);
	color: var(--nis-navy);
	font-size: var(--nis-fs-lead);
	font-weight: 400;
	line-height: 1.7;
}
.nis-rich hr {
	height: 1px;
	margin: 2.2em 0 !important;
	border: 0 !important;
	background: linear-gradient(to left, var(--nis-gold), rgba(26, 48, 82, 0));
}
.nis-rich img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: var(--nis-r-card);
}
.nis-rich img[style*="float"][style*="left"] {
	margin: 6px 32px 20px 0;
}
.nis-rich img[style*="float"][style*="right"] {
	margin: 6px 0 20px 32px;
}
.nis-rich iframe,
.nis-rich video {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 1.5em 0;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--nis-r-thumb);
}
.nis-rich table {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	margin: 1.5em 0 !important;
	overflow-x: auto;
	border: 1px solid var(--nis-line-3) !important;
	border-radius: var(--nis-r-thumb);
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: var(--nis-white) !important;
}
.nis-rich table > tbody:only-child {
	display: table;
	width: 100%;
}
@supports selector(:has(*)) {
	.nis-rich table:has(> thead),
	.nis-rich table:has(> tfoot),
	.nis-rich table:has(> caption) {
		display: table;
		overflow: hidden;
	}
	.nis-rich table:not(:has(td, th)) {
		display: none;
	}
}
.nis-rich thead,
.nis-rich tbody,
.nis-rich tfoot,
.nis-rich tr {
	border: 0 !important;
	background: transparent !important;
}
.nis-rich th,
.nis-rich td {
	width: auto !important;
	height: auto !important;
	padding: 15px 18px !important;
	border: 0 !important;
	border-top: 1px solid var(--nis-line-2) !important;
	border-inline-start: 1px solid var(--nis-line-1) !important;
	background: transparent !important;
	color: var(--nis-text-strong) !important;
	font-family: inherit !important;
	font-size: 15.5px !important;
	font-weight: 400;
	line-height: 1.5 !important;
	text-align: start;
	vertical-align: middle;
}
.nis-rich table > :first-child > tr:first-child > * {
	border-top: 0 !important;
}
.nis-rich th,
.nis-rich tr > :first-child {
	background: var(--nis-mist-light) !important;
	color: var(--nis-navy) !important;
	font-size: 15px !important;
	font-weight: 600;
}
.nis-rich tr > :first-child {
	border-inline-start: 0 !important;
}
.nis-rich tr > :first-child:nth-last-child(n + 3) {
	white-space: nowrap;
}
.nis-rich td:nth-child(n + 3),
.nis-rich td:nth-child(2):not(:last-child) {
	text-align: center;
}
.nis-rich td p,
.nis-rich th p {
	margin: 0;
}
.nis-rich *:where([style*="font-family"]) {
	font-family: inherit !important;
}
.nis-rich *:where([style*="font-size"]) {
	font-size: inherit !important;
}
.nis-rich *:where([style*="line-height"]) {
	line-height: inherit !important;
}
.nis-rich *:where([style*="width"]) {
	max-width: 100% !important;
}
.nis-rich div:where([style*="width"]),
.nis-rich p:where([style*="width"]),
.nis-rich span:where([style*="width"]) {
	width: auto !important;
}

/* ---------- 5.15 Pager (previous / next) ---------- */
.nis-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: clamp(24px, 3vw, 36px);
	border-top: 1px solid var(--nis-line-3);
}
.nis-pager__item,
.nis-pager__pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	padding: 14px 26px;
	border: 1px solid rgba(26, 48, 82, .16);
	border-radius: var(--nis-r-pill);
	color: var(--nis-navy);
	transition: background-color var(--nis-t-btn), border-color var(--nis-t-btn), color var(--nis-t-btn);
}
.nis-pager__item--next:first-child {
	margin-inline-start: auto;
}
.nis-pager__item > .ph-light,
.nis-pager__pill > .ph-light {
	font-size: 18px;
}
.nis-pager__text,
.nis-pager__txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
}
.nis-pager__item--next .nis-pager__text,
.nis-pager__item--next .nis-pager__txt {
	align-items: flex-end;
}
.nis-pager__label,
.nis-pager__txt[data-nis-label]::before {
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.36;
	letter-spacing: .16em;
	opacity: .6;
}
.nis-pager__txt[data-nis-label]::before {
	content: attr(data-nis-label);
}
.nis-pager__link,
.nis-pager__name,
.nis-pager__txt {
	color: inherit;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.36;
}
/* tolerated variant: a.nis-pager__pill inside a plain .nis-pager__item wrapper (label = data-nis-label on .nis-pager__txt) */
@supports selector(:has(*)) {
	.nis-pager__item:has(> .nis-pager__pill) {
		display: block;
		padding: 0;
		border: 0;
		border-radius: 0;
		background-color: transparent;
	}
}
.nis-pager__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.nis-pager__link:focus-visible {
	outline: 0;
}
.nis-pager__link:focus-visible::after {
	outline: 2px solid var(--nis-focus);
	outline-offset: 3px;
}
.nis-pager__mid {
	color: var(--nis-text-soft);
	font-size: 14.5px;
	font-weight: 400;
	letter-spacing: .06em;
}
@media (hover: hover) {
	.nis-pager__item:hover,
	.nis-pager__pill:hover {
		border-color: var(--nis-navy);
		background-color: var(--nis-navy);
		color: var(--nis-on-navy);
	}
	.nis-pager__item:hover .nis-pager__link,
	.nis-pager__link:hover {
		color: inherit;
	}
	a.nis-pager__mid:hover {
		color: var(--nis-gold-bronze);
	}
}
.nis-pager__item:active,
.nis-pager__pill:active {
	border-color: var(--nis-navy);
	background-color: var(--nis-navy);
	color: var(--nis-on-navy);
}
@supports selector(:has(*)) {
	.nis-pager__item:has(> .nis-pager__pill):hover,
	.nis-pager__item:has(> .nis-pager__pill):active {
		background-color: transparent;
		color: var(--nis-navy);
	}
}


/* ==========================================================================
   6. RESPONSIVE
   ========================================================================== */
@media (max-width: 1249.98px) {
	.nis-prodcard {
		--nis-prodcard-img-h: 250px;
	}
	.nis-prodcard--related {
		--nis-prodcard-img-h: 180px;
	}
}
@media (max-width: 1099.98px) {
	.nis-side {
		position: static;
		max-height: none;
		overflow: visible;
	}
	.nis-side li li > a {
		padding-block: 11px;
	}
	/* collapse: only with JS, and only for the documented skeleton (toggle = direct child of .nis-side) */
	html.nis-js .nis-side > .nis-side__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: calc(100% + 12px);
		min-height: 48px;
		margin: -16px -6px;
		padding: 0 14px;
		border-radius: var(--nis-r-item);
		color: var(--nis-navy);
		font-size: 15.5px;
		font-weight: 600;
		text-align: start;
	}
	html.nis-js .nis-side > .nis-side__toggle .ph-light {
		font-size: 18px;
		transition: transform .3s var(--nis-ease);
	}
	html.nis-js .nis-side.is-open > .nis-side__toggle {
		margin-bottom: 0;
	}
	html.nis-js .nis-side.is-open > .nis-side__toggle .ph-light {
		transform: rotate(180deg);
	}
	html.nis-js .nis-side > .nis-side__toggle ~ .nis-side__title {
		display: none;
	}
	html.nis-js .nis-side:not(.is-open) > .nis-side__toggle ~ .sideMenu,
	html.nis-js .nis-side:not(.is-open) > .nis-side__toggle ~ .nis-side__body {
		display: none;
	}
	html.nis-js .nis-side.is-open > .nis-side__toggle ~ .sideMenu,
	html.nis-js .nis-side.is-open > .nis-side__toggle ~ .nis-side__body {
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid var(--nis-line-2);
	}
}
@media (max-width: 899.98px) {
	.nis-cta__in {
		flex-direction: column;
		align-items: flex-start;
	}
	@supports selector(:has(*)) {
		.nis-pagehero__bg:has(img:not([src$="top22222222222.jpg"]))::after {
			background: rgba(247, 244, 238, .84);
		}
	}
}
@media (max-width: 599.98px) {
	.nis-btn--navy:not(.nis-btn--phone) {
		gap: 12px;
		padding: 16px 30px;
		font-size: 16px;
	}
	.nis-btn--outline {
		padding: 14px 30px;
	}
	.nis-btn--gold,
	.nis-btn--ghost {
		padding: 14px 26px;
		font-size: 16px;
	}
	.nis-btn--quote {
		gap: 12px;
	}
	.nis-btn__label {
		font-size: 15px;
	}
	.nis-kicker--sm {
		font-size: 13px;
	}
	.nis-sub {
		color: var(--nis-text-soft);
	}
	.nis-diamond {
		margin: 30px 0 24px;
	}
	.nis-snow--mark {
		font-size: 200px;
	}
	.nis-cta__actions {
		width: 100%;
	}
	.nis-cta__actions > .nis-btn {
		flex: 1 1 auto;
	}
	.nis-tile__foot {
		padding: 20px;
	}
	.nis-tile__title {
		font-size: 17.5px;
	}
	.nis-prodcard {
		--nis-prodcard-img-h: 240px;
	}
	.nis-prodcard__title,
	.nis-prodcard__body {
		min-height: 68px;
		padding: 14px 16px;
		font-size: 16px;
	}
	.nis-prodcard__body > .nis-prodcard__title {
		min-height: 0;
		padding: 0;
	}
	.nis-checks li,
	.nis-checks__item {
		font-size: 16px;
	}
	.nis-checks--plain li,
	.nis-checks--plain .nis-checks__item {
		font-size: 15.5px;
	}
	.nis-formpanel {
		padding: 26px 20px;
	}
	.nis-formpanel__text {
		margin: 18px 0 28px;
		font-size: 16px;
	}
	.nis-contact__text {
		margin: 20px 0 32px;
		font-size: 16px;
	}
	.nis-contact__social {
		margin-top: 28px;
	}
	.nis-rich {
		line-height: 1.8;
	}
	.nis-rich img {
		display: block;
		float: none !important;
		width: auto !important;
		margin: 0 auto 1em !important;
	}
	.nis-rich th,
	.nis-rich td {
		padding: 12px 14px !important;
	}
	.nis-rich blockquote {
		padding-inline-start: 18px;
	}
	.nis-pager {
		flex-direction: column;
		align-items: stretch;
	}
	.nis-pager__item--next,
	.nis-pager__item--next:first-child {
		justify-content: space-between;
		margin-inline-start: 0;
	}
	.nis-pager__pill {
		display: flex;
	}
	.nis-pager__item--next .nis-pager__pill {
		justify-content: space-between;
	}
	.nis-pager__mid {
		order: 3;
		text-align: center;
	}
}


/* ==========================================================================
   7. REDUCED MOTION, FORCED COLOURS, PRINT
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-delay: 0s !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
	}
	html.nis-js [data-nis-reveal] {
		opacity: 1;
		animation: none;
	}
}
@media (forced-colors: active) {
	.nis-kicker,
	.nis-stat__num {
		background-image: none;
		color: CanvasText;
		-webkit-text-fill-color: currentColor;
	}
}
@media print {
	.nis-kicker,
	.nis-stat__num {
		background-image: none;
		color: var(--nis-gold-deep);
		-webkit-text-fill-color: currentColor;
	}
	html.nis-js [data-nis-reveal] {
		opacity: 1;
		animation: none;
	}
}
