/* moved out of front-page.php (7 Oct 2026) so browsers cache it instead of re-downloading it on every page */

.nh-home{--nh-void:#0A0911;--nh-carbon:#15131F;--nh-ultraviolet:#7A2CFF;--nh-lumen:#B496FF;--nh-fog:#9C99AE;--nh-paper:#EEECF5;--nh-bg:var(--nh-void);--nh-bg-raised:#100E18;--nh-surface:var(--nh-carbon);--nh-surface-hi:#201E2A;--nh-surface-up:#353341;--nh-bg-photo:#07060C;--nh-line:#2B2836;--nh-line-strong:#3E3B4A;--nh-ink:var(--nh-paper);--nh-ink-2:var(--nh-fog);--nh-ink-3:#8A889B;--nh-accent:var(--nh-ultraviolet);--nh-accent-hover:#6A27DE;--nh-accent-ink:var(--nh-lumen);--nh-on-accent:#ffffff;--nh-logo-mark:var(--nh-ultraviolet);--nh-font-display:"Archivo","Helvetica Neue",Arial,sans-serif;--nh-font-body:"Inter","Helvetica Neue",Arial,sans-serif;--nh-display-width:112%;--nh-r-pill:999px;--nh-r-sm:12px;--nh-r-md:20px;--nh-r-lg:28px;--nh-r-bar:var(--nh-r-pill);--nh-max:1320px;--nh-gutter:16px;--nh-section:clamp(72px,9vw,128px);--nh-header-h:56px;--nh-logo-h:26px;--nh-bar-glass:color-mix(in srgb,var(--nh-surface-up) 86%,transparent);--nh-bar-top:16px;--nh-bar-top-scrolled:12px;--nh-frame-inset:8px;--nh-frame-top:8px;--nh-frame-r:calc(var(--nh-header-h)/2 + var(--nh-bar-top) - var(--nh-frame-top));--nh-frame-max:calc(var(--nh-max) + (var(--nh-gutter) - var(--nh-frame-inset))*2);--nh-hdr-clear:calc(var(--nh-bar-top) + var(--nh-header-h))}
@media (min-width:760px){
  .nh-home{--nh-gutter:32px; --nh-header-h:60px; --nh-logo-h:28px; --nh-bar-top:26px; --nh-frame-inset:16px; --nh-frame-top:12px;}
}
@media (min-width:1200px){
  .nh-home{--nh-gutter:48px; --nh-bar-top:28px; --nh-frame-inset:24px;}
}
:where(.nh-home) *,:where(.nh-home) *::before,:where(.nh-home) *::after{box-sizing:border-box}
:where(.nh-home) img{display:block;max-width:100%;height:auto}
:where(.nh-home) a{color:inherit;text-decoration:none}
:where(.nh-home) h1,:where(.nh-home) h2,:where(.nh-home) h3,:where(.nh-home) p,:where(.nh-home) ul,:where(.nh-home) ol,:where(.nh-home) dl,:where(.nh-home) dd,:where(.nh-home) figure{margin:0}
:where(.nh-home) ul,:where(.nh-home) ol{padding:0;list-style:none}
:where(.nh-home) button,:where(.nh-home) input{font:inherit;color:inherit}
:where(.nh-home) button{cursor:pointer}
:where(.nh-home) a,:where(.nh-home) button,:where(.nh-home) summary{-webkit-tap-highlight-color:transparent}
:where(.nh-home) svg{flex-shrink:0}
:where(.nh-home) :focus-visible{outline:2px solid var(--nh-accent-ink);outline-offset:3px}
.nh-home .nh-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nh-home .nh-wrap{width:100%;max-width:calc(var(--nh-max) + var(--nh-gutter)*2);margin-inline:auto;padding-inline:var(--nh-gutter)}
.nh-home .nh-eyebrow{display:flex;align-items:center;gap:12px;font:600 12px/1.2 var(--nh-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--nh-ink-2)}
.nh-home .nh-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--nh-accent-ink);flex:none}
.nh-home .nh-h2{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:700;font-size:clamp(30px,4.2vw,54px);line-height:1.02;letter-spacing:-.02em;color:var(--nh-ink);text-wrap:balance}
.nh-home .nh-lede{font-size:17px;line-height:1.6;color:var(--nh-ink-2);max-width:56ch}
@media (min-width:760px){
  .nh-home .nh-lede{font-size:18px}
}
.nh-home .nh-num{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-variant-numeric:tabular-nums lining-nums}
.nh-home .nh-ruo{font-size:13px;line-height:1.5;color:var(--nh-ink-3)}
.nh-home .nh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--nh-r-pill);font:600 15px/1 var(--nh-font-body);letter-spacing:.01em;border:1px solid transparent;transition:background-color .2s,border-color .2s,color .2s}
.nh-home .nh-btn svg{width:18px;height:18px;transition:transform .2s}
.nh-home .nh-btn:hover svg{transform:translateX(3px)}
.nh-home .nh-btn-accent{background:var(--nh-accent);color:var(--nh-on-accent)}
.nh-home .nh-btn-accent:hover{background:var(--nh-accent-hover)}
.nh-home .nh-btn-ghost{border-color:var(--nh-line-strong);color:var(--nh-ink);background:color-mix(in srgb,var(--nh-bg) 35%,transparent)}
.nh-home .nh-btn-ghost:hover{border-color:var(--nh-ink-2);background:var(--nh-surface)}
.nh-home .nh-link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--nh-ink);border-bottom:1px solid var(--nh-line-strong);padding-bottom:4px;transition:border-color .2s,color .2s}
.nh-home .nh-link-arrow svg{width:16px;height:16px;color:var(--nh-accent-ink);transition:transform .2s}
.nh-home .nh-link-arrow:hover{border-color:var(--nh-accent-ink)}
.nh-home .nh-link-arrow:hover svg{transform:translateX(3px)}
@media (max-width:359.98px){
  .nh-home{--nh-logo-h:24px}
}
.nh-home .nh-hero{position:relative;container-type:inline-size;width:min(100% - var(--nh-frame-inset)*2,var(--nh-frame-max));margin:calc(var(--nh-frame-top) - var(--nh-hdr-clear)) auto 0;--nh-img-ar:1080/1350;--nh-title-y:13.4cqw;--nh-title-size:12cqw;--nh-title-gap:32px;--nh-img-y:max(0px,calc(var(--nh-hdr-clear) - var(--nh-frame-top) + var(--nh-title-gap) - var(--nh-title-y) - var(--nh-title-size)*.06));--nh-glow-x:50%;--nh-glow-y:68cqw;--nh-glow-r:44cqw;--nh-vial-mask:polygon(42.9% 26.2%,44.6% 25.25%,56% 25.25%,57.7% 26.2%,62.3% 26.35%,63.65% 27.4%,63.7% 33.8%,62.6% 34.6%,60.5% 34.6%,60.5% 37.6%,64.6% 40.2%,64.6% 81%,35.6% 81%,35.6% 40.2%,39.4% 37.6%,39.4% 34.6%,37.6% 34.6%,36.5% 33.8%,36.55% 27.4%,37.9% 26.35%)}
.nh-home .nh-hero-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--nh-frame-r);background:var(--nh-bg-photo);height:calc(var(--nh-img-y) + 110cqw)}
.nh-home .nh-hero-stage::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nh-ink) 9%,transparent)}
.nh-home .nh-hero-stage picture{position:absolute;inset:0}
.nh-home .nh-hero-stage picture img{position:absolute;left:0;top:var(--nh-img-y);width:100%;max-width:none;height:auto;aspect-ratio:var(--nh-img-ar)}
.nh-home .nh-hero-bg img{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%);mask-image:linear-gradient(to bottom,transparent,#000 9%)}
.nh-home .nh-hero-front img{clip-path:var(--nh-vial-mask)}
.nh-home .nh-hero-front{z-index:3;pointer-events:none}
.nh-home .nh-hero-glow{position:absolute;z-index:1;pointer-events:none;left:calc(var(--nh-glow-x) - var(--nh-glow-r));top:calc(var(--nh-img-y) + var(--nh-glow-y) - var(--nh-glow-r));width:calc(var(--nh-glow-r)*2);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--nh-accent) 55%,transparent),color-mix(in srgb,var(--nh-accent) 10%,transparent) 55%,transparent);mix-blend-mode:screen}
.nh-home .nh-hero-stage::after{content:"";position:absolute;inset:auto 0 0 0;height:10%;z-index:1;pointer-events:none;background:linear-gradient(to top,var(--nh-bg-photo),transparent)}
.nh-home .nh-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,var(--nh-bg-photo) 0%,color-mix(in srgb,var(--nh-bg-photo) 50%,transparent) 9%,transparent 20%)}
.nh-home .nh-hero-title{position:absolute;z-index:2;left:0;right:0;top:calc(var(--nh-img-y) + var(--nh-title-y));margin:0;text-align:center;font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:800;text-transform:uppercase;font-size:var(--nh-title-size);line-height:.9;letter-spacing:-.015em;color:var(--nh-ink)}
.nh-home .nh-hero-title span{display:block}
.nh-home .nh-hero-title span+span{color:var(--nh-ink-2)}
.nh-home .nh-hero-callout{display:none}
.nh-home .nh-hero-copy{position:relative;z-index:4;padding:22px calc(var(--nh-gutter) - var(--nh-frame-inset)) 8px}
.nh-home .nh-hero-copy .nh-lede{max-width:44ch;font-size:16px}
.nh-home .nh-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.nh-home .nh-hero-ctas .nh-btn{flex:1 1 auto}
.nh-home .nh-offer-chip{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:9px 16px 9px 14px;border:1px solid var(--nh-line-strong);border-radius:var(--nh-r-pill);font-size:14px;color:var(--nh-ink);background:color-mix(in srgb,var(--nh-bg) 55%,transparent);transition:border-color .2s}
.nh-home .nh-offer-chip:hover{border-color:var(--nh-accent-ink)}
.nh-home .nh-offer-chip b{font-weight:600;letter-spacing:.06em;color:var(--nh-accent-ink)}
.nh-home .nh-offer-chip svg{width:16px;height:16px;color:var(--nh-ink-2)}
.nh-home .nh-hero-copy .nh-ruo{margin-top:10px}
@media (max-width:559.98px){
  .nh-home .nh-hero-ctas{gap:10px}
  .nh-home .nh-hero-ctas .nh-btn{padding:0 15px}
}
@media (max-width:359.98px){
  .nh-home .nh-offer-chip{gap:7px;padding:9px 12px;font-size:13px}
  .nh-home .nh-offer-chip b{letter-spacing:.03em}
  .nh-home .nh-offer-chip svg{width:14px;height:14px}
}
@media (max-width:359.98px){
  .nh-home .nh-hero{--nh-title-gap:20px}
  .nh-home .nh-hero-copy{padding-top:16px}
  .nh-home .nh-hero-copy .nh-lede{font-size:15px}
  .nh-home .nh-hero-ctas{margin-top:14px}
}
@media (min-width:560px){
  .nh-home .nh-hero{--nh-img-ar:2400/1350;--nh-title-y:3.7cqw;--nh-title-size:7.6cqw;--nh-title-gap:48px;--nh-glow-x:48.9%;--nh-glow-y:31cqw;--nh-glow-r:19cqw;--nh-streak:radial-gradient(17cqw 5cqw at 8cqw calc(var(--nh-img-y) + 9.2cqw),color-mix(in srgb,var(--nh-bg-photo) 70%,transparent),color-mix(in srgb,var(--nh-bg-photo) 52%,transparent) 50%,transparent);--nh-vial-mask:polygon(45.6% 26.1%,46.6% 25.25%,51.4% 25.25%,52.4% 26.15%,54.8% 26.3%,55.06% 27.1%,55.08% 34%,54.6% 34.6%,53.7% 34.6%,53.7% 37.4%,55.45% 39.6%,55.45% 80.8%,42.35% 80.8%,42.35% 39.6%,44.05% 37.4%,44.05% 34.6%,43.3% 34.6%,42.82% 34%,42.82% 26.9%,43.2% 26.2%)}
  .nh-home .nh-hero-stage{height:calc(var(--nh-img-y) + 56.25cqw)}
  .nh-home .nh-hero-scrim{background:var(--nh-streak),linear-gradient(to top,var(--nh-bg-photo) 0%,color-mix(in srgb,var(--nh-bg-photo) 50%,transparent) 9%,transparent 20%)}
  .nh-home .nh-hero-title{line-height:.88}
  .nh-home .nh-hero-ctas .nh-btn{flex:0 0 auto}
  .nh-home .nh-hero-copy{max-width:calc(var(--nh-max) + var(--nh-gutter)*2);margin-inline:auto;padding:26px calc(var(--nh-gutter) - var(--nh-frame-inset)) 0}
  .nh-home .nh-hero-copy .nh-lede{font-size:18px}
}
@media (min-width:560px) and (max-width:1199.98px){
  .nh-home .nh-hero-stage{height:calc(var(--nh-img-y) + clamp(46.5cqw,62vh,56.25cqw));height:calc(var(--nh-img-y) + clamp(46.5cqw,62svh,56.25cqw))}
  .nh-home .nh-hero-front{-webkit-mask-image:linear-gradient(to top,transparent,#000 5%);mask-image:linear-gradient(to top,transparent,#000 5%)}
}
@media (min-width:1200px){
  .nh-home .nh-hero-scrim{background:var(--nh-streak),linear-gradient(to top,color-mix(in srgb,var(--nh-bg-photo) 96%,transparent) 0%,color-mix(in srgb,var(--nh-bg-photo) 84%,transparent) 26%,color-mix(in srgb,var(--nh-bg-photo) 40%,transparent) 42%,transparent 56%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 36%,transparent 44%,transparent 58%,#000 66%,#000 100%);mask-image:linear-gradient(90deg,#000 0,#000 36%,transparent 44%,transparent 58%,#000 66%,#000 100%)}
  .nh-home .nh-hero-copy{position:absolute;left:calc(var(--nh-gutter) - var(--nh-frame-inset) + (var(--nh-header-h) - var(--nh-logo-h))/2 + 1px);bottom:3.4cqw;width:min(35cqw,470px);padding:0;margin:0;max-width:none}
  .nh-home .nh-hero-copy .nh-lede{font-size:17px;text-shadow:0 0 14px var(--nh-bg-photo),0 0 4px color-mix(in srgb,var(--nh-bg-photo) 70%,transparent)}
  .nh-home .nh-hero-callout{display:flex;align-items:center;position:absolute;z-index:4;left:55.6%;top:calc(var(--nh-img-y) + 39.15cqw);height:0}
  .nh-home .nh-callout-leader{position:relative;width:6.4cqw;border-top:1.5px dotted var(--nh-ink-2)}
  .nh-home .nh-callout-leader::before{content:"";position:absolute;left:-5px;top:-5.75px;width:10px;height:10px;border-radius:50%;background:var(--nh-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nh-accent) 30%,transparent)}
  .nh-home .nh-callout-card{position:relative;width:236px;padding:15px 18px 16px;border:1px solid color-mix(in srgb,var(--nh-ink) 16%,transparent);border-radius:var(--nh-r-md);background:color-mix(in srgb,var(--nh-bg) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s}
  .nh-home .nh-callout-card:hover{border-color:color-mix(in srgb,var(--nh-ink) 34%,transparent)}
  .nh-home .nh-callout-card .nh-k{font:600 11px/1.2 var(--nh-font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--nh-ink-3)}
  .nh-home .nh-callout-card .nh-v{margin-top:6px;font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:700;font-size:18px;line-height:1.15;color:var(--nh-ink);text-wrap:balance}
  .nh-home .nh-callout-card .nh-d{margin-top:6px;font-size:13px;line-height:1.5;color:var(--nh-ink-2)}
  .nh-home .nh-callout-card .nh-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:600;color:var(--nh-ink)}
  .nh-home .nh-callout-card .nh-go svg{width:14px;height:14px;color:var(--nh-accent-ink);transition:transform .2s}
  .nh-home .nh-callout-card:hover .nh-go svg{transform:translateX(3px)}
  .nh-home .nh-callout-card a::after{content:"";position:absolute;inset:0;border-radius:inherit}
}
@media (prefers-reduced-motion:no-preference){
  .nh-home .nh-hero-title{animation:nh-rise 1.1s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes nh-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nh-home .nh-section{padding-block:var(--nh-section)}
.nh-home .nh-section-head{display:grid;gap:18px;margin-bottom:40px}
.nh-home .nh-section-head .nh-lede{font-size:16px}
@media (min-width:900px){
  .nh-home .nh-section-head.nh-split{grid-template-columns:1fr auto;align-items:end;gap:32px}
}
.nh-home .nh-trust-grid{display:grid;gap:28px}
.nh-home .nh-trust-intro .nh-h2{max-width:14ch}
.nh-home .nh-trust-intro .nh-lede{margin-top:16px;font-size:16px}
.nh-home .nh-pillars{display:grid;border-top:1px solid var(--nh-line)}
.nh-home .nh-pillar{display:grid;grid-template-columns:auto 1fr;align-content:start;column-gap:16px;padding:18px 0;border-bottom:1px solid var(--nh-line)}
.nh-home .nh-pillar-ic{grid-row:span 2;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--nh-accent-ink) 26%,transparent);border-radius:var(--nh-r-sm);background:color-mix(in srgb,var(--nh-accent) 13%,transparent);display:flex;align-items:center;justify-content:center;color:var(--nh-accent-ink)}
.nh-home .nh-pillar-ic svg{width:20px;height:20px}
.nh-home .nh-pillar-n{display:none;font:600 12px/1 var(--nh-font-body);letter-spacing:.14em;color:var(--nh-ink-3)}
.nh-home .nh-pillar h3{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:700;font-size:18px;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
.nh-home .nh-pillar p{font-size:15px;line-height:1.5;color:var(--nh-ink-2);margin-top:4px;max-width:46ch}
@media (min-width:760px){
  .nh-home .nh-trust-grid{gap:40px}
  .nh-home .nh-pillars{grid-template-columns:1fr 1fr;border-top:0}
  .nh-home .nh-pillar{grid-template-columns:1fr;row-gap:0;padding:28px 28px 32px 0;border-bottom:0;border-top:1px solid var(--nh-line)}
  .nh-home .nh-pillar:nth-child(even){padding-left:28px;border-left:1px solid var(--nh-line)}
  .nh-home .nh-pillar-ic{grid-row:auto;width:44px;height:44px;margin-bottom:18px}
  .nh-home .nh-pillar-ic svg{width:22px;height:22px}
  .nh-home .nh-pillar-n{display:block;padding-top:2px}
  .nh-home .nh-pillar h3{font-size:20px;margin-top:10px}
  .nh-home .nh-pillar p{margin-top:8px}
}
@media (min-width:1100px){
  .nh-home .nh-trust-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}
  .nh-home .nh-trust-intro{position:sticky;top:calc(var(--nh-bar-top-scrolled) + var(--nh-header-h) + 28px);align-self:start}
}
.nh-home .nh-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nh-home .nh-cat{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:150px;padding:18px;border:1px solid var(--nh-line);border-radius:var(--nh-r-md);background:var(--nh-surface);transition:border-color .2s,background-color .2s}
.nh-home .nh-cat:hover{border-color:var(--nh-line-strong);background:var(--nh-surface-hi)}
.nh-home .nh-cat-ic{width:36px;height:36px;color:var(--nh-ink-2);transition:color .2s}
.nh-home .nh-cat:hover .nh-cat-ic{color:var(--nh-accent-ink)}
.nh-home .nh-cat-go{position:absolute;top:18px;right:18px;width:18px;height:18px;color:var(--nh-ink-3);transition:transform .2s,color .2s}
.nh-home .nh-cat:hover .nh-cat-go{transform:translate(2px,-2px);color:var(--nh-ink)}
.nh-home .nh-cat-name{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:600;font-size:17px;line-height:1.2;letter-spacing:-.005em}
.nh-home .nh-cats-all{margin-top:24px}
@media (max-width:639.98px){
  .nh-home .nh-cat{min-height:118px;padding:16px;gap:20px}
  .nh-home .nh-cat-ic{width:32px;height:32px}
  .nh-home .nh-cat-name{font-size:16px}
}
@media (min-width:640px){
  .nh-home .nh-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .nh-home .nh-cats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .nh-home .nh-cat{min-height:190px;padding:20px}
}
.nh-home .nh-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,41%);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--nh-gutter);padding:6px var(--nh-gutter) 14px;margin-inline:calc(var(--nh-gutter)*-1);scrollbar-width:thin;scrollbar-color:var(--nh-line-strong) transparent}
.nh-home .nh-rail>*{scroll-snap-align:start}
@media (min-width:640px){
  .nh-home .nh-rail{grid-auto-columns:29%}
}
@media (min-width:1100px){
  .nh-home .nh-rail{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;overflow:visible;padding:0;margin:0}
}
.nh-home .nh-prod{position:relative;display:flex;flex-direction:column;border:1px solid var(--nh-line);border-radius:var(--nh-r-md);background:var(--nh-surface);overflow:hidden;transition:border-color .2s}
.nh-home .nh-prod:hover{border-color:var(--nh-line-strong)}
.nh-home .nh-prod-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--nh-bg-photo)}
.nh-home .nh-prod-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transform-origin:50% 72%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nh-home .nh-prod:hover .nh-prod-media img{transform:scale(1.19)}
.nh-home .nh-prod-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;column-gap:10px;row-gap:2px;flex:1;padding:14px 14px 14px 16px;border-top:1px solid var(--nh-line)}
.nh-home .nh-prod-rank{grid-column:2;grid-row:1;margin-top:2px;font:600 12px/1 var(--nh-font-body);letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--nh-ink-3)}
.nh-home .nh-prod-name{grid-column:1;grid-row:1;font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:700;font-size:17px;line-height:1.2;letter-spacing:-.01em}
.nh-home .nh-prod-link::after{content:"";position:absolute;inset:0;z-index:1}
.nh-home .nh-prod-dose{grid-column:1/-1;grid-row:2;font-size:13px;color:var(--nh-ink-2)}
@media (max-width:639.98px){
  .nh-home .nh-dose-more{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.nh-home .nh-prod-foot{grid-column:1/-1;grid-row:3;align-self:end;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px}
.nh-home .nh-prod-price{font-size:19px;font-weight:700;letter-spacing:-.01em}
.nh-home .nh-prod-add{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--nh-line-strong);background:transparent;color:var(--nh-ink);transition:background-color .2s,border-color .2s}
.nh-home .nh-prod-add:hover{background:var(--nh-accent);border-color:var(--nh-accent);color:var(--nh-on-accent)}
.nh-home .nh-prod-add svg{width:18px;height:18px}
.nh-home .nh-prod-add .nh-i-done{display:none}
.nh-home .nh-prod-add.is-added{background:var(--nh-accent);border-color:var(--nh-accent);color:var(--nh-on-accent)}
.nh-home .nh-prod-add.is-added .nh-i-add{display:none}
.nh-home .nh-prod-add.is-added .nh-i-done{display:block}
.nh-home .nh-price-notes{display:grid;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid var(--nh-line)}
.nh-home .nh-price-notes ul{display:flex;flex-wrap:wrap;gap:10px 28px}
.nh-home .nh-price-notes li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--nh-ink-2)}
.nh-home .nh-price-notes li svg{width:18px;height:18px;color:var(--nh-accent-ink)}
.nh-home .nh-price-notes li strong{color:var(--nh-ink);font-weight:600}
@media (min-width:900px){
  .nh-home .nh-price-notes{grid-template-columns:1fr auto;align-items:center}
}
.nh-home .nh-about{background:var(--nh-bg-raised);border-block:1px solid var(--nh-line)}
.nh-home .nh-statement{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:500;font-size:clamp(26px,3.7vw,50px);line-height:1.14;letter-spacing:-.02em;color:var(--nh-ink-3);max-width:30ch;margin-top:22px;text-wrap:pretty}
.nh-home .nh-statement em{font-style:normal;color:var(--nh-ink)}
.nh-home .nh-tools{display:grid;gap:12px;margin-top:56px}
.nh-home .nh-tool{position:relative;display:flex;flex-direction:column;border:1px solid var(--nh-line);border-radius:var(--nh-r-md);background:var(--nh-surface);overflow:hidden;transition:border-color .2s}
.nh-home .nh-tool:hover{border-color:var(--nh-line-strong)}
.nh-home .nh-tool-media{position:relative;aspect-ratio:16/10;background:var(--nh-bg-photo);overflow:hidden;border-bottom:1px solid var(--nh-line)}
.nh-home .nh-tool-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nh-home .nh-tool:hover .nh-tool-media img{transform:scale(1.03)}
.nh-home .nh-tool-media.nh-drawing{display:flex;align-items:center;justify-content:center;background:var(--nh-bg)}
.nh-home .nh-tool-media.nh-drawing svg{width:auto;height:78%;color:var(--nh-ink-3)}
.nh-home .nh-tool-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:22px 24px 24px}
.nh-home .nh-tool-k{font:600 12px/1.2 var(--nh-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--nh-ink-3)}
.nh-home .nh-tool h3{font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-.01em}
.nh-home .nh-tool p{font-size:15px;color:var(--nh-ink-2)}
.nh-home .nh-tool .nh-link-arrow{margin-top:auto;align-self:flex-start}
.nh-home .nh-tool-link::after{content:"";position:absolute;inset:0}
@media (max-width:759.98px){
  .nh-home .nh-tools{grid-auto-flow:column;grid-auto-columns:84%;margin-top:36px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--nh-gutter);padding:6px var(--nh-gutter) 14px;margin-inline:calc(var(--nh-gutter)*-1);scrollbar-width:thin;scrollbar-color:var(--nh-line-strong) transparent}
  .nh-home .nh-tool{scroll-snap-align:start}
  .nh-home .nh-tool-body{padding:18px}
  .nh-home .nh-tool h3{font-size:20px}
}
@media (min-width:760px){
  .nh-home .nh-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nh-home .nh-tool:first-child{grid-column:span 2}
}
@media (min-width:1100px){
  .nh-home .nh-tools{grid-template-columns:1.35fr 1fr 1fr;gap:16px}
  .nh-home .nh-tool:first-child{grid-column:auto}
}
.nh-home .nh-stats{padding-block:clamp(56px,7vw,96px)}
.nh-home .nh-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--nh-line)}
.nh-home .nh-stat{padding:26px 16px 26px 0;border-bottom:1px solid var(--nh-line)}
.nh-home .nh-stat:nth-child(even){padding-left:16px;border-left:1px solid var(--nh-line)}
.nh-home .nh-stat dd{font-weight:700;font-size:clamp(40px,6.2vw,80px);line-height:1;letter-spacing:-.03em;color:var(--nh-ink)}
.nh-home .nh-stat dd small{font-size:.42em;letter-spacing:-.01em;color:var(--nh-ink-2);font-weight:600}
.nh-home .nh-stat dt{margin-top:12px;font-size:14px;line-height:1.45;color:var(--nh-ink-2);max-width:24ch}
.nh-home .nh-stats-note{margin-top:20px}
@media (min-width:1000px){
  .nh-home .nh-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nh-home .nh-stat{padding:34px 28px 34px 0;border-bottom:0}
  .nh-home .nh-stat+.nh-stat{padding-left:28px;border-left:1px solid var(--nh-line)}
}
.nh-home .nh-stat{display:flex;flex-direction:column-reverse;justify-content:flex-end}
.nh-home .nh-faq-grid{display:grid;gap:36px}
.nh-home .nh-faq-intro .nh-h2{max-width:12ch}
.nh-home .nh-faq-intro .nh-lede{margin-top:18px;font-size:16px;max-width:40ch}
.nh-home .nh-faq-intro .nh-btn{margin-top:26px}
.nh-home .nh-faq-list{border-top:1px solid var(--nh-line)}
.nh-home .nh-faq-list details{border-bottom:1px solid var(--nh-line)}
.nh-home .nh-faq-list summary{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--nh-font-display);font-stretch:var(--nh-display-width);font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.005em;color:var(--nh-ink)}
.nh-home .nh-faq-list summary::-webkit-details-marker{display:none}
.nh-home .nh-faq-list summary:hover{color:var(--nh-ink)}
.nh-home .nh-faq-list summary:hover .nh-pm{border-color:var(--nh-ink-2)}
.nh-home .nh-pm{position:relative;flex:none;width:30px;height:30px;margin-top:-3px;border:1px solid var(--nh-line-strong);border-radius:50%;transition:border-color .2s,transform .25s}
.nh-home .nh-pm::before,.nh-home .nh-pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;border-radius:1px;background:var(--nh-ink);transform:translate(-50%,-50%);transition:transform .25s}
.nh-home .nh-pm::after{transform:translate(-50%,-50%) rotate(90deg)}
:where(.nh-home) details[open] .nh-pm::after{transform:translate(-50%,-50%) rotate(0)}
:where(.nh-home) details[open] .nh-pm{border-color:var(--nh-accent-ink);background:color-mix(in srgb,var(--nh-accent) 14%,transparent)}
.nh-home .nh-faq-a{padding:0 48px 24px 0;color:var(--nh-ink-2);font-size:16px;max-width:68ch}
.nh-home .nh-faq-a p+p{margin-top:10px}
.nh-home .nh-faq-a a{color:var(--nh-ink);text-decoration:underline;text-decoration-color:var(--nh-accent-ink);text-underline-offset:3px}
.nh-home .nh-badge-inline{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border:1px solid var(--nh-line-strong);border-radius:var(--nh-r-pill);font-size:14px;color:var(--nh-ink);white-space:nowrap}
@media (min-width:1000px){
  .nh-home .nh-faq-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}
  .nh-home .nh-faq-intro{position:sticky;top:calc(var(--nh-bar-top-scrolled) + var(--nh-header-h) + 28px);align-self:start}
  .nh-home .nh-faq-list summary{font-size:20px;padding:26px 0}
}
.nh-home .nh-offer{padding-bottom:var(--nh-section)}
.nh-home .nh-offer-frame{position:relative;display:flex;flex-direction:column;border:1px solid var(--nh-line);border-radius:var(--nh-r-lg);background:var(--nh-bg-photo);overflow:hidden}
.nh-home .nh-offer-copy{position:relative;z-index:2;padding:36px 24px 8px}
.nh-home .nh-offer-copy .nh-h2{margin-top:18px;font-size:clamp(36px,5.4vw,68px);max-width:11ch}
.nh-home .nh-offer-copy .nh-lede{margin-top:18px;font-size:16px;max-width:42ch}
.nh-home .nh-offer-form{display:grid;gap:10px;margin-top:26px;max-width:480px}
.nh-home .nh-offer-form label{font-size:14px;font-weight:500;color:var(--nh-ink-2);padding-left:4px}
.nh-home .nh-field-row{display:grid;gap:10px}
.nh-home .nh-offer-form input{height:52px;width:100%;min-width:0;padding:0 20px;border:1px solid var(--nh-line-strong);border-radius:var(--nh-r-pill);background:var(--nh-bg);color:var(--nh-ink);font-size:16px;transition:border-color .2s}
.nh-home .nh-offer-form input::placeholder{color:var(--nh-ink-3);opacity:1}
.nh-home .nh-offer-form input:hover{border-color:var(--nh-ink-3)}
.nh-home .nh-offer-form input:focus-visible{outline:2px solid var(--nh-accent-ink);outline-offset:2px;border-color:var(--nh-ink-2)}
.nh-home .nh-offer-form .nh-btn{min-height:52px}
.nh-home .nh-form-status{min-height:1.5em;font-size:14px;color:var(--nh-ink-2)}
.nh-home .nh-offer-copy .nh-ruo{margin-top:6px;max-width:48ch}
.nh-home .nh-offer-media{position:relative;display:block;aspect-ratio:6/5;overflow:hidden;margin-top:8px}
.nh-home .nh-offer-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.nh-home .nh-offer-media::before{content:"";position:absolute;inset:0 0 auto 0;height:10%;background:linear-gradient(to bottom,var(--nh-bg-photo),transparent);z-index:1}
@media (min-width:480px){
  .nh-home .nh-field-row{grid-template-columns:1fr auto}
}
@media (min-width:1000px){
  .nh-home .nh-offer-frame{display:block;width:100%;aspect-ratio:21/9;min-height:520px}
  .nh-home .nh-offer-media{position:absolute;inset:0;aspect-ratio:auto;margin:0}
  .nh-home .nh-offer-media img{object-position:center 55%}
  .nh-home .nh-offer-media::before{inset:0;height:auto;background:linear-gradient(90deg,var(--nh-bg-photo) 0%,color-mix(in srgb,var(--nh-bg-photo) 60%,transparent) 30%,transparent 52%)}
  .nh-home .nh-offer-copy{display:flex;flex-direction:column;justify-content:center;height:100%;width:min(56%,620px);padding:56px 0 48px clamp(40px,5vw,72px)}
}
.nh-home .nh-faq-list summary{border-radius:var(--nh-r-sm)}
.nh-home .nh-faq-list summary:focus-visible{outline-offset:6px}
.nh-home .nh-link-arrow:focus-visible,.nh-home .nh-faq-a a:focus-visible{border-radius:6px}
@supports selector(:has(a)){
  .nh-home .nh-prod-link:focus-visible,.nh-home .nh-tool-link:focus-visible,.nh-home .nh-callout-card a:focus-visible{outline:none}
  .nh-home .nh-prod:has(.nh-prod-link:focus-visible),.nh-home .nh-tool:has(.nh-tool-link:focus-visible),.nh-home .nh-callout-card:has(a:focus-visible){outline:2px solid var(--nh-accent-ink);outline-offset:3px}
}
@media (prefers-reduced-motion:reduce){
  :where(.nh-home) *,:where(.nh-home) *::before,:where(.nh-home) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* ---- port notes ----
   The live header stays in the page flow (sticky), so the hero card slides up under it by the bar's own
   height (--nh-hdr-clear) and the headline offset is worked out from the same value: the bar floats over the
   card's top edge exactly as in the prototype. In the sale window the sale hero sits between the two, so the
   card drops back into the flow. */
body.shx-live .nh-home{--nh-hdr-clear:0px}
:root.nh[data-theme] .nh-home img{filter:none}
/* the theme forces every h1-h3 to weight 700 with !important; these two are not 700 in the design */
.nh-home .nh-hero .nh-hero-title{font-weight:800!important}
.nh-home .nh-about h2.nh-eyebrow{font-family:var(--nh-font-body)!important;font-weight:600!important;font-stretch:normal}
/* sold out: the shop cards' treatment (SOLD OUT badge, dimmed photo, no add button) */
.nh-home .nh-prod.is-sold .nh-prod-media img{opacity:.5;filter:grayscale(.3)}
.nh-home .nh-prod .jpc-badge{z-index:2}
.nh-home .nh-prod-sold{font-size:13px;font-weight:600;color:var(--nh-ink-3)}
/* the offer's consent box: the spin wheel's wording, unticked */
.nh-home .nh-offer-form .nh-consent{display:flex;gap:10px;align-items:flex-start;padding-left:4px;font-size:13px;font-weight:400;line-height:1.45;color:var(--nh-ink-2);cursor:pointer}
.nh-home .nh-offer-form .nh-consent input{flex:none;width:18px;height:18px;min-width:0;margin:1px 0 0;padding:0;border-radius:4px;accent-color:var(--nh-accent)}
/* the two live sections in the slot keep their markup and data; set them on this page's grid and type */
.nh-home #coas .wrap,.nh-home #supplies .wrap{max-width:calc(var(--nh-max) + var(--nh-gutter)*2);padding-inline:var(--nh-gutter)}
.nh-home #coas{padding-block:var(--nh-section)}
.nh-home #supplies{padding-block:var(--nh-section)!important} /* its markup carries style="padding-top:0" */
.nh-home #coas .head-c,.nh-home #supplies .head-c{max-width:720px}
.nh-home #coas .head-c h2,.nh-home #supplies .head-c h2{font-size:clamp(30px,4.2vw,54px);line-height:1.02;letter-spacing:-.02em;font-weight:700!important}
.nh-home #coas .head-c .eyebrow,.nh-home #supplies .head-c .eyebrow{display:inline-flex;align-items:center;gap:12px;font:600 12px/1.2 var(--nh-font-body);letter-spacing:.16em;color:var(--nh-ink-2)}
.nh-home #coas .head-c .eyebrow::before,.nh-home #supplies .head-c .eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--nh-accent-ink);flex:none}
.nh-home #supplies .head-c p{color:var(--nh-ink-2)}
