/* ==========================================================================
   Station Shop 0.2 · styles
   Part 1 is the site's own component styles (the .nffh system used on the
   rebuilt Visit and Support pages), copied so the shop looks the same even on
   a page that doesn't carry them. Part 2 is the shop's own pieces, drawn with
   the same tokens. Everything is scoped to .nffh.
   ========================================================================== */

/* ---------- Part 1 · site components ---------- */

.nffh{--forest:#16271d;--forest-deep:#0f1c15;--forest-soft:#26392c;--moss:#43603b;--moss-light:#6f8a5f;--gem:#bd8a32;--gem-ink:#8a6118;--gem-pale:#d9c590;--gem-mute:#c8b27e;--gem-deep:#0f1c15;--gem-wash:#efe9da;--gem-btn:#bd8a32;--gem-hi:#d29c3e;--gem-on:#0f1c15;--stream:#3d6f6a;--paper:#f6f3ea;--paper-card:#fbf9f1;--paper-warm:#efe9da;--stone:#585d4f;--line:#ded9c9;--line-dark:rgba(246,243,234,.16);--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Spectral",Georgia,serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--wrap:1200px;--gutter:clamp(1.25rem,5vw,4.5rem);--ease:cubic-bezier(.2,.7,.2,1);position:relative;width:calc(100vw - var(--nh-sbw,0px));max-width:none;margin-left:calc(50% - 50vw + var(--nh-sbw,0px) / 2);margin-right:calc(50% - 50vw + var(--nh-sbw,0px) / 2);font-family:var(--font-body);color:var(--forest);background:var(--paper);line-height:1.68;font-size:clamp(1.02rem,.98rem + .2vw,1.12rem);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;text-align:left}
.nffh *,.nffh *::before,.nffh *::after{box-sizing:border-box}
.nffh img,.nffh svg{max-width:100%;display:block}
.nffh p{margin:0;padding:0}
.nffh ul,.nffh ol{list-style:none;margin:0;padding:0}
.nffh li{padding:0}
.nffh a{color:inherit;text-decoration:none}
.nffh button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
.nffh h1,.nffh h2,.nffh h3,.nffh h4,.nffh h5,.nffh h6{margin:0;font-weight:600;line-height:1.06;letter-spacing:-.012em;font-optical-sizing:auto;text-transform:none;font-family:var(--font-display)!important;color:var(--forest)!important;padding:0!important}
.nffh h1 em,.nffh h2 em{font-style:italic;font-weight:400}
.nffh .nh-section h2 em,.nffh .nh-shead h2 em{color:var(--gem-ink)}
.nffh .nh-dark h2 em,.nffh .nh-dark .nh-shead h2 em{color:var(--gem-pale)}
.nffh .nh-dark h1,.nffh .nh-dark h2,.nffh .nh-dark h3,.nffh .nh-dark h4,.nffh .nh-hero h1,.nffh .nh-hero h2{color:var(--paper)!important}
.nffh a:focus-visible,.nffh button:focus-visible,.nffh input:focus-visible,.nffh select:focus-visible,.nffh textarea:focus-visible,.nffh [tabindex]:focus-visible{outline:2.5px solid var(--gem);outline-offset:3px;border-radius:2px}
.nffh .nh-sr{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;position:absolute!important}
.nffh .nh-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.nffh .nh-section{padding:clamp(3.5rem,7vw,6.5rem) 0;scroll-margin-top:clamp(80px,12vh,118px)}
.nffh .nh-section--tight{padding:clamp(2.5rem,4vw,4rem) 0}
.nffh .nh-section+.nh-section:not(.nh-dark):not(.nh-warm){border-top:1px solid var(--line)}
.nffh .nh-dark{background:var(--forest);color:var(--paper)}
.nffh .nh-warm{background:var(--gem-wash)}
.nffh .nh-shead{max-width:64ch;margin-bottom:clamp(2rem,4vw,3rem)}
.nffh .nh-section h2{font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.04;margin:0 0 1.2rem}
.nffh .nh-lede{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.6;color:var(--stone)}
.nffh .nh-dark .nh-lede{color:rgba(246,243,234,.84)}
.nffh .nh-prose p+p{margin-top:1em}
.nffh .nh-prose a,.nffh .nh-inline{color:var(--moss);text-decoration:underline;text-decoration-color:var(--gem);text-underline-offset:3px;text-decoration-thickness:1.5px}
.nffh .nh-prose a:hover,.nffh .nh-inline:hover{color:var(--gem-ink)}
.nffh .nh-dark .nh-prose a,.nffh .nh-dark .nh-inline{color:var(--gem-pale)}
.nffh .nh-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gem-ink);margin:0 0 1.1rem;display:flex;align-items:center;gap:.7rem}
.nffh .nh-eyebrow::before{content:"";width:1.8rem;height:2px;background:var(--gem);flex:0 0 auto}
.nffh .nh-dark .nh-eyebrow{color:var(--gem-mute)}
.nffh .nh-eyebrow b{color:var(--gem-ink);font-weight:500}
.nffh .nh-dark .nh-eyebrow b{color:var(--gem-pale)}
.nffh .nh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.95rem 1.6rem;border-radius:2px;background:var(--gem-btn);font-weight:500;transition:background .2s,transform .2s,color .2s;min-height:48px;line-height:1.2;color:var(--gem-on)!important;border:0}
.nffh .nh-btn:hover{background:var(--gem-hi);transform:translateY(-1px)}
.nffh .nh-btn--ghost{background:transparent;border:1px solid;color:var(--forest)!important}
.nffh .nh-btn--ghost:hover{background:var(--forest);color:var(--paper)!important}
.nffh .nh-dark .nh-btn--ghost,.nffh .nh-hero .nh-btn--ghost{color:var(--paper)!important}
.nffh .nh-dark .nh-btn--ghost:hover,.nffh .nh-hero .nh-btn--ghost:hover{background:var(--paper);color:var(--forest)!important}
.nffh .nh-btn--forest{background:var(--forest);color:var(--paper)!important}
.nffh .nh-btn--forest:hover{background:var(--moss)}
.nffh .nh-ctarow{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.nffh .nh-arrow{font-family:var(--font-mono)}

.nffh .nh-hero{--px:0;--py:0;--sy:0px;position:relative;overflow:hidden;isolation:isolate;min-height:clamp(540px,80vh,860px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--gem-deep);color:var(--paper)}
.nffh .nh-hero--short{min-height:clamp(460px,64vh,680px)}
.nffh .nh-hero__media{position:absolute;inset:0;z-index:0;transform:translate3d(calc(var(--px)*-16px),calc(var(--py)*-12px + var(--sy)),0) scale(1.045);will-change:transform}
.nffh .nh-hero__media img{width:100%;height:100%;object-fit:cover;max-width:none;animation:nh-settle 2.6s var(--ease) both,nh-breathe 34s ease-in-out 2.6s infinite alternate}
.nffh .nh-hero__art{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 90% at 78% 30%,color-mix(in srgb,var(--gem-deep) 72%,var(--gem) 28%) 0%,var(--gem-deep) 64%)}
.nffh .nh-hero__dapple{position:absolute;inset:-12%;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.5;background:radial-gradient(22% 16% at 18% 26%,rgba(255,244,200,.2),transparent 70%),radial-gradient(16% 12% at 66% 18%,rgba(255,244,200,.16),transparent 70%),radial-gradient(26% 20% at 48% 64%,rgba(255,244,200,.12),transparent 70%),radial-gradient(14% 10% at 84% 52%,rgba(255,244,200,.18),transparent 70%),radial-gradient(12% 9% at 32% 80%,rgba(255,244,200,.12),transparent 70%);animation:nh-dapple 23s ease-in-out infinite alternate}
.nffh .nh-hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,28,21,.30) 0%,rgba(15,28,21,.06) 34%,rgba(15,28,21,.58) 76%,rgba(15,28,21,.9) 100%),linear-gradient(95deg,color-mix(in srgb,var(--gem-deep) 78%,transparent) 0%,color-mix(in srgb,var(--gem-deep) 0%,transparent) 64%)}
.nffh .nh-hero--photo .nh-hero__scrim{background:linear-gradient(180deg,rgba(15,28,21,.42) 0%,rgba(15,28,21,.16) 22%,rgba(15,28,21,.5) 46%,rgba(15,28,21,.84) 72%,rgba(15,28,21,.94) 100%),linear-gradient(95deg,color-mix(in srgb,var(--gem-deep) 86%,transparent) 0%,color-mix(in srgb,var(--gem-deep) 55%,transparent) 38%,color-mix(in srgb,var(--gem-deep) 0%,transparent) 72%)}
.nffh .nh-hero--photo .nh-hero__dapple{opacity:.28}
.nffh .nh-hero--photo h1,.nffh .nh-hero--photo .nh-hero__sub,.nffh .nh-hero--photo .nh-eyebrow,.nffh .nh-hero--photo .nh-hero__coords{text-shadow:0 1px 2px rgba(15,28,21,.4),0 2px 26px rgba(15,28,21,.6)}
.nffh .nh-hero__inner{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin-inline:auto;padding:clamp(7rem,14vh,9rem) var(--gutter) clamp(3rem,7vh,5.2rem)}
.nffh .nh-hero .nh-eyebrow{color:var(--gem-pale);animation:nh-rise 1s var(--ease) .3s backwards}
.nffh .nh-hero h1{font-weight:600;font-size:clamp(3rem,8.6vw,7rem);line-height:.94;max-width:13ch;letter-spacing:-.022em;animation:nh-rise 1s var(--ease) .42s backwards}
.nffh .nh-hero h1 em{color:var(--gem-pale)}
.nffh .nh-hero__sub{font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.5;color:rgba(246,243,234,.9);max-width:46ch;margin-top:1.3rem;animation:nh-rise 1s var(--ease) .56s backwards}
.nffh .nh-hero__coords{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,243,234,.78);animation:nh-rise 1s var(--ease) .68s backwards}
.nffh .nh-hero__coords span[aria-hidden]{color:var(--gem)}
.nffh .nh-hero__cta{margin-top:2rem;animation:nh-rise 1s var(--ease) .8s backwards}
@keyframes nh-rise{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}
@keyframes nh-settle{0%{transform:scale(1.06)}100%{transform:none}}
@keyframes nh-breathe{0%{transform:scale(1)}100%{transform:scale(1.07) translate3d(-1%,-.6%,0)}}
@keyframes nh-dapple{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(3%,2%,0)}}
@keyframes nh-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.nffh .nh-notice{background:var(--gem-wash);border-bottom:1px solid var(--line)}
.nffh .nh-notice__inner{display:grid;gap:.6rem 1.8rem;padding-block:1.35rem;align-items:baseline}
@media (min-width:820px){.nffh .nh-notice__inner{grid-template-columns:auto 1fr}}
.nffh .nh-notice__label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gem-ink);display:flex;align-items:center;gap:.55rem;white-space:nowrap}
.nffh .nh-notice__label::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--gem);animation:nh-pulse 2.4s ease-in-out infinite}
.nffh .nh-notice__text{font-size:1.02rem;line-height:1.55}

.nffh .nh-index{border-bottom:1px solid var(--line);background:var(--paper)}
.nffh .nh-index__inner{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .6rem;padding-block:1.1rem}
.nffh .nh-index__label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-right:.5rem}
.nffh .nh-index a{min-height:40px;display:inline-flex;align-items:center;padding:.4rem .95rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-card);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.03em;color:var(--forest-soft);transition:background .2s,color .2s,border-color .2s}
.nffh .nh-index a:hover{border-color:var(--moss);color:var(--forest)}

.nffh .nh-grid{display:grid;gap:1.6rem}
@media (min-width:640px){.nffh .nh-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.nffh .nh-grid{grid-template-columns:repeat(3,1fr)}}
.nffh .nh-card{display:flex;flex-direction:column;background:var(--paper-card);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.nffh a.nh-card:hover{transform:translateY(-4px);box-shadow:rgba(22,39,29,.55) 0 20px 44px -28px;border-color:var(--moss-light)}
.nffh .nh-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--forest-soft)}
.nffh .nh-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nffh a.nh-card:hover .nh-card__media img{transform:scale(1.04)}
.nffh .nh-card__body{padding:1.45rem 1.5rem 1.55rem;display:flex;flex-direction:column;gap:.55rem;flex:1 1 0%}
.nffh .nh-card__meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:center;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.nffh .nh-card__title{margin:.05rem 0 .1rem;font-size:1.4rem!important;line-height:1.14!important}
.nffh .nh-card__dek{font-size:1rem;color:var(--stone);line-height:1.55}
.nffh .nh-card__foot{margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--forest-soft)}
.nffh .nh-card__read{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;color:var(--moss)!important}
.nffh a.nh-card:hover .nh-card__read{color:var(--gem-ink)!important}

.nffh .nh-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.nffh .nh-tag{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;padding:.3rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--forest-soft);background:var(--paper)}

.nffh .nh-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:.5rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-card);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.03em;color:var(--forest-soft);transition:background .2s,color .2s,border-color .2s}
.nffh .nh-chip:hover{border-color:var(--moss)}
.nffh .nh-chip[aria-pressed="true"]{background:var(--forest);color:var(--paper);border-color:var(--forest)}

.nffh .nh-steps{display:grid;gap:1.6rem;counter-reset:nhstep}
@media (min-width:860px){.nffh .nh-steps{grid-template-columns:repeat(3,1fr);gap:2.2rem}}
.nffh .nh-step{counter-increment:nhstep;position:relative;padding-top:3.4rem}
.nffh .nh-step::before{content:counter(nhstep,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--gem-ink);font-weight:400}
.nffh .nh-step h3{font-size:1.35rem;margin-bottom:.45rem}
.nffh .nh-step p{color:var(--stone);font-size:1rem}
.nffh .nh-dark .nh-step::before{color:var(--gem-pale)}
.nffh .nh-dark .nh-step p{color:rgba(246,243,234,.8)}

.nffh .nh-field{display:grid;gap:.4rem}
.nffh .nh-field label,.nffh .nh-field legend{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--forest-soft);padding:0}
.nffh .nh-field input,.nffh .nh-field select,.nffh .nh-field textarea{width:100%;font:inherit;font-size:1rem;color:var(--forest);background:var(--paper-card);border:1px solid #cfc8b4;border-radius:3px;padding:.8rem .95rem;min-height:48px;margin:0;box-shadow:none}
.nffh .nh-field input:focus,.nffh .nh-field select:focus,.nffh .nh-field textarea:focus{border-color:var(--moss);outline:2.5px solid var(--gem);outline-offset:1px}
.nffh fieldset.nh-field{border:0;margin:0;padding:0;min-width:0}

.nffh .nh-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin:0}
@media (min-width:860px){.nffh .nh-facts{grid-template-columns:repeat(3,1fr)}}
.nffh .nh-fact{border-top:2px solid var(--gem);padding-top:.9rem}
.nffh .nh-fact dt{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gem-ink)}
.nffh .nh-fact dd{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.2rem;line-height:1.3}
.nffh .nh-dark .nh-fact dt{color:var(--gem-pale)}

.nffh .nh-list{display:grid;gap:.5rem}
.nffh .nh-list li{position:relative;padding-left:1.25rem}
.nffh .nh-list li::before{content:"";position:absolute;left:0;top:.78em;width:.6rem;height:1.5px;background:var(--gem)}
.nffh .nh-aside{margin-top:1.8rem;padding:1.2rem 1.4rem;border-left:3px solid var(--gem);background:var(--paper-card);font-size:1rem;color:var(--stone);max-width:80ch}
.nffh .nh-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;background:var(--paper-card);border:1px solid var(--line);border-radius:4px;transition:transform .2s,border-color .2s,box-shadow .2s;min-height:64px}
.nffh .nh-link:hover{transform:translateY(-3px);border-color:var(--moss-light);box-shadow:rgba(22,39,29,.5) 0 16px 36px -26px}
.nffh .nh-link .nh-arrow{color:var(--gem-ink);font-size:1rem;flex:0 0 auto}

.nffh .nh-reveal{opacity:1;transform:none}
.nffh.nh-anim .nh-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.nffh.nh-anim .nh-reveal.is-visible{opacity:1;transform:none}
.nffh.nh-anim .nh-reveal[data-d="1"]{transition-delay:.08s}
.nffh.nh-anim .nh-reveal[data-d="2"]{transition-delay:.16s}
.nffh.nh-anim .nh-reveal[data-d="3"]{transition-delay:.24s}
.nffh.nh-anim .nh-shead.nh-reveal .nh-eyebrow::before{width:0;transition:width 1s var(--ease) .25s}
.nffh.nh-anim .nh-shead.nh-reveal.is-visible .nh-eyebrow::before{width:1.8rem}
.nffh .is-hidden{display:none!important}
@media (prefers-reduced-motion:reduce){
  .nffh *,.nffh *::before,.nffh *::after{animation:none!important;transition:none!important}
  .nffh.nh-anim .nh-reveal{opacity:1;transform:none}
  .nffh .nh-hero__dapple{display:none}
  .nffh .nh-hero__media{transform:none}
}
@media print{
  .nffh .nh-hero{min-height:0}
  .nffh .nh-hero__media,.nffh .nh-hero__art,.nffh .nh-hero__scrim,.nffh .nh-hero__dapple,.nffh .nh-index{display:none}
  .nffh .nh-hero,.nffh .nh-dark{background:#fff;color:#000}
  .nffh .nh-hero h1,.nffh .nh-dark h2{color:#000!important}
}

/* ---------- Part 2 · the shop ---------- */

/* Accent: the Stories olive, from the Stories page (#nffh-stories) */
#nffh-shop{--gem:#797839;--gem-ink:#676526;--gem-pale:#c3c282;--gem-mute:#c2c28d;--gem-deep:#201f0a;--gem-wash:#f1f1e7;--gem-btn:#8d8c4d;--gem-hi:#9f9f5f;--gem-on:#0f1c15}

.nffh [hidden]{display:none!important}
.nffh .hs-bar .nh-index__inner{justify-content:flex-start}
.nffh .hs-bar__bag{margin-left:auto}
.nffh .nh-index a.hs-bag{gap:.45rem;border-color:var(--forest);color:var(--forest)}
.nffh .nh-index a.hs-bag[aria-current="page"]{background:var(--forest);color:var(--paper)}
.nffh .nh-index a.hs-bag svg{width:15px;height:15px;flex:0 0 auto}
.nffh .hs-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .6rem}
.nffh .hs-crumbs [aria-current="page"]{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.03em;color:var(--forest);padding:.4rem .2rem}

.nffh .nh-section.hs-top{padding-top:clamp(2rem,4vw,3.2rem)}
.nffh .hs-pagetitle{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.nffh .hs-pagetitle em{color:var(--gem-ink)}
.nffh .hs-colors .nh-tag{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem}
.nffh .hs-card .nh-card__media{aspect-ratio:1/1;background:var(--paper-card)}
.nffh .hs-price{font-family:var(--font-mono);font-size:1.15rem;letter-spacing:.02em;color:var(--forest)}
.nffh .hs-meta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}

/* Featured product */
.nffh .hs-feature{display:grid;gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
@media (min-width:900px){.nffh .hs-feature{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.nffh .hs-feature__media{display:block;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--paper-card)}
.nffh .hs-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nffh .hs-feature__media:hover img{transform:scale(1.03)}
.nffh .hs-feature__body{display:flex;flex-direction:column;gap:1.4rem}
.nffh .hs-feature__body .nh-facts{grid-template-columns:repeat(2,1fr)}
.nffh .hs-colors{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.nffh .hs-dot{width:16px;height:16px;border-radius:50%;background:var(--swatch,#ccc);box-shadow:inset 0 0 0 1px rgba(22,39,29,.28);flex:0 0 auto}
.nffh .nh-chip[aria-pressed="true"] .hs-dot{box-shadow:0 0 0 2px var(--paper)}
.nffh .nh-chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}

/* Product page */
.nffh .hs-pdp{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (min-width:900px){.nffh .hs-pdp{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.nffh .hs-stage{aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--paper-card)}
.nffh .hs-stage img{width:100%;height:100%;object-fit:cover}
.nffh .hs-thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.nffh .hs-thumb{width:76px;height:76px;padding:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper-card)}
.nffh .hs-thumb img{width:100%;height:100%;object-fit:cover}
.nffh .hs-thumb[aria-pressed="true"]{border:2px solid var(--forest)}
.nffh .hs-buy{display:flex;flex-direction:column;gap:1.5rem}
.nffh .hs-buy h1{font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1}
.nffh .hs-buy h1 em{color:var(--gem-ink)}
.nffh .hs-buy .nh-eyebrow{margin-bottom:-.4rem}
.nffh .hs-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.nffh .hs-legend{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--forest-soft);margin-bottom:.6rem;padding:0}
.nffh .hs-help{font-size:.98rem;color:var(--stone)}
.nffh [data-ss-stock]:empty{display:none}
.nffh .hs-qtyrow{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.nffh .hs-qty{display:inline-flex;align-items:center;border:1px solid var(--forest);border-radius:2px;background:var(--paper-card)}
.nffh .hs-qty button{width:46px;height:46px;font-size:1.2rem;line-height:1;color:var(--forest)}
.nffh .hs-qty button:disabled{color:#b3ad9c;cursor:default}
.nffh .hs-qty output{min-width:2.4rem;text-align:center;font-family:var(--font-mono);font-size:1rem}
.nffh .hs-buy .nh-btn{width:100%}
.nffh .hs-added{font-size:1rem;color:var(--moss)}
.nffh .hs-added a{margin-left:.4rem}
.nffh .hs-buy .nh-list{padding-top:1.3rem;border-top:1px solid var(--line);font-size:1rem;color:var(--stone)}
.nffh .hs-keylist{counter-reset:hskey;display:grid;border-top:1px solid var(--line)}
.nffh .hs-keylist li{counter-increment:hskey;display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline;padding:.9rem 0 .9rem 2.4rem;border-bottom:1px solid var(--line);position:relative}
.nffh .hs-keylist li::before{content:counter(hskey,decimal-leading-zero);position:absolute;left:0;top:1rem;font-family:var(--font-mono);font-size:.8rem;color:var(--gem-ink)}
.nffh .hs-keylist i{color:var(--stone)}
.nffh .hs-split{display:grid;gap:clamp(2.2rem,5vw,4.5rem)}
@media (min-width:900px){.nffh .hs-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.nffh .hs-links{display:grid;gap:1rem}
@media (min-width:760px){.nffh .hs-links{grid-template-columns:repeat(2,1fr)}}
.nffh .hs-links .nh-link span{display:flex;flex-direction:column;gap:.2rem}
.nffh .hs-links .nh-link small{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.nffh .hs-links .nh-link b{font-family:var(--font-display);font-weight:500;font-size:1.2rem;line-height:1.2}

/* Bag */
.nffh .hs-bag{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (min-width:980px){.nffh .hs-bag{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}}
.nffh .hs-bag h1{font-size:clamp(2.4rem,5vw,3.8rem)}
.nffh .hs-bag h1 em,.nffh .hs-baghead h1 em{color:var(--gem-ink)}
.nffh .hs-baghead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem 1.5rem;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.nffh .hs-baghead h1{font-size:clamp(2.4rem,5vw,3.8rem)}
.nffh .hs-lines{border-top:1px solid var(--forest)}
.nffh .hs-line{display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem 1.2rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--line)}
@media (min-width:640px){.nffh .hs-line{grid-template-columns:96px minmax(0,1fr) auto}}
.nffh .hs-line__thumb{width:88px;height:88px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper-card)}
@media (min-width:640px){.nffh .hs-line__thumb{width:96px;height:96px}}
.nffh .hs-line__thumb img{width:100%;height:100%;object-fit:cover}
.nffh .hs-line__info{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.nffh .hs-line__name{font-family:var(--font-display);font-size:1.25rem;line-height:1.2;color:var(--forest)}
.nffh .hs-line__name:hover{color:var(--gem-ink)}
.nffh .hs-line__opts{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}
.nffh .hs-remove{align-self:flex-start;margin-top:.25rem;font-size:.95rem;color:var(--stone);text-decoration:underline;text-underline-offset:3px}
.nffh .hs-remove:hover{color:var(--gem-ink)}
.nffh .hs-line__right{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
@media (min-width:640px){.nffh .hs-line__right{grid-column:auto;justify-content:flex-end}}
.nffh .hs-line__price{min-width:5rem;text-align:right;font-family:var(--font-mono);font-size:.95rem}
.nffh .hs-form{display:grid;gap:1.3rem;margin-top:clamp(2.4rem,4vw,3.2rem)}
.nffh .hs-form h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0 0 .4rem}
.nffh .hs-form h2 em{color:var(--gem-ink)}
.nffh .hs-row{display:grid;gap:1.1rem}
@media (min-width:640px){.nffh .hs-row{grid-template-columns:repeat(2,minmax(0,1fr))}.nffh .hs-row--3{grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,1fr)}}
.nffh .hs-msg{padding:.9rem 1.1rem;border-left:3px solid #9a4a1c;background:#f7ebdf;color:#5e2d0e;font-size:1rem;line-height:1.5}
.nffh .hs-rates{display:grid;gap:.6rem}
.nffh .hs-option{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;min-height:56px;padding:.8rem 1.1rem;border:1px solid var(--line);border-radius:3px;background:var(--paper-card);cursor:pointer;transition:border-color .2s}
.nffh .hs-option:has(input:checked){border-color:var(--forest)}
.nffh .hs-option input{width:18px;height:18px;margin:0;accent-color:var(--moss)}
.nffh .hs-option__label{flex:1 1 auto;min-width:0}
.nffh .nh-field .hs-option{padding:.8rem 1.1rem;font-family:var(--font-body);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--forest)}
.nffh .nh-field .hs-option input{width:18px;height:18px;min-height:0;padding:0;border:0;flex:0 0 auto}
.nffh .hs-option__rate{font-family:var(--font-mono);font-size:.9rem}
.nffh .hs-summary{background:var(--paper-card);border:1px solid var(--line);border-radius:4px;padding:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column;gap:1.2rem}
.nffh .hs-summary h2{font-size:1.6rem;margin:0}
.nffh .hs-totals{display:grid;gap:.7rem;margin:0}
.nffh .hs-totals div{display:flex;justify-content:space-between;gap:1rem}
.nffh .hs-totals dd{margin:0;font-family:var(--font-mono);font-size:.92rem}
.nffh .hs-totals .hs-totals__grand{border-top:1px solid var(--forest);padding-top:.8rem;font-weight:600;font-size:1.1rem}
.nffh .hs-summary .nh-btn{width:100%}
.nffh .nh-btn:disabled,.nffh .nh-btn[disabled]{background:#c9c6b8;color:#4c5046!important;transform:none;cursor:not-allowed}
.nffh .nh-btn--ghost:disabled{background:transparent;color:var(--stone)!important;border-color:var(--line)}
.nffh .hs-note{font-size:.95rem;line-height:1.55;color:var(--stone);display:flex;gap:.6rem;align-items:flex-start}
.nffh .hs-note svg{flex:0 0 auto;margin-top:.2rem}
.nffh .hs-testtag{display:inline-block;margin-right:.35rem;padding:.05rem .45rem;border-radius:2px;background:var(--forest);color:var(--paper);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.nffh .hs-panel{border-radius:4px;padding:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column;gap:.9rem}
.nffh .hs-panel p{color:rgba(246,243,234,.88);font-size:1rem}
.nffh .hs-panel .nh-eyebrow{margin:0}
.nffh .hs-panel h3{font-size:1.45rem;line-height:1.2}
.nffh .hs-panel .nh-inline{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.nffh .hs-costs{margin-top:.4rem;padding-top:1rem;border-top:1px solid var(--line-dark)}
.nffh .hs-costs table{width:100%;border-collapse:collapse;margin:0;border:0;font-size:.95rem;color:var(--paper)}
.nffh .hs-costs th,.nffh .hs-costs td{padding:.4rem 0;border:0;background:none;color:var(--paper);vertical-align:top;text-align:left;font-weight:400}
.nffh .hs-costs td{text-align:right;font-family:var(--font-mono);white-space:nowrap;padding-left:1rem}
.nffh .hs-costs .hs-costs__sum th,.nffh .hs-costs .hs-costs__sum td{border-top:1px solid var(--line-dark);padding-top:.7rem}
.nffh .hs-costs .hs-costs__net th,.nffh .hs-costs .hs-costs__net td{font-weight:600;color:var(--gem-pale)}
.nffh .hs-empty{font-size:1.1rem}
.nffh .hs-empty a{margin-left:.4rem}

.nffh .hs-return{margin-bottom:clamp(2rem,4vw,3rem);max-width:760px}
.nffh .hs-return h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0}
.nffh .hs-return:focus{outline:none}
.nffh .hs-return:focus-visible{outline:2px solid var(--gem);outline-offset:4px}

/* Shipping, returns & refunds: a fold-out in the site's FAQ manner */
.nffh .hs-policy{margin-top:1.6rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nffh .hs-policy summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.nffh .hs-policy summary::-webkit-details-marker{display:none}
.nffh .hs-policy summary::after{content:"+";font-family:var(--font-display);font-size:1.4rem;line-height:1;color:var(--gem-ink);transition:transform .25s}
.nffh .hs-policy[open] summary::after{transform:rotate(45deg)}
.nffh .hs-policy summary:hover{color:var(--gem-ink)}
.nffh .hs-policy summary:focus-visible{outline:2px solid var(--gem);outline-offset:3px}
.nffh .hs-policy .nh-prose{padding:0 0 1.3rem;font-size:1rem;line-height:1.6;color:var(--forest);max-width:62ch}
.nffh .hs-buy .hs-policy{margin-top:.4rem}
.nffh .hs-bag__main .hs-policy{margin-top:clamp(2rem,4vw,2.8rem)}

/* Shop cards: the whole card opens the product; swatches and Quick shop sit above that link */
.nffh .hs-card{position:relative}
.nffh .hs-card:hover{transform:translateY(-4px);box-shadow:rgba(22,39,29,.55) 0 20px 44px -28px;border-color:var(--moss-light)}
.nffh .hs-card:hover .nh-card__media img{transform:scale(1.04)}
.nffh .hs-card__link{color:inherit}
.nffh .hs-card__link::after{content:"";position:absolute;inset:0;z-index:1}
.nffh .hs-card__link:focus-visible{outline:none}
.nffh .hs-card:has(.hs-card__link:focus-visible){outline:2.5px solid var(--gem);outline-offset:3px}
.nffh .hs-swatches{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;margin:.15rem 0 0 -4px}
.nffh .hs-swatch{width:30px;height:30px;padding:5px;border-radius:50%;background:var(--swatch,#cfc9b8) content-box;box-shadow:inset 0 0 0 5px var(--paper-card),inset 0 0 0 6px rgba(22,39,29,.3);transition:box-shadow .15s}
.nffh .hs-swatch:hover,.nffh .hs-swatch:focus-visible{box-shadow:inset 0 0 0 3px var(--paper-card),inset 0 0 0 4.5px var(--moss);outline:none}
.nffh .hs-swatch[aria-pressed="true"]{box-shadow:inset 0 0 0 2.5px var(--paper-card),inset 0 0 0 4.5px var(--forest)}
.nffh .hs-swatch-more,.nffh .hs-swatch-name{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.nffh .hs-swatch-name{margin-left:.45rem}
.nffh .hs-quick{position:relative;z-index:2;min-height:36px;padding:.4rem .95rem;border:1px solid var(--forest);border-radius:999px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);background:transparent;transition:background .2s,color .2s}
.nffh .hs-quick:hover,.nffh .hs-quick:focus-visible{background:var(--forest);color:var(--paper)}
.nffh .hs-tagbtn{cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.nffh .hs-tagbtn:hover{border-color:var(--moss)}
.nffh .hs-tagbtn[aria-pressed="true"]{background:var(--forest);color:var(--paper);border-color:var(--forest)}

/* Quick shop window */
.nffh dialog.hs-dialog{width:min(960px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:0;border-radius:6px;background:var(--paper);color:var(--forest);box-shadow:0 30px 80px -20px rgba(15,28,21,.6);overflow:auto;font-family:var(--font-body)}
.nffh dialog.hs-dialog::backdrop{background:rgba(15,28,21,.6)}
.nffh .hs-dialog__inner{position:relative;display:grid;gap:clamp(1.2rem,3vw,2.4rem);padding:clamp(1.1rem,3vw,2.2rem)}
@media (min-width:760px){.nffh .hs-dialog__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.nffh .hs-dialog__close{position:absolute;top:.5rem;right:.5rem;z-index:2;width:44px;height:44px;border-radius:50%;font-size:1.7rem;line-height:1;color:var(--forest);background:var(--paper)}
.nffh .hs-dialog__close:hover{background:var(--forest);color:var(--paper)}
.nffh .hs-dialog__buy{gap:1.15rem;padding-top:.4rem}
.nffh .hs-dialog__buy h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.08;margin:0;padding-right:2.5rem}
.nffh .hs-dialog__more{align-self:flex-start;font-size:1rem}
@media (max-width:759px){.nffh .hs-dialog__media .hs-stage{max-width:320px;margin:0 auto}}

/* ---------- WordPress / Divi defenses beyond the site rules ---------- */
#main-content .nffh p,.nffh p{padding:0!important}
#main-content .nffh ul,#main-content .nffh ol,.nffh ul,.nffh ol{list-style:none!important;padding:0!important;margin:0}
#main-content .nffh h1,#main-content .nffh h2,#main-content .nffh h3{font-family:var(--font-display)!important;color:var(--forest)!important;padding:0!important;text-transform:none!important}
#main-content .nffh .nh-dark h1,#main-content .nffh .nh-dark h2,#main-content .nffh .nh-dark h3,#main-content .nffh .nh-hero h1{color:var(--paper)!important}
